Commit Graph

478 Commits

Author SHA1 Message Date
Chaohui Wang
9a6a0865de Catch IllegalStateException when get carrier config
Fix: 319149441
Test: manual - on System Update page
Test: unit test
Change-Id: I484a036b2ce086531b20e1a5ca7e541934bc4c07
2024-01-15 16:52:06 +08:00
Mark Kim
ee1491c811 Merge "Get and save app label before archiving the app" into main 2024-01-12 04:12:29 +00:00
Mark Kim
5e5f1dd724 Get and save app label before archiving the app
Test: manual

Bug: 317125320
Change-Id: I34763106f669e3f2c0f349cdec977ceb57291e01
2024-01-11 12:17:33 +00:00
Chaohui Wang
52ebf58566 Show policy transparent of "Force stop" when no DO
PackageManager.isPackageStateProtected() is moving to permission based,
so force stop button can also be protected when no DeviceOwner.

The ActivityManger side has already handled correctly, no Settings UI
side need to show a device policy transparent dialog.

Fix: 319579347
Test: manual - Force stop on AppInfo
Test: unit test
Change-Id: I4432dcb798a0cfcbb6bfc8b30c9191dd91b980a2
2024-01-11 17:05:26 +08:00
Charlotte Lu
8ef68fb1fc Add WEPNetworksPreferenceController.
Test: Visual Test
Fix: 317453032
Change-Id: Ifce83ffa32eeb0d1245b7c5e61c3cad3f85fa14e
2024-01-08 16:45:42 +08:00
Chaohui Wang
f28d119560 Show "0 B used" when no data usage this cycle
When the latest cycle has no data usage, currently it shows all time
usage without cycle info, which could confuse user.

Change to "0 B used used xxx - xxx" to fix this issue.

Fix: 292346951
Test: manual - on Mobile Settings
Test: unit tests
Change-Id: Ic06fd63a3bc049d70538d0a3cd1fa3d62dbd71d7
2024-01-06 19:05:47 +08:00
Chaohui Wang
df5c4f69a8 Fix DataUsageSummaryPreferenceController ANR
By off load data loading to background.

Fix: 295260929
Test: manual - on Mobile Settings
Test: unit test
Change-Id: Ib2ef19301b1e97af8a7f3861829779c3b70da4a4
2024-01-05 16:07:28 +08:00
Chaohui Wang
3bd2e55b23 Fix SIM Settings crash when IllegalArgumentException
By catch exception.

Fix: 318460644
Test: manual - with SIM Settings
Test: unit test
Change-Id: I99025125b5fe71c6507afc355a881af8948d6a7a
2024-01-04 10:47:48 +08:00
Chaohui Wang
355144675a Fix ANR in WifiCallingPreferenceController.getAvailabilityStatus
Move the following to background thread to avoid block main thread,
- MobileNetworkUtils.isWifiCallingEnabled(mContext, mSubId, null)
- MobileNetworkUtils.buildPhoneAccountConfigureIntent()
- getSummaryForWfcMode()
- Call State

Since WifiCallingPreferenceController no longer calculate availability
in getAvailabilityStatus(), also update the
CallingPreferenceCategoryController accordingly.

Also introduce ImsMmTelRepository for split business logic for easy
testing.

Fix: 292401934
Test: manual - on Mobile Settings
Test: unit test
Change-Id: If92e2c8f6e137e40b83e578294c03c1b917eef8e
2023-12-29 17:16:49 +08:00
Chaohui Wang
2ec3840987 Improve AutoSelectPreferenceController
Deprecate ServiceStateStatus (which could produce wrong value),
and replaced with serviceStateFlow.

Fix: 299068234
Test: manual - turn auto select off and on
Test: unit test
Change-Id: I42fe160500c68cc9ee0fe383121f64146ddbb7f2
2023-12-28 16:58:42 +08:00
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