Report navigation message depends on gps started

For CTS
android.location.cts.GnssNavigationMessageTest#testGnssNavigationMessageMandatoryFieldRanges
requestLocationUpdates before navigation message test, and remove when teardown.

Test: cts test case pass.
BUG: https://partnerissuetracker.corp.google.com/u/2/issues/118477797

Change-Id: I3b789c2100cdbcfc3c33daa244940750ba2e46ed
diff --git a/tests/tests/location/src/android/location/cts/GnssNavigationMessageTest.java b/tests/tests/location/src/android/location/cts/GnssNavigationMessageTest.java
index af5e943..99c4067 100644
--- a/tests/tests/location/src/android/location/cts/GnssNavigationMessageTest.java
+++ b/tests/tests/location/src/android/location/cts/GnssNavigationMessageTest.java
@@ -42,6 +42,7 @@
     private static final String TAG = "GpsNavMsgTest";
     private static final int EVENTS_COUNT = 5;
     private TestGnssNavigationMessageListener mTestGnssNavigationMessageListener;
+    private TestLocationListener mLocationListener;
 
     @Override
     protected void setUp() throws Exception {
@@ -51,6 +52,10 @@
 
     @Override
     protected void tearDown() throws Exception {
+        // Unregister listeners
+        if (mLocationListener != null) {
+            mTestLocationManager.removeLocationUpdates(mLocationListener);
+        }
         // Unregister GnssNavigationMessageListener
         if (mTestGnssNavigationMessageListener != null) {
             mTestLocationManager
@@ -73,6 +78,9 @@
             return;
         }
 
+        mLocationListener = new TestLocationListener(EVENTS_COUNT);
+        mTestLocationManager.requestLocationUpdates(mLocationListener);
+
         // Register Gps Navigation Message Listener.
         mTestGnssNavigationMessageListener =
                 new TestGnssNavigationMessageListener(TAG, EVENTS_COUNT);