diff --git a/src/com/cyanogenmod/setupwizard/SetupWizardApp.java b/src/com/cyanogenmod/setupwizard/SetupWizardApp.java index dabd4c7..cdcfcf8 100644 --- a/src/com/cyanogenmod/setupwizard/SetupWizardApp.java +++ b/src/com/cyanogenmod/setupwizard/SetupWizardApp.java @@ -99,14 +99,20 @@ public class SetupWizardApp extends Application { if (!isOwner || Settings.Secure.getInt(getContentResolver(), Settings.Secure.USER_SETUP_COMPLETE) == 1) { - Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1); - Settings.Secure.putInt(getContentResolver(), - Settings.Secure.USER_SETUP_COMPLETE, 1); - SetupWizardUtils.disableGMSSetupWizard(this); - SetupWizardUtils.disableSetupWizard(this); - if (!isOwner) { - disableThemeComponentsForSecondaryUser(); - } + Thread t = new Thread(){ + @Override + public void run() { + Settings.Global.putInt(getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1); + Settings.Secure.putInt(getContentResolver(), + Settings.Secure.USER_SETUP_COMPLETE, 1); + SetupWizardUtils.disableGMSSetupWizard(SetupWizardApp.this); + SetupWizardUtils.disableSetupWizard(SetupWizardApp.this); + if (!isOwner) { + disableThemeComponentsForSecondaryUser(); + } + } + }; + t.run(); } else { disableCaptivePortalDetection(); } diff --git a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java index 37eadbb..d8a5abb 100644 --- a/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java +++ b/src/com/cyanogenmod/setupwizard/ui/SetupWizardActivity.java @@ -84,6 +84,10 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final boolean isOwner = SetupWizardUtils.isOwner(); + if (!isOwner) { + finish(); + } final View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(UI_FLAGS); decorView.setOnSystemUiVisibilityChangeListener( @@ -157,6 +161,9 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, final View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(UI_FLAGS); super.onResume(); + if (isFinishing()) { + return; + } if (mSetupData.isFinished()) { mHandler.postDelayed(new Runnable() { @Override @@ -174,15 +181,19 @@ public class SetupWizardActivity extends Activity implements SetupDataCallbacks, @Override protected void onPause() { super.onPause(); - mSetupData.onPause(); + if (mSetupData != null) { + mSetupData.onPause(); + } } @Override protected void onDestroy() { super.onDestroy(); - mSetupData.onDestroy(); - mSetupData.unregisterListener(this); - unregisterReceiver(mSetupData); + if (mSetupData != null) { + mSetupData.onDestroy(); + mSetupData.unregisterListener(this); + unregisterReceiver(mSetupData); + } } @Override