Merge changes from topic "mtp-user" into oc-mr1-dev

* changes:
  Add additional context to MtpDatabase
  Reset functions to null when user changes.
This commit is contained in:
Jerry Zhang
2017-08-24 22:13:40 +00:00
committed by Android (Google) Code Review
2 changed files with 6 additions and 4 deletions

View File

@@ -52,6 +52,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class MtpDatabase implements AutoCloseable {
private static final String TAG = "MtpDatabase";
private final Context mUserContext;
private final Context mContext;
private final String mPackageName;
private final ContentProviderClient mMediaProvider;
@@ -159,13 +160,14 @@ public class MtpDatabase implements AutoCloseable {
}
};
public MtpDatabase(Context context, String volumeName, String storagePath,
public MtpDatabase(Context context, Context userContext, String volumeName, String storagePath,
String[] subDirectories) {
native_setup();
mContext = context;
mUserContext = userContext;
mPackageName = context.getPackageName();
mMediaProvider = context.getContentResolver()
mMediaProvider = userContext.getContentResolver()
.acquireContentProviderClient(MediaStore.AUTHORITY);
mVolumeName = volumeName;
mMediaStoragePath = storagePath;
@@ -1114,7 +1116,7 @@ public class MtpDatabase implements AutoCloseable {
private void sessionEnded() {
if (mDatabaseModified) {
mContext.sendBroadcast(new Intent(MediaStore.ACTION_MTP_SESSION_END));
mUserContext.sendBroadcast(new Intent(MediaStore.ACTION_MTP_SESSION_END));
mDatabaseModified = false;
}
}

View File

@@ -1017,7 +1017,7 @@ public class UsbDeviceManager {
Slog.v(TAG, "Current user switched to " + msg.arg1
+ "; resetting USB host stack for MTP or PTP");
// avoid leaking sensitive data from previous user
setEnabledFunctions(mCurrentFunctions, true, false);
setEnabledFunctions(null, true, false);
}
mCurrentUser = msg.arg1;
}