Merge "Fix testNetworkSettingsPermission for headless User 0" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e49034996e
@@ -27,6 +27,7 @@
|
|||||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||||
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
|
||||||
|
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import android.net.wifi.hotspot2.pps.Credential;
|
|||||||
import android.net.wifi.hotspot2.pps.HomeSp;
|
import android.net.wifi.hotspot2.pps.HomeSp;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
|
import android.os.UserHandle;
|
||||||
import android.platform.test.annotations.AppModeFull;
|
import android.platform.test.annotations.AppModeFull;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.support.test.uiautomator.UiDevice;
|
import android.support.test.uiautomator.UiDevice;
|
||||||
@@ -771,21 +772,20 @@ public class WifiManagerTest extends AndroidTestCase {
|
|||||||
}, PackageManager.MATCH_UNINSTALLED_PACKAGES);
|
}, PackageManager.MATCH_UNINSTALLED_PACKAGES);
|
||||||
for (PackageInfo pi : holding) {
|
for (PackageInfo pi : holding) {
|
||||||
String packageName = pi.packageName;
|
String packageName = pi.packageName;
|
||||||
if (allowedPackages.contains(packageName)) {
|
|
||||||
// this is an explicitly allowed package
|
// this is an explicitly allowed package
|
||||||
} else {
|
if (allowedPackages.contains(packageName)) continue;
|
||||||
// now check if the packages are from allowed UIDs
|
|
||||||
boolean allowed = false;
|
// now check if the packages are from allowed UIDs
|
||||||
try {
|
int uid = -1;
|
||||||
if (allowedUIDs.contains(pm.getPackageUid(packageName, 0))) {
|
try {
|
||||||
allowed = true;
|
uid = pm.getPackageUidAsUser(packageName, UserHandle.USER_SYSTEM);
|
||||||
Log.d(TAG, packageName + " is on an allowed UID");
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
}
|
continue;
|
||||||
} catch (PackageManager.NameNotFoundException e) { }
|
}
|
||||||
if (!allowed) {
|
if (!allowedUIDs.contains(uid)) {
|
||||||
fail("The NETWORK_SETTINGS permission must not be held by "
|
fail("The NETWORK_SETTINGS permission must not be held by " + packageName
|
||||||
+ packageName + " and must be revoked for security reasons");
|
+ ":" + uid + " and must be revoked for security reasons");
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user