Merge "Add DataUsageListV2 for showing network stats detail."
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c8d9aff..71840b1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1128,12 +1128,12 @@
</intent-filter>
</activity-alias>
- <activity android:name=".applications.InstalledAppOpenByDefaultPage"
+ <activity android:name=".applications.InstalledAppOpenByDefaultActivity"
android:label="@string/application_info_label"
- android:permission="android.permission.OPEN_APPLICATION_DETAILS_OPEN_BY_DEFAULT_PAGE"
+ android:permission="android.permission.OPEN_APP_OPEN_BY_DEFAULT_SETTINGS"
android:exported="true">
<intent-filter android:priority="1">
- <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS_OPEN_BY_DEFAULT_PAGE" />
+ <action android:name="com.android.settings.APP_OPEN_BY_DEFAULT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
diff --git a/src/com/android/settings/applications/InstalledAppOpenByDefaultPage.java b/src/com/android/settings/applications/InstalledAppOpenByDefaultActivity.java
similarity index 93%
rename from src/com/android/settings/applications/InstalledAppOpenByDefaultPage.java
rename to src/com/android/settings/applications/InstalledAppOpenByDefaultActivity.java
index 40eef25..cd30d79 100644
--- a/src/com/android/settings/applications/InstalledAppOpenByDefaultPage.java
+++ b/src/com/android/settings/applications/InstalledAppOpenByDefaultActivity.java
@@ -20,7 +20,7 @@
import com.android.settings.SettingsActivity;
-public class InstalledAppOpenByDefaultPage extends SettingsActivity {
+public class InstalledAppOpenByDefaultActivity extends SettingsActivity {
@Override
public Intent getIntent() {
diff --git a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
index 2720979..0d7b1d3 100644
--- a/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/DeviceNamePreferenceController.java
@@ -39,10 +39,10 @@
public class DeviceNamePreferenceController extends BasePreferenceController
implements ValidatedEditTextPreference.Validator,
- Preference.OnPreferenceChangeListener,
- LifecycleObserver,
- OnSaveInstanceState,
- OnCreate {
+ Preference.OnPreferenceChangeListener,
+ LifecycleObserver,
+ OnSaveInstanceState,
+ OnCreate {
private static final String PREF_KEY = "device_name";
public static final int DEVICE_NAME_SET_WARNING_ID = 1;
private static final String KEY_PENDING_DEVICE_NAME = "key_pending_device_name";
@@ -116,9 +116,11 @@
return mWifiDeviceNameTextValidator.isTextValid(deviceName);
}
- public void confirmDeviceName() {
- if (mPendingDeviceName != null) {
+ public void updateDeviceName(boolean update) {
+ if (update && mPendingDeviceName != null) {
setDeviceName(mPendingDeviceName);
+ } else {
+ mPreference.setText(getSummary().toString());
}
}
@@ -153,7 +155,8 @@
* For more information, see {@link com.android.settings.bluetooth.BluetoothNameDialogFragment}.
*/
private static final String getFilteredBluetoothString(final String deviceName) {
- CharSequence filteredSequence = new BluetoothLengthDeviceNameFilter().filter(deviceName, 0, deviceName.length(),
+ CharSequence filteredSequence = new BluetoothLengthDeviceNameFilter().filter(deviceName, 0,
+ deviceName.length(),
new SpannedString(""),
0, 0);
// null -> use the original
diff --git a/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java b/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
index 5633c11..a6b1dec 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/DeviceNameWarningDialog.java
@@ -66,7 +66,9 @@
public void onClick(DialogInterface dialog, int which) {
final MyDeviceInfoFragment host = (MyDeviceInfoFragment) getTargetFragment();
if (which == DialogInterface.BUTTON_POSITIVE) {
- host.onSetDeviceNameConfirm();
+ host.onSetDeviceNameConfirm(true);
+ } else {
+ host.onSetDeviceNameConfirm(false);
}
}
}
diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
index 3de46e01..5503ea9 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
@@ -178,9 +178,9 @@
DeviceNameWarningDialog.show(this);
}
- public void onSetDeviceNameConfirm() {
+ public void onSetDeviceNameConfirm(boolean confirm) {
final DeviceNamePreferenceController controller = use(DeviceNamePreferenceController.class);
- controller.confirmDeviceName();
+ controller.updateDeviceName(confirm);
}
private static class SummaryProvider implements SummaryLoader.SummaryProvider {
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index de67c10..2e6611f 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -465,8 +465,7 @@
} else {
enabled = ipAndProxyFieldsAreValid();
}
- if (mEapCaCertSpinner != null
- && mView.findViewById(R.id.l_ca_cert).getVisibility() != View.GONE) {
+ if (mAccessPointSecurity == AccessPoint.SECURITY_EAP) {
String caCertSelection = (String) mEapCaCertSpinner.getSelectedItem();
if (caCertSelection.equals(mUnspecifiedCertString)) {
// Disallow submit if the user has not selected a CA certificate for an EAP network
@@ -482,10 +481,8 @@
enabled = false;
}
}
- if (mEapUserCertSpinner != null
- && mView.findViewById(R.id.l_user_cert).getVisibility() != View.GONE
- && ((String) mEapUserCertSpinner.getSelectedItem())
- .equals(mUnspecifiedCertString)) {
+ if (mAccessPointSecurity == AccessPoint.SECURITY_EAP
+ && mEapUserCertSpinner.getSelectedItem().equals(mUnspecifiedCertString)) {
// Disallow submit if the user has not selected a user certificate for an EAP network
// configuration.
enabled = false;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
index 4ee7f41..8662c7f 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/DeviceNamePreferenceControllerTest.java
@@ -114,7 +114,7 @@
@Test
public void setDeviceName_preferenceUpdatedWhenDeviceNameUpdated() {
- forceAcceptDeviceName();
+ acceptDeviceName(true);
mController.displayPreference(mScreen);
mController.onPreferenceChange(mPreference, TESTING_STRING);
@@ -123,7 +123,7 @@
@Test
public void setDeviceName_bluetoothNameUpdatedWhenDeviceNameUpdated() {
- forceAcceptDeviceName();
+ acceptDeviceName(true);
mController.displayPreference(mScreen);
mController.onPreferenceChange(mPreference, TESTING_STRING);
@@ -132,7 +132,7 @@
@Test
public void setDeviceName_wifiTetherNameUpdatedWhenDeviceNameUpdated() {
- forceAcceptDeviceName();
+ acceptDeviceName(true);
mController.displayPreference(mScreen);
mController.onPreferenceChange(mPreference, TESTING_STRING);
@@ -150,21 +150,39 @@
@Test
public void setDeviceName_ignoresIfCancelPressed() {
- forceAcceptDeviceName();
+ acceptDeviceName(true);
mController.displayPreference(mScreen);
mController.onPreferenceChange(mPreference, TESTING_STRING);
assertThat(mBluetoothAdapter.getName()).isEqualTo(TESTING_STRING);
}
- private void forceAcceptDeviceName() {
+ @Test
+ public void setDeviceName_okInDeviceNameWarningDialog_shouldChangePreferenceText() {
+ acceptDeviceName(true);
+ mController.displayPreference(mScreen);
+ mController.onPreferenceChange(mPreference, TESTING_STRING);
+
+ assertThat(mPreference.getSummary()).isEqualTo(TESTING_STRING);
+ }
+
+ @Test
+ public void setDeviceName_cancelInDeviceNameWarningDialog_shouldNotChangePreferenceText() {
+ acceptDeviceName(false);
+ mController.displayPreference(mScreen);
+ mController.onPreferenceChange(mPreference, TESTING_STRING);
+
+ assertThat(mPreference.getSummary()).isNotEqualTo(TESTING_STRING);
+ assertThat(mPreference.getText()).isEqualTo(mPreference.getSummary());
+ }
+
+ private void acceptDeviceName(boolean accept) {
mController.setHost(
new DeviceNamePreferenceController.DeviceNamePreferenceHost() {
@Override
public void showDeviceNameWarningDialog(String deviceName) {
- mController.confirmDeviceName();
+ mController.updateDeviceName(accept);
}
});
}
-
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
index e28e6ec..9e1400b 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/deviceinfo/DeviceNameWarningDialogTest.java
@@ -30,7 +30,7 @@
fragmentController.create().start().resume();
fragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
- verify(deviceInfoFragment).onSetDeviceNameConfirm();
+ verify(deviceInfoFragment).onSetDeviceNameConfirm(true);
}
@Test
@@ -43,6 +43,6 @@
fragmentController.create().start().resume();
fragment.onClick(null, DialogInterface.BUTTON_NEGATIVE);
- verify(deviceInfoFragment, never()).onSetDeviceNameConfirm();
+ verify(deviceInfoFragment).onSetDeviceNameConfirm(false);
}
}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index 5e8dd28..54be773 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -184,6 +184,22 @@
}
@Test
+ public void isSubmittable_EapToPskWithValidPassword_shouldReturnTrue() {
+ final TextView password = mView.findViewById(R.id.password);
+ final Spinner securitySpinner = mView.findViewById(R.id.security);
+ assertThat(password).isNotNull();
+ assertThat(securitySpinner).isNotNull();
+ when(mAccessPoint.isSaved()).thenReturn(true);
+
+ // Change it from EAP to PSK
+ mController.onItemSelected(securitySpinner, null, AccessPoint.SECURITY_EAP, 0);
+ mController.onItemSelected(securitySpinner, null, AccessPoint.SECURITY_PSK, 0);
+ password.setText(GOOD_PSK);
+
+ assertThat(mController.isSubmittable()).isTrue();
+ }
+
+ @Test
public void getSignalString_notReachable_shouldHaveNoSignalString() {
when(mAccessPoint.isReachable()).thenReturn(false);