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

Commit 416b35cd authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Combo Provider: Get the package name from resource"

parents e498da3f f7266aa7
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -786,8 +786,11 @@
        <item>com.android.location.fused</item>
    </string-array>

    <!-- Component name of the service providing geofence API support. -->
    <string name="config_geofenceProvider" translatable="false">com.qualcomm.location</string>
    <!-- Component name of the geofence services provider. -->
    <string name="config_geofenceServicesProvider" translatable="false">com.qualcomm.location</string>

    <!-- Component name of the combo network location provider. -->
    <string name="config_comboNetworkLocationProvider" translatable="false">com.qualcomm.location</string>

    <!-- Boolean indicating if current platform supports bluetooth SCO for off call
    use cases -->
+2 −1
Original line number Diff line number Diff line
@@ -1569,7 +1569,8 @@
  <java-symbol type="string" name="config_geocoderProviderPackageName" />
  <java-symbol type="string" name="config_geofenceProviderPackageName" />
  <java-symbol type="string" name="config_networkLocationProviderPackageName" />
  <java-symbol type="string" name="config_geofenceProvider" />
  <java-symbol type="string" name="config_geofenceServicesProvider" />
  <java-symbol type="string" name="config_comboNetworkLocationProvider" />
  <java-symbol type="string" name="config_wimaxManagerClassname" />
  <java-symbol type="string" name="config_wimaxNativeLibLocation" />
  <java-symbol type="string" name="config_wimaxServiceClassname" />
+19 −8
Original line number Diff line number Diff line
@@ -143,6 +143,9 @@ public class LocationManagerService extends ILocationManager.Stub {
    private LocationFudger mLocationFudger;
    private GeofenceManager mGeofenceManager;
    private String mGeoFencerPackageName;
    private String mComboNlpPackageName;
    private String mComboNlpReadyMarker;
    private String mComboNlpScreenMarker;
    private GeoFencerBase mGeoFencer;
    private boolean mGeoFencerEnabled;
    private PackageManager mPackageManager;
@@ -454,7 +457,7 @@ public class LocationManagerService extends ILocationManager.Stub {
        }

        mGeoFencerPackageName = resources.getString(
                com.android.internal.R.string.config_geofenceProvider);
                com.android.internal.R.string.config_geofenceServicesProvider);
        if (mGeoFencerPackageName != null &&
                mPackageManager.resolveService(new Intent(mGeoFencerPackageName), 0) != null) {
            mGeoFencer = GeoFencerProxy.getGeoFencerProxy(mContext, mGeoFencerPackageName);
@@ -463,6 +466,14 @@ public class LocationManagerService extends ILocationManager.Stub {
            mGeoFencer = null;
            mGeoFencerEnabled = false;
        }

        mComboNlpPackageName = resources.getString(
                com.android.internal.R.string.config_comboNetworkLocationProvider);
        if (mComboNlpPackageName != null) {
            mComboNlpReadyMarker = mComboNlpPackageName + ".nlp:ready";
            mComboNlpScreenMarker = mComboNlpPackageName + ".nlp:screen";
        }

    }

    /**
@@ -2124,7 +2135,7 @@ public class LocationManagerService extends ILocationManager.Stub {

    private Location screenLocationLocked(Location location, String provider) {

        if (false == provider.equals(LocationManager.NETWORK_PROVIDER)) {
        if (mComboNlpPackageName == null || false == provider.equals(LocationManager.NETWORK_PROVIDER)) {
            return location;
        }

@@ -2133,15 +2144,15 @@ public class LocationManagerService extends ILocationManager.Stub {
            extras = new Bundle();
        }

        if (!extras.containsKey("com.qualcomm.location.nlp:ready")) {
            // see if com.qualcomm.location is a passive listener
        if (!extras.containsKey(mComboNlpReadyMarker)) {
            // see if Combo Nlp is a passive listener
            ArrayList<UpdateRecord> records =
                mRecordsByProvider.get(LocationManager.PASSIVE_PROVIDER);
            if (records != null) {
                for (UpdateRecord r : records) {
                    if (r.mReceiver.mPackageName.equals("com.qualcomm.location")) {
                        extras.putBoolean("com.qualcomm.location.nlp:screen", true);
                        // send location to com.qualcomm.location for screening
                    if (r.mReceiver.mPackageName.equals(mComboNlpPackageName)) {
                        extras.putBoolean(mComboNlpScreenMarker, true);
                        // send location to Combo Nlp  for screening
                        if (!r.mReceiver.callLocationChangedLocked(location)) {
                            Slog.w(TAG, "RemoteException calling onLocationChanged on "
                                   + r.mReceiver);
@@ -2162,7 +2173,7 @@ public class LocationManagerService extends ILocationManager.Stub {
                Log.d(TAG, "This location is marked as ready for broadcast");
            }
            // clear the ready marker
            extras.remove("com.qualcomm.location.nlp:ready");
            extras.remove(mComboNlpReadyMarker);
        }

        return location;