Merge "Wi-Fi panel doesn't need to check permission" into tm-qpr-dev am: 0077129094
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19590401 Change-Id: Ic53e1282db41bf8c8c66e8d750179189b3b1af1c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -109,7 +109,7 @@ public class WifiSlice implements CustomSliceable {
|
||||
|
||||
// If external calling package doesn't have Wi-Fi permission.
|
||||
final boolean isPermissionGranted =
|
||||
Utils.isSettingsIntelligence(mContext) || isPermissionGranted(mContext);
|
||||
isCallerExemptUid(mContext) || isPermissionGranted(mContext);
|
||||
ListBuilder listBuilder = getListBuilder(isWifiEnabled, null /* wifiSliceItem */,
|
||||
isPermissionGranted);
|
||||
// If the caller doesn't have the permission granted, just return a slice without a toggle.
|
||||
@@ -156,6 +156,21 @@ public class WifiSlice implements CustomSliceable {
|
||||
return userManager.isGuestUser();
|
||||
}
|
||||
|
||||
private boolean isCallerExemptUid(Context context) {
|
||||
final String[] allowedUidNames = context.getResources().getStringArray(
|
||||
R.array.config_exempt_wifi_permission_uid_name);
|
||||
final String uidName =
|
||||
context.getPackageManager().getNameForUid(Binder.getCallingUid());
|
||||
Log.d(TAG, "calling uid name : " + uidName);
|
||||
|
||||
for (String allowedUidName : allowedUidNames) {
|
||||
if (TextUtils.equals(uidName, allowedUidName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private static boolean isPermissionGranted(Context settingsContext) {
|
||||
final int callingUid = Binder.getCallingUid();
|
||||
final String callingPackage = settingsContext.getPackageManager()
|
||||
|
Reference in New Issue
Block a user