Merge "Don't backup/restore sim-settings if Telephony not present."
This commit is contained in:
@@ -24,6 +24,7 @@ import android.app.backup.FullBackupDataOutput;
|
|||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.net.NetworkPolicy;
|
import android.net.NetworkPolicy;
|
||||||
import android.net.NetworkPolicyManager;
|
import android.net.NetworkPolicyManager;
|
||||||
@@ -212,7 +213,6 @@ public class SettingsBackupAgent extends BackupAgentHelper {
|
|||||||
@Override
|
@Override
|
||||||
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
|
public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
|
||||||
ParcelFileDescriptor newState) throws IOException {
|
ParcelFileDescriptor newState) throws IOException {
|
||||||
|
|
||||||
byte[] systemSettingsData = getSystemSettings();
|
byte[] systemSettingsData = getSystemSettings();
|
||||||
byte[] secureSettingsData = getSecureSettings();
|
byte[] secureSettingsData = getSecureSettings();
|
||||||
byte[] globalSettingsData = getGlobalSettings();
|
byte[] globalSettingsData = getGlobalSettings();
|
||||||
@@ -1204,18 +1204,26 @@ public class SettingsBackupAgent extends BackupAgentHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private byte[] getSimSpecificSettingsData() {
|
private byte[] getSimSpecificSettingsData() {
|
||||||
|
byte[] simSpecificData = new byte[0];
|
||||||
|
PackageManager packageManager = getBaseContext().getPackageManager();
|
||||||
|
if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
|
||||||
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
|
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
|
||||||
byte[] simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
|
simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
|
||||||
Log.i(TAG, "sim specific data of length + " + simSpecificData.length
|
Log.i(TAG, "sim specific data of length + " + simSpecificData.length
|
||||||
+ " successfully retrieved");
|
+ " successfully retrieved");
|
||||||
|
}
|
||||||
|
|
||||||
return simSpecificData;
|
return simSpecificData;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void restoreSimSpecificSettings(byte[] data) {
|
private void restoreSimSpecificSettings(byte[] data) {
|
||||||
|
PackageManager packageManager = getBaseContext().getPackageManager();
|
||||||
|
boolean hasTelephony = packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
|
||||||
|
if (hasTelephony) {
|
||||||
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
|
SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
|
||||||
subManager.restoreAllSimSpecificSettingsFromBackup(data);
|
subManager.restoreAllSimSpecificSettingsFromBackup(data);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void updateWindowManagerIfNeeded(Integer previousDensity) {
|
private void updateWindowManagerIfNeeded(Integer previousDensity) {
|
||||||
int newDensity;
|
int newDensity;
|
||||||
|
|||||||
Reference in New Issue
Block a user