[CS] Define CentralSurfacesEmptyImpl.
This allows us to remove methods from CentralSurfaces without needing to
update Wear.
Bug: 277764509
Test: compiles
Change-Id: I112f3e4149fa2ec970b88ae81d30b9cbf24c76cd
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt
new file mode 100644
index 0000000..72a5cfe
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesEmptyImpl.kt
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2022 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.statusbar.phone
+
+import android.content.Intent
+import androidx.lifecycle.LifecycleRegistry
+import com.android.keyguard.AuthKeyguardMessageArea
+import com.android.systemui.animation.ActivityLaunchAnimator
+import com.android.systemui.navigationbar.NavigationBarView
+import com.android.systemui.plugins.ActivityStarter.OnDismissAction
+import com.android.systemui.qs.QSPanelController
+import com.android.systemui.statusbar.NotificationPresenter
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
+import java.io.PrintWriter
+
+/**
+ * Empty implementation of [CentralSurfaces] for variants only need to override portions of the
+ * interface.
+ *
+ * **Important**: Prefer binding an Optional<CentralSurfaces> to an empty optional instead of
+ * including this class.
+ */
+abstract class CentralSurfacesEmptyImpl : CentralSurfaces {
+ override val lifecycle = LifecycleRegistry(this)
+ override fun updateIsKeyguard() = false
+ override fun updateIsKeyguard(forceStateChange: Boolean) = false
+ override fun getKeyguardMessageArea(): AuthKeyguardMessageArea? = null
+ override fun isLaunchingActivityOverLockscreen() = false
+ override fun onKeyguardViewManagerStatesUpdated() {}
+ override fun isPulsing() = false
+ override fun isOccluded() = false
+ override fun isDeviceInVrMode() = false
+ override fun getPresenter(): NotificationPresenter? = null
+ override fun onInputFocusTransfer(start: Boolean, cancel: Boolean, velocity: Float) {}
+ override fun getCommandQueuePanelsEnabled() = false
+ override fun getBiometricUnlockController(): BiometricUnlockController? = null
+ override fun showWirelessChargingAnimation(batteryLevel: Int) {}
+ override fun checkBarModes() {}
+ override fun updateBubblesVisibility() {}
+ override fun setInteracting(barWindow: Int, interacting: Boolean) {}
+ override fun dump(pwOriginal: PrintWriter, args: Array<String>) {}
+ override fun getDisplayWidth() = 0f
+ override fun getDisplayHeight() = 0f
+ override fun readyForKeyguardDone() {}
+ override fun showKeyguard() {}
+ override fun hideKeyguard() = false
+ override fun showKeyguardImpl() {}
+ override fun fadeKeyguardAfterLaunchTransition(
+ beforeFading: Runnable?,
+ endRunnable: Runnable?,
+ cancelRunnable: Runnable?,
+ ) {}
+ override fun startLaunchTransitionTimeout() {}
+ override fun hideKeyguardImpl(forceStateChange: Boolean) = false
+ override fun keyguardGoingAway() {}
+ override fun setKeyguardFadingAway(startTime: Long, delay: Long, fadeoutDuration: Long) {}
+ override fun finishKeyguardFadingAway() {}
+ override fun userActivity() {}
+ override fun endAffordanceLaunch() {}
+ override fun shouldKeyguardHideImmediately() = false
+ override fun showBouncerWithDimissAndCancelIfKeyguard(
+ performAction: OnDismissAction?,
+ cancelAction: Runnable?,
+ ) {}
+ override fun getNavigationBarView(): NavigationBarView? = null
+ override fun isOverviewEnabled() = false
+ override fun showPinningEnterExitToast(entering: Boolean) {}
+ override fun showPinningEscapeToast() {}
+ override fun setBouncerShowing(bouncerShowing: Boolean) {}
+ override fun getWakefulnessState() = 0
+ override fun isScreenFullyOff() = false
+ override fun showScreenPinningRequest(taskId: Int, allowCancel: Boolean) {}
+ override fun getEmergencyActionIntent(): Intent? = null
+ override fun isCameraAllowedByAdmin() = false
+ override fun isGoingToSleep() = false
+ override fun notifyBiometricAuthModeChanged() {}
+ override fun setTransitionToFullShadeProgress(transitionToFullShadeProgress: Float) {}
+ override fun setPrimaryBouncerHiddenFraction(expansion: Float) {}
+ override fun updateScrimController() {}
+ override fun isKeyguardShowing() = false
+ override fun shouldIgnoreTouch() = false
+ override fun isDeviceInteractive() = false
+ override fun awakenDreams() {}
+ override fun clearNotificationEffects() {}
+ override fun isBouncerShowing() = false
+ override fun isBouncerShowingScrimmed() = false
+ override fun isBouncerShowingOverDream() = false
+ override fun isKeyguardSecure() = false
+ override fun updateNotificationPanelTouchState() {}
+ override fun getRotation() = 0
+ override fun setBarStateForTest(state: Int) {}
+ override fun showTransientUnchecked() {}
+ override fun clearTransient() {}
+ override fun acquireGestureWakeLock(time: Long) {}
+ override fun setAppearance(appearance: Int) = false
+ override fun getBarMode() = 0
+ override fun resendMessage(msg: Int) {}
+ override fun resendMessage(msg: Any?) {}
+ override fun setLastCameraLaunchSource(source: Int) {}
+ override fun setLaunchCameraOnFinishedGoingToSleep(launch: Boolean) {}
+ override fun setLaunchCameraOnFinishedWaking(launch: Boolean) {}
+ override fun setLaunchEmergencyActionOnFinishedGoingToSleep(launch: Boolean) {}
+ override fun setLaunchEmergencyActionOnFinishedWaking(launch: Boolean) {}
+ override fun getQSPanelController(): QSPanelController? = null
+ override fun getDisplayDensity() = 0f
+ override fun extendDozePulse() {}
+ override fun setIsLaunchingActivityOverLockscreen(isLaunchingActivityOverLockscreen: Boolean) {}
+ override fun getAnimatorControllerFromNotification(
+ associatedView: ExpandableNotificationRow?,
+ ): ActivityLaunchAnimator.Controller? = null
+}