Merge "Set Visibility on ClockSwitch Animation" into tm-qpr-dev am: 00020dbde2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20680902 Change-Id: I6805e9ce54bd4a93e691458b5f11a750954f2ff7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -209,6 +209,7 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
|||||||
|
|
||||||
if (!animate) {
|
if (!animate) {
|
||||||
out.setAlpha(0f);
|
out.setAlpha(0f);
|
||||||
|
out.setVisibility(INVISIBLE);
|
||||||
in.setAlpha(1f);
|
in.setAlpha(1f);
|
||||||
in.setVisibility(VISIBLE);
|
in.setVisibility(VISIBLE);
|
||||||
mStatusArea.setTranslationY(statusAreaYTranslation);
|
mStatusArea.setTranslationY(statusAreaYTranslation);
|
||||||
@@ -224,7 +225,10 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
|||||||
direction * -mClockSwitchYAmount));
|
direction * -mClockSwitchYAmount));
|
||||||
mClockOutAnim.addListener(new AnimatorListenerAdapter() {
|
mClockOutAnim.addListener(new AnimatorListenerAdapter() {
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
mClockOutAnim = null;
|
if (mClockOutAnim == animation) {
|
||||||
|
out.setVisibility(INVISIBLE);
|
||||||
|
mClockOutAnim = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -238,7 +242,9 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
|||||||
mClockInAnim.setStartDelay(CLOCK_OUT_MILLIS / 2);
|
mClockInAnim.setStartDelay(CLOCK_OUT_MILLIS / 2);
|
||||||
mClockInAnim.addListener(new AnimatorListenerAdapter() {
|
mClockInAnim.addListener(new AnimatorListenerAdapter() {
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
mClockInAnim = null;
|
if (mClockInAnim == animation) {
|
||||||
|
mClockInAnim = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -251,7 +257,9 @@ public class KeyguardClockSwitch extends RelativeLayout {
|
|||||||
mStatusAreaAnim.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
|
mStatusAreaAnim.setInterpolator(Interpolators.FAST_OUT_SLOW_IN);
|
||||||
mStatusAreaAnim.addListener(new AnimatorListenerAdapter() {
|
mStatusAreaAnim.addListener(new AnimatorListenerAdapter() {
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
mStatusAreaAnim = null;
|
if (mStatusAreaAnim == animation) {
|
||||||
|
mStatusAreaAnim = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mStatusAreaAnim.start();
|
mStatusAreaAnim.start();
|
||||||
|
|||||||
@@ -346,10 +346,6 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
|||||||
int clockHeight = clock.getLargeClock().getView().getHeight();
|
int clockHeight = clock.getLargeClock().getView().getHeight();
|
||||||
return frameHeight / 2 + clockHeight / 2 + mKeyguardLargeClockTopMargin / -2;
|
return frameHeight / 2 + clockHeight / 2 + mKeyguardLargeClockTopMargin / -2;
|
||||||
} else {
|
} else {
|
||||||
// This is only called if we've never shown the large clock as the frame is inflated
|
|
||||||
// with 'gone', but then the visibility is never set when it is animated away by
|
|
||||||
// KeyguardClockSwitch, instead it is removed from the view hierarchy.
|
|
||||||
// TODO(b/261755021): Cleanup Large Frame Visibility
|
|
||||||
int clockHeight = clock.getSmallClock().getView().getHeight();
|
int clockHeight = clock.getSmallClock().getView().getHeight();
|
||||||
return clockHeight + statusBarHeaderHeight + mKeyguardSmallClockTopMargin;
|
return clockHeight + statusBarHeaderHeight + mKeyguardSmallClockTopMargin;
|
||||||
}
|
}
|
||||||
@@ -367,15 +363,11 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS
|
|||||||
if (mLargeClockFrame.getVisibility() == View.VISIBLE) {
|
if (mLargeClockFrame.getVisibility() == View.VISIBLE) {
|
||||||
return clock.getLargeClock().getView().getHeight();
|
return clock.getLargeClock().getView().getHeight();
|
||||||
} else {
|
} else {
|
||||||
// Is not called except in certain edge cases, see comment in getClockBottom
|
|
||||||
// TODO(b/261755021): Cleanup Large Frame Visibility
|
|
||||||
return clock.getSmallClock().getView().getHeight();
|
return clock.getSmallClock().getView().getHeight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isClockTopAligned() {
|
boolean isClockTopAligned() {
|
||||||
// Returns false except certain edge cases, see comment in getClockBottom
|
|
||||||
// TODO(b/261755021): Cleanup Large Frame Visibility
|
|
||||||
return mLargeClockFrame.getVisibility() != View.VISIBLE;
|
return mLargeClockFrame.getVisibility() != View.VISIBLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.keyguard;
|
package com.android.keyguard;
|
||||||
|
|
||||||
|
import static android.view.View.INVISIBLE;
|
||||||
import static android.view.View.VISIBLE;
|
import static android.view.View.VISIBLE;
|
||||||
|
|
||||||
import static com.android.keyguard.KeyguardClockSwitch.LARGE;
|
import static com.android.keyguard.KeyguardClockSwitch.LARGE;
|
||||||
@@ -189,6 +190,7 @@ public class KeyguardClockSwitchTest extends SysuiTestCase {
|
|||||||
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(1);
|
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(1);
|
||||||
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(VISIBLE);
|
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(VISIBLE);
|
||||||
assertThat(mSmallClockFrame.getAlpha()).isEqualTo(0);
|
assertThat(mSmallClockFrame.getAlpha()).isEqualTo(0);
|
||||||
|
assertThat(mSmallClockFrame.getVisibility()).isEqualTo(INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -198,6 +200,7 @@ public class KeyguardClockSwitchTest extends SysuiTestCase {
|
|||||||
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(1);
|
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(1);
|
||||||
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(VISIBLE);
|
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(VISIBLE);
|
||||||
assertThat(mSmallClockFrame.getAlpha()).isEqualTo(0);
|
assertThat(mSmallClockFrame.getAlpha()).isEqualTo(0);
|
||||||
|
assertThat(mSmallClockFrame.getVisibility()).isEqualTo(INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -212,6 +215,7 @@ public class KeyguardClockSwitchTest extends SysuiTestCase {
|
|||||||
// only big clock is removed at switch
|
// only big clock is removed at switch
|
||||||
assertThat(mLargeClockFrame.getParent()).isNull();
|
assertThat(mLargeClockFrame.getParent()).isNull();
|
||||||
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(0);
|
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(0);
|
||||||
|
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -223,6 +227,7 @@ public class KeyguardClockSwitchTest extends SysuiTestCase {
|
|||||||
// only big clock is removed at switch
|
// only big clock is removed at switch
|
||||||
assertThat(mLargeClockFrame.getParent()).isNull();
|
assertThat(mLargeClockFrame.getParent()).isNull();
|
||||||
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(0);
|
assertThat(mLargeClockFrame.getAlpha()).isEqualTo(0);
|
||||||
|
assertThat(mLargeClockFrame.getVisibility()).isEqualTo(INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user