1 package com.android.nfc;
2 
3 
4 import android.content.Context;
5 import android.os.UserHandle;
6 
7 public class NfcPermissions {
8 
9     /**
10      * NFC ADMIN permission - only for system apps
11      */
12     private static final String ADMIN_PERM = android.Manifest.permission.WRITE_SECURE_SETTINGS;
13     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 
validateUserId(int userId)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 
enforceAdminPermissions(Context context)27     public static void enforceAdminPermissions(Context context) {
28         context.enforceCallingOrSelfPermission(ADMIN_PERM, ADMIN_PERM_ERROR);
29     }
30 
31 
enforceUserPermissions(Context context)32     public static void enforceUserPermissions(Context context) {
33         context.enforceCallingOrSelfPermission(NFC_PERMISSION, NFC_PERM_ERROR);
34     }
35 }
36