From fc637c168efff18ad9252c65a231e5c62d228df8 Mon Sep 17 00:00:00 2001 From: Michal Karpinski Date: Thu, 27 Jul 2017 16:47:00 +0100 Subject: [PATCH] Reintroduce the contract for random token to be non-negative Clients like adb backup/restore confimation activity depended on it. Test: gts-tradefed run gts -m GtsBackupHostTestCases Bug: 64042228 Bug: 63691912 Bug: 63695367 Change-Id: I09e348f7570bcdbad2d91e79f90a248b17c82940 --- .../java/com/android/server/backup/BackupManagerService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index a27a77eb66b26..1bb147c78f3bd 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -769,7 +769,9 @@ public class BackupManagerService implements BackupManagerServiceInterface { // side unpredictability. @Override public int generateRandomIntegerToken() { - int token = mTokenGenerator.nextInt() & ~0xFF; + int token = mTokenGenerator.nextInt(); + if (token < 0) token = -token; + token &= ~0xFF; token |= (mNextToken.incrementAndGet() & 0xFF); return token; }