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 219f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkeyimport android.util.ArraySet; 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; 31e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7Amith Yamasani public boolean hidden; // Is the app restricted by owner / admin 327767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public int enabled; 33c13053bf1c05b980421611487ce67677c08db299Kenny Guy public boolean blockUninstall; 347767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 353fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6Dianne Hackborn public String lastDisableAppCaller; 363fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6Dianne Hackborn 379f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkey public ArraySet<String> disabledComponents; 389f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkey public ArraySet<String> enabledComponents; 397767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 407767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public PackageUserState() { 417767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn installed = true; 42e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7Amith Yamasani hidden = false; 437767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn enabled = COMPONENT_ENABLED_STATE_DEFAULT; 447767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 457767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn 467767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn public PackageUserState(PackageUserState o) { 477767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn installed = o.installed; 487767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn stopped = o.stopped; 497767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn notLaunched = o.notLaunched; 507767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn enabled = o.enabled; 51e5bcff624fb58b6f95be8ddff7f5b6b3bf5d19c7Amith Yamasani hidden = o.hidden; 523fa3c28a356108a6558b6b54a0b10e1a5cc4f1b6Dianne Hackborn lastDisableAppCaller = o.lastDisableAppCaller; 537767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn disabledComponents = o.disabledComponents != null 549f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkey ? new ArraySet<String>(o.disabledComponents) : null; 557767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn enabledComponents = o.enabledComponents != null 569f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkey ? new ArraySet<String>(o.enabledComponents) : null; 57c13053bf1c05b980421611487ce67677c08db299Kenny Guy blockUninstall = o.blockUninstall; 587767eac3232ba2fb9828766813cdb481d6a97584Dianne Hackborn } 599f837a99d48c5bb8ad7fbc133943e5bf622ce065Jeff Sharkey} 60