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

Commit 5227b147 authored by Xiangyu/Malcolm Chen's avatar Xiangyu/Malcolm Chen Committed by android-build-merger
Browse files

Merge "Clean Sms raw table when resetting network." into pi-dev

am: 1340c328

Change-Id: Ie3e2bab305ede65e47bfabfa1f5e29100aced5b9
parents 746c972c 1340c328
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -32,9 +32,11 @@ import android.os.Bundle;
import android.os.RecoverySystem;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Telephony;
import android.support.annotation.VisibleForTesting;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -151,9 +153,20 @@ public class ResetNetworkConfirm extends InstrumentedFragment {
            ImsManager.factoryReset(context);
            restoreDefaultApn(context);
            esimFactoryReset(context, context.getPackageName());
            // There has been issues when Sms raw table somehow stores orphan
            // fragments. They lead to garbled message when new fragments come
            // in and combied with those stale ones. In case this happens again,
            // user can reset all network settings which will clean up this table.
            cleanUpSmsRawTable(context);
        }
    };

    private void cleanUpSmsRawTable(Context context) {
        ContentResolver resolver = context.getContentResolver();
        Uri uri = Uri.withAppendedPath(Telephony.Sms.CONTENT_URI, "raw/permanentDelete");
        resolver.delete(uri, null, null);
    }

    @VisibleForTesting
    void esimFactoryReset(Context context, String packageName) {
        if (mEraseEsim) {