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

Commit ed5e803c authored by songferngwang's avatar songferngwang
Browse files

Hide the enabling mobile data

Since the framework behavior was changed after the enabling mobile data dialog was implemented.
Bug: 368450590
Test: manully test the dialog.

Change-Id: I08e0e1b9643781e52f6a9d4fa2c0eccf0feb7901
parent 69604645
Loading
Loading
Loading
Loading
+32 −6
Original line number Diff line number Diff line
@@ -21,10 +21,12 @@ import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
import android.app.Activity;
import android.app.Dialog;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;

import androidx.annotation.NonNull;
@@ -91,8 +93,12 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
        }

        if (dialog == null) {
            Log.d(TAG, "Dialog is null.");
            dismiss();
            dismiss("Dialog is null.");
            return;
        }
        Context context = getContext();
        if (context == null) {
            dismiss("getContext is null.");
            return;
        }

@@ -100,24 +106,44 @@ public class PreferredSimDialogFragment extends SimDialogFragment implements
        if (info == null || (info.isEmbedded()
            && (info.getProfileClass() == PROFILE_CLASS_PROVISIONING
                || (Flags.oemEnabledSatelliteFlag() && info.isOnlyNonTerrestrialNetwork())))) {
            dismiss();
            dismiss("SubscriptionInfo is null or other esim's cases.");
            return;
        }
        Log.d(TAG, "SubscriptionInfo: " + info);
        TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
        if (telephonyManager == null) {
            dismiss("TelephonyManager is null.");
            return;
        }
        telephonyManager = telephonyManager.createForSubscriptionId(info.getSubscriptionId());
        if (telephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)) {
            dismiss("mobile data is on.");
            final SimDialogActivity activity = (SimDialogActivity) getActivity();
            if (activity != null) {
                activity.finish();
            }
            return;
        }

        final CharSequence simName =
                SubscriptionUtil.getUniqueSubscriptionDisplayName(info, getContext());
                SubscriptionUtil.getUniqueSubscriptionDisplayName(info, context);
        final String title =
                getContext().getString(
                context.getString(
                        getTitleResId(),
                        simName);
        final String message =
                getContext().getString(
                context.getString(
                        R.string.sim_preferred_message,
                        simName);
        dialog.setTitle(title);
        dialog.setMessage(message);
    }

    private void dismiss(String log) {
        Log.d(TAG, log);
        dismiss();
    }

    @Override
    public void updateDialog() {
        updateDialog((AlertDialog) getDialog());