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.content.ComponentName;
20import android.content.Intent;
21import android.content.IntentFilter;
22import android.content.IntentSender;
23import android.content.pm.ActivityInfo;
24import android.content.pm.ApplicationInfo;
25import android.content.pm.ContainerEncryptionParams;
26import android.content.pm.FeatureInfo;
27import android.content.pm.IPackageDataObserver;
28import android.content.pm.IPackageDeleteObserver;
29import android.content.pm.IPackageInstallObserver;
30import android.content.pm.IPackageMoveObserver;
31import android.content.pm.IPackageStatsObserver;
32import android.content.pm.InstrumentationInfo;
33import android.content.pm.ManifestDigest;
34import android.content.pm.PackageInfo;
35import android.content.pm.PackageManager;
36import android.content.pm.PermissionGroupInfo;
37import android.content.pm.PermissionInfo;
38import android.content.pm.ProviderInfo;
39import android.content.pm.ResolveInfo;
40import android.content.pm.ServiceInfo;
41import android.content.pm.VerificationParams;
42import android.content.pm.VerifierDeviceIdentity;
43import android.content.pm.PackageManager.NameNotFoundException;
44import android.content.res.Resources;
45import android.content.res.XmlResourceParser;
46import android.graphics.drawable.Drawable;
47import android.net.Uri;
48
49import java.util.List;
50
51/**
52 * A mock {@link android.content.pm.PackageManager} class.  All methods are non-functional and throw
53 * {@link java.lang.UnsupportedOperationException}. Override it to provide the operations that you
54 * need.
55 */
56public class MockPackageManager extends PackageManager {
57
58    @Override
59    public PackageInfo getPackageInfo(String packageName, int flags)
60    throws NameNotFoundException {
61        throw new UnsupportedOperationException();
62    }
63
64    @Override
65    public String[] currentToCanonicalPackageNames(String[] names) {
66        throw new UnsupportedOperationException();
67    }
68
69    @Override
70    public String[] canonicalToCurrentPackageNames(String[] names) {
71        throw new UnsupportedOperationException();
72    }
73
74    @Override
75    public Intent getLaunchIntentForPackage(String packageName) {
76        throw new UnsupportedOperationException();
77    }
78
79    @Override
80    public int[] getPackageGids(String packageName) throws NameNotFoundException {
81        throw new UnsupportedOperationException();
82    }
83
84    @Override
85    public PermissionInfo getPermissionInfo(String name, int flags)
86    throws NameNotFoundException {
87        throw new UnsupportedOperationException();
88    }
89
90    @Override
91    public List<PermissionInfo> queryPermissionsByGroup(String group, int flags)
92            throws NameNotFoundException {
93        throw new UnsupportedOperationException();
94    }
95
96    @Override
97    public PermissionGroupInfo getPermissionGroupInfo(String name,
98            int flags) throws NameNotFoundException {
99        throw new UnsupportedOperationException();
100    }
101
102    @Override
103    public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
104        throw new UnsupportedOperationException();
105    }
106
107    @Override
108    public ApplicationInfo getApplicationInfo(String packageName, int flags)
109    throws NameNotFoundException {
110        throw new UnsupportedOperationException();
111    }
112
113    @Override
114    public ActivityInfo getActivityInfo(ComponentName className, int flags)
115    throws NameNotFoundException {
116        throw new UnsupportedOperationException();
117    }
118
119    @Override
120    public ActivityInfo getReceiverInfo(ComponentName className, int flags)
121    throws NameNotFoundException {
122        throw new UnsupportedOperationException();
123    }
124
125    @Override
126    public ServiceInfo getServiceInfo(ComponentName className, int flags)
127    throws NameNotFoundException {
128        throw new UnsupportedOperationException();
129    }
130
131    @Override
132    public ProviderInfo getProviderInfo(ComponentName className, int flags)
133    throws NameNotFoundException {
134        throw new UnsupportedOperationException();
135    }
136
137    @Override
138    public List<PackageInfo> getInstalledPackages(int flags) {
139        throw new UnsupportedOperationException();
140    }
141
142    /** @hide */
143    @Override
144    public List<PackageInfo> getInstalledPackages(int flags, int userId) {
145        throw new UnsupportedOperationException();
146    }
147
148    @Override
149    public int checkPermission(String permName, String pkgName) {
150        throw new UnsupportedOperationException();
151    }
152
153    @Override
154    public boolean addPermission(PermissionInfo info) {
155        throw new UnsupportedOperationException();
156    }
157
158    @Override
159    public boolean addPermissionAsync(PermissionInfo info) {
160        throw new UnsupportedOperationException();
161    }
162
163    @Override
164    public void removePermission(String name) {
165        throw new UnsupportedOperationException();
166    }
167
168    /** @hide */
169    @Override
170    public void grantPermission(String packageName, String permissionName) {
171        throw new UnsupportedOperationException();
172    }
173
174    /** @hide */
175    @Override
176    public void revokePermission(String packageName, String permissionName) {
177        throw new UnsupportedOperationException();
178    }
179
180    @Override
181    public int checkSignatures(String pkg1, String pkg2) {
182        throw new UnsupportedOperationException();
183    }
184
185    @Override
186    public int checkSignatures(int uid1, int uid2) {
187        throw new UnsupportedOperationException();
188    }
189
190    @Override
191    public String[] getPackagesForUid(int uid) {
192        throw new UnsupportedOperationException();
193    }
194
195    @Override
196    public String getNameForUid(int uid) {
197        throw new UnsupportedOperationException();
198    }
199
200    /**
201     * @hide - to match hiding in superclass
202     */
203    @Override
204    public int getUidForSharedUser(String sharedUserName) {
205        throw new UnsupportedOperationException();
206    }
207
208    @Override
209    public List<ApplicationInfo> getInstalledApplications(int flags) {
210        throw new UnsupportedOperationException();
211    }
212
213    @Override
214    public ResolveInfo resolveActivity(Intent intent, int flags) {
215        throw new UnsupportedOperationException();
216    }
217
218    /** @hide */
219    @Override
220    public ResolveInfo resolveActivityAsUser(Intent intent, int flags, int userId) {
221        throw new UnsupportedOperationException();
222    }
223
224    @Override
225    public List<ResolveInfo> queryIntentActivities(Intent intent, int flags) {
226        throw new UnsupportedOperationException();
227    }
228
229    /** @hide */
230    @Override
231    public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent,
232                                                   int flags, int userId) {
233        throw new UnsupportedOperationException();
234    }
235
236    @Override
237    public List<ResolveInfo> queryIntentActivityOptions(ComponentName caller,
238            Intent[] specifics, Intent intent, int flags) {
239        throw new UnsupportedOperationException();
240    }
241
242    @Override
243    public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) {
244        throw new UnsupportedOperationException();
245    }
246
247    /** @hide */
248    @Override
249    public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags, int userId) {
250        throw new UnsupportedOperationException();
251    }
252
253    @Override
254    public ResolveInfo resolveService(Intent intent, int flags) {
255        throw new UnsupportedOperationException();
256    }
257
258    @Override
259    public List<ResolveInfo> queryIntentServices(Intent intent, int flags) {
260        throw new UnsupportedOperationException();
261    }
262
263    /** @hide */
264    @Override
265    public List<ResolveInfo> queryIntentServicesAsUser(Intent intent, int flags, int userId) {
266        throw new UnsupportedOperationException();
267    }
268
269    @Override
270    public ProviderInfo resolveContentProvider(String name, int flags) {
271        throw new UnsupportedOperationException();
272    }
273
274    @Override
275    public List<ProviderInfo> queryContentProviders(String processName, int uid, int flags) {
276        throw new UnsupportedOperationException();
277    }
278
279    @Override
280    public InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)
281    throws NameNotFoundException {
282        throw new UnsupportedOperationException();
283    }
284
285    @Override
286    public List<InstrumentationInfo> queryInstrumentation(
287            String targetPackage, int flags) {
288        throw new UnsupportedOperationException();
289    }
290
291    @Override
292    public Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo) {
293        throw new UnsupportedOperationException();
294    }
295
296    @Override
297    public Drawable getActivityIcon(ComponentName activityName)
298    throws NameNotFoundException {
299        throw new UnsupportedOperationException();
300    }
301
302    @Override
303    public Drawable getActivityIcon(Intent intent) throws NameNotFoundException {
304        throw new UnsupportedOperationException();
305    }
306
307    @Override
308    public Drawable getDefaultActivityIcon() {
309        throw new UnsupportedOperationException();
310    }
311
312    @Override
313    public Drawable getApplicationIcon(ApplicationInfo info) {
314        throw new UnsupportedOperationException();
315    }
316
317    @Override
318    public Drawable getApplicationIcon(String packageName) throws NameNotFoundException {
319        throw new UnsupportedOperationException();
320    }
321
322    @Override
323    public Drawable getActivityLogo(ComponentName activityName) throws NameNotFoundException {
324        throw new UnsupportedOperationException();
325    }
326
327    @Override
328    public Drawable getActivityLogo(Intent intent) throws NameNotFoundException {
329        throw new UnsupportedOperationException();
330    }
331
332    @Override
333    public Drawable getApplicationLogo(ApplicationInfo info) {
334        throw new UnsupportedOperationException();
335    }
336
337    @Override
338    public Drawable getApplicationLogo(String packageName) throws NameNotFoundException {
339        throw new UnsupportedOperationException();
340    }
341
342    @Override
343    public CharSequence getText(String packageName, int resid, ApplicationInfo appInfo) {
344        throw new UnsupportedOperationException();
345    }
346
347    @Override
348    public XmlResourceParser getXml(String packageName, int resid,
349            ApplicationInfo appInfo) {
350        throw new UnsupportedOperationException();
351    }
352
353    @Override
354    public CharSequence getApplicationLabel(ApplicationInfo info) {
355        throw new UnsupportedOperationException();
356    }
357
358    @Override
359    public Resources getResourcesForActivity(ComponentName activityName)
360    throws NameNotFoundException {
361        throw new UnsupportedOperationException();
362    }
363
364    @Override
365    public Resources getResourcesForApplication(ApplicationInfo app) {
366        throw new UnsupportedOperationException();
367    }
368
369    @Override
370    public Resources getResourcesForApplication(String appPackageName)
371    throws NameNotFoundException {
372        throw new UnsupportedOperationException();
373    }
374
375    /** @hide */
376    @Override
377    public Resources getResourcesForApplicationAsUser(String appPackageName, int userId) {
378        throw new UnsupportedOperationException();
379    }
380
381    @Override
382    public PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags) {
383        throw new UnsupportedOperationException();
384    }
385
386    /**
387     * @hide - to match hiding in superclass
388     */
389    @Override
390    public void installPackage(Uri packageURI, IPackageInstallObserver observer,
391            int flags, String installerPackageName) {
392        throw new UnsupportedOperationException();
393    }
394
395    @Override
396    public void setInstallerPackageName(String targetPackage,
397            String installerPackageName) {
398        throw new UnsupportedOperationException();
399    }
400
401    /**
402     * @hide - to match hiding in superclass
403     */
404    @Override
405    public void movePackage(String packageName, IPackageMoveObserver observer, int flags) {
406        throw new UnsupportedOperationException();
407    }
408
409    @Override
410    public String getInstallerPackageName(String packageName) {
411        throw new UnsupportedOperationException();
412    }
413
414    /**
415     * @hide - to match hiding in superclass
416     */
417    @Override
418    public void clearApplicationUserData(
419            String packageName, IPackageDataObserver observer) {
420        throw new UnsupportedOperationException();
421    }
422
423    /**
424     * @hide - to match hiding in superclass
425     */
426    @Override
427    public void deleteApplicationCacheFiles(
428            String packageName, IPackageDataObserver observer) {
429        throw new UnsupportedOperationException();
430    }
431
432    /**
433     * @hide - to match hiding in superclass
434     */
435    @Override
436    public void freeStorageAndNotify(
437            long idealStorageSize, IPackageDataObserver observer) {
438        throw new UnsupportedOperationException();
439    }
440
441    /**
442     * @hide - to match hiding in superclass
443     */
444    @Override
445    public void freeStorage(
446            long idealStorageSize, IntentSender pi) {
447        throw new UnsupportedOperationException();
448    }
449
450    /**
451     * @hide - to match hiding in superclass
452     */
453    @Override
454    public void deletePackage(
455            String packageName, IPackageDeleteObserver observer, int flags) {
456        throw new UnsupportedOperationException();
457    }
458
459    @Override
460    public void addPackageToPreferred(String packageName) {
461        throw new UnsupportedOperationException();
462    }
463
464    @Override
465    public void removePackageFromPreferred(String packageName) {
466        throw new UnsupportedOperationException();
467    }
468
469    @Override
470    public List<PackageInfo> getPreferredPackages(int flags) {
471        throw new UnsupportedOperationException();
472    }
473
474    @Override
475    public void setComponentEnabledSetting(ComponentName componentName,
476            int newState, int flags) {
477        throw new UnsupportedOperationException();
478    }
479
480    @Override
481    public int getComponentEnabledSetting(ComponentName componentName) {
482        throw new UnsupportedOperationException();
483    }
484
485    @Override
486    public void setApplicationEnabledSetting(String packageName, int newState, int flags) {
487        throw new UnsupportedOperationException();
488    }
489
490    @Override
491    public int getApplicationEnabledSetting(String packageName) {
492        throw new UnsupportedOperationException();
493    }
494
495    @Override
496    public void addPreferredActivity(IntentFilter filter,
497            int match, ComponentName[] set, ComponentName activity) {
498        throw new UnsupportedOperationException();
499    }
500
501    /**
502     * @hide - to match hiding in superclass
503     */
504    @Override
505    public void replacePreferredActivity(IntentFilter filter,
506            int match, ComponentName[] set, ComponentName activity) {
507        throw new UnsupportedOperationException();
508    }
509
510
511    @Override
512    public void clearPackagePreferredActivities(String packageName) {
513        throw new UnsupportedOperationException();
514    }
515
516    /**
517     * @hide - to match hiding in superclass
518     */
519    @Override
520    public void getPackageSizeInfo(String packageName, int userHandle,
521            IPackageStatsObserver observer) {
522        throw new UnsupportedOperationException();
523    }
524
525    @Override
526    public int getPreferredActivities(List<IntentFilter> outFilters,
527            List<ComponentName> outActivities, String packageName) {
528        throw new UnsupportedOperationException();
529    }
530
531    @Override
532    public String[] getSystemSharedLibraryNames() {
533        throw new UnsupportedOperationException();
534    }
535
536    @Override
537    public FeatureInfo[] getSystemAvailableFeatures() {
538        throw new UnsupportedOperationException();
539    }
540
541    @Override
542    public boolean hasSystemFeature(String name) {
543        throw new UnsupportedOperationException();
544    }
545
546    @Override
547    public boolean isSafeMode() {
548        throw new UnsupportedOperationException();
549    }
550
551    /**
552     * @hide
553     */
554    @Override
555    public void installPackageWithVerification(Uri packageURI, IPackageInstallObserver observer,
556            int flags, String installerPackageName, Uri verificationURI,
557            ManifestDigest manifestDigest, ContainerEncryptionParams encryptionParams) {
558        throw new UnsupportedOperationException();
559    }
560
561    /**
562     * @hide
563     */
564    @Override
565    public void installPackageWithVerificationAndEncryption(Uri packageURI,
566            IPackageInstallObserver observer, int flags, String installerPackageName,
567            VerificationParams verificationParams, ContainerEncryptionParams encryptionParams) {
568        throw new UnsupportedOperationException();
569    }
570
571    /**
572     * @hide
573     */
574    @Override
575    public int installExistingPackage(String packageName)
576            throws NameNotFoundException {
577        throw new UnsupportedOperationException();
578    }
579
580    @Override
581    public void verifyPendingInstall(int id, int verificationCode) {
582        throw new UnsupportedOperationException();
583    }
584
585    @Override
586    public void extendVerificationTimeout(int id, int verificationCodeAtTimeout,
587            long millisecondsToDelay) {
588        throw new UnsupportedOperationException();
589    }
590
591    /**
592     * @hide
593     */
594    @Override
595    public VerifierDeviceIdentity getVerifierDeviceIdentity() {
596        throw new UnsupportedOperationException();
597    }
598}
599