From 3adb74ea60a0553acb7337177afb3896d3fbcf25 Mon Sep 17 00:00:00 2001 From: tmfang Date: Fri, 9 Nov 2018 20:21:14 +0800 Subject: [PATCH] Apply new action button visual design - Add some icon resources. - Add icon for each button in action button preference. - Update "Enable" and "Disable" string to "Install" and "uninstall". - Remove unused string. - Add divider between entity header and action buttons. Test: visual, robotest Fixes: 119203074 Bug: 116346008 Change-Id: Ib8d7aeb2943d39d257e977b84f165f002bf47559 --- res/drawable/ic_settings_close.xml | 25 +++++++++++++++ res/drawable/ic_settings_delete.xml | 31 +++++++++++++++++++ res/drawable/ic_settings_force_stop.xml | 31 +++++++++++++++++++ res/drawable/ic_settings_install.xml | 28 +++++++++++++++++ res/drawable/ic_settings_open.xml | 25 +++++++++++++++ res/values/strings.xml | 2 -- res/xml/app_info_settings.xml | 6 ++-- res/xml/bluetooth_device_details_fragment.xml | 4 ++- res/xml/wifi_network_details_fragment.xml | 3 +- .../applications/AppStorageSettings.java | 14 +++++++-- .../AppButtonsPreferenceController.java | 11 +++++-- .../BluetoothDetailsButtonsController.java | 3 ++ .../WifiDetailPreferenceController.java | 1 + .../AppButtonsPreferenceControllerTest.java | 6 ++-- 14 files changed, 175 insertions(+), 15 deletions(-) create mode 100644 res/drawable/ic_settings_close.xml create mode 100644 res/drawable/ic_settings_delete.xml create mode 100644 res/drawable/ic_settings_force_stop.xml create mode 100644 res/drawable/ic_settings_install.xml create mode 100644 res/drawable/ic_settings_open.xml diff --git a/res/drawable/ic_settings_close.xml b/res/drawable/ic_settings_close.xml new file mode 100644 index 00000000000..058b4b5b2e3 --- /dev/null +++ b/res/drawable/ic_settings_close.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/res/drawable/ic_settings_delete.xml b/res/drawable/ic_settings_delete.xml new file mode 100644 index 00000000000..10125acd498 --- /dev/null +++ b/res/drawable/ic_settings_delete.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/res/drawable/ic_settings_force_stop.xml b/res/drawable/ic_settings_force_stop.xml new file mode 100644 index 00000000000..eda6079c48f --- /dev/null +++ b/res/drawable/ic_settings_force_stop.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/res/drawable/ic_settings_install.xml b/res/drawable/ic_settings_install.xml new file mode 100644 index 00000000000..5bd5e300eae --- /dev/null +++ b/res/drawable/ic_settings_install.xml @@ -0,0 +1,28 @@ + + + + + + diff --git a/res/drawable/ic_settings_open.xml b/res/drawable/ic_settings_open.xml new file mode 100644 index 00000000000..ea7771028b1 --- /dev/null +++ b/res/drawable/ic_settings_open.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index dbf2615e622..17eaa35da52 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4002,8 +4002,6 @@ Uninstall for all users Install - - Disable Enable diff --git a/res/xml/app_info_settings.xml b/res/xml/app_info_settings.xml index 81afc1a11e3..84ea14d34cc 100644 --- a/res/xml/app_info_settings.xml +++ b/res/xml/app_info_settings.xml @@ -25,7 +25,8 @@ android:key="header_view" android:layout="@layout/settings_entity_header" android:selectable="false" - android:order="-10000" /> + android:order="-10000" + settings:allowDividerBelow="true"/> + settings:controller="com.android.settings.applications.appinfo.AppNotificationPreferenceController" + settings:allowDividerAbove="true"/> + android:selectable="false" + settings:allowDividerBelow="true"/> diff --git a/res/xml/wifi_network_details_fragment.xml b/res/xml/wifi_network_details_fragment.xml index 7c8d9a00aa2..4198b76fb2c 100644 --- a/res/xml/wifi_network_details_fragment.xml +++ b/res/xml/wifi_network_details_fragment.xml @@ -23,7 +23,8 @@ android:key="connection_header" android:layout="@layout/settings_entity_header" android:selectable="false" - android:order="-10000"/> + android:order="-10000" + settings:allowDividerBelow="true"/> handleClearDataClick()); } @@ -384,7 +390,9 @@ public class AppStorageSettings extends AppInfoWithHeader private void processClearMsg(Message msg) { int result = msg.arg1; String packageName = mAppEntry.info.packageName; - mButtonsPref.setButton1Text(R.string.clear_user_data_text); + mButtonsPref + .setButton1Text(R.string.clear_user_data_text) + .setButton1Icon(R.drawable.ic_settings_delete); if (result == OP_SUCCESSFUL) { Log.i(TAG, "Cleared user data for package : " + packageName); updateSize(); diff --git a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java index 12c4d9d7f2c..b7023bb01ea 100644 --- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java @@ -165,7 +165,9 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp if (isAvailable()) { mButtonsPref = ((ActionButtonPreference) screen.findPreference(KEY_ACTION_BUTTONS)) .setButton1Text(R.string.uninstall_text) + .setButton1Icon(R.drawable.ic_settings_delete) .setButton2Text(R.string.force_stop) + .setButton2Icon(R.drawable.ic_settings_force_stop) .setButton1OnClickListener(new UninstallAndDisableButtonListener()) .setButton2OnClickListener(new ForceStopButtonListener()) .setButton1Positive(false) @@ -541,15 +543,18 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp if (mHomePackages.contains(mAppEntry.info.packageName) || isSystemPackage(mActivity.getResources(), mPm, mPackageInfo)) { // Disable button for core system applications. - mButtonsPref.setButton1Text(R.string.disable_text) + mButtonsPref.setButton1Text(R.string.uninstall_text) + .setButton1Icon(R.drawable.ic_settings_delete) .setButton1Positive(false); } else if (mAppEntry.info.enabled && !isDisabledUntilUsed()) { - mButtonsPref.setButton1Text(R.string.disable_text) + mButtonsPref.setButton1Text(R.string.uninstall_text) + .setButton1Icon(R.drawable.ic_settings_delete) .setButton1Positive(false); disableable = !mApplicationFeatureProvider.getKeepEnabledPackages() .contains(mAppEntry.info.packageName); } else { - mButtonsPref.setButton1Text(R.string.enable_text) + mButtonsPref.setButton1Text(R.string.install_text) + .setButton1Icon(R.drawable.ic_settings_install) .setButton1Positive(true); disableable = true; } diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java index 09632df1554..ac90870cf8f 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsButtonsController.java @@ -53,6 +53,7 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle protected void init(PreferenceScreen screen) { mActionButtons = ((ActionButtonPreference) screen.findPreference(getPreferenceKey())) .setButton1Text(R.string.forget) + .setButton1Icon(R.drawable.ic_settings_delete) .setButton1OnClickListener((view) -> onForgetButtonPressed()) .setButton1Positive(false) .setButton1Enabled(true); @@ -68,6 +69,7 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle if (!mConnectButtonInitialized || !previouslyConnected) { mActionButtons .setButton2Text(R.string.bluetooth_device_context_disconnect) + .setButton2Icon(R.drawable.ic_settings_close) .setButton2OnClickListener(view -> mCachedDevice.disconnect()) .setButton2Positive(false); mConnectButtonInitialized = true; @@ -76,6 +78,7 @@ public class BluetoothDetailsButtonsController extends BluetoothDetailsControlle if (!mConnectButtonInitialized || previouslyConnected) { mActionButtons .setButton2Text(R.string.bluetooth_device_context_connect) + // TODO (b/119646923) Icon is not ready. .setButton2OnClickListener( view -> mCachedDevice.connect(true /* connectAllProfiles */)) .setButton2Positive(true); diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java index 46f485c9ba5..ea31b1b24c7 100644 --- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java @@ -278,6 +278,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController mButtonsPref = ((ActionButtonPreference) screen.findPreference(KEY_BUTTONS_PREF)) .setButton1Text(R.string.forget) + .setButton1Icon(R.drawable.ic_settings_delete) .setButton1Positive(false) .setButton1OnClickListener(view -> forgetNetwork()) .setButton2Text(R.string.wifi_sign_in_button_text) diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java index 44ace780c82..3785de9b3c5 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java @@ -308,7 +308,7 @@ public class AppButtonsPreferenceControllerTest { final boolean controllable = mController.handleDisableable(); - verify(mButtonPrefs).setButton1Text(R.string.disable_text); + verify(mButtonPrefs).setButton1Text(R.string.uninstall_text); assertThat(controllable).isFalse(); } @@ -320,7 +320,7 @@ public class AppButtonsPreferenceControllerTest { final boolean controllable = mController.handleDisableable(); - verify(mButtonPrefs).setButton1Text(R.string.disable_text); + verify(mButtonPrefs).setButton1Text(R.string.uninstall_text); assertThat(controllable).isTrue(); } @@ -332,7 +332,7 @@ public class AppButtonsPreferenceControllerTest { final boolean controllable = mController.handleDisableable(); - verify(mButtonPrefs).setButton1Text(R.string.enable_text); + verify(mButtonPrefs).setButton1Text(R.string.install_text); assertThat(controllable).isTrue(); }