5/N Remove DemoModecontroller from QSBarHeader
Remove the DemoModecontroller from the QuickStatusBarHeader. Bug: 168904199 Test: atest SytemUITests Change-Id: Ie02cbc5c83185cd050ceed744455b1e99f02dedf
This commit is contained in:
@@ -17,6 +17,8 @@ package com.android.systemui.qs;
|
||||
import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
|
||||
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
|
||||
import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
|
||||
|
||||
import android.annotation.ColorInt;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlarmManager.AlarmClockInfo;
|
||||
@@ -27,7 +29,6 @@ import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Rect;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Bundle;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.MathUtils;
|
||||
import android.util.Pair;
|
||||
@@ -53,8 +54,6 @@ import com.android.systemui.BatteryMeterView;
|
||||
import com.android.systemui.DualToneHandler;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.demomode.DemoMode;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher;
|
||||
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
|
||||
import com.android.systemui.privacy.OngoingPrivacyChip;
|
||||
@@ -64,7 +63,6 @@ import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconMa
|
||||
import com.android.systemui.statusbar.phone.StatusBarWindowView;
|
||||
import com.android.systemui.statusbar.policy.Clock;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -105,8 +103,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
private OngoingPrivacyChip mPrivacyChip;
|
||||
private Space mSpace;
|
||||
private BatteryMeterView mBatteryRemainingIcon;
|
||||
private DemoModeController mDemoModeController;
|
||||
private DemoMode mDemoModeReceiver;
|
||||
private UserTracker mUserTracker;
|
||||
|
||||
// Used for RingerModeTracker
|
||||
@@ -124,11 +120,10 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
|
||||
@Inject
|
||||
public QuickStatusBarHeader(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
|
||||
DemoModeController demoModeController, UserTracker userTracker) {
|
||||
UserTracker userTracker) {
|
||||
super(context, attrs);
|
||||
mDualToneHandler = new DualToneHandler(
|
||||
new ContextThemeWrapper(context, R.style.QSHeaderTheme));
|
||||
mDemoModeController = demoModeController;
|
||||
mUserTracker = userTracker;
|
||||
}
|
||||
|
||||
@@ -158,7 +153,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
applyDarkness(R.id.clock, tintArea, 0, DarkIconDispatcher.DEFAULT_ICON_TINT);
|
||||
|
||||
mClockView = findViewById(R.id.clock);
|
||||
mDemoModeReceiver = new ClockDemoModeReceiver(mClockView);
|
||||
mSpace = findViewById(R.id.space);
|
||||
|
||||
// Tint for the battery icons are handled in setupHost()
|
||||
@@ -387,12 +381,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
updateResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
mDemoModeController.addCallback(mDemoModeReceiver);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WindowInsets onApplyWindowInsets(WindowInsets insets) {
|
||||
// Handle padding of the clock
|
||||
@@ -461,13 +449,6 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@VisibleForTesting
|
||||
public void onDetachedFromWindow() {
|
||||
mDemoModeController.removeCallback(mDemoModeReceiver);
|
||||
super.onDetachedFromWindow();
|
||||
}
|
||||
|
||||
public void updateEverything() {
|
||||
post(() -> setClickable(!mExpanded));
|
||||
}
|
||||
@@ -545,33 +526,4 @@ public class QuickStatusBarHeader extends RelativeLayout implements LifecycleOwn
|
||||
updateHeaderTextContainerAlphaAnimator();
|
||||
}
|
||||
}
|
||||
|
||||
private static class ClockDemoModeReceiver implements DemoMode {
|
||||
private Clock mClockView;
|
||||
|
||||
@Override
|
||||
public List<String> demoCommands() {
|
||||
return List.of(COMMAND_CLOCK);
|
||||
}
|
||||
|
||||
ClockDemoModeReceiver(Clock clockView) {
|
||||
mClockView = clockView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchDemoCommand(String command, Bundle args) {
|
||||
mClockView.dispatchDemoCommand(command, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDemoModeStarted() {
|
||||
mClockView.onDemoModeStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDemoModeFinished() {
|
||||
mClockView.onDemoModeFinished();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package com.android.systemui.qs;
|
||||
import android.app.AlarmManager.AlarmClockInfo;
|
||||
import android.content.Intent;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.provider.AlarmClock;
|
||||
@@ -35,6 +36,8 @@ import androidx.lifecycle.LifecycleRegistry;
|
||||
|
||||
import com.android.internal.logging.UiEventLogger;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.demomode.DemoMode;
|
||||
import com.android.systemui.demomode.DemoModeController;
|
||||
import com.android.systemui.plugins.ActivityStarter;
|
||||
import com.android.systemui.privacy.OngoingPrivacyChip;
|
||||
import com.android.systemui.privacy.PrivacyChipEvent;
|
||||
@@ -79,8 +82,10 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final QSTileHost mQSTileHost;
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final DemoModeController mDemoModeController;
|
||||
private final StatusIconContainer mIconContainer;
|
||||
private final StatusBarIconController.TintedIconManager mIconManager;
|
||||
private final DemoMode mDemoModeReceiver;
|
||||
|
||||
private boolean mListening;
|
||||
private AlarmClockInfo mNextAlarm;
|
||||
@@ -184,6 +189,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
ActivityStarter activityStarter, UiEventLogger uiEventLogger,
|
||||
QSTileHost qsTileHost, StatusBarIconController statusBarIconController,
|
||||
CommandQueue commandQueue,
|
||||
DemoModeController demoModeController,
|
||||
QSCarrierGroupController.Builder qsCarrierGroupControllerBuilder) {
|
||||
super(view);
|
||||
mZenModeController = zenModeController;
|
||||
@@ -195,6 +201,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mQSTileHost = qsTileHost;
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mCommandQueue = commandQueue;
|
||||
mDemoModeController = demoModeController;
|
||||
mLifecycle = new LifecycleRegistry(mLifecycleOwner);
|
||||
|
||||
mQSCarrierGroupController = qsCarrierGroupControllerBuilder
|
||||
@@ -210,6 +217,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mIconContainer = mView.findViewById(R.id.statusIcons);
|
||||
|
||||
mIconManager = new StatusBarIconController.TintedIconManager(mIconContainer, mCommandQueue);
|
||||
mDemoModeReceiver = new ClockDemoModeReceiver(mClockView);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -235,6 +243,8 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
setChipVisibility(mPrivacyChip.getVisibility() == View.VISIBLE);
|
||||
|
||||
mView.onAttach(mIconManager);
|
||||
|
||||
mDemoModeController.addCallback(mDemoModeReceiver);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -245,6 +255,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mRingerContainer.setOnClickListener(null);
|
||||
mPrivacyChip.setOnClickListener(null);
|
||||
mStatusBarIconController.removeIconGroup(mIconManager);
|
||||
mDemoModeController.removeCallback(mDemoModeReceiver);
|
||||
setListening(false);
|
||||
}
|
||||
|
||||
@@ -317,6 +328,35 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mZenModeController.getConsolidatedPolicy());
|
||||
}
|
||||
|
||||
|
||||
private static class ClockDemoModeReceiver implements DemoMode {
|
||||
private Clock mClockView;
|
||||
|
||||
@Override
|
||||
public List<String> demoCommands() {
|
||||
return List.of(COMMAND_CLOCK);
|
||||
}
|
||||
|
||||
ClockDemoModeReceiver(Clock clockView) {
|
||||
mClockView = clockView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dispatchDemoCommand(String command, Bundle args) {
|
||||
mClockView.dispatchDemoCommand(command, args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDemoModeStarted() {
|
||||
mClockView.onDemoModeStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDemoModeFinished() {
|
||||
mClockView.onDemoModeFinished();
|
||||
}
|
||||
}
|
||||
|
||||
static class Builder {
|
||||
private final ZenModeController mZenModeController;
|
||||
private final NextAlarmController mNextAlarmController;
|
||||
@@ -327,6 +367,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
private final QSTileHost mQsTileHost;
|
||||
private final StatusBarIconController mStatusBarIconController;
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final DemoModeController mDemoModeController;
|
||||
private final QSCarrierGroupController.Builder mQSCarrierGroupControllerBuilder;
|
||||
private QuickStatusBarHeader mView;
|
||||
|
||||
@@ -335,6 +376,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
PrivacyItemController privacyItemController, RingerModeTracker ringerModeTracker,
|
||||
ActivityStarter activityStarter, UiEventLogger uiEventLogger, QSTileHost qsTileHost,
|
||||
StatusBarIconController statusBarIconController, CommandQueue commandQueue,
|
||||
DemoModeController demoModeController,
|
||||
QSCarrierGroupController.Builder qsCarrierGroupControllerBuilder) {
|
||||
mZenModeController = zenModeController;
|
||||
mNextAlarmController = nextAlarmController;
|
||||
@@ -345,6 +387,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
mQsTileHost = qsTileHost;
|
||||
mStatusBarIconController = statusBarIconController;
|
||||
mCommandQueue = commandQueue;
|
||||
mDemoModeController = demoModeController;
|
||||
mQSCarrierGroupControllerBuilder = qsCarrierGroupControllerBuilder;
|
||||
}
|
||||
|
||||
@@ -358,7 +401,7 @@ class QuickStatusBarHeaderController extends ViewController<QuickStatusBarHeader
|
||||
return new QuickStatusBarHeaderController(mView, mZenModeController,
|
||||
mNextAlarmController, mPrivacyItemController, mRingerModeTracker,
|
||||
mActivityStarter, mUiEventLogger, mQsTileHost, mStatusBarIconController,
|
||||
mCommandQueue, mQSCarrierGroupControllerBuilder);
|
||||
mCommandQueue, mDemoModeController, mQSCarrierGroupControllerBuilder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,10 +117,6 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
|
||||
processAllMessages();
|
||||
host.destroy();
|
||||
processAllMessages();
|
||||
|
||||
// Manually push header through detach so it can handle standard cleanup it does on
|
||||
// removed from window.
|
||||
((QuickStatusBarHeader) qs.getView().findViewById(R.id.header)).onDetachedFromWindow();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user