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

Commit d9073212 authored by Thomas Nguyen's avatar Thomas Nguyen Committed by Android (Google) Code Review
Browse files

Merge "Make InboundSmsHandler run on the main thread"

parents abbb2fe0 d1a49756
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import android.net.Uri;
import android.os.AsyncResult;
import android.os.Build;
import android.os.Bundle;
import android.os.Looper;
import android.os.Message;
import android.os.PowerManager;
import android.os.PowerWhitelistManager;
@@ -287,8 +288,8 @@ public abstract class InboundSmsHandler extends StateMachine {
     * @param storageMonitor the SmsStorageMonitor to check for storage availability
     */
    protected InboundSmsHandler(String name, Context context, SmsStorageMonitor storageMonitor,
            Phone phone) {
        super(name);
            Phone phone, Looper looper) {
        super(name, looper);

        mContext = context;
        mStorageMonitor = storageMonitor;
+11 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.net.Uri;
import android.os.AsyncResult;
import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.UserManager;
import android.provider.Telephony.Sms;
@@ -331,6 +332,14 @@ public class SmsDispatchersController extends Handler {

    public SmsDispatchersController(Phone phone, SmsStorageMonitor storageMonitor,
            SmsUsageMonitor usageMonitor) {
        this(phone, storageMonitor, usageMonitor, phone.getLooper());
    }

    @VisibleForTesting
    public SmsDispatchersController(Phone phone, SmsStorageMonitor storageMonitor,
            SmsUsageMonitor usageMonitor, Looper looper) {
        super(looper);

        Rlog.d(TAG, "SmsDispatchersController created");

        mContext = phone.getContext();
@@ -343,9 +352,9 @@ public class SmsDispatchersController extends Handler {
        mImsSmsDispatcher = new ImsSmsDispatcher(phone, this, ImsManager::getConnector);
        mCdmaDispatcher = new CdmaSMSDispatcher(phone, this);
        mGsmInboundSmsHandler = GsmInboundSmsHandler.makeInboundSmsHandler(phone.getContext(),
                storageMonitor, phone);
                storageMonitor, phone, looper);
        mCdmaInboundSmsHandler = CdmaInboundSmsHandler.makeInboundSmsHandler(phone.getContext(),
                storageMonitor, phone, (CdmaSMSDispatcher) mCdmaDispatcher);
                storageMonitor, phone, (CdmaSMSDispatcher) mCdmaDispatcher, looper);
        mGsmDispatcher = new GsmSMSDispatcher(phone, this, mGsmInboundSmsHandler);
        SmsBroadcastUndelivered.initialize(phone.getContext(),
                mGsmInboundSmsHandler, mCdmaInboundSmsHandler);
+6 −4
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteCallback;
import android.os.SystemProperties;
@@ -77,8 +78,8 @@ public class CdmaInboundSmsHandler extends InboundSmsHandler {
     * Create a new inbound SMS handler for CDMA.
     */
    private CdmaInboundSmsHandler(Context context, SmsStorageMonitor storageMonitor,
            Phone phone, CdmaSMSDispatcher smsDispatcher) {
        super("CdmaInboundSmsHandler", context, storageMonitor, phone);
            Phone phone, CdmaSMSDispatcher smsDispatcher, Looper looper) {
        super("CdmaInboundSmsHandler", context, storageMonitor, phone, looper);
        mSmsDispatcher = smsDispatcher;
        phone.mCi.setOnNewCdmaSms(getHandler(), EVENT_NEW_SMS, null);

@@ -169,9 +170,10 @@ public class CdmaInboundSmsHandler extends InboundSmsHandler {
     * Wait for state machine to enter startup state. We can't send any messages until then.
     */
    public static CdmaInboundSmsHandler makeInboundSmsHandler(Context context,
            SmsStorageMonitor storageMonitor, Phone phone, CdmaSMSDispatcher smsDispatcher) {
            SmsStorageMonitor storageMonitor, Phone phone, CdmaSMSDispatcher smsDispatcher,
            Looper looper) {
        CdmaInboundSmsHandler handler = new CdmaInboundSmsHandler(context, storageMonitor,
                phone, smsDispatcher);
                phone, smsDispatcher, looper);
        handler.start();
        return handler;
    }
+6 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.os.AsyncResult;
import android.os.Build;
import android.os.Looper;
import android.os.Message;
import android.os.SystemProperties;
import android.provider.Telephony.Sms.Intents;
@@ -57,8 +58,8 @@ public class GsmInboundSmsHandler extends InboundSmsHandler {
     * Create a new GSM inbound SMS handler.
     */
    private GsmInboundSmsHandler(Context context, SmsStorageMonitor storageMonitor,
            Phone phone) {
        super("GsmInboundSmsHandler", context, storageMonitor, phone);
            Phone phone, Looper looper) {
        super("GsmInboundSmsHandler", context, storageMonitor, phone, looper);
        phone.mCi.setOnNewGsmSms(getHandler(), EVENT_NEW_SMS, null);
        mDataDownloadHandler = new UsimDataDownloadHandler(phone.mCi, phone.getPhoneId());
        mCellBroadcastServiceManager.enable();
@@ -128,8 +129,9 @@ public class GsmInboundSmsHandler extends InboundSmsHandler {
     * Wait for state machine to enter startup state. We can't send any messages until then.
     */
    public static GsmInboundSmsHandler makeInboundSmsHandler(Context context,
            SmsStorageMonitor storageMonitor, Phone phone) {
        GsmInboundSmsHandler handler = new GsmInboundSmsHandler(context, storageMonitor, phone);
            SmsStorageMonitor storageMonitor, Phone phone, Looper looper) {
        GsmInboundSmsHandler handler =
                new GsmInboundSmsHandler(context, storageMonitor, phone, looper);
        handler.start();
        return handler;
    }
+4 −4
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncResult;
import android.os.Looper;
import android.os.Message;
import android.provider.Telephony.Sms.Intents;
import android.telephony.DisconnectCause;
@@ -79,8 +80,8 @@ public class SmsDispatchersControllerTest extends TelephonyTest {
     */
    private static class TestSmsDispatchersController extends SmsDispatchersController {
        TestSmsDispatchersController(Phone phone, SmsStorageMonitor storageMonitor,
                SmsUsageMonitor usageMonitor) {
            super(phone, storageMonitor, usageMonitor);
                SmsUsageMonitor usageMonitor, Looper looper) {
            super(phone, storageMonitor, usageMonitor, looper);
        }

        public DomainSelectionConnectionHolder testGetDomainSelectionConnectionHolder(
@@ -174,9 +175,8 @@ public class SmsDispatchersControllerTest extends TelephonyTest {
        super.setUp(getClass().getSimpleName());
        mTracker = mock(SMSDispatcher.SmsTracker.class);
        setupMockPackagePermissionChecks();

        mSmsDispatchersController = new TestSmsDispatchersController(mPhone, mSmsStorageMonitor,
            mSmsUsageMonitor);
            mSmsUsageMonitor, mTestableLooper.getLooper());
        setUpDomainSelectionConnectionAsNotSupported();
        processAllMessages();
    }
Loading