Merge "Fix sysui's security issue of cross-user copy/paste" into qt-dev
am: 743288a029
Change-Id: I7e67f0f6f4372b62bfac875ab6ebdcfb43aef3c7
This commit is contained in:
@@ -103,7 +103,7 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
try {
|
||||
Preconditions.checkNotNull(clip);
|
||||
clip.prepareToLeaveProcess(true);
|
||||
mService.setPrimaryClip(clip, mContext.getOpPackageName());
|
||||
mService.setPrimaryClip(clip, mContext.getOpPackageName(), mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -116,7 +116,7 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
*/
|
||||
public void clearPrimaryClip() {
|
||||
try {
|
||||
mService.clearPrimaryClip(mContext.getOpPackageName());
|
||||
mService.clearPrimaryClip(mContext.getOpPackageName(), mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -132,7 +132,7 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
*/
|
||||
public @Nullable ClipData getPrimaryClip() {
|
||||
try {
|
||||
return mService.getPrimaryClip(mContext.getOpPackageName());
|
||||
return mService.getPrimaryClip(mContext.getOpPackageName(), mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -149,7 +149,8 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
*/
|
||||
public @Nullable ClipDescription getPrimaryClipDescription() {
|
||||
try {
|
||||
return mService.getPrimaryClipDescription(mContext.getOpPackageName());
|
||||
return mService.getPrimaryClipDescription(mContext.getOpPackageName(),
|
||||
mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -163,7 +164,7 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
*/
|
||||
public boolean hasPrimaryClip() {
|
||||
try {
|
||||
return mService.hasPrimaryClip(mContext.getOpPackageName());
|
||||
return mService.hasPrimaryClip(mContext.getOpPackageName(), mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -174,7 +175,8 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
if (mPrimaryClipChangedListeners.isEmpty()) {
|
||||
try {
|
||||
mService.addPrimaryClipChangedListener(
|
||||
mPrimaryClipChangedServiceListener, mContext.getOpPackageName());
|
||||
mPrimaryClipChangedServiceListener, mContext.getOpPackageName(),
|
||||
mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -189,7 +191,8 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
if (mPrimaryClipChangedListeners.isEmpty()) {
|
||||
try {
|
||||
mService.removePrimaryClipChangedListener(
|
||||
mPrimaryClipChangedServiceListener);
|
||||
mPrimaryClipChangedServiceListener, mContext.getOpPackageName(),
|
||||
mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
@@ -226,7 +229,7 @@ public class ClipboardManager extends android.text.ClipboardManager {
|
||||
@Deprecated
|
||||
public boolean hasText() {
|
||||
try {
|
||||
return mService.hasClipboardText(mContext.getOpPackageName());
|
||||
return mService.hasClipboardText(mContext.getOpPackageName(), mContext.getUserId());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
@@ -26,17 +26,18 @@ import android.content.IOnPrimaryClipChangedListener;
|
||||
* {@hide}
|
||||
*/
|
||||
interface IClipboard {
|
||||
void setPrimaryClip(in ClipData clip, String callingPackage);
|
||||
void clearPrimaryClip(String callingPackage);
|
||||
ClipData getPrimaryClip(String pkg);
|
||||
ClipDescription getPrimaryClipDescription(String callingPackage);
|
||||
boolean hasPrimaryClip(String callingPackage);
|
||||
void setPrimaryClip(in ClipData clip, String callingPackage, int userId);
|
||||
void clearPrimaryClip(String callingPackage, int userId);
|
||||
ClipData getPrimaryClip(String pkg, int userId);
|
||||
ClipDescription getPrimaryClipDescription(String callingPackage, int userId);
|
||||
boolean hasPrimaryClip(String callingPackage, int userId);
|
||||
void addPrimaryClipChangedListener(in IOnPrimaryClipChangedListener listener,
|
||||
String callingPackage);
|
||||
void removePrimaryClipChangedListener(in IOnPrimaryClipChangedListener listener);
|
||||
String callingPackage, int userId);
|
||||
void removePrimaryClipChangedListener(in IOnPrimaryClipChangedListener listener,
|
||||
String callingPackage, int userId);
|
||||
|
||||
/**
|
||||
* Returns true if the clipboard contains text; false otherwise.
|
||||
*/
|
||||
boolean hasClipboardText(String callingPackage);
|
||||
boolean hasClipboardText(String callingPackage, int userId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user