Files
frameworks_base/test-mock/src/android/test/mock/MockPackageManager.java
Tony Mak c5a7432ebf Make TCS.getDefaultTextClassifierImplementation returns a ...
SystemTextClassifier that is backed by ExtServices

1. The default textclassifier is always provided by
   config_servicesExtensionPackage (i.e. ExtServices)
2. OEM can specify a system text classifier by specifying
   config_defaultTextClassifierPackage.
3. System text classifiers can get an instance of the default textclassifier
   by calling TCS.getDefaultTextClassifierImplementation(), so that
   they can add their customization on top of the default TCS.
4. If config_systemTextClassifierPackage is set, the specified package
    is used to process requests from apps and the platform. Otherwise,
   the default textclassifier is used.
5. For testing and droidfooding purpose, text classifier service package
   can be overridden. If the overridden package is neither
   the default one nor the system one, the package is considered as a
   untrusted text classifier, which can only see requests from itself.

Test: m mts && mts-tradefed run mts-extservices
Test: Not setting config_defaultTextClassifierPackage. Select some text and
      make sure smart selection works. Run dumpsys textclassification
      to make sure the default TCS is bound.
Test: Setting config_defaultTextClassifierPackage and repeat the above.
      Make sure the specified OEM text classifier is used.
Test: Set the service override config to be ExtServices.
      Run dumpsys textclassification to make sure everything is unbound.
      Select some text and make sure ExtServices is bound.
Test: Set the service override to be AiAi and repeat the above.
Test: Set the service to be something invalid and repeat the above.
      Observe that no TC is bound and fallback to NO_OP.

BUG: 148049185

Change-Id: Ia2fb549fda49363e0d0ebc4b7e0d31cb76e11ee0
Make TCS.getDefaultTextClassifierImplementation returns a ...
SystemTextClassifier that is backed by ExtServices

1. The default textclassifier is always provided by
   config_servicesExtensionPackage (i.e. ExtServices)
2. OEM can specify a system text classifier by specifying
   config_defaultTextClassifierPackage.
3. System text classifiers can get an instance of the default textclassifier
   by calling TCS.getDefaultTextClassifierImplementation(), so that
   they can add their customization on top of the default TCS.
4. If config_systemTextClassifierPackage is set, the specified package
    is used to process requests from apps and the platform. Otherwise,
   the default textclassifier is used.
5. For testing and droidfooding purpose, text classifier service package
   can be overridden. If the overridden package is neither
   the default one nor the system one, the package is considered as a
   untrusted text classifier, which can only see requests from itself.

Test: m mts && mts-tradefed run mts-extservices
Test: Not setting config_defaultTextClassifierPackage. Select some text and
      make sure smart selection works. Run dumpsys textclassification
      to make sure the default TCS is bound.
Test: Setting config_defaultTextClassifierPackage and repeat the above.
      Make sure the specified OEM text classifier is used.
Test: Set the service override config to be ExtServices.
      Run dumpsys textclassification to make sure everything is unbound.
      Select some text and make sure ExtServices is bound.
Test: Set the service override to be AiAi and repeat the above.
Test: Set the service to be something invalid and repeat the above.
      Observe that no TC is bound and fallback to NO_OP.

BUG: 148049185

Change-Id: Ia2fb549fda49363e0d0ebc4b7e0d31cb76e11ee0
2020-02-04 20:36:52 +00:00

1253 lines
35 KiB
Java

