am 6f5bbc1b
: am 5bd836aa
: Merge "Add timeout if we dont get onEnterAnimationComplete" into mnc-dr-dev
* commit '6f5bbc1b1e73b3559e311ea2e59a2281b67f65ca': Add timeout if we dont get onEnterAnimationComplete
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.settings;
|
|||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.KeyguardManager;
|
import android.app.KeyguardManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
@@ -28,6 +29,7 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi
|
|||||||
private boolean mDark;
|
private boolean mDark;
|
||||||
private boolean mEnterAnimationPending;
|
private boolean mEnterAnimationPending;
|
||||||
private boolean mFirstTimeVisible = true;
|
private boolean mFirstTimeVisible = true;
|
||||||
|
private final Handler mHandler = new Handler();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedState) {
|
protected void onCreate(Bundle savedState) {
|
||||||
@@ -67,6 +69,7 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi
|
|||||||
mFirstTimeVisible = false;
|
mFirstTimeVisible = false;
|
||||||
prepareEnterAnimation();
|
prepareEnterAnimation();
|
||||||
mEnterAnimationPending = true;
|
mEnterAnimationPending = true;
|
||||||
|
mHandler.postDelayed(mEnterAnimationCompleteTimeoutRunnable, 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,6 +85,7 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi
|
|||||||
public void onEnterAnimationComplete() {
|
public void onEnterAnimationComplete() {
|
||||||
super.onEnterAnimationComplete();
|
super.onEnterAnimationComplete();
|
||||||
if (mEnterAnimationPending) {
|
if (mEnterAnimationPending) {
|
||||||
|
mHandler.removeCallbacks(mEnterAnimationCompleteTimeoutRunnable);
|
||||||
startEnterAnimation();
|
startEnterAnimation();
|
||||||
mEnterAnimationPending = false;
|
mEnterAnimationPending = false;
|
||||||
}
|
}
|
||||||
@@ -94,4 +98,15 @@ public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivi
|
|||||||
public void startEnterAnimation() {
|
public void startEnterAnimation() {
|
||||||
getFragment().startEnterAnimation();
|
getFragment().startEnterAnimation();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Workaround for a bug in window manager which results that onEnterAnimationComplete doesn't
|
||||||
|
* get called in all cases.
|
||||||
|
*/
|
||||||
|
private final Runnable mEnterAnimationCompleteTimeoutRunnable = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
onEnterAnimationComplete();
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user