aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/com/android/internal/telephony/satellite/DatagramReceiver.java')
-rw-r--r--src/java/com/android/internal/telephony/satellite/DatagramReceiver.java244
1 files changed, 156 insertions, 88 deletions
diff --git a/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java b/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
index 06eede122a..3ac1bbd5bd 100644
--- a/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
+++ b/src/java/com/android/internal/telephony/satellite/DatagramReceiver.java
@@ -16,6 +16,8 @@
package com.android.internal.telephony.satellite;
+import static android.telephony.satellite.SatelliteManager.SATELLITE_MODEM_STATE_CONNECTED;
+
import static com.android.internal.telephony.satellite.DatagramController.ROUNDING_UNIT;
import android.annotation.NonNull;
@@ -65,6 +67,7 @@ public class DatagramReceiver extends Handler {
private static final int CMD_POLL_PENDING_SATELLITE_DATAGRAMS = 1;
private static final int EVENT_POLL_PENDING_SATELLITE_DATAGRAMS_DONE = 2;
private static final int EVENT_WAIT_FOR_DEVICE_ALIGNMENT_IN_DEMO_MODE_TIMED_OUT = 3;
+ private static final int EVENT_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMED_OUT = 4;
/** Key used to read/write satellite datagramId in shared preferences. */
private static final String SATELLITE_DATAGRAM_ID_KEY = "satellite_datagram_id_key";
@@ -82,7 +85,10 @@ public class DatagramReceiver extends Handler {
private boolean mIsDemoMode = false;
@GuardedBy("mLock")
private boolean mIsAligned = false;
- private DatagramReceiverHandlerRequest mPollPendingSatelliteDatagramsRequest = null;
+ @Nullable
+ private DatagramReceiverHandlerRequest mDemoPollPendingSatelliteDatagramsRequest = null;
+ @Nullable
+ private DatagramReceiverHandlerRequest mPendingPollSatelliteDatagramsRequest = null;
private final Object mLock = new Object();
/**
@@ -139,12 +145,6 @@ public class DatagramReceiver extends Handler {
} catch (Exception e) {
loge("Cannot get default shared preferences: " + e);
}
-
- if ((mSharedPreferences != null) &&
- (!mSharedPreferences.contains(SATELLITE_DATAGRAM_ID_KEY))) {
- mSharedPreferences.edit().putLong(SATELLITE_DATAGRAM_ID_KEY, mNextDatagramId.get())
- .commit();
- }
}
private static final class DatagramReceiverHandlerRequest {
@@ -335,11 +335,11 @@ public class DatagramReceiver extends Handler {
if (pendingCount <= 0 && satelliteDatagram == null) {
sInstance.mDatagramController.updateReceiveStatus(mSubId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE,
- pendingCount, SatelliteManager.SATELLITE_ERROR_NONE);
+ pendingCount, SatelliteManager.SATELLITE_RESULT_SUCCESS);
} else if (satelliteDatagram != null) {
sInstance.mDatagramController.updateReceiveStatus(mSubId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS,
- pendingCount, SatelliteManager.SATELLITE_ERROR_NONE);
+ pendingCount, SatelliteManager.SATELLITE_RESULT_SUCCESS);
long datagramId = getDatagramId();
sInstance.mPendingAckCountHashMap.put(datagramId, getNumOfListeners());
@@ -356,13 +356,13 @@ public class DatagramReceiver extends Handler {
});
sInstance.mControllerMetricsStats.reportIncomingDatagramCount(
- SatelliteManager.SATELLITE_ERROR_NONE);
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
}
if (pendingCount <= 0) {
sInstance.mDatagramController.updateReceiveStatus(mSubId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
- pendingCount, SatelliteManager.SATELLITE_ERROR_NONE);
+ pendingCount, SatelliteManager.SATELLITE_RESULT_SUCCESS);
} else {
// Poll for pending datagrams
IIntegerConsumer internalCallback = new IIntegerConsumer.Stub() {
@@ -378,7 +378,7 @@ public class DatagramReceiver extends Handler {
// Send the captured data about incoming datagram to metric
sInstance.reportMetrics(
- satelliteDatagram, SatelliteManager.SATELLITE_ERROR_NONE);
+ satelliteDatagram, SatelliteManager.SATELLITE_RESULT_SUCCESS);
break;
}
@@ -392,6 +392,10 @@ public class DatagramReceiver extends Handler {
case EVENT_RECEIVED_ACK: {
DatagramRetryArgument argument = (DatagramRetryArgument) msg.obj;
+ if (!sInstance.mPendingAckCountHashMap.containsKey(argument.datagramId)) {
+ logd("The datagram " + argument.datagramId + " should have been deleted.");
+ return;
+ }
int pendingAckCount = sInstance.mPendingAckCountHashMap
.get(argument.datagramId);
pendingAckCount -= 1;
@@ -424,35 +428,7 @@ public class DatagramReceiver extends Handler {
request = (DatagramReceiverHandlerRequest) msg.obj;
onCompleted =
obtainMessage(EVENT_POLL_PENDING_SATELLITE_DATAGRAMS_DONE, request);
-
- if (SatelliteModemInterface.getInstance().isSatelliteServiceSupported()) {
- SatelliteModemInterface.getInstance()
- .pollPendingSatelliteDatagrams(onCompleted);
- break;
- }
-
- Phone phone = request.phone;
- if (phone != null) {
- phone.pollPendingSatelliteDatagrams(onCompleted);
- } else {
- loge("pollPendingSatelliteDatagrams: No phone object");
- mDatagramController.updateReceiveStatus(request.subId,
- SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
- mDatagramController.getReceivePendingCount(),
- SatelliteManager.SATELLITE_INVALID_TELEPHONY_STATE);
-
- mDatagramController.updateReceiveStatus(request.subId,
- SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
- mDatagramController.getReceivePendingCount(),
- SatelliteManager.SATELLITE_ERROR_NONE);
-
- reportMetrics(null, SatelliteManager.SATELLITE_INVALID_TELEPHONY_STATE);
- mControllerMetricsStats.reportIncomingDatagramCount(
- SatelliteManager.SATELLITE_INVALID_TELEPHONY_STATE);
- // Send response for current request
- ((Consumer<Integer>) request.argument)
- .accept(SatelliteManager.SATELLITE_INVALID_TELEPHONY_STATE);
- }
+ SatelliteModemInterface.getInstance().pollPendingSatelliteDatagrams(onCompleted);
break;
}
@@ -462,7 +438,7 @@ public class DatagramReceiver extends Handler {
int error = SatelliteServiceUtils.getSatelliteError(ar,
"pollPendingSatelliteDatagrams");
- if (mIsDemoMode && error == SatelliteManager.SATELLITE_ERROR_NONE) {
+ if (mIsDemoMode && error == SatelliteManager.SATELLITE_RESULT_SUCCESS) {
SatelliteDatagram datagram = mDatagramController.getDemoModeDatagram();
final int validSubId = SatelliteServiceUtils.getValidSatelliteSubId(
request.subId, mContext);
@@ -476,12 +452,12 @@ public class DatagramReceiver extends Handler {
ar);
listenerHandler.sendMessage(message);
} else {
- error = SatelliteManager.SATELLITE_INVALID_TELEPHONY_STATE;
+ error = SatelliteManager.SATELLITE_RESULT_INVALID_TELEPHONY_STATE;
}
}
logd("EVENT_POLL_PENDING_SATELLITE_DATAGRAMS_DONE error: " + error);
- if (error != SatelliteManager.SATELLITE_ERROR_NONE) {
+ if (error != SatelliteManager.SATELLITE_RESULT_SUCCESS) {
mDatagramController.updateReceiveStatus(request.subId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
mDatagramController.getReceivePendingCount(), error);
@@ -489,7 +465,7 @@ public class DatagramReceiver extends Handler {
mDatagramController.updateReceiveStatus(request.subId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
mDatagramController.getReceivePendingCount(),
- SatelliteManager.SATELLITE_ERROR_NONE);
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
reportMetrics(null, error);
mControllerMetricsStats.reportIncomingDatagramCount(error);
@@ -503,6 +479,14 @@ public class DatagramReceiver extends Handler {
handleEventSatelliteAlignedTimeout((DatagramReceiverHandlerRequest) msg.obj);
break;
}
+
+ case EVENT_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMED_OUT:
+ handleEventDatagramWaitForConnectedStateTimedOut();
+ break;
+
+ default:
+ logw("DatagramDispatcherHandler: unexpected message code: " + msg.what);
+ break;
}
}
@@ -512,12 +496,12 @@ public class DatagramReceiver extends Handler {
* @param subId The subId of the subscription to register for incoming satellite datagrams.
* @param callback The callback to handle incoming datagrams over satellite.
*
- * @return The {@link SatelliteManager.SatelliteError} result of the operation.
+ * @return The {@link SatelliteManager.SatelliteResult} result of the operation.
*/
- @SatelliteManager.SatelliteError public int registerForSatelliteDatagram(int subId,
+ @SatelliteManager.SatelliteResult public int registerForSatelliteDatagram(int subId,
@NonNull ISatelliteDatagramCallback callback) {
- if (!SatelliteController.getInstance().isSatelliteSupported()) {
- return SatelliteManager.SATELLITE_NOT_SUPPORTED;
+ if (!SatelliteController.getInstance().isSatelliteSupportedViaOem()) {
+ return SatelliteManager.SATELLITE_RESULT_NOT_SUPPORTED;
}
final int validSubId = SatelliteServiceUtils.getValidSatelliteSubId(subId, mContext);
@@ -526,20 +510,14 @@ public class DatagramReceiver extends Handler {
if (satelliteDatagramListenerHandler == null) {
satelliteDatagramListenerHandler = new SatelliteDatagramListenerHandler(
mLooper, validSubId);
- if (SatelliteModemInterface.getInstance().isSatelliteServiceSupported()) {
- SatelliteModemInterface.getInstance().registerForSatelliteDatagramsReceived(
- satelliteDatagramListenerHandler,
- SatelliteDatagramListenerHandler.EVENT_SATELLITE_DATAGRAM_RECEIVED, null);
- } else {
- Phone phone = SatelliteServiceUtils.getPhone();
- phone.registerForSatelliteDatagramsReceived(satelliteDatagramListenerHandler,
- SatelliteDatagramListenerHandler.EVENT_SATELLITE_DATAGRAM_RECEIVED, null);
- }
+ SatelliteModemInterface.getInstance().registerForSatelliteDatagramsReceived(
+ satelliteDatagramListenerHandler,
+ SatelliteDatagramListenerHandler.EVENT_SATELLITE_DATAGRAM_RECEIVED, null);
}
satelliteDatagramListenerHandler.addListener(callback);
mSatelliteDatagramListenerHandlers.put(validSubId, satelliteDatagramListenerHandler);
- return SatelliteManager.SATELLITE_ERROR_NONE;
+ return SatelliteManager.SATELLITE_RESULT_SUCCESS;
}
/**
@@ -560,15 +538,8 @@ public class DatagramReceiver extends Handler {
if (!handler.hasListeners()) {
mSatelliteDatagramListenerHandlers.remove(validSubId);
- if (SatelliteModemInterface.getInstance().isSatelliteServiceSupported()) {
- SatelliteModemInterface.getInstance()
- .unregisterForSatelliteDatagramsReceived(handler);
- } else {
- Phone phone = SatelliteServiceUtils.getPhone();
- if (phone != null) {
- phone.unregisterForSatelliteDatagramsReceived(handler);
- }
- }
+ SatelliteModemInterface.getInstance().unregisterForSatelliteDatagramsReceived(
+ handler);
}
}
}
@@ -582,32 +553,64 @@ public class DatagramReceiver extends Handler {
* #onSatelliteDatagramReceived(long, SatelliteDatagram, int, Consumer)}
*
* @param subId The subId of the subscription used for receiving datagrams.
- * @param callback The callback to get {@link SatelliteManager.SatelliteError} of the request.
+ * @param callback The callback to get {@link SatelliteManager.SatelliteResult} of the request.
*/
public void pollPendingSatelliteDatagrams(int subId, @NonNull Consumer<Integer> callback) {
if (!mDatagramController.isPollingInIdleState()) {
// Poll request should be sent to satellite modem only when it is free.
logd("pollPendingSatelliteDatagrams: satellite modem is busy receiving datagrams.");
- callback.accept(SatelliteManager.SATELLITE_MODEM_BUSY);
+ callback.accept(SatelliteManager.SATELLITE_RESULT_MODEM_BUSY);
return;
}
-
pollPendingSatelliteDatagramsInternal(subId, callback);
}
+ private void handleSatelliteConnectedEvent() {
+ synchronized (mLock) {
+ if (isDatagramWaitForConnectedStateTimerStarted()) {
+ stopDatagramWaitForConnectedStateTimer();
+ if (mPendingPollSatelliteDatagramsRequest == null) {
+ loge("handleSatelliteConnectedEvent: mPendingPollSatelliteDatagramsRequest is"
+ + " null");
+ return;
+ }
+
+ Consumer<Integer> callback =
+ (Consumer<Integer>) mPendingPollSatelliteDatagramsRequest.argument;
+ pollPendingSatelliteDatagramsInternal(
+ mPendingPollSatelliteDatagramsRequest.subId, callback);
+ mPendingPollSatelliteDatagramsRequest = null;
+ }
+ }
+ }
+
private void pollPendingSatelliteDatagramsInternal(int subId,
@NonNull Consumer<Integer> callback) {
if (!mDatagramController.isSendingInIdleState()) {
// Poll request should be sent to satellite modem only when it is free.
logd("pollPendingSatelliteDatagrams: satellite modem is busy sending datagrams.");
- callback.accept(SatelliteManager.SATELLITE_MODEM_BUSY);
+ callback.accept(SatelliteManager.SATELLITE_RESULT_MODEM_BUSY);
+ return;
+ }
+
+ if (mDatagramController.needsWaitingForSatelliteConnected()) {
+ logd("pollPendingSatelliteDatagrams: wait for satellite connected");
+ synchronized (mLock) {
+ mPendingPollSatelliteDatagramsRequest = new DatagramReceiverHandlerRequest(
+ callback, SatelliteServiceUtils.getPhone(), subId);
+ mDatagramController.updateReceiveStatus(subId,
+ SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT,
+ mDatagramController.getReceivePendingCount(),
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
+ startDatagramWaitForConnectedStateTimer();
+ }
return;
}
mDatagramController.updateReceiveStatus(subId,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING,
mDatagramController.getReceivePendingCount(),
- SatelliteManager.SATELLITE_ERROR_NONE);
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
mDatagramTransferStartTime = System.currentTimeMillis();
Phone phone = SatelliteServiceUtils.getPhone();
@@ -641,6 +644,8 @@ public class DatagramReceiver extends Handler {
|| state == SatelliteManager.SATELLITE_MODEM_STATE_UNAVAILABLE) {
logd("onSatelliteModemStateChanged: cleaning up resources");
cleanUpResources();
+ } else if (state == SATELLITE_MODEM_STATE_CONNECTED) {
+ handleSatelliteConnectedEvent();
}
}
}
@@ -649,31 +654,40 @@ public class DatagramReceiver extends Handler {
private void cleanupDemoModeResources() {
if (isSatelliteAlignedTimerStarted()) {
stopSatelliteAlignedTimer();
- if (mPollPendingSatelliteDatagramsRequest == null) {
+ if (mDemoPollPendingSatelliteDatagramsRequest == null) {
loge("Satellite aligned timer was started "
- + "but mPollPendingSatelliteDatagramsRequest is null");
+ + "but mDemoPollPendingSatelliteDatagramsRequest is null");
} else {
Consumer<Integer> callback =
- (Consumer<Integer>) mPollPendingSatelliteDatagramsRequest.argument;
- callback.accept(SatelliteManager.SATELLITE_REQUEST_ABORTED);
+ (Consumer<Integer>) mDemoPollPendingSatelliteDatagramsRequest.argument;
+ callback.accept(SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);
}
}
mIsDemoMode = false;
- mPollPendingSatelliteDatagramsRequest = null;
+ mDemoPollPendingSatelliteDatagramsRequest = null;
mIsAligned = false;
}
@GuardedBy("mLock")
private void cleanUpResources() {
+ synchronized (mLock) {
+ if (mPendingPollSatelliteDatagramsRequest != null) {
+ Consumer<Integer> callback =
+ (Consumer<Integer>) mPendingPollSatelliteDatagramsRequest.argument;
+ callback.accept(SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);
+ mPendingPollSatelliteDatagramsRequest = null;
+ }
+ stopDatagramWaitForConnectedStateTimer();
+ }
if (mDatagramController.isReceivingDatagrams()) {
mDatagramController.updateReceiveStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
mDatagramController.getReceivePendingCount(),
- SatelliteManager.SATELLITE_REQUEST_ABORTED);
+ SatelliteManager.SATELLITE_RESULT_REQUEST_ABORTED);
}
mDatagramController.updateReceiveStatus(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE, 0,
- SatelliteManager.SATELLITE_ERROR_NONE);
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
cleanupDemoModeResources();
}
@@ -695,7 +709,7 @@ public class DatagramReceiver extends Handler {
/** Report incoming datagram related metrics */
private void reportMetrics(@Nullable SatelliteDatagram satelliteDatagram,
- @NonNull @SatelliteManager.SatelliteError int resultCode) {
+ @NonNull @SatelliteManager.SatelliteResult int resultCode) {
int datagramSizeRoundedBytes = -1;
int datagramTransferTime = 0;
@@ -728,7 +742,7 @@ public class DatagramReceiver extends Handler {
}
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
- protected void onDeviceAlignedWithSatellite(boolean isAligned) {
+ protected void setDeviceAlignedWithSatellite(boolean isAligned) {
if (mIsDemoMode) {
synchronized (mLock) {
mIsAligned = isAligned;
@@ -742,7 +756,7 @@ public class DatagramReceiver extends Handler {
logd("Satellite aligned timer was already started");
return;
}
- mPollPendingSatelliteDatagramsRequest = request;
+ mDemoPollPendingSatelliteDatagramsRequest = request;
sendMessageDelayed(
obtainMessage(EVENT_WAIT_FOR_DEVICE_ALIGNMENT_IN_DEMO_MODE_TIMED_OUT, request),
getSatelliteAlignedTimeoutDuration());
@@ -757,13 +771,14 @@ public class DatagramReceiver extends Handler {
if (isSatelliteAlignedTimerStarted()) {
stopSatelliteAlignedTimer();
- if (mPollPendingSatelliteDatagramsRequest == null) {
- loge("handleSatelliteAlignedTimer: mPollPendingSatelliteDatagramsRequest is null");
+ if (mDemoPollPendingSatelliteDatagramsRequest == null) {
+ loge("handleSatelliteAlignedTimer: mDemoPollPendingSatelliteDatagramsRequest "
+ + "is null");
} else {
Message message = obtainMessage(
EVENT_POLL_PENDING_SATELLITE_DATAGRAMS_DONE,
- mPollPendingSatelliteDatagramsRequest);
- mPollPendingSatelliteDatagramsRequest = null;
+ mDemoPollPendingSatelliteDatagramsRequest);
+ mDemoPollPendingSatelliteDatagramsRequest = null;
AsyncResult.forMessage(message, null, null);
message.sendToTarget();
}
@@ -773,7 +788,7 @@ public class DatagramReceiver extends Handler {
private void handleEventSatelliteAlignedTimeout(DatagramReceiverHandlerRequest request) {
SatelliteManager.SatelliteException exception =
new SatelliteManager.SatelliteException(
- SatelliteManager.SATELLITE_NOT_REACHABLE);
+ SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE);
Message message = obtainMessage(EVENT_POLL_PENDING_SATELLITE_DATAGRAMS_DONE, request);
AsyncResult.forMessage(message, null, exception);
message.sendToTarget();
@@ -787,6 +802,55 @@ public class DatagramReceiver extends Handler {
removeMessages(EVENT_WAIT_FOR_DEVICE_ALIGNMENT_IN_DEMO_MODE_TIMED_OUT);
}
+ private void startDatagramWaitForConnectedStateTimer() {
+ if (isDatagramWaitForConnectedStateTimerStarted()) {
+ logd("DatagramWaitForConnectedStateTimer is already started");
+ return;
+ }
+ sendMessageDelayed(obtainMessage(
+ EVENT_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMED_OUT),
+ mDatagramController.getDatagramWaitTimeForConnectedState());
+ }
+
+ private void stopDatagramWaitForConnectedStateTimer() {
+ removeMessages(EVENT_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMED_OUT);
+ }
+
+ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE)
+ public boolean isDatagramWaitForConnectedStateTimerStarted() {
+ return hasMessages(EVENT_DATAGRAM_WAIT_FOR_CONNECTED_STATE_TIMED_OUT);
+ }
+
+ private void handleEventDatagramWaitForConnectedStateTimedOut() {
+ synchronized (mLock) {
+ if (mPendingPollSatelliteDatagramsRequest == null) {
+ logw("handleEventDatagramWaitForConnectedStateTimedOut: "
+ + "mPendingPollSatelliteDatagramsRequest is null");
+ return;
+ }
+
+ logw("Timed out to wait for satellite connected before polling datagrams");
+ mDatagramController.updateReceiveStatus(mPendingPollSatelliteDatagramsRequest.subId,
+ SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED,
+ mDatagramController.getReceivePendingCount(),
+ SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE);
+
+ mDatagramController.updateReceiveStatus(mPendingPollSatelliteDatagramsRequest.subId,
+ SatelliteManager.SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE,
+ mDatagramController.getReceivePendingCount(),
+ SatelliteManager.SATELLITE_RESULT_SUCCESS);
+
+ reportMetrics(null, SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE);
+ mControllerMetricsStats.reportIncomingDatagramCount(
+ SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE);
+
+ Consumer<Integer> callback =
+ (Consumer<Integer>) mPendingPollSatelliteDatagramsRequest.argument;
+ callback.accept(SatelliteManager.SATELLITE_RESULT_NOT_REACHABLE);
+ mPendingPollSatelliteDatagramsRequest = null;
+ }
+ }
+
/**
* Destroys this DatagramDispatcher. Used for tearing down static resources during testing.
*/
@@ -802,4 +866,8 @@ public class DatagramReceiver extends Handler {
private static void loge(@NonNull String log) {
Rlog.e(TAG, log);
}
+
+ private static void logw(@NonNull String log) {
+ Rlog.w(TAG, log);
+ }
}