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

Commit cf0faf55 authored by Sasha Kuznetsov's avatar Sasha Kuznetsov Committed by Android (Google) Code Review
Browse files

Merge "Create unit tests for GnssManagerService Test: atest GnssManagerServiceTest.java"

parents 5c0323de b9f26b4c
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -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
@@ -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) {
@@ -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.
+1 −1
Original line number Original line Diff line number Diff line
@@ -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);


+19 −4
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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;
@@ -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();
    }
    }


@@ -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
@@ -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();
+2 −2
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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();
        }
        }
+2 −2
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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