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);