Clean Sms raw table when resetting network.
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. While we work on proper fixes, one of the options we offer to the user if it happens again, is to reset all network settings which will clean up this table. Bug: 77910620 Test: manual test Change-Id: Ib80c395fb9a1501f35716fdca43df3e5c87893c7
This commit is contained in:
@@ -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) {
|
||||
|
Reference in New Issue
Block a user