From 0e591f95bd023fc153520efe0852180bb580a442 Mon Sep 17 00:00:00 2001 From: Tomasz Mikolajewski Date: Fri, 12 Jun 2015 16:22:17 -0700 Subject: [PATCH] Allow to customize title of the dialog. TEST=adb shell am start -a android.intent.action.OPEN_DOCUMENT -e android.intent.extra.TITLE 'Upload!' -t "text/plain" BUG=19150996 Change-Id: Ibded6cfaa2de3698c5eada154efbee2b323464d4 --- api/current.txt | 1 + api/system-current.txt | 1 + .../android/provider/DocumentsContract.java | 5 +++++ .../documentsui/DocumentsActivity.java | 19 ++++++++++++------- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/api/current.txt b/api/current.txt index 3fd4fcb9f6223..852b9e335e5c6 100644 --- a/api/current.txt +++ b/api/current.txt @@ -26056,6 +26056,7 @@ package android.provider { field public static final java.lang.String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF"; field public static final java.lang.String EXTRA_INFO = "info"; field public static final java.lang.String EXTRA_LOADING = "loading"; + field public static final java.lang.String EXTRA_PROMPT = "android.provider.extra.PROMPT"; field public static final java.lang.String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER"; } diff --git a/api/system-current.txt b/api/system-current.txt index 25ef6be69c7f7..1d8c187fc548c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -27990,6 +27990,7 @@ package android.provider { field public static final java.lang.String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF"; field public static final java.lang.String EXTRA_INFO = "info"; field public static final java.lang.String EXTRA_LOADING = "loading"; + field public static final java.lang.String EXTRA_PROMPT = "android.provider.extra.PROMPT"; field public static final java.lang.String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER"; } diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java index 30535ffbe8ef1..c7ba60768a728 100644 --- a/core/java/android/provider/DocumentsContract.java +++ b/core/java/android/provider/DocumentsContract.java @@ -107,6 +107,11 @@ public final class DocumentsContract { */ public static final String EXTRA_ORIENTATION = "android.content.extra.ORIENTATION"; + /** + * Overrides the default prompt text in DocumentsUI when set in an intent. + */ + public static final String EXTRA_PROMPT = "android.provider.extra.PROMPT"; + /** {@hide} */ public static final String ACTION_MANAGE_ROOT = "android.provider.action.MANAGE_ROOT"; /** {@hide} */ diff --git a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java index 90ccf9153199a..42114065009ea 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java @@ -393,13 +393,18 @@ public class DocumentsActivity extends BaseActivity { @Override public void updateActionBar() { if (mRootsToolbar != null) { - if (mState.action == ACTION_OPEN || - mState.action == ACTION_GET_CONTENT || - mState.action == ACTION_OPEN_TREE) { - mRootsToolbar.setTitle(R.string.title_open); - } else if (mState.action == ACTION_CREATE || - mState.action == ACTION_OPEN_COPY_DESTINATION) { - mRootsToolbar.setTitle(R.string.title_save); + final String prompt = getIntent().getStringExtra(DocumentsContract.EXTRA_PROMPT); + if (prompt != null) { + mRootsToolbar.setTitle(prompt); + } else { + if (mState.action == ACTION_OPEN || + mState.action == ACTION_GET_CONTENT || + mState.action == ACTION_OPEN_TREE) { + mRootsToolbar.setTitle(R.string.title_open); + } else if (mState.action == ACTION_CREATE || + mState.action == ACTION_OPEN_COPY_DESTINATION) { + mRootsToolbar.setTitle(R.string.title_save); + } } }