From 59730c2e7507b4b4f292f6fe968936f328fee503 Mon Sep 17 00:00:00 2001 From: cretin45 Date: Fri, 23 Jan 2015 15:26:45 -0800 Subject: [PATCH] SetupWizard: Improve some of the transitions Change-Id: I26a9d20cf429ab137d9877970ea0d6e4eafec0ad --- res/values/styles.xml | 3 --- .../cyanogenmod/setupwizard/setup/ChooseDataSimPage.java | 7 +++++++ .../setupwizard/setup/CyanogenServicesPage.java | 8 +++++++- .../cyanogenmod/setupwizard/setup/GmsAccountPage.java | 7 ++++++- .../cyanogenmod/setupwizard/ui/SetupWizardActivity.java | 1 + .../cyanogenmod/setupwizard/util/SetupWizardUtils.java | 9 ++++++++- 6 files changed, 29 insertions(+), 6 deletions(-) diff --git a/res/values/styles.xml b/res/values/styles.xml index 3f10184..ffd1a3d 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -19,9 +19,6 @@ false true @color/primary - true - true - @android:transition/explode @color/primary @color/primary @color/accent diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java index 70630f7..09286c1 100644 --- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java @@ -161,12 +161,14 @@ public class ChooseDataSimPage extends SetupPage { @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { + if (isDetached()) return; mSignalStrengths.put(subInfoRecord.slotId, signalStrength); updateSignalStrength(subInfoRecord); } @Override public void onServiceStateChanged(ServiceState state) { + if (isDetached()) return; mServiceStates.put(subInfoRecord.slotId, state); updateSignalStrength(subInfoRecord); } @@ -174,12 +176,14 @@ public class ChooseDataSimPage extends SetupPage { } private void updateSignalStrengths() { + if (isDetached()) return; for (int i = 0; i < mSubInfoRecords.size(); i++) { updateSignalStrength(mSubInfoRecords.get(i)); } } private void setDataSubChecked(SubInfoRecord subInfoRecord) { + if (isDetached()) return; for (int i = 0; i < mCheckBoxes.size(); i++) { mCheckBoxes.get(i).setChecked(subInfoRecord.slotId == i); @@ -187,6 +191,7 @@ public class ChooseDataSimPage extends SetupPage { } private void updateCurrentDataSub() { + if (isDetached()) return; for (int i = 0; i < mSubInfoRecords.size(); i++) { SubInfoRecord subInfoRecord = mSubInfoRecords.get(i); mCheckBoxes.get(i).setChecked(SubscriptionManager.getDefaultDataSubId() @@ -196,6 +201,7 @@ public class ChooseDataSimPage extends SetupPage { } private void updateCarrierText(SubInfoRecord subInfoRecord) { + if (isDetached()) return; String name = mPhone.getNetworkOperatorName(subInfoRecord.subId); ServiceState serviceState = mServiceStates.get(subInfoRecord.slotId); if (TextUtils.isEmpty(name)) { @@ -211,6 +217,7 @@ public class ChooseDataSimPage extends SetupPage { } private void updateSignalStrength(SubInfoRecord subInfoRecord) { + if (isDetached()) return; ImageView signalView = mSignalViews.get(subInfoRecord.slotId); SignalStrength signalStrength = mSignalStrengths.get(subInfoRecord.slotId); if (!hasService(subInfoRecord)) { diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java index 7d7b433..8ff74aa 100644 --- a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java @@ -22,6 +22,7 @@ import android.accounts.AccountManagerFuture; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; import android.app.Activity; +import android.app.ActivityOptions; import android.app.Fragment; import android.app.FragmentManager; import android.content.Context; @@ -299,8 +300,13 @@ public class CyanogenServicesPage extends SetupPage { Bundle result = future.getResult(); Intent intent = result .getParcelable(AccountManager.KEY_INTENT); + ActivityOptions options = + ActivityOptions.makeCustomAnimation(activity, + android.R.anim.fade_in, + android.R.anim.fade_out); activity.startActivityForResult(intent, - SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN); + SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN, + options.toBundle()); } catch (OperationCanceledException e) { } catch (IOException e) { } catch (AuthenticatorException e) { diff --git a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java index fe9c5c9..0780594 100644 --- a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java @@ -22,6 +22,7 @@ import android.accounts.AccountManagerFuture; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; import android.app.Activity; +import android.app.ActivityOptions; import android.app.Fragment; import android.app.FragmentManager; import android.content.Context; @@ -109,8 +110,12 @@ public class GmsAccountPage extends SetupPage { Bundle result = future.getResult(); Intent intent = result .getParcelable(AccountManager.KEY_INTENT); + ActivityOptions options = + ActivityOptions.makeCustomAnimation(activity, + android.R.anim.fade_in, + android.R.anim.fade_out); activity.startActivityForResult(intent, - SetupWizardApp.REQUEST_CODE_SETUP_GMS); + SetupWizardApp.REQUEST_CODE_SETUP_GMS, options.toBundle()); } catch (OperationCanceledException e) { } catch (IOException e) { } catch (AuthenticatorException e) { diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java index b8e5b48..9a2b054 100644 --- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java +++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java @@ -55,6 +55,7 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.setup_main); + getWindow().setWindowAnimations(android.R.anim.fade_in); mRootView = findViewById(R.id.root); ((SetupWizardApp)getApplicationContext()).disableStatusBar(); mSetupData = (AbstractSetupData)getLastNonConfigurationInstance(); diff --git a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java index d0f2006..b35af96 100644 --- a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java +++ b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java @@ -18,6 +18,7 @@ package com.cyanogenmod.setupwizard.util; import android.accounts.AccountManager; import android.app.Activity; +import android.app.ActivityOptions; import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -29,6 +30,7 @@ import android.net.wifi.WifiManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; +import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.SetupWizardApp; import com.google.android.gms.common.ConnectionResult; @@ -58,7 +60,12 @@ public class SetupWizardUtils { intent.putExtra(SetupWizardApp.EXTRA_ALLOW_SKIP, true); intent.putExtra("theme", "material_light"); intent.putExtra(SetupWizardApp.EXTRA_AUTO_FINISH, false); - context.startActivityForResult(intent, SetupWizardApp.REQUEST_CODE_SETUP_WIFI); + ActivityOptions options = + ActivityOptions.makeCustomAnimation(context, + android.R.anim.fade_in, + android.R.anim.fade_out); + context.startActivityForResult(intent, + SetupWizardApp.REQUEST_CODE_SETUP_WIFI, options.toBundle()); } public static boolean isNetworkConnected(Context context) {