diff --git a/api/current.txt b/api/current.txt index f79a995fa3b5b..91b5502f1f941 100644 --- a/api/current.txt +++ b/api/current.txt @@ -9438,7 +9438,7 @@ package android.content { field public static final java.lang.String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; field public static final java.lang.String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT"; field public static final java.lang.String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY"; - field public static final java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + field public static final java.lang.String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES"; field public static final java.lang.String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE"; field public static final java.lang.String EXTRA_REFERRER = "android.intent.extra.REFERRER"; field public static final java.lang.String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME"; @@ -9704,6 +9704,14 @@ package android.content { field public final long period; } + public class QuickViewConstants { + field public static final java.lang.String FEATURE_DOWNLOAD = "android:download"; + field public static final java.lang.String FEATURE_EDIT = "android:edit"; + field public static final java.lang.String FEATURE_PRINT = "android:print"; + field public static final java.lang.String FEATURE_SEND = "android:send"; + field public static final java.lang.String FEATURE_VIEW = "android:view"; + } + public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException { ctor public ReceiverCallNotAllowedException(java.lang.String); } diff --git a/api/removed.txt b/api/removed.txt index fa62e056757c1..42b2ae61e5cf6 100644 --- a/api/removed.txt +++ b/api/removed.txt @@ -33,6 +33,10 @@ package android.content { method public abstract java.io.File getSharedPreferencesPath(java.lang.String); } + public class Intent implements java.lang.Cloneable android.os.Parcelable { + field public static final deprecated java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + } + } package android.content.pm { diff --git a/api/system-current.txt b/api/system-current.txt index 83e2d714ddf1b..ba07936910339 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -9964,7 +9964,7 @@ package android.content { field public static final java.lang.String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; field public static final java.lang.String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT"; field public static final java.lang.String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY"; - field public static final java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + field public static final java.lang.String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES"; field public static final java.lang.String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE"; field public static final java.lang.String EXTRA_REFERRER = "android.intent.extra.REFERRER"; field public static final java.lang.String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME"; @@ -10235,6 +10235,14 @@ package android.content { field public final long period; } + public class QuickViewConstants { + field public static final java.lang.String FEATURE_DOWNLOAD = "android:download"; + field public static final java.lang.String FEATURE_EDIT = "android:edit"; + field public static final java.lang.String FEATURE_PRINT = "android:print"; + field public static final java.lang.String FEATURE_SEND = "android:send"; + field public static final java.lang.String FEATURE_VIEW = "android:view"; + } + public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException { ctor public ReceiverCallNotAllowedException(java.lang.String); } diff --git a/api/system-removed.txt b/api/system-removed.txt index 1244103ee62d5..1bafe96c1e6e4 100644 --- a/api/system-removed.txt +++ b/api/system-removed.txt @@ -31,6 +31,10 @@ package android.content { method public abstract java.io.File getSharedPreferencesPath(java.lang.String); } + public class Intent implements java.lang.Cloneable android.os.Parcelable { + field public static final deprecated java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + } + } package android.content.pm { diff --git a/api/test-current.txt b/api/test-current.txt index 6334956d745c1..c819cebcdba48 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -9471,7 +9471,7 @@ package android.content { field public static final java.lang.String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; field public static final java.lang.String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT"; field public static final java.lang.String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY"; - field public static final java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + field public static final java.lang.String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES"; field public static final java.lang.String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE"; field public static final java.lang.String EXTRA_REFERRER = "android.intent.extra.REFERRER"; field public static final java.lang.String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME"; @@ -9737,6 +9737,14 @@ package android.content { field public final long period; } + public class QuickViewConstants { + field public static final java.lang.String FEATURE_DOWNLOAD = "android:download"; + field public static final java.lang.String FEATURE_EDIT = "android:edit"; + field public static final java.lang.String FEATURE_PRINT = "android:print"; + field public static final java.lang.String FEATURE_SEND = "android:send"; + field public static final java.lang.String FEATURE_VIEW = "android:view"; + } + public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException { ctor public ReceiverCallNotAllowedException(java.lang.String); } diff --git a/api/test-removed.txt b/api/test-removed.txt index fa62e056757c1..42b2ae61e5cf6 100644 --- a/api/test-removed.txt +++ b/api/test-removed.txt @@ -33,6 +33,10 @@ package android.content { method public abstract java.io.File getSharedPreferencesPath(java.lang.String); } + public class Intent implements java.lang.Cloneable android.os.Parcelable { + field public static final deprecated java.lang.String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + } + } package android.content.pm { diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 8044d93fd0ae3..116224b35d06b 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -668,19 +668,17 @@ public class Intent implements Parcelable, Cloneable { * a URI or a list of URIs. *
Activities handling this intent action should handle the vast majority of * MIME types rather than only specific ones. + *
Quick viewers must render the quick view image locally, and must not send + * file content outside current device. *
Input: {@link #getData} is a mandatory content URI of the item to * preview. {@link #getClipData} contains an optional list of content URIs * if there is more than one item to preview. {@link #EXTRA_INDEX} is an * optional index of the URI in the clip data to show first. - *
By default quick viewers are supposed to be lightweight and focus on - * previewing the content only. They should not expose features such as printing, - * opening in an external app, deleting, rotating, casting, etc. - * However, if {@link #EXTRA_QUICK_VIEW_ADVANCED} is true, then the quick viewer - * may show advanced UI which includes convenience actions suitable for the passed - * Uris. + * {@link #EXTRA_QUICK_VIEW_FEATURES} is an optional extra indicating the features + * that can be shown in the quick view UI. *
Output: nothing. - * @see #EXTRA_QUICK_VIEW_ADVANCED * @see #EXTRA_INDEX + * @see #EXTRA_QUICK_VIEW_FEATURES */ @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) public static final String ACTION_QUICK_VIEW = "android.intent.action.QUICK_VIEW"; @@ -4490,7 +4488,7 @@ public class Intent implements Parcelable, Cloneable { * Optional index with semantics depending on the intent action. * *
The value must be an integer greater or equal to 0. - * @see ACTION_QUICK_VIEW + * @see #ACTION_QUICK_VIEW */ public static final String EXTRA_INDEX = "android.intent.extra.INDEX"; @@ -4500,11 +4498,37 @@ public class Intent implements Parcelable, Cloneable { * casting, etc. * *
The value is boolean. By default false. - * @see ACTION_QUICK_VIEW + * @see #ACTION_QUICK_VIEW + * @removed */ + @Deprecated public static final String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED"; + /** + * An optional extra of {@code String[]} indicating which quick view features should be made + * available to the user in the quick view UI while handing a + * {@link Intent#ACTION_QUICK_VIEW} intent. + *
+ * Requirements: + *