summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-06-09 15:31:28 -0700
committerJorim Jaggi <jjaggi@google.com>2015-06-10 15:17:24 -0700
commitff41a9a5a6e307ca6dcbc45361854b5ac4e59857 (patch)
tree362a3c53f034682ac398bb73af428988f22b861e /src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java
parent1fdd4f521ced6bece495fcba9d434c98c2da7731 (diff)
downloadpackages_apps_Settings-ff41a9a5a6e307ca6dcbc45361854b5ac4e59857.zip
packages_apps_Settings-ff41a9a5a6e307ca6dcbc45361854b5ac4e59857.tar.gz
packages_apps_Settings-ff41a9a5a6e307ca6dcbc45361854b5ac4e59857.tar.bz2
Animations/success state for external confirm device credentials (2/2)
Bug: 20929186 Change-Id: I4489dd37f1148fb03315ec337a546eee04660cb5
Diffstat (limited to 'src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java')
-rw-r--r--src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java
index fe3de97..f56c315 100644
--- a/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java
+++ b/src/com/android/settings/ConfirmDeviceCredentialBaseActivity.java
@@ -16,17 +16,23 @@
package com.android.settings;
+import android.app.Fragment;
import android.app.KeyguardManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.WindowManager;
-public class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
+public abstract class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
+
+ private boolean mRestoring;
+ private boolean mDark;
+ private boolean mEnterAnimationPending;
@Override
protected void onCreate(Bundle savedState) {
if (getIntent().getBooleanExtra(ConfirmDeviceCredentialBaseFragment.DARK_THEME, false)) {
setTheme(R.style.Theme_ConfirmDeviceCredentialsDark);
+ mDark = true;
}
super.onCreate(savedState);
boolean deviceLocked = getSystemService(KeyguardManager.class).isKeyguardLocked();
@@ -41,6 +47,7 @@ public class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
}
+ mRestoring = savedState != null;
}
@Override
@@ -51,4 +58,37 @@ public class ConfirmDeviceCredentialBaseActivity extends SettingsActivity {
}
return super.onOptionsItemSelected(item);
}
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ if (!isChangingConfigurations() && !mRestoring && mDark) {
+ prepareEnterAnimation();
+ mEnterAnimationPending = true;
+ }
+ }
+
+ private ConfirmDeviceCredentialBaseFragment getFragment() {
+ Fragment fragment = getFragmentManager().findFragmentById(R.id.main_content);
+ if (fragment != null && fragment instanceof ConfirmDeviceCredentialBaseFragment) {
+ return (ConfirmDeviceCredentialBaseFragment) fragment;
+ }
+ return null;
+ }
+
+ @Override
+ public void onEnterAnimationComplete() {
+ super.onEnterAnimationComplete();
+ if (mEnterAnimationPending) {
+ startEnterAnimation();
+ }
+ }
+
+ public void prepareEnterAnimation() {
+ getFragment().prepareEnterAnimation();
+ }
+
+ public void startEnterAnimation() {
+ getFragment().startEnterAnimation();
+ }
}