diff options
7 files changed, 29 insertions, 12 deletions
diff --git a/core/java/android/app/IWallpaperManager.aidl b/core/java/android/app/IWallpaperManager.aidl index a0762b94a040..9cd70e6d8366 100644 --- a/core/java/android/app/IWallpaperManager.aidl +++ b/core/java/android/app/IWallpaperManager.aidl @@ -72,7 +72,7 @@ interface IWallpaperManager { * information about that wallpaper. Otherwise, if it is a static image, * simply return null. */ - WallpaperInfo getWallpaperInfo(); + WallpaperInfo getWallpaperInfo(int userId); /** * Clear the system wallpaper. diff --git a/core/java/android/app/WallpaperManager.java b/core/java/android/app/WallpaperManager.java index 7f467f0585c8..79f2a1e90c0a 100644 --- a/core/java/android/app/WallpaperManager.java +++ b/core/java/android/app/WallpaperManager.java @@ -51,6 +51,7 @@ import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; +import android.os.UserHandle; import android.text.TextUtils; import android.util.Log; import android.view.WindowManagerGlobal; @@ -783,7 +784,7 @@ public class WallpaperManager { Log.w(TAG, "WallpaperService not running"); throw new RuntimeException(new DeadSystemException()); } else { - return sGlobals.mService.getWallpaperInfo(); + return sGlobals.mService.getWallpaperInfo(UserHandle.myUserId()); } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java index 9a36aca97d75..06ce88cc4383 100644 --- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java +++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java @@ -28,6 +28,7 @@ import com.android.systemui.assist.AssistManager; import com.android.systemui.statusbar.BaseStatusBar; import com.android.systemui.statusbar.ScrimView; import com.android.systemui.statusbar.phone.KeyguardBouncer; +import com.android.systemui.statusbar.phone.LockscreenWallpaper; import com.android.systemui.statusbar.phone.NotificationIconAreaController; import com.android.systemui.statusbar.phone.PhoneStatusBar; import com.android.systemui.statusbar.phone.QSTileHost; @@ -92,7 +93,7 @@ public class SystemUIFactory { } public ScrimController createScrimController(ScrimView scrimBehind, ScrimView scrimInFront, - View headsUpScrim) { + View headsUpScrim, LockscreenWallpaper lockscreenWallpaper) { return new ScrimController(scrimBehind, scrimInFront, headsUpScrim); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index fcb1da0033bb..07dc518dccd9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -788,11 +788,15 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mBackdropFront = (ImageView) mBackdrop.findViewById(R.id.backdrop_front); mBackdropBack = (ImageView) mBackdrop.findViewById(R.id.backdrop_back); + if (ENABLE_LOCKSCREEN_WALLPAPER) { + mLockscreenWallpaper = new LockscreenWallpaper(mContext, this, mHandler); + } + ScrimView scrimBehind = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_behind); ScrimView scrimInFront = (ScrimView) mStatusBarWindow.findViewById(R.id.scrim_in_front); View headsUpScrim = mStatusBarWindow.findViewById(R.id.heads_up_scrim); mScrimController = SystemUIFactory.getInstance().createScrimController( - scrimBehind, scrimInFront, headsUpScrim); + scrimBehind, scrimInFront, headsUpScrim, mLockscreenWallpaper); if (mScrimSrcModeEnabled) { Runnable runnable = new Runnable() { @Override @@ -822,10 +826,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mKeyguardBottomArea.getLockIcon()); mKeyguardBottomArea.setKeyguardIndicationController(mKeyguardIndicationController); - if (ENABLE_LOCKSCREEN_WALLPAPER) { - mLockscreenWallpaper = new LockscreenWallpaper(mContext, this, mHandler); - } - // set the initial view visibility setAreThereNotifications(); @@ -3513,6 +3513,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, setControllerUsers(); clearCurrentMediaNotification(); mLockscreenWallpaper.setCurrentUser(newUserId); + mScrimController.setCurrentUser(newUserId); updateMediaMetaData(true, false); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java index 135c294987cf..af9c0496d647 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java @@ -47,8 +47,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, public static final Interpolator KEYGUARD_FADE_OUT_INTERPOLATOR = new PathInterpolator(0f, 0, 0.7f, 1f); private static final float SCRIM_BEHIND_ALPHA = 0.62f; - private static final float SCRIM_BEHIND_ALPHA_KEYGUARD = 0.45f; - private static final float SCRIM_BEHIND_ALPHA_UNLOCKING = 0.2f; + protected static final float SCRIM_BEHIND_ALPHA_KEYGUARD = 0.45f; + protected static final float SCRIM_BEHIND_ALPHA_UNLOCKING = 0.2f; private static final float SCRIM_IN_FRONT_ALPHA = 0.75f; private static final int TAG_KEY_ANIM = R.id.scrim; private static final int TAG_KEY_ANIM_TARGET = R.id.scrim_target; @@ -120,6 +120,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, scheduleUpdate(); } + protected void setScrimBehindValues(float scrimBehindAlphaKeyguard, + float scrimBehindAlphaUnlocking) { + mScrimBehindAlphaKeyguard = scrimBehindAlphaKeyguard; + mScrimBehindAlphaUnlocking = scrimBehindAlphaUnlocking; + scheduleUpdate(); + } + public void onTrackingStarted() { mExpanding = true; mDarkenWhileDragging = !mUnlockMethodCache.canSkipBouncer(); @@ -542,4 +549,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, R.dimen.heads_up_scrim_height); mHeadsUpScrim.setLayoutParams(layoutParams); } + + public void setCurrentUser(int currentUser) { + // Don't care in the base class. + } } diff --git a/services/core/java/com/android/server/LockSettingsService.java b/services/core/java/com/android/server/LockSettingsService.java index d64fe32cca55..ba61cb0f57d9 100644 --- a/services/core/java/com/android/server/LockSettingsService.java +++ b/services/core/java/com/android/server/LockSettingsService.java @@ -1391,6 +1391,8 @@ public class LockSettingsService extends ILockSettings.Stub { } if (response.getResponseCode() == VerifyCredentialResponse.RESPONSE_OK) { + + // credential has matched unlockKeystore(credential, userId); diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java index 79fe18b77585..06e5e7318d51 100644 --- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java +++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java @@ -1282,8 +1282,9 @@ public class WallpaperManagerService extends IWallpaperManager.Stub { } @Override - public WallpaperInfo getWallpaperInfo() { - int userId = UserHandle.getCallingUserId(); + public WallpaperInfo getWallpaperInfo(int userId) { + userId = ActivityManager.handleIncomingUser(Binder.getCallingPid(), + Binder.getCallingUid(), userId, false, true, "getWallpaperIdForUser", null); synchronized (mLock) { WallpaperData wallpaper = mWallpaperMap.get(userId); if (wallpaper != null && wallpaper.connection != null) { |