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

This commit is contained in:
Annie Meng
2018-03-07 17:07:51 +00:00
committed by Android (Google) Code Review
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, public static NetworkPolicy getNetworkPolicyFromBackup(DataInputStream in) throws IOException,
BackupUtils.BadVersionException { BackupUtils.BadVersionException {
final int version = in.readInt(); final int version = in.readInt();
if (version > VERSION_RAPID) { if (version < VERSION_INIT || version > VERSION_RAPID) {
throw new BackupUtils.BadVersionException("Unknown backup version: " + version); throw new BackupUtils.BadVersionException("Unknown backup version: " + version);
} }

View File

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

View File

@@ -49,12 +49,11 @@ import java.io.ByteArrayOutputStream;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.EOFException; import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.time.DateTimeException;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.zip.CRC32; 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 // Only set the policies if there was no error in the restore operation
networkPolicyManager.setNetworkPolicies(policies); 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 // NPE can be thrown when trying to instantiate a NetworkPolicy
Log.e(TAG, "Failed to convert byte array to NetworkPolicies " + e.getMessage()); Log.e(TAG, "Failed to convert byte array to NetworkPolicies " + e.getMessage());
} }