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