Commit Graph

568 Commits

Author SHA1 Message Date
Chaohui Wang
956894caff Fix lateinit property allowedNetworkTypesFlow
Which has not been initialized.

Convert it to factory to fix.

Fix: 317353030
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ie5f22d47cb3f3fe036c706ba77ed3bdaad0b54a2
2023-12-25 12:28:14 +08:00
Graciela Putri
c9660627ea Merge "[3/n] Pre-select fullscreen option if overridden" into main 2023-12-22 16:45:02 +00:00
Graciela Wissen Putri
480d523a0c [3/n] Pre-select fullscreen option if overridden
Settings > Apps > Aspect ratio (experimental)

Pre-select the fullscreen option if all are true:
- device manufacturer has overridden app to fullscreen
- app has not opted out of orientation override
- app has not opted out of user's fullscreen option
- user has not set any aspect ratio (USER_MIN_ASPECT_RATIO_UNSET)

"App default" will have a new value of USER_MIN_ASPECT_RATIO_APP_DEFAULT
if device manufacturer has overridden app to fullscreen, which will
behave the same as USER_MIN_ASPECT_RATIO_UNSET without the
device-applied fullscreen override.

Bug: 310816437
Test: atest UserAspectRatioDetailsTest
      atest UserAspectRatioManagerTest
      atest UserAspectRatioAppPreferenceTest
Change-Id: I6be634bb4369292687b865ce30d902540419183c
2023-12-22 13:15:56 +00:00
Chaohui Wang
a5d537053a Merge "Show "MMS messages" when mobile data is off" into main 2023-12-22 09:08:12 +00:00
Chaohui Wang
ce18c81da6 Show "MMS messages" when mobile data is off
For some corner case,
- Single SIM, data off, auto switch on (although hidden)
- Dual SIM, default data off, auto switch on

Bug: 303759893
Test: manual - on Mobile Settings
Test: unit test
Change-Id: I70dd792ecff590f34100efaaf6ee4efcc2b759fd
2023-12-20 17:07:45 +08:00
Chaohui Wang
28b85b5810 Refresh "Choose network" summary when service state changes
This summary display service connection state, which should be refreshed
when service state changes.

Fix: 313026209
Test: manual - on Mobile Settings
Test: unit test
Change-Id: I6ca2f89e05f21460a7db055f037919b6ebd19182
2023-12-20 16:19:08 +08:00
Mark Kim
5528e94455 Update archive's button enable property whenever hibernation toggle
has changed its value

Test: AppArchiveButtonTest

Bug: 304257274
Change-Id: I95b8a2219a7d04437b5c7d217a520e8c8b05d395
2023-12-19 14:11:16 +00:00
Chaohui Wang
83c46eb1b6 Fix DataUsageListTest
Using androidx.fragment.app.testing.launchFragment to rewrite the test.

Bug: 315449973
Test: manual - on DataUsageList
Test: unit test
Change-Id: Ief373becb4ac8ab1ba93b8ff3c594b5682c4821e
2023-12-19 12:54:31 +08:00
Chaohui Wang
51fc4bef49 Use single queryDetailsForDevice if possible
To improve performance.

Since queryDetailsForDevice() also aggregated the uids into one,
the apps list in DataUsageList still needs another separated api call.

Fix: 315449973
Test: manual - on DataUsageList page
Test: unit tests
Change-Id: I96c23dd7d0d40ecd183e0fb0f61329db42dae1ab
2023-12-16 02:01:22 +08:00
Chaohui Wang
007ef134b6 Hide MMS messages if switch mobile data automatically
Per designer's comment, hide the "MMS messages" if user cannot use it to
control MMS.

Fix: 303759893
Test: manual - turn "Switch mobile data automatically" on / off
Test: unit test
Change-Id: I874524c0cedb48f7daf87f32920e26428ae78c89
2023-12-15 17:00:22 +08:00
Jan Tomljanovic
303abbc3cc Merge "Always confirm eSim removal." into main 2023-12-13 10:54:43 +00:00
Jakob Schneider
accd9ca298 Merge "Fix settings tests where we relied on the resId." into main 2023-12-12 19:41:53 +00:00
Jakob Schneider
75b99cc6e4 Fix settings tests where we relied on the resId.
Test: HibernationSwitchPreferenceTest
Bug: 315957412
Change-Id: I1e941563c480de6c8cb15bc4c8b0876e2aa44824
2023-12-12 18:04:17 +00:00
Jan Tomljanovic
db1402a4df Always confirm eSim removal.
Test: atest DeleteSimProfilePreferenceControllerTest
Bug: 313604661

