@RequiresApi(P) protected boolean setMode(final Parcel data) {
			if (SDK_INT < P) throw new SecurityException("Island has no privilege to setMode() before Android P.");

			data.enforceInterface(DESCRIPTOR);
			final int op = data.readInt();
			final int uid = data.readInt();
			final String pkg = data.readString();
			if (pkg == null) throw new NullPointerException("packageName is null");
			final int mode = data.readInt();
			Log.i(TAG, "IAppOpsService.setMode(" + op + ", " + uid + ", " + pkg + ", " + mode + ")");

			final @UserIdInt int user_id = UserHandles.getUserId(uid);
			if (user_id == Users.currentId()) {
				new AppOpsHelper(mContext).setMode(pkg, op, mode, uid);
				return true;
			}
			final UserHandle user = UserHandles.of(user_id);
			if (! Users.isProfileManagedByIsland(user))
				throw new IllegalArgumentException("User " + user_id + " is not managed by Island");

			new Shuttle(mContext, user).launch(context -> {
				new AppOpsHelper(context).setMode(pkg, op, mode, uid); return Unit.INSTANCE;
			});
			return true;
		}
Delegated {@link AppOpsManager}

Created by Oasis on 2019-4-30.
open/src/main/java/com/oasisfeng/island/api/DelegatedAppOpsManager.java