diff options
| author | Taras Antoshchuk <tantoshchuk@google.com> | 2019-10-29 13:46:19 +0100 |
|---|---|---|
| committer | Taras Antoshchuk <tantoshchuk@google.com> | 2020-02-16 20:10:22 +0100 |
| commit | a7d9c739386a5e593ae5d830fcb142ff7a0c17dd (patch) | |
| tree | 261f71da41b747f437308cf6014029140ada24a7 /core/java/android/app/ApplicationPackageManager.java | |
| parent | 26d3496c9b47f7a374147847587649b684f04c06 (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.java | 31 |
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(); + } + } } |
