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