blob: a8233dbd70429c8fadcb11f2e7a92a9a5b80a980 [file] [log] [blame]
Jeff Sharkey90874002016-12-05 11:18:55 -07001/*
2 * Copyright (C) 2016 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.os;
18
Jeff Sharkey6c2c0562016-12-07 12:12:00 -070019/** {@hide} */
Jeff Sharkey90874002016-12-05 11:18:55 -070020interface IInstalld {
Jeff Sharkeyc1e93e72016-12-05 23:39:32 -070021 void createUserData(@nullable @utf8InCpp String uuid, int userId, int userSerial, int flags);
22 void destroyUserData(@nullable @utf8InCpp String uuid, int userId, int flags);
23
Jeff Sharkey0274c972016-12-06 09:32:04 -070024 void createAppData(in @nullable @utf8InCpp String uuid, in @utf8InCpp String packageName,
25 int userId, int flags, int appId, in @utf8InCpp String seInfo, int targetSdkVersion);
Jeff Sharkeyc1e93e72016-12-05 23:39:32 -070026 void restoreconAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
27 int userId, int flags, int appId, @utf8InCpp String seInfo);
28 void migrateAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
29 int userId, int flags);
30 void clearAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
31 int userId, int flags, long ceDataInode);
32 void destroyAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
33 int userId, int flags, long ceDataInode);
34 long getAppDataInode(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
35 int userId, int flags);
Jeff Sharkey6c2c0562016-12-07 12:12:00 -070036 long[] getAppSize(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
37 int userId, int flags, long ceDataInode, @utf8InCpp String codePath);
Jeff Sharkeyc1e93e72016-12-05 23:39:32 -070038
Jeff Sharkey0274c972016-12-06 09:32:04 -070039 void moveCompleteApp(@nullable @utf8InCpp String fromUuid, @nullable @utf8InCpp String toUuid,
40 @utf8InCpp String packageName, @utf8InCpp String dataAppName, int appId,
41 @utf8InCpp String seInfo, int targetSdkVersion);
Jeff Sharkey475c6f92016-12-07 10:37:27 -070042
Jeff Sharkey6c2c0562016-12-07 12:12:00 -070043 void dexopt(@utf8InCpp String apkPath, int uid, @nullable @utf8InCpp String packageName,
44 @utf8InCpp String instructionSet, int dexoptNeeded,
45 @nullable @utf8InCpp String outputPath, int dexFlags,
46 @utf8InCpp String compilerFilter, @nullable @utf8InCpp String uuid,
47 @nullable @utf8InCpp String sharedLibraries);
48
Jeff Sharkey475c6f92016-12-07 10:37:27 -070049 void rmdex(@utf8InCpp String codePath, @utf8InCpp String instructionSet);
50
51 boolean mergeProfiles(int uid, @utf8InCpp String packageName);
52 boolean dumpProfiles(int uid, @utf8InCpp String packageName, @utf8InCpp String codePaths);
53 void clearAppProfiles(@utf8InCpp String packageName);
54 void destroyAppProfiles(@utf8InCpp String packageName);
55
56 void idmap(@utf8InCpp String targetApkPath, @utf8InCpp String overlayApkPath, int uid);
57 void rmPackageDir(@utf8InCpp String packageDir);
58 void markBootComplete(@utf8InCpp String instructionSet);
59 void freeCache(@nullable @utf8InCpp String uuid, long freeStorageSize);
60 void linkNativeLibraryDirectory(@nullable @utf8InCpp String uuid,
61 @utf8InCpp String packageName, @utf8InCpp String nativeLibPath32, int userId);
62 void createOatDir(@utf8InCpp String oatDir, @utf8InCpp String instructionSet);
63 void linkFile(@utf8InCpp String relativePath, @utf8InCpp String fromBase,
64 @utf8InCpp String toBase);
65 void moveAb(@utf8InCpp String apkPath, @utf8InCpp String instructionSet,
66 @utf8InCpp String outputPath);
67 void deleteOdex(@utf8InCpp String apkPath, @utf8InCpp String instructionSet,
68 @utf8InCpp String outputPath);
Jeff Sharkey90874002016-12-05 11:18:55 -070069}