OSDN Git Service

Restoring Network Available Notification to AGnssRil
authorWyatt Riley <wyattriley@google.com>
Tue, 13 Dec 2016 18:45:29 +0000 (10:45 -0800)
committerWyatt Riley <wyattriley@google.com>
Tue, 13 Dec 2016 18:45:29 +0000 (10:45 -0800)
Adds connectivity notification back for SUPL specific
case, needed esp. for case where WiFi is off and a
general purpose connectivity notification doesn't fire.

Bug: 33350903
Fixes: 33350903
Test: On device GPS-still-works checked, as well as notifications
      going into HAL on airplane mode on/off, and SUPL call flows
      (Further AGnssRil check to be done by partners)

Change-Id: I02af0b839d0bfd21dfefedff743208e02ab9c2dd

services/core/java/com/android/server/location/GnssLocationProvider.java

index 56ba5bb..fb2b961 100644 (file)
@@ -457,6 +457,7 @@ public class GnssLocationProvider implements LocationProviderInterface {
             if (mDownloadXtraDataPending == STATE_PENDING_NETWORK) {
                 xtraDownloadRequest();
             }
+            // Always on, notify HAL so it can get data it needs
             sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network);
         }
     };
@@ -469,6 +470,12 @@ public class GnssLocationProvider implements LocationProviderInterface {
     private final ConnectivityManager.NetworkCallback mSuplConnectivityCallback =
             new ConnectivityManager.NetworkCallback() {
         @Override
+        public void onAvailable(Network network) {
+            // Specific to a change to a SUPL enabled network becoming ready
+            sendMessage(UPDATE_NETWORK_STATE, 0 /*arg*/, network);
+        }
+
+        @Override
         public void onLost(Network network) {
             releaseSuplConnection(GPS_RELEASE_AGPS_DATA_CONN);
         }