• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2020 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.parsing.pkg;
18 
19 import android.content.pm.SigningDetails;
20 
21 /**
22  * Methods used for mutation after direct package parsing, mostly done inside
23  * {@link com.android.server.pm.PackageManagerService}.
24  *
25  * Java disallows defining this as an inner interface, so this must be a separate file.
26  *
27  * @hide
28  */
29 public interface ParsedPackage extends AndroidPackage {
30 
hideAsFinal()31     AndroidPackage hideAsFinal();
32 
addUsesLibrary(int index, String libraryName)33     ParsedPackage addUsesLibrary(int index, String libraryName);
34 
addUsesOptionalLibrary(int index, String libraryName)35     ParsedPackage addUsesOptionalLibrary(int index, String libraryName);
36 
capPermissionPriorities()37     ParsedPackage capPermissionPriorities();
38 
clearAdoptPermissions()39     ParsedPackage clearAdoptPermissions();
40 
clearOriginalPackages()41     ParsedPackage clearOriginalPackages();
42 
clearProtectedBroadcasts()43     ParsedPackage clearProtectedBroadcasts();
44 
setBaseApkPath(String baseApkPath)45     ParsedPackage setBaseApkPath(String baseApkPath);
46 
setPath(String path)47     ParsedPackage setPath(String path);
48 
setNativeLibraryDir(String nativeLibraryDir)49     ParsedPackage setNativeLibraryDir(String nativeLibraryDir);
50 
setNativeLibraryRootDir(String nativeLibraryRootDir)51     ParsedPackage setNativeLibraryRootDir(String nativeLibraryRootDir);
52 
setPackageName(String packageName)53     ParsedPackage setPackageName(String packageName);
54 
setPrimaryCpuAbi(String primaryCpuAbi)55     ParsedPackage setPrimaryCpuAbi(String primaryCpuAbi);
56 
setSecondaryCpuAbi(String secondaryCpuAbi)57     ParsedPackage setSecondaryCpuAbi(String secondaryCpuAbi);
58 
setSigningDetails(SigningDetails signingDetails)59     ParsedPackage setSigningDetails(SigningDetails signingDetails);
60 
setSplitCodePaths(String[] splitCodePaths)61     ParsedPackage setSplitCodePaths(String[] splitCodePaths);
62 
setNativeLibraryRootRequiresIsa(boolean nativeLibraryRootRequiresIsa)63     ParsedPackage setNativeLibraryRootRequiresIsa(boolean nativeLibraryRootRequiresIsa);
64 
setAllComponentsDirectBootAware(boolean allComponentsDirectBootAware)65     ParsedPackage setAllComponentsDirectBootAware(boolean allComponentsDirectBootAware);
66 
setFactoryTest(boolean factoryTest)67     ParsedPackage setFactoryTest(boolean factoryTest);
68 
markNotActivitiesAsNotExportedIfSingleUser()69     ParsedPackage markNotActivitiesAsNotExportedIfSingleUser();
70 
setOdm(boolean odm)71     ParsedPackage setOdm(boolean odm);
72 
setOem(boolean oem)73     ParsedPackage setOem(boolean oem);
74 
setPrivileged(boolean privileged)75     ParsedPackage setPrivileged(boolean privileged);
76 
setProduct(boolean product)77     ParsedPackage setProduct(boolean product);
78 
setSignedWithPlatformKey(boolean signedWithPlatformKey)79     ParsedPackage setSignedWithPlatformKey(boolean signedWithPlatformKey);
80 
setSystem(boolean system)81     ParsedPackage setSystem(boolean system);
82 
setSystemExt(boolean systemExt)83     ParsedPackage setSystemExt(boolean systemExt);
84 
setVendor(boolean vendor)85     ParsedPackage setVendor(boolean vendor);
86 
removePermission(int index)87     ParsedPackage removePermission(int index);
88 
removeUsesLibrary(String libraryName)89     ParsedPackage removeUsesLibrary(String libraryName);
90 
removeUsesOptionalLibrary(String libraryName)91     ParsedPackage removeUsesOptionalLibrary(String libraryName);
92 
setCoreApp(boolean coreApp)93     ParsedPackage setCoreApp(boolean coreApp);
94 
setStub(boolean isStub)95     ParsedPackage setStub(boolean isStub);
96 
setRestrictUpdateHash(byte[] restrictUpdateHash)97     ParsedPackage setRestrictUpdateHash(byte[] restrictUpdateHash);
98 
setSeInfo(String seInfo)99     ParsedPackage setSeInfo(String seInfo);
100 
setSecondaryNativeLibraryDir(String secondaryNativeLibraryDir)101     ParsedPackage setSecondaryNativeLibraryDir(String secondaryNativeLibraryDir);
102 
103     /**
104      * This is an appId, the uid if the userId is == USER_SYSTEM
105      */
setUid(int uid)106     ParsedPackage setUid(int uid);
107 
setVersionCode(int versionCode)108     ParsedPackage setVersionCode(int versionCode);
109 
setVersionCodeMajor(int versionCodeMajor)110     ParsedPackage setVersionCodeMajor(int versionCodeMajor);
111 
112     // TODO(b/135203078): Move logic earlier in parse chain so nothing needs to be reverted
setDefaultToDeviceProtectedStorage(boolean defaultToDeviceProtectedStorage)113     ParsedPackage setDefaultToDeviceProtectedStorage(boolean defaultToDeviceProtectedStorage);
114 
setDirectBootAware(boolean directBootAware)115     ParsedPackage setDirectBootAware(boolean directBootAware);
116 
setPersistent(boolean persistent)117     ParsedPackage setPersistent(boolean persistent);
118 }
119