Merge changes from topic "platform-vpn-user-consent"
* changes: Update setVpnPackageAuthorization call with VPN type Add Platform VPNs to VPN list
This commit is contained in:
@@ -22,6 +22,7 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.net.IConnectivityManager;
|
import android.net.IConnectivityManager;
|
||||||
|
import android.net.VpnManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
@@ -145,7 +146,8 @@ public class AppDialogFragment extends InstrumentedDialogFragment implements App
|
|||||||
}
|
}
|
||||||
final int userId = getUserId();
|
final int userId = getUserId();
|
||||||
try {
|
try {
|
||||||
mService.setVpnPackageAuthorization(mPackageInfo.packageName, userId, false);
|
mService.setVpnPackageAuthorization(
|
||||||
|
mPackageInfo.packageName, userId, VpnManager.TYPE_VPN_NONE);
|
||||||
onDisconnect(dialog);
|
onDisconnect(dialog);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "Failed to forget authorization of " + mPackageInfo.packageName +
|
Log.e(TAG, "Failed to forget authorization of " + mPackageInfo.packageName +
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.vpn2;
|
package com.android.settings.vpn2;
|
||||||
|
|
||||||
|
import static android.app.AppOpsManager.OP_ACTIVATE_PLATFORM_VPN;
|
||||||
import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
|
import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
@@ -312,7 +313,7 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
|||||||
final AppOpsManager service =
|
final AppOpsManager service =
|
||||||
(AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
|
(AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
|
||||||
final List<AppOpsManager.PackageOps> ops = service.getOpsForPackage(application.uid,
|
final List<AppOpsManager.PackageOps> ops = service.getOpsForPackage(application.uid,
|
||||||
application.packageName, new int[]{OP_ACTIVATE_VPN});
|
application.packageName, new int[]{OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
|
||||||
return !ArrayUtils.isEmpty(ops);
|
return !ArrayUtils.isEmpty(ops);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.vpn2;
|
package com.android.settings.vpn2;
|
||||||
|
|
||||||
|
import static android.app.AppOpsManager.OP_ACTIVATE_PLATFORM_VPN;
|
||||||
import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
|
import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
|
||||||
|
|
||||||
import android.annotation.UiThread;
|
import android.annotation.UiThread;
|
||||||
@@ -522,7 +523,8 @@ public class VpnSettings extends RestrictedSettingsFragment implements
|
|||||||
|
|
||||||
// Fetch VPN-enabled apps from AppOps.
|
// Fetch VPN-enabled apps from AppOps.
|
||||||
AppOpsManager aom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
|
AppOpsManager aom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
|
||||||
List<AppOpsManager.PackageOps> apps = aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN});
|
List<AppOpsManager.PackageOps> apps =
|
||||||
|
aom.getPackagesForOps(new int[] {OP_ACTIVATE_VPN, OP_ACTIVATE_PLATFORM_VPN});
|
||||||
if (apps != null) {
|
if (apps != null) {
|
||||||
for (AppOpsManager.PackageOps pkg : apps) {
|
for (AppOpsManager.PackageOps pkg : apps) {
|
||||||
int userId = UserHandle.getUserId(pkg.getUid());
|
int userId = UserHandle.getUserId(pkg.getUid());
|
||||||
@@ -533,8 +535,8 @@ public class VpnSettings extends RestrictedSettingsFragment implements
|
|||||||
// Look for a MODE_ALLOWED permission to activate VPN.
|
// Look for a MODE_ALLOWED permission to activate VPN.
|
||||||
boolean allowed = false;
|
boolean allowed = false;
|
||||||
for (AppOpsManager.OpEntry op : pkg.getOps()) {
|
for (AppOpsManager.OpEntry op : pkg.getOps()) {
|
||||||
if (op.getOp() == OP_ACTIVATE_VPN &&
|
if ((op.getOp() == OP_ACTIVATE_VPN || op.getOp() == OP_ACTIVATE_PLATFORM_VPN)
|
||||||
op.getMode() == AppOpsManager.MODE_ALLOWED) {
|
&& op.getMode() == AppOpsManager.MODE_ALLOWED) {
|
||||||
allowed = true;
|
allowed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user