@Override protected boolean onTransact(final int code, @NonNull final Parcel data, @Nullable final Parcel reply, final int flags) throws RemoteException {
			if (! isSealed()) {
				if (mCodeRequestPermission == 0) mCodeRequestPermission = code;
				else mCodeHasRestrictionsProvider = code;
			} else if (code == mCodeRequestPermission) {
				data.enforceInterface(DESCRIPTOR);
				onPermissionRequest(data.readString(), data.readString(), data.readString(),
						data.readInt() != 0 ? PersistableBundle.CREATOR.createFromParcel(data) : null);
				if (reply != null) reply.writeNoException();
			} else if (code == mCodeHasRestrictionsProvider) {
				data.enforceInterface(DESCRIPTOR);
				if (reply != null) {
					reply.writeNoException();
					reply.writeInt(1);		// Always return true for hasRestrictionsProvider()
				}
			} else return super.onTransact(code, data, reply, flags);
			return true;
		}
Allow client to call {@link RestrictionsManager#requestPermission(String, String, PersistableBundle)} in owner user when Island is not device owner.

Created by Oasis on 2019-6-6.
open/src/main/java/com/oasisfeng/island/api/PermissionForwardingRestrictionsManager.java