OSDN Git Service

Merge "Set lock screen to be in public mode if one of its profile is secure" into...
authorTony Mak <tonymak@google.com>
Tue, 19 Apr 2016 15:20:09 +0000 (15:20 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Tue, 19 Apr 2016 15:20:09 +0000 (15:20 +0000)
am: 95a127c

* commit '95a127cbf49f8fb6496e4b81b2f0d716d7f8cfbc':
  Set lock screen to be in public mode if one of its profile is secure

Change-Id: Ibeaf86c324644aa088eafe47171c5dab811201d4

packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

index b75c291..d3f3b2d 100644 (file)
@@ -34,6 +34,7 @@ import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.database.ContentObserver;
@@ -3950,9 +3951,17 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
     }
 
     private void updatePublicMode() {
-        setLockscreenPublicMode(
-                mStatusBarKeyguardViewManager.isShowing() && mStatusBarKeyguardViewManager
-                        .isSecure(mCurrentUserId));
+        boolean isPublic = false;
+        if (mStatusBarKeyguardViewManager.isShowing()) {
+            for (int i = mCurrentProfiles.size() - 1; i >= 0; i--) {
+                UserInfo userInfo = mCurrentProfiles.valueAt(i);
+                if (mStatusBarKeyguardViewManager.isSecure(userInfo.id)) {
+                    isPublic = true;
+                    break;
+                }
+            }
+        }
+        setLockscreenPublicMode(isPublic);
     }
 
     protected void updateKeyguardState(boolean goingToFullShade, boolean fromShadeLocked) {