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