Commit Graph

115 Commits

Author SHA1 Message Date
Jason Chiu
9507bdb3ac Merge changes from topic "overlay_packages" into main
* changes:
  [Safer intents] Notifications
  [Safer intents] Define package names in Settings
2024-03-29 01:14:26 +00:00
josephpv
14b2f9568e Add new filter to list private space apps when not in quite mode
This change handles listing of private space apps in Settings > Sound &
vibration > Do Not Disturb > Apps page.

Based on the new filter this page
- lists the apps from private space whenever profile is unlocked.
- when quite mode enabled privat space apps in the list is hidden.

Recording Link: b/322316632#comment3

Bug: 322316632
Test: Manual
Change-Id: Ie8a7b3376351c031a1abb8488eceb7859a1930fd
2024-03-27 20:43:12 +00:00
Jason Chiu
8bc1a141b5 [Safer intents] Notifications
To avoid implicit intents, make intents launch explicitly.

Test: build
Bug: 323061508
Change-Id: I68624ca7c913c473490f371409ae35acbb4f6fb2
2024-03-27 18:31:51 +08:00
Matías Hernández
a1d8044cbf Populate new fields in modes created via Settings
Type and trigger description on creation; trigger description on update.

Bug: 317370174
Bug: 320997361
Test: atest ZenModeScheduleRuleSettingsTest ZenModeEventRuleSettingsTest
Change-Id: Idb1edcc8829b54ec85494966eb391e52012a5348
2024-03-25 15:57:10 +01:00
Matías Hernández
9c33280259 Moved zen-conversion-related methods into ZenAdapters
Update calls from Settings.

Bug: 309922141
Test: atest ZenModeHelperTest ZenAdaptersTest
Change-Id: I354dea651a8c6f64eb87fe4bc90dab5ffdf7610f
2024-02-28 17:56:21 +01:00
Hani Kazmi
206300962f Replace ECM AppOps call with service
A new ECM service was introcuded in changeId
I831391e4437b51b3312b5273a2360bd029a3d8ee.

We begin calling it, and update/cleanup method signatures to match.

Note: There are two feature flags:

1. enhancedConfirmationModeApisEnabled - read only, protects the
   mainline API.

2. extendEcmToAllSettings - runtime - gates calls to the above APIs.

We use both so we can ramp up in teamfood as needed.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I945ec51df5cd63de548a8ffdd1acc4f09f2301e5
2024-02-21 14:43:02 +00:00
Hani Kazmi
96ab2b9e25 Wired remaining SpecialAppAccess for ECM.
This change enables the remaining settings for ECM, and adds tests for
both this and previous ECM changes.

Bug: 297372999
Test: Tested on device
Test: atest SpaPrivilegedLibTests
Test: atest com.android.settings.applications.specialaccess.notificationaccess
Test: atest com.android.settings.datausage
Test: atest PremiumSmsAccessTest
Test: atest RestrictedPreferenceHelperTest
Change-Id: I73d39d765dba0c1a75111c37b29ccf1c85d2cdd8
2024-02-15 15:15:23 +00:00
Yuri Lin
c36baa0e8d Merge "Settings changes for changing default for zen policy." into main 2024-01-22 21:12:46 +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
Yuri Lin
583b3dfcab Settings changes for changing default for zen policy.
This change sets a rule's ZenPolicy to the device default right before entering the customization screen, rather than setting it to a copy of the global DND policy. Further, because all policies are now fully specified, when the MODES_API flag is on, skip the radio button screen for selecting between a default and a custom setting and jump straight to the page for setting custom settings.

Bug: 312739308
Test: manual -- entered settings for rules created before and after V, modified settings, verified they took

Change-Id: I1e3a777b60a8fcf06732879f823b033826a52a43
2024-01-09 15:50:21 -05: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
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
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
08a1c9876e Revert^2 "Migrate to CompoundButton.OnCheckedChangeListener"
8979681a8d

Change-Id: I60edd3aabf49afbe4aa016af780baa68d928bddf
2023-11-07 14:17:15 +00:00
Sebastian Pickl
8979681a8d Revert "Migrate to CompoundButton.OnCheckedChangeListener"
Revert submission 25147565-onSwitchChanged-CompoundButton

