1*33f37583SAndroid Build Coastguard Worker /* 2*33f37583SAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 3*33f37583SAndroid Build Coastguard Worker * 4*33f37583SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*33f37583SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*33f37583SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*33f37583SAndroid Build Coastguard Worker * 8*33f37583SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*33f37583SAndroid Build Coastguard Worker * 10*33f37583SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*33f37583SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*33f37583SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*33f37583SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*33f37583SAndroid Build Coastguard Worker * limitations under the License. 15*33f37583SAndroid Build Coastguard Worker */ 16*33f37583SAndroid Build Coastguard Worker 17*33f37583SAndroid Build Coastguard Worker package android.apex; 18*33f37583SAndroid Build Coastguard Worker 19*33f37583SAndroid Build Coastguard Worker parcelable ApexInfo { 20*33f37583SAndroid Build Coastguard Worker @utf8InCpp String moduleName; 21*33f37583SAndroid Build Coastguard Worker @utf8InCpp String modulePath; 22*33f37583SAndroid Build Coastguard Worker @utf8InCpp String preinstalledModulePath; 23*33f37583SAndroid Build Coastguard Worker long versionCode; 24*33f37583SAndroid Build Coastguard Worker @utf8InCpp String versionName; 25*33f37583SAndroid Build Coastguard Worker boolean isFactory; 26*33f37583SAndroid Build Coastguard Worker boolean isActive; 27*33f37583SAndroid Build Coastguard Worker 28*33f37583SAndroid Build Coastguard Worker // Populated only for getStagedApex() API 29*33f37583SAndroid Build Coastguard Worker boolean hasClassPathJars; 30*33f37583SAndroid Build Coastguard Worker 31*33f37583SAndroid Build Coastguard Worker // Will be set to true if during this boot a different APEX package of the APEX was 32*33f37583SAndroid Build Coastguard Worker // activated, than in the previous boot. 33*33f37583SAndroid Build Coastguard Worker // This can happen in the following situations: 34*33f37583SAndroid Build Coastguard Worker // 1. It was part of the staged session that was applied during this boot. 35*33f37583SAndroid Build Coastguard Worker // 2. A compressed system APEX was decompressed during this boot. 36*33f37583SAndroid Build Coastguard Worker // 3. apexd failed to activate an APEX on /data/apex/active (that was successfully 37*33f37583SAndroid Build Coastguard Worker // activated during last boot) and needed to fallback to pre-installed counterpart. 38*33f37583SAndroid Build Coastguard Worker // Note: this field can only be set to true during boot, after boot is completed 39*33f37583SAndroid Build Coastguard Worker // (sys.boot_completed = 1) value of this field will always be false. 40*33f37583SAndroid Build Coastguard Worker boolean activeApexChanged; 41*33f37583SAndroid Build Coastguard Worker 42*33f37583SAndroid Build Coastguard Worker /** 43*33f37583SAndroid Build Coastguard Worker * The partition that an APEX is pre-installed in or maps to. 44*33f37583SAndroid Build Coastguard Worker */ 45*33f37583SAndroid Build Coastguard Worker enum Partition { 46*33f37583SAndroid Build Coastguard Worker SYSTEM, 47*33f37583SAndroid Build Coastguard Worker SYSTEM_EXT, 48*33f37583SAndroid Build Coastguard Worker PRODUCT, 49*33f37583SAndroid Build Coastguard Worker VENDOR, 50*33f37583SAndroid Build Coastguard Worker ODM 51*33f37583SAndroid Build Coastguard Worker } 52*33f37583SAndroid Build Coastguard Worker 53*33f37583SAndroid Build Coastguard Worker // For pre-installed APEX, this is the partition where it is pre-installed. For brand-new APEX, this is the partition where its credential is pre-installed. 54*33f37583SAndroid Build Coastguard Worker Partition partition; 55*33f37583SAndroid Build Coastguard Worker } 56