/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.test.mock;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentSender;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ChangedPackages;
import android.content.pm.FeatureInfo;
import android.content.pm.IPackageDataObserver;
import android.content.pm.IPackageDeleteObserver;
import android.content.pm.IPackageStatsObserver;
import android.content.pm.InstantAppInfo;
import android.content.pm.InstrumentationInfo;
import android.content.pm.IntentFilterVerificationInfo;
import android.content.pm.KeySet;
import android.content.pm.PackageInfo;
import android.content.pm.PackageInstaller;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.content.pm.ProviderInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.SharedLibraryInfo;
import android.content.pm.VerifierDeviceIdentity;
import android.content.pm.VersionedPackage;
import android.content.pm.dex.ArtManager;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.PersistableBundle;
import android.os.UserHandle;
import android.os.storage.VolumeInfo;
import java.util.List;
import java.util.Set;
/**
* A mock {@link android.content.pm.PackageManager} class. All methods are non-functional and throw
* {@link java.lang.UnsupportedOperationException}. Override it to provide the operations that you
* need.
*
* @deprecated Use a mocking framework like <a href="https://github.com/mockito/mockito">Mockito</a>.
* New tests should be written using the
* <a href="{@docRoot}tools/testing-support-library/index.html">Android Testing Support Library</a>.
*/
@Deprecated
public class MockPackageManager extends PackageManager {
@Override
public PackageInfo getPackageInfo(String packageName, int flags) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public PackageInfo getPackageInfo(VersionedPackage versionedPackage,
int flags) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public PackageInfo getPackageInfoAsUser(String packageName, int flags, int userId)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public String[] currentToCanonicalPackageNames(String[] names) {
throw new UnsupportedOperationException();
}
@Override
public String[] canonicalToCurrentPackageNames(String[] names) {
throw new UnsupportedOperationException();
}
@Override
public Intent getLaunchIntentForPackage(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public Intent getLeanbackLaunchIntentForPackage(String packageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public Intent getCarLaunchIntentForPackage(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public int[] getPackageGids(String packageName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public int[] getPackageGids(String packageName, int flags) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public int getPackageUid(String packageName, int flags) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public int getPackageUidAsUser(String packageName, int flags, int userHandle)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public int getPackageUidAsUser(String packageName, int userHandle)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public PermissionInfo getPermissionInfo(String name, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public List<PermissionInfo> queryPermissionsByGroup(String group, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean arePermissionsIndividuallyControlled() {
return false;
}
/** @hide */
@Override
public boolean isWirelessConsentModeEnabled() {
return false;
}
@Override
public PermissionGroupInfo getPermissionGroupInfo(String name,
int flags) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public List<PermissionGroupInfo> getAllPermissionGroups(int flags) {
throw new UnsupportedOperationException();
}
@Override
public ApplicationInfo getApplicationInfo(String packageName, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public ApplicationInfo getApplicationInfoAsUser(String packageName, int flags, int userId)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public ActivityInfo getActivityInfo(ComponentName className, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public ActivityInfo getReceiverInfo(ComponentName className, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public ServiceInfo getServiceInfo(ComponentName className, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public ProviderInfo getProviderInfo(ComponentName className, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public List<PackageInfo> getInstalledPackages(int flags) {
throw new UnsupportedOperationException();
}
@Override
public List<PackageInfo> getPackagesHoldingPermissions(String[] permissions,
int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<PackageInfo> getInstalledPackagesAsUser(int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public int checkPermission(String permName, String pkgName) {
throw new UnsupportedOperationException();
}
@Override
public boolean canRequestPackageInstalls() {
throw new UnsupportedOperationException();
}
@Override
public boolean isPermissionRevokedByPolicy(String permName, String pkgName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public String getPermissionControllerPackageName() {
throw new UnsupportedOperationException();
}
@Override
public boolean addPermission(PermissionInfo info) {
throw new UnsupportedOperationException();
}
@Override
public boolean addPermissionAsync(PermissionInfo info) {
throw new UnsupportedOperationException();
}
@Override
public void removePermission(String name) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void grantRuntimePermission(String packageName, String permissionName,
UserHandle user) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void revokeRuntimePermission(String packageName, String permissionName,
UserHandle user) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public int getPermissionFlags(String permissionName, String packageName, UserHandle user) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void updatePermissionFlags(String permissionName, String packageName,
int flagMask, int flagValues, UserHandle user) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public @NonNull Set<String> getWhitelistedRestrictedPermissions(
@NonNull String packageName, @PermissionWhitelistFlags int whitelistFlags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean addWhitelistedRestrictedPermission(@NonNull String packageName,
@NonNull String permission, @PermissionWhitelistFlags int whitelistFlags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean removeWhitelistedRestrictedPermission(@NonNull String packageName,
@NonNull String permission, @PermissionWhitelistFlags int whitelistFlags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean shouldShowRequestPermissionRationale(String permission) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void addOnPermissionsChangeListener(OnPermissionsChangedListener listener) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void removeOnPermissionsChangeListener(OnPermissionsChangedListener listener) {
throw new UnsupportedOperationException();
}
@Override
public int checkSignatures(String pkg1, String pkg2) {
throw new UnsupportedOperationException();
}
@Override
public int checkSignatures(int uid1, int uid2) {
throw new UnsupportedOperationException();
}
@Override
public String[] getPackagesForUid(int uid) {
throw new UnsupportedOperationException();
}
@Override
public String getNameForUid(int uid) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public String[] getNamesForUids(int uid[]) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public int getUidForSharedUser(String sharedUserName) {
throw new UnsupportedOperationException();
}
@Override
public List<ApplicationInfo> getInstalledApplications(int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<ApplicationInfo> getInstalledApplicationsAsUser(int flags, int userId) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<InstantAppInfo> getInstantApps() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public Drawable getInstantAppIcon(String packageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public byte[] getInstantAppCookie() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean isInstantApp() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean isInstantApp(String packageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public int getInstantAppCookieMaxBytes() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public int getInstantAppCookieMaxSize() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void clearInstantAppCookie() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void updateInstantAppCookie(@NonNull byte[] cookie) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean setInstantAppCookie(@NonNull byte[] cookie) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public ChangedPackages getChangedPackages(int sequenceNumber) {
throw new UnsupportedOperationException();
}
@Override
public ResolveInfo resolveActivity(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public ResolveInfo resolveActivityAsUser(Intent intent, int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public List<ResolveInfo> queryIntentActivities(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent,
int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public List<ResolveInfo> queryIntentActivityOptions(ComponentName caller,
Intent[] specifics, Intent intent, int flags) {
throw new UnsupportedOperationException();
}
@Override
public List<ResolveInfo> queryBroadcastReceivers(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<ResolveInfo> queryBroadcastReceiversAsUser(Intent intent, int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public ResolveInfo resolveService(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
@Override
public ResolveInfo resolveServiceAsUser(Intent intent, int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public List<ResolveInfo> queryIntentServices(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<ResolveInfo> queryIntentServicesAsUser(Intent intent, int flags, int userId) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public List<ResolveInfo> queryIntentContentProvidersAsUser(
Intent intent, int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public List<ResolveInfo> queryIntentContentProviders(Intent intent, int flags) {
throw new UnsupportedOperationException();
}
@Override
public ProviderInfo resolveContentProvider(String name, int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public ProviderInfo resolveContentProviderAsUser(String name, int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public List<ProviderInfo> queryContentProviders(String processName, int uid, int flags) {
throw new UnsupportedOperationException();
}
@Override
public InstrumentationInfo getInstrumentationInfo(ComponentName className, int flags)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public List<InstrumentationInfo> queryInstrumentation(
String targetPackage, int flags) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getDrawable(String packageName, int resid, ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityIcon(ComponentName activityName)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityIcon(Intent intent) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getDefaultActivityIcon() {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityBanner(ComponentName activityName)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityBanner(Intent intent) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationBanner(ApplicationInfo info) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationBanner(String packageName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationIcon(ApplicationInfo info) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationIcon(String packageName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityLogo(ComponentName activityName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getActivityLogo(Intent intent) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationLogo(ApplicationInfo info) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getApplicationLogo(String packageName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Drawable getUserBadgedIcon(Drawable icon, UserHandle user) {
throw new UnsupportedOperationException();
}
@Override
public Drawable getUserBadgedDrawableForDensity(Drawable drawable, UserHandle user,
Rect badgeLocation,
int badgeDensity) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public Drawable getUserBadgeForDensity(UserHandle user, int density) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public Drawable getUserBadgeForDensityNoBackground(UserHandle user, int density) {
throw new UnsupportedOperationException();
}
@Override
public CharSequence getUserBadgedLabel(CharSequence label, UserHandle user) {
throw new UnsupportedOperationException();
}
@Override
public CharSequence getText(String packageName, int resid, ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}
@Override
public XmlResourceParser getXml(String packageName, int resid,
ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}
@Override
public CharSequence getApplicationLabel(ApplicationInfo info) {
throw new UnsupportedOperationException();
}
@Override
public Resources getResourcesForActivity(ComponentName activityName)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public Resources getResourcesForApplication(ApplicationInfo app) {
throw new UnsupportedOperationException();
}
@Override
public Resources getResourcesForApplication(String appPackageName)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public Resources getResourcesForApplicationAsUser(String appPackageName, int userId) {
throw new UnsupportedOperationException();
}
@Override
public PackageInfo getPackageArchiveInfo(String archiveFilePath, int flags) {
throw new UnsupportedOperationException();
}
@Override
public void setInstallerPackageName(String targetPackage,
String installerPackageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void setUpdateAvailable(String packageName, boolean updateAvailable) {
throw new UnsupportedOperationException();
}
@Override
public String getInstallerPackageName(String packageName) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public int getMoveStatus(int moveId) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public void registerMoveCallback(MoveCallback callback, Handler handler) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public void unregisterMoveCallback(MoveCallback callback) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public int movePackage(String packageName, VolumeInfo vol) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public VolumeInfo getPackageCurrentVolume(ApplicationInfo app) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public List<VolumeInfo> getPackageCandidateVolumes(ApplicationInfo app) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public int movePrimaryStorage(VolumeInfo vol) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public VolumeInfo getPrimaryStorageCurrentVolume() {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public List<VolumeInfo> getPrimaryStorageCandidateVolumes() {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void clearApplicationUserData(
String packageName, IPackageDataObserver observer) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void deleteApplicationCacheFiles(
String packageName, IPackageDataObserver observer) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void deleteApplicationCacheFilesAsUser(String packageName, int userId,
IPackageDataObserver observer) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public void freeStorageAndNotify(String volumeUuid, long idealStorageSize,
IPackageDataObserver observer) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public void freeStorage(String volumeUuid, long idealStorageSize, IntentSender pi) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void deletePackage(String packageName, IPackageDeleteObserver observer, int flags) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer,
int flags, int userId) {
throw new UnsupportedOperationException();
}
@Override
public void addPackageToPreferred(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public void removePackageFromPreferred(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public List<PackageInfo> getPreferredPackages(int flags) {
throw new UnsupportedOperationException();
}
@Override
public void setComponentEnabledSetting(ComponentName componentName,
int newState, int flags) {
throw new UnsupportedOperationException();
}
@Override
public int getComponentEnabledSetting(ComponentName componentName) {
throw new UnsupportedOperationException();
}
@Override
public void setApplicationEnabledSetting(String packageName, int newState, int flags) {
throw new UnsupportedOperationException();
}
@Override
public int getApplicationEnabledSetting(String packageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void flushPackageRestrictionsAsUser(int userId) {
throw new UnsupportedOperationException();
}
@Override
public void addPreferredActivity(IntentFilter filter,
int match, ComponentName[] set, ComponentName activity) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void replacePreferredActivity(IntentFilter filter,
int match, ComponentName[] set, ComponentName activity) {
throw new UnsupportedOperationException();
}
@Override
public void clearPackagePreferredActivities(String packageName) {
throw new UnsupportedOperationException();
}
/**
* @hide - to match hiding in superclass
*/
@Override
public void getPackageSizeInfoAsUser(String packageName, int userHandle,
IPackageStatsObserver observer) {
throw new UnsupportedOperationException();
}
@Override
public int getPreferredActivities(List<IntentFilter> outFilters,
List<ComponentName> outActivities, String packageName) {
throw new UnsupportedOperationException();
}
/** @hide - hidden in superclass */
@Override
public ComponentName getHomeActivities(List<ResolveInfo> outActivities) {
throw new UnsupportedOperationException();
}
@Override
public String[] getSystemSharedLibraryNames() {
throw new UnsupportedOperationException();
}
@Override
public @NonNull List<SharedLibraryInfo> getSharedLibraries(int flags) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public @NonNull List<SharedLibraryInfo> getSharedLibrariesAsUser(int flags, int userId) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public @NonNull String getServicesSystemSharedLibraryPackageName() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public @NonNull String getSharedSystemSharedLibraryPackageName() {
throw new UnsupportedOperationException();
}
@Override
public FeatureInfo[] getSystemAvailableFeatures() {
throw new UnsupportedOperationException();
}
@Override
public boolean hasSystemFeature(String name) {
throw new UnsupportedOperationException();
}
@Override
public boolean hasSystemFeature(String name, int version) {
throw new UnsupportedOperationException();
}
@Override
public boolean isSafeMode() {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public KeySet getKeySetByAlias(String packageName, String alias) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public KeySet getSigningKeySet(String packageName) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean isSignedBy(String packageName, KeySet ks) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean isSignedByExactly(String packageName, KeySet ks) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public String[] setPackagesSuspended(String[] packageNames, boolean hidden,
PersistableBundle appExtras, PersistableBundle launcherExtras, String dialogMessage) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public boolean isPackageSuspendedForUser(String packageName, int userId) {
throw new UnsupportedOperationException();
}
/** @hide */
@Override
public void setApplicationCategoryHint(String packageName, int categoryHint) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public boolean setApplicationHiddenSettingAsUser(String packageName, boolean hidden,
UserHandle user) {
return false;
}
/**
* @hide
*/
@Override
public boolean getApplicationHiddenSettingAsUser(String packageName, UserHandle user) {
return false;
}
/**
* @hide
*/
@Override
public int installExistingPackage(String packageName) throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public int installExistingPackage(String packageName, int installReason)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public int installExistingPackageAsUser(String packageName, int userId)
throws NameNotFoundException {
throw new UnsupportedOperationException();
}
@Override
public void verifyPendingInstall(int id, int verificationCode) {
throw new UnsupportedOperationException();
}
@Override
public void extendVerificationTimeout(int id, int verificationCodeAtTimeout,
long millisecondsToDelay) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public void verifyIntentFilter(int id, int verificationCode, List<String> outFailedDomains) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public int getIntentVerificationStatusAsUser(String packageName, int userId) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public boolean updateIntentVerificationStatusAsUser(String packageName, int status, int userId) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public List<IntentFilterVerificationInfo> getIntentFilterVerifications(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public List<IntentFilter> getAllIntentFilters(String packageName) {
throw new UnsupportedOperationException();
}
/** {@removed} */
@Deprecated
public String getDefaultBrowserPackageName(int userId) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public String getDefaultBrowserPackageNameAsUser(int userId) {
throw new UnsupportedOperationException();
}
/** {@removed} */
@Deprecated
public boolean setDefaultBrowserPackageName(String packageName, int userId) {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public VerifierDeviceIdentity getVerifierDeviceIdentity() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public boolean isUpgrade() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public boolean isDeviceUpgrading() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public void addCrossProfileIntentFilter(IntentFilter filter, int sourceUserId, int targetUserId,
int flags) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public void clearCrossProfileIntentFilters(int sourceUserId) {
throw new UnsupportedOperationException();
}
/** {@hide} */
public PackageInstaller getPackageInstaller() {
throw new UnsupportedOperationException();
}
/** {@hide} */
@Override
public boolean isPackageAvailable(String packageName) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
public Drawable loadItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
public Drawable loadUnbadgedItemIcon(PackageItemInfo itemInfo, ApplicationInfo appInfo) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
public int getInstallReason(String packageName, UserHandle user) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public ComponentName getInstantAppResolverSettingsComponent() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public ComponentName getInstantAppInstallerComponent() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
public String getInstantAppAndroidId(String packageName, UserHandle user) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public void registerDexModule(String dexModulePath,
@Nullable DexModuleRegisterCallback callback) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public ArtManager getArtManager() {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public void setHarmfulAppWarning(String packageName, CharSequence warning) {
throw new UnsupportedOperationException();
}
/**
* @hide
*/
@Override
public CharSequence getHarmfulAppWarning(String packageName) {
throw new UnsupportedOperationException();
}
@Override
public boolean hasSigningCertificate(
String packageName, byte[] certificate, @PackageManager.CertificateInputType int type) {
throw new UnsupportedOperationException();
}
@Override
public boolean hasSigningCertificate(
int uid, byte[] certificate, @PackageManager.CertificateInputType int type) {
throw new UnsupportedOperationException();
}
}