Change-Id: I0c43790bf43bedcc2e8075aa7be0b25876c731b4
2023-12-12 15:57:19 +00:00
Mark Kim
e3b456ef3e Add 'Restore' button to AppInfo screen
Test: AppButtonsTest, AppRestoreButtonTest

Bug: 304255818
Change-Id: Ica9055d8ee5603e4bb682e9b5d90a225c839002a
2023-12-11 22:07:03 +00:00
SongFerng Wang
dd2cc366a6 Merge "Add condition whether esim is visible or not" into main 2023-12-11 05:52:47 +00:00
SongFerngWang
ec27c60461 Add condition whether esim is visible or not
Bug: 314736037
Test: SubscriptionInfoListViewModelTest pass and build pass
Change-Id: I7dc86ca93691f044d951122c0c669c790b7aef98
2023-12-11 05:47:49 +08:00
Mark Kim
d17b1a3816 Merge "Add 'Archive' button to AppInfo screen" into main 2023-12-08 10:25:58 +00:00
Mark Kim
63f48ad2c6 Add 'Archive' button to AppInfo screen
Disable 'Archive' button whenever 'Uninstall' button is disabled.

Test: AppArchiveButtonTest, AppButtonsTest

Bug: 304256700
Change-Id: I9671905eca2cb71a5bf30bf29be83e5305a48ef4
2023-12-07 20:21:40 +00:00
Chaohui Wang
176a5727ff Fix flaky of AppInstallerInfoPreferenceTest
Bug: 288353352
Test: unit test
Change-Id: Iaf500bd9f3428914d5a35d69f1bf4f3a57d511b4
2023-12-07 14:15:21 +00:00
Anubhav Kakkar
86b5a0afc1 Merge "Implement special app access settings for MEDIA_ROUTING_CONTROL app-op." into main 2023-12-07 10:58:40 +00:00
Anubhav Kakkar
642bc5a6bc Implement special app access settings for MEDIA_ROUTING_CONTROL app-op.
Bug: b/307632045
Test: Pair a watch with companion app > Settings > Apps > Special app access > enter "Change Media Output" > Find the companion app > Ensure the special app access is Allowed > ensure companion app is able to call remote media routing APIs > come back to the settings > revoke the access > ensure that now companion app is NOT able to call the remote media routing APIs.

Change-Id: I35487660365ef05f3b998e8ecf13aaed7ba844a9
2023-12-07 09:12:08 +00:00
Chaohui Wang
b0cf27abbd Update the App Info Settings when package archived
Listen to the following actions,
- Intent.ACTION_PACKAGE_CHANGED for App enabled / disabled
- Intent.ACTION_PACKAGE_REMOVED for App archived
- Intent.ACTION_PACKAGE_REPLACED for App updated
                                     App updates are uninstalled
- Intent.ACTION_PACKAGE_RESTARTED for App force-stopped

Also,
- Prevent AppInfoSettings flaky, by moving package info null into
  RegularScaffold.
- Offload uninstallButton's enabled from main thread.

Bug: 314562958
Test: manual - All apps > app detail
Change-Id: Iaf210eb9e9b4ace1aa9079cdbb2d7430de4dd75f
2023-12-06 15:31:14 +08:00
Chaohui Wang
015a98ac38 Use IconDrawableFactory in AppPreferenceRepository
Bug: 314757827
Test: manual - on AppDataUsage
Test: unit test
Change-Id: Ica559ce044ebddfa8bc3ce994f9266ea1aabbe84
2023-12-05 14:56:47 +08:00
Chaohui Wang
6adf1bad31 Let SpaBridgeActivity support HIGHLIGHT_MENU_KEY
Also the SpaAppBridgeActivity.

Could be tested by,
adb shell am start -n com.android.settings/.ManageFullScreenIntent

adb shell am start \
  -a android.settings.MANAGE_APP_USE_FULL_SCREEN_INTENT \
  -d package:com.android.settings

