diff options
author | Sanket Padawe <sanketpadawe@google.com> | 2015-08-06 02:15:59 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-08-06 02:15:59 +0000 |
commit | b6e3c263a2b3784b10fd0961c64d27c68230fad6 (patch) | |
tree | f87d936cee80c5d2a39cf9defe31c8c4cfe5e56c | |
parent | 2da85adeb3bfdf0281c015bcd91ee3c490890297 (diff) | |
parent | 78f25fd30ba348daedf520f666d88764bbdf0c91 (diff) | |
download | android_packages_apps_CertInstaller-b6e3c263a2b3784b10fd0961c64d27c68230fad6.tar.gz android_packages_apps_CertInstaller-b6e3c263a2b3784b10fd0961c64d27c68230fad6.tar.bz2 android_packages_apps_CertInstaller-b6e3c263a2b3784b10fd0961c64d27c68230fad6.zip |
am 78f25fd3: am 909641b2: Offload time consuming task to background while installing HS profile.
* commit '78f25fd30ba348daedf520f666d88764bbdf0c91':
Offload time consuming task to background while installing HS profile.
-rw-r--r-- | res/values/strings.xml | 1 | ||||
-rw-r--r-- | src/com/android/certinstaller/WiFiInstaller.java | 81 |
2 files changed, 50 insertions, 32 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 8550395..6fe6596 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -90,6 +90,7 @@ <string name="wifi_detail_title">Details for %s</string> <string name="wifi_detail_label">Details</string> <string name="wifi_install_label">Install</string> + <!-- Toast message to be displayed when installing Hotspot 2.0 credentials [CHAR LIMIT=40] --> <string name="wifi_installing_label">Installing</string> <string name="wifi_cancel_label">Cancel</string> <string name="wifi_dismiss_label">Dismiss</string> diff --git a/src/com/android/certinstaller/WiFiInstaller.java b/src/com/android/certinstaller/WiFiInstaller.java index 00cb0bb..8e54ebd 100644 --- a/src/com/android/certinstaller/WiFiInstaller.java +++ b/src/com/android/certinstaller/WiFiInstaller.java @@ -17,6 +17,8 @@ import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; +import android.widget.Toast; +import android.os.AsyncTask; import java.security.PrivateKey; import java.security.interfaces.RSAPrivateKey; @@ -131,40 +133,55 @@ public class WiFiInstaller extends Activity { new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - List<String> newDomain = splitDomain(mWifiConfiguration.FQDN); - for (WifiConfiguration config : mWifiManager.getConfiguredNetworks()) { - if (sameBaseDomain(newDomain, config.FQDN)) { - mWifiManager.removeNetwork(config.networkId); - break; - } - } - boolean success; - try { - success = mWifiManager.addNetwork(mWifiConfiguration) != -1 - && mWifiManager.saveConfiguration(); + final boolean wifiEnabled = mWifiManager.isWifiEnabled(); + if (wifiEnabled) { + Toast.makeText(WiFiInstaller.this, getString(R.string.wifi_installing_label), + Toast.LENGTH_LONG).show(); } - catch (RuntimeException rte) { - Log.w(TAG, "Caught exception while installing wifi config: " + rte, rte); - success = false; - } - if (success) { - Intent intent = new Intent(getApplicationContext(), - CredentialsInstallDialog.class); - intent.putExtra(NETWORK_NAME, mWifiConfiguration.providerFriendlyName); - intent.putExtra(INSTALL_STATE, INSTALL_SUCCESS); - startActivity(intent); - } else { - Intent intent = new Intent(getApplicationContext(), - CredentialsInstallDialog.class); - if (!mWifiManager.isWifiEnabled()) { - intent.putExtra(INSTALL_STATE, INSTALL_FAIL_NO_WIFI); - } else { - intent.putExtra(INSTALL_STATE, INSTALL_FAIL); + AsyncTask.execute(new Runnable() { + @Override + public void run() { + boolean success = false; + if (wifiEnabled) { + List<String> newDomain = splitDomain(mWifiConfiguration.FQDN); + for (WifiConfiguration config : + mWifiManager.getConfiguredNetworks()) { + if (sameBaseDomain(newDomain, config.FQDN)) { + mWifiManager.removeNetwork(config.networkId); + break; + } + } + try { + success = mWifiManager.addNetwork(mWifiConfiguration) != -1 + && mWifiManager.saveConfiguration(); + } + catch (RuntimeException rte) { + Log.w(TAG, "Caught exception while installing wifi config: " + + rte, rte); + success = false; + } + } + if (success) { + Intent intent = new Intent(getApplicationContext(), + CredentialsInstallDialog.class); + intent.putExtra(NETWORK_NAME, + mWifiConfiguration.providerFriendlyName); + intent.putExtra(INSTALL_STATE, INSTALL_SUCCESS); + startActivity(intent); + } else { + Intent intent = new Intent(getApplicationContext(), + CredentialsInstallDialog.class); + if (!wifiEnabled) { + intent.putExtra(INSTALL_STATE, INSTALL_FAIL_NO_WIFI); + } else { + intent.putExtra(INSTALL_STATE, INSTALL_FAIL); + } + startActivity(intent); + } + finish(); } - startActivity(intent); - } + }); dialog.dismiss(); - finish(); } }); @@ -175,7 +192,7 @@ public class WiFiInstaller extends Activity { dialog.dismiss(); finish(); } - }); + }); } else { text.setText(getResources().getString(R.string.wifi_installer_download_error)); builder.setPositiveButton(R.string.done_label, new DialogInterface.OnClickListener() { |