Merge TP1A.221005.003

Merged-In: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
Change-Id: Ia7b51d3cc694287b930d240c77e5ba0ed9a527f4
This commit is contained in:
Xin Li
2022-10-03 13:17:48 -07:00
4 changed files with 27 additions and 1 deletions

View File

@@ -98,7 +98,7 @@ public class WifiSlice implements CustomSliceable {
public Slice getSlice() {
// If external calling package doesn't have Wi-Fi permission.
final boolean isPermissionGranted =
Utils.isSettingsIntelligence(mContext) || isPermissionGranted(mContext);
isCallerExemptUid(mContext) || isPermissionGranted(mContext);
final boolean isWifiEnabled = isWifiEnabled();
ListBuilder listBuilder = getListBuilder(isWifiEnabled, null /* wifiSliceItem */,
isPermissionGranted);
@@ -139,6 +139,21 @@ public class WifiSlice implements CustomSliceable {
return listBuilder.build();
}
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()