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

Commit b9599750 authored by Wei Liu's avatar Wei Liu Committed by Android (Google) Code Review
Browse files

Merge "resolved conflicts for merge of f0c4f0dd to mnc-dev" into mnc-dev

parents ec6e7a66 8e4799ad
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ import android.location.Address;
import android.location.Criteria;
import android.location.GeocoderParams;
import android.location.Geofence;
import android.location.IGpsGeofenceHardware;
import android.location.IGpsMeasurementsListener;
import android.location.IGpsNavigationMessageListener;
import android.location.IGpsStatusListener;
@@ -162,6 +163,7 @@ public class LocationManagerService extends ILocationManager.Stub {
    private LocationBlacklist mBlacklist;
    private GpsMeasurementsProvider mGpsMeasurementsProvider;
    private GpsNavigationMessageProvider mGpsNavigationMessageProvider;
    private IGpsGeofenceHardware mGpsGeofenceProxy;

    // --- fields below are protected by mLock ---
    // Set of providers that are explicitly enabled
@@ -401,18 +403,19 @@ public class LocationManagerService extends ILocationManager.Stub {
        addProviderLocked(passiveProvider);
        mEnabledProviders.add(passiveProvider.getName());
        mPassiveProvider = passiveProvider;

        if (GpsLocationProvider.isSupported()) {
            // Create a gps location provider
            GpsLocationProvider gpsProvider = new GpsLocationProvider(mContext, this,
                    mLocationHandler.getLooper());

        if (GpsLocationProvider.isSupported()) {
            mGpsStatusProvider = gpsProvider.getGpsStatusProvider();
            mNetInitiatedListener = gpsProvider.getNetInitiatedListener();
            addProviderLocked(gpsProvider);
            mRealProviders.put(LocationManager.GPS_PROVIDER, gpsProvider);
        }
            mGpsMeasurementsProvider = gpsProvider.getGpsMeasurementsProvider();
            mGpsNavigationMessageProvider = gpsProvider.getGpsNavigationMessageProvider();
            mGpsGeofenceProxy = gpsProvider.getGpsGeofenceProxy();
        }

        /*
        Load package name(s) containing location provider support.
@@ -508,7 +511,7 @@ public class LocationManagerService extends ILocationManager.Stub {
                com.android.internal.R.string.config_geofenceProviderPackageName,
                com.android.internal.R.array.config_locationProviderPackageNames,
                mLocationHandler,
                gpsProvider.getGpsGeofenceProxy(),
                mGpsGeofenceProxy,
                flpHardwareProvider != null ? flpHardwareProvider.getGeofenceHardware() : null);
        if (provider == null) {
            Slog.e(TAG,  "Unable to bind FLP Geofence proxy.");
@@ -1851,7 +1854,7 @@ public class LocationManagerService extends ILocationManager.Stub {
            Binder.restoreCallingIdentity(identity);
        }

        if (!hasLocationAccess) {
        if (!hasLocationAccess || mGpsMeasurementsProvider == null) {
            return false;
        }
        return mGpsMeasurementsProvider.addListener(listener);
@@ -1859,8 +1862,10 @@ public class LocationManagerService extends ILocationManager.Stub {

    @Override
    public void removeGpsMeasurementsListener(IGpsMeasurementsListener listener) {
        if (mGpsMeasurementsProvider != null) {
            mGpsMeasurementsProvider.removeListener(listener);
        }
    }

    @Override
    public boolean addGpsNavigationMessageListener(
@@ -1880,7 +1885,7 @@ public class LocationManagerService extends ILocationManager.Stub {
            Binder.restoreCallingIdentity(identity);
        }

        if (!hasLocationAccess) {
        if (!hasLocationAccess || mGpsNavigationMessageProvider == null) {
            return false;
        }
        return mGpsNavigationMessageProvider.addListener(listener);
@@ -1888,8 +1893,10 @@ public class LocationManagerService extends ILocationManager.Stub {

    @Override
    public void removeGpsNavigationMessageListener(IGpsNavigationMessageListener listener) {
        if (mGpsNavigationMessageProvider != null) {
            mGpsNavigationMessageProvider.removeListener(listener);
        }
    }

    @Override
    public boolean sendExtraCommand(String provider, String command, Bundle extras) {
+3 −1
Original line number Diff line number Diff line
@@ -129,7 +129,9 @@ public final class GeofenceProxy {

    private void setGpsGeofenceLocked() {
        try {
            if (mGpsGeofenceHardware != null) {
                mGeofenceHardware.setGpsGeofenceHardware(mGpsGeofenceHardware);
            }
        } catch (RemoteException e) {
            Log.e(TAG, "Error while connecting to GeofenceHardwareService");
        }
+1 −2
Original line number Diff line number Diff line
@@ -452,7 +452,6 @@ public class GpsLocationProvider implements LocationProviderInterface {
                    networkState = LocationProvider.AVAILABLE;
                }


                updateNetworkState(networkState, info);
            } else if (PowerManager.ACTION_POWER_SAVE_MODE_CHANGED.equals(action)
                    || Intent.ACTION_SCREEN_OFF.equals(action)