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

Commit 1c17255d authored by David Braun's avatar David Braun
Browse files

Block "SMS Default Dialog" on non-phone devices

This change also handles the case where getDefaultSmsApplication returns
null more elegantly, though this is only really possible on a device that
is a tablet (blocked earlier in the method) or a phone device that had no
SMS apps at boot (when we force the setting of an SMS app.)

Bug: 11072894 People app should not launch into default SMS app on tablets
Change-Id: I1e253873e053c21bc1652bd03d7b486aaf9be5e1
parent 8aecb7ce
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2386,7 +2386,8 @@
    <!-- SMS Application [CHAR LIMIT=35]-->
    <string name="sms_application_title" translatable="true">Default SMS app</string>
    <string name="sms_change_default_dialog_title" translatable="true">Change SMS app?</string>
    <string name="sms_change_default_dialog_text" translatable="true">Use <xliff:g id="new_app">%s</xliff:g> instead of <xliff:g id="current_app">%s</xliff:g> as your SMS application?</string>
    <string name="sms_change_default_dialog_text" translatable="true">Use <xliff:g id="new_app">%s</xliff:g> instead of <xliff:g id="current_app">%s</xliff:g> as your SMS app?</string>
    <string name="sms_change_default_no_previous_dialog_text" translatable="true">Use <xliff:g id="new_app">%s</xliff:g> as your SMS app?</string>

    <!-- The SIM operator is not known [CHAR_ LIMIT=50]-->
    <string name="mobile_unknown_sim_operator" translatable="true">Uknown SIM operator</string>
+22 −6
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.provider.Telephony.Sms.Intents;
import android.telephony.TelephonyManager;

import com.android.internal.app.AlertActivity;
import com.android.internal.app.AlertController;
@@ -62,23 +63,38 @@ public final class SmsDefaultDialog extends AlertActivity implements
    }

    private boolean buildDialog(String packageName) {
        TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
        if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
            // No phone, no SMS
            return false;
        }

        mNewSmsApplicationData = SmsApplication.getSmsApplicationData(packageName, this);
        if (mNewSmsApplicationData == null) {
            return false;
        }

        SmsApplicationData oldSmsApplicationData = null;
        ComponentName oldSmsComponent = SmsApplication.getDefaultSmsApplication(this, true);
        SmsApplicationData oldSmsApplicationData =
        if (oldSmsComponent != null) {
            oldSmsApplicationData =
                    SmsApplication.getSmsApplicationData(oldSmsComponent.getPackageName(), this);
            if (oldSmsApplicationData.mPackageName.equals(mNewSmsApplicationData.mPackageName)) {
                return false;
            }
        }

        // Compose dialog; get
        final AlertController.AlertParams p = mAlertParams;
        p.mTitle = getString(R.string.sms_change_default_dialog_title);
        if (oldSmsApplicationData != null) {
            p.mMessage = getString(R.string.sms_change_default_dialog_text,
                mNewSmsApplicationData.mApplicationName, oldSmsApplicationData.mApplicationName);
                    mNewSmsApplicationData.mApplicationName,
                    oldSmsApplicationData.mApplicationName);
        } else {
            p.mMessage = getString(R.string.sms_change_default_no_previous_dialog_text,
                    mNewSmsApplicationData.mApplicationName);
        }
        p.mPositiveButtonText = getString(R.string.yes);
        p.mNegativeButtonText = getString(R.string.no);
        p.mPositiveButtonListener = this;