aboutsummaryrefslogtreecommitdiff
path: root/tests/java/src/android/aidl/permission/service/PermissionTestService.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/java/src/android/aidl/permission/service/PermissionTestService.java')
-rw-r--r--tests/java/src/android/aidl/permission/service/PermissionTestService.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/java/src/android/aidl/permission/service/PermissionTestService.java b/tests/java/src/android/aidl/permission/service/PermissionTestService.java
new file mode 100644
index 00000000..b65b5dff
--- /dev/null
+++ b/tests/java/src/android/aidl/permission/service/PermissionTestService.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2022, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.aidl.permission.service;
+
+import android.aidl.tests.permission.IProtected;
+import android.annotation.EnforcePermission;
+import android.os.Binder;
+import android.os.ServiceManager;
+import java.util.List;
+
+public class PermissionTestService extends IProtected.Stub {
+ private FakePermissionEnforcer mPermissionEnforcer;
+
+ public static void main(String[] args) {
+ PermissionTestService myServer = new PermissionTestService(new FakePermissionEnforcer());
+ ServiceManager.addService(IProtected.class.getName(), myServer);
+
+ Binder.joinThreadPool();
+ }
+
+ public PermissionTestService(FakePermissionEnforcer permissionEnforcer) {
+ super(permissionEnforcer);
+ mPermissionEnforcer = permissionEnforcer;
+ }
+
+ @Override
+ @EnforcePermission("READ_PHONE_STATE")
+ public void PermissionProtected() {
+ PermissionProtected_enforcePermission();
+ }
+
+ @Override
+ @EnforcePermission(allOf = {"INTERNET", "VIBRATE"})
+ public void MultiplePermissionsAll() {
+ MultiplePermissionsAll_enforcePermission();
+ }
+
+ @Override
+ @EnforcePermission(anyOf = {"INTERNET", "VIBRATE"})
+ public void MultiplePermissionsAny() {
+ MultiplePermissionsAny_enforcePermission();
+ }
+
+ @Override
+ @EnforcePermission("android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK")
+ public void NonManifestPermission() {
+ NonManifestPermission_enforcePermission();
+ }
+
+ @Override
+ public void SetGranted(List<String> permissions) {
+ mPermissionEnforcer.setGranted(permissions);
+ }
+}