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