diff --git a/AndroidManifest.xml b/AndroidManifest.xml index aae9b83791f..00b2e94a235 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1763,6 +1763,7 @@ android:resource="@string/suggested_fingerprint_lock_settings_title" /> + diff --git a/res/drawable/ic_find_device_enabled.xml b/res/drawable/ic_find_device_enabled.xml index 16f0245c8f6..614ac6d136a 100644 --- a/res/drawable/ic_find_device_enabled.xml +++ b/res/drawable/ic_find_device_enabled.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_ota_update_available.xml b/res/drawable/ic_ota_update_available.xml index 2b0d82dc786..b03f9d741aa 100644 --- a/res/drawable/ic_ota_update_available.xml +++ b/res/drawable/ic_ota_update_available.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_ota_update_current.xml b/res/drawable/ic_ota_update_current.xml index e9b987a2c48..c38a0838d57 100644 --- a/res/drawable/ic_ota_update_current.xml +++ b/res/drawable/ic_ota_update_current.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_ota_update_none.xml b/res/drawable/ic_ota_update_none.xml index a01a459c164..b49b4247646 100644 --- a/res/drawable/ic_ota_update_none.xml +++ b/res/drawable/ic_ota_update_none.xml @@ -14,19 +14,12 @@ limitations under the License. --> + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24"> + - + android:fillColor="#FFF44336" + android:pathData="M17,1.01L7,1C5.9,1 5,1.9 5,3v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3C19,1.9 18.1,1.01 17,1.01zM17,21H7l0,-1h10V21zM17,18H7V6h10V18zM7,4V3h10v1H7zM11,15h2v2h-2V15zM13,8h-2v5h2V8z"/> diff --git a/res/drawable/ic_ota_update_stale.xml b/res/drawable/ic_ota_update_stale.xml index 266920bbbe4..b49b4247646 100644 --- a/res/drawable/ic_ota_update_stale.xml +++ b/res/drawable/ic_ota_update_stale.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_package_verifier_disabled.xml b/res/drawable/ic_package_verifier_disabled.xml index 9dfcb9d8193..49fe0d33ae6 100644 --- a/res/drawable/ic_package_verifier_disabled.xml +++ b/res/drawable/ic_package_verifier_disabled.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_package_verifier_enabled.xml b/res/drawable/ic_package_verifier_enabled.xml index 670ede4d174..1e09eee9b15 100644 --- a/res/drawable/ic_package_verifier_enabled.xml +++ b/res/drawable/ic_package_verifier_enabled.xml @@ -20,6 +20,6 @@ android:viewportHeight="24"> diff --git a/res/drawable/ic_package_verifier_removed.xml b/res/drawable/ic_package_verifier_removed.xml index 66ad8ed385e..d3680e70924 100644 --- a/res/drawable/ic_package_verifier_removed.xml +++ b/res/drawable/ic_package_verifier_removed.xml @@ -19,6 +19,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml index c0798079db8..15fbcc84d41 100644 --- a/res/xml/sound_settings.xml +++ b/res/xml/sound_settings.xml @@ -141,6 +141,11 @@ android:key="screen_locking_sounds" android:title="@string/screen_locking_sounds_title" /> + + + { String packageName = null; if (tile.intent != null) { @@ -259,11 +262,11 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { return; } final Icon icon = Icon.createWithResource(iconInfo.first, iconInfo.second); - ThreadUtils.postOnMainThread(() -> { - preference.setIcon(icon.loadDrawable(preference.getContext())); - } + ThreadUtils.postOnMainThread(() -> + preference.setIcon(icon.loadDrawable(preference.getContext())) ); }); + } } private void launchIntentOrSelectProfile(Activity activity, Tile tile, Intent intent, diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java index 653581221a3..dbf8ecf55bf 100644 --- a/src/com/android/settings/notification/SoundSettings.java +++ b/src/com/android/settings/notification/SoundSettings.java @@ -211,6 +211,8 @@ public class SoundSettings extends DashboardFragment { new DialPadTonePreferenceController(context, fragment, lifecycle); final ScreenLockSoundPreferenceController screenLockSoundPreferenceController = new ScreenLockSoundPreferenceController(context, fragment, lifecycle); + final ChargingSoundPreferenceController chargingSoundPreferenceController = + new ChargingSoundPreferenceController(context, fragment, lifecycle); final DockingSoundPreferenceController dockingSoundPreferenceController = new DockingSoundPreferenceController(context, fragment, lifecycle); final TouchSoundPreferenceController touchSoundPreferenceController = @@ -226,6 +228,7 @@ public class SoundSettings extends DashboardFragment { controllers.add(dialPadTonePreferenceController); controllers.add(screenLockSoundPreferenceController); + controllers.add(chargingSoundPreferenceController); controllers.add(dockingSoundPreferenceController); controllers.add(touchSoundPreferenceController); controllers.add(vibrateOnTouchPreferenceController); @@ -236,6 +239,7 @@ public class SoundSettings extends DashboardFragment { "other_sounds_and_vibrations_category").setChildren( Arrays.asList(dialPadTonePreferenceController, screenLockSoundPreferenceController, + chargingSoundPreferenceController, dockingSoundPreferenceController, touchSoundPreferenceController, vibrateOnTouchPreferenceController, diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index a0e5ed873bb..41d8b18f47c 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; import static org.robolectric.Shadows.shadowOf; @@ -214,6 +215,15 @@ public class DashboardFeatureProviderImplTest { .startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class)); } + @Test + public void bindPreference_nullPreference_shouldIgnore() { + final Tile tile = mock(Tile.class); + mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN, + null, tile, "123", Preference.DEFAULT_ORDER); + + verifyZeroInteractions(tile); + } + @Test public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() { final Preference preference = new Preference(RuntimeEnvironment.application);