1181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate/* 2181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * Copyright (C) 2009 The Android Open Source Project 3181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * 4181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * Licensed under the Apache License, Version 2.0 (the "License"); 5181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * you may not use this file except in compliance with the License. 6181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * You may obtain a copy of the License at 7181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * 8181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * http://www.apache.org/licenses/LICENSE-2.0 9181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * 10181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * Unless required by applicable law or agreed to in writing, software 11181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * distributed under the License is distributed on an "AS IS" BASIS, 12181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * See the License for the specific language governing permissions and 14181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate * limitations under the License. 15181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate */ 16181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 17181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tatepackage com.android.server.am; 18181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 19181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tateimport com.android.internal.os.BatteryStatsImpl; 20181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 21181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tateimport android.content.pm.ApplicationInfo; 22181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 23181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate/** @hide */ 24181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tateclass BackupRecord { 25181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate // backup/restore modes 26181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate public static final int BACKUP_NORMAL = 0; 27181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate public static final int BACKUP_FULL = 1; 28181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate public static final int RESTORE = 2; 2975a99709accef8cf221fd436d646727e7c8dd1f1Christopher Tate public static final int RESTORE_FULL = 3; 30181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 31181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final BatteryStatsImpl.Uid.Pkg.Serv stats; 32181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate String stringName; // cached toString() output 33181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final ApplicationInfo appInfo; // information about BackupAgent's app 34181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final int backupMode; // full backup / incremental / restore 35181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate ProcessRecord app; // where this agent is running or null 36181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 37181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate // ----- Implementation ----- 38181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 39181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate BackupRecord(BatteryStatsImpl.Uid.Pkg.Serv _agentStats, ApplicationInfo _appInfo, 40181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate int _backupMode) { 41181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate stats = _agentStats; 42181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate appInfo = _appInfo; 43181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate backupMode = _backupMode; 44181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 45181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 46181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate public String toString() { 47181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate if (stringName != null) { 48181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate return stringName; 49181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 50181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate StringBuilder sb = new StringBuilder(128); 51181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate sb.append("BackupRecord{") 52181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(Integer.toHexString(System.identityHashCode(this))) 53181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.packageName) 54181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.name) 55181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.backupAgentName).append('}'); 56181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate return stringName = sb.toString(); 57181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 588a9b22056b13477f59df934928c00c58b5871c95Joe Onorato} 59