Reason for revert: breaking builds 

Bug:309601476

Reverted changes: /q/submissionid:25147565-onSwitchChanged-CompoundButton

Change-Id: Ie746db87d9c642599593aa3d5e5baf6b7ba89c0e
2023-11-07 13:26:36 +00:00
Chaohui Wang
71d1f021af Migrate to CompoundButton.OnCheckedChangeListener
Switch and SwitchCompat are both CompoundButton.

Using CompoundButton in Java will helps migration in the future.

Bug: 306658427
Test: manual - check Settings pages
Change-Id: If2e08a9a9557ec66a3b31ef18cd2e15943098a59
2023-11-07 20:22:27 +08:00
Chaohui Wang
15ca95a31b Migrate to TwoStatePreference
SwitchPreference and SwitchPreferenceCompat are both TwoStatePreference.

Using TwoStatePreference in Java will helps migration in the future.

Bug: 306771414
Test: manual - check Settings pages
Change-Id: I84e1d7b09451106797c2b23d127855c6976678ca
2023-10-23 09:28:57 +00:00
Chaohui Wang
cc2133ba8e Clean up unused fields from EntityHeaderController
Bug: 295260929
Test: manual - on pages with header
Test: robo test
Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883
2023-08-21 13:58:07 +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
Mill Chen
45d9e390b2 Fix do not disturb bypass user restriction
Do not disturb search result can still switch on/off when users are
restricted by DISALLOW_ADJUST_VOLUME. The DND search result is presented
by slice and there was no user restriction check when creating DND
slice, which caused DND search result can access. To prevent DND from
being access if user restriction is enabled, adding user restriction
check during creating the DND slice.

Bug: 242846154
Test: robotest pass and manual test
Change-Id: I897a99e9dda2f9f84365d96841a4c4f4cf975331
2023-07-07 20:25:18 +08:00
Kweku Adams
9a087d6c19 Merge "Revert "Remove duplicate strings."" into udc-dev 2023-03-16 20:14:16 +00:00
Lifu Tang
caa1b51ef2 Revert "Remove duplicate strings."
Revert submission 19748582-settings_yesno

Reason for revert: Common strings in English could be translated into different strings in other languages.

Reverted changes: /q/submissionid:19748582-settings_yesno

Bug: 272603842
Test: build and open Settings app
Test: atest SettingsRoboTests
Change-Id: Iaad301c5513478fb95e40987ea3ccb4f923d71fa
2023-03-15 22:39:24 +00:00
Matías Hernández
2cabe8786e Merge "Delete stuff related to removed "Conversations that can interrupt" settings" into udc-dev 2023-03-15 10:12:23 +00:00
Matías Hernández
0882b04ed5 Delete stuff related to removed "Conversations that can interrupt" settings
Bug: 226486181
Test: N/A, dead code removal only
Change-Id: I100db518880a7eee402af37f49e416ec61ff8486
2023-03-14 16:53:53 +01:00
Matías Hernández
89f93a9bb1 Close ZenModeScheduleRuleSettingsActivity when rule is deleted
This fixes an issue where the ZenRuleButtonsPreferenceController was redirecting to the rule list, but the container fragment was still trying to refresh the rule, leading to a "rule not found" toast. This also makes the transition look nicer, as it's a "back" instead of a "forward" animation now.

Fixes: 244103559
Test: Manually on phone & tablet
Change-Id: Ie26511dcaec4c7976f488936cdc6d417110ca1b1
2023-03-13 12:03:27 +01:00
Julia Reynolds
cb6a88b862 Remove jank on DND schedule page
Only add/or remove preferences when absolutely needed.
Also fix a 'load data from backend' method that wasn't.

Fixes: 216747934
Test: ZenModeAutomaticRulesPreferenceControllerTest
Test: view schedules page
Test: add schedule
Test: remove schedule
Test: view schedule child page and return to schedules page
Change-Id: I237c2ca7ea89ee6e42354470a76712068a7f4dd7
2023-03-01 18:43:02 +00:00
TreeHugger Robot
408a4045f1 Merge "Reduce jank on DND apps page" into tm-qpr-dev am: 694742152d am: 2ecd05add8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21477350

