Skip to content

Commit 3d08185

Browse files
committed
Improved how setPermissionGrantState() handle failures.
Test: build Bug: 171350084 Change-Id: I3e67beb57fc3ae2ab91dbbc11ea503afb0541be3
1 parent d1c0750 commit 3d08185

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

app/src/main/java/com/afwsamples/testdpc/DevicePolicyManagerGateway.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ void setApplicationRestrictions(String packageName, Bundle settings,
395395
* See {@link android.app.admin.DevicePolicyManager#setPermissionGrantState(ComponentName, String, String, int)}.
396396
*/
397397
void setPermissionGrantState(String packageName, String permission, int grantState,
398-
@NonNull Consumer<Boolean> onSuccess, @NonNull Consumer<Exception> onError);
398+
@NonNull Consumer<Void> onSuccess, @NonNull Consumer<Exception> onError);
399399

400400
/**
401401
* See {@link android.app.admin.DevicePolicyManager#getPermissionGrantState(ComponentName, String, String)}.

app/src/main/java/com/afwsamples/testdpc/DevicePolicyManagerGatewayImpl.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -776,13 +776,19 @@ public void setApplicationRestrictions(String packageName, Bundle settings,
776776

777777
@Override
778778
public void setPermissionGrantState(String packageName, String permission, int grantState,
779-
Consumer<Boolean> onSuccess, Consumer<Exception> onError) {
779+
Consumer<Void> onSuccess, Consumer<Exception> onError) {
780+
String stateName = Util.grantStateToString(grantState);
780781
Log.d(TAG, "setPermissionGrantState(" + packageName + ", " + permission + "): "
781-
+ Util.grantStateToString(grantState));
782+
+ stateName);
782783
try {
783-
boolean result = mDevicePolicyManager.setPermissionGrantState(mAdminComponentName,
784+
boolean success = mDevicePolicyManager.setPermissionGrantState(mAdminComponentName,
784785
packageName, permission, grantState);
785-
onSuccess.accept(result);
786+
if (success) {
787+
onSuccess.accept(null);
788+
} else {
789+
onError.accept(new FailedOperationException("setPermissionGrantState(%s, %s, %s)",
790+
packageName, permission, stateName));
791+
}
786792
} catch (Exception e) {
787793
onError.accept(e);
788794
}

0 commit comments

Comments
 (0)