Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java +11 −1 Original line number Diff line number Diff line Loading @@ -150,6 +150,10 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements } void refresh() { refresh(false); } void refresh(boolean deviceSetChanged) { // Update header icon final int iconRes = getHeaderIconRes(); final IconCompat iconCompat = getHeaderIcon(); Loading @@ -175,7 +179,8 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements } if (!mAdapter.isDragging() && !mAdapter.isAnimating()) { int currentActivePosition = mAdapter.getCurrentActivePosition(); if (currentActivePosition >= 0 && currentActivePosition < mAdapter.getItemCount()) { if (!deviceSetChanged && currentActivePosition >= 0 && currentActivePosition < mAdapter.getItemCount()) { mAdapter.notifyItemChanged(currentActivePosition); } else { mAdapter.notifyDataSetChanged(); Loading Loading @@ -214,6 +219,11 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements mMainThreadHandler.post(() -> refresh()); } @Override public void onDeviceListChanged() { mMainThreadHandler.post(() -> refresh(true)); } @Override public void dismissDialog() { dismiss(); Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +7 −2 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { @Override public void onDeviceListUpdate(List<MediaDevice> devices) { buildMediaDevices(devices); mCallback.onRouteChanged(); mCallback.onDeviceListChanged(); } @Override Loading Loading @@ -529,10 +529,15 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { void onMediaStoppedOrPaused(); /** * Override to handle the device updating. * Override to handle the device status or attributes updating. */ void onRouteChanged(); /** * Override to handle the devices set updating. */ void onDeviceListChanged(); /** * Override to dismiss dialog. */ Loading packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class MediaOutputControllerTest extends SysuiTestCase { assertThat(devices.containsAll(mMediaDevices)).isTrue(); assertThat(devices.size()).isEqualTo(mMediaDevices.size()); verify(mCb).onRouteChanged(); verify(mCb).onDeviceListChanged(); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputBaseDialog.java +11 −1 Original line number Diff line number Diff line Loading @@ -150,6 +150,10 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements } void refresh() { refresh(false); } void refresh(boolean deviceSetChanged) { // Update header icon final int iconRes = getHeaderIconRes(); final IconCompat iconCompat = getHeaderIcon(); Loading @@ -175,7 +179,8 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements } if (!mAdapter.isDragging() && !mAdapter.isAnimating()) { int currentActivePosition = mAdapter.getCurrentActivePosition(); if (currentActivePosition >= 0 && currentActivePosition < mAdapter.getItemCount()) { if (!deviceSetChanged && currentActivePosition >= 0 && currentActivePosition < mAdapter.getItemCount()) { mAdapter.notifyItemChanged(currentActivePosition); } else { mAdapter.notifyDataSetChanged(); Loading Loading @@ -214,6 +219,11 @@ public abstract class MediaOutputBaseDialog extends SystemUIDialog implements mMainThreadHandler.post(() -> refresh()); } @Override public void onDeviceListChanged() { mMainThreadHandler.post(() -> refresh(true)); } @Override public void dismissDialog() { dismiss(); Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputController.java +7 −2 Original line number Diff line number Diff line Loading @@ -166,7 +166,7 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { @Override public void onDeviceListUpdate(List<MediaDevice> devices) { buildMediaDevices(devices); mCallback.onRouteChanged(); mCallback.onDeviceListChanged(); } @Override Loading Loading @@ -529,10 +529,15 @@ public class MediaOutputController implements LocalMediaManager.DeviceCallback { void onMediaStoppedOrPaused(); /** * Override to handle the device updating. * Override to handle the device status or attributes updating. */ void onRouteChanged(); /** * Override to handle the devices set updating. */ void onDeviceListChanged(); /** * Override to dismiss dialog. */ Loading
packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputControllerTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class MediaOutputControllerTest extends SysuiTestCase { assertThat(devices.containsAll(mMediaDevices)).isTrue(); assertThat(devices.size()).isEqualTo(mMediaDevices.size()); verify(mCb).onRouteChanged(); verify(mCb).onDeviceListChanged(); } @Test Loading