summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanket Padawe <sanketpadawe@google.com>2015-08-06 02:15:59 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-08-06 02:15:59 +0000
commitb6e3c263a2b3784b10fd0961c64d27c68230fad6 (patch)
treef87d936cee80c5d2a39cf9defe31c8c4cfe5e56c
parent2da85adeb3bfdf0281c015bcd91ee3c490890297 (diff)
parent78f25fd30ba348daedf520f666d88764bbdf0c91 (diff)
downloadandroid_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.xml1
-rw-r--r--src/com/android/certinstaller/WiFiInstaller.java81
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() {