summaryrefslogtreecommitdiffstats
path: root/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
diff options
context:
space:
mode:
authorcretin45 <cretin45@gmail.com>2015-02-23 13:52:37 -0800
committercretin45 <cretin45@gmail.com>2015-02-25 14:59:06 -0800
commit01f21da16bc6c958ee237a6fa9170f7e11fda2c7 (patch)
treed8d20ece00d73fe751c4170f3bb74bd401c33383 /src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
parent1d54e5207a6e8e63dc19e5392bf9cfab967310bf (diff)
downloadpackages_apps_SetupWizard-01f21da16bc6c958ee237a6fa9170f7e11fda2c7.zip
packages_apps_SetupWizard-01f21da16bc6c958ee237a6fa9170f7e11fda2c7.tar.gz
packages_apps_SetupWizard-01f21da16bc6c958ee237a6fa9170f7e11fda2c7.tar.bz2
SetupWizard: Add option to apply default theme if one exists
* A bunch of code cleanup/refactoring to make this work Change-Id: I059fb5fa5bcd7dd8821e993218a320554f10a314
Diffstat (limited to 'src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java')
-rw-r--r--src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java45
1 files changed, 32 insertions, 13 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
index 4a526b3..2dc2c94 100644
--- a/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
+++ b/src/com/cyanogenmod/setupwizard/setup/WifiSetupPage.java
@@ -18,8 +18,8 @@ package com.cyanogenmod.setupwizard.setup;
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.net.ConnectivityManager;
import android.os.Bundle;
@@ -30,7 +30,7 @@ import android.util.Log;
import com.cyanogenmod.setupwizard.R;
import com.cyanogenmod.setupwizard.SetupWizardApp;
import com.cyanogenmod.setupwizard.ui.LoadingFragment;
-import com.cyanogenmod.setupwizard.ui.SetupWizardActivity;
+import com.cyanogenmod.setupwizard.ui.SetupPageFragment;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
import java.io.IOException;
@@ -59,10 +59,9 @@ public class WifiSetupPage extends SetupPage {
private Runnable mFinishCaptivePortalCheckRunnable = new Runnable() {
@Override
public void run() {
- final SetupWizardActivity activity = mContext;
if (mIsCaptivePortal) {
try {
- int netId = ConnectivityManager.from(activity)
+ int netId = ConnectivityManager.from(mContext)
.getNetworkForType(ConnectivityManager.TYPE_WIFI).netId;
Intent intent = new Intent(CAPTIVE_PORTAL_LOGIN_ACTION);
intent.putExtra(Intent.EXTRA_TEXT, String.valueOf(netId));
@@ -76,25 +75,25 @@ public class WifiSetupPage extends SetupPage {
ActivityOptions.makeCustomAnimation(mContext,
android.R.anim.fade_in,
android.R.anim.fade_out);
- activity.startActivityForResult(intent,
+ mLoadingFragment.startActivityForResult(intent,
SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL,
options.toBundle());
} catch (Exception e) {
//Oh well
Log.e(TAG, "No captive portal activity found" + e);
- if (activity.isCurrentPage(WifiSetupPage.this)) {
+ if (getCallbacks().isCurrentPage(WifiSetupPage.this)) {
getCallbacks().onNextPage();
}
}
} else {
- if (activity.isCurrentPage(WifiSetupPage.this)) {
+ if (getCallbacks().isCurrentPage(WifiSetupPage.this)) {
getCallbacks().onNextPage();
}
}
}
};
- public WifiSetupPage(SetupWizardActivity context, SetupDataCallbacks callbacks) {
+ public WifiSetupPage(Context context, SetupDataCallbacks callbacks) {
super(context, callbacks);
String server = Settings.Global.getString(context.getContentResolver(), "captive_portal_server");
if (server == null) server = DEFAULT_SERVER;
@@ -106,7 +105,7 @@ public class WifiSetupPage extends SetupPage {
}
@Override
- public Fragment getFragment(FragmentManager fragmentManager, int action) {
+ public SetupPageFragment getFragment(FragmentManager fragmentManager, int action) {
mLoadingFragment = (LoadingFragment)fragmentManager.findFragmentByTag(getKey());
if (mLoadingFragment == null) {
Bundle args = new Bundle();
@@ -134,9 +133,8 @@ public class WifiSetupPage extends SetupPage {
}
@Override
- public void doLoadAction(SetupWizardActivity context, int action) {
- super.doLoadAction(context, action);
- SetupWizardUtils.launchWifiSetup(context);
+ public void onFragmentReady() {
+ launchWifiSetup();
}
@Override
@@ -151,7 +149,7 @@ public class WifiSetupPage extends SetupPage {
}
} else if (requestCode == SetupWizardApp.REQUEST_CODE_SETUP_CAPTIVE_PORTAL) {
if (resultCode == Activity.RESULT_CANCELED) {
- SetupWizardUtils.launchWifiSetup(mContext);
+ launchWifiSetup();
} else {
getCallbacks().onNextPage();
}
@@ -183,6 +181,11 @@ public class WifiSetupPage extends SetupPage {
urlConnection.setUseCaches(false);
urlConnection.getInputStream();
// We got a valid response, but not from the real google
+ final int responseCode = urlConnection.getResponseCode();
+ if (responseCode == 408 || responseCode == 504) {
+ // If we timeout here, we'll try and go through captive portal login
+ return true;
+ }
return urlConnection.getResponseCode() != 204;
} catch (IOException e) {
Log.e(TAG, "Captive portal check - probably not a portal: exception "
@@ -194,4 +197,20 @@ public class WifiSetupPage extends SetupPage {
}
}
}
+
+ private void launchWifiSetup() {
+ SetupWizardUtils.tryEnablingWifi(mContext);
+ Intent intent = new Intent(SetupWizardApp.ACTION_SETUP_WIFI);
+ intent.putExtra(SetupWizardApp.EXTRA_FIRST_RUN, true);
+ intent.putExtra(SetupWizardApp.EXTRA_ALLOW_SKIP, true);
+ intent.putExtra(SetupWizardApp.EXTRA_USE_IMMERSIVE, true);
+ intent.putExtra(SetupWizardApp.EXTRA_THEME, SetupWizardApp.EXTRA_MATERIAL_LIGHT);
+ intent.putExtra(SetupWizardApp.EXTRA_AUTO_FINISH, false);
+ ActivityOptions options =
+ ActivityOptions.makeCustomAnimation(mContext,
+ android.R.anim.fade_in,
+ android.R.anim.fade_out);
+ mLoadingFragment.startActivityForResult(intent,
+ SetupWizardApp.REQUEST_CODE_SETUP_WIFI, options.toBundle());
+ }
}