summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2015-08-13 16:29:33 -0700
committerChristopher Tate <ctate@google.com>2015-08-13 18:56:05 -0700
commit56f0ff3c48c88b969d9bf5e62eb1ee590e03e461 (patch)
treeb78a6bc97b2fc7ebe99d2153a2ccbee1b6433043 /core
parentbeabcb92cbdec6f68bd712c9972e6f8377b78f46 (diff)
downloadframeworks_base-56f0ff3c48c88b969d9bf5e62eb1ee590e03e461.zip
frameworks_base-56f0ff3c48c88b969d9bf5e62eb1ee590e03e461.tar.gz
frameworks_base-56f0ff3c48c88b969d9bf5e62eb1ee590e03e461.tar.bz2
Make "Ask every time" actually work that way
..in link-opening behavior. If a candidate is marked as "ask every time," then the user is guaranteed to get a disambiguation prompt including that candidate even when some other candidate app is in the "always prefer this over a browser" state. Bug 23147746 Change-Id: I904d8697a992b3f16f32b1c1b49c2bf9424c7137
Diffstat (limited to 'core')
-rw-r--r--core/java/android/content/pm/IntentFilterVerificationInfo.java5
-rw-r--r--core/java/android/content/pm/PackageManager.java12
2 files changed, 17 insertions, 0 deletions
diff --git a/core/java/android/content/pm/IntentFilterVerificationInfo.java b/core/java/android/content/pm/IntentFilterVerificationInfo.java
index 4dbac05..953b051 100644
--- a/core/java/android/content/pm/IntentFilterVerificationInfo.java
+++ b/core/java/android/content/pm/IntentFilterVerificationInfo.java
@@ -19,6 +19,7 @@ package android.content.pm;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS;
+import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK;
import static android.content.pm.PackageManager.INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER;
import android.os.Parcel;
@@ -199,6 +200,10 @@ public final class IntentFilterVerificationInfo implements Parcelable {
sb.append("never");
break;
+ case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK:
+ sb.append("always-ask");
+ break;
+
case INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED:
default:
sb.append("undefined");
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 0f936fd..c8e9402 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -1073,6 +1073,18 @@ public abstract class PackageManager {
public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3;
/**
+ * Used as the {@code status} argument for {@link PackageManager#updateIntentVerificationStatus}
+ * to indicate that this app should always be considered as an ambiguous candidate for
+ * handling the matching Intent even if there are other candidate apps in the "always"
+ * state. Put another way: if there are any 'always ask' apps in a set of more than
+ * one candidate app, then a disambiguation is *always* presented even if there is
+ * another candidate app with the 'always' state.
+ *
+ * @hide
+ */
+ public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4;
+
+ /**
* Can be used as the {@code millisecondsToDelay} argument for
* {@link PackageManager#extendVerificationTimeout}. This is the
* maximum time {@code PackageManager} waits for the verification