Merge "Extract app label from component name in notification access confirmation UI" into qt-dev
diff --git a/res/xml/location_scanning.xml b/res/xml/location_scanning.xml
index 5e7bd24..f484768 100644
--- a/res/xml/location_scanning.xml
+++ b/res/xml/location_scanning.xml
@@ -18,13 +18,13 @@
android:title="@string/location_scanning_screen_title"
android:key="scanning_screen">
- <SwitchPreference
+ <com.android.settingslib.RestrictedSwitchPreference
android:title="@string/location_scanning_wifi_always_scanning_title"
android:summary="@string/location_scanning_wifi_always_scanning_description"
android:defaultValue="true"
android:key="wifi_always_scanning" />
- <SwitchPreference
+ <com.android.settingslib.RestrictedSwitchPreference
android:title="@string/location_scanning_bluetooth_always_scanning_title"
android:summary="@string/location_scanning_bluetooth_always_scanning_description"
android:defaultValue="true"
diff --git a/src/com/android/settings/DefaultRingtonePreference.java b/src/com/android/settings/DefaultRingtonePreference.java
index 914c4b2..9bf626c 100644
--- a/src/com/android/settings/DefaultRingtonePreference.java
+++ b/src/com/android/settings/DefaultRingtonePreference.java
@@ -46,7 +46,12 @@
@Override
protected void onSaveRingtone(Uri ringtoneUri) {
- String mimeType = getContext().getContentResolver().getType(ringtoneUri);
+ if (ringtoneUri == null) {
+ setActualDefaultRingtoneUri(ringtoneUri);
+ return;
+ }
+
+ String mimeType = mUserContext.getContentResolver().getType(ringtoneUri);
if (mimeType == null) {
Log.e(TAG, "onSaveRingtone for URI:" + ringtoneUri
+ " ignored: failure to find mimeType (no access from this context?)");
diff --git a/src/com/android/settings/location/BluetoothScanningPreferenceController.java b/src/com/android/settings/location/BluetoothScanningPreferenceController.java
index d16e1e5..cee3105 100644
--- a/src/com/android/settings/location/BluetoothScanningPreferenceController.java
+++ b/src/com/android/settings/location/BluetoothScanningPreferenceController.java
@@ -14,12 +14,17 @@
package com.android.settings.location;
import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;
public class BluetoothScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@
((SwitchPreference) preference).setChecked(
Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
+ final RestrictedLockUtils.EnforcedAdmin admin =
+ RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+ mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
+ if (admin != null) {
+ ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
+ }
}
@Override
diff --git a/src/com/android/settings/location/WifiScanningPreferenceController.java b/src/com/android/settings/location/WifiScanningPreferenceController.java
index 234ec5e..fb64fa9 100644
--- a/src/com/android/settings/location/WifiScanningPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningPreferenceController.java
@@ -14,12 +14,17 @@
package com.android.settings.location;
import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.core.AbstractPreferenceController;
public class WifiScanningPreferenceController extends AbstractPreferenceController
@@ -46,6 +51,12 @@
((SwitchPreference) preference).setChecked(
Settings.Global.getInt(mContext.getContentResolver(),
Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1);
+ final RestrictedLockUtils.EnforcedAdmin admin =
+ RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+ mContext, UserManager.DISALLOW_CONFIG_LOCATION, UserHandle.myUserId());
+ if (admin != null) {
+ ((RestrictedSwitchPreference) preference).setDisabledByAdmin(admin);
+ }
}
@Override
diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
index 1a514a6..2ff685e 100644
--- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java
+++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
@@ -17,6 +17,7 @@
import android.content.Context;
import android.nfc.NfcAdapter;
+import android.os.UserManager;
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
@@ -32,10 +33,12 @@
public static final String KEY_SECURENFC_SETTINGS = "nfc_secure_settings";
private final NfcAdapter mNfcAdapter;
private SecureNfcEnabler mSecureNfcEnabler;
+ private final UserManager mUserManager;
public SecureNfcPreferenceController(Context context, String key) {
super(context, key);
mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
+ mUserManager = context.getSystemService(UserManager.class);
}
@Override
@@ -58,7 +61,11 @@
@Override
public boolean setChecked(boolean isChecked) {
- return mNfcAdapter.enableSecureNfc(isChecked);
+ if (isToggleable()) {
+ return mNfcAdapter.enableSecureNfc(isChecked);
+ } else {
+ return false;
+ }
}
@Override
@@ -95,4 +102,12 @@
mSecureNfcEnabler.pause();
}
}
+
+ private boolean isToggleable() {
+ if (mUserManager.isGuestUser()) {
+ return false;
+ }
+ return true;
+ }
+
}
diff --git a/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java b/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java
index b9dea01..7877684 100644
--- a/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java
+++ b/tests/unit/src/com/android/settings/DefaultRingtonePreferenceTest.java
@@ -59,6 +59,7 @@
when(mDefaultRingtonePreference.getRingtoneType())
.thenReturn(RingtoneManager.TYPE_RINGTONE);
mDefaultRingtonePreference.setUserId(1);
+ mDefaultRingtonePreference.mUserContext = context;
}
@Test