17767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn/*
27767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Copyright (C) 2012 The Android Open Source Project
37767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn *
47767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License");
57767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * you may not use this file except in compliance with the License.
67767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * You may obtain a copy of the License at
77767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn *
87767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn *      http://www.apache.org/licenses/LICENSE-2.0
97767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn *
107767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Unless required by applicable law or agreed to in writing, software
117767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS,
127767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * See the License for the specific language governing permissions and
147767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * limitations under the License.
157767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn */
167767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
177767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornpackage android.content.pm;
187767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
197767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornimport static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
207767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
217767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornimport java.util.HashSet;
227767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
237767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn/**
247767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn * Per-user state information about a package.
258832c18d8b63367929c2d394c9c508f56003d400Dianne Hackborn * @hide
267767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn */
277767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackbornpublic class PackageUserState {
287767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public boolean stopped;
297767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public boolean notLaunched;
307767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public boolean installed;
317767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public int enabled;
327767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
337767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public HashSet<String> disabledComponents;
347767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public HashSet<String> enabledComponents;
357767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
367767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public PackageUserState() {
377767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        installed = true;
387767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        enabled = COMPONENT_ENABLED_STATE_DEFAULT;
397767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    }
407767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn
417767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    public PackageUserState(PackageUserState o) {
427767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        installed = o.installed;
437767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        stopped = o.stopped;
447767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        notLaunched = o.notLaunched;
457767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        enabled = o.enabled;
467767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        disabledComponents = o.disabledComponents != null
477767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn                ? new HashSet<String>(o.disabledComponents) : null;
487767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn        enabledComponents = o.enabledComponents != null
497767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn                ? new HashSet<String>(o.enabledComponents) : null;
507767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn    }
517767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn}