6fd90ed96190c0e8668cc001c8d79753065498b4 |
|
20-Jan-2017 |
Jeff Schumacher <jeffschu@google.com> |
Opened some App Links APIs to @SystemApi This change promotes some of the APIs that Settings uses for the "Open by default" screen from @hide to @SystemApi. GTS tests are added in ag/1811536. This change also changes the protection level for Manifest.permission.SET_PREFERRED_APPLICATIONS to allow package verifiers (e.g. the Play Store) to be granted it. This permission is used in the PM.updateIntentVerificationStatusAsUser() and PM.setDefaultBrowserPackageNameAsUser() APIs. Bug:31008483 Test: Patch in ag/1811536 and follow the test instructions there. Change-Id: I18b069de11eaa8fe97c151fb3cfb63854f1fd056
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
3decab60ac992093dbb731eb71588737e7d835da |
|
15-Dec-2016 |
Christopher Tate <ctate@google.com> |
Fix IntentFilter#getAutoVerify() Also fix the verification result display in dumpsys. Bug 21490494 Change-Id: I043bd9a7cc0dc6bf4490b5501682aef63cbe5c72
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
788c8423d19972389b82a23dec297eb27d819c86 |
|
10-Aug-2016 |
Todd Kennedy <toddke@google.com> |
More settings cleanup * While parsing the packages.xml file, don't call getPackagesLPw(); we'll never find a package unless something has gone horribly wrong. Instead, build the PackageSetting like a sane person and add it to internal structures. * Add methods to create a proper copy of the PackageSetting object and not just the data from one class in the middle of the hierarchy. * Stop converting Sets into Lists back into Sets when creating IntentFilterVerificationInfo objects * Remove the name argument when adding a package setting; it should always be the name in the package setting Bug: 30219944 Change-Id: I7fa2c540621fb5d70a59b15919bfd31d8465e25d
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
56f0ff3c48c88b969d9bf5e62eb1ee590e03e461 |
|
14-Aug-2015 |
Christopher Tate <ctate@google.com> |
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
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
f0d6cb38c47ee37583034dc3a68238ed13c91742 |
|
11-Jul-2015 |
Christopher Tate <ctate@google.com> |
Prioritize most-recently-enabled link-handling app In the case when multiple apps handle a given web-link action, all of which have been marked as "launch the app instead of a browser" and so are otherwise ambiguous, always prefer the app that was most recently placed into the always-handle-links state. Bug 22051035 Change-Id: I3f43c19b0d7b74e9843445e41971bb5433affb1c
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
1de3f0dcafb0c5ceb3d9bec96a5c630bb8d4a515 |
|
30-Apr-2015 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification - part 7 - update packages priming so that it effectively save its data - use ArraySet instead of ArrayList for list of domains (a set is preferable as we dont want duplicates) See bug #19628909 Change-Id: I52085f4bc28dcbc7fbc02ba0898abcd4ae9cf1e2
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
7d014cec63939f7aca2a8014f45cd4c9a3e1aa0c |
|
09-Apr-2015 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification - part 4 - add domain verification priming at boot when the PackageManagerService singleton is created. This will mainly set the domain verification status to INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS for all Apps that have an IntentFilter with action VIEW and data scheme HTTP or HTTPS. - also optimize Intent resolution by taking into account Browser Apps Change-Id: Id8e66c9759a99e79b07051595ca89a168dc5ae0e
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
0788595e0c9bc5e8c1907c63db595010006ef5b4 |
|
07-Apr-2015 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification - part 3 - add private API PackageManager.getAllIntentFilters(String) for getting all IntentFilters from a given package - update IntentFilterVerificationInfo to use an ArrayList<String> for domains instead of a String[] - if you make an App a default domain handler then make the others as non default - create an IntentVerificationInfo even if the App IntentFilters do not need to be verified. This would be done only if the App has some domain URLs defined and would allow to make it the default handler for a domain - a few code optimizations here and there Change-Id: I4535372a0bb1a2c8e662e1485be8ca700003e9b3
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|
1c1b47125da018b44240739db75f8898e064a948 |
|
20-Nov-2014 |
Fabrice Di Meglio <fdimeglio@google.com> |
Add IntentFilter auto verification The purpose of this feature is to prompt the Disambiguation dialog to Users as less as possible. - add the new "autoVerify" property to the IntentFilter class - add new APIs to PackageManager: verifyIntentFilter(int, int, List<String>), getIntentVerificationStatus(String, int), updateIntentVerificationStatus(String, int, int), getIntentFilterVerifications(String) for supporting IntentFilter verification - add support for multi-user - update PackageManager for IntentFilter verification: basically when we are installing a new package, ask for verification of all domains from the IntentFilters that have the "autoVerify" to true. This means that the PackageManager will send a well defined protected broadcast (with a new INTENT_FILTER_NEEDS_VERIFICATION action) to an IntentFilter verifier to do the real job of verification. We are passing in the broadcast Intent all the necessary data for doing the verification. The PackageManager will receive as response the result code of the domain verifications and, if needed, the list of domains that have failed the verification. - add a new INTENT_FILTER_VERIFICATION_AGENT permission that needs to be set by an intent filter verifier to be considered as a trustable party by the PackageManager. - add also a new BIND_INTENT_FILTER_VERIFIER permission for securing the binding between the PackageManager and a service doing the intent filter verifications. - add ResolveInfo filterNeedsVerification which is a boolean to knows if the IntentFilter is of a type that needs a verification (action VIEW, category BROWABLE, HTTP/HTTPS data URI) - add new "domain-preferred-apps" / "d" dump command for listing the prefered Apps for all domains - add new "intent-filter-verifiers" / "ivf" command for listing the IntentFilterVerifier used - introduce the IntentVerificationService which is a basic service for verifying IntentFilters. This service will send HTTPS requests to the domain declared in the IntentFilter(s) for doing the verification. This service has a low priority level so that it can be replaced by a more sophisticated one if needed. This service is updating the PackageManager intent verification states thru the updateIntentVerificationStatus(...) API. - update MockPackageManager Change-Id: I0bfed193d0bf1f7c7ac79f6c1b160b7ab93b5fb5
/frameworks/base/core/java/android/content/pm/IntentFilterVerificationInfo.java
|