diff options
author | cretin45 <cretin45@gmail.com> | 2015-02-10 16:51:28 -0800 |
---|---|---|
committer | cretin45 <cretin45@gmail.com> | 2015-02-10 16:52:09 -0800 |
commit | 9cce6c2fcfbd01c0f741b40ce66ed34736d33995 (patch) | |
tree | 2f1ab4f14114460fb5fdf355ea83deb5145db6c2 /src/com/cyanogenmod/setupwizard | |
parent | 6ea46dd6d8b57cbabd2c22940a98770a2f094985 (diff) | |
download | packages_apps_SetupWizard-9cce6c2fcfbd01c0f741b40ce66ed34736d33995.zip packages_apps_SetupWizard-9cce6c2fcfbd01c0f741b40ce66ed34736d33995.tar.gz packages_apps_SetupWizard-9cce6c2fcfbd01c0f741b40ce66ed34736d33995.tar.bz2 |
SetupWizard: Make location page dynamic based on GMS
Change-Id: Ia30791882f049cef632281f21f2d7653536d5818
Diffstat (limited to 'src/com/cyanogenmod/setupwizard')
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java index 7d72fdc..9f85aea 100644 --- a/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/OtherSettingsPage.java @@ -28,11 +28,18 @@ import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; import android.provider.Settings; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.method.LinkMovementMethod; +import android.text.style.ClickableSpan; import android.view.View; import android.widget.CheckBox; +import android.widget.TextView; import com.cyanogenmod.setupwizard.R; import com.cyanogenmod.setupwizard.ui.SetupPageFragment; +import com.cyanogenmod.setupwizard.ui.WebViewDialogFragment; +import com.cyanogenmod.setupwizard.util.SetupWizardUtils; import java.util.Observable; import java.util.Observer; @@ -41,6 +48,8 @@ public class OtherSettingsPage extends SetupPage { private static final String TAG = "OtherSettingsPage"; + private static final String PRIVACY_POLICY_URI = "https://www.google.com/intl/en/policies/privacy/?fg=1"; + public OtherSettingsPage(Context context, SetupDataCallbacks callbacks) { super(context, callbacks); } @@ -65,7 +74,11 @@ public class OtherSettingsPage extends SetupPage { @Override public int getTitleResId() { - return R.string.setup_other; + if (SetupWizardUtils.hasGMS(mContext)) { + return R.string.setup_other; + } else { + return R.string.setup_location; + } } public static class OtherSettingsFragment extends SetupPageFragment { @@ -131,8 +144,32 @@ public class OtherSettingsPage extends SetupPage { @Override protected void initializePage() { + final boolean hasGms = SetupWizardUtils.hasGMS(getActivity()); + final boolean hasTelephony = SetupWizardUtils.hasTelephony(getActivity()); + TextView summaryView = (TextView) mRootView.findViewById(android.R.id.summary); + if (hasGms) { + String privacy_policy = getString(R.string.services_privacy_policy); + String otherSummary = getString(R.string.other_services_summary, privacy_policy); + SpannableString ss = new SpannableString(otherSummary); + ClickableSpan clickableSpan = new ClickableSpan() { + @Override + public void onClick(View textView) { + WebViewDialogFragment.newInstance() + .setUri(PRIVACY_POLICY_URI) + .show(getActivity().getFragmentManager(), WebViewDialogFragment.TAG); + } + }; + ss.setSpan(clickableSpan, + otherSummary.length() - privacy_policy.length() - 1, + otherSummary.length() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + summaryView.setMovementMethod(LinkMovementMethod.getInstance()); + summaryView.setText(ss); + } else { + summaryView.setText(R.string.location_services_summary); + } mBackupRow = mRootView.findViewById(R.id.backup); mBackupRow.setOnClickListener(mBackupClickListener); + mBackupRow.setVisibility(hasGms ? View.VISIBLE : View.GONE); mBackup = (CheckBox) mRootView.findViewById(R.id.backup_checkbox); mLocationRow = mRootView.findViewById(R.id.location); mLocationRow.setOnClickListener(mLocationClickListener); @@ -143,6 +180,14 @@ public class OtherSettingsPage extends SetupPage { mNetworkRow = mRootView.findViewById(R.id.network); mNetworkRow.setOnClickListener(mNetworkClickListener); mNetwork = (CheckBox) mRootView.findViewById(R.id.network_checkbox); + TextView networkSummary = (TextView) mRootView.findViewById(R.id.network_summary); + if (hasGms) { + networkSummary.setText(R.string.location_network_gms); + } else if (hasTelephony) { + networkSummary.setText(R.string.location_network_telephony); + } else { + networkSummary.setText(R.string.location_network); + } } @Override |