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
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
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
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
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
"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
"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
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
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
As promised in the api docs
Test: AbstractZenModeAutomaticRulePreferenceControllerTest, view
schedule DND page
Fixes: 221423986
Change-Id: I7ddc1b112950da225afa2ba13ebf5df481922177
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
Set rule to header, switch and action buttons controllers before their
isAvailable() is called in onCreate().
Fix: 228262001
Test: manual
Change-Id: Idc0ea779ab768497a8426ac847c4bbb2c6c4faea
This change uses the app icon cache to either get the icon from cache or retrieve it on a background thread. The methods previously used to get app icons no longer work in T.
Bug: 222323742
Test: manual
Change-Id: I4960a9297d546cac088e5969a8903391ed994bd4
On the people screen, have the footer show up all the time and provide a more relevant message (indicating that the chosen people override any app/etc settings) than the current setting.
On the sound/vibration screen, remove the sub-title since it's a bit confusing what exactly is being turned on or off.
Bug: 190180868
Bug: 215564123
Test: manual
Change-Id: I78d407af350a9f99d26d1e5082b752881bd3f186
Also add clearer summaries for schedule and calendar events (rather than just "Off" and "On"): for schedules, list the days & times for which the schedule is active, and for events, the calendar whose events it triggers on.
Bug: 190180868
Bug: 215564123
Test: manual for switches, ZenRuleScheduleHelperTest for descriptions
Change-Id: I3ad579503adae0a66dfa3093b4e3df77db0ede31
This change explicitly allows for multiselect between priority senders (starred, contacts) & priority conversations, and also allows unchecking boxes by clicking on the same ones again.
Also makes the screens for setting messages and calls in custom rules consistent in behavior with the main DND settings. Since much of the functionality is shared, this change refactors most of the logic into a new helper class used by both.
While these changes also affect how the "calls" screen is constructed, in effect there is no change to the functionality of priority call sender settings except under the hood.
Test: atest ZenPrioritySendersHelperTest; Settings robotests
Bug: 190180868
Bug: 197223270
Change-Id: I894775537a18feb7a891b2668b9a613a203a129c
This change is to reduce ambiguity as we're adding the option to style the preference like a checkbox as well.
Bug: 190180868
Test: SelectorWithWidgetPreferenceTest, RunSettingsLibRoboTests
Change-Id: Ie414347bf67ed394ef495604890c5851fc42dbc7
The pendingIntent of the DND toggle was set to immutable previously
which doesn't allow any modification. This CL fixes this by making it
mutable.
Fixes: 191865710
Test: Search "dnd" and make sure the toggle has effect upon modification
Change-Id: Iade256cee8885cb80ade5ca95cc50065c2a78da2
Because they will always have access because they hold
the permission to manage notifications.
Test: manual
Fixes: 191973668
Change-Id: I456aec41b401bba6f10d9ea969e2fb8c4300825d
zen_mode_sound_summary_off should only be used when describing the
number of schedules that are enabled (and requires a numeric parameter).
Instead, use the string "off" when a sound isn't enabled by a custom dnd
setting.
Fixes: 189120026
Test: manual
Change-Id: I8bc180353a61455b124801d14f0d319f49bb341c