Loading services/backup/java/com/android/server/backup/internal/BackupHandler.java +7 −2 Original line number Diff line number Diff line Loading @@ -375,7 +375,7 @@ public class BackupHandler extends Handler { case MSG_RUN_GET_RESTORE_SETS: { // Like other async operations, this is entered with the wakelock held RestoreSet[] sets = null; List<RestoreSet> sets = null; RestoreGetSetsParams params = (RestoreGetSetsParams) msg.obj; String callerLogString = "BH/MSG_RUN_GET_RESTORE_SETS"; try { Loading @@ -394,7 +394,12 @@ public class BackupHandler extends Handler { } finally { if (params.observer != null) { try { params.observer.restoreSetsAvailable(sets); if (sets == null) { params.observer.restoreSetsAvailable(null); } else { params.observer.restoreSetsAvailable( sets.toArray(new RestoreSet[0])); } } catch (RemoteException re) { Slog.e(TAG, "Unable to report listing to observer"); } catch (Exception e) { Loading services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java +9 −8 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.server.backup.params.RestoreParams; import com.android.server.backup.transport.TransportConnection; import com.android.server.backup.utils.BackupEligibilityRules; import java.util.List; import java.util.function.BiFunction; /** Loading @@ -60,7 +61,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { private final int mUserId; private final BackupEligibilityRules mBackupEligibilityRules; @Nullable private final String mPackageName; public RestoreSet[] mRestoreSets = null; public List<RestoreSet> mRestoreSets = null; boolean mEnded = false; boolean mTimedOut = false; Loading Loading @@ -174,10 +175,10 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } synchronized (mBackupManagerService.getQueueLock()) { for (int i = 0; i < mRestoreSets.length; i++) { if (token == mRestoreSets[i].token) { for (int i = 0; i < mRestoreSets.size(); i++) { if (token == mRestoreSets.get(i).token) { final long oldId = Binder.clearCallingIdentity(); RestoreSet restoreSet = mRestoreSets[i]; RestoreSet restoreSet = mRestoreSets.get(i); try { return sendRestoreToHandlerLocked( (transportClient, listener) -> Loading Loading @@ -267,10 +268,10 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } synchronized (mBackupManagerService.getQueueLock()) { for (int i = 0; i < mRestoreSets.length; i++) { if (token == mRestoreSets[i].token) { for (int i = 0; i < mRestoreSets.size(); i++) { if (token == mRestoreSets.get(i).token) { final long oldId = Binder.clearCallingIdentity(); RestoreSet restoreSet = mRestoreSets[i]; RestoreSet restoreSet = mRestoreSets.get(i); try { return sendRestoreToHandlerLocked( (transportClient, listener) -> Loading Loading @@ -390,7 +391,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } } public void setRestoreSets(RestoreSet[] restoreSets) { public void setRestoreSets(List<RestoreSet> restoreSets) { mRestoreSets = restoreSets; } Loading services/backup/java/com/android/server/backup/transport/BackupTransportClient.java +2 −2 Original line number Diff line number Diff line Loading @@ -180,11 +180,11 @@ public class BackupTransportClient { /** * See {@link IBackupTransport#getAvailableRestoreSets()} */ public RestoreSet[] getAvailableRestoreSets() throws RemoteException { public List<RestoreSet> getAvailableRestoreSets() throws RemoteException { AndroidFuture<List<RestoreSet>> resultFuture = mTransportFutures.newFuture(); mTransportBinder.getAvailableRestoreSets(resultFuture); List<RestoreSet> result = getFutureResult(resultFuture); return result == null ? null : result.toArray(new RestoreSet[] {}); return result; } /** Loading services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ import org.robolectric.shadows.ShadowLooper; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayDeque; import java.util.Arrays; @RunWith(RobolectricTestRunner.class) @Config( Loading Loading @@ -196,7 +197,7 @@ public class ActiveRestoreSessionTest { mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP); TransportMock transportMock = setUpTransport(mTransport); when(transportMock.transport.getAvailableRestoreSets()) .thenReturn(new RestoreSet[] {mRestoreSet1, mRestoreSet2}); .thenReturn(Arrays.asList(mRestoreSet1, mRestoreSet2)); IRestoreSession restoreSession = createActiveRestoreSession(PACKAGE_1, mTransport); int result = restoreSession.getAvailableRestoreSets(mObserver, mMonitor); Loading @@ -214,7 +215,8 @@ public class ActiveRestoreSessionTest { public void testGetAvailableRestoreSets_forEmptyRestoreSets() throws Exception { mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP); TransportMock transportMock = setUpTransport(mTransport); when(transportMock.transport.getAvailableRestoreSets()).thenReturn(new RestoreSet[0]); when(transportMock.transport.getAvailableRestoreSets()).thenReturn( Arrays.asList(new RestoreSet[0])); IRestoreSession restoreSession = createActiveRestoreSession(PACKAGE_1, mTransport); int result = restoreSession.getAvailableRestoreSets(mObserver, mMonitor); Loading Loading @@ -593,7 +595,7 @@ public class ActiveRestoreSessionTest { new ActiveRestoreSession( mBackupManagerService, packageName, transport.transportName, mBackupEligibilityRules); restoreSession.setRestoreSets(restoreSets); restoreSession.setRestoreSets(Arrays.asList(restoreSets)); return restoreSession; } Loading Loading
services/backup/java/com/android/server/backup/internal/BackupHandler.java +7 −2 Original line number Diff line number Diff line Loading @@ -375,7 +375,7 @@ public class BackupHandler extends Handler { case MSG_RUN_GET_RESTORE_SETS: { // Like other async operations, this is entered with the wakelock held RestoreSet[] sets = null; List<RestoreSet> sets = null; RestoreGetSetsParams params = (RestoreGetSetsParams) msg.obj; String callerLogString = "BH/MSG_RUN_GET_RESTORE_SETS"; try { Loading @@ -394,7 +394,12 @@ public class BackupHandler extends Handler { } finally { if (params.observer != null) { try { params.observer.restoreSetsAvailable(sets); if (sets == null) { params.observer.restoreSetsAvailable(null); } else { params.observer.restoreSetsAvailable( sets.toArray(new RestoreSet[0])); } } catch (RemoteException re) { Slog.e(TAG, "Unable to report listing to observer"); } catch (Exception e) { Loading
services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java +9 −8 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.server.backup.params.RestoreParams; import com.android.server.backup.transport.TransportConnection; import com.android.server.backup.utils.BackupEligibilityRules; import java.util.List; import java.util.function.BiFunction; /** Loading @@ -60,7 +61,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { private final int mUserId; private final BackupEligibilityRules mBackupEligibilityRules; @Nullable private final String mPackageName; public RestoreSet[] mRestoreSets = null; public List<RestoreSet> mRestoreSets = null; boolean mEnded = false; boolean mTimedOut = false; Loading Loading @@ -174,10 +175,10 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } synchronized (mBackupManagerService.getQueueLock()) { for (int i = 0; i < mRestoreSets.length; i++) { if (token == mRestoreSets[i].token) { for (int i = 0; i < mRestoreSets.size(); i++) { if (token == mRestoreSets.get(i).token) { final long oldId = Binder.clearCallingIdentity(); RestoreSet restoreSet = mRestoreSets[i]; RestoreSet restoreSet = mRestoreSets.get(i); try { return sendRestoreToHandlerLocked( (transportClient, listener) -> Loading Loading @@ -267,10 +268,10 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } synchronized (mBackupManagerService.getQueueLock()) { for (int i = 0; i < mRestoreSets.length; i++) { if (token == mRestoreSets[i].token) { for (int i = 0; i < mRestoreSets.size(); i++) { if (token == mRestoreSets.get(i).token) { final long oldId = Binder.clearCallingIdentity(); RestoreSet restoreSet = mRestoreSets[i]; RestoreSet restoreSet = mRestoreSets.get(i); try { return sendRestoreToHandlerLocked( (transportClient, listener) -> Loading Loading @@ -390,7 +391,7 @@ public class ActiveRestoreSession extends IRestoreSession.Stub { } } public void setRestoreSets(RestoreSet[] restoreSets) { public void setRestoreSets(List<RestoreSet> restoreSets) { mRestoreSets = restoreSets; } Loading
services/backup/java/com/android/server/backup/transport/BackupTransportClient.java +2 −2 Original line number Diff line number Diff line Loading @@ -180,11 +180,11 @@ public class BackupTransportClient { /** * See {@link IBackupTransport#getAvailableRestoreSets()} */ public RestoreSet[] getAvailableRestoreSets() throws RemoteException { public List<RestoreSet> getAvailableRestoreSets() throws RemoteException { AndroidFuture<List<RestoreSet>> resultFuture = mTransportFutures.newFuture(); mTransportBinder.getAvailableRestoreSets(resultFuture); List<RestoreSet> result = getFutureResult(resultFuture); return result == null ? null : result.toArray(new RestoreSet[] {}); return result; } /** Loading
services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java +5 −3 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ import org.robolectric.shadows.ShadowLooper; import org.robolectric.shadows.ShadowPackageManager; import java.util.ArrayDeque; import java.util.Arrays; @RunWith(RobolectricTestRunner.class) @Config( Loading Loading @@ -196,7 +197,7 @@ public class ActiveRestoreSessionTest { mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP); TransportMock transportMock = setUpTransport(mTransport); when(transportMock.transport.getAvailableRestoreSets()) .thenReturn(new RestoreSet[] {mRestoreSet1, mRestoreSet2}); .thenReturn(Arrays.asList(mRestoreSet1, mRestoreSet2)); IRestoreSession restoreSession = createActiveRestoreSession(PACKAGE_1, mTransport); int result = restoreSession.getAvailableRestoreSets(mObserver, mMonitor); Loading @@ -214,7 +215,8 @@ public class ActiveRestoreSessionTest { public void testGetAvailableRestoreSets_forEmptyRestoreSets() throws Exception { mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP); TransportMock transportMock = setUpTransport(mTransport); when(transportMock.transport.getAvailableRestoreSets()).thenReturn(new RestoreSet[0]); when(transportMock.transport.getAvailableRestoreSets()).thenReturn( Arrays.asList(new RestoreSet[0])); IRestoreSession restoreSession = createActiveRestoreSession(PACKAGE_1, mTransport); int result = restoreSession.getAvailableRestoreSets(mObserver, mMonitor); Loading Loading @@ -593,7 +595,7 @@ public class ActiveRestoreSessionTest { new ActiveRestoreSession( mBackupManagerService, packageName, transport.transportName, mBackupEligibilityRules); restoreSession.setRestoreSets(restoreSets); restoreSession.setRestoreSets(Arrays.asList(restoreSets)); return restoreSession; } Loading