Loading src/com/android/settings/slices/VolumeSliceHelper.java +3 −1 Original line number Diff line number Diff line Loading @@ -115,11 +115,13 @@ public class VolumeSliceHelper { for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) { if (entry.getValue() == inputType) { context.getContentResolver().notifyChange(entry.getKey(), null /* observer */); if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring break; } } } } } private static void notifyAllStreamsChanged(Context context) { synchronized (sRegisteredUri) { Loading tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.net.Uri; import com.android.settings.notification.MediaVolumePreferenceController; import com.android.settings.notification.RingVolumePreferenceController; import com.android.settings.notification.SeparateRingVolumePreferenceController; import com.android.settings.notification.VolumeSeekBarPreferenceController; import com.android.settingslib.SliceBroadcastRelay; Loading Loading @@ -62,6 +63,7 @@ public class VolumeSliceHelperTest { private Intent mIntent; private VolumeSeekBarPreferenceController mMediaController; private VolumeSeekBarPreferenceController mRingController; private VolumeSeekBarPreferenceController mSeparateRingController; @Before public void setUp() { Loading @@ -70,6 +72,7 @@ public class VolumeSliceHelperTest { when(mContext.getContentResolver()).thenReturn(mResolver); mMediaController = new MediaVolumePreferenceController(mContext); mSeparateRingController = new SeparateRingVolumePreferenceController(mContext); mRingController = new RingVolumePreferenceController(mContext); mIntent = createIntent(AudioManager.VOLUME_CHANGED_ACTION) Loading Loading @@ -186,6 +189,43 @@ public class VolumeSliceHelperTest { verify(mResolver, never()).notifyChange(mMediaController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifySeparateRing() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mSeparateRingController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifyRing() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mRingController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifyBothRings() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mSeparateRingController.getSliceUri(), null); verify(mResolver).notifyChange(mRingController.getSliceUri(), null); } @Test public void onReceive_streamVolumeMuted_shouldNotifyChange() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) Loading Loading
src/com/android/settings/slices/VolumeSliceHelper.java +3 −1 Original line number Diff line number Diff line Loading @@ -115,11 +115,13 @@ public class VolumeSliceHelper { for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) { if (entry.getValue() == inputType) { context.getContentResolver().notifyChange(entry.getKey(), null /* observer */); if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring break; } } } } } private static void notifyAllStreamsChanged(Context context) { synchronized (sRegisteredUri) { Loading
tests/robotests/src/com/android/settings/slices/VolumeSliceHelperTest.java +40 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.net.Uri; import com.android.settings.notification.MediaVolumePreferenceController; import com.android.settings.notification.RingVolumePreferenceController; import com.android.settings.notification.SeparateRingVolumePreferenceController; import com.android.settings.notification.VolumeSeekBarPreferenceController; import com.android.settingslib.SliceBroadcastRelay; Loading Loading @@ -62,6 +63,7 @@ public class VolumeSliceHelperTest { private Intent mIntent; private VolumeSeekBarPreferenceController mMediaController; private VolumeSeekBarPreferenceController mRingController; private VolumeSeekBarPreferenceController mSeparateRingController; @Before public void setUp() { Loading @@ -70,6 +72,7 @@ public class VolumeSliceHelperTest { when(mContext.getContentResolver()).thenReturn(mResolver); mMediaController = new MediaVolumePreferenceController(mContext); mSeparateRingController = new SeparateRingVolumePreferenceController(mContext); mRingController = new RingVolumePreferenceController(mContext); mIntent = createIntent(AudioManager.VOLUME_CHANGED_ACTION) Loading Loading @@ -186,6 +189,43 @@ public class VolumeSliceHelperTest { verify(mResolver, never()).notifyChange(mMediaController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifySeparateRing() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mSeparateRingController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifyRing() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mRingController.getSliceUri(), null); } @Test public void onReceive_ringStreamVolumeMuted_shouldNotifyBothRings() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) .putExtra(AudioManager.EXTRA_VOLUME_STREAM_TYPE, mRingController.getAudioStream()); registerIntentToUri(mRingController); registerIntentToUri(mSeparateRingController); VolumeSliceHelper.onReceive(mContext, intent); verify(mResolver).notifyChange(mSeparateRingController.getSliceUri(), null); verify(mResolver).notifyChange(mRingController.getSliceUri(), null); } @Test public void onReceive_streamVolumeMuted_shouldNotifyChange() { final Intent intent = createIntent(AudioManager.STREAM_MUTE_CHANGED_ACTION) Loading