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

Commit 2b4f52ed authored by Jayachandran Chinnakkannu's avatar Jayachandran Chinnakkannu Committed by android-build-merger
Browse files

Merge "Add Signal Strength to TelephonyMetrics when Data Stall"

am: 4b89ebd5

Change-Id: Ib07165ed34c69aef141d756205d5fb753793034e
parents f3aa980e 4b89ebd5
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -798,6 +798,9 @@ message TelephonyEvent {

    // Network capabilities change event.
    NETWORK_CAPABILITIES_CHANGED = 22;

    // Signal strength
    SIGNAL_STRENGTH = 23;
  }

  enum ApnType {
@@ -1780,6 +1783,9 @@ message TelephonyEvent {

  // NetworkCapabilities changed info.
  optional NetworkCapabilitiesInfo network_capabilities = 26;

  // Signal strength
  optional int32 signal_strength = 27;
}

message ActiveSubscriptionInfo {
+3 −0
Original line number Diff line number Diff line
@@ -4433,6 +4433,9 @@ public class DcTracker extends Handler {
            if (getOverallState() == DctConstants.State.CONNECTED) {
                // Go through a series of recovery steps, each action transitions to the next action
                @RecoveryAction final int recoveryAction = getRecoveryAction();
                final int signalStrength = mPhone.getSignalStrength().getLevel();
                TelephonyMetrics.getInstance().writeSignalStrengthEvent(
                        mPhone.getPhoneId(), signalStrength);
                TelephonyMetrics.getInstance().writeDataStallEvent(
                        mPhone.getPhoneId(), recoveryAction);
                broadcastDataStallDetected(recoveryAction);
+6 −0
Original line number Diff line number Diff line
@@ -94,6 +94,12 @@ public class TelephonyEventBuilder {
        return this;
    }

    public TelephonyEventBuilder setSignalStrength(int signalstrength) {
        mEvent.type = TelephonyEvent.Type.SIGNAL_STRENGTH;
        mEvent.signalStrength = signalstrength;
        return this;
    }

    public TelephonyEventBuilder setSetupDataCall(RilSetupDataCall request) {
        mEvent.type = TelephonyEvent.Type.DATA_CALL_SETUP;
        mEvent.setupDataCall = request;
+11 −0
Original line number Diff line number Diff line
@@ -1150,6 +1150,17 @@ public class TelephonyMetrics {
                .setDataStallRecoveryAction(recoveryAction).build());
    }

    /**
     * Write SignalStrength event
     *
     * @param phoneId Phone id
     * @param signalStrength Signal strength at the time of data stall recovery
     */
    public void writeSignalStrengthEvent(int phoneId, int signalStrength) {
        addTelephonyEvent(new TelephonyEventBuilder(phoneId)
                .setSignalStrength(signalStrength).build());
    }

    /**
     * Write IMS feature settings changed event
     *
+5 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.CarrierConfigManager;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -1629,6 +1630,7 @@ public class DcTrackerTest extends TelephonyTest {
        ContentResolver resolver = mContext.getContentResolver();
        Settings.Global.putInt(resolver, Settings.Global.DATA_STALL_RECOVERY_ON_BAD_NETWORK, 1);
        Settings.System.putInt(resolver, "radio.data.stall.recovery.action", 0);
        doReturn(new SignalStrength()).when(mPhone).getSignalStrength();

        mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
                new String[]{PhoneConstants.APN_TYPE_DEFAULT, PhoneConstants.APN_TYPE_MMS});
@@ -1672,6 +1674,7 @@ public class DcTrackerTest extends TelephonyTest {
        Settings.Global.putLong(resolver,
                Settings.Global.MIN_DURATION_BETWEEN_RECOVERY_STEPS_IN_MS, 100);
        Settings.System.putInt(resolver, "radio.data.stall.recovery.action", 1);
        doReturn(new SignalStrength()).when(mPhone).getSignalStrength();

        mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
                new String[]{PhoneConstants.APN_TYPE_DEFAULT, PhoneConstants.APN_TYPE_MMS});
@@ -1713,6 +1716,7 @@ public class DcTrackerTest extends TelephonyTest {
        Settings.Global.putLong(resolver,
                Settings.Global.MIN_DURATION_BETWEEN_RECOVERY_STEPS_IN_MS, 100);
        Settings.System.putInt(resolver, "radio.data.stall.recovery.action", 2);
        doReturn(new SignalStrength()).when(mPhone).getSignalStrength();

        mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
                new String[]{PhoneConstants.APN_TYPE_DEFAULT, PhoneConstants.APN_TYPE_MMS});
@@ -1750,6 +1754,7 @@ public class DcTrackerTest extends TelephonyTest {
        Settings.Global.putLong(resolver,
                Settings.Global.MIN_DURATION_BETWEEN_RECOVERY_STEPS_IN_MS, 100);
        Settings.System.putInt(resolver, "radio.data.stall.recovery.action", 3);
        doReturn(new SignalStrength()).when(mPhone).getSignalStrength();

        mBundle.putStringArray(CarrierConfigManager.KEY_CARRIER_METERED_APN_TYPES_STRINGS,
                new String[]{PhoneConstants.APN_TYPE_DEFAULT, PhoneConstants.APN_TYPE_MMS});