Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9f26b4c authored by Sasha Kuznetsov's avatar Sasha Kuznetsov
Browse files

Create unit tests for GnssManagerService

Test: atest GnssManagerServiceTest.java

Change-Id: I9ef40a99d898119251e3ea1d353a61368313ba07
parent 69a85b97
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ import java.util.function.Function;

/** Manages Gnss providers and related Gnss functions for LocationManagerService. */
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);

    // Providers
@@ -124,7 +124,7 @@ public class GnssManagerService {

    // Can use this constructor to inject GnssLocationProvider for testing
    @VisibleForTesting
    GnssManagerService(LocationManagerService locationManagerService,
    public GnssManagerService(LocationManagerService locationManagerService,
            Context context,
            GnssLocationProvider gnssLocationProvider,
            LocationUsageLogger locationUsageLogger) {
@@ -719,9 +719,11 @@ public class GnssManagerService {
     * @param listener called when navigation message is received
     */
    public void removeGnssNavigationMessageListener(IGnssNavigationMessageListener listener) {
        synchronized (mGnssNavigationMessageListeners) {
            removeGnssDataListener(
                    listener, mGnssNavigationMessageProvider, mGnssNavigationMessageListeners);
        }
    }

    /**
     * Send Ni Response, indicating a location request initiated by a network carrier.
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ import java.time.Instant;
/**
 * Logger for Location API usage logging.
 */
class LocationUsageLogger {
public class LocationUsageLogger {
    private static final String TAG = "LocationUsageLogger";
    private static final boolean D = Log.isLoggable(TAG, Log.DEBUG);

+19 −4
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import android.util.StatsLog;
import android.util.TimeUtils;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
import com.android.internal.location.GpsNetInitiatedHandler;
import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification;
@@ -304,6 +305,9 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
    private final ExponentialBackOff mPsdsBackOff = new ExponentialBackOff(RETRY_INTERVAL,
            MAX_RETRY_INTERVAL);

    private static boolean sIsInitialized = false;
    private static boolean sStaticTestOverride = false;

    // True if we are enabled
    @GuardedBy("mLock")
    private boolean mGpsEnabled;
@@ -576,7 +580,15 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
        }
    }

    @VisibleForTesting
    public static void setIsSupportedForTest(boolean override) {
        sStaticTestOverride = override;
    }

    public static boolean isSupported() {
        if (sStaticTestOverride) {
            return true;
        }
        return native_is_supported();
    }

@@ -598,6 +610,13 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
            Looper looper) {
        super(context, locationProviderManager);

        synchronized (mLock) {
            if (!sIsInitialized) {
                class_init_native();
            }
            sIsInitialized = true;
        }

        mLooper = looper;

        // Create a wake lock
@@ -2224,10 +2243,6 @@ public class GnssLocationProvider extends AbstractLocationProvider implements
    // preallocated to avoid memory allocation in reportNmea()
    private byte[] mNmeaBuffer = new byte[120];

    static {
        class_init_native();
    }

    private static native void class_init_native();

    private static native boolean native_is_supported();
+2 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ public abstract class GnssMeasurementsProvider
    }

    @VisibleForTesting
    GnssMeasurementsProvider(
    public GnssMeasurementsProvider(
            Context context, Handler handler, GnssMeasurementProviderNative aNative) {
        super(context, handler, TAG);
        mNative = aNative;
@@ -158,7 +158,7 @@ public abstract class GnssMeasurementsProvider
    }

    @VisibleForTesting
    static class GnssMeasurementProviderNative {
    public static class GnssMeasurementProviderNative {
        public boolean isMeasurementSupported() {
            return native_is_measurement_supported();
        }
+2 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ public abstract class GnssNavigationMessageProvider
    }

    @VisibleForTesting
    GnssNavigationMessageProvider(Context context, Handler handler,
    public GnssNavigationMessageProvider(Context context, Handler handler,
            GnssNavigationMessageProviderNative aNative) {
        super(context, handler, TAG);
        mNative = aNative;
@@ -142,7 +142,7 @@ public abstract class GnssNavigationMessageProvider
    }

    @VisibleForTesting
    static class GnssNavigationMessageProviderNative {
    public static class GnssNavigationMessageProviderNative {
        public boolean isNavigationMessageSupported() {
            return native_is_navigation_message_supported();
        }
Loading