SetupWizard. Don't show account pages if no connectivity

Change-Id: I36e181f67e9fc0efef39cc58f7dc80bbbfd5b49d
This commit is contained in:
cretin45 2015-02-13 10:51:10 -08:00
parent 97fdf91ee8
commit 16486aead0
1 changed files with 23 additions and 2 deletions

View File

@ -19,6 +19,8 @@ package com.cyanogenmod.setupwizard.setup;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
import com.android.internal.telephony.TelephonyIntents;
@ -53,10 +55,10 @@ public class CMSetupWizardData extends AbstractSetupData {
.setHidden(!isSimInserted() || SetupWizardUtils.isMobileDataEnabled(mContext)));
}
if (SetupWizardUtils.hasGMS(mContext)) {
pages.add(new GmsAccountPage(mContext, this));
pages.add(new GmsAccountPage(mContext, this).setHidden(true));
}
if (SetupWizardUtils.isOwner()) {
pages.add(new CyanogenServicesPage(mContext, this));
pages.add(new CyanogenServicesPage(mContext, this).setHidden(true));
pages.add(new CyanogenSettingsPage(mContext, this));
pages.add(new OtherSettingsPage(mContext, this));
pages.add(new DateTimePage(mContext, this));
@ -80,9 +82,13 @@ public class CMSetupWizardData extends AbstractSetupData {
simCardMissingPage.setHidden(isSimInserted());
}
showHideMobileDataPage();
} else if (intent.getAction()
.equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
showHideAccountPages();
} else if (intent.getAction()
.equals(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) {
showHideMobileDataPage();
showHideAccountPages();
} else if (intent.getAction().equals(Intent.ACTION_TIMEZONE_CHANGED) ||
intent.getAction().equals(TelephonyIntents.ACTION_NETWORK_SET_TIMEZONE)) {
mTimeZoneSet = true;
@ -94,6 +100,20 @@ public class CMSetupWizardData extends AbstractSetupData {
}
}
private void showHideAccountPages() {
boolean isConnected = SetupWizardUtils.isNetworkConnected(mContext);
GmsAccountPage gmsAccountPage =
(GmsAccountPage) getPage(GmsAccountPage.TAG);
if (gmsAccountPage != null) {
gmsAccountPage.setHidden(!isConnected);
}
CyanogenServicesPage cyanogenServicesPage =
(CyanogenServicesPage) getPage(CyanogenServicesPage.TAG);
if (cyanogenServicesPage != null) {
cyanogenServicesPage.setHidden(!isConnected);
}
}
private void showHideMobileDataPage() {
MobileDataPage mobileDataPage =
(MobileDataPage) getPage(MobileDataPage.TAG);
@ -116,6 +136,7 @@ public class CMSetupWizardData extends AbstractSetupData {
filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
filter.addAction(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
}
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
filter.addAction(Intent.ACTION_TIME_CHANGED);
filter.addAction(TelephonyIntents.ACTION_NETWORK_SET_TIME);