Loading packages/SystemUI/src/com/android/systemui/media/MediaHost.kt +4 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,10 @@ class MediaHost constructor( visibleChangedListeners.add(listener) } fun removeVisibilityChangeListener(listener: (Boolean) -> Unit) { visibleChangedListeners.remove(listener) } /** * Initialize this MediaObject and create a host view. * All state should already be set on this host before calling this method in order to avoid Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +2 −16 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.widget.RemeasuringLinearLayout; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; Loading @@ -69,7 +68,7 @@ public class QSPanel extends LinearLayout implements Tunable { private static final String TAG = "QSPanel"; protected final Context mContext; protected final MediaHost mMediaHost; private final MediaHost mMediaHost; /** * The index where the content starts that needs to be moved between parents Loading Loading @@ -144,10 +143,6 @@ public class QSPanel extends LinearLayout implements Tunable { mMediaTotalBottomMargin = getResources().getDimensionPixelSize( R.dimen.quick_settings_bottom_margin_media); mMediaHost = mediaHost; mMediaHost.addVisibilityChangeListener((visible) -> { onMediaVisibilityChanged(visible); return null; }); mContext = context; mQSLogger = qsLogger; mUiEventLogger = uiEventLogger; Loading Loading @@ -179,8 +174,6 @@ public class QSPanel extends LinearLayout implements Tunable { lp = new LayoutParams(LayoutParams.MATCH_PARENT, 0, 1); addView(mHorizontalLinearLayout, lp); initMediaHostState(); } mQSLogger.logAllTilesChangeListening(mListening, getDumpableTag(), ""); } Loading Loading @@ -220,17 +213,10 @@ public class QSPanel extends LinearLayout implements Tunable { return createRegularTileLayout(); } protected void initMediaHostState() { mMediaHost.setExpansion(1.0f); mMediaHost.setShowsOnlyActiveMedia(false); updateMediaDisappearParameters(); mMediaHost.init(MediaHierarchyManager.LOCATION_QS); } /** * Update the way the media disappears based on if we're using the horizontal layout */ private void updateMediaDisappearParameters() { void updateMediaDisappearParameters() { if (!mUsingMediaPlayer) { return; } Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +7 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.view.ViewGroup; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; Loading Loading @@ -99,6 +100,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> { @Override public void onInit() { super.onInit(); mMediaHost.setExpansion(1); mMediaHost.setShowsOnlyActiveMedia(false); mMediaHost.init(MediaHierarchyManager.LOCATION_QS); mQsCustomizerController.init(); mBrightnessSlider.init(); } Loading @@ -106,6 +110,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> { @Override protected void onViewAttached() { super.onViewAttached(); mView.updateMediaDisappearParameters(); mTunerService.addTunable(mView, QS_SHOW_BRIGHTNESS); mView.updateResources(); if (mView.isListening()) { Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +15 −5 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.stream.Collectors; import kotlin.Unit; import kotlin.jvm.functions.Function1; /** * Controller for QSPanel views. * Loading @@ -48,7 +51,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr implements Dumpable{ protected final QSTileHost mHost; private final QSCustomizerController mQsCustomizerController; private final MediaHost mMediaHost; protected final MediaHost mMediaHost; private final MetricsLogger mMetricsLogger; private final UiEventLogger mUiEventLogger; private final DumpManager mDumpManager; Loading @@ -72,6 +75,12 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr } }; private final Function1<Boolean, Unit> mMediaHostVisibilityListener = (visible) -> { mView.onMediaVisibilityChanged(visible); switchTileLayout(false); return null; }; protected QSPanelControllerBase(T view, QSTileHost host, QSCustomizerController qsCustomizerController, MediaHost mediaHost, MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) { Loading @@ -91,14 +100,13 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mQsTileRevealController.setExpansion(mRevealExpansion); } mMediaHost.addVisibilityChangeListener(mMediaHostVisibilityListener); mView.onMediaVisibilityChanged(mMediaHost.getVisible()); mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener); mHost.addCallback(mQSHostCallback); mMediaHost.addVisibilityChangeListener(aBoolean -> { switchTileLayout(false); return null; }); setTiles(); switchTileLayout(true); mDumpManager.registerDumpable(mView.getDumpableTag(), this); } Loading @@ -107,6 +115,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener); mHost.removeCallback(mQSHostCallback); mMediaHost.removeVisibilityChangeListener(mMediaHostVisibilityListener); for (TileRecord record : mRecords) { record.tile.removeCallbacks(); } Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +0 −9 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.widget.LinearLayout; import com.android.internal.logging.UiEventLogger; import com.android.systemui.R; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; Loading Loading @@ -88,14 +87,6 @@ public class QuickQSPanel extends QSPanel { return new DoubleLineTileLayout(mContext, mUiEventLogger); } @Override protected void initMediaHostState() { mMediaHost.setExpansion(0.0f); mMediaHost.setShowsOnlyActiveMedia(true); mMediaHost.init(MediaHierarchyManager.LOCATION_QQS); } @Override protected boolean needsDynamicRowsAndColumns() { return false; // QQS always have the same layout Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaHost.kt +4 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,10 @@ class MediaHost constructor( visibleChangedListeners.add(listener) } fun removeVisibilityChangeListener(listener: (Boolean) -> Unit) { visibleChangedListeners.remove(listener) } /** * Initialize this MediaObject and create a host view. * All state should already be set on this host before calling this method in order to avoid Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +2 −16 Original line number Diff line number Diff line Loading @@ -42,7 +42,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.widget.RemeasuringLinearLayout; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; Loading @@ -69,7 +68,7 @@ public class QSPanel extends LinearLayout implements Tunable { private static final String TAG = "QSPanel"; protected final Context mContext; protected final MediaHost mMediaHost; private final MediaHost mMediaHost; /** * The index where the content starts that needs to be moved between parents Loading Loading @@ -144,10 +143,6 @@ public class QSPanel extends LinearLayout implements Tunable { mMediaTotalBottomMargin = getResources().getDimensionPixelSize( R.dimen.quick_settings_bottom_margin_media); mMediaHost = mediaHost; mMediaHost.addVisibilityChangeListener((visible) -> { onMediaVisibilityChanged(visible); return null; }); mContext = context; mQSLogger = qsLogger; mUiEventLogger = uiEventLogger; Loading Loading @@ -179,8 +174,6 @@ public class QSPanel extends LinearLayout implements Tunable { lp = new LayoutParams(LayoutParams.MATCH_PARENT, 0, 1); addView(mHorizontalLinearLayout, lp); initMediaHostState(); } mQSLogger.logAllTilesChangeListening(mListening, getDumpableTag(), ""); } Loading Loading @@ -220,17 +213,10 @@ public class QSPanel extends LinearLayout implements Tunable { return createRegularTileLayout(); } protected void initMediaHostState() { mMediaHost.setExpansion(1.0f); mMediaHost.setShowsOnlyActiveMedia(false); updateMediaDisappearParameters(); mMediaHost.init(MediaHierarchyManager.LOCATION_QS); } /** * Update the way the media disappears based on if we're using the horizontal layout */ private void updateMediaDisappearParameters() { void updateMediaDisappearParameters() { if (!mUsingMediaPlayer) { return; } Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelController.java +7 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.view.ViewGroup; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.systemui.dump.DumpManager; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.DetailAdapter; import com.android.systemui.plugins.qs.QSTile; Loading Loading @@ -99,6 +100,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> { @Override public void onInit() { super.onInit(); mMediaHost.setExpansion(1); mMediaHost.setShowsOnlyActiveMedia(false); mMediaHost.init(MediaHierarchyManager.LOCATION_QS); mQsCustomizerController.init(); mBrightnessSlider.init(); } Loading @@ -106,6 +110,9 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> { @Override protected void onViewAttached() { super.onViewAttached(); mView.updateMediaDisappearParameters(); mTunerService.addTunable(mView, QS_SHOW_BRIGHTNESS); mView.updateResources(); if (mView.isListening()) { Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +15 −5 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.stream.Collectors; import kotlin.Unit; import kotlin.jvm.functions.Function1; /** * Controller for QSPanel views. * Loading @@ -48,7 +51,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr implements Dumpable{ protected final QSTileHost mHost; private final QSCustomizerController mQsCustomizerController; private final MediaHost mMediaHost; protected final MediaHost mMediaHost; private final MetricsLogger mMetricsLogger; private final UiEventLogger mUiEventLogger; private final DumpManager mDumpManager; Loading @@ -72,6 +75,12 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr } }; private final Function1<Boolean, Unit> mMediaHostVisibilityListener = (visible) -> { mView.onMediaVisibilityChanged(visible); switchTileLayout(false); return null; }; protected QSPanelControllerBase(T view, QSTileHost host, QSCustomizerController qsCustomizerController, MediaHost mediaHost, MetricsLogger metricsLogger, UiEventLogger uiEventLogger, DumpManager dumpManager) { Loading @@ -91,14 +100,13 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mQsTileRevealController.setExpansion(mRevealExpansion); } mMediaHost.addVisibilityChangeListener(mMediaHostVisibilityListener); mView.onMediaVisibilityChanged(mMediaHost.getVisible()); mView.addOnConfigurationChangedListener(mOnConfigurationChangedListener); mHost.addCallback(mQSHostCallback); mMediaHost.addVisibilityChangeListener(aBoolean -> { switchTileLayout(false); return null; }); setTiles(); switchTileLayout(true); mDumpManager.registerDumpable(mView.getDumpableTag(), this); } Loading @@ -107,6 +115,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener); mHost.removeCallback(mQSHostCallback); mMediaHost.removeVisibilityChangeListener(mMediaHostVisibilityListener); for (TileRecord record : mRecords) { record.tile.removeCallbacks(); } Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +0 −9 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.widget.LinearLayout; import com.android.internal.logging.UiEventLogger; import com.android.systemui.R; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHost; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.SignalState; Loading Loading @@ -88,14 +87,6 @@ public class QuickQSPanel extends QSPanel { return new DoubleLineTileLayout(mContext, mUiEventLogger); } @Override protected void initMediaHostState() { mMediaHost.setExpansion(0.0f); mMediaHost.setShowsOnlyActiveMedia(true); mMediaHost.init(MediaHierarchyManager.LOCATION_QQS); } @Override protected boolean needsDynamicRowsAndColumns() { return false; // QQS always have the same layout Loading