Merge "Support overriding calling package in Documents." into klp-dev
This commit is contained in:
@ -73,6 +73,9 @@ public final class DocumentsContract {
|
|||||||
*/
|
*/
|
||||||
public static final String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER";
|
public static final String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER";
|
||||||
|
|
||||||
|
/** {@hide} */
|
||||||
|
public static final String EXTRA_PACKAGE_NAME = "android.content.extra.PACKAGE_NAME";
|
||||||
|
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
public static final String ACTION_MANAGE_ROOT = "android.provider.action.MANAGE_ROOT";
|
public static final String ACTION_MANAGE_ROOT = "android.provider.action.MANAGE_ROOT";
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
|
@ -292,7 +292,7 @@ public class DocumentsActivity extends Activity {
|
|||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(Void... params) {
|
protected Void doInBackground(Void... params) {
|
||||||
// Restore last stack for calling package
|
// Restore last stack for calling package
|
||||||
final String packageName = getCallingPackage();
|
final String packageName = getCallingPackageMaybeExtra();
|
||||||
final Cursor cursor = getContentResolver()
|
final Cursor cursor = getContentResolver()
|
||||||
.query(RecentsProvider.buildResume(packageName), null, null, null, null);
|
.query(RecentsProvider.buildResume(packageName), null, null, null, null);
|
||||||
try {
|
try {
|
||||||
@ -783,6 +783,11 @@ public class DocumentsActivity extends Activity {
|
|||||||
return mState.stack.peek();
|
return mState.stack.peek();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getCallingPackageMaybeExtra() {
|
||||||
|
final String extra = getIntent().getStringExtra(DocumentsContract.EXTRA_PACKAGE_NAME);
|
||||||
|
return (extra != null) ? extra : getCallingPackage();
|
||||||
|
}
|
||||||
|
|
||||||
public Executor getCurrentExecutor() {
|
public Executor getCurrentExecutor() {
|
||||||
final DocumentInfo cwd = getCurrentDirectory();
|
final DocumentInfo cwd = getCurrentDirectory();
|
||||||
if (cwd != null && cwd.authority != null) {
|
if (cwd != null && cwd.authority != null) {
|
||||||
@ -921,7 +926,7 @@ public class DocumentsActivity extends Activity {
|
|||||||
if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) {
|
if (requestCode == CODE_FORWARD && resultCode != RESULT_CANCELED) {
|
||||||
|
|
||||||
// Remember that we last picked via external app
|
// Remember that we last picked via external app
|
||||||
final String packageName = getCallingPackage();
|
final String packageName = getCallingPackageMaybeExtra();
|
||||||
final ContentValues values = new ContentValues();
|
final ContentValues values = new ContentValues();
|
||||||
values.put(ResumeColumns.EXTERNAL, 1);
|
values.put(ResumeColumns.EXTERNAL, 1);
|
||||||
getContentResolver().insert(RecentsProvider.buildResume(packageName), values);
|
getContentResolver().insert(RecentsProvider.buildResume(packageName), values);
|
||||||
@ -1002,7 +1007,7 @@ public class DocumentsActivity extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remember location for next app launch
|
// Remember location for next app launch
|
||||||
final String packageName = getCallingPackage();
|
final String packageName = getCallingPackageMaybeExtra();
|
||||||
values.clear();
|
values.clear();
|
||||||
values.put(ResumeColumns.STACK, rawStack);
|
values.put(ResumeColumns.STACK, rawStack);
|
||||||
values.put(ResumeColumns.EXTERNAL, 0);
|
values.put(ResumeColumns.EXTERNAL, 0);
|
||||||
|
Reference in New Issue
Block a user