aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-10-25 01:40:08 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-10-25 01:40:08 +0000
commit131650103310b13d40db90bd9f310daa65263ebf (patch)
treed5ac63985525140467b2995aba5566255dbd5f11
parent75848338d3da1cc7e77a1d144f4568b871785df4 (diff)
parent2109a63f2d4d87a968077a5bcf650bdf05d2041e (diff)
downloadtelephony-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
-rw-r--r--proto/src/telephony.proto44
-rw-r--r--src/java/com/android/internal/telephony/CellBroadcastHandler.java2
-rwxr-xr-xsrc/java/com/android/internal/telephony/ServiceStateTracker.java15
-rw-r--r--src/java/com/android/internal/telephony/WakeLockStateMachine.java23
-rw-r--r--src/java/com/android/internal/telephony/metrics/TelephonyMetrics.java6
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;
}