Commit Graph

720 Commits

Author SHA1 Message Date
Jason Chiu
af053aa3cc Merge "Allow the background activity start from legacy suggestion cards" into main am: d78409d41f am: 6234e5a2fb
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3148096

Change-Id: I8606fde889c1378d23fd87a23522d558d1cf639b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-27 04:58:23 +00:00
Jason Chiu
6234e5a2fb Merge "Allow the background activity start from legacy suggestion cards" into main am: d78409d41f
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3148096

Change-Id: If973cd5c6aa3d743fc7e764b8c59101311ad06ad
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-27 04:35:52 +00:00
Jason Chiu
361020dfdc Allow the background activity start from legacy suggestion cards
There's a restriction on starting activities from PendingIntents. Opt-in
required when starting activities from PendingIntents. (https://goo.gle/android-bal#opt-in-required)

Bug: 346690654
Change-Id: I0525ebe5a49e7a7f5b07236e01cd3ababce1da4d
Test: manual
2024-06-26 08:54:21 +00:00
Ioana Alexandru
b1dad7d5b4 Move ZenModesBackend to SettingsLib.
This will allow us to access it from SystemUI.

Bug: 346519570
Test: builds
Flag: EXEMPT trivial refactor
Change-Id: I5bc480bd4eb0cbf8a26989dd11c064e66e5ee70e
2024-06-21 15:19:11 +02:00
Edgar Wang
fb30cb68cf Fix homepage icon didn't hide in portriat mode
- also fix don't tint homepage icons when homepage_revamp enabled

Bug: 343162224
Test: manual
Change-Id: I85b65239cb852cd914a5fd889ec366bf336fd446
2024-05-29 08:54:12 +00:00
Edgar Wang
d5e389f0ba Update Search bar background color in Homepage
Change-Id: I53a42d576df2e7d19244af2ebcfee3e8d6376dfd
Fixes: 340759836
Test: visual
2024-05-22 09:53:45 +00:00
Edgar Wang
66c16d57af Update Search Bar layout in Homepage
Bug: 340513864
Bug: 340773713
Bug: 340799397
Bug: 340759836
Test: visual
Change-Id: I4bd5c3438aa55ca764f61b180a37c10206ee78be
2024-05-20 06:49:12 +00:00
Edgar Wang
a6a4480736 Fix SettingsHomepageActivityTest failed
Fixes: 340439758
Test: atest SettingsHomepageActivityTest
Change-Id: I8f6fbb91f92982abd3b1ebadff763270537b9c3e
2024-05-15 10:35:57 +00:00
Edgar Wang
f437bec1bc Merge "Homepage UX revamp" into main 2024-05-10 00:57:01 +00:00
Edgar Wang
47400df7ae Homepage UX revamp
- unified Search and Suggestion behavior between regular phone and two
  pane
- don't adjust padding
- update new icon drawable
- support group homepage preference with round corner on phone
- Remove avator from homepage
- Adjust homepage preference order

Bug: 333989622
Bug: 334130370
Test: visual
Change-Id: I9880b52553f164745766c8b9d5c996585285e52a
2024-05-09 08:21:08 +00:00
Jason Chiu
bd74caeb99 Check whether the user is a sub profile before starting Settings homepage
Fix: 336449492
Test: atest SettingsHomepageActivityTest LocationInjectedServicesPreferenceControllerTest UserDetailsSettingsTest ActionDisabledByAdminDialogHelperTest ProfileSelectFragmentTest ProfileSelectLocationFragmentTest
- Start a managed app's info page
- Start a private app's info page
- Switch to a secondary user and start Settings
- Switch to the guest user and start Settings

Change-Id: I1c7c95d95c4739d70839a742ebc4e72b59b1d555
2024-05-02 10:17:28 +08:00
Jason Chiu
a09d2650b9 Revert "Fix crash of starting private app info pages for LS"
This reverts commit f9fabeae1c.

Reason for revert: Java crash when trying to open Settings on secondary user

Bug: 336697633
Bug: 337044085
Change-Id: I0c6793ce2a28294c093c9786cecddd19bd643141
2024-04-26 09:17:45 +00:00
Jason Chiu
f9fabeae1c Fix crash of starting private app info pages for LS
Setting homapage just can be started using the primary profile.

Fix: 336449492
Test: manual
Change-Id: Ic5f496b0ff660af7a0eb7162490a1b036ed6ef61
2024-04-23 14:38:58 +08:00
Jason Chiu
b0c011e077 Restart or finish HomepageActivity when it's launched unexpectedly
Settings homepage should be started with the flag FLAG_ACTIVITY_NEW_TASK
to ensure it's the first activity in a task. Otherwise, there will be UI
issues.

When homepage is started with FLAG_ACTIVITY_NEW_TASK but not the first
activity, it means another homepage activity has been started, so
finishing the current invocation will bring up the previous activity in
the task.

On the other hand, when homapage is not started with the flag and not
the first activty, it indicates that the invocation is from another
app. Restarting the homepage activity with FLAG_ACTIVITY_NEW_TASK will
keep the UI behavior consistent.

Fix: 297857732
Fix: 309045575
Test: robotest, manual
  1. Start Settings from QuickSettings, go to any subpage, navigate to
     home, click Settings icon on the launcher, and the previously
     opened page should be kept.
  2. On a LS device, start Settings from another app without
     FLAG_ACTIVITY_NEW_TASK, Settings should be started in dual-pane
     mode.
Change-Id: If1f31e26dc37f681bd97c185cbeac2de06bdd48f
2024-04-17 01:33:04 +00:00
SongFerng Wang
fd6ae421fd Merge "Add log for setDataEnabledForReason" into main 2024-03-30 15:37:14 +00:00
songferngwang
be3008e09d Add log for setDataEnabledForReason
To know who change the mobile data

Bug: 331843727
Test: NA Adding log only
Change-Id: I3ef5662102761541cd3e0e4662e0acab07c71937
2024-03-29 09:06:34 +00:00
Jason Chiu
0bd014c497 [Safer intents] Settings misc
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: Ie19cbceb89842a75a180898abcce81b63c18d46c
2024-03-29 04:22:45 +00:00
Chris Antol
70a5a0fd35 Restrict Settings Homepage prior to provisioning
Bug: 327749022
Test: manual test
1. factory reset + launch Settings via ADB during Setup -> verify app closes
2. factory reset + bypass Setup + tap Settings icon in launcher -> verify app closes

Change-Id: I8cbe38109ebf88a0f68f3917e95468a81c6463c1
2024-03-25 23:51:04 +00:00
Chris Antol
3711945eb2 Merge "Revert "Finish HomepageActivity when it's not the root of a task and not singleTask."" into main 2024-02-28 23:20:13 +00:00
Chris Antol
778bcee157 Revert "Finish HomepageActivity when it's not the root of a task and not singleTask."
This reverts commit 5a305645c1.

Reason for revert: b/325861149

Change-Id: I4441f939a46bf65514756a015355ea5089147c1d
2024-02-28 19:56:56 +00:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Sunny Shao
946f52b2a1 Merge "Revert "Nullability Annotations replacement"" into main 2023-12-29 03:18:24 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
Jason Chiu
05c7b59361 Merge "Make the suggestion view dismissible" into main 2023-12-21 06:23:33 +00:00
Jason Chiu
72d638e681 Merge "Finish HomepageActivity when it's not the root of a task and not singleTask." into main 2023-12-20 06:10:18 +00:00
Jason Chiu
5a305645c1 Finish HomepageActivity when it's not the root of a task and not singleTask.
HomepageActivity should be the first activity in a task, or be launched
in singleTask mode. Finishing it will bring up the previous activity in
the task.

Fix: 297857732
Test: robotest
Change-Id: Iddcba1652060d755693dd20d0e350e3d6c1ae138
2023-12-20 03:40:29 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Jason Chiu
dfd802da92 Make the suggestion view dismissible
The suggestion view could just be operated once to eliminate flicker.
When the suggestion is completed, there was no way to dismiss it unless
users kill Settings.

This patch allows updating the view's visibility after the activity is
stopped. When the activity restarts, the view can be updated.

Fix: 294153594
Test: robotest
Change-Id: Idc3aada3bff001d603bf2f7737f70f2880f6cc35
2023-12-19 16:12:42 +08:00
Matías Hernández
907b47105b Tag Zen operations from Settings as coming from the user
Bug: 308670715
Test: atest ApprovalPreferenceControllerTest
Change-Id: Id118f867e84f3d742db6b12eab0f34df1357d178
2023-12-18 13:32:32 +01:00
Chaohui Wang
34c4deb6c9 Clean up Contextual Wifi card
Bug: 245854887
Test: m RunSettingsRoboTests
Change-Id: I3b4ccc076a68eadc11e9fb3d2967a34fe0396cf9
2023-11-27 13:59:33 +08:00
Sunny Shao
9669cf5db9 Fix theme differences between left/right pane problem
- Add a callback class to monitor the split behavior of the activity
  embedding and update UI if necessary.

Fixes: 279516059
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage.SettingsHomepageActivity
Change-Id: I32e86265638684ddde067539a0f493be4c04afae
2023-08-28 20:43:46 +08:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Charles Chen
8524048094 Improve Settings launch performance for normal phones
1. Initialize ActivitEmbedding component only if necessary
2. Early return to avoid executing long execution time operations
  ex: initialize ActivityEmbedding component, feature flag operations

Test: manual - launch settings and profile
Test: run
v2/android-crystalball-eng/health/microbench/startup/firstparty/open-settings
on affacted devices
Test: atest SettingsHomepageActivityTest TopLevelWallpaperPreferenceControllerTest DashboardFeatureProviderImplTest TopLevelSettingsTest TopLevelWallpaperPreferenceControllerTest SearchResultTrampolineTest
Test: atest CtsSettingsTestCases
Fixes: 281505190

Change-Id: I0c1a1dc50f26c4ded02de82190dd7aad59c20c01
2023-05-12 12:20:40 +00:00
Charles Chen
9dc35d21b4 Revert^2 Disable Settings large-screen optimization
Disable the optimization that is automatically enabled when
including Window Extensions through Activity Embedding.
The optimization causes to launch an additional trampoline
activity for deep links, even when the screen size is smaller
than required by Activity Embedding rules.

Bug: 267725145
Bug: 279461170
fixes: 280606740

Test: Build, perf metrics
Test: atest LauncherIronwoodIntegrationTests:android.platform.test.scenario.launcher.integration_tests.HomescreenCustomizationTests
Test: atest SettingsMultiPaneDeepLinkTest.java
Test: run v2/aep-ironwood/suite/test-mapping-ironwood-p0-cujs via ABTD
  on cheetah/oriole/panther/raven in udc-dev/master branch


Change-Id: I74c9608fce92fc77c0f1ef2d61aba3af85afba02
2023-05-05 07:46:06 +00:00
Priyanka Advani
77f76267d2 Revert "Disable Settings large-screen optimization"
Revert submission 22926596-disable_large_screen_opt

Reason for revert: b/280606740

Reverted changes: /q/submissionid:22926596-disable_large_screen_opt

Change-Id: Ib918705206dc6b8bcbce21f83494d1108c6b8393
2023-05-03 16:05:25 +00:00
Charles Chen
1815ba7828 Disable Settings large-screen optimization
Disable the optimization that is automatically enabled when
including Window Extensions through Activity Embedding.
The optimization causes to launch an additional trampoline
activity for deep links, even when the screen size is smaller
than required by Activity Embedding rules.

This CL also rename isActivityEmbeddingEnabled to
shouldEnableLargeScreenOptimization because the method
may report false even if the device supports the feature
but Settings app doesn't for performance concern.

Bug: 267725145
Bug: 279461170

Test: Build, perf metrics
Test: atest LauncherIronwoodIntegrationTests:android.platform.test.scenario.launcher.integration_tests.HomescreenCustomizationTests
Test: atest SettingsMultiPaneDeepLinkTest.java
Change-Id: I38e8c62a61a344eb7a5cbfd1cd2c2137357d1a87
2023-05-02 14:16:22 +08:00
Wesley Wang
c01d92982d Add manual enabled battery saver reason (2/4)
Bug: 218405966
Test: make SettingsRoboTests
Change-Id: Ifd51cde5abbbd731c24bf677ca1c525ffd6993a3
2023-04-06 17:11:23 +08:00
Jason Chiu
5310c40640 Refine permission check process of 2-pane deep link
- Check the deep link activity instance before rediercting to the
  internal activity for the managed profile invocation so the caller
  can't bypass the permission check.
- Get the referrer as the caller so that onNewIntent can recognize the
  new caller and check if it has a permission to open the target page.

Test: robotest & manual
Bug: 268193384
Bug: 272437506
Change-Id: Ie69742983fb74ee2316b7aad16461db95ed927c2
2023-03-27 11:59:07 +08:00
Arc Wang
ff8c5e0079 Fix crash when switching Display size
Ensure mHighlightMixin is not null before using it.

Bug: 269385877
Test: manual
      Change Display size and observe if Settings crashes.
Change-Id: I9c7ca8d490f7ede6b73d09d51c3e304844e7df0c
2023-02-15 16:03:24 +08:00
Nikhil Kumar
71214f0457 Merge "SettingsHomepageActivity: Get profile parent using UM.getProfileParent" 2023-02-13 09:58:44 +00:00
Nikhil Kumar
69bc7b0438 SettingsHomepageActivity: Get profile parent using UM.getProfileParent
In the headless system user mode(hsum) non-primary users can also have a profile.
The existing implementation in SettingsHomepageActivity always gets the primary user as the profile parent, refactored the implementation to get profile parent using UserManager.getProfileParent.

Get parent user id instead of primary user as profile parent

Bug: 267299459
Test: croot && make RunSettingsRoboTests -j40
ROBOTEST_FILTER=SettingsHomepageActivityTest

Change-Id: I36845eb5b1a09b0ff3d87c7d08b120c95f59783b
2023-02-10 09:15:03 +00:00
jasonwshsu
c1fb0ae240 [Pair hearing devices] Add "Saved devices" to show bonded but not connected hearing devices
* BaseHearingDevicePreferenceController will also be used in "Hearing devices", so extract to parent class first.

Bug: 237625815
Test: make RunSettingsRoboTests ROBOTEST_FILTER="(SavedHearingDeviceUpdaterTest|BaseBluetoothDevicePreferenceControllerTest|BluetoothDeviceUpdaterTest|AvailableMediaBluetoothDeviceUpdaterTest|ConnectedBluetoothDeviceUpdaterTest|SavedBluetoothDeviceUpdaterTest)"
Change-Id: I8a492866f48e3a664b9ff78bce5a4f082c0dc465
2023-02-09 10:17:25 +08:00
Jiaming Liu
e65283de6a Fix build for jetpack update
Fix build for jetpack update

Bug: 265818545
Test: build

Change-Id: If48e7338ee560d995cb8bff7b5348ab36c457836
2023-02-03 02:37:42 +00:00
Diego Vela
a9394d1796 Update ActivityEmbedding usage.
Update ActivityEmbedding usage.

Bug: 259592300
Test: build.
Change-Id: I8e4aa8daf51cb9c669d06b152cc5a2fc69a06571
2023-02-03 02:34:20 +00:00
Calvin Pan
f03d4106fa Force Settings to align locales of embedded activities
Android 13 introduces the feature of per-app language that allows
users to set a preferred language for each app. However, Settings
embeds many activities from different apps, which may cause
multiple languages to be displayed on one Settings page.

Enable TaskLocaleOverride to align the locales of activities
launched in the same task.

Bug: 199277729
Test: Verified on Cuttlefish
Change-Id: I9ee2b8c481f9c0cb5f17eb1cea037317df35e9d9
2023-01-17 04:27:39 +00:00
Weng Su
f077b83586 Refine TetherSettings
- Move TetherSettings to network/tether folder

- Refine unit tests

Bug: 237273138
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest

Change-Id: I1eb79780df824c575e79047bdeb3a9276f061fe9
2022-12-22 23:04:59 +08:00
Arc Wang
86afd10ada Merge "Check Uri permission for FLAG_GRANT_READ/WRITE_URI_PERMISSION" 2022-12-14 05:52:29 +00:00
Arc Wang
aef9355579 Merge "Allow 2-pane deep link to access unexported Activity" 2022-12-14 05:52:15 +00:00
Jason Chiu
79d282bbfb Merge "Revert "Remove FLAG_ACTIVITY_FORWARD_RESULT in 2-pane flow"" 2022-12-14 02:49:17 +00:00