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