adb shell am start -n com.android.settings/.UsageStatsActivity

Bug: 309075424
Test: manual - on tablet
Test: unit test
Change-Id: I778443e9d21d165904e415c66c03aafc7ac81372
2023-12-05 11:43:31 +08:00
Chaohui Wang
de3fe3744f Refresh the App Info Settings
When apk upgraded or downgraded.

And only close the page when the package is fully removed.

Bug: 314562958
Test: manual - on App Info Settings
Test: unit test
Change-Id: Ifdff714da99e31f9c5f237a0c3342de7a0797ec4
2023-12-04 01:43:11 +00:00
Chaohui Wang
8295743fe1 Only show DeveloperOptionsController for admin
Bug: 311604902
Test: manual - on System page
Test: unit test
Change-Id: Idbf40be4e0074f5d381724538c226a336c2c3b27
2023-12-01 15:30:27 +08:00
Chaohui Wang
880068d23a Avoid ANR of TetherPreferenceController
Off load the following work from main thread,
- Calculate title
- Calculate summery

This also helps improve the latency.

Also migrate to registerTetheringEventCallback() since
TetheringManager.ACTION_TETHER_STATE_CHANGED is deprecated.

Fix: 311848767
Test: manual - on Network & internet page and turn on / off tethering
Test: unit tests
Change-Id: I6ee182b41ef51f691ea31938142be1a41faf5573
2023-11-29 12:06:37 +08:00
Chaohui Wang
ee7139a889 Remove injecting developer options into Settings itself
- It can improve performance because we use less injected item
- Also use RestrictedPreference instead just checking restrictions,
  so we follow policy transparency.

Note: Renamed DevelopmentSettingsDashboardActivity to
DevelopmentSettingsActivity,
because DevelopmentSettingsDashboardActivity could in disabled state
even after Settings upgrades, use a new name to prevent this issue.

Bug: 311604902
Test: manual - turn on / off Developer Options
Test: unit test
Change-Id: I17be117ae59e59410687e6d08fd5edd034d0508f
2023-11-27 05:12:13 +00:00
Chaohui Wang
28bbbf783b Merge "Reduce flaky of whenIsInstantApp_hasSummaryForInstant" into main 2023-11-22 03:02:30 +00:00
Chaohui Wang
3534061f7b New SystemUpdateRepository
Extract getSystemUpdateIntent, and add unit test.

Bug: 311110616
Test: manual - on "Software updates" page
Test: unit test
Change-Id: Ic7c06490d1d324705f547b2394794605e85485a4
2023-11-21 14:09:57 +08:00
Chaohui Wang
8b7e6c28bc Check isSimHardwareVisible earlier
In SimEidPreferenceController, to reduce flaky on no SIM devices.

Bug: 304560734
Test: manual - on "About phone / tablet" page
Test: unit test
Change-Id: I07ae9b785d0fbe24a866883080a466a2110ca68f
2023-11-17 07:18:44 +00:00
Chaohui Wang
7cb01f2f1e Reduce flaky of whenIsInstantApp_hasSummaryForInstant
Wait for enabled summary instead wait for title.

Bug: 288353352
Test: unit test
Change-Id: Ifaf713fd3b781401701f1c8770a7a2a2de0f673f
2023-11-15 11:10:54 +08:00
Chaohui Wang
9e0bd18686 Fix restriction to configure Calls & SMS
Restriction UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS is added.

Fix: 278062379
Test: manual - apply restriction no_config_mobile_networks
Test: unit test
Change-Id: I87bf2269359bbceb989fa10524d55dd7ceb55de1
2023-11-14 09:48:52 +00:00
Chaohui Wang
4e2fa570bd Merge "Use MobileDataEnabledFlow in BillingCyclePreference" into main 2023-11-10 10:15:30 +00:00
Chaohui Wang
de8876e9b5 Extract ClientInitiatedActionRepository
Also add unit test.

Bug: 300851543
Test: manual - on system page
Test: unit test
Change-Id: I362afb4aa0683ebcc6695ff0b5bc35ef8afb5697
2023-11-10 14:31:07 +08:00
Chaohui Wang
0739b5edd1 Use MobileDataEnabledFlow in BillingCyclePreference
To easily collect the mobile data enabled setting changes.

