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