Change-Id: I06dc22c948192703fdf717a735ef9abc3df58496
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-21 21:32:14 +00:00
TreeHugger Robot
2ecd05add8 Merge "Reduce jank on DND apps page" into tm-qpr-dev am: 694742152d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21477350

Change-Id: I3b215c7f5c824c04837cc84f2af1c81e0702aa6c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-21 19:47:05 +00:00
Julia Reynolds
9f7af5946e Reduce jank on DND apps page
1) Remove call to redisplay the api when registering our app listener -
this meant all preferences were always removed/readded on page load
because the app list isn't ready at that time
2) Stop rebuilding the UI for events we don't care about
3) Keep existing preferences when possible and just do the diff of prefs
that need to be added/removed

Fixes: 234298144
Test: ZenModeAddBypassingAppsPreferenceControllerTest
Test: ZenModeAllBypassingAppsPreferenceControllerTest
Test: manually view page; add & remove apps that have dnd breakthrough
Change-Id: I57b36d36135dd25d1d2fd73073cf6b7a033659a6
2023-02-17 13:39:19 +00:00
Yuri Lin
5db22756e4 Merge "Disable zen rule preferences with invalid activities" into tm-qpr-dev am: dc4100f148 am: de8a27b496
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20725886

Change-Id: I4c0309a1b5773d6d92c0f43ba631571e2b375e49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-16 00:00:17 +00:00
Yuri Lin
de8a27b496 Merge "Disable zen rule preferences with invalid activities" into tm-qpr-dev am: dc4100f148
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20725886

Change-Id: I609c74ba96e7a32171ff20715d4aa8c68f8a68b9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-15 16:51:30 +00:00
Yuri Lin
afe52dfae5 Disable zen rule preferences with invalid activities
While resolveActivity is used to determine whether an Intent can be handled by something, this doesn't catch the case of explicit intents whose activity class doesn't exist. Here we check for it through PackageManager.queryIntentActivities instead for existing zen rules (if they were added when the activity exists, but it no longer does).

For new rules, check the validity of the activity for external rules before adding them to the list.

Bug: 238144390
Test: manual via DND app
Change-Id: Ia920ca792f9c17a5d684baf877c882ce7fadffd6
2022-12-14 14:13:36 -05:00
xinghailu
b5293a2d1c Cleanup plurals in Settings, change <one> to <1> in string res file.
"One" and "1" are not same, such as "1st place" vs "a
place". Also in many languages, plurals expression is different with English, for more detail please check: go/android-i18n-plurals.
So in string res file, replace "one" with excat value "1" is a more
proper way.

Test: Existing unit tests still pass.
Bug: 199230342
Change-Id: I832abc38afc5d8816fa803865c25e6017cffa2c6
2022-12-13 18:31:08 +08:00
Chaohui Wang
6ae88c417f Clean up some UnusedResources detected by lint 3
Bug: 234570979
Test: Manual with Settings App
Change-Id: I73d18397b01a9967fd7acb94b133e7d5497a0854
2022-09-13 13:56:26 +08:00
Treehugger Robot
adbd13eb05 Merge "Add null check for mIntent in ZenRulePreference to avoid potential crash risk" am: 36a80cd8e6 am: 3799ecc58a am: 02a5b5e487 am: f8701c71e6 am: b151b094cc
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2200576

Change-Id: Ib0d57ffd2c11e804ae31a0f57846c509100ccf93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-02 06:17:32 +00:00
Treehugger Robot
b151b094cc Merge "Add null check for mIntent in ZenRulePreference to avoid potential crash risk" am: 36a80cd8e6 am: 3799ecc58a am: 02a5b5e487 am: f8701c71e6
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2200576

Change-Id: I23cc61383530de734ef9f3e8141078757a45ec22
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-02 05:46:17 +00:00
Shen Lin
b25f123d9f Add null check for mIntent in ZenRulePreference to avoid potential crash risk
Bug: 244120502

Test: manual test, ZenRuleScheduleHelperTest for unit test.
Change-Id: Ib7338253783bb09b84b629f2dd891292d82f28b2
2022-08-29 19:19:59 +08:00
Kweku Adams
5949fccc7a Remove duplicate strings.
"Yes" and "no" were redefined many times with no clear benefit, so this
consolidates them into one definition.

