Merge "Move InattentiveSleepWarningController callbacks to PowerUI"

This commit is contained in:
Robert Horvath
2019-11-27 08:15:00 +00:00
committed by Android (Google) Code Review
5 changed files with 26 additions and 74 deletions

View File

@@ -281,7 +281,6 @@
<item>com.android.systemui.statusbar.phone.StatusBar</item>
<item>com.android.systemui.usb.StorageNotification</item>
<item>com.android.systemui.power.PowerUI</item>
<item>com.android.systemui.power.InattentiveSleepWarningController</item>
<item>com.android.systemui.media.RingtonePlayer</item>
<item>com.android.systemui.keyboard.KeyboardUI</item>
<item>com.android.systemui.pip.PipUI</item>

View File

@@ -25,7 +25,6 @@ import com.android.systemui.biometrics.AuthController;
import com.android.systemui.globalactions.GlobalActionsComponent;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.pip.PipUI;
import com.android.systemui.power.InattentiveSleepWarningController;
import com.android.systemui.power.PowerUI;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.RecentsModule;
@@ -103,13 +102,6 @@ public abstract class SystemUIBinder {
@ClassKey(PowerUI.class)
public abstract SystemUI bindPowerUI(PowerUI sysui);
/** Inject into InattentiveSleepWarningController. */
@Binds
@IntoMap
@ClassKey(InattentiveSleepWarningController.class)
public abstract SystemUI bindInattentiveSleepWarningController(
InattentiveSleepWarningController sysui);
/** Inject into Recents. */
@Binds
@IntoMap

View File

@@ -1,62 +0,0 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.power;
import android.content.Context;
import com.android.systemui.SystemUI;
import com.android.systemui.statusbar.CommandQueue;
import javax.inject.Inject;
import javax.inject.Singleton;
/**
* Receives messages sent from {@link com.android.server.power.InattentiveSleepWarningController}
* and shows the appropriate inattentive sleep UI (e.g. {@link InattentiveSleepWarningView}).
*/
@Singleton
public class InattentiveSleepWarningController extends SystemUI implements CommandQueue.Callbacks {
private final CommandQueue mCommandQueue;
private InattentiveSleepWarningView mOverlayView;
@Inject
public InattentiveSleepWarningController(Context context, CommandQueue commandQueue) {
super(context);
mCommandQueue = commandQueue;
}
@Override
public void start() {
mCommandQueue.addCallback(this);
}
@Override
public void showInattentiveSleepWarning() {
if (mOverlayView == null) {
mOverlayView = new InattentiveSleepWarningView(mContext);
}
mOverlayView.show();
}
@Override
public void dismissInattentiveSleepWarning(boolean animated) {
if (mOverlayView != null) {
mOverlayView.dismiss(animated);
}
}
}

View File

@@ -46,6 +46,7 @@ import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.SystemUI;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.phone.StatusBar;
import java.io.FileDescriptor;
@@ -60,7 +61,7 @@ import javax.inject.Singleton;
import dagger.Lazy;
@Singleton
public class PowerUI extends SystemUI {
public class PowerUI extends SystemUI implements CommandQueue.Callbacks {
static final String TAG = "PowerUI";
static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
@@ -80,6 +81,7 @@ public class PowerUI extends SystemUI {
private PowerManager mPowerManager;
private WarningsUI mWarnings;
private InattentiveSleepWarningView mOverlayView;
private final Configuration mLastConfiguration = new Configuration();
private int mPlugType = 0;
private int mInvalidCharger = 0;
@@ -105,13 +107,15 @@ public class PowerUI extends SystemUI {
private IThermalEventListener mSkinThermalEventListener;
private IThermalEventListener mUsbThermalEventListener;
private final BroadcastDispatcher mBroadcastDispatcher;
private final CommandQueue mCommandQueue;
private final Lazy<StatusBar> mStatusBarLazy;
@Inject
public PowerUI(Context context, BroadcastDispatcher broadcastDispatcher,
Lazy<StatusBar> statusBarLazy) {
CommandQueue commandQueue, Lazy<StatusBar> statusBarLazy) {
super(context);
mBroadcastDispatcher = broadcastDispatcher;
mCommandQueue = commandQueue;
mStatusBarLazy = statusBarLazy;
}
@@ -162,6 +166,7 @@ public class PowerUI extends SystemUI {
}
});
initThermalEventListeners();
mCommandQueue.addCallback(this);
}
@Override
@@ -581,6 +586,22 @@ public class PowerUI extends SystemUI {
}
}
@Override
public void showInattentiveSleepWarning() {
if (mOverlayView == null) {
mOverlayView = new InattentiveSleepWarningView(mContext);
}
mOverlayView.show();
}
@Override
public void dismissInattentiveSleepWarning(boolean animated) {
if (mOverlayView != null) {
mOverlayView.dismiss(animated);
}
}
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.print("mLowBatteryAlertCloseLevel=");
pw.println(mLowBatteryAlertCloseLevel);

View File

@@ -48,6 +48,7 @@ import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.power.PowerUI.WarningsUI;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.phone.StatusBar;
import org.junit.Before;
@@ -87,6 +88,7 @@ public class PowerUITest extends SysuiTestCase {
private IThermalEventListener mUsbThermalEventListener;
private IThermalEventListener mSkinThermalEventListener;
@Mock private BroadcastDispatcher mBroadcastDispatcher;
@Mock private CommandQueue mCommandQueue;
@Mock private Lazy<StatusBar> mStatusBarLazy;
@Mock private StatusBar mStatusBar;
@@ -686,7 +688,7 @@ public class PowerUITest extends SysuiTestCase {
}
private void createPowerUi() {
mPowerUI = new PowerUI(mContext, mBroadcastDispatcher, mStatusBarLazy);
mPowerUI = new PowerUI(mContext, mBroadcastDispatcher, mCommandQueue, mStatusBarLazy);
mPowerUI.mThermalService = mThermalServiceMock;
}