diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java index 3cd390533132..89cf68a1e830 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.java @@ -54,6 +54,7 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { MediaOutputDialog mediaOutputDialog) { super(controller); mMediaOutputDialog = mediaOutputDialog; + setHasStableIds(true); } @Override @@ -79,6 +80,20 @@ public class MediaOutputAdapter extends MediaOutputBaseAdapter { } @Override + public long getItemId(int position) { + final int size = mController.getMediaDevices().size(); + if (position == size && mController.isZeroMode()) { + return -1; + } else if (position < size) { + return ((List<MediaDevice>) (mController.getMediaDevices())) + .get(position).getId().hashCode(); + } else if (DEBUG) { + Log.d(TAG, "Incorrect position for item id: " + position); + } + return position; + } + + @Override public int getItemCount() { if (mController.isZeroMode()) { // Add extra one for "pair new" or dynamic group |