final InstallAppsState appState = new InstallAppsState();
appState.permissionRequested = hasRequestedAppOpPermission(
Manifest.permission.REQUEST_INSTALL_PACKAGES, packageName);
- appState.permissionGranted = hasPermission(Manifest.permission.REQUEST_INSTALL_PACKAGES,
- uid);
appState.appOpMode = getAppOpMode(AppOpsManager.OP_REQUEST_INSTALL_PACKAGES, uid,
packageName);
return appState;
*/
public static class InstallAppsState {
boolean permissionRequested;
- boolean permissionGranted;
int appOpMode;
public InstallAppsState() {
}
public boolean canInstallApps() {
- if (appOpMode == AppOpsManager.MODE_DEFAULT) {
- return permissionGranted;
- } else {
- return appOpMode == AppOpsManager.MODE_ALLOWED;
- }
+ return appOpMode == AppOpsManager.MODE_ALLOWED;
}
public boolean isPotentialAppSource() {
@Override
public String toString() {
- StringBuilder sb = new StringBuilder("[permissionGranted: " + permissionGranted);
- sb.append(", permissionRequested: " + permissionRequested);
+ StringBuilder sb = new StringBuilder();
+ sb.append("[permissionRequested: " + permissionRequested);
sb.append(", appOpMode: " + appOpMode);
sb.append("]");
return sb.toString();
new AppStateInstallAppsBridge.InstallAppsState();
assertThat(appState.canInstallApps()).isFalse();
- appState.permissionGranted = true;
appState.permissionRequested = true;
+ assertThat(appState.canInstallApps()).isFalse();
+
+ appState.appOpMode = AppOpsManager.MODE_ALLOWED;
assertThat(appState.canInstallApps()).isTrue();
appState.appOpMode = AppOpsManager.MODE_ERRORED;