From 890741f13310db5b57ed41106a5c747bc62399a4 Mon Sep 17 00:00:00 2001 From: Alison Cichowlas Date: Tue, 22 Nov 2022 11:35:46 -0500 Subject: [PATCH] Register VolumeDialogImpl dumpable. Bug: 232606092 Test: adb shell dumpsys activity service SystemUI | grep VolumeDialogImpl: (including final colon) has results Change-Id: If15e3c5947b8595d824a21dc9088e3fc9e8636ac --- .../android/systemui/volume/VolumeDialogImpl.java | 14 +++++++++++--- .../systemui/volume/dagger/VolumeModule.java | 7 +++++-- .../systemui/volume/VolumeDialogImplTest.java | 7 ++++++- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index a366170f682a4..8d9cf4e5084b9 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -115,9 +115,11 @@ import com.android.internal.graphics.drawable.BackgroundBlurDrawable; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.view.RotationPolicy; import com.android.settingslib.Utils; +import com.android.systemui.Dumpable; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.animation.Interpolators; +import com.android.systemui.dump.DumpManager; import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.VolumeDialog; @@ -146,7 +148,7 @@ import java.util.function.Consumer; * * Methods ending in "H" must be called on the (ui) handler. */ -public class VolumeDialogImpl implements VolumeDialog, +public class VolumeDialogImpl implements VolumeDialog, Dumpable, ConfigurationController.ConfigurationListener, ViewTreeObserver.OnComputeInternalInsetsListener { private static final String TAG = Util.logTag(VolumeDialogImpl.class); @@ -302,7 +304,8 @@ public class VolumeDialogImpl implements VolumeDialog, ActivityStarter activityStarter, InteractionJankMonitor interactionJankMonitor, DeviceConfigProxy deviceConfigProxy, - Executor executor) { + Executor executor, + DumpManager dumpManager) { mContext = new ContextThemeWrapper(context, R.style.volume_dialog_theme); mController = volumeDialogController; @@ -329,6 +332,8 @@ public class VolumeDialogImpl implements VolumeDialog, mContext.getResources().getBoolean(R.bool.config_volumeDialogUseBackgroundBlur); mInteractionJankMonitor = interactionJankMonitor; + dumpManager.registerDumpable("VolumeDialogImpl", this); + if (mUseBackgroundBlur) { final int dialogRowsViewColorAboveBlur = mContext.getColor( R.color.volume_dialog_background_color_above_blur); @@ -792,7 +797,10 @@ public class VolumeDialogImpl implements VolumeDialog, return null; } - public void dump(PrintWriter writer) { + /** + * Print dump info for debugging. + */ + public void dump(PrintWriter writer, String[] unusedArgs) { writer.println(VolumeDialogImpl.class.getSimpleName() + " state:"); writer.print(" mShowing: "); writer.println(mShowing); writer.print(" mActiveStream: "); writer.println(mActiveStream); diff --git a/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java index 8f10fa619c140..0ab6c690e1e14 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java +++ b/packages/SystemUI/src/com/android/systemui/volume/dagger/VolumeModule.java @@ -21,6 +21,7 @@ import android.media.AudioManager; import com.android.internal.jank.InteractionJankMonitor; import com.android.systemui.dagger.qualifiers.Main; +import com.android.systemui.dump.DumpManager; import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.VolumeDialog; @@ -61,7 +62,8 @@ public interface VolumeModule { ActivityStarter activityStarter, InteractionJankMonitor interactionJankMonitor, DeviceConfigProxy deviceConfigProxy, - @Main Executor executor) { + @Main Executor executor, + DumpManager dumpManager) { VolumeDialogImpl impl = new VolumeDialogImpl( context, volumeDialogController, @@ -73,7 +75,8 @@ public interface VolumeModule { activityStarter, interactionJankMonitor, deviceConfigProxy, - executor); + executor, + dumpManager); impl.setStreamImportant(AudioManager.STREAM_SYSTEM, false); impl.setAutomute(true); impl.setSilentMode(false); diff --git a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java index a0b4eab1d5df7..c3c6975af870a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/volume/VolumeDialogImplTest.java @@ -45,6 +45,7 @@ import com.android.internal.jank.InteractionJankMonitor; import com.android.systemui.Prefs; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; +import com.android.systemui.dump.DumpManager; import com.android.systemui.media.dialog.MediaOutputDialogFactory; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.VolumeDialogController; @@ -98,6 +99,8 @@ public class VolumeDialogImplTest extends SysuiTestCase { ActivityStarter mActivityStarter; @Mock InteractionJankMonitor mInteractionJankMonitor; + @Mock + private DumpManager mDumpManager; @Before public void setup() throws Exception { @@ -119,7 +122,9 @@ public class VolumeDialogImplTest extends SysuiTestCase { mActivityStarter, mInteractionJankMonitor, mDeviceConfigProxy, - mExecutor); + mExecutor, + mDumpManager + ); mDialog.init(0, null); State state = createShellState(); mDialog.onStateChangedH(state);