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

Commit 7f4b9659 authored by Zoey Chen's avatar Zoey Chen
Browse files

[Telephony] Notify onDataEnabled

Bug: 147577230
Test: atest CtsTelephonyTestCases:PhoneStateListenerTest
Change-Id: I3e22ccce2317b6e1ab053a76ae1467b335d42058
Merged-In: I3e22ccce2317b6e1ab053a76ae1467b335d42058
parent ba5e7140
Loading
Loading
Loading
Loading
+28 −21
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.telephony.PreciseDataConnectionState;
import android.telephony.ServiceState;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyManager.DataEnabledReason;
import android.telephony.TelephonyRegistryManager;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
@@ -65,7 +66,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
        if (ringingCall != null && ringingCall.getEarliestConnection() != null) {
            incomingNumber = ringingCall.getEarliestConnection().getAddress();
        }
        mTelephonyRegistryMgr.notifyCallStateChanged(subId, phoneId,
        mTelephonyRegistryMgr.notifyCallStateChanged(phoneId, subId,
                PhoneConstantConversions.convertCallState(sender.getState()), incomingNumber);
    }

@@ -84,7 +85,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
            ss = new ServiceState();
            ss.setStateOutOfService();
        }
        mTelephonyRegistryMgr.notifyServiceStateChanged(subId, phoneId, ss);
        mTelephonyRegistryMgr.notifyServiceStateChanged(phoneId, subId, ss);
    }

    @Override
@@ -96,7 +97,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
            Rlog.d(LOG_TAG, "notifySignalStrength: mRegistryMgr=" + mTelephonyRegistryMgr
                + " ss=" + sender.getSignalStrength() + " sender=" + sender);
        }
        mTelephonyRegistryMgr.notifySignalStrengthChanged(subId, phoneId,
        mTelephonyRegistryMgr.notifySignalStrengthChanged(phoneId, subId,
                sender.getSignalStrength());
    }

