BridgePackageManager.java revision e06b4d1d9f718b9fe02980fea794a36831a16db2
1/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.layoutlib.bridge.android;
18
19import android.annotation.NonNull;
20import android.app.PackageInstallObserver;
21import android.content.ComponentName;
22import android.content.Intent;
23import android.content.IntentFilter;
24import android.content.IntentSender;
25import android.content.pm.ActivityInfo;
26import android.content.pm.ApplicationInfo;
27import android.content.pm.ContainerEncryptionParams;
28import android.content.pm.EphemeralApplicationInfo;
29import android.content.pm.FeatureInfo;
30import android.content.pm.IPackageDataObserver;
31import android.content.pm.IPackageDeleteObserver;
32import android.content.pm.IPackageInstallObserver;
33import android.content.pm.IPackageStatsObserver;
34import android.content.pm.InstrumentationInfo;
35import android.content.pm.IntentFilterVerificationInfo;
36import android.content.pm.KeySet;
37import android.content.pm.PackageInfo;
38import android.content.pm.PackageInstaller;
39import android.content.pm.PackageItemInfo;
40import android.content.pm.PackageManager;
41import android.content.pm.PermissionGroupInfo;
42import android.content.pm.PermissionInfo;
43import android.content.pm.ProviderInfo;
44import android.content.pm.ResolveInfo;
45import android.content.pm.ServiceInfo;
46import android.content.pm.VerificationParams;
47import android.content.pm.VerifierDeviceIdentity;
48import android.content.res.Resources;
49import android.content.res.XmlResourceParser;
50import android.graphics.Rect;
51import android.graphics.drawable.Drawable;
52import android.net.Uri;
53import android.os.Handler;
54import android.os.UserHandle;
55import android.os.storage.VolumeInfo;
56import java.util.List;
57
58/**
59 * An implementation of {@link PackageManager} that does nothing.
60 */
61@SuppressWarnings("deprecation")
62public class BridgePackageManager extends PackageManager {
63    @Override
64    public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException {
65        return null;
66    }
67
68    @Override
69    public PackageInfo getPackageInfoAsUser(String packageName, int flags, int userId)
70            throws NameNotFoundException {
71        return null;
72    }
73
74    @Override
75    public String[] currentToCanonicalPackageNames(String[] names) {
76        return new String[0];
77    }
78
79    @Override
80    public String[] canonicalToCurrentPackageNames(String[] names) {
81        return new String[0];
82    }
83
84    @Override
85    public Intent getLaunchIntentForPackage(String packageName) {
86        return null;
87    }
88
89    @Override
90    public Intent getLeanbackLaunchIntentForPackage(String packageName) {
91        return null;
92    }
93
94    @Override
95    public int[] getPackageGids(String packageName) throws NameNotFoundException {
96        return new int[0];
97    }
98
99    @Override
100    public int getPackageUidAsUser(String packageName, int userHandle) throws NameNotFoundException {
101        return 0;
102    }
103
104    @Override
105    public PermissionInfo getPermissionInfo(String name, int flags) throws NameNotFoundException {
106        return null;
107    }
108
109    @Override
110    public List<PermissionInfo> queryPermissionsByGroup(String group, int flags)
111            throws NameNotFoundException {
112        return null;
113    }
114
115    @Override
116    public PermissionGroupInfo getPermissionGroupInfo(String name, int flags)
117            throws NameNotFoundException {
118        return null;
119    }
120
121    @Override
122    public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
123        return null;
124    }
125
126    @Override
127    public ApplicationInfo getApplicationInfo(String packageName, int flags)
128            throws NameNotFoundException {
129        return null;
130    }
131
132    @Override
133    public ActivityInfo getActivityInfo(ComponentName component, int flags)
134            throws NameNotFoundException {
135        return null;
136    }
137
138    @Override
139    public ActivityInfo getReceiverInfo(ComponentName component, int flags)
140            throws NameNotFoundException {
141        return null;
142    }
143
144    @Override
145    public ServiceInfo getServiceInfo(ComponentName component, int flags)
146            throws NameNotFoundException {
147        return null;
148    }
149
150    @Override
151    public ProviderInfo getProviderInfo(ComponentName component, int flags)
152            throws NameNotFoundException {
153        return null;
154    }
155
156    @Override
157    public List<PackageInfo> getInstalledPackages(int flags) {
158        return null;
159    }
160
161    @Override
162    public List<PackageInfo> getPackagesHoldingPermissions(String[] permissions, int flags) {
163        return null;
164    }
165
166    @Override
167    public List<PackageInfo> getInstalledPackagesAsUser(int flags, int userId) {
168        return null;
169    }
170
171    @Override
172    public int checkPermission(String permName, String pkgName) {
173        return 0;
174    }
175
176    @Override
177    public boolean isPermissionRevokedByPolicy(String permName, String pkgName) {
178        return false;
179    }
180
181    @Override
182    public String getPermissionControllerPackageName() {
183        return null;
184    }
185
186    @Override
187    public boolean addPermission(PermissionInfo info) {
188        return false;
189    }
190
191    @Override
192    public boolean addPermissionAsync(PermissionInfo info) {
193        return false;
194    }
195
196    @Override
197    public void removePermission(String name) {
198    }
199
200    @Override
201    public void grantRuntimePermission(String packageName, String permissionName, UserHandle user) {
202    }
203
204    @Override
205    public void revokeRuntimePermission(String packageName, String permissionName,
206            UserHandle user) {
207    }
208
209    @Override
210    public int getPermissionFlags(String permissionName, String packageName, UserHandle user) {
211        return 0;
212    }
213
214    @Override
215    public void updatePermissionFlags(String permissionName, String packageName, int flagMask,
216            int flagValues, UserHandle user) {
217    }
218
219    @Override
220    public boolean shouldShowRequestPermissionRationale(String permission) {
221        return false;
222    }
223
224    @Override
225    public int checkSignatures(String pkg1, String pkg2) {
226        return 0;
227    }
228
229    @Override
230    public int checkSignatures(int uid1, int uid2) {
231        return 0;
232    }
233
234    @Override
235    public String[] getPackagesForUid(int uid) {
236        return new String[0];
237    }
238
239    @Override
240    public String getNameForUid(int uid) {
241        return null;
242    }
243
244    @Override
245    public int getUidForSharedUser(String sharedUserName) throws NameNotFoundException {
246        return 0;
247    }
248
249    @Override
250    public List<ApplicationInfo> getInstalledApplications(int flags) {
251        return null;
252    }
253
254    @Override
255    public List<EphemeralApplicationInfo> getEphemeralApplications() {
256        return null;
257    }
258
259    @Override
260    public Drawable getEphemeralApplicationIcon(String packageName) {
261        throw new UnsupportedOperationException();
262    }
263
264    @Override
265    public byte[] getEphemeralCookie() {
266        return new byte[0];
267    }
268
269    @Override
270    public boolean isEphemeralApplication() {
271        return false;
272    }
273
274    @Override
275    public int getEphemeralCookieMaxSizeBytes() {
276        return 0;
277    }
278
279    @Override
280    public boolean setEphemeralCookie(@NonNull byte[] cookie) {
281        return false;
282    }
283
284    @Override
285    public String[] getSystemSharedLibraryNames() {
286        return new String[0];
287    }
288
289    @Override
290    public FeatureInfo[] getSystemAvailableFeatures() {
291        return new FeatureInfo[0];
292    }
293
294    @Override
295    public boolean hasSystemFeature(String name) {
296        return false;
297    }
298
299    @Override
300    public ResolveInfo resolveActivity(Intent intent, int flags) {
301        return null;
302    }
303
304    @Override
305    public ResolveInfo resolveActivityAsUser(Intent intent, int flags, int userId) {
306        return null;
307    }
308
309    @Override
310    public List<ResolveInfo> queryIntentActivities(Intent intent, int flags) {
311        return null;
312    }
313
314    @Override
315    public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, int flags, int userId) {
316        return null;
317    }
318
319    @Override
320    public List<ResolveInfo> queryIntentActivityOptions(ComponentName caller, Intent[] specifics,
321            Intent intent, int flags) {
322        return null;
323    }
324
325    @Override
326    public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) {
327        return null;
328    }
329
330    @Override
331    public List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, int flags, int userId) {
332        return null;
333    }
334
335    @Override
336    public ResolveInfo resolveService(Intent intent, int flags) {
337        return null;
338    }
339
340    @Override
341    public List<ResolveInfo> queryIntentServices(Intent intent, int flags) {
342        return null;
343    }
344
345    @Override
346    public List<ResolveInfo> queryIntentServicesAsUser(Intent intent, int flags, int userId) {
347        return null;
348    }
349
350    @Override
351    public List<ResolveInfo> queryIntentContentProvidersAsUser(Intent intent, int flags,
352            int userId) {
353        return null;
354    }
355
356    @Override
357    public List<ResolveInfo> queryIntentContentProviders(Intent intent, int flags) {
358        return null;
359    }
360
361    @Override
362    public ProviderInfo resolveContentProvider(String name, int flags) {
363        return null;
364    }
365
366    @Override
367    public ProviderInfo resolveContentProviderAsUser(String name, int flags, int userId) {
368        return null;
369    }
370
371    @Override
372    public List<ProviderInfo> queryContentProviders(String processName, int uid, int flags) {
373        return null;
374    }
375
376    @Override
377    public InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)
378            throws NameNotFoundException {
379        return null;
380    }
381
382    @Override
383    public List<InstrumentationInfo> queryInstrumentation(String targetPackage, int flags) {
384        return null;
385    }
386
387    @Override
388    public Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo) {
389        return null;
390    }
391
392    @Override
393    public Drawable getActivityIcon(ComponentName activityName) throws NameNotFoundException {
394        return null;
395    }
396
397    @Override
398    public Drawable getActivityIcon(Intent intent) throws NameNotFoundException {
399        return null;
400    }
401
402    @Override
403    public Drawable getActivityBanner(ComponentName activityName) throws NameNotFoundException {
404        return null;
405    }
406
407    @Override
408    public Drawable getActivityBanner(Intent intent) throws NameNotFoundException {
409        return null;
410    }
411
412    @Override
413    public Drawable getDefaultActivityIcon() {
414        return null;
415    }
416
417    @Override
418    public Drawable getApplicationIcon(ApplicationInfo info) {
419        return null;
420    }
421
422    @Override
423    public Drawable getApplicationIcon(String packageName) throws NameNotFoundException {
424        return null;
425    }
426
427    @Override
428    public Drawable getApplicationBanner(ApplicationInfo info) {
429        return null;
430    }
431
432    @Override
433    public Drawable getApplicationBanner(String packageName) throws NameNotFoundException {
434        return null;
435    }
436
437    @Override
438    public Drawable getActivityLogo(ComponentName activityName) throws NameNotFoundException {
439        return null;
440    }
441
442    @Override
443    public Drawable getActivityLogo(Intent intent) throws NameNotFoundException {
444        return null;
445    }
446
447    @Override
448    public Drawable getApplicationLogo(ApplicationInfo info) {
449        return null;
450    }
451
452    @Override
453    public Drawable getApplicationLogo(String packageName) throws NameNotFoundException {
454        return null;
455    }
456
457    @Override
458    public Drawable getUserBadgedIcon(Drawable icon, UserHandle user) {
459        return null;
460    }
461
462    @Override
463    public Drawable getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user,
464            Rect badgeLocation, int badgeDensity) {
465        return null;
466    }
467
468    @Override
469    public Drawable getUserBadgeForDensity(UserHandle user, int density) {
470        return null;
471    }
472
473    @Override
474    public CharSequence getUserBadgedLabel(CharSequence label, UserHandle user) {
475        return null;
476    }
477
478    @Override
479    public CharSequence getText(String packageName, int resid, ApplicationInfo appInfo) {
480        return null;
481    }
482
483    @Override
484    public XmlResourceParser getXml(String packageName, int resid, ApplicationInfo appInfo) {
485        return null;
486    }
487
488    @Override
489    public CharSequence getApplicationLabel(ApplicationInfo info) {
490        return null;
491    }
492
493    @Override
494    public Resources getResourcesForActivity(ComponentName activityName)
495            throws NameNotFoundException {
496        return null;
497    }
498
499    @Override
500    public Resources getResourcesForApplication(ApplicationInfo app) throws NameNotFoundException {
501        return null;
502    }
503
504    @Override
505    public Resources getResourcesForApplication(String appPackageName)
506            throws NameNotFoundException {
507        return null;
508    }
509
510    @Override
511    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId)
512            throws NameNotFoundException {
513        return null;
514    }
515
516    @Override
517    public void installPackage(Uri packageURI, IPackageInstallObserver observer, int flags,
518            String installerPackageName) {
519    }
520
521    @Override
522    public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer,
523            int flags, String installerPackageName, Uri verificationURI,
524            ContainerEncryptionParams encryptionParams) {
525    }
526
527    @Override
528    public void installPackageWithVerificationAndEncryption(Uri packageURI,
529            IPackageInstallObserver observer, int flags, String installerPackageName,
530            VerificationParams verificationParams, ContainerEncryptionParams encryptionParams) {
531    }
532
533    @Override
534    public void installPackage(Uri packageURI, PackageInstallObserver observer, int flags,
535            String installerPackageName) {
536    }
537
538    @Override
539    public void installPackageAsUser(Uri packageURI, PackageInstallObserver observer,int flags,
540            String installerPackageName, int userId) {
541    }
542
543    @Override
544    public void installPackageWithVerification(Uri packageURI, PackageInstallObserver observer,
545            int flags, String installerPackageName, Uri verificationURI,
546            ContainerEncryptionParams encryptionParams) {
547    }
548
549    @Override
550    public void installPackageWithVerificationAndEncryption(Uri packageURI,
551            PackageInstallObserver observer, int flags, String installerPackageName,
552            VerificationParams verificationParams, ContainerEncryptionParams encryptionParams) {
553    }
554
555    @Override
556    public int installExistingPackage(String packageName) throws NameNotFoundException {
557        return 0;
558    }
559
560    @Override
561    public int installExistingPackageAsUser(String packageName, int userId)
562            throws NameNotFoundException {
563        return 0;
564    }
565
566    @Override
567    public void verifyPendingInstall(int id, int verificationCode) {
568    }
569
570    @Override
571    public void extendVerificationTimeout(int id, int verificationCodeAtTimeout,
572            long millisecondsToDelay) {
573    }
574
575    @Override
576    public void verifyIntentFilter(int verificationId, int verificationCode,
577            List<String> outFailedDomains) {
578    }
579
580    @Override
581    public int getIntentVerificationStatusAsUser(String packageName, int userId) {
582        return 0;
583    }
584
585    @Override
586    public boolean updateIntentVerificationStatusAsUser(String packageName, int status, int userId) {
587        return false;
588    }
589
590    @Override
591    public List<IntentFilterVerificationInfo> getIntentFilterVerifications(String packageName) {
592        return null;
593    }
594
595    @Override
596    public List<IntentFilter> getAllIntentFilters(String packageName) {
597        return null;
598    }
599
600    @Override
601    public String getDefaultBrowserPackageNameAsUser(int userId) {
602        return null;
603    }
604
605    @Override
606    public boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId) {
607        return false;
608    }
609
610    @Override
611    public void setInstallerPackageName(String targetPackage, String installerPackageName) {
612    }
613
614    @Override
615    public void deletePackage(String packageName, IPackageDeleteObserver observer, int flags) {
616    }
617
618    @Override
619    public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags,
620            int userId) {
621    }
622
623    @Override
624    public String getInstallerPackageName(String packageName) {
625        return null;
626    }
627
628    @Override
629    public void clearApplicationUserData(String packageName, IPackageDataObserver observer) {
630    }
631
632    @Override
633    public void deleteApplicationCacheFiles(String packageName, IPackageDataObserver observer) {
634    }
635
636    @Override
637    public void freeStorageAndNotify(String volumeUuid, long freeStorageSize,
638            IPackageDataObserver observer) {
639    }
640
641    @Override
642    public void freeStorage(String volumeUuid, long freeStorageSize, IntentSender pi) {
643    }
644
645    @Override
646    public void getPackageSizeInfoAsUser(String packageName, int userHandle,
647            IPackageStatsObserver observer) {
648    }
649
650    @Override
651    public void addPackageToPreferred(String packageName) {
652    }
653
654    @Override
655    public void removePackageFromPreferred(String packageName) {
656    }
657
658    @Override
659    public List<PackageInfo> getPreferredPackages(int flags) {
660        return null;
661    }
662
663    @Override
664    public void addPreferredActivity(IntentFilter filter, int match, ComponentName[] set,
665            ComponentName activity) {
666    }
667
668    @Override
669    public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set,
670            ComponentName activity) {
671    }
672
673    @Override
674    public void clearPackagePreferredActivities(String packageName) {
675    }
676
677    @Override
678    public int getPreferredActivities(List<IntentFilter> outFilters,
679            List<ComponentName> outActivities, String packageName) {
680        return 0;
681    }
682
683    @Override
684    public ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
685        return null;
686    }
687
688    @Override
689    public void setComponentEnabledSetting(ComponentName componentName, int newState, int flags) {
690    }
691
692    @Override
693    public int getComponentEnabledSetting(ComponentName componentName) {
694        return 0;
695    }
696
697    @Override
698    public void setApplicationEnabledSetting(String packageName, int newState, int flags) {
699    }
700
701    @Override
702    public int getApplicationEnabledSetting(String packageName) {
703        return 0;
704    }
705
706    @Override
707    public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
708            UserHandle userHandle) {
709        return false;
710    }
711
712    @Override
713    public boolean getApplicationHiddenSettingAsUser(String packageName, UserHandle userHandle) {
714        return false;
715    }
716
717    @Override
718    public boolean isSafeMode() {
719        return false;
720    }
721
722    @Override
723    public void addOnPermissionsChangeListener(OnPermissionsChangedListener listener) {
724    }
725
726    @Override
727    public void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener) {
728    }
729
730    @Override
731    public KeySet getKeySetByAlias(String packageName, String alias) {
732        return null;
733    }
734
735    @Override
736    public KeySet getSigningKeySet(String packageName) {
737        return null;
738    }
739
740    @Override
741    public boolean isSignedBy(String packageName, KeySet ks) {
742        return false;
743    }
744
745    @Override
746    public boolean isSignedByExactly(String packageName, KeySet ks) {
747        return false;
748    }
749
750    @Override
751    public boolean setPackageSuspendedAsUser(String packageName, boolean suspended, int userId) {
752        return false;
753    }
754
755    @Override
756    public int getMoveStatus(int moveId) {
757        return 0;
758    }
759
760    @Override
761    public void registerMoveCallback(MoveCallback callback, Handler handler) {
762    }
763
764    @Override
765    public void unregisterMoveCallback(MoveCallback callback) {
766    }
767
768    @Override
769    public int movePackage(String packageName, VolumeInfo vol) {
770        return 0;
771    }
772
773    @Override
774    public VolumeInfo getPackageCurrentVolume(ApplicationInfo app) {
775        return null;
776    }
777
778    @Override
779    public List<VolumeInfo> getPackageCandidateVolumes(ApplicationInfo app) {
780        return null;
781    }
782
783    @Override
784    public int movePrimaryStorage(VolumeInfo vol) {
785        return 0;
786    }
787
788    @Override
789    public VolumeInfo getPrimaryStorageCurrentVolume() {
790        return null;
791    }
792
793    @Override
794    public List<VolumeInfo> getPrimaryStorageCandidateVolumes() {
795        return null;
796    }
797
798    @Override
799    public VerifierDeviceIdentity getVerifierDeviceIdentity() {
800        return null;
801    }
802
803    @Override
804    public boolean isUpgrade() {
805        return false;
806    }
807
808    @Override
809    public PackageInstaller getPackageInstaller() {
810        return null;
811    }
812
813    @Override
814    public void addCrossProfileIntentFilter(IntentFilter filter, int sourceUserId, int targetUserId,
815            int flags) {
816    }
817
818    @Override
819    public void clearCrossProfileIntentFilters(int sourceUserId) {
820    }
821
822    @Override
823    public Drawable loadItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) {
824        return null;
825    }
826
827    @Override
828    public Drawable loadUnbadgedItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) {
829        return null;
830    }
831
832    @Override
833    public boolean isPackageAvailable(String packageName) {
834        return false;
835    }
836}
837