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
Fix: 177967926
Fix: 177968295
Fix: 177967925
Fix: 177968078
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: Ie854de96e5495fa564fb8a097ed4547bbd2b10c5
LayoutPreference.
Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: I4588d1fc3004970b174e7c5c5d1aa7745f774985
Zen mode change will call displayPreference() and create a new SettingsObserver, then the old Observer object will have no opportunity to be unregistered. After too much new SettingsObserver creatd in Monkey test, memory might leak.
Bug 176206489
Change-Id: I3bccec281da492299bbf755f86df7844a31223c5
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
FLAG_MUTABLE while errors occur.
Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
For better translations. See go/android-i18n-plurals.
Test: manual
Test: make RunSettingsRoboTests7
Fixes: 156651436
Change-Id: Ic82140b81bf49f071291d2824fa45d310de238ae
Don't use focusableInTouchMode, it was causing focus/clickability issues
when the device wasn't in touch mode.
Test: manually tap button (tap works first try)
Test: turn on talkback and toggle buttons, also try toggling QS tile
while on the Settings page - doesn't reannounce state
Fixes: 158717450
Change-Id: I785d0200dd61235aa3308a8588f9ee998e7cb6e5
Use different strings for "None" based on the context of the string.
Some languages may require different gendered grammar depending on its
context.
Also update contacts summary string to include plurals (1 vs many).
Test: make RunSettingsRoboTests7
Bug: 154898476
Fixes: 154944295
Change-Id: If9949d75de573042389a19df3d4c5d15c6cbeb25