/** * Quickly provides an array of refused permissions from a list of permissions provided during initialization. * * @param context The context to be used. * @return An array of refused permissions. */ public String[] getRefusedPermissions(Context context) { if (context == null) { throw new IllegalArgumentException("context is null"); } return filterPermissions(context, permissions, PackageManager.PERMISSION_DENIED); }
@Test public void testPermissionsFiltering() { String[] result = Permissive.filterPermissions(mockContext, new String[]{TEST_DENIED_PERMISSION, TEST_GRANTED_PERMISSION}, PackageManager.PERMISSION_GRANTED); assertArrayEquals(result, new String[]{TEST_GRANTED_PERMISSION}); result = Permissive.filterPermissions(mockContext, new String[]{TEST_DENIED_PERMISSION, TEST_GRANTED_PERMISSION}, PackageManager.PERMISSION_DENIED); assertArrayEquals(result, new String[]{TEST_DENIED_PERMISSION}); }
@Override public void onResume() { super.onResume(); if (Permissive.filterPermissions(getContext(), getPermissiveMessenger().getRequestedPermissions(), PackageManager.PERMISSION_GRANTED).length > 0) { // if user granted permission via Settings, then finish this fragment finishFragment(); } }