1cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root/*
2cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Copyright (C) 2011 The Android Open Source Project
3cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
4cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Licensed under the Apache License, Version 2.0 (the "License");
5cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * you may not use this file except in compliance with the License.
6cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * You may obtain a copy of the License at
7cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
8cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *      http://www.apache.org/licenses/LICENSE-2.0
9cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
10cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Unless required by applicable law or agreed to in writing, software
11cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * distributed under the License is distributed on an "AS IS" BASIS,
12cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * See the License for the specific language governing permissions and
14cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * limitations under the License.
15cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root */
16cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
17cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootpackage com.android.server.pm;
18cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
19cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootimport android.content.pm.PackageParser;
20cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
21cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootimport java.io.File;
22cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
23cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root/**
24cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Settings data for a particular package we know about.
25cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root */
26cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootfinal class PackageSetting extends PackageSettingBase {
27135936072b24b090fb63940aea41b408d855a4f3Amith Yamasani    int appId;
28cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PackageParser.Package pkg;
29cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    SharedUserSetting sharedUser;
30cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
31cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PackageSetting(String name, String realName, File codePath, File resourcePath,
32cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root            String nativeLibraryPathString, int pVersionCode, int pkgFlags) {
33cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        super(name, realName, codePath, resourcePath, nativeLibraryPathString, pVersionCode,
34cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root                pkgFlags);
35cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
36cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
37cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    /**
38cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root     * New instance of PackageSetting replicating the original settings.
39cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root     * Note that it keeps the same PackageParser.Package instance.
40cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root     */
41cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PackageSetting(PackageSetting orig) {
42cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        super(orig);
43cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
44135936072b24b090fb63940aea41b408d855a4f3Amith Yamasani        appId = orig.appId;
45cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        pkg = orig.pkg;
46cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        sharedUser = orig.sharedUser;
47cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
48cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
49cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    @Override
50cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public String toString() {
51cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return "PackageSetting{"
52cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root            + Integer.toHexString(System.identityHashCode(this))
53135936072b24b090fb63940aea41b408d855a4f3Amith Yamasani            + " " + name + "/" + appId + "}";
54cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
55cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root}