OSDN Git Service

Merge "Handle PhoneStatusBarPolicy user switch callbacks on main thread" into nyc-dev
[android-x86/frameworks-base.git] / packages / SystemUI / src / com / android / systemui / statusbar / phone / PhoneStatusBarPolicy.java
index d32ffa1..d9dd9e2 100644 (file)
@@ -80,6 +80,7 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
     private final StatusBarIconController mIconController;
     private final RotationLockController mRotationLockController;
     private final DataSaverController mDataSaver;
+    private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
 
     // Assume it's all good unless we hear otherwise.  We don't always seem
     // to get broadcasts that it *is* there.
@@ -95,7 +96,6 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
     private boolean mManagedProfileIconVisible = false;
     private boolean mManagedProfileInQuietMode = false;
 
-    private boolean mKeyguardVisible = true;
     private BluetoothController mBluetooth;
 
     public PhoneStatusBarPolicy(Context context, StatusBarIconController iconController,
@@ -192,6 +192,11 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
         mDataSaver.addListener(this);
     }
 
+    public void setStatusBarKeyguardViewManager(
+            StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
+        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
+    }
+
     public void setZenMode(int zen) {
         mZen = zen;
         updateVolumeZen();
@@ -385,10 +390,9 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
 
     private void updateManagedProfile() {
         if (DEBUG) Log.v(TAG, "updateManagedProfile: mManagedProfileFocused: "
-                + mManagedProfileFocused
-                + " mKeyguardVisible: " + mKeyguardVisible);
+                + mManagedProfileFocused);
         final boolean showIcon;
-        if (mManagedProfileFocused && !mKeyguardVisible) {
+        if (mManagedProfileFocused && !mStatusBarKeyguardViewManager.isShowing()) {
             showIcon = true;
             mIconController.setIcon(mSlotManagedProfile,
                     R.drawable.stat_sys_managed_profile_status,
@@ -461,8 +465,7 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
         updateManagedProfile();
     }
 
-    public void setKeyguardShowing(boolean visible) {
-        mKeyguardVisible = visible;
+    public void notifyKeyguardShowingChanged() {
         updateManagedProfile();
     }