summaryrefslogtreecommitdiff
path: root/core/java/android/app/ApplicationPackageManager.java
diff options
context:
space:
mode:
authorTaras Antoshchuk <tantoshchuk@google.com>2019-10-29 13:46:19 +0100
committerTaras Antoshchuk <tantoshchuk@google.com>2020-02-16 20:10:22 +0100
commita7d9c739386a5e593ae5d830fcb142ff7a0c17dd (patch)
tree261f71da41b747f437308cf6014029140ada24a7 /core/java/android/app/ApplicationPackageManager.java
parent26d3496c9b47f7a374147847587649b684f04c06 (diff)
Implement new API to modify MIME groups by adding/removing MIME types
MIME groups can now be modified via PackageManager. MIME group modification will affect intent-filters that were declared with that |mimeGroup| in manifest in the same way, as if intent-filter was initially declared with |mimeType| attributes that correspond to MIME types in MIME group Preferred activities will be handled in the next CL Bug: 134736173 Bug: 136635677 Test: atest android.content.pm.PackageParserTest#testPackageWithIntentFilters* Change-Id: I083a8794897e632aad5325a67311931193c69a3c
Diffstat (limited to 'core/java/android/app/ApplicationPackageManager.java')
-rw-r--r--core/java/android/app/ApplicationPackageManager.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index cd05e2c948b1..e781ac606049 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -3334,4 +3334,35 @@ public class ApplicationPackageManager extends PackageManager {
throw e.rethrowAsRuntimeException();
}
}
+
+ public void setMimeGroup(String mimeGroup, Set<String> mimeTypes) {
+ try {
+ mPM.setMimeGroup(mContext.getPackageName(), mimeGroup,
+ new ArrayList<String>(mimeTypes));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
+ }
+ }
+
+ @Override
+ public void clearMimeGroup(String mimeGroup) {
+ try {
+ mPM.clearMimeGroup(mContext.getPackageName(), mimeGroup);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
+ }
+ }
+
+ @Override
+ public Set<String> getMimeGroup(String group) {
+ try {
+ List<String> mimeGroup = mPM.getMimeGroup(mContext.getPackageName(), group);
+ if (mimeGroup == null) {
+ return null;
+ }
+ return new ArraySet<>(mimeGroup);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
+ }
+ }
}