Merge change 3994 into donut
* changes:
Shrink power widget to 3 cells wide.
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f84ef37..c2f53b8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1607,10 +1607,6 @@
<string name="accessibility_settings_summary">Manage accessibility options</string>
<!-- Setting Checkbox title for enabling accessibility -->
<string name="toggle_accessibility_title">Accessibility</string>
- <!-- Setting Checkbox summary for enabling accessiblity - enable -->
- <string name="enable_accessibility_service_summary">Enable accessibility</string>
- <!-- Setting Checkbox summary for enabling accessibility - disable -->
- <string name="disable_accessibility_service_summary">Disable accessibility</string>
<!-- Setting accessibility services category -->
<string name="accessibility_services_category">Accessibility services</string>
<!-- Message for announcing the lack of installed accessibility services. -->
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index d419540..3606f04 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -20,8 +20,6 @@
<CheckBoxPreference
android:key="toggle_accessibility_service_checkbox"
android:title="@string/toggle_accessibility_title"
- android:summaryOn="@string/disable_accessibility_service_summary"
- android:summaryOff="@string/enable_accessibility_service_summary"
android:persistent="false"/>
<PreferenceCategory android:key="accessibility_services_category"
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index 45602bc..54e3f14 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -96,9 +96,7 @@
if (!accessibilityServices.isEmpty()) {
if (serviceState == 1) {
mToggleCheckBox.setChecked(true);
- mToggleCheckBox.setSummaryOn(R.string.disable_accessibility_service_summary);
} else {
- mToggleCheckBox.setSummaryOff(R.string.enable_accessibility_service_summary);
setAccessibilityServicePreferencesState(false);
}
mToggleCheckBox.setEnabled(true);
@@ -109,7 +107,6 @@
Settings.Secure.ACCESSIBILITY_ENABLED, 0);
setAccessibilityServicePreferencesState(false);
}
- mToggleCheckBox.setSummaryOff(R.string.no_accessibility_services_summary);
mToggleCheckBox.setEnabled(false);
}
}
diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java
index d8da3d0..572ca85 100644
--- a/src/com/android/settings/wifi/AccessPointDialog.java
+++ b/src/com/android/settings/wifi/AccessPointDialog.java
@@ -22,6 +22,7 @@
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
+import android.security.Keystore;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
@@ -79,7 +80,8 @@
AccessPointState.WEP_PASSWORD_AUTO, AccessPointState.WEP_PASSWORD_ASCII,
AccessPointState.WEP_PASSWORD_HEX
};
-
+ private static final String NOT_APPLICABLE = "N/A";
+
// Button positions, default to impossible values
private int mConnectButtonPos = Integer.MAX_VALUE;
private int mForgetButtonPos = Integer.MAX_VALUE;
@@ -130,11 +132,13 @@
private TextView mSecurityText;
private Spinner mSecuritySpinner;
private Spinner mWepTypeSpinner;
+ private Keystore mKeystore;
public AccessPointDialog(Context context, WifiLayer wifiLayer) {
super(context);
mWifiLayer = wifiLayer;
+ mKeystore = Keystore.getInstance();
}
@Override
@@ -325,19 +329,34 @@
setEnterpriseFields(view);
mEapSpinner.setSelection(getSelectionIndex(
R.array.wifi_eap_entries, mState.getEap()));
- Keystore ks = Keystore.getInstance();
mClientCertSpinner.setSelection(getSelectionIndex(
- ks.getAllCertificateKeys(), mState.getEnterpriseField(
+ getAllCertificateKeys(), mState.getEnterpriseField(
AccessPointState.CLIENT_CERT)));
mCaCertSpinner.setSelection(getSelectionIndex(
- ks.getAllCertificateKeys(), mState.getEnterpriseField(
+ getAllCertificateKeys(), mState.getEnterpriseField(
AccessPointState.CA_CERT)));
mPrivateKeySpinner.setSelection(getSelectionIndex(
- ks.getAllUserkeyKeys(), mState.getEnterpriseField(
+ getAllUserkeyKeys(), mState.getEnterpriseField(
AccessPointState.PRIVATE_KEY)));
}
}
+ private String[] getAllCertificateKeys() {
+ return appendEmptyInSelection(mKeystore.getAllCertificateKeys());
+ }
+
+ private String[] getAllUserkeyKeys() {
+ return appendEmptyInSelection(mKeystore.getAllUserkeyKeys());
+ }
+
+ private String[] appendEmptyInSelection(String[] keys) {
+ if (keys.length == 0) return keys;
+ String[] selections = new String[keys.length + 1];
+ System.arraycopy(keys, 0, selections, 0, keys.length);
+ selections[keys.length] = NOT_APPLICABLE;
+ return selections;
+ }
+
private void setEnterpriseFields(View view) {
mIdentityText = (TextView) view.findViewById(R.id.identity_text);
mIdentityEdit = (EditText) view.findViewById(R.id.identity_edit);
@@ -365,26 +384,24 @@
mPhase2Spinner.setPromptId(R.string.please_select_phase2);
setSpinnerAdapter(mPhase2Spinner, R.array.wifi_phase2_entries);
- Keystore ks = Keystore.getInstance();
-
mClientCertSpinner =
(Spinner) view.findViewById(R.id.client_certificate_spinner);
mClientCertSpinner.setOnItemSelectedListener(this);
mClientCertSpinner.setPromptId(
R.string.please_select_client_certificate);
- setSpinnerAdapter(mClientCertSpinner, ks.getAllCertificateKeys());
+ setSpinnerAdapter(mClientCertSpinner, getAllCertificateKeys());
mCaCertSpinner =
(Spinner) view.findViewById(R.id.ca_certificate_spinner);
mCaCertSpinner.setOnItemSelectedListener(this);
mCaCertSpinner.setPromptId(R.string.please_select_ca_certificate);
- setSpinnerAdapter(mCaCertSpinner, ks.getAllCertificateKeys());
+ setSpinnerAdapter(mCaCertSpinner, getAllCertificateKeys());
mPrivateKeySpinner =
(Spinner) view.findViewById(R.id.private_key_spinner);
mPrivateKeySpinner.setOnItemSelectedListener(this);
mPrivateKeySpinner.setPromptId(R.string.please_select_private_key);
- setSpinnerAdapter(mPrivateKeySpinner, ks.getAllUserkeyKeys());
+ setSpinnerAdapter(mPrivateKeySpinner, getAllUserkeyKeys());
mEnterpriseTextFields = new EditText[] {
mIdentityEdit, mAnonymousIdentityEdit, mPrivateKeyPasswdEdit
@@ -639,7 +656,6 @@
private void updateEnterpriseFields(int securityType) {
int i;
- Keystore ks = Keystore.getInstance();
for (i = AccessPointState.IDENTITY ;
i < AccessPointState.MAX_ENTRPRISE_FIELD ; i++) {
String value;
@@ -648,16 +664,21 @@
} else {
Spinner spinner = mEnterpriseSpinnerFields[i -
AccessPointState.CLIENT_CERT];
-
- if (i != AccessPointState.PRIVATE_KEY) {
- value = ks.getCertificate(ks.getAllCertificateKeys()
- [spinner.getSelectedItemPosition()]);
+ int index = spinner.getSelectedItemPosition();
+ if (index == (spinner.getCount() - 1)) {
+ value = "";
} else {
- value = ks.getUserkey(ks.getAllUserkeyKeys()
- [spinner.getSelectedItemPosition()]);
+ if (i != AccessPointState.PRIVATE_KEY) {
+ value = mKeystore.getCertificate(
+ getAllCertificateKeys()[index]);
+ } else {
+ value = mKeystore.getUserkey(
+ getAllUserkeyKeys()[index]);
+ }
}
}
- if (!TextUtils.isEmpty(value)) {
+ if (!TextUtils.isEmpty(value) ||
+ (i == AccessPointState.PRIVATE_KEY_PASSWD)) {
mState.setEnterpriseField(i, value);
}
}
diff --git a/src/com/android/settings/wifi/Keystore.java b/src/com/android/settings/wifi/Keystore.java
deleted file mode 100644
index 68af868..0000000
--- a/src/com/android/settings/wifi/Keystore.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package com.android.settings.wifi;
-
-import android.util.Log;
-
-import java.io.File;
-
-/**
- */
-public abstract class Keystore {
- public static final String TAG = "Keystore";
-
- private static final String PACKAGE_PREFIX =
- Keystore.class.getPackage().getName() + ".";
-
- public static final String ACTION_KEYSTORE_CERTIFICATES =
- PACKAGE_PREFIX + "CERTIFICATES";
- public static final String ACTION_KEYSTORE_USERKEYS =
- PACKAGE_PREFIX + "USERKEYS";
-
- /**
- */
- public static Keystore getInstance() {
- return new FileKeystore();
- }
-
- /**
- */
- public abstract String getUserkey(String key);
-
- /**
- */
- public abstract String getCertificate(String key);
-
- /**
- */
- public abstract String[] getAllCertificateKeys();
-
- /**
- */
- public abstract String[] getAllUserkeyKeys();
-
- private static class FileKeystore extends Keystore {
- private static final String PATH = "/data/misc/keystore/";
- private static final String USERKEY_PATH = PATH + "userkeys/";
- private static final String CERT_PATH = PATH + "certs/";
-
- @Override
- public String getUserkey(String key) {
- String path = USERKEY_PATH + key;
- return (new File(path).exists() ? path : null);
- }
-
- @Override
- public String getCertificate(String key) {
- String path = CERT_PATH + key;
- return (new File(path).exists() ? path : null);
- }
-
- @Override
- public String[] getAllCertificateKeys() {
- File dir = new File(CERT_PATH);
- if (dir.exists()) {
- return dir.list();
- } else {
- Log.v(TAG, "-------- cert directory does not exist!");
- return null;
- }
- }
-
- @Override
- public String[] getAllUserkeyKeys() {
- File dir = new File(USERKEY_PATH);
- if (dir.exists()) {
- return dir.list();
- } else {
- Log.v(TAG, "-------- userkey directory does not exist!");
- return null;
- }
- }
- }
-}