diff options
Diffstat (limited to 'packages/SystemUI/src')
3 files changed, 43 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java index 0671e44..a98c4dc 100644 --- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java +++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java @@ -261,6 +261,19 @@ public class ImageWallpaper extends WallpaperService { } } + @Override + public void onSurfaceRedrawNeeded(SurfaceHolder holder) { + if (DEBUG) { + Log.d(TAG, "onSurfaceRedrawNeeded:"); + } + super.onSurfaceRedrawNeeded(holder); + + synchronized (mLock) { + mRedrawNeeded = true; + drawFrameLocked(); + } + } + void drawFrameLocked() { if (!mVisible) { if (DEBUG) { 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 3fea0a0..12e749d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1376,12 +1376,34 @@ public class PhoneStatusBar extends BaseStatusBar { private void setStatusBarLowProfile(boolean lightsOut) { if (mLightsOutAnimation == null) { - mLightsOutAnimation = ObjectAnimator.ofFloat(mStatusBarContents, View.ALPHA, 0); - mLightsOutAnimation.setDuration(750); - - mLightsOnAnimation = new AnimatorSet(); - mLightsOnAnimation = ObjectAnimator.ofFloat(mStatusBarContents, View.ALPHA, 1); - mLightsOnAnimation.setDuration(250); + final View notifications = mStatusBarView.findViewById(R.id.notification_icon_area); + final View systemIcons = mStatusBarView.findViewById(R.id.statusIcons); + final View signal = mStatusBarView.findViewById(R.id.signal_cluster); + final View battery = mStatusBarView.findViewById(R.id.battery); + final View clock = mStatusBarView.findViewById(R.id.clock); + + final AnimatorSet lightsOutAnim = new AnimatorSet(); + lightsOutAnim.playTogether( + ObjectAnimator.ofFloat(notifications, View.ALPHA, 0), + ObjectAnimator.ofFloat(systemIcons, View.ALPHA, 0), + ObjectAnimator.ofFloat(signal, View.ALPHA, 0), + ObjectAnimator.ofFloat(battery, View.ALPHA, 0.5f), + ObjectAnimator.ofFloat(clock, View.ALPHA, 0.5f) + ); + lightsOutAnim.setDuration(750); + + final AnimatorSet lightsOnAnim = new AnimatorSet(); + lightsOnAnim.playTogether( + ObjectAnimator.ofFloat(notifications, View.ALPHA, 1), + ObjectAnimator.ofFloat(systemIcons, View.ALPHA, 1), + ObjectAnimator.ofFloat(signal, View.ALPHA, 1), + ObjectAnimator.ofFloat(battery, View.ALPHA, 1), + ObjectAnimator.ofFloat(clock, View.ALPHA, 1) + ); + lightsOnAnim.setDuration(250); + + mLightsOutAnimation = lightsOutAnim; + mLightsOnAnimation = lightsOnAnim; } mLightsOutAnimation.cancel(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java index f864d04..776cf36 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationController.java @@ -97,7 +97,6 @@ public class LocationController extends BroadcastReceiver { } try { - // XXX WHAT TO DO ABOUT MULTI-USER? if (visible) { Intent gpsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); gpsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -126,7 +125,7 @@ public class LocationController extends BroadcastReceiver { GPS_NOTIFICATION_ID, n, idOut, - UserHandle.USER_CURRENT); + UserHandle.USER_ALL); for (LocationGpsStateChangeCallback cb : mChangeCallbacks) { cb.onLocationGpsStateChanged(true, text); @@ -134,7 +133,7 @@ public class LocationController extends BroadcastReceiver { } else { mNotificationService.cancelNotificationWithTag( mContext.getPackageName(), null, - GPS_NOTIFICATION_ID, UserHandle.USER_CURRENT); + GPS_NOTIFICATION_ID, UserHandle.USER_ALL); for (LocationGpsStateChangeCallback cb : mChangeCallbacks) { cb.onLocationGpsStateChanged(false, null); |