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