summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/values/dimens.xml6
-rw-r--r--packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt51
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java24
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java65
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java29
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java9
8 files changed, 139 insertions, 94 deletions
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 8ac3aa1748ce..7c355c9b05e8 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -650,7 +650,6 @@
<dimen name="keyguard_affordance_icon_width">24dp</dimen>
<dimen name="keyguard_indication_margin_bottom">65dp</dimen>
- <dimen name="keyguard_indication_margin_bottom_ambient">16dp</dimen>
<!-- The text size for battery level -->
<dimen name="battery_level_text_size">12sp</dimen>
@@ -939,9 +938,8 @@
burn-in on AOD. -->
<dimen name="burn_in_prevention_offset_y">50dp</dimen>
- <!-- The maximum offset in either direction that the charging indication moves vertically
- to prevent burn-in on AOD. -->
- <dimen name="charging_indication_burn_in_prevention_offset_y">5dp</dimen>
+ <!-- The maximum offset in either direction that icons move to prevent burn-in on AOD. -->
+ <dimen name="default_burn_in_prevention_offset">5dp</dimen>
<dimen name="corner_size">8dp</dimen>
<dimen name="top_padding">0dp</dimen>
diff --git a/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt
new file mode 100644
index 000000000000..d1e5059756ed
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package com.android.systemui.doze.util
+
+import android.util.MathUtils
+
+private const val MILLIS_PER_MINUTES = 1000 * 60f
+private const val BURN_IN_PREVENTION_PERIOD_Y = 521f
+private const val BURN_IN_PREVENTION_PERIOD_X = 83f
+
+/**
+ * Returns the translation offset that should be used to avoid burn in at
+ * the current time (in pixels.)
+ *
+ * @param amplitude Maximum translation that will be interpolated.
+ * @param xAxis If we're moving on X or Y.
+ */
+fun getBurnInOffset(amplitude: Int, xAxis: Boolean): Int {
+ return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
+ amplitude.toFloat(),
+ if (xAxis) BURN_IN_PREVENTION_PERIOD_X else BURN_IN_PREVENTION_PERIOD_Y).toInt()
+}
+
+/**
+ * Implements a continuous, piecewise linear, periodic zig-zag function
+ *
+ * Can be thought of as a linear approximation of abs(sin(x)))
+ *
+ * @param period period of the function, ie. zigzag(x + period) == zigzag(x)
+ * @param amplitude maximum value of the function
+ * @return a value between 0 and amplitude
+ */
+private fun zigzag(x: Float, amplitude: Float, period: Float): Float {
+ val xprime = x % period / (period / 2)
+ val interpolationAmount = if (xprime <= 1) xprime else 2 - xprime
+ return MathUtils.lerp(0f, amplitude, interpolationAmount)
+} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 551e8a9dcb81..0c5f39198b4f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -298,27 +298,6 @@ public class KeyguardIndicationController {
if (mVisible) {
// Walk down a precedence-ordered list of what indication
// should be shown based on user or device state
- if (mDozing) {
- mTextView.setTextColor(Color.WHITE);
- if (!TextUtils.isEmpty(mTransientIndication)) {
- // When dozing we ignore any text color and use white instead, because
- // colors can be hard to read in low brightness.
- mTextView.switchIndication(mTransientIndication);
- } else if (mPowerPluggedIn) {
- String indication = computePowerIndication();
- if (animate) {
- animateText(mTextView, indication);
- } else {
- mTextView.switchIndication(indication);
- }
- } else {
- String percentage = NumberFormat.getPercentInstance()
- .format(mBatteryLevel / 100f);
- mTextView.switchIndication(percentage);
- }
- return;
- }
-
KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
int userId = KeyguardUpdateMonitor.getCurrentUser();
String trustGrantedIndication = getTrustGrantedIndication();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index d89bcdaffe3e..f667726461f3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
import static android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_LEFT_BUTTON;
import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_LEFT_UNLOCK;
import static com.android.systemui.tuner.LockscreenFragment.LOCKSCREEN_RIGHT_BUTTON;
@@ -171,7 +172,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
private LockscreenGestureLogger mLockscreenGestureLogger = new LockscreenGestureLogger();
private boolean mDozing;
private int mIndicationBottomMargin;
- private int mIndicationBottomMarginAmbient;
private float mDarkAmount;
private int mBurnInXOffset;
private int mBurnInYOffset;
@@ -246,10 +246,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
mIndicationText = findViewById(R.id.keyguard_indication_text);
mIndicationBottomMargin = getResources().getDimensionPixelSize(
R.dimen.keyguard_indication_margin_bottom);
- mIndicationBottomMarginAmbient = getResources().getDimensionPixelSize(
- R.dimen.keyguard_indication_margin_bottom_ambient);
mBurnInYOffset = getResources().getDimensionPixelSize(
- R.dimen.charging_indication_burn_in_prevention_offset_y);
+ R.dimen.default_burn_in_prevention_offset);
updateCameraVisibility();
mUnlockMethodCache = UnlockMethodCache.getInstance(getContext());
mUnlockMethodCache.addListener(this);
@@ -320,10 +318,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
super.onConfigurationChanged(newConfig);
mIndicationBottomMargin = getResources().getDimensionPixelSize(
R.dimen.keyguard_indication_margin_bottom);
- mIndicationBottomMarginAmbient = getResources().getDimensionPixelSize(
- R.dimen.keyguard_indication_margin_bottom_ambient);
mBurnInYOffset = getResources().getDimensionPixelSize(
- R.dimen.charging_indication_burn_in_prevention_offset_y);
+ R.dimen.default_burn_in_prevention_offset);
MarginLayoutParams mlp = (MarginLayoutParams) mIndicationArea.getLayoutParams();
if (mlp.bottomMargin != mIndicationBottomMargin) {
mlp.bottomMargin = mIndicationBottomMargin;
@@ -567,9 +563,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
return;
}
mDarkAmount = darkAmount;
- mIndicationArea.setAlpha(MathUtils.lerp(1f, 0.7f, darkAmount));
- mIndicationArea.setTranslationY(MathUtils.lerp(0,
- mIndicationBottomMargin - mIndicationBottomMarginAmbient, darkAmount));
+ mIndicationArea.setAlpha(1f - darkAmount);
}
private static boolean isSuccessfulLaunch(int result) {
@@ -842,10 +836,10 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
public void dozeTimeTick() {
if (mDarkAmount == 1) {
- // Move indication every minute to avoid burn-in
- int dozeTranslation = mIndicationBottomMargin - mIndicationBottomMarginAmbient;
- int burnInYOffset = (int) (-mBurnInYOffset + Math.random() * mBurnInYOffset * 2);
- mIndicationArea.setTranslationY(dozeTranslation + burnInYOffset);
+ // Move views every minute to avoid burn-in
+ int burnInYOffset = getBurnInOffset(mBurnInYOffset * 2, false /* xAxis */)
+ - mBurnInYOffset;
+ mLockIcon.setTranslationY(burnInYOffset);
}
}
@@ -854,7 +848,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
return;
}
mBurnInXOffset = burnInXOffset;
- mIndicationArea.setTranslationX(burnInXOffset);
+ mLockIcon.setTranslationX(burnInXOffset);
}
private class DefaultLeftButton implements IntentButton {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
index 042e4ff16d3a..33bc164d807c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardClockPositionAlgorithm.java
@@ -16,6 +16,7 @@
package com.android.systemui.statusbar.phone;
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
import static com.android.systemui.statusbar.notification.NotificationUtils.interpolate;
import android.content.res.Resources;
@@ -30,10 +31,6 @@ import com.android.systemui.R;
*/
public class KeyguardClockPositionAlgorithm {
- private static final long MILLIS_PER_MINUTES = 1000 * 60;
- private static final float BURN_IN_PREVENTION_PERIOD_Y = 521;
- private static final float BURN_IN_PREVENTION_PERIOD_X = 83;
-
/**
* How much the clock height influences the shade position.
* 0 means nothing, 1 means move the shade up by the height of the clock
@@ -228,34 +225,15 @@ public class KeyguardClockPositionAlgorithm {
}
private float burnInPreventionOffsetY() {
- return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
- mBurnInPreventionOffsetY * 2,
- BURN_IN_PREVENTION_PERIOD_Y)
+ return getBurnInOffset(mBurnInPreventionOffsetY * 2, false /* xAxis */)
- mBurnInPreventionOffsetY;
}
private float burnInPreventionOffsetX() {
- return zigzag(System.currentTimeMillis() / MILLIS_PER_MINUTES,
- mBurnInPreventionOffsetX * 2,
- BURN_IN_PREVENTION_PERIOD_X)
+ return getBurnInOffset(mBurnInPreventionOffsetX * 2, true /* xAxis */)
- mBurnInPreventionOffsetX;
}
- /**
- * Implements a continuous, piecewise linear, periodic zig-zag function
- *
- * Can be thought of as a linear approximation of abs(sin(x)))
- *
- * @param period period of the function, ie. zigzag(x + period) == zigzag(x)
- * @param amplitude maximum value of the function
- * @return a value between 0 and amplitude
- */
- private float zigzag(float x, float amplitude, float period) {
- float xprime = (x % period) / (period / 2);
- float interpolationAmount = (xprime <= 1) ? xprime : (2 - xprime);
- return interpolate(0, amplitude, interpolationAmount);
- }
-
public static class Result {
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index 5630da6662e9..7c84df91fffa 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -17,6 +17,7 @@
package com.android.systemui.statusbar.phone;
import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
+import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
import android.annotation.ColorInt;
import android.content.Context;
@@ -70,16 +71,18 @@ public class KeyguardStatusBarView extends RelativeLayout
private static final int LAYOUT_CUTOUT = 1;
private static final int LAYOUT_NO_CUTOUT = 2;
+ private final Rect mEmptyRect = new Rect(0, 0, 0, 0);
+
private boolean mShowPercentAvailable;
private boolean mBatteryCharging;
private boolean mKeyguardUserSwitcherShowing;
private boolean mBatteryListening;
private TextView mCarrierLabel;
- private View mSystemIconsSuperContainer;
private MultiUserSwitch mMultiUserSwitch;
private ImageView mMultiUserAvatar;
private BatteryMeterView mBatteryView;
+ private StatusIconContainer mStatusIconContainer;
private BatteryController mBatteryController;
private KeyguardUserSwitcher mKeyguardUserSwitcher;
@@ -99,6 +102,18 @@ public class KeyguardStatusBarView extends RelativeLayout
*/
private int mCutoutSideNudge = 0;
+ /**
+ * How much to move icons to avoid burn in.
+ */
+ private int mBurnInOffset;
+ private int mCurrentBurnInOffsetX;
+ private int mCurrentBurnInOffsetY;
+
+ /**
+ * Ratio representing being in ambient mode or not.
+ */
+ private float mDarkAmount;
+
public KeyguardStatusBarView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@@ -113,6 +128,7 @@ public class KeyguardStatusBarView extends RelativeLayout
mBatteryView = mSystemIconsContainer.findViewById(R.id.battery);
mCutoutSpace = findViewById(R.id.cutout_space_view);
mStatusIconArea = findViewById(R.id.status_icon_area);
+ mStatusIconContainer = findViewById(R.id.statusIcons);
loadDimens();
updateUserSwitcher();
@@ -169,6 +185,8 @@ public class KeyguardStatusBarView extends RelativeLayout
R.dimen.system_icons_super_container_avatarless_margin_end);
mCutoutSideNudge = getResources().getDimensionPixelSize(
R.dimen.display_cutout_margin_consumption);
+ mBurnInOffset = getResources().getDimensionPixelSize(
+ R.dimen.default_burn_in_prevention_offset);
mShowPercentAvailable = getContext().getResources().getBoolean(
com.android.internal.R.bool.config_battery_percentage_setting_available);
}
@@ -440,6 +458,14 @@ public class KeyguardStatusBarView extends RelativeLayout
}
public void onThemeChanged() {
+ mBatteryView.setColorsFromContext(mContext);
+ updateIconsAndTextColors();
+ // Reload user avatar
+ ((UserInfoControllerImpl) Dependency.get(UserInfoController.class))
+ .onDensityOrFontScaleChanged();
+ }
+
+ private void updateIconsAndTextColors() {
@ColorInt int textColor = Utils.getColorAttrDefaultColor(mContext,
R.attr.wallpaperTextColor);
@ColorInt int iconColor = Utils.getColorStateListDefaultColor(mContext,
@@ -448,14 +474,9 @@ public class KeyguardStatusBarView extends RelativeLayout
float intensity = textColor == Color.WHITE ? 0 : 1;
mCarrierLabel.setTextColor(iconColor);
mIconManager.setTint(iconColor);
- mBatteryView.setColorsFromContext(mContext);
- Rect tintArea = new Rect(0, 0, 0, 0);
- applyDarkness(R.id.battery, tintArea, intensity, iconColor);
- applyDarkness(R.id.clock, tintArea, intensity, iconColor);
- // Reload user avatar
- ((UserInfoControllerImpl) Dependency.get(UserInfoController.class))
- .onDensityOrFontScaleChanged();
+ applyDarkness(R.id.battery, mEmptyRect, intensity * (1f - mDarkAmount), iconColor);
+ applyDarkness(R.id.clock, mEmptyRect, intensity, iconColor);
}
private void applyDarkness(int id, Rect tintArea, float intensity, int color) {
@@ -475,4 +496,32 @@ public class KeyguardStatusBarView extends RelativeLayout
mBatteryView.dump(fd, pw, args);
}
}
+
+ public void setDarkAmount(float darkAmount) {
+ mDarkAmount = darkAmount;
+ if (darkAmount == 0) {
+ dozeTimeTick();
+ }
+ updateDozeState();
+ }
+
+ public void dozeTimeTick() {
+ mCurrentBurnInOffsetX = getBurnInOffset(mBurnInOffset, true /* xAxis */);
+ mCurrentBurnInOffsetY = getBurnInOffset(mBurnInOffset, false /* xAxis */);
+ updateDozeState();
+ }
+
+ private void updateDozeState() {
+ float alpha = 1f - mDarkAmount;
+ int visibility = alpha != 0f ? VISIBLE : INVISIBLE;
+ mCarrierLabel.setAlpha(alpha);
+ mCarrierLabel.setVisibility(visibility);
+ mStatusIconContainer.setAlpha(alpha);
+ mStatusIconContainer.setVisibility(visibility);
+
+ mSystemIconsContainer.setTranslationX(-mCurrentBurnInOffsetX * mDarkAmount);
+ mSystemIconsContainer.setTranslationY(mCurrentBurnInOffsetY * mDarkAmount);
+ updateIconsAndTextColors();
+ }
+
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index e5e5d4038c37..3a4c218d337e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -63,6 +63,7 @@ import com.android.systemui.classifier.FalsingManager;
import com.android.systemui.fragments.FragmentHostManager;
import com.android.systemui.fragments.FragmentHostManager.FragmentListener;
import com.android.systemui.plugins.qs.QS;
+import com.android.systemui.qs.QSFragment;
import com.android.systemui.statusbar.FlingAnimationUtils;
import com.android.systemui.statusbar.GestureRecorder;
import com.android.systemui.statusbar.KeyguardAffordanceView;
@@ -455,6 +456,10 @@ public class NotificationPanelView extends PanelView implements
initBottomArea();
setDarkAmount(mLinearDarkAmount, mInterpolatedDarkAmount);
+ if (mKeyguardStatusBar != null) {
+ mKeyguardStatusBar.onThemeChanged();
+ }
+
setKeyguardStatusViewVisibility(mBarState, false, false);
setKeyguardBottomAreaVisibility(mBarState, false);
}
@@ -1836,10 +1841,10 @@ public class NotificationPanelView extends PanelView implements
return;
}
float alphaQsExpansion = 1 - Math.min(1, getQsExpansionFraction() * 2);
- mKeyguardStatusBar.setAlpha(Math.min(getKeyguardContentsAlpha(), alphaQsExpansion)
- * mKeyguardStatusBarAnimateAlpha);
- mKeyguardStatusBar.setVisibility(mKeyguardStatusBar.getAlpha() != 0f
- && !mDozing ? VISIBLE : INVISIBLE);
+ float newAlpha = Math.min(getKeyguardContentsAlpha(), alphaQsExpansion)
+ * mKeyguardStatusBarAnimateAlpha;
+ mKeyguardStatusBar.setAlpha(newAlpha);
+ mKeyguardStatusBar.setVisibility(newAlpha != 0f ? VISIBLE : INVISIBLE);
}
private void updateKeyguardBottomAreaAlpha() {
@@ -2347,16 +2352,7 @@ public class NotificationPanelView extends PanelView implements
}
private void updateDozingVisibilities(boolean animate) {
- if (mDozing) {
- mKeyguardStatusBar.setVisibility(View.INVISIBLE);
- mKeyguardBottomArea.setDozing(mDozing, animate);
- } else {
- mKeyguardStatusBar.setVisibility(View.VISIBLE);
- mKeyguardBottomArea.setDozing(mDozing, animate);
- if (animate) {
- animateKeyguardStatusBarIn(DOZE_ANIMATION_DURATION);
- }
- }
+ mKeyguardBottomArea.setDozing(mDozing, animate);
}
@Override
@@ -2749,6 +2745,9 @@ public class NotificationPanelView extends PanelView implements
}
});
mNotificationStackScroller.setQsContainer((ViewGroup) mQs.getView());
+ if (mQs instanceof QSFragment) {
+ mKeyguardStatusBar.setQSPanel(((QSFragment) mQs).getQsPanel());
+ }
updateQsExpansion();
}
@@ -2811,6 +2810,7 @@ public class NotificationPanelView extends PanelView implements
private void setDarkAmount(float linearAmount, float amount) {
mInterpolatedDarkAmount = amount;
mLinearDarkAmount = linearAmount;
+ mKeyguardStatusBar.setDarkAmount(mInterpolatedDarkAmount);
mKeyguardStatusView.setDarkAmount(mInterpolatedDarkAmount);
mKeyguardBottomArea.setDarkAmount(mInterpolatedDarkAmount);
positionClockAndNotifications();
@@ -2837,6 +2837,7 @@ public class NotificationPanelView extends PanelView implements
}
public void dozeTimeTick() {
+ mKeyguardStatusBar.dozeTimeTick();
mKeyguardStatusView.dozeTimeTick();
mKeyguardBottomArea.dozeTimeTick();
if (mInterpolatedDarkAmount > 0) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index e1d86387cdfd..103781b7ae3c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -381,8 +381,6 @@ public class StatusBar extends SystemUI implements DemoMode,
// settings
private QSPanel mQSPanel;
- // top bar
- private KeyguardStatusBarView mKeyguardStatusBar;
KeyguardIndicationController mKeyguardIndicationController;
// RemoteInputView to be activated after unlock
@@ -805,7 +803,6 @@ public class StatusBar extends SystemUI implements DemoMode,
mAboveShelfObserver = new AboveShelfObserver(mStackScroller);
mAboveShelfObserver.setListener(mStatusBarWindow.findViewById(
R.id.notification_container_parent));
- mKeyguardStatusBar = mStatusBarWindow.findViewById(R.id.keyguard_header);
mNotificationIconAreaController = SystemUIFactory.getInstance()
.createNotificationIconAreaController(context, this);
@@ -980,7 +977,6 @@ public class StatusBar extends SystemUI implements DemoMode,
((QSFragment) qs).setHost(qsh);
mQSPanel = ((QSFragment) qs).getQsPanel();
mQSPanel.setBrightnessMirror(mBrightnessMirrorController);
- mKeyguardStatusBar.setQSPanel(mQSPanel);
}
});
}
@@ -1118,8 +1114,6 @@ public class StatusBar extends SystemUI implements DemoMode,
@Override
public void onThemeChanged() {
- // The status bar on the keyguard is a special layout.
- if (mKeyguardStatusBar != null) mKeyguardStatusBar.onThemeChanged();
// Recreate Indication controller because internal references changed
mKeyguardIndicationController =
SystemUIFactory.getInstance().createKeyguardIndicationController(mContext,
@@ -1154,7 +1148,8 @@ public class StatusBar extends SystemUI implements DemoMode,
protected void createUserSwitcher() {
mKeyguardUserSwitcher = new KeyguardUserSwitcher(mContext,
- mStatusBarWindow.findViewById(R.id.keyguard_user_switcher), mKeyguardStatusBar,
+ mStatusBarWindow.findViewById(R.id.keyguard_user_switcher),
+ mStatusBarWindow.findViewById(R.id.keyguard_header),
mNotificationPanel);
}