@@ -104,7 +105,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
    public void notifyMessageWaitingChanged(Phone sender) {
        int phoneId = sender.getPhoneId();
        int subId = sender.getSubId();
        mTelephonyRegistryMgr.notifyMessageWaitingChanged(subId, phoneId,
        mTelephonyRegistryMgr.notifyMessageWaitingChanged(phoneId, subId,
                sender.getMessageWaitingIndicator());
    }

@@ -148,7 +149,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
        Call foregroundCall = sender.getForegroundCall();
        Call backgroundCall = sender.getBackgroundCall();
        if (ringingCall != null && foregroundCall != null && backgroundCall != null) {
            mTelephonyRegistryMgr.notifyPreciseCallState(sender.getSubId(), sender.getPhoneId(),
            mTelephonyRegistryMgr.notifyPreciseCallState(sender.getPhoneId(), sender.getSubId(),
                    convertPreciseCallState(ringingCall.getState()),
                    convertPreciseCallState(foregroundCall.getState()),
                    convertPreciseCallState(backgroundCall.getState()));
@@ -172,14 +173,14 @@ public class DefaultPhoneNotifier implements PhoneNotifier {

    @Override
    public void notifyDataActivationStateChanged(Phone sender, int activationState) {
        mTelephonyRegistryMgr.notifyDataActivationStateChanged(sender.getSubId(),
            sender.getPhoneId(), activationState);
        mTelephonyRegistryMgr.notifyDataActivationStateChanged(sender.getPhoneId(),
                sender.getSubId(), activationState);
    }

    @Override
    public void notifyVoiceActivationStateChanged(Phone sender, int activationState) {
        mTelephonyRegistryMgr.notifyVoiceActivationStateChanged(sender.getSubId(),
            sender.getPhoneId(),  activationState);
        mTelephonyRegistryMgr.notifyVoiceActivationStateChanged(sender.getPhoneId(),
                sender.getSubId(), activationState);
    }

    @Override
@@ -201,13 +202,13 @@ public class DefaultPhoneNotifier implements PhoneNotifier {

    @Override
    public void notifyRadioPowerStateChanged(Phone sender, @RadioPowerState int state) {
        mTelephonyRegistryMgr.notifyRadioPowerStateChanged(sender.getSubId(), sender.getPhoneId(),
        mTelephonyRegistryMgr.notifyRadioPowerStateChanged(sender.getPhoneId(), sender.getSubId(),
                state);
    }

    @Override
    public void notifyEmergencyNumberList(Phone sender) {
        mTelephonyRegistryMgr.notifyEmergencyNumberList(sender.getSubId(), sender.getPhoneId());
        mTelephonyRegistryMgr.notifyEmergencyNumberList(sender.getPhoneId(), sender.getSubId());
    }

    @Override
@@ -219,7 +220,7 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
    @Override
    public void notifyCallQualityChanged(Phone sender, CallQuality callQuality,
            int callNetworkType) {
        mTelephonyRegistryMgr.notifyCallQualityChanged(sender.getSubId(), sender.getPhoneId(),
        mTelephonyRegistryMgr.notifyCallQualityChanged(sender.getPhoneId(), sender.getSubId(),
                callQuality, callNetworkType);
    }

@@ -243,6 +244,12 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
        mTelephonyRegistryMgr.notifyPhysicalChannelConfigForSubscriber(subId, configs);
    }

    @Override
    public void notifyDataEnabled(Phone sender, boolean enabled, @DataEnabledReason int reason) {
        mTelephonyRegistryMgr.notifyDataEnabled(sender.getPhoneId(), sender.getSubId(),
                enabled, reason);
    }

    /**
     * Convert the {@link DataActivityState} enum into the TelephonyManager.DATA_* constants for the
     * public API.
+6 −0
Original line number Diff line number Diff line
@@ -2716,6 +2716,12 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        mNotifier.notifyOutgoingEmergencySms(this, emergencyNumber);
    }

    /** Notify the data enabled changes. */
    public void notifyDataEnabled(boolean enabled,
            @TelephonyManager.DataEnabledReason int reason) {
        mNotifier.notifyDataEnabled(this, enabled, reason);
    }

    /**
     * @return true if a mobile originating emergency call is active
     */
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.telephony.PhysicalChannelConfig;
import android.telephony.PreciseDataConnectionState;
import android.telephony.ServiceState;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager.DataEnabledReason;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;

@@ -120,4 +121,7 @@ public interface PhoneNotifier {

    /** Notify of change to PhysicalChannelConfig. */
    void notifyPhysicalChannelConfig(Phone sender, List<PhysicalChannelConfig> configs);

    /** Notify DataEnabled has changed. */
    void notifyDataEnabled(Phone sender, boolean enabled, @DataEnabledReason int reason);
}
+1 −0
Original line number Diff line number Diff line
@@ -494,6 +494,7 @@ public class DataEnabledSettings {

    private void notifyDataEnabledChanged(boolean enabled, int reason) {
        mOverallDataEnabledChangedRegistrants.notifyResult(new Pair<>(enabled, reason));
        mPhone.notifyDataEnabled(enabled, reason);
    }

    public void registerForDataEnabledChanged(Handler h, int what, Object obj) {
+5 −5
Original line number Diff line number Diff line
@@ -112,7 +112,7 @@ public class DefaultPhoneNotifierTest extends TelephonyTest {
        doReturn(1).when(mPhone).getSubId();
        doReturn(2).when(mPhone).getPhoneId();
        mDefaultPhoneNotifierUT.notifySignalStrength(mPhone);
        verify(mTelephonyRegistryManager).notifySignalStrengthChanged(eq(1), eq(2),
        verify(mTelephonyRegistryManager).notifySignalStrengthChanged(eq(2), eq(1),
                signalStrengthArgumentCaptor.capture());
        assertEquals(99, signalStrengthArgumentCaptor.getValue().getGsmSignalStrength());
    }
@@ -135,19 +135,19 @@ public class DefaultPhoneNotifierTest extends TelephonyTest {
    public void testNotifyMessageWaiting() throws Exception {
        doReturn(1).when(mPhone).getPhoneId();
        mDefaultPhoneNotifierUT.notifyMessageWaitingChanged(mPhone);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(0, 1, false);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(1, 0, false);

        doReturn(2).when(mPhone).getPhoneId();
        mDefaultPhoneNotifierUT.notifyMessageWaitingChanged(mPhone);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(0, 2, false);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(2, 0, false);

        doReturn(1).when(mPhone).getSubId();
        mDefaultPhoneNotifierUT.notifyMessageWaitingChanged(mPhone);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(1, 2, false);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(2, 1, false);

        doReturn(true).when(mPhone).getMessageWaitingIndicator();
        mDefaultPhoneNotifierUT.notifyMessageWaitingChanged(mPhone);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(1, 2, true);
        verify(mTelephonyRegistryManager).notifyMessageWaitingChanged(2, 1, true);
    }

    @Test @SmallTest