Commit Graph

590 Commits

Author SHA1 Message Date
Anubhav Kakkar
1a2774e3d8 Add trunk flag check to prevent changing the special app access settings for 'Change media output' for direct intent based entry when trunk flag is not enabled.
Bug: 321905521
Test: Ensure trunk flag is disabled > Open app specific settings for 'Change media output' > Ensure that settings should not be changeable
Change-Id: Iedfd82d97eb49fc65c56d332bde815ff41e24736
2024-01-23 16:43:16 +00:00
Chaohui Wang
97d36b771a Make MoreOptionsScope abstract class
Bug: 321724969
Test: m Settings
Test: unit test
Change-Id: Iced9df83f600c86cc409abc040fb9ace0dcedf1e
2024-01-23 13:59:45 +00:00
mxyyiyi
8dccd6947f Migrate battery optimization mode app list to SPA.
Bug: 284033422
Bug: 304923046
Test: manual
Change-Id: I7549b8a95508500bce098b42da04036869431060
2024-01-23 14:54:20 +08:00
SongFerng Wang
4601261f81 Merge "Add the UI of dual sim onboarding" into main 2024-01-22 08:40:49 +00:00
Charlotte Lu
e5aff32142 Merge "Change apn type into ExposedDropdownMenuCheckBox" into main 2024-01-22 08:39:59 +00:00
SongFerngWang
4713fd6baa Add the UI of dual sim onboarding
This is the first version.

Bug: 318310357
Bug: 298898436
Bug: 298891941
Test: Build pass
atest SimOnboardingLabelSimTest
atest SimOnboardingPageProviderTest
atest SimOnboardingPrimarySimTest
atest SimOnboardingSelectSimTest

Change-Id: I195bd6b03ab0e881fdd67272c2476ef2b1fcd3ed
2024-01-22 07:47:51 +00:00
Ling Ma
9c3ad34d6e Wrap subManager creation with createForAllProfiles
Since U, a sub can be associated with a particular profile, and thus in V we enforce filtering on the caller and only show the subs that are associated with the caller.
However, in some cases the caller indeed needs to see all subs regardless of its association, e.g. sysUI. Therefore, a param isForAllProfile is added to indicate whether the caller intends to see all subs.

Bug: 296076674
Test: voice call + data browsing
Flag: ACONFIG com.android.internal.telephony.flags.enforce_subscription_user_filter
 DEVELOPMENT
Change-Id: Ib5ccc841029a32ae9cf25d7a65b156e363d6b139
2024-01-20 05:28:14 +00:00
Chaohui Wang
5255867976 Migrate AppPermissionSummary to flow
Bug: 321163306
Test: manual - on App Info
Test: unit test
Change-Id: I36f6a479d530fc646a55f68fbaf681b72eff00dd
2024-01-19 15:33:06 +00:00
Charlotte Lu
0f577f7ddd Change apn type into ExposedDropdownMenuCheckBox
Test: Visual Test
Fix: 320891903,320621937
Change-Id: Ia6e4dbbcb568afae04776658a025e30c69e1ddd8
2024-01-19 07:15:13 +00:00
Chaohui Wang
739f6ff69a Merge "Avoid empty line for storage summary" into main 2024-01-19 03:06:14 +00:00
Chaohui Wang
ca0542d2d7 Avoid empty line for storage summary
Bug: 292036686
Test: manual - on All Apps
Test: unit test
Change-Id: Id5069b8172191f3277b825f82407551f6eb4e202
2024-01-18 17:00:07 +08:00
Mark Kim
f1587da7af Remove flag parameter from requestArchive method
Test: AppArchiveButtonTest
Bug: 315967626
Change-Id: I7cb40304aae19a3deaac72ae8a4d613ff6c255ec
2024-01-16 17:38:39 +00:00
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