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