Merge "Don't backup/restore sim-settings if Telephony not present."

This commit is contained in:
Jack Nudelman
2021-04-26 16:23:57 +00:00
committed by Gerrit Code Review

View File

@@ -24,6 +24,7 @@ import android.app.backup.FullBackupDataOutput;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.NetworkPolicy;
import android.net.NetworkPolicyManager;
@@ -212,7 +213,6 @@ public class SettingsBackupAgent extends BackupAgentHelper {
@Override
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
ParcelFileDescriptor newState) throws IOException {
byte[] systemSettingsData = getSystemSettings();
byte[] secureSettingsData = getSecureSettings();
byte[] globalSettingsData = getGlobalSettings();
@@ -1204,17 +1204,25 @@ public class SettingsBackupAgent extends BackupAgentHelper {
}
private byte[] getSimSpecificSettingsData() {
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
byte[] simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
Log.i(TAG, "sim specific data of length + " + simSpecificData.length
byte[] simSpecificData = new byte[0];
PackageManager packageManager = getBaseContext().getPackageManager();
if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
Log.i(TAG, "sim specific data of length + " + simSpecificData.length
+ " successfully retrieved");
}
return simSpecificData;
}
private void restoreSimSpecificSettings(byte[] data) {
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
subManager.restoreAllSimSpecificSettingsFromBackup(data);
PackageManager packageManager = getBaseContext().getPackageManager();
boolean hasTelephony = packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
if (hasTelephony) {
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
subManager.restoreAllSimSpecificSettingsFromBackup(data);
}
}
private void updateWindowManagerIfNeeded(Integer previousDensity) {