summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java42
-rw-r--r--src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java6
2 files changed, 26 insertions, 22 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
index f2df085..4ea000c 100644
--- a/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
+++ b/src/com/cyanogenmod/setupwizard/setup/GmsAccountPage.java
@@ -176,31 +176,33 @@ public class GmsAccountPage extends SetupPage {
private void launchGmsRestorePage() {
try {
// GMS can disable this after logging in sometimes
- SetupWizardUtils.enableGMSSetupWizard(mContext);
- Intent intent = new Intent(ACTION_RESTORE);
- intent.putExtra(SetupWizardApp.EXTRA_ALLOW_SKIP, true);
- intent.putExtra(SetupWizardApp.EXTRA_USE_IMMERSIVE, true);
- intent.putExtra(SetupWizardApp.EXTRA_FIRST_RUN, true);
- intent.putExtra(SetupWizardApp.EXTRA_THEME, SetupWizardApp.EXTRA_MATERIAL_LIGHT);
- // XXX: Fool G's setup wizard into thinking it is their setup wizard.
- // This is necessary to get the material theme on the restore page.
- intent.putExtra("scriptUri", RESTORE_WIZARD_SCRIPT);
- ActivityOptions options =
- ActivityOptions.makeCustomAnimation(mContext,
- android.R.anim.fade_in,
- android.R.anim.fade_out);
- SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
- SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
- SetupStats.Label.PAGE, SetupStats.Label.RESTORE);
- mFragment.startActivityForResult(
- intent,
- SetupWizardApp.REQUEST_CODE_RESTORE_GMS, options.toBundle());
+ if (SetupWizardUtils.enableGMSSetupWizard(mContext)) {
+ Intent intent = new Intent(ACTION_RESTORE);
+ intent.putExtra(SetupWizardApp.EXTRA_ALLOW_SKIP, true);
+ intent.putExtra(SetupWizardApp.EXTRA_USE_IMMERSIVE, true);
+ intent.putExtra(SetupWizardApp.EXTRA_FIRST_RUN, true);
+ intent.putExtra(SetupWizardApp.EXTRA_THEME, SetupWizardApp.EXTRA_MATERIAL_LIGHT);
+ // XXX: Fool G's setup wizard into thinking it is their setup wizard.
+ // This is necessary to get the material theme on the restore page.
+ intent.putExtra("scriptUri", RESTORE_WIZARD_SCRIPT);
+ ActivityOptions options =
+ ActivityOptions.makeCustomAnimation(mContext,
+ android.R.anim.fade_in,
+ android.R.anim.fade_out);
+ SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD,
+ SetupStats.Action.EXTERNAL_PAGE_LAUNCH,
+ SetupStats.Label.PAGE, SetupStats.Label.RESTORE);
+ mFragment.startActivityForResult(
+ intent,
+ SetupWizardApp.REQUEST_CODE_RESTORE_GMS, options.toBundle());
+ return;
+ }
} catch (Exception e) {
e.printStackTrace();
// XXX: In open source, we don't know what gms version a user has.
// Bail if the restore activity is not found.
- getCallbacks().onNextPage();
}
+ getCallbacks().onNextPage();
}
private void launchGmsAccountSetup() {
diff --git a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
index 37d60a0..3ea2ee8 100644
--- a/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
+++ b/src/com/cyanogenmod/setupwizard/util/SetupWizardUtils.java
@@ -163,7 +163,7 @@ public class SetupWizardUtils {
}
}
- public static void enableGMSSetupWizard(Context context) {
+ public static boolean enableGMSSetupWizard(Context context) {
try {
PackageInfo packageInfo = context.getPackageManager()
.getPackageInfo(GOOGLE_SETUPWIZARD_PACKAGE,
@@ -172,8 +172,10 @@ public class SetupWizardUtils {
enableComponentArray(context, packageInfo.activities);
enableComponentArray(context, packageInfo.services);
enableComponentArray(context, packageInfo.receivers);
+ return true;
} catch (PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Unable to disable GMS");
+ Log.e(TAG, "Unable to enable GMS");
+ return false;
}
}