Merge "Move charging indication vertically on time tick" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-07-02 18:39:55 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 12 deletions

View File

@@ -919,14 +919,18 @@
<dimen name="global_actions_top_padding">120dp</dimen>
<!-- the maximum offset in either direction that elements are moved horizontally to prevent
burn-in on AOD -->
<!-- The maximum offset in either direction that elements are moved horizontally to prevent
burn-in on AOD. -->
<dimen name="burn_in_prevention_offset_x">8dp</dimen>
<!-- the maximum offset in either direction that elements are moved vertically to prevent
burn-in on AOD -->
<!-- The maximum offset in either direction that elements are moved vertically to prevent
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>
<dimen name="corner_size">8dp</dimen>
<dimen name="top_padding">0dp</dimen>
<dimen name="bottom_padding">48dp</dimen>

View File

@@ -172,6 +172,7 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
private int mIndicationBottomMarginAmbient;
private float mDarkAmount;
private int mBurnInXOffset;
private int mBurnInYOffset;
public KeyguardBottomAreaView(Context context) {
this(context, null);
@@ -245,6 +246,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
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);
updateCameraVisibility();
mUnlockMethodCache = UnlockMethodCache.getInstance(getContext());
mUnlockMethodCache.addListener(this);
@@ -317,6 +320,8 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
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);
MarginLayoutParams mlp = (MarginLayoutParams) mIndicationArea.getLayoutParams();
if (mlp.bottomMargin != mIndicationBottomMargin) {
mlp.bottomMargin = mIndicationBottomMargin;
@@ -560,12 +565,6 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
return;
}
mDarkAmount = darkAmount;
// Let's randomize the bottom margin every time we wake up to avoid burn-in.
if (darkAmount == 0) {
mIndicationBottomMarginAmbient = getResources().getDimensionPixelSize(
R.dimen.keyguard_indication_margin_bottom_ambient)
+ (int) (Math.random() * mIndicationText.getTextSize());
}
mIndicationArea.setAlpha(MathUtils.lerp(1f, 0.7f, darkAmount));
mIndicationArea.setTranslationY(MathUtils.lerp(0,
mIndicationBottomMargin - mIndicationBottomMarginAmbient, darkAmount));
@@ -841,8 +840,9 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL
public void dozeTimeTick() {
if (mDarkAmount == 1) {
// Move indication every minute to avoid burn-in
final int dozeTranslation = mIndicationBottomMargin - mIndicationBottomMarginAmbient;
mIndicationArea.setTranslationY(dozeTranslation + (float) Math.random() * 5);
int dozeTranslation = mIndicationBottomMargin - mIndicationBottomMarginAmbient;
int burnInYOffset = (int) (-mBurnInYOffset + Math.random() * mBurnInYOffset * 2);
mIndicationArea.setTranslationY(dozeTranslation + burnInYOffset);
}
}