BackupRecord.java revision 8a9b22056b13477f59df934928c00c58b5871c95
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; 29181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 30181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final BatteryStatsImpl.Uid.Pkg.Serv stats; 31181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate String stringName; // cached toString() output 32181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final ApplicationInfo appInfo; // information about BackupAgent's app 33181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate final int backupMode; // full backup / incremental / restore 34181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate ProcessRecord app; // where this agent is running or null 35181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 36181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate // ----- Implementation ----- 37181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 38181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate BackupRecord(BatteryStatsImpl.Uid.Pkg.Serv _agentStats, ApplicationInfo _appInfo, 39181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate int _backupMode) { 40181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate stats = _agentStats; 41181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate appInfo = _appInfo; 42181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate backupMode = _backupMode; 43181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 44181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate 45181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate public String toString() { 46181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate if (stringName != null) { 47181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate return stringName; 48181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 49181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate StringBuilder sb = new StringBuilder(128); 50181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate sb.append("BackupRecord{") 51181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(Integer.toHexString(System.identityHashCode(this))) 52181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.packageName) 53181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.name) 54181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate .append(' ').append(appInfo.backupAgentName).append('}'); 55181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate return stringName = sb.toString(); 56181fafaf48208978b8ba2022683ffa78aaeddde1Christopher Tate } 578a9b22056b13477f59df934928c00c58b5871c95Joe Onorato} 58