Loading services/core/java/com/android/server/GnssManagerService.java +6 −4 Original line number Original line Diff line number Diff line Loading @@ -67,7 +67,7 @@ import java.util.function.Function; /** Manages Gnss providers and related Gnss functions for LocationManagerService. */ /** Manages Gnss providers and related Gnss functions for LocationManagerService. */ public class GnssManagerService { public class GnssManagerService { private static final String TAG = "LocationManagerService"; private static final String TAG = "GnssManagerService"; private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); // Providers // Providers Loading Loading @@ -124,7 +124,7 @@ public class GnssManagerService { // Can use this constructor to inject GnssLocationProvider for testing // Can use this constructor to inject GnssLocationProvider for testing @VisibleForTesting @VisibleForTesting GnssManagerService(LocationManagerService locationManagerService, public GnssManagerService(LocationManagerService locationManagerService, Context context, Context context, GnssLocationProvider gnssLocationProvider, GnssLocationProvider gnssLocationProvider, LocationUsageLogger locationUsageLogger) { LocationUsageLogger locationUsageLogger) { Loading Loading @@ -719,9 +719,11 @@ public class GnssManagerService { * @param listener called when navigation message is received * @param listener called when navigation message is received */ */ public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) { public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) { synchronized (mGnssNavigationMessageListeners) { removeGnssDataListener( removeGnssDataListener( listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners); listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners); } } } /** /** * Send Ni Response, indicating a location request initiated by a network carrier. * Send Ni Response, indicating a location request initiated by a network carrier. Loading services/core/java/com/android/server/LocationUsageLogger.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ import java.time.Instant; /** /** * Logger for Location API usage logging. * Logger for Location API usage logging. */ */ class LocationUsageLogger { public class LocationUsageLogger { private static final String TAG = "LocationUsageLogger"; private static final String TAG = "LocationUsageLogger"; private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); Loading services/core/java/com/android/server/location/GnssLocationProvider.java +19 −4 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,7 @@ import android.util.StatsLog; import android.util.TimeUtils; import android.util.TimeUtils; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.app.IBatteryStats; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; Loading Loading @@ -304,6 +305,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements private final ExponentialBackOff mPsdsBackOff = new ExponentialBackOff(RETRY_INTERVAL, private final ExponentialBackOff mPsdsBackOff = new ExponentialBackOff(RETRY_INTERVAL, MAX_RETRY_INTERVAL); MAX_RETRY_INTERVAL); private static boolean sIsInitialized = false; private static boolean sStaticTestOverride = false; // True if we are enabled // True if we are enabled @GuardedBy("mLock") @GuardedBy("mLock") private boolean mGpsEnabled; private boolean mGpsEnabled; Loading Loading @@ -576,7 +580,15 @@ public class GnssLocationProvider extends AbstractLocationProvider implements } } } } @VisibleForTesting public static void setIsSupportedForTest(boolean override) { sStaticTestOverride = override; } public static boolean isSupported() { public static boolean isSupported() { if (sStaticTestOverride) { return true; } return native_is_supported(); return native_is_supported(); } } Loading @@ -598,6 +610,13 @@ public class GnssLocationProvider extends AbstractLocationProvider implements Looper looper) { Looper looper) { super(context, locationProviderManager); super(context, locationProviderManager); synchronized (mLock) { if (!sIsInitialized) { class_init_native(); } sIsInitialized = true; } mLooper = looper; mLooper = looper; // Create a wake lock // Create a wake lock Loading Loading @@ -2224,10 +2243,6 @@ public class GnssLocationProvider extends AbstractLocationProvider implements // preallocated to avoid memory allocation in reportNmea() // preallocated to avoid memory allocation in reportNmea() private byte[] mNmeaBuffer = new byte[120]; private byte[] mNmeaBuffer = new byte[120]; static { class_init_native(); } private static native void class_init_native(); private static native void class_init_native(); private static native boolean native_is_supported(); private static native boolean native_is_supported(); Loading services/core/java/com/android/server/location/GnssMeasurementsProvider.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -47,7 +47,7 @@ public abstract class GnssMeasurementsProvider } } @VisibleForTesting @VisibleForTesting GnssMeasurementsProvider( public GnssMeasurementsProvider( Context context, Handler handler, GnssMeasurementProviderNative aNative) { Context context, Handler handler, GnssMeasurementProviderNative aNative) { super(context, handler, TAG); super(context, handler, TAG); mNative = aNative; mNative = aNative; Loading Loading @@ -158,7 +158,7 @@ public abstract class GnssMeasurementsProvider } } @VisibleForTesting @VisibleForTesting static class GnssMeasurementProviderNative { public static class GnssMeasurementProviderNative { public boolean isMeasurementSupported() { public boolean isMeasurementSupported() { return native_is_measurement_supported(); return native_is_measurement_supported(); } } Loading services/core/java/com/android/server/location/GnssNavigationMessageProvider.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ public abstract class GnssNavigationMessageProvider } } @VisibleForTesting @VisibleForTesting GnssNavigationMessageProvider(Context context, Handler handler, public GnssNavigationMessageProvider(Context context, Handler handler, GnssNavigationMessageProviderNative aNative) { GnssNavigationMessageProviderNative aNative) { super(context, handler, TAG); super(context, handler, TAG); mNative = aNative; mNative = aNative; Loading Loading @@ -142,7 +142,7 @@ public abstract class GnssNavigationMessageProvider } } @VisibleForTesting @VisibleForTesting static class GnssNavigationMessageProviderNative { public static class GnssNavigationMessageProviderNative { public boolean isNavigationMessageSupported() { public boolean isNavigationMessageSupported() { return native_is_navigation_message_supported(); return native_is_navigation_message_supported(); } } Loading Loading
services/core/java/com/android/server/GnssManagerService.java +6 −4 Original line number Original line Diff line number Diff line Loading @@ -67,7 +67,7 @@ import java.util.function.Function; /** Manages Gnss providers and related Gnss functions for LocationManagerService. */ /** Manages Gnss providers and related Gnss functions for LocationManagerService. */ public class GnssManagerService { public class GnssManagerService { private static final String TAG = "LocationManagerService"; private static final String TAG = "GnssManagerService"; private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); // Providers // Providers Loading Loading @@ -124,7 +124,7 @@ public class GnssManagerService { // Can use this constructor to inject GnssLocationProvider for testing // Can use this constructor to inject GnssLocationProvider for testing @VisibleForTesting @VisibleForTesting GnssManagerService(LocationManagerService locationManagerService, public GnssManagerService(LocationManagerService locationManagerService, Context context, Context context, GnssLocationProvider gnssLocationProvider, GnssLocationProvider gnssLocationProvider, LocationUsageLogger locationUsageLogger) { LocationUsageLogger locationUsageLogger) { Loading Loading @@ -719,9 +719,11 @@ public class GnssManagerService { * @param listener called when navigation message is received * @param listener called when navigation message is received */ */ public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) { public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) { synchronized (mGnssNavigationMessageListeners) { removeGnssDataListener( removeGnssDataListener( listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners); listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners); } } } /** /** * Send Ni Response, indicating a location request initiated by a network carrier. * Send Ni Response, indicating a location request initiated by a network carrier. Loading
services/core/java/com/android/server/LocationUsageLogger.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -30,7 +30,7 @@ import java.time.Instant; /** /** * Logger for Location API usage logging. * Logger for Location API usage logging. */ */ class LocationUsageLogger { public class LocationUsageLogger { private static final String TAG = "LocationUsageLogger"; private static final String TAG = "LocationUsageLogger"; private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); private static final boolean D = Log.isLoggable(TAG, Log.DEBUG); Loading
services/core/java/com/android/server/location/GnssLocationProvider.java +19 −4 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,7 @@ import android.util.StatsLog; import android.util.TimeUtils; import android.util.TimeUtils; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.app.IBatteryStats; import com.android.internal.app.IBatteryStats; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification; Loading Loading @@ -304,6 +305,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements private final ExponentialBackOff mPsdsBackOff = new ExponentialBackOff(RETRY_INTERVAL, private final ExponentialBackOff mPsdsBackOff = new ExponentialBackOff(RETRY_INTERVAL, MAX_RETRY_INTERVAL); MAX_RETRY_INTERVAL); private static boolean sIsInitialized = false; private static boolean sStaticTestOverride = false; // True if we are enabled // True if we are enabled @GuardedBy("mLock") @GuardedBy("mLock") private boolean mGpsEnabled; private boolean mGpsEnabled; Loading Loading @@ -576,7 +580,15 @@ public class GnssLocationProvider extends AbstractLocationProvider implements } } } } @VisibleForTesting public static void setIsSupportedForTest(boolean override) { sStaticTestOverride = override; } public static boolean isSupported() { public static boolean isSupported() { if (sStaticTestOverride) { return true; } return native_is_supported(); return native_is_supported(); } } Loading @@ -598,6 +610,13 @@ public class GnssLocationProvider extends AbstractLocationProvider implements Looper looper) { Looper looper) { super(context, locationProviderManager); super(context, locationProviderManager); synchronized (mLock) { if (!sIsInitialized) { class_init_native(); } sIsInitialized = true; } mLooper = looper; mLooper = looper; // Create a wake lock // Create a wake lock Loading Loading @@ -2224,10 +2243,6 @@ public class GnssLocationProvider extends AbstractLocationProvider implements // preallocated to avoid memory allocation in reportNmea() // preallocated to avoid memory allocation in reportNmea() private byte[] mNmeaBuffer = new byte[120]; private byte[] mNmeaBuffer = new byte[120]; static { class_init_native(); } private static native void class_init_native(); private static native void class_init_native(); private static native boolean native_is_supported(); private static native boolean native_is_supported(); Loading
services/core/java/com/android/server/location/GnssMeasurementsProvider.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -47,7 +47,7 @@ public abstract class GnssMeasurementsProvider } } @VisibleForTesting @VisibleForTesting GnssMeasurementsProvider( public GnssMeasurementsProvider( Context context, Handler handler, GnssMeasurementProviderNative aNative) { Context context, Handler handler, GnssMeasurementProviderNative aNative) { super(context, handler, TAG); super(context, handler, TAG); mNative = aNative; mNative = aNative; Loading Loading @@ -158,7 +158,7 @@ public abstract class GnssMeasurementsProvider } } @VisibleForTesting @VisibleForTesting static class GnssMeasurementProviderNative { public static class GnssMeasurementProviderNative { public boolean isMeasurementSupported() { public boolean isMeasurementSupported() { return native_is_measurement_supported(); return native_is_measurement_supported(); } } Loading
services/core/java/com/android/server/location/GnssNavigationMessageProvider.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -45,7 +45,7 @@ public abstract class GnssNavigationMessageProvider } } @VisibleForTesting @VisibleForTesting GnssNavigationMessageProvider(Context context, Handler handler, public GnssNavigationMessageProvider(Context context, Handler handler, GnssNavigationMessageProviderNative aNative) { GnssNavigationMessageProviderNative aNative) { super(context, handler, TAG); super(context, handler, TAG); mNative = aNative; mNative = aNative; Loading Loading @@ -142,7 +142,7 @@ public abstract class GnssNavigationMessageProvider } } @VisibleForTesting @VisibleForTesting static class GnssNavigationMessageProviderNative { public static class GnssNavigationMessageProviderNative { public boolean isNavigationMessageSupported() { public boolean isNavigationMessageSupported() { return native_is_navigation_message_supported(); return native_is_navigation_message_supported(); } } Loading