Loading services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java +4 −23 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ public class FullRestoreEngine extends RestoreEngine { final PackageInfo mOnlyPackage; final boolean mAllowApks; private final boolean mAllowObbs; // Which package are we currently handling data for? private String mAgentPackage; Loading @@ -113,9 +112,6 @@ public class FullRestoreEngine extends RestoreEngine { // Packages we've already wiped data on when restoring their first file private final HashSet<String> mClearedPackages = new HashSet<>(); // How much data have we moved? private long mBytes; // Working buffer final byte[] mBuffer; Loading @@ -130,14 +126,14 @@ public class FullRestoreEngine extends RestoreEngine { final int mEphemeralOpToken; private final BackupAgentTimeoutParameters mAgentTimeoutParameters; final boolean mIsAdbRestore; private final boolean mIsAdbRestore; @GuardedBy("mPipesLock") private boolean mPipesClosed; public FullRestoreEngine(UserBackupManagerService backupManagerService, BackupRestoreTask monitorTask, IFullBackupRestoreObserver observer, IBackupManagerMonitor monitor, PackageInfo onlyPackage, boolean allowApks, boolean allowObbs, int ephemeralOpToken, boolean isAdbRestore) { int ephemeralOpToken, boolean isAdbRestore) { mBackupManagerService = backupManagerService; mEphemeralOpToken = ephemeralOpToken; mMonitorTask = monitorTask; Loading @@ -145,9 +141,7 @@ public class FullRestoreEngine extends RestoreEngine { mMonitor = monitor; mOnlyPackage = onlyPackage; mAllowApks = allowApks; mAllowObbs = allowObbs; mBuffer = new byte[32 * 1024]; mBytes = 0; mAgentTimeoutParameters = Preconditions.checkNotNull( backupManagerService.getAgentTimeoutParameters(), "Timeout parameters cannot be null"); Loading @@ -170,12 +164,7 @@ public class FullRestoreEngine extends RestoreEngine { return false; } BytesReadListener bytesReadListener = new BytesReadListener() { @Override public void onBytesRead(long bytesRead) { mBytes += bytesRead; } }; BytesReadListener bytesReadListener = bytesRead -> { }; TarBackupReader tarBackupReader = new TarBackupReader(instream, bytesReadListener, monitor); Loading Loading @@ -378,9 +367,7 @@ public class FullRestoreEngine extends RestoreEngine { ? ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL : ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); mAgentPackage = pkg; } catch (IOException e) { // fall through to error handling } catch (NameNotFoundException e) { } catch (IOException | NameNotFoundException e) { // fall through to error handling } Loading Loading @@ -485,9 +472,6 @@ public class FullRestoreEngine extends RestoreEngine { int toRead = (toCopy > buffer.length) ? buffer.length : (int) toCopy; int nRead = instream.read(buffer, 0, toRead); if (nRead >= 0) { mBytes += nRead; } if (nRead <= 0) { break; } Loading Loading @@ -548,9 +532,6 @@ public class FullRestoreEngine extends RestoreEngine { int toRead = (bytesToConsume > buffer.length) ? buffer.length : (int) bytesToConsume; long nRead = instream.read(buffer, 0, toRead); if (nRead >= 0) { mBytes += nRead; } if (nRead <= 0) { break; } Loading services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ public class PerformAdbRestoreTask implements Runnable { } FullRestoreEngine mEngine = new FullRestoreEngine(mBackupManagerService, null, mObserver, null, null, true, true/*unused*/, 0 /*unused*/, true); mObserver, null, null, true, 0 /*unused*/, true); FullRestoreEngineThread mEngineThread = new FullRestoreEngineThread(mEngine, tarInputStream); mEngineThread.run(); Loading services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +5 −8 Original line number Diff line number Diff line Loading @@ -86,7 +86,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { private final TransportClient mTransportClient; // Where per-transport saved state goes File mStateDir; private File mStateDir; // Restore observer; may be null private IRestoreObserver mObserver; Loading Loading @@ -153,10 +153,9 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // Key/value: bookkeeping about staged data and files for agent access private File mBackupDataName; private File mStageName; private File mSavedStateName; private File mNewStateName; ParcelFileDescriptor mBackupData; ParcelFileDescriptor mNewState; private ParcelFileDescriptor mBackupData; private ParcelFileDescriptor mNewState; private final int mEphemeralOpToken; private final BackupAgentTimeoutParameters mAgentTimeoutParameters; Loading Loading @@ -666,7 +665,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { } // Guts of a key/value restore operation void initiateOneRestore(PackageInfo app, long appVersionCode) { private void initiateOneRestore(PackageInfo app, long appVersionCode) { final String packageName = app.packageName; if (DEBUG) { Loading @@ -677,7 +676,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { mBackupDataName = new File(backupManagerService.getDataDir(), packageName + ".restore"); mStageName = new File(backupManagerService.getDataDir(), packageName + ".stage"); mNewStateName = new File(mStateDir, packageName + ".new"); mSavedStateName = new File(mStateDir, packageName); // don't stage the 'android' package where the wallpaper data lives. this is // an optimization: we know there's no widget data hosted/published by that Loading Loading @@ -870,7 +868,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { mCurrentPackage.packageName); mEngine = new FullRestoreEngine(backupManagerService, this, null, mMonitor, mCurrentPackage, false, false, mEphemeralOpToken, false); mMonitor, mCurrentPackage, false, mEphemeralOpToken, false); mEngineThread = new FullRestoreEngineThread(mEngine, mEnginePipes[0]); ParcelFileDescriptor eWriteEnd = mEnginePipes[1]; Loading Loading @@ -1160,7 +1158,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // the following from a discard of the newly-written state to the // "correct" operation of renaming into the canonical state blob. mNewStateName.delete(); // TODO: remove; see above comment //mNewStateName.renameTo(mSavedStateName); // TODO: replace with this // If this wasn't the PM pseudopackage, tear down the agent side if (mCurrentPackage.applicationInfo != null) { Loading Loading
services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java +4 −23 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ public class FullRestoreEngine extends RestoreEngine { final PackageInfo mOnlyPackage; final boolean mAllowApks; private final boolean mAllowObbs; // Which package are we currently handling data for? private String mAgentPackage; Loading @@ -113,9 +112,6 @@ public class FullRestoreEngine extends RestoreEngine { // Packages we've already wiped data on when restoring their first file private final HashSet<String> mClearedPackages = new HashSet<>(); // How much data have we moved? private long mBytes; // Working buffer final byte[] mBuffer; Loading @@ -130,14 +126,14 @@ public class FullRestoreEngine extends RestoreEngine { final int mEphemeralOpToken; private final BackupAgentTimeoutParameters mAgentTimeoutParameters; final boolean mIsAdbRestore; private final boolean mIsAdbRestore; @GuardedBy("mPipesLock") private boolean mPipesClosed; public FullRestoreEngine(UserBackupManagerService backupManagerService, BackupRestoreTask monitorTask, IFullBackupRestoreObserver observer, IBackupManagerMonitor monitor, PackageInfo onlyPackage, boolean allowApks, boolean allowObbs, int ephemeralOpToken, boolean isAdbRestore) { int ephemeralOpToken, boolean isAdbRestore) { mBackupManagerService = backupManagerService; mEphemeralOpToken = ephemeralOpToken; mMonitorTask = monitorTask; Loading @@ -145,9 +141,7 @@ public class FullRestoreEngine extends RestoreEngine { mMonitor = monitor; mOnlyPackage = onlyPackage; mAllowApks = allowApks; mAllowObbs = allowObbs; mBuffer = new byte[32 * 1024]; mBytes = 0; mAgentTimeoutParameters = Preconditions.checkNotNull( backupManagerService.getAgentTimeoutParameters(), "Timeout parameters cannot be null"); Loading @@ -170,12 +164,7 @@ public class FullRestoreEngine extends RestoreEngine { return false; } BytesReadListener bytesReadListener = new BytesReadListener() { @Override public void onBytesRead(long bytesRead) { mBytes += bytesRead; } }; BytesReadListener bytesReadListener = bytesRead -> { }; TarBackupReader tarBackupReader = new TarBackupReader(instream, bytesReadListener, monitor); Loading Loading @@ -378,9 +367,7 @@ public class FullRestoreEngine extends RestoreEngine { ? ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL : ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); mAgentPackage = pkg; } catch (IOException e) { // fall through to error handling } catch (NameNotFoundException e) { } catch (IOException | NameNotFoundException e) { // fall through to error handling } Loading Loading @@ -485,9 +472,6 @@ public class FullRestoreEngine extends RestoreEngine { int toRead = (toCopy > buffer.length) ? buffer.length : (int) toCopy; int nRead = instream.read(buffer, 0, toRead); if (nRead >= 0) { mBytes += nRead; } if (nRead <= 0) { break; } Loading Loading @@ -548,9 +532,6 @@ public class FullRestoreEngine extends RestoreEngine { int toRead = (bytesToConsume > buffer.length) ? buffer.length : (int) bytesToConsume; long nRead = instream.read(buffer, 0, toRead); if (nRead >= 0) { mBytes += nRead; } if (nRead <= 0) { break; } Loading
services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ public class PerformAdbRestoreTask implements Runnable { } FullRestoreEngine mEngine = new FullRestoreEngine(mBackupManagerService, null, mObserver, null, null, true, true/*unused*/, 0 /*unused*/, true); mObserver, null, null, true, 0 /*unused*/, true); FullRestoreEngineThread mEngineThread = new FullRestoreEngineThread(mEngine, tarInputStream); mEngineThread.run(); Loading
services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +5 −8 Original line number Diff line number Diff line Loading @@ -86,7 +86,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { private final TransportClient mTransportClient; // Where per-transport saved state goes File mStateDir; private File mStateDir; // Restore observer; may be null private IRestoreObserver mObserver; Loading Loading @@ -153,10 +153,9 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // Key/value: bookkeeping about staged data and files for agent access private File mBackupDataName; private File mStageName; private File mSavedStateName; private File mNewStateName; ParcelFileDescriptor mBackupData; ParcelFileDescriptor mNewState; private ParcelFileDescriptor mBackupData; private ParcelFileDescriptor mNewState; private final int mEphemeralOpToken; private final BackupAgentTimeoutParameters mAgentTimeoutParameters; Loading Loading @@ -666,7 +665,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { } // Guts of a key/value restore operation void initiateOneRestore(PackageInfo app, long appVersionCode) { private void initiateOneRestore(PackageInfo app, long appVersionCode) { final String packageName = app.packageName; if (DEBUG) { Loading @@ -677,7 +676,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { mBackupDataName = new File(backupManagerService.getDataDir(), packageName + ".restore"); mStageName = new File(backupManagerService.getDataDir(), packageName + ".stage"); mNewStateName = new File(mStateDir, packageName + ".new"); mSavedStateName = new File(mStateDir, packageName); // don't stage the 'android' package where the wallpaper data lives. this is // an optimization: we know there's no widget data hosted/published by that Loading Loading @@ -870,7 +868,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { mCurrentPackage.packageName); mEngine = new FullRestoreEngine(backupManagerService, this, null, mMonitor, mCurrentPackage, false, false, mEphemeralOpToken, false); mMonitor, mCurrentPackage, false, mEphemeralOpToken, false); mEngineThread = new FullRestoreEngineThread(mEngine, mEnginePipes[0]); ParcelFileDescriptor eWriteEnd = mEnginePipes[1]; Loading Loading @@ -1160,7 +1158,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // the following from a discard of the newly-written state to the // "correct" operation of renaming into the canonical state blob. mNewStateName.delete(); // TODO: remove; see above comment //mNewStateName.renameTo(mSavedStateName); // TODO: replace with this // If this wasn't the PM pseudopackage, tear down the agent side if (mCurrentPackage.applicationInfo != null) { Loading