Merge "Add new strings for b/63109928" into oc-mr1-dev
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index 3d7c5b6..1bda130 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -210,12 +210,7 @@
*/
@VisibleForTesting
boolean maybeEnforceRestrictions() {
- EnforcedAdmin admin = mRestrictionUtils.checkIfRestrictionEnforced(
- mContext, UserManager.DISALLOW_BLUETOOTH);
- if (admin == null) {
- admin = mRestrictionUtils.checkIfRestrictionEnforced(
- mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH);
- }
+ EnforcedAdmin admin = getEnforcedAdmin(mRestrictionUtils, mContext);
mSwitchWidget.setDisabledByAdmin(admin);
if (admin != null) {
mSwitchWidget.setChecked(false);
@@ -227,4 +222,15 @@
return admin != null;
}
+ public static EnforcedAdmin getEnforcedAdmin(RestrictionUtils mRestrictionUtils,
+ Context mContext) {
+ EnforcedAdmin admin = mRestrictionUtils.checkIfRestrictionEnforced(
+ mContext, UserManager.DISALLOW_BLUETOOTH);
+ if (admin == null) {
+ admin = mRestrictionUtils.checkIfRestrictionEnforced(
+ mContext, UserManager.DISALLOW_CONFIG_BLUETOOTH);
+ }
+ return admin;
+ }
+
}
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 4717109..3b83fa5 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -31,6 +31,7 @@
import android.support.v14.preference.PreferenceFragment;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
+import android.util.Log;
import android.view.View;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -163,9 +164,15 @@
public static void startBatteryDetailPage(SettingsActivity caller, PreferenceFragment fragment,
String packageName) {
- final Bundle args = new Bundle(2);
+ final Bundle args = new Bundle(3);
+ final PackageManager packageManager = caller.getPackageManager();
args.putString(EXTRA_PACKAGE_NAME, packageName);
args.putString(EXTRA_POWER_USAGE_PERCENT, Utils.formatPercentage(0));
+ try {
+ args.putInt(EXTRA_UID, packageManager.getPackageUid(packageName, 0 /* no flag */));
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(TAG, "Cannot find package: " + packageName, e);
+ }
caller.startPreferencePanelAsUser(fragment, AdvancedPowerUsageDetail.class.getName(), args,
R.string.battery_details_title, null, new UserHandle(UserHandle.myUserId()));
diff --git a/src/com/android/settings/fuelgauge/anomaly/action/LocationCheckAction.java b/src/com/android/settings/fuelgauge/anomaly/action/LocationCheckAction.java
index b0e34fa..fc746b9 100644
--- a/src/com/android/settings/fuelgauge/anomaly/action/LocationCheckAction.java
+++ b/src/com/android/settings/fuelgauge/anomaly/action/LocationCheckAction.java
@@ -49,7 +49,9 @@
public void handlePositiveAction(Anomaly anomaly, int contextMetricsKey) {
super.handlePositiveAction(anomaly, contextMetricsKey);
mRuntimePermissionPresenter.revokeRuntimePermission(anomaly.packageName,
- Manifest.permission_group.LOCATION);
+ Manifest.permission.ACCESS_COARSE_LOCATION);
+ mRuntimePermissionPresenter.revokeRuntimePermission(anomaly.packageName,
+ Manifest.permission.ACCESS_FINE_LOCATION);
}
@Override
diff --git a/src/com/android/settings/network/TetherPreferenceController.java b/src/com/android/settings/network/TetherPreferenceController.java
index 5712907..1c9959e 100644
--- a/src/com/android/settings/network/TetherPreferenceController.java
+++ b/src/com/android/settings/network/TetherPreferenceController.java
@@ -88,8 +88,7 @@
public TetherPreferenceController(Context context, Lifecycle lifecycle) {
super(context);
mBluetoothPan = new AtomicReference<>();
- mAdminDisallowedTetherConfig = checkIfRestrictionEnforced(
- mContext, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+ mAdminDisallowedTetherConfig = isTetherConfigDisallowed(context);
mConnectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -170,6 +169,11 @@
}
}
+ public static boolean isTetherConfigDisallowed(Context context) {
+ return checkIfRestrictionEnforced(
+ context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+ }
+
@VisibleForTesting
void updateSummary() {
if (mPreference == null) {
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 1aabe5c..5a3d426 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -851,7 +851,7 @@
mEapIdentityView = (TextView) mView.findViewById(R.id.identity);
mEapAnonymousView = (TextView) mView.findViewById(R.id.anonymous);
- if (mAccessPoint.isCarrierAp()) {
+ if (mAccessPoint != null && mAccessPoint.isCarrierAp()) {
mEapMethodSpinner.setSelection(mAccessPoint.getCarrierApEapType());
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index c7eebc8..54d043c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -369,6 +369,16 @@
}
@Test
+ public void testStartBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
+ PackageManager.NameNotFoundException{
+ doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
+
+ AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, PACKAGE_NAME[0]);
+
+ assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
+ }
+
+ @Test
public void testStartBatteryDetailPage_defaultPackageNull_chooseFromBatterySipper() {
mBatteryEntry.defaultPackageName = null;
mBatteryEntry.sipper.mPackages = PACKAGE_NAME;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java
new file mode 100644
index 0000000..f39f10f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictionUtils.java
@@ -0,0 +1,24 @@
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+import com.android.settings.bluetooth.RestrictionUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(RestrictionUtils.class)
+public class ShadowRestrictionUtils {
+ private static boolean isRestricted = false;
+
+ @Implementation
+ public EnforcedAdmin checkIfRestrictionEnforced(Context context, String restriction) {
+ if (isRestricted) {
+ return new EnforcedAdmin();
+ }
+ return null;
+ }
+
+ public static void setRestricted(boolean restricted) {
+ isRestricted = restricted;
+ }
+}