diff options
author | Joey Rizzoli <joey@lineageos.it> | 2016-12-29 17:28:02 +0100 |
---|---|---|
committer | Abhisek Devkota <ciwrl@lineageos.org> | 2017-01-14 18:36:57 -0800 |
commit | d1331884a16916a36b16ca4d53d4c72d2bda6738 (patch) | |
tree | 3fe040402b001a5aa55b5bfd80a9089408158469 /src/com/cyanogenmod/setupwizard/setup/WelcomePage.java | |
parent | 65d6ac1299720f8cc8e40cc8cc875fe3da2337dd (diff) | |
download | packages_apps_SetupWizard-d1331884a16916a36b16ca4d53d4c72d2bda6738.tar.gz packages_apps_SetupWizard-d1331884a16916a36b16ca4d53d4c72d2bda6738.tar.bz2 packages_apps_SetupWizard-d1331884a16916a36b16ca4d53d4c72d2bda6738.zip |
SetupWizard: rebrand to LineageOS
* Rebrand UI
* Add privacy guard to setup
* Disable Cyngn inc MOD platform and account setup
* Make privacy policy view-able again
Change-Id: Iacd60886992ca72d3f75bb21a905d612432751fc
Signed-off-by: Joey Rizzoli <joey@lineageos.it>
Diffstat (limited to 'src/com/cyanogenmod/setupwizard/setup/WelcomePage.java')
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/WelcomePage.java | 258 |
1 files changed, 9 insertions, 249 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java index 460a0ac..2e63085 100644 --- a/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java +++ b/src/com/cyanogenmod/setupwizard/setup/WelcomePage.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013 The CyanogenMod Project + * Copyright (C) 2017 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,39 +16,19 @@ package com.cyanogenmod.setupwizard.setup; -import android.accounts.AccountManager; -import android.accounts.AccountManagerCallback; -import android.accounts.AccountManagerFuture; import android.app.Activity; import android.app.ActivityOptions; import android.app.Fragment; import android.app.FragmentManager; import android.content.Context; import android.content.Intent; -import android.content.res.Configuration; import android.content.res.Resources; -import android.os.AsyncTask; import android.os.Bundle; -import android.os.Handler; -import android.telephony.SubscriptionInfo; -import android.telephony.SubscriptionManager; -import android.telephony.TelephonyManager; -import android.util.Log; -import android.view.View; -import android.widget.ArrayAdapter; -import android.widget.NumberPicker; -import android.widget.Toast; -import com.android.internal.telephony.MccTable; import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.SetupWizardApp; import com.cyanogenmod.setupwizard.cmstats.SetupStats; -import com.cyanogenmod.setupwizard.ui.LocalePicker; import com.cyanogenmod.setupwizard.ui.SetupPageFragment; -import com.cyanogenmod.setupwizard.util.SetupWizardUtils; - -import java.util.List; -import java.util.Locale; public class WelcomePage extends SetupPage { @@ -77,20 +57,17 @@ public class WelcomePage extends SetupPage { @Override public int getTitleResId() { - return R.string.setup_welcome; + return R.string.os_name; + } + + @Override + public int getIconResId() { + return -1; } @Override public boolean doNextAction() { - if (isLocked()) { - confirmCyanogenCredentials(mWelcomeFragment); - return true; - } else { - if (mWelcomeFragment != null) { - mWelcomeFragment.sendLocaleStats(); - } - return super.doNextAction(); - } + return super.doNextAction(); } @Override @@ -129,11 +106,7 @@ public class WelcomePage extends SetupPage { @Override public int getNextButtonTitleResId() { - if (isLocked()) { - return R.string.setup_unlock; - } else { - return R.string.next; - } + return R.string.next; } @Override @@ -141,229 +114,16 @@ public class WelcomePage extends SetupPage { return R.string.emergency_call; } - private void confirmCyanogenCredentials(final Fragment fragment) { - AccountManager accountManager = AccountManager.get(mContext); - accountManager.editProperties(SetupWizardApp.ACCOUNT_TYPE_CYANOGEN, null, - new AccountManagerCallback<Bundle>() { - public void run(AccountManagerFuture<Bundle> f) { - try { - Bundle b = f.getResult(); - Intent i = b.getParcelable(AccountManager.KEY_INTENT); - i.putExtra(SetupWizardApp.EXTRA_FIRST_RUN, true); - i.putExtra(SetupWizardApp.EXTRA_SHOW_BUTTON_BAR, true); - i.putExtra(SetupWizardApp.EXTRA_USE_IMMERSIVE, true); - i.putExtra(SetupWizardApp.EXTRA_LOGIN_FOR_KILL_SWITCH, true); - fragment.startActivityForResult(i, - SetupWizardApp.REQUEST_CODE_UNLOCK); - } catch (Throwable t) { - Log.e(getKey(), "confirmCredentials failed", t); - } - } - }, null); - } - - private boolean isLocked() { - boolean isAuthorized = ((SetupWizardApp) mContext.getApplicationContext()).isAuthorized(); - if (SetupWizardUtils.isDeviceLocked()) { - return !isAuthorized; - } - return false; - } - - public void simChanged() { - if (mWelcomeFragment != null) { - mWelcomeFragment.fetchAndUpdateSimLocale(); - } - } - public static class WelcomeFragment extends SetupPageFragment { - private ArrayAdapter<com.android.internal.app.LocalePicker.LocaleInfo> mLocaleAdapter; - private Locale mInitialLocale; - private Locale mCurrentLocale; - private int[] mAdapterIndices; - private boolean mIgnoreSimLocale; - private LocalePicker mLanguagePicker; - private FetchUpdateSimLocaleTask mFetchUpdateSimLocaleTask; - private final Handler mHandler = new Handler(); - private boolean mPendingLocaleUpdate; - private boolean mPaused = true; - - private final Runnable mUpdateLocale = new Runnable() { - public void run() { - if (mCurrentLocale != null) { - mLanguagePicker.setEnabled(false); - com.android.internal.app.LocalePicker.updateLocale(mCurrentLocale); - } - } - }; - @Override protected void initializePage() { - mLanguagePicker = (LocalePicker) mRootView.findViewById(R.id.locale_list); - loadLanguages(); - final boolean brandedDevice = getResources().getBoolean( - R.bool.branded_device); - if (brandedDevice) { - mRootView.findViewById(R.id.powered_by_logo).setVisibility(View.VISIBLE); - } - } - - private void loadLanguages() { - mLocaleAdapter = com.android.internal.app.LocalePicker.constructAdapter(getActivity(), R.layout.locale_picker_item, R.id.locale); - mCurrentLocale = mInitialLocale = Locale.getDefault(); - fetchAndUpdateSimLocale(); - mAdapterIndices = new int[mLocaleAdapter.getCount()]; - int currentLocaleIndex = 0; - String [] labels = new String[mLocaleAdapter.getCount()]; - for (int i=0; i<mAdapterIndices.length; i++) { - com.android.internal.app.LocalePicker.LocaleInfo localLocaleInfo = mLocaleAdapter.getItem(i); - Locale localLocale = localLocaleInfo.getLocale(); - if (localLocale.equals(mCurrentLocale)) { - currentLocaleIndex = i; - } - mAdapterIndices[i] = i; - labels[i] = localLocaleInfo.getLabel(); - } - mLanguagePicker.setDisplayedValues(labels); - mLanguagePicker.setMaxValue(labels.length - 1); - mLanguagePicker.setValue(currentLocaleIndex); - mLanguagePicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); - mLanguagePicker.setOnValueChangedListener(new LocalePicker.OnValueChangeListener() { - public void onValueChange(LocalePicker picker, int oldVal, int newVal) { - setLocaleFromPicker(); - } - }); - mLanguagePicker.setOnScrollListener(new LocalePicker.OnScrollListener() { - @Override - public void onScrollStateChange(LocalePicker view, int scrollState) { - if (scrollState == SCROLL_STATE_TOUCH_SCROLL) { - mIgnoreSimLocale = true; - } - } - }); - } - - private void setLocaleFromPicker() { - mIgnoreSimLocale = true; - int i = mAdapterIndices[mLanguagePicker.getValue()]; - final com.android.internal.app.LocalePicker.LocaleInfo localLocaleInfo = mLocaleAdapter.getItem(i); - onLocaleChanged(localLocaleInfo.getLocale()); - } - - private void onLocaleChanged(Locale paramLocale) { - mLanguagePicker.setEnabled(true); - Resources localResources = getActivity().getResources(); - Configuration localConfiguration1 = localResources.getConfiguration(); - Configuration localConfiguration2 = new Configuration(); - localConfiguration2.locale = paramLocale; - localResources.updateConfiguration(localConfiguration2, null); - localResources.updateConfiguration(localConfiguration1, null); - mHandler.removeCallbacks(mUpdateLocale); - mCurrentLocale = paramLocale; - mHandler.postDelayed(mUpdateLocale, 1000); } @Override protected int getLayoutResource() { return R.layout.setup_welcome_page; } - - public void sendLocaleStats() { - if (!mCurrentLocale.equals(mInitialLocale)) { - SetupStats.addEvent(SetupStats.Categories.SETTING_CHANGED, - SetupStats.Action.CHANGE_LOCALE, SetupStats.Label.LOCALE, - mCurrentLocale.getDisplayName()); - } - } - - public void fetchAndUpdateSimLocale() { - if (mIgnoreSimLocale || isDetached()) { - return; - } - if (mPaused) { - mPendingLocaleUpdate = true; - return; - } - if (mFetchUpdateSimLocaleTask != null) { - mFetchUpdateSimLocaleTask.cancel(true); - } - mFetchUpdateSimLocaleTask = new FetchUpdateSimLocaleTask(); - mFetchUpdateSimLocaleTask.execute(); - } - - private class FetchUpdateSimLocaleTask extends AsyncTask<Void, Void, Locale> { - @Override - protected Locale doInBackground(Void... params) { - Locale locale = null; - Activity activity = getActivity(); - if (activity != null) { - // If the sim is currently pin locked, return - TelephonyManager telephonyManager = (TelephonyManager) - activity.getSystemService(Context.TELEPHONY_SERVICE); - int state = telephonyManager.getSimState(); - if(state == TelephonyManager.SIM_STATE_PIN_REQUIRED || - state == TelephonyManager.SIM_STATE_PUK_REQUIRED) { - return null; - } - - final SubscriptionManager subscriptionManager = - SubscriptionManager.from(activity); - List<SubscriptionInfo> activeSubs = - subscriptionManager.getActiveSubscriptionInfoList(); - if (activeSubs == null || activeSubs.isEmpty()) { - return null; - } - - // Fetch locale for active sim's MCC - int mcc = activeSubs.get(0).getMcc(); - locale = MccTable.getLocaleFromMcc(activity, mcc, null); - - // If that fails, fall back to preferred languages reported - // by the sim - if (locale == null) { - String localeString = telephonyManager.getLocaleFromDefaultSim(); - if (localeString != null) { - locale = Locale.forLanguageTag(localeString); - - } - } - } - return locale; - } - - @Override - protected void onPostExecute(Locale simLocale) { - if (simLocale != null && !simLocale.equals(mCurrentLocale)) { - if (!mIgnoreSimLocale && !isDetached()) { - String label = getString(R.string.sim_locale_changed, - simLocale.getDisplayName()); - Toast.makeText(getActivity(), label, Toast.LENGTH_SHORT).show(); - onLocaleChanged(simLocale); - mIgnoreSimLocale = true; - } - } - } - } - - @Override - public void onPause() { - super.onPause(); - mPaused = true; - } - - @Override - public void onResume() { - super.onResume(); - mPaused = false; - if (mLanguagePicker != null) { - mLanguagePicker.setEnabled(true); - } - if (mPendingLocaleUpdate) { - mPendingLocaleUpdate = false; - fetchAndUpdateSimLocale(); - } - } } } |