diff --git a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java index f8729c301c324..fe2be1df44bec 100644 --- a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java +++ b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIModule.java @@ -30,6 +30,7 @@ import com.android.systemui.car.CarDeviceProvisionedControllerImpl; import com.android.systemui.car.keyguard.CarKeyguardViewController; import com.android.systemui.car.statusbar.CarStatusBar; import com.android.systemui.car.statusbar.CarStatusBarKeyguardViewManager; +import com.android.systemui.car.statusbar.DozeServiceHost; import com.android.systemui.car.statusbar.DummyNotificationShadeWindowController; import com.android.systemui.car.volume.CarVolumeDialogComponent; import com.android.systemui.dagger.SystemUIRootComponent; @@ -37,6 +38,7 @@ import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dock.DockManager; import com.android.systemui.dock.DockManagerImpl; +import com.android.systemui.doze.DozeHost; import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.power.EnhancedEstimates; @@ -174,4 +176,7 @@ public abstract class CarSystemUIModule { @Binds abstract NotificationShadeWindowController bindNotificationShadeWindowController( DummyNotificationShadeWindowController notificationShadeWindowController); + + @Binds + abstract DozeHost bindDozeHost(DozeServiceHost dozeServiceHost); } diff --git a/packages/CarSystemUI/src/com/android/systemui/car/statusbar/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/car/statusbar/CarStatusBar.java index e2eb3fb5ddc66..d18eadd183865 100644 --- a/packages/CarSystemUI/src/com/android/systemui/car/statusbar/CarStatusBar.java +++ b/packages/CarSystemUI/src/com/android/systemui/car/statusbar/CarStatusBar.java @@ -424,6 +424,11 @@ public class CarStatusBar extends StatusBar implements CarBatteryController.Batt // No op. } + @Override + public void notifyBiometricAuthModeChanged() { + // No op. + } + @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { //When executing dump() function simultaneously, we need to serialize them diff --git a/packages/CarSystemUI/src/com/android/systemui/car/statusbar/DozeServiceHost.java b/packages/CarSystemUI/src/com/android/systemui/car/statusbar/DozeServiceHost.java new file mode 100644 index 0000000000000..d23660c2445d0 --- /dev/null +++ b/packages/CarSystemUI/src/com/android/systemui/car/statusbar/DozeServiceHost.java @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2020 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.car.statusbar; + +import com.android.systemui.doze.DozeHost; + +import javax.inject.Inject; +import javax.inject.Singleton; + +/** No-op implementation of {@link DozeHost} for use by car sysui, which does not support dozing. */ +@Singleton +public class DozeServiceHost implements DozeHost { + + @Inject + public DozeServiceHost() {} + + @Override + public void addCallback(Callback callback) { + // No op. + } + + @Override + public void removeCallback(Callback callback) { + // No op. + } + + @Override + public void startDozing() { + // No op. + } + + @Override + public void pulseWhileDozing(PulseCallback callback, int reason) { + // No op. + } + + @Override + public void stopDozing() { + // No op. + } + + @Override + public void dozeTimeTick() { + // No op. + } + + @Override + public boolean isPowerSaveActive() { + return false; + } + + @Override + public boolean isPulsingBlocked() { + return true; + } + + @Override + public boolean isProvisioned() { + return false; + } + + @Override + public boolean isBlockingDoze() { + return true; + } + + @Override + public void extendPulse(int reason) { + // No op. + } + + @Override + public void setAnimateWakeup(boolean animateWakeup) { + // No op. + } + + @Override + public void setAnimateScreenOff(boolean animateScreenOff) { + // No op. + } + + @Override + public void onSlpiTap(float x, float y) { + // No op. + } + + @Override + public void setDozeScreenBrightness(int value) { + // No op. + } + + @Override + public void prepareForGentleSleep(Runnable onDisplayOffCallback) { + // No op. + } + + @Override + public void cancelGentleSleep() { + // No op. + } + + @Override + public void onIgnoreTouchWhilePulsing(boolean ignore) { + // No op. + } + + @Override + public void stopPulsing() { + // No op. + } + + @Override + public boolean isDozeSuppressed() { + return true; + } +} diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java b/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java index 82ccb17a52c6e..e2a6d6c51d4d5 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/DependencyBinder.java @@ -21,7 +21,6 @@ import com.android.systemui.appops.AppOpsController; import com.android.systemui.appops.AppOpsControllerImpl; import com.android.systemui.classifier.FalsingManagerProxy; import com.android.systemui.controls.dagger.ControlsModule; -import com.android.systemui.doze.DozeHost; import com.android.systemui.globalactions.GlobalActionsComponent; import com.android.systemui.globalactions.GlobalActionsImpl; import com.android.systemui.plugins.ActivityStarter; @@ -38,7 +37,6 @@ import com.android.systemui.statusbar.NotificationRemoteInputManager; import com.android.systemui.statusbar.StatusBarStateControllerImpl; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.DarkIconDispatcherImpl; -import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.phone.ManagedProfileController; import com.android.systemui.statusbar.phone.ManagedProfileControllerImpl; import com.android.systemui.statusbar.phone.StatusBarIconController; @@ -256,11 +254,6 @@ public abstract class DependencyBinder { @Binds public abstract FalsingManager provideFalsingManager(FalsingManagerProxy falsingManagerImpl); - /** - */ - @Binds - public abstract DozeHost provideDozeHost(DozeServiceHost dozeServiceHost); - /** */ @Binds diff --git a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java index 6d1bf72f49134..3bb953ab9da39 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/SystemUIDefaultModule.java @@ -31,6 +31,7 @@ import com.android.systemui.dagger.qualifiers.Background; import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dock.DockManager; import com.android.systemui.dock.DockManagerImpl; +import com.android.systemui.doze.DozeHost; import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.power.EnhancedEstimates; @@ -43,6 +44,7 @@ import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl; import com.android.systemui.statusbar.notification.NotificationEntryManager; +import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.phone.HeadsUpManagerPhone; import com.android.systemui.statusbar.phone.KeyguardBypassController; import com.android.systemui.statusbar.phone.KeyguardEnvironmentImpl; @@ -148,4 +150,7 @@ public abstract class SystemUIDefaultModule { @Binds abstract KeyguardViewController bindKeyguardViewController( StatusBarKeyguardViewManager statusBarKeyguardViewManager); + + @Binds + abstract DozeHost provideDozeHost(DozeServiceHost dozeServiceHost); } diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java index 8117bbb0de1db..5e367046bd2b8 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java @@ -33,7 +33,6 @@ import com.android.systemui.keyguard.WakefulnessLifecycle; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.DozeParameters; -import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.policy.BatteryController; import com.android.systemui.util.sensors.AsyncSensorManager; import com.android.systemui.util.sensors.ProximitySensor; @@ -59,7 +58,7 @@ public class DozeFactory { private final Handler mHandler; private final BiometricUnlockController mBiometricUnlockController; private final BroadcastDispatcher mBroadcastDispatcher; - private final DozeServiceHost mDozeServiceHost; + private final DozeHost mDozeHost; @Inject public DozeFactory(FalsingManager falsingManager, DozeLog dozeLog, @@ -70,7 +69,7 @@ public class DozeFactory { ProximitySensor proximitySensor, DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler, BiometricUnlockController biometricUnlockController, - BroadcastDispatcher broadcastDispatcher, DozeServiceHost dozeServiceHost) { + BroadcastDispatcher broadcastDispatcher, DozeHost dozeHost) { mFalsingManager = falsingManager; mDozeLog = dozeLog; mDozeParameters = dozeParameters; @@ -86,7 +85,7 @@ public class DozeFactory { mHandler = handler; mBiometricUnlockController = biometricUnlockController; mBroadcastDispatcher = broadcastDispatcher; - mDozeServiceHost = dozeServiceHost; + mDozeHost = dozeHost; } /** Creates a DozeMachine with its parts for {@code dozeService}. */ @@ -95,7 +94,7 @@ public class DozeFactory { WakeLock wakeLock = mDelayedWakeLockBuilder.setHandler(mHandler).setTag("Doze").build(); DozeMachine.Service wrappedService = dozeService; - wrappedService = new DozeBrightnessHostForwarder(wrappedService, mDozeServiceHost); + wrappedService = new DozeBrightnessHostForwarder(wrappedService, mDozeHost); wrappedService = DozeScreenStatePreventingAdapter.wrapIfNeeded( wrappedService, mDozeParameters); wrappedService = DozeSuspendScreenStatePreventingAdapter.wrapIfNeeded( @@ -103,19 +102,19 @@ public class DozeFactory { DozeMachine machine = new DozeMachine(wrappedService, config, wakeLock, mWakefulnessLifecycle, mBatteryController, mDozeLog, mDockManager, - mDozeServiceHost); + mDozeHost); machine.setParts(new DozeMachine.Part[]{ new DozePauser(mHandler, machine, mAlarmManager, mDozeParameters.getPolicy()), new DozeFalsingManagerAdapter(mFalsingManager), - createDozeTriggers(dozeService, mAsyncSensorManager, mDozeServiceHost, + createDozeTriggers(dozeService, mAsyncSensorManager, mDozeHost, mAlarmManager, config, mDozeParameters, mHandler, wakeLock, machine, mDockManager, mDozeLog), - createDozeUi(dozeService, mDozeServiceHost, wakeLock, machine, mHandler, + createDozeUi(dozeService, mDozeHost, wakeLock, machine, mHandler, mAlarmManager, mDozeParameters, mDozeLog), - new DozeScreenState(wrappedService, mHandler, mDozeServiceHost, mDozeParameters, + new DozeScreenState(wrappedService, mHandler, mDozeHost, mDozeParameters, wakeLock), createDozeScreenBrightness(dozeService, wrappedService, mAsyncSensorManager, - mDozeServiceHost, mDozeParameters, mHandler), + mDozeHost, mDozeParameters, mHandler), new DozeWallpaperState(mWallpaperManager, mBiometricUnlockController, mDozeParameters), new DozeDockHandler(config, machine, mDockManager),