Java源码示例:com.karumi.dexter.listener.PermissionGrantedResponse
示例1
private void updatePermissionsAsGranted(Collection<String> permissions) {
for (String permission : permissions) {
PermissionGrantedResponse response = PermissionGrantedResponse.from(permission);
multiplePermissionsReport.addGrantedPermissionResponse(response);
}
onPermissionsChecked(permissions);
}
示例2
private void checkMultiplePermissions(final MultiplePermissionsListener listener,
final Collection<String> permissions, Thread thread) {
checkNoDexterRequestOngoing();
checkRequestSomePermission(permissions);
if (context.get() == null) {
return;
}
if (activity != null && activity.isFinishing()) {
onActivityDestroyed();
}
pendingPermissions.clear();
pendingPermissions.addAll(permissions);
multiplePermissionsReport.clear();
this.listener = new MultiplePermissionListenerThreadDecorator(listener, thread);
if (isEveryPermissionGranted(permissions, context.get())) {
thread.execute(new Runnable() {
@Override public void run() {
MultiplePermissionsReport report = new MultiplePermissionsReport();
for (String permission : permissions) {
report.addGrantedPermissionResponse(PermissionGrantedResponse.from(permission));
}
isRequestingPermission.set(false);
listener.onPermissionsChecked(report);
DexterInstance.this.listener = EMPTY_LISTENER;
}
});
} else {
startTransparentActivityIfNeeded();
}
thread.loop();
}
示例3
private static ArgumentMatcher<PermissionGrantedResponse> getPermissionGrantedResponseMatcher(
final String permission) {
return new ArgumentMatcher<PermissionGrantedResponse>() {
@Override public boolean matches(PermissionGrantedResponse response) {
return permission.equals(response.getPermissionName());
}
};
}
示例4
@Test
public void responseListenerIsNotCalledWithNullListenerOnPermissionDenied() {
DummyPermissionListenerImplementation dummyPermissionListenerImplementation =
new DummyPermissionListenerImplementation(contextProvider, stubString);
dummyPermissionListenerImplementation.onPermissionGranted(
new PermissionGrantedResponse(new PermissionRequest("Test")));
verify(userPermissionRequestResponseListener, never()).onPermissionAllowed(true);
}
示例5
@Test
public void responseListenerIsCalledWithNotNullListenerOnPermissionGranted() {
DummyPermissionListenerImplementation dummyPermissionListenerImplementation =
new DummyPermissionListenerImplementation(userPermissionRequestResponseListener,
contextProvider, stubString);
dummyPermissionListenerImplementation.onPermissionGranted(
new PermissionGrantedResponse(new PermissionRequest("Test")));
verify(userPermissionRequestResponseListener).onPermissionAllowed(true);
}
示例6
/**
* Returns a collection with all the permissions that has been granted
*/
public List<PermissionGrantedResponse> getGrantedPermissionResponses() {
return grantedPermissionResponses;
}
示例7
boolean addGrantedPermissionResponse(PermissionGrantedResponse response) {
return grantedPermissionResponses.add(response);
}
示例8
@Override public void onPermissionGranted(PermissionGrantedResponse response) {
for (PermissionListener listener : listeners) {
listener.onPermissionGranted(response);
}
}
示例9
@Override public void onPermissionGranted(PermissionGrantedResponse response) {
activity.showPermissionGranted(response.getPermissionName());
}
示例10
@Override public void onPermissionGranted(final PermissionGrantedResponse response) {
handler.post(
() -> SampleBackgroundThreadPermissionListener.super.onPermissionGranted(response));
}
示例11
@Override public void onPermissionGranted(PermissionGrantedResponse response) {
unblock();
}
示例12
@Override public void onPermissionGranted(PermissionGrantedResponse response) {
if (userPermissionRequestResponseListener != null) {
userPermissionRequestResponseListener.onPermissionAllowed(true);
}
}
示例13
/**
* Method called whenever a requested permission has been granted
*
* @param response A response object that contains the permission that has been requested and
* any additional flags relevant to this response
*/
void onPermissionGranted(PermissionGrantedResponse response);
示例14
@Override public void onPermissionGranted(PermissionGrantedResponse response) {
}