Bug: 308903704
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ic449ce14fad38513b1e13facc6a192d30318c7b0
2023-11-10 10:33:46 +08:00
Chaohui Wang
d8b21d7846 Avoid unnecessary Html.fromHtml()
Check if string contains html tag, before call Html.fromHtml()

Fix: 308681068
Test: atest SubscriptionsPreferenceControllerTest
Test: atest ProviderModelSliceHelperTest NetworkProviderWorkerTest
Test: manual - on Internet page
Change-Id: Id914689f2861a8c997d18afd03ecfdf47b91c631
2023-11-09 11:10:43 +00:00
Chaohui Wang
62e64c592e Merge "Let SpaBridgeActivity support ActivityEmbedding" into main 2023-11-09 09:39:36 +00:00
Chaohui Wang
478ab50c01 Prevent Erase SIM during call
By collecting call state and only enable preference when idle.

Fix: 298893271
Test: manual - on Mobile Settings during call
Test: unit tests
Change-Id: Ifd567a6b68a3efbb0b42bfa0233f7c54eca07ae1
2023-11-08 03:08:56 +00:00
Chaohui Wang
0d338cd1df Let SpaBridgeActivity support ActivityEmbedding
Move the multi pane shared logic into EmbeddedDeepLinkUtils.

Fix: 309075424
Test: manual - with SpaActivity
Test: unit tests
Test: m RunSettingsRoboTests ROBOTEST_FILTER=".*\.SettingsActivityTest"
Change-Id: I8c41c801b8a5009a3959c85b784ed9739d947a70
2023-11-07 13:24:59 +08:00
Chaohui Wang
ddf79703ce Merge "[Spa] Fix State<T> as a parameter of SwitchPreference" into main 2023-11-06 04:19:30 +00:00
FanWu
1e0e039708 Cleanup Spa special access tests
Bug: 309042337

Test: Unit test
Change-Id: Id58dfc46a6e3cafc8d6e89516ffd241c791adda1
2023-11-06 04:00:19 +00:00
Chaohui Wang
89a3f9b194 Merge "New MobileDataEnabledFlow" into main 2023-11-06 02:56:31 +00:00
Chaohui Wang
fead9257b3 Fix AppDataUsageCycleController.setInitialCycles
This is actually called after displayPreference(), so should update
cycleAdapter in setInitialCycles() instead of displayPreference().

Also update test.

Bug: 240931350
Test: manual - on AppDataUsage
Test: unit test
Change-Id: I00287c21e307199b26c336f15b9a623737a5d130
2023-11-05 21:27:19 +08:00
Chaohui Wang
eedc7fd52d [Spa] Fix State<T> as a parameter of SwitchPreference
Bug: 292036686
Test: manual - with Settings
Test: unit tests
Change-Id: I003f3b7f29117258da6ae3c48039fb50c2bee95c
2023-11-05 00:09:27 +08:00
josephpv
380ac9a48e Adds Google account login during private space setup
This has the following changes:
1. On profile creation starts intent to add google account to the private profile for Pixel only devices.
2. On accout sign in failed show an error screen with message to try again.
3. Moves the lock setup fragment from private to main user which now calls the helper Activity as a private user which helps to setup lock. This activity can now also be called from the planned Secondary Auth settings page to set up private profile lock.
4. On set up complete use SHOW_WORK_APPS intent as a workaroud to start launcher.

Bug: 308397617
Test: Manual setup
Change-Id: I19b95375409f015b2a5d30fdad766c2f6baa634b
2023-11-03 13:50:55 +00:00
Chaohui Wang
5dd070325e Merge "[Spa] Fix "State<T> as a parameter" of Preference" into main 2023-11-03 09:46:59 +00:00
FanWu
0e9682eb31 Add LongBackgroundTasksApps
Bug: 284032922

Test: Unit test
Change-Id: Ic58f45c41c3d35803591afaf25829ff104dc493d
2023-11-03 05:59:25 +00:00
Chaohui Wang
3b21249d72 [Spa] Fix "State<T> as a parameter" of Preference
Bug: 292036686
Test: manual - with Settings
Test: unit tests
Change-Id: I8a9faaefe4780667a2747a4ef1573361d3258705
2023-11-03 11:48:52 +08:00