SetupWizard: Part 1: Initial wizard manager conversion
Part 1 implements SetupWizard support if GMS is present.
Change-Id: I0d465a9d84f0c477acc8309511894e9b194762f7
diff --git a/src/com/cyanogenmod/setupwizard/SetupWizardApp.java b/src/com/cyanogenmod/setupwizard/SetupWizardApp.java
index f16dd9d..41d2bd8 100644
--- a/src/com/cyanogenmod/setupwizard/SetupWizardApp.java
+++ b/src/com/cyanogenmod/setupwizard/SetupWizardApp.java
@@ -18,16 +18,13 @@
import android.app.Application;
-import android.app.StatusBarManager;
-import android.content.Context;
import android.content.pm.PackageManager;
+import android.os.Bundle;
import android.os.Handler;
import android.provider.Settings;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
-import cyanogenmod.providers.CMSettings;
-
public class SetupWizardApp extends Application {
public static final String TAG = SetupWizardApp.class.getSimpleName();
@@ -36,11 +33,7 @@
public static final String ACTION_FINISHED = "com.cyanogenmod.setupwizard.SETUP_FINISHED";
- public static final String ACCOUNT_TYPE_CYANOGEN = "com.cyanogen";
- public static final String ACCOUNT_TYPE_GMS = "com.google";
-
public static final String ACTION_SETUP_WIFI = "com.android.net.wifi.SETUP_WIFI_NETWORK";
- public static final String ACTION_VIEW_LEGAL = "cyanogenmod.intent.action.LEGALESE";
public static final String ACTION_SETUP_FINGERPRINT = "android.settings.FINGERPRINT_SETUP";
public static final String ACTION_SETUP_LOCKSCREEN = "com.android.settings.SETUP_LOCK_SCREEN";
@@ -48,19 +41,18 @@
public static final String EXTRA_FIRST_RUN = "firstRun";
public static final String EXTRA_ALLOW_SKIP = "allowSkip";
public static final String EXTRA_AUTO_FINISH = "wifi_auto_finish_on_connect";
- public static final String EXTRA_SHOW_BUTTON_BAR = "extra_prefs_show_button_bar";
public static final String EXTRA_USE_IMMERSIVE = "useImmersiveMode";
public static final String EXTRA_THEME = "theme";
public static final String EXTRA_MATERIAL_LIGHT = "material_light";
- public static final String EXTRA_CKSOP = "cksOp";
- public static final String EXTRA_LOGIN_FOR_KILL_SWITCH = "authCks";
public static final String EXTRA_TITLE = "title";
public static final String EXTRA_DETAILS = "details";
- public static final String EXTRA_FRAGMENT = "fragment";
- public static final String EXTRA_ACTION_ID = "actionId";
- public static final String EXTRA_SUPRESS_D2D_SETUP = "suppress_device_to_device_setup";
public static final String KEY_DETECT_CAPTIVE_PORTAL = "captive_portal_detection_enabled";
+ public static final String KEY_SEND_METRICS = "send_metrics";
+ public static final String DISABLE_NAV_KEYS = "disable_nav_keys";
+ public static final String KEY_APPLY_DEFAULT_THEME = "apply_default_theme";
+ public static final String KEY_BUTTON_BACKLIGHT = "pre_navbar_button_backlight";
+ public static final String KEY_PRIVACY_GUARD = "privacy_guard_default";
private static final String[] THEME_PACKAGES = {
"org.cyanogenmod.theme.chooser",
@@ -70,24 +62,19 @@
};
public static final int REQUEST_CODE_SETUP_WIFI = 0;
- public static final int REQUEST_CODE_SETUP_GMS= 1;
- public static final int REQUEST_CODE_RESTORE_GMS= 2;
- public static final int REQUEST_CODE_SETUP_CYANOGEN= 3;
public static final int REQUEST_CODE_SETUP_CAPTIVE_PORTAL= 4;
public static final int REQUEST_CODE_SETUP_BLUETOOTH= 5;
public static final int REQUEST_CODE_UNLOCK = 6;
public static final int REQUEST_CODE_SETUP_FINGERPRINT = 7;
- public static final int REQUEST_CODE_VENDOR_SETUP_GMS = 8;
public static final int REQUEST_CODE_SETUP_LOCKSCREEN = 9;
public static final int RADIO_READY_TIMEOUT = 10 * 1000;
private boolean mIsRadioReady = false;
-
private boolean mIsAuthorized = false;
+ private boolean mIgnoreSimLocale = false;
- private StatusBarManager mStatusBarManager;
-
+ private final Bundle mSettingsBundle = new Bundle();
private final Handler mHandler = new Handler();
private final Runnable mRadioTimeoutRunnable = new Runnable() {
@@ -100,35 +87,16 @@
@Override
public void onCreate() {
super.onCreate();
- mStatusBarManager = (StatusBarManager)getSystemService(Context.STATUS_BAR_SERVICE);
- try {
- // Since this is a new component, we need to disable here if the user
- // has already been through setup on a previous version.
- final boolean isOwner = SetupWizardUtils.isOwner();
- if (!isOwner
- || Settings.Secure.getInt(getContentResolver(),
- Settings.Secure.USER_SETUP_COMPLETE) == 1) {
- 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);
- CMSettings.Secure.putInt(getContentResolver(),
- CMSettings.Secure.CM_SETUP_WIZARD_COMPLETED, 1);
- SetupWizardUtils.disableGMSSetupWizard(SetupWizardApp.this);
- SetupWizardUtils.disableSetupWizard(SetupWizardApp.this);
- if (!isOwner) {
- disableThemeComponentsForSecondaryUser();
- }
- }
- };
- t.run();
- } else {
- disableCaptivePortalDetection();
- }
- } catch (Settings.SettingNotFoundException e) {
- // Continue with setup
+ final boolean isOwner = SetupWizardUtils.isOwner();
+ if (!isOwner) {
+ Thread t = new Thread(){
+ @Override
+ public void run() {
+ disableThemeComponentsForSecondaryUser();
+ }
+ };
+ t.run();
+ } else {
disableCaptivePortalDetection();
}
mHandler.postDelayed(mRadioTimeoutRunnable, SetupWizardApp.RADIO_READY_TIMEOUT);
@@ -153,18 +121,16 @@
mIsAuthorized = isAuthorized;
}
- public void disableStatusBar() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND |
- StatusBarManager.DISABLE_NOTIFICATION_ALERTS |
- StatusBarManager.DISABLE_NOTIFICATION_ICONS |
- StatusBarManager.DISABLE_NOTIFICATION_TICKER |
- StatusBarManager.DISABLE_RECENT |
- StatusBarManager.DISABLE_HOME |
- StatusBarManager.DISABLE_SEARCH);
+ public boolean ignoreSimLocale() {
+ return mIgnoreSimLocale;
}
- public void enableStatusBar() {
- mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
+ public void setIgnoreSimLocale(boolean ignoreSimLocale) {
+ mIgnoreSimLocale = ignoreSimLocale;
+ }
+
+ public Bundle getSettingsBundle() {
+ return mSettingsBundle;
}
public void disableCaptivePortalDetection() {