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:
Dave Mankoff
2020-09-29 13:33:14 -04:00
parent 8143950a35
commit 1f88b54079
3 changed files with 47 additions and 56 deletions

View File

@@ -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();
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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