diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-12-22 00:19:00 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-12-22 00:19:00 +0000 |
commit | 88cdba70eeddac06f95c8252db7950c6d66ed34c (patch) | |
tree | 52abe95858bfaf5e22d2f3b8afcca7e07d46e180 | |
parent | beea1c50ede89e03e393bebd263beb63315b2584 (diff) | |
parent | 1a06b993f39a9e888a26bc85c7ea5dc4489a7eb0 (diff) | |
download | telephony-android10-qpr2-s2-release.tar.gz |
Snap for 6091872 from 1a06b993f39a9e888a26bc85c7ea5dc4489a7eb0 to qt-qpr2-releaseandroid-10.0.0_r36android-10.0.0_r35android-10.0.0_r34android-10.0.0_r33android-10.0.0_r32android-10.0.0_r31android-10.0.0_r30android10-qpr2-s4-releaseandroid10-qpr2-s3-releaseandroid10-qpr2-s2-releaseandroid10-qpr2-s1-releaseandroid10-qpr2-release
Change-Id: I9580d4cc9ff2885e429da3a0d2b2e3c9202ceb3c
5 files changed, 31 insertions, 0 deletions
diff --git a/proto/src/telephony.proto b/proto/src/telephony.proto index cf0f9ab6a9..e4ce7210d9 100644 --- a/proto/src/telephony.proto +++ b/proto/src/telephony.proto @@ -786,6 +786,9 @@ message TelephonyEvent { // Emergency Number update event (Device HAL >= 1.4). EMERGENCY_NUMBER_REPORT = 21; + + // Signal strength + SIGNAL_STRENGTH = 23; } enum ApnType { @@ -1760,6 +1763,9 @@ message TelephonyEvent { // Updated Emergency Call info. optional EmergencyNumberInfo updated_emergency_number = 25; + + // Signal strength + optional int32 signal_strength = 27; } message ActiveSubscriptionInfo { diff --git a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java index 43476871ff..31c48465b2 100644 --- a/src/java/com/android/internal/telephony/dataconnection/DcTracker.java +++ b/src/java/com/android/internal/telephony/dataconnection/DcTracker.java @@ -4507,6 +4507,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); diff --git a/src/java/com/android/internal/telephony/metrics/TelephonyEventBuilder.java b/src/java/com/android/internal/telephony/metrics/TelephonyEventBuilder.java index 73439c34e0..22fc56278d 100644 --- a/src/java/com/android/internal/telephony/metrics/TelephonyEventBuilder.java +++ b/src/java/com/android/internal/telephony/metrics/TelephonyEventBuilder.java @@ -93,6 +93,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; diff --git a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java index ec1aa9c280..044fb08bc4 100644 --- a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java +++ b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java @@ -1165,6 +1165,17 @@ public class TelephonyMetrics { } /** + * 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 * * @param phoneId Phone id diff --git a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java index 101c7190fd..a6eacc96e2 100644 --- a/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java +++ b/tests/telephonytests/src/com/android/internal/telephony/dataconnection/DcTrackerTest.java @@ -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; @@ -1620,6 +1621,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}); @@ -1662,6 +1664,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}); @@ -1702,6 +1705,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}); @@ -1739,6 +1743,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}); |