Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45e4016b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 2727a913 55fba4d5
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -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,18 +1204,26 @@ public class SettingsBackupAgent extends BackupAgentHelper {
    }

    private byte[] getSimSpecificSettingsData() {
        byte[] simSpecificData = new byte[0];
        PackageManager packageManager = getBaseContext().getPackageManager();
        if (packageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
            SubscriptionManager subManager = SubscriptionManager.from(getBaseContext());
        byte[] simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
            simSpecificData = subManager.getAllSimSpecificSettingsForBackup();
            Log.i(TAG, "sim specific data of length + " + simSpecificData.length
                + " successfully retrieved");
        }

        return simSpecificData;
    }

    private void restoreSimSpecificSettings(byte[] 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) {
        int newDensity;