Bug: 243843096
Test: Build, install, and open the Settings app
Test: atest SettingsRoboTests
Change-Id: I5f84d09f223efd478461ded93aeac82bf7b128d8
2022-08-26 00:07:08 +00:00
Treehugger Robot
48b4af999a Merge "Fix array-related errorprone warnings" am: a93e78f781 am: a89e7aea3b am: cdacabf984 am: 49a0bbc650 am: ac7a368afd
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2183972

Change-Id: I0ebc25250b00a36bef5a72dd87192013b08e098f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-17 20:53:49 +00:00
Treehugger Robot
ac7a368afd Merge "Fix array-related errorprone warnings" am: a93e78f781 am: a89e7aea3b am: cdacabf984 am: 49a0bbc650
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2183972

Change-Id: I9c4c43088154202d5818b29d010f053a7630ec90
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-08-17 20:29:36 +00:00
Treehugger Robot
a93e78f781 Merge "Fix array-related errorprone warnings" 2022-08-17 18:37:46 +00:00
Cole Faust
a21ac03acb Fix array-related errorprone warnings
The ArrayEquals, ArrayHashCode, ArrayToString, and
ArraysAsListPrimitiveArray errorprone findings were
demoted from errors to warnings. Fix existing
occurrences of them so they can be made errors again.

Bug: 242630963
Test: RUN_ERROR_PRONE=true m javac-check
Change-Id: Ida6513002f8fd845a385924be290b720f06c4748
2022-08-15 18:52:37 -07:00
Chaohui Wang
0441f990f9 Merge "Remove the redundant constructor of SuggestionFeatureProviderImpl" 2022-08-08 06:47:18 +00:00
Julia Reynolds
f3b9bf55a9 Move zen rule deletion
To a non-exported component

Test: manually delete a rule in Settings
Fixes: 233607507
Change-Id: I6c4ac930eb62a2068582021d0ad16b93fbc9bdd3
2022-07-21 14:54:42 -04:00
Chaohui Wang
80a11a251e Remove the redundant constructor of SuggestionFeatureProviderImpl
Fix: 175167313
Test: robotest
Change-Id: I7ebbaf92398a8300971d592e2ee7a6e0d82c1d2f
2022-07-13 03:44:26 +00:00
Yuri Lin
7cbba753dc Change zen mode schedules page rule handling
The approach of reloading all rules (and recreating all ZenRulePreferences) every time the rule set changed causes the switches on the page to stop working.

This change keeps the ZenRulePreference around as long as the rule itself is around and keeps it updated, while re-adding the preferences to the PreferenceCategory if needed due to rules changing.

Fixes: 229879326
Test: manual, ZenModeAutomaticRulesPreferenceControllerTest
Change-Id: I4eba41e8252cedd87ac866e4b97513970ca2d94a
2022-05-05 14:24:42 -04:00
Chaohui Wang
fbafdbdd8f Merge "Fix title clipped for "Custom settings for schedule"" into tm-dev 2022-04-14 23:22:19 +00:00
Julia Reynolds
87bb1b34c5 Add missing extra when launching apps
As promised in the api docs

Test: AbstractZenModeAutomaticRulePreferenceControllerTest, view
schedule DND page
Fixes: 221423986

Change-Id: I7ddc1b112950da225afa2ba13ebf5df481922177
2022-04-12 16:20:01 -04:00
Chaohui Wang
3b3e66c780 Fix the flow for ZenCustomRuleSettingsBase
updateRule() should be called before super.onResume() because rule will
be used in updatePreferenceStates() in super.onResume().

This is follow up of Change: Ief9963091847d58654f26851616563ae910716a5

Bug: 226523115
Test: manual
Change-Id: I2fe0cfb2b4a76273283bb2d3aca629b5d647db91
2022-04-06 17:22:12 +08:00
Chaohui Wang
5d0057615a Fix title clipped for "Custom settings for schedule"
Set rule to header, switch and action buttons controllers before their
isAvailable() is called in onCreate().

Fix: 228262001
Test: manual
Change-Id: Idc0ea779ab768497a8426ac847c4bbb2c6c4faea
2022-04-06 13:57:48 +08:00