Merge "Fix uri permission grant on remote bug report uri" into nyc-dev am: 42f2e80293

am: 824c8284ce

Change-Id: If4dfa2d7af980c91ec3d3f8faa7e7f4a39350c82
This commit is contained in:
Rubin Xu
2017-02-10 12:20:18 +00:00
committed by android-build-merger
2 changed files with 9 additions and 4 deletions

View File

@@ -360,7 +360,7 @@ public class DevicePolicyManager {
* @hide
*/
public static final String ACTION_BUGREPORT_SHARING_ACCEPTED =
"com.android.server.action.BUGREPORT_SHARING_ACCEPTED";
"com.android.server.action.REMOTE_BUGREPORT_SHARING_ACCEPTED";
/**
* Action: Bugreport sharing with device owner has been declined by the user.
@@ -368,7 +368,7 @@ public class DevicePolicyManager {
* @hide
*/
public static final String ACTION_BUGREPORT_SHARING_DECLINED =
"com.android.server.action.BUGREPORT_SHARING_DECLINED";
"com.android.server.action.REMOTE_BUGREPORT_SHARING_DECLINED";
/**
* Action: Bugreport has been collected and is dispatched to {@link DevicePolicyManagerService}.

View File

@@ -37,6 +37,7 @@ import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.app.ActivityManagerNative;
import android.app.AlarmManager;
import android.app.AppGlobals;
@@ -5653,8 +5654,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
intent.setComponent(mOwners.getDeviceOwnerComponent());
intent.setDataAndType(bugreportUri, RemoteBugreportUtils.BUGREPORT_MIMETYPE);
intent.putExtra(DeviceAdminReceiver.EXTRA_BUGREPORT_HASH, bugreportHash);
mContext.grantUriPermission(mOwners.getDeviceOwnerComponent().getPackageName(),
bugreportUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
LocalServices.getService(ActivityManagerInternal.class)
.grantUriPermissionFromIntent(Process.SHELL_UID,
mOwners.getDeviceOwnerComponent().getPackageName(),
intent, mOwners.getDeviceOwnerUserId());
mContext.sendBroadcastAsUser(intent, UserHandle.of(mOwners.getDeviceOwnerUserId()));
}
} catch (FileNotFoundException e) {