diff options
Diffstat (limited to 'com/android/server/statusbar/StatusBarManagerService.java')
-rw-r--r-- | com/android/server/statusbar/StatusBarManagerService.java | 78 |
1 files changed, 50 insertions, 28 deletions
diff --git a/com/android/server/statusbar/StatusBarManagerService.java b/com/android/server/statusbar/StatusBarManagerService.java index adb368b0..8af1101a 100644 --- a/com/android/server/statusbar/StatusBarManagerService.java +++ b/com/android/server/statusbar/StatusBarManagerService.java @@ -23,7 +23,7 @@ import android.app.StatusBarManager; import android.content.ComponentName; import android.content.Context; import android.graphics.Rect; -import android.hardware.fingerprint.IFingerprintDialogReceiver; +import android.hardware.biometrics.IBiometricDialogReceiver; import android.os.Binder; import android.os.Bundle; import android.os.Handler; @@ -47,8 +47,8 @@ import com.android.internal.statusbar.StatusBarIcon; import com.android.internal.util.DumpUtils; import com.android.server.LocalServices; import com.android.server.notification.NotificationDelegate; +import com.android.server.policy.GlobalActionsProvider; import com.android.server.power.ShutdownThread; -import com.android.server.statusbar.StatusBarManagerInternal.GlobalActionsListener; import com.android.server.wm.WindowManagerService; import java.io.FileDescriptor; @@ -56,7 +56,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; - /** * A note on locking: We rely on the fact that calls onto mBar are oneway or * if they are local, that they just enqueue messages to not deadlock. @@ -75,7 +74,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { // for disabling the status bar private final ArrayList<DisableRecord> mDisableRecords = new ArrayList<DisableRecord>(); - private GlobalActionsListener mGlobalActionListener; + private GlobalActionsProvider.GlobalActionsListener mGlobalActionListener; private IBinder mSysUiVisToken = new Binder(); private int mDisabled1 = 0; private int mDisabled2 = 0; @@ -163,6 +162,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { mWindowManager = windowManager; LocalServices.addService(StatusBarManagerInternal.class, mInternalService); + LocalServices.addService(GlobalActionsProvider.class, mGlobalActionsProvider); } /** @@ -322,7 +322,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { public void showChargingAnimation(int batteryLevel) { if (mBar != null) { try { - mBar.showChargingAnimation(batteryLevel); + mBar.showWirelessChargingAnimation(batteryLevel); } catch (RemoteException ex){ } } @@ -376,26 +376,6 @@ public class StatusBarManagerService extends IStatusBarService.Stub { } @Override - public boolean isGlobalActionsDisabled() { - return (mDisabled2 & DISABLE2_GLOBAL_ACTIONS) != 0; - } - - @Override - public void setGlobalActionsListener(GlobalActionsListener listener) { - mGlobalActionListener = listener; - mGlobalActionListener.onStatusBarConnectedChanged(mBar != null); - } - - @Override - public void showGlobalActions() { - if (mBar != null) { - try { - mBar.showGlobalActionsMenu(); - } catch (RemoteException ex) {} - } - } - - @Override public void setTopAppHidesStatusBar(boolean hidesStatusBar) { if (mBar != null) { try { @@ -428,6 +408,28 @@ public class StatusBarManagerService extends IStatusBarService.Stub { } }; + private final GlobalActionsProvider mGlobalActionsProvider = new GlobalActionsProvider() { + @Override + public boolean isGlobalActionsDisabled() { + return (mDisabled2 & DISABLE2_GLOBAL_ACTIONS) != 0; + } + + @Override + public void setGlobalActionsListener(GlobalActionsProvider.GlobalActionsListener listener) { + mGlobalActionListener = listener; + mGlobalActionListener.onGlobalActionsAvailableChanged(mBar != null); + } + + @Override + public void showGlobalActions() { + if (mBar != null) { + try { + mBar.showGlobalActionsMenu(); + } catch (RemoteException ex) {} + } + } + }; + // ================================================================================ // From IStatusBarService // ================================================================================ @@ -525,7 +527,27 @@ public class StatusBarManagerService extends IStatusBarService.Stub { } @Override - public void showFingerprintDialog(Bundle bundle, IFingerprintDialogReceiver receiver) { + public void showPinningEnterExitToast(boolean entering) throws RemoteException { + if (mBar != null) { + try { + mBar.showPinningEnterExitToast(entering); + } catch (RemoteException ex) { + } + } + } + + @Override + public void showPinningEscapeToast() throws RemoteException { + if (mBar != null) { + try { + mBar.showPinningEscapeToast(); + } catch (RemoteException ex) { + } + } + } + + @Override + public void showFingerprintDialog(Bundle bundle, IBiometricDialogReceiver receiver) { if (mBar != null) { try { mBar.showFingerprintDialog(bundle, receiver); @@ -607,7 +629,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { */ @Override public void disable2ForUser(int what, IBinder token, String pkg, int userId) { - enforceStatusBarService(); + enforceStatusBar(); synchronized (mLock) { disableLocked(userId, what, token, pkg, 2); @@ -873,7 +895,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { private void notifyBarAttachChanged() { mHandler.post(() -> { if (mGlobalActionListener == null) return; - mGlobalActionListener.onStatusBarConnectedChanged(mBar != null); + mGlobalActionListener.onGlobalActionsAvailableChanged(mBar != null); }); } |