Merge "Validate restore of NetworkPolicy settings" into pi-dev

am: 292d895fb2

Change-Id: I0337e151e8a47d413153160081e640b49f945318
This commit is contained in:
Annie Meng
2018-03-07 17:17:54 +00:00
committed by android-build-merger
3 changed files with 5 additions and 4 deletions

View File

@@ -257,7 +257,7 @@ public class NetworkPolicy implements Parcelable, Comparable<NetworkPolicy> {
public static NetworkPolicy getNetworkPolicyFromBackup(DataInputStream in) throws IOException,
BackupUtils.BadVersionException {
final int version = in.readInt();
if (version > VERSION_RAPID) {
if (version < VERSION_INIT || version > VERSION_RAPID) {
throw new BackupUtils.BadVersionException("Unknown backup version: " + version);
}

View File

@@ -99,6 +99,7 @@ public class RecurrenceRule implements Parcelable {
start = convertZonedDateTime(BackupUtils.readString(in));
end = convertZonedDateTime(BackupUtils.readString(in));
period = convertPeriod(BackupUtils.readString(in));
break;
default:
throw new ProtocolException("Unknown version " + version);
}

View File

@@ -49,12 +49,11 @@ import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.time.DateTimeException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.zip.CRC32;
@@ -913,7 +912,8 @@ public class SettingsBackupAgent extends BackupAgentHelper {
}
// Only set the policies if there was no error in the restore operation
networkPolicyManager.setNetworkPolicies(policies);
} catch (NullPointerException | IOException | BackupUtils.BadVersionException e) {
} catch (NullPointerException | IOException | BackupUtils.BadVersionException
| DateTimeException e) {
// NPE can be thrown when trying to instantiate a NetworkPolicy
Log.e(TAG, "Failed to convert byte array to NetworkPolicies " + e.getMessage());
}