From da3c0462a35b3891d4e5231c0fb8f8aeb12a4f7e Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Wed, 7 Mar 2018 16:42:39 -0800 Subject: [PATCH 01/11] Fix issue #62342672: API Review: OPSTR_ACTIVATE_VPN SystemApi Add a new platform-only permission for being able to change app ops mode, so nothing outside of the platform can do this. Bug: 62342672 Test: Booted, ran, settings works, shell works, apps install Change-Id: I2447ce04c3a90e66125ca02bb9dc1d365163c339 --- AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index feb1b05f32a..ffadbd325ad 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -87,6 +87,7 @@ + From 23612e325be121c198dd6850826115c927cf1d5c Mon Sep 17 00:00:00 2001 From: Beverly Date: Fri, 9 Mar 2018 15:49:22 -0500 Subject: [PATCH 02/11] Update seconday text DND Exceptions preference Test: manual Bug: 74441398 Change-Id: Ibaa459aa368f62c4ef8cdbefef462848e7bc6fe7 --- res/values/strings.xml | 9 ++++- .../notification/ZenModeSettings.java | 40 +++++++++---------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ab8c0111230..d9963dd8bb6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6996,6 +6996,11 @@ Sound, vibration, and visual signs of notifications + + None + + other options + Add @@ -7574,8 +7579,8 @@ Media - - Touch and charging sounds + + Touch sounds Reminders diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java index 557d6248960..c002b8274f8 100644 --- a/src/com/android/settings/notification/ZenModeSettings.java +++ b/src/com/android/settings/notification/ZenModeSettings.java @@ -92,31 +92,29 @@ public class ZenModeSettings extends ZenModeSettingsBase { }; String getBehaviorSettingSummary(Policy policy, int zenMode) { - List enabledCategories; + List enabledCategories = getEnabledCategories(policy); - if (zenMode == Settings.Global.ZEN_MODE_NO_INTERRUPTIONS) { - return mContext.getString(R.string.zen_mode_behavior_total_silence); - } else if (zenMode == Settings.Global.ZEN_MODE_ALARMS) { - return mContext.getString(R.string.zen_mode_behavior_alarms_only); - } else { - enabledCategories = getEnabledCategories(policy); - } - - // no sound categories can bypass dnd int numCategories = enabledCategories.size(); if (numCategories == 0) { - return mContext.getString(R.string.zen_mode_behavior_total_silence); + return mContext.getString(R.string.zen_mode_no_exceptions); + } else if (numCategories == 1) { + return enabledCategories.get(0); + } else if (numCategories == 2) { + return mContext.getString(R.string.join_two_items, enabledCategories.get(0), + enabledCategories.get(1).toLowerCase()); + } else if (numCategories == 3){ + String secondaryText = mContext.getString(R.string.join_two_unrelated_items, + enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); + return mContext.getString(R.string.join_two_items, secondaryText, + enabledCategories.get(2).toLowerCase()); + } else { + String secondaryText = mContext.getString(R.string.join_many_items_middle, + enabledCategories.get(0), enabledCategories.get(1).toLowerCase()); + secondaryText = mContext.getString(R.string.join_many_items_middle, secondaryText, + enabledCategories.get(2).toLowerCase()); + return mContext.getString(R.string.join_many_items_last, secondaryText, + mContext.getString(R.string.zen_mode_other_options)); } - - // only alarms and media can bypass dnd - if (numCategories == 2 && - isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_ALARMS) && - isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MEDIA)) { - return mContext.getString(R.string.zen_mode_behavior_alarms_only); - } - - // custom - return mContext.getString(R.string.zen_mode_behavior_summary_custom); } String getSoundSummary() { From 170b88c6fc3d9b9a5f1eba13f354255a96a7e39f Mon Sep 17 00:00:00 2001 From: Beverly Date: Mon, 12 Mar 2018 14:35:27 -0400 Subject: [PATCH 03/11] Test for string changes in DND Sound Settings Test: this Change-Id: I47ba1d1bad6a5be04d718d2e58eaf5dd6c69f107 Fixes: 74529508 --- .../notification/ZenModeSettingsTest.java | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java index 5c81efc9468..bd94bf5f24d 100644 --- a/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java +++ b/tests/robotests/src/com/android/settings/notification/ZenModeSettingsTest.java @@ -47,27 +47,12 @@ public class ZenModeSettingsTest { } @Test - public void testGetBehaviorSettingSummary_customBehavior() { - NotificationManager.Policy policy = new NotificationManager.Policy( - NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS - | NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS - | NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS - | NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA, - 0, 0); - final String result = mBuilder.getBehaviorSettingSummary(policy, - Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - - String custom = mContext.getString(R.string.zen_mode_behavior_summary_custom); - assertEquals(custom, result); - } - - @Test - public void testGetBehaviorSettingSummary_totalSilence() { + public void testGetBehaviorSettingSummary_noSoundsCanBypass() { NotificationManager.Policy policy = new NotificationManager.Policy(0, 0, 0); final String result = mBuilder.getBehaviorSettingSummary(policy, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - String totalSilence = mContext.getString(R.string.zen_mode_behavior_total_silence); + String totalSilence = mContext.getString(R.string.zen_mode_no_exceptions); assertEquals(totalSilence, result); } @@ -80,7 +65,9 @@ public class ZenModeSettingsTest { final String result = mBuilder.getBehaviorSettingSummary(policy, Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS); - String alarmsAndMedia = mContext.getString(R.string.zen_mode_behavior_alarms_only); + String alarmsAndMedia = mContext.getString(R.string.join_two_items, + mContext.getString(R.string.zen_mode_alarms), + mContext.getString(R.string.zen_mode_media).toLowerCase()); assertEquals(alarmsAndMedia, result); } From 33a6d0738acf9bb23bc0e1a06bbace48e5abca6b Mon Sep 17 00:00:00 2001 From: Andreas Terzis Date: Mon, 12 Mar 2018 12:27:50 -0700 Subject: [PATCH 04/11] Increase string character limits to 40 Increase character limits for the "billing_cycle" and "app_usage_cycle" strings to 40 characters because the current limit of 30 characters is not enough for some translations. Test: manual Test: make RunSettingsRoboTests Bug: 70950124 Change-Id: I2091915ca78786f4b29de211b4635af45cb4946f --- res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index ab8c0111230..e6e6d89a492 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8656,10 +8656,10 @@ %1$s Data warning / %2$s Data limit - + Data warning & limit - + App data usage cycle From 20ed5551122e366f310ac82de6abd0eb54998b57 Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Tue, 13 Mar 2018 11:25:04 -0700 Subject: [PATCH 05/11] Fix presubmit test failure. - fix the typo in the manifest that reference the zen mode fragment. Change-Id: Iae6975d015174fabb98033b917290c954c5483c2 Fixes: 74577539 Test: make SettingsUnitTests --- AndroidManifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c9045d8badd..340ca3a7f94 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -746,7 +746,7 @@ android:taskAffinity="com.android.settings" android:parentActivityName="Settings"> + android:value="com.android.settings.notification.ZenModeBlockedEffectsSettings" /> From 64a89bc9a7f32ed101c6391bc496b2f98819b716 Mon Sep 17 00:00:00 2001 From: Katsiaryna Naliuka Date: Tue, 13 Mar 2018 20:48:05 +0100 Subject: [PATCH 06/11] Made ordering in the Sound settings page more sparse to allow injecting tiles in arbitrary positions. Also increased a number of settings that are not hidden behind the overflow to accommodate 1 more line. Bug: 64065365 Test: manual Change-Id: I3ac8dfd4802967e02bebc6558a5b96d68cb2ea34 --- res/xml/sound_settings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml index b5bfc49d648..9500e249877 100644 --- a/res/xml/sound_settings.xml +++ b/res/xml/sound_settings.xml @@ -20,41 +20,41 @@ android:title="@string/sound_settings" android:key="sound_settings" settings:keywords="@string/keywords_sounds" - settings:initialExpandedChildrenCount="6"> + settings:initialExpandedChildrenCount="7"> + android:order="-170"/> + android:order="-160"/> + android:order="-150"/> + android:order="-140"/> + android:order="-130"/> + android:order="-120"/> + android:order="-90"/> + android:order="-80"/> Date: Fri, 9 Mar 2018 14:02:54 -0800 Subject: [PATCH 07/11] Change the color of the measurement numbers below the data bar. Original line item: In Data Usage screen, Below the data bar, Make GB measurement numbers smaller. Bug: 70950124 Test: manual Test: make RunSettingsRoboTests Change-Id: Id30233e038c664539fd688dcd4eb99af0c41f010 --- res/layout/data_usage_summary_preference.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/res/layout/data_usage_summary_preference.xml b/res/layout/data_usage_summary_preference.xml index 445e7cdd468..b54362afee4 100644 --- a/res/layout/data_usage_summary_preference.xml +++ b/res/layout/data_usage_summary_preference.xml @@ -106,7 +106,8 @@ android:id="@+id/data_limits" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingBottom="5dp" /> + android:paddingBottom="5dp" + android:textColor="?android:attr/textColorSecondary" /> From 5fc38ecae9fd6d4dbf7b077d0339b2c2b357e617 Mon Sep 17 00:00:00 2001 From: Sundeep Ghuman Date: Mon, 12 Mar 2018 22:26:52 -0700 Subject: [PATCH 08/11] Add Data warning and limit footer text. Bug: 70550124 Test: XML only change, visual inspection. Change-Id: Iaea3f100051bb908b13ca6809463db7f01f8d92d --- res/values/strings.xml | 3 +++ src/com/android/settings/datausage/BillingCycleSettings.java | 2 ++ 2 files changed, 5 insertions(+) diff --git a/res/values/strings.xml b/res/values/strings.xml index c64880eb818..cd34675e289 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8687,6 +8687,9 @@ Data warning + + Data warning and data limit are measured by your device. This may be different from carrier data. + Set data limit diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java index 34d18e920de..8cec3e79e1a 100644 --- a/src/com/android/settings/datausage/BillingCycleSettings.java +++ b/src/com/android/settings/datausage/BillingCycleSettings.java @@ -91,6 +91,8 @@ public class BillingCycleSettings extends DataUsageBase implements mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT); mEnableDataLimit.setOnPreferenceChangeListener(this); mDataLimit = findPreference(KEY_DATA_LIMIT); + + mFooterPreferenceMixin.createFooterPreference().setTitle(R.string.data_warning_footnote); } @Override From 9e04a917b66b859f8b028b75b07d370c5855ebe3 Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Tue, 13 Mar 2018 14:38:33 -0700 Subject: [PATCH 09/11] Fix alignment for the instant app button. - wrap the secondary button in the FrameLayout to make it align properly with the primary button. Change-Id: I6964bc67773a77eae551521747c19898a2f22210 Fixes: 69562807 Test: visual --- res/layout/instant_app_buttons.xml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/res/layout/instant_app_buttons.xml b/res/layout/instant_app_buttons.xml index 1ef9f415ff3..f80ac104fff 100644 --- a/res/layout/instant_app_buttons.xml +++ b/res/layout/instant_app_buttons.xml @@ -48,11 +48,16 @@ -