diff options
Diffstat (limited to 'src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java')
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java b/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java deleted file mode 100644 index e71dd79..0000000 --- a/src/com/cyanogenmod/setupwizard/setup/CyanogenServicesPage.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright (C) 2013 The CyanogenMod Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.cyanogenmod.setupwizard.setup; - -import android.accounts.AccountManager; -import android.accounts.AccountManagerCallback; -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; -import android.content.Intent; -import android.os.Bundle; -import android.util.Log; - -import com.cyanogenmod.setupwizard.R; -import com.cyanogenmod.setupwizard.SetupWizardApp; -import com.cyanogenmod.setupwizard.cmstats.SetupStats; -import com.cyanogenmod.setupwizard.ui.LoadingFragment; -import com.cyanogenmod.setupwizard.util.SetupWizardUtils; - -import java.io.IOException; - -public class CyanogenServicesPage extends SetupPage { - - public static final String TAG = "CyanogenServicesPage"; - - private Fragment mFragment; - - public CyanogenServicesPage(Context context, SetupDataCallbacks callbacks) { - super(context, callbacks); - } - - @Override - public Fragment getFragment(FragmentManager fragmentManager, int action) { - mFragment = fragmentManager.findFragmentByTag(getKey()); - if (mFragment == null) { - Bundle args = new Bundle(); - args.putString(Page.KEY_PAGE_ARGUMENT, getKey()); - args.putInt(Page.KEY_PAGE_ACTION, action); - mFragment = new LoadingFragment(); - mFragment.setArguments(args); - } - return mFragment; - } - - @Override - public String getKey() { - return TAG; - } - - @Override - public int getTitleResId() { - return R.string.loading; - } - - @Override - public int getNextButtonTitleResId() { - return R.string.skip; - } - - @Override - public void doLoadAction(FragmentManager fragmentManager, int action) { - if (action == Page.ACTION_PREVIOUS) { - getCallbacks().onPreviousPage(); - } else { - if (!SetupWizardUtils.accountExists(mContext, - mContext.getString(R.string.cm_account_type))) { - super.doLoadAction(fragmentManager, action); - launchCyanogenAccountSetup(); - } else { - getCallbacks().onNextPage(); - } - } - } - - @Override - public boolean onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN) { - if (resultCode == Activity.RESULT_OK || resultCode == Activity.RESULT_FIRST_USER) { - SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD, - SetupStats.Action.EXTERNAL_PAGE_RESULT, - SetupStats.Label.CYANOGEN_ACCOUNT, - resultCode == Activity.RESULT_OK ? "success" : "skipped"); - if (SetupWizardUtils.accountExists(mContext, - mContext.getString(R.string.cm_account_type))) { - if (SetupWizardUtils.isDeviceLocked()) { - ((SetupWizardApp) mContext.getApplicationContext()).setIsAuthorized(true); - } - setHidden(true); - } - getCallbacks().onNextPage(); - } else if (resultCode == Activity.RESULT_CANCELED) { - SetupStats.addEvent(SetupStats.Categories.EXTERNAL_PAGE_LOAD, - SetupStats.Action.EXTERNAL_PAGE_RESULT, - SetupStats.Label.CYANOGEN_ACCOUNT, "canceled"); - getCallbacks().onPreviousPage(); - } - } - return true; - } - - private void launchCyanogenAccountSetup() { - Bundle bundle = new Bundle(); - bundle.putBoolean(SetupWizardApp.EXTRA_FIRST_RUN, true); - bundle.putBoolean(SetupWizardApp.EXTRA_SHOW_BUTTON_BAR, true); - bundle.putBoolean(SetupWizardApp.EXTRA_USE_IMMERSIVE, true); - AccountManager.get(mContext) - .addAccount(mContext.getString(R.string.cm_account_type), null, null, bundle, - null, new AccountManagerCallback<Bundle>() { - @Override - public void run(AccountManagerFuture<Bundle> future) { - boolean error = false; - try { - Bundle result = future.getResult(); - Intent intent = result - .getParcelable(AccountManager.KEY_INTENT); - 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.CYANOGEN_ACCOUNT); - mFragment.startActivityForResult(intent, - SetupWizardApp.REQUEST_CODE_SETUP_CYANOGEN, - options.toBundle()); - } catch (OperationCanceledException e) { - error = true; - } catch (IOException e) { - error = true; - } catch (AuthenticatorException e) { - Log.e(TAG, "Error launching cm account", e); - error = true; - } finally { - if (error && getCallbacks(). - isCurrentPage(CyanogenServicesPage.this)) { - getCallbacks().onNextPage(); - } - } - } - }, null); - } -} |