Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 800c88bd authored by Thiébaud Weksteen's avatar Thiébaud Weksteen Committed by Android (Google) Code Review
Browse files

Merge "Add example to PermissionEnforcer javadoc"

parents f29df66e 57a8bcf1
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
@@ -34,6 +34,38 @@ import android.permission.PermissionCheckerManager;
 * PermissionEnforcer to validate the permissions. The methods available are
 * purposely similar to the AIDL annotation syntax.
 *
 * <p>The constructor of the Stub generated by AIDL expects a
 * PermissionEnforcer. It can be based on the current Context. For example:
 *
 * <pre>{@code
 * class MyFoo extends Foo.Stub {
 *     MyFoo(Context context) {
 *         super(PermissionEnforcer.fromContext(context));
 *     }
 *
 *     @Override
 *     @EnforcePermission(android.Manifest.permission.INTERNET)
 *     public MyMethod() {
 *         MyMethod_enforcePermission();
 *     }
 * }
 * }</pre>
 *
 * <p>A {@link android.os.test.FakePermissionEnforcer} is available for unit
 * testing. It can be attached to a mocked Context using:
 * <pre>{@code
 * @Mock private Context mContext;
 *
 * @Before
 * public setUp() {
 *   fakeEnforcer = new FakePermissionEnforcer();
 *   fakeEnforcer.grant(android.Manifest.permission.INTERNET);
 *
 *   doReturn(fakeEnforcer).when(mContext).getSystemService(
                eq(Context.PERMISSION_ENFORCER_SERVICE));
 * }
 * }</pre>
 *
 * @see android.permission.PermissionManager
 *
 * @hide