diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2019-10-25 01:40:08 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-10-25 01:40:08 +0000 |
commit | 131650103310b13d40db90bd9f310daa65263ebf (patch) | |
tree | d5ac63985525140467b2995aba5566255dbd5f11 | |
parent | 75848338d3da1cc7e77a1d144f4568b871785df4 (diff) | |
parent | 2109a63f2d4d87a968077a5bcf650bdf05d2041e (diff) | |
download | telephony-android10-qpr1-mainline-release.tar.gz |
Snap for 5964166 from 2109a63f2d4d87a968077a5bcf650bdf05d2041e to qt-qpr1-aml-releaseandroid-mainline-10.0.0_r4android10-qpr1-mainline-release
Change-Id: I44e7f5b0249dba32c56407423d3835fa710cf948
5 files changed, 24 insertions, 66 deletions
diff --git a/proto/src/telephony.proto b/proto/src/telephony.proto index 912ce5f55f..ec2acf44ea 100644 --- a/proto/src/telephony.proto +++ b/proto/src/telephony.proto @@ -262,44 +262,6 @@ message TelephonyServiceState { ROAMING_TYPE_INTERNATIONAL = 3; } - enum FrequencyRange { - // Unknown. The default value. - FREQUENCY_RANGE_UNKNOWN = -1; - - // Frequency range is below 1GHz. - FREQUENCY_RANGE_LOW = 1; - - // Frequency range is between 1GHz and 3GHz. - FREQUENCY_RANGE_MID = 2; - - // Frequency range is between 3GHz and 6GHz. - FREQUENCY_RANGE_HIGH = 3; - - // Frequency range is above 6GHz (millimeter wave frequency). - FREQUENCY_RANGE_MMWAVE = 4; - } - - enum NrState { - // The device isn't camped on an LTE cell - // or the LTE cell doesn't support EN-DC. - NR_STATE_NONE = -1; - - // The device is camped on an LTE cell that supports EN-DC - // but either DCNR is restricted - // or NR is not supported by the selected PLMN. - NR_STATE_RESTRICTED = 1; - - // The device is camped on an LTE cell that supports EN-DC - // and both DCNR is not restricted and NR is supported - // by the selected PLMN. - NR_STATE_NOT_RESTRICTED = 2; - - // The device is camped on an LTE cell that supports EN-DC - // and connected to at least one 5G cell - // as a secondary serving cell. - NR_STATE_CONNECTED = 3; - } - // Current registered operator optional TelephonyOperator voice_operator = 1; @@ -320,12 +282,6 @@ message TelephonyServiceState { // Current Channel Number optional int32 channel_number = 7; - - // Current NR frequency range - optional FrequencyRange nr_frequency_range = 8; - - // Current NR state - optional NrState nr_state = 9; } // Radio access families diff --git a/src/java/com/android/internal/telephony/CellBroadcastHandler.java b/src/java/com/android/internal/telephony/CellBroadcastHandler.java index 64f646d4c8..d89f45c4a3 100644 --- a/src/java/com/android/internal/telephony/CellBroadcastHandler.java +++ b/src/java/com/android/internal/telephony/CellBroadcastHandler.java @@ -181,6 +181,8 @@ public class CellBroadcastHandler extends WakeLockStateMachine { logd("Device location is outside the broadcast area " + CbGeoUtils.encodeGeometriesToString(broadcastArea)); } + + sendMessage(EVENT_BROADCAST_NOT_REQUIRED); } /** diff --git a/src/java/com/android/internal/telephony/ServiceStateTracker.java b/src/java/com/android/internal/telephony/ServiceStateTracker.java index 11d0815e1a..9353ea1cef 100755 --- a/src/java/com/android/internal/telephony/ServiceStateTracker.java +++ b/src/java/com/android/internal/telephony/ServiceStateTracker.java @@ -1567,8 +1567,6 @@ public class ServiceStateTracker extends Handler { if (hasChanged || RatRatcheter.updateBandwidths(getBandwidthsFromConfigs(list), mSS)) { mPhone.notifyServiceStateChanged(mSS); - TelephonyMetrics.getInstance().writeServiceStateChanged( - mPhone.getPhoneId(), mSS); } } break; @@ -2138,7 +2136,6 @@ public class ServiceStateTracker extends Handler { int serviceState = regCodeToServiceState(registrationState); int newDataRat = ServiceState.networkTypeToRilRadioTechnology( networkRegState.getAccessNetworkTechnology()); - boolean nrHasChanged = false; if (DBG) { log("handlePollStateResultMessage: PS cellular. " + networkRegState); @@ -2149,17 +2146,11 @@ public class ServiceStateTracker extends Handler { // (2 or more cells) to a new cell if they camp for emergency service only. if (serviceState == ServiceState.STATE_OUT_OF_SERVICE) { mLastPhysicalChannelConfigList = null; - nrHasChanged |= updateNrFrequencyRangeFromPhysicalChannelConfigs(null, mNewSS); + updateNrFrequencyRangeFromPhysicalChannelConfigs(null, mNewSS); } - nrHasChanged |= updateNrStateFromPhysicalChannelConfigs( - mLastPhysicalChannelConfigList, mNewSS); + updateNrStateFromPhysicalChannelConfigs(mLastPhysicalChannelConfigList, mNewSS); setPhyCellInfoFromCellIdentity(mNewSS, networkRegState.getCellIdentity()); - if (nrHasChanged) { - TelephonyMetrics.getInstance().writeServiceStateChanged( - mPhone.getPhoneId(), mSS); - } - if (mPhone.isPhoneTypeGsm()) { mNewReasonDataDenied = networkRegState.getRejectCause(); @@ -3402,9 +3393,7 @@ public class ServiceStateTracker extends Handler { mPhone.getContext().getContentResolver() .insert(getUriForSubscriptionId(mPhone.getSubId()), getContentValuesForServiceState(mSS)); - } - if (hasChanged || hasNrStateChanged) { TelephonyMetrics.getInstance().writeServiceStateChanged(mPhone.getPhoneId(), mSS); } diff --git a/src/java/com/android/internal/telephony/WakeLockStateMachine.java b/src/java/com/android/internal/telephony/WakeLockStateMachine.java index 5d92ca5adb..1bc6298193 100644 --- a/src/java/com/android/internal/telephony/WakeLockStateMachine.java +++ b/src/java/com/android/internal/telephony/WakeLockStateMachine.java @@ -51,6 +51,9 @@ public abstract class WakeLockStateMachine extends StateMachine { /** Release wakelock after a short timeout when returning to idle state. */ static final int EVENT_RELEASE_WAKE_LOCK = 3; + /** Broadcast not required due to geo-fencing check */ + static final int EVENT_BROADCAST_NOT_REQUIRED = 4; + @UnsupportedAppUsage protected Phone mPhone; @@ -152,13 +155,14 @@ public abstract class WakeLockStateMachine extends StateMachine { @Override public void exit() { mWakeLock.acquire(); - if (DBG) log("acquired wakelock, leaving Idle state"); + if (DBG) log("Idle: acquired wakelock, leaving Idle state"); } @Override public boolean processMessage(Message msg) { switch (msg.what) { case EVENT_NEW_SMS_MESSAGE: + log("Idle: new cell broadcast message"); // transition to waiting state if we sent a broadcast if (handleSmsMessage(msg)) { transitionTo(mWaitingState); @@ -166,9 +170,14 @@ public abstract class WakeLockStateMachine extends StateMachine { return HANDLED; case EVENT_RELEASE_WAKE_LOCK: + log("Idle: release wakelock"); releaseWakeLock(); return HANDLED; + case EVENT_BROADCAST_NOT_REQUIRED: + log("Idle: broadcast not required"); + return HANDLED; + default: return NOT_HANDLED; } @@ -184,19 +193,27 @@ public abstract class WakeLockStateMachine extends StateMachine { public boolean processMessage(Message msg) { switch (msg.what) { case EVENT_NEW_SMS_MESSAGE: - log("deferring message until return to idle"); + log("Waiting: deferring message until return to idle"); deferMessage(msg); return HANDLED; case EVENT_BROADCAST_COMPLETE: - log("broadcast complete, returning to idle"); + log("Waiting: broadcast complete, returning to idle"); transitionTo(mIdleState); return HANDLED; case EVENT_RELEASE_WAKE_LOCK: + log("Waiting: release wakelock"); releaseWakeLock(); return HANDLED; + case EVENT_BROADCAST_NOT_REQUIRED: + log("Waiting: broadcast not required"); + if (mReceiverCount.get() == 0) { + transitionTo(mIdleState); + } + return HANDLED; + default: return NOT_HANDLED; } diff --git a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java index 545aec879f..e038a9d04c 100644 --- a/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java +++ b/src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java @@ -433,8 +433,6 @@ public class TelephonyMetrics { + "(" + "Data RAT " + event.serviceState.dataRat + " Voice RAT " + event.serviceState.voiceRat + " Channel Number " + event.serviceState.channelNumber - + " NR Frequency Range " + event.serviceState.nrFrequencyRange - + " NR State " + event.serviceState.nrState + ")"); } else { pw.print(telephonyEventToString(event.type)); @@ -464,8 +462,6 @@ public class TelephonyMetrics { + "(" + "Data RAT " + event.serviceState.dataRat + " Voice RAT " + event.serviceState.voiceRat + " Channel Number " + event.serviceState.channelNumber - + " NR Frequency Range " + event.serviceState.nrFrequencyRange - + " NR State " + event.serviceState.nrState + ")"); } else if (event.type == TelephonyCallSession.Event.Type.RIL_CALL_LIST_CHANGED) { pw.println(callSessionEventToString(event.type)); @@ -915,8 +911,6 @@ public class TelephonyMetrics { ssProto.voiceRat = serviceState.getRilVoiceRadioTechnology(); ssProto.dataRat = serviceState.getRilDataRadioTechnology(); ssProto.channelNumber = serviceState.getChannelNumber(); - ssProto.nrFrequencyRange = serviceState.getNrFrequencyRange(); - ssProto.nrState = serviceState.getNrState(); return ssProto; } |