1 /* 2 * Copyright (C) 2021 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 17 package com.android.server.pm; 18 19 import android.annotation.NonNull; 20 import android.annotation.Nullable; 21 import android.content.ComponentName; 22 import android.content.pm.FeatureInfo; 23 import android.content.pm.PackageManagerInternal; 24 import android.content.pm.TestUtilityService; 25 import android.os.Build; 26 import android.os.Handler; 27 import android.os.incremental.IncrementalManager; 28 import android.util.ArrayMap; 29 import android.util.DisplayMetrics; 30 31 import com.android.internal.annotations.VisibleForTesting; 32 import com.android.internal.content.om.OverlayConfig; 33 import com.android.server.pm.dex.ArtManagerService; 34 import com.android.server.pm.dex.DexManager; 35 import com.android.server.pm.dex.ViewCompiler; 36 import com.android.server.pm.parsing.PackageParser2; 37 import com.android.server.pm.parsing.pkg.AndroidPackage; 38 import com.android.server.pm.permission.LegacyPermissionManagerInternal; 39 40 import java.io.File; 41 import java.util.List; 42 43 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) 44 public final class PackageManagerServiceTestParams { 45 public ApexManager apexManager; 46 public @Nullable String appPredictionServicePackage; 47 public ArtManagerService artManagerService; 48 public @Nullable String configuratorPackage; 49 public int defParseFlags; 50 public DefaultAppProvider defaultAppProvider; 51 public DexManager dexManager; 52 public List<ScanPartition> dirsToScanAsSystem; 53 public boolean factoryTest; 54 public ArrayMap<String, FeatureInfo> availableFeatures; 55 public Handler handler; 56 public @Nullable String incidentReportApproverPackage; 57 public IncrementalManager incrementalManager; 58 public PackageInstallerService installerService; 59 public InstantAppRegistry instantAppRegistry; 60 public ChangedPackagesTracker changedPackagesTracker = new ChangedPackagesTracker(); 61 public InstantAppResolverConnection instantAppResolverConnection; 62 public ComponentName instantAppResolverSettingsComponent; 63 public boolean isPreNmr1Upgrade; 64 public boolean isPreNupgrade; 65 public boolean isPreQupgrade; 66 public boolean isUpgrade; 67 public LegacyPermissionManagerInternal legacyPermissionManagerInternal; 68 public DisplayMetrics Metrics; 69 public ModuleInfoProvider moduleInfoProvider; 70 public MovePackageHelper.MoveCallbacks moveCallbacks; 71 public boolean onlyCore; 72 public OverlayConfig overlayConfig; 73 public PackageDexOptimizer packageDexOptimizer; 74 public PackageParser2.Callback packageParserCallback; 75 public PendingPackageBroadcasts pendingPackageBroadcasts; 76 public PackageManagerInternal pmInternal; 77 public TestUtilityService testUtilityService; 78 public ProcessLoggingHandler processLoggingHandler; 79 public ProtectedPackages protectedPackages; 80 public @NonNull String requiredInstallerPackage; 81 public @NonNull String requiredPermissionControllerPackage; 82 public @NonNull String requiredUninstallerPackage; 83 public @Nullable String requiredVerifierPackage; 84 public String[] separateProcesses; 85 public @NonNull String servicesExtensionPackageName; 86 public @Nullable String setupWizardPackage; 87 public @NonNull String sharedSystemSharedLibraryPackageName; 88 public @Nullable String storageManagerPackage; 89 public @Nullable String defaultTextClassifierPackage; 90 public @Nullable String systemTextClassifierPackage; 91 public @Nullable String overlayConfigSignaturePackage; 92 public @NonNull String requiredSdkSandboxPackage; 93 public ViewCompiler viewCompiler; 94 public @Nullable String retailDemoPackage; 95 public @Nullable String recentsPackage; 96 public @Nullable String ambientContextDetectionPackage; 97 public ComponentName resolveComponentName; 98 public ArrayMap<String, AndroidPackage> packages; 99 public boolean enableFreeCacheV2; 100 public int sdkVersion; 101 public File appInstallDir; 102 public File appLib32InstallDir; 103 public boolean isEngBuild; 104 public boolean isUserDebugBuild; 105 public int sdkInt = Build.VERSION.SDK_INT; 106 public BackgroundDexOptService backgroundDexOptService; 107 public final String incrementalVersion = Build.VERSION.INCREMENTAL; 108 public BroadcastHelper broadcastHelper; 109 public AppDataHelper appDataHelper; 110 public InstallPackageHelper installPackageHelper; 111 public RemovePackageHelper removePackageHelper; 112 public InitAppsHelper initAndSystemPackageHelper; 113 public DeletePackageHelper deletePackageHelper; 114 public PreferredActivityHelper preferredActivityHelper; 115 public ResolveIntentHelper resolveIntentHelper; 116 public DexOptHelper dexOptHelper; 117 public SuspendPackageHelper suspendPackageHelper; 118 public StorageEventHelper storageEventHelper; 119 public DistractingPackageHelper distractingPackageHelper; 120 } 121