blob: 50adf23ae39dce083a14d97cadcd7bedc531cb5a [file] [log] [blame]
nxpandroid64fd68c2015-09-23 16:45:15 +05301package com.android.nfc;
2
3
4import android.content.Context;
5import android.os.UserHandle;
6
7public class NfcPermissions {
8
9 /**
10 * NFC ADMIN permission - only for system apps
11 */
nxf500513a018e72019-04-23 17:11:41 +053012 private static final String ADMIN_PERM = android.Manifest.permission.WRITE_SECURE_SETTINGS;
nxpandroid64fd68c2015-09-23 16:45:15 +053013 private static final String ADMIN_PERM_ERROR = "WRITE_SECURE_SETTINGS permission required";
14
15 /**
16 * Regular NFC permission
17 */
18 static final String NFC_PERMISSION = android.Manifest.permission.NFC;
19 private static final String NFC_PERM_ERROR = "NFC permission required";
20
21 public static void validateUserId(int userId) {
22 if (userId != UserHandle.getCallingUserId()) {
23 throw new SecurityException("userId passed in is not the calling user.");
24 }
25 }
26
27 public static void enforceAdminPermissions(Context context) {
28 context.enforceCallingOrSelfPermission(ADMIN_PERM, ADMIN_PERM_ERROR);
29 }
30
31
32 public static void enforceUserPermissions(Context context) {
33 context.enforceCallingOrSelfPermission(NFC_PERMISSION, NFC_PERM_ERROR);
34 }
35}