diff --git a/packages/SystemUI/src/com/android/systemui/volume/ConfigurableTexts.java b/packages/SystemUI/src/com/android/systemui/volume/ConfigurableTexts.java index 20de5bb334625..f1b9590bce733 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/ConfigurableTexts.java +++ b/packages/SystemUI/src/com/android/systemui/volume/ConfigurableTexts.java @@ -43,6 +43,9 @@ public class ConfigurableTexts { public int add(final TextView text, final int labelResId) { if (text == null) return 0; + if (mTexts.containsKey(text)) { + return mTexts.get(text); + } final Resources res = mContext.getResources(); final float fontScale = res.getConfiguration().fontScale; final float density = res.getDisplayMetrics().density; @@ -63,6 +66,11 @@ public class ConfigurableTexts { return sp; } + public void remove(final TextView text) { + mTexts.remove(text); + mTextLabels.remove(text); + } + public void update() { if (mTexts.isEmpty()) return; mTexts.keyAt(0).post(mUpdateAll); diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 24d6c4c54f00b..7927e854e4e1f 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -922,6 +922,7 @@ public class VolumeDialogImpl implements VolumeDialog, if (!mDynamic.get(row.stream)) { mRows.remove(i); mDialogRowsView.removeView(row.view); + mConfigurableTexts.remove(row.header); } } }