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

Commit fca4bcdd authored by Dante Russo's avatar Dante Russo
Browse files

Add missing attribution tags to com.android.location.fused

Avoids warning prints in log:
W LocationManagerService: system location request with no attribution tag
W LocationManagerService: java.lang.IllegalArgumentException

Flag: android.location.flags.missing_attribution_tags_in_overlay
Bug : 403337028
Test: Manual

Change-Id: I11204b0724abc9d28fe819ea99b870397594d466
parent f9bc523c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -212,3 +212,10 @@ flag {
    bug: "402997842"
    is_fixed_read_only: true
}

flag {
    name: "missing_attribution_tags_in_overlay"
    namespace: "location"
    description: "Adds missing attribution tags in the Fused and Gnss overlay"
    bug: "403337028"
}
+3 −0
Original line number Diff line number Diff line
@@ -30,6 +30,9 @@
    <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

    <attribution android:tag="FusedOverlayService" android:label="@string/fused_overlay_service"/>
    <attribution android:tag="GnssOverlayService" android:label="@string/gnss_overlay_service"/>

    <application
            android:label="@string/app_label"
            android:process="system"
+4 −0
Original line number Diff line number Diff line
@@ -2,4 +2,8 @@
<resources>
    <!-- Name of the application. [CHAR LIMIT=35] -->
    <string name="app_label">Fused Location</string>
    <!-- Attribution for Fused Overlay Service. [CHAR LIMIT=NONE]-->
    <string name="fused_overlay_service">Fused Overlay Service</string>
    <!-- Attribution for GNSS Overlay Service. [CHAR LIMIT=NONE]-->
    <string name="gnss_overlay_service">GNSS Overlay Service</string>
</resources>
+7 −2
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import java.util.concurrent.atomic.AtomicInteger;
public class FusedLocationProvider extends LocationProviderBase {

    private static final String TAG = "FusedLocationProvider";
    private static final String ATTRIBUTION_TAG = "FusedOverlayService";

    private static final ProviderProperties PROPERTIES = new ProviderProperties.Builder()
                .setHasAltitudeSupport(true)
@@ -89,8 +90,12 @@ public class FusedLocationProvider extends LocationProviderBase {

    public FusedLocationProvider(Context context) {
        super(context, TAG, PROPERTIES);
        if (Flags.missingAttributionTagsInOverlay()) {
            mContext = context.createAttributionContext(ATTRIBUTION_TAG);
        } else {
            mContext = context;
        mLocationManager = Objects.requireNonNull(context.getSystemService(LocationManager.class));
        }
        mLocationManager = Objects.requireNonNull(mContext.getSystemService(LocationManager.class));

        mGpsListener = new ChildLocationListener(GPS_PROVIDER);
        mNetworkListener = new ChildLocationListener(NETWORK_PROVIDER);
+9 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.location.provider.ProviderProperties.POWER_USAGE_HIGH;

import android.annotation.Nullable;
import android.content.Context;
import android.location.flags.Flags;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
@@ -41,6 +42,7 @@ import java.util.List;
public class GnssOverlayLocationProvider extends LocationProviderBase {

    private static final String TAG = "GnssOverlay";
    private static final String ATTRIBUTION_TAG = "GnssOverlayService";

    private static final ProviderProperties PROPERTIES = new ProviderProperties.Builder()
                .setHasAltitudeSupport(true)
@@ -87,8 +89,14 @@ public class GnssOverlayLocationProvider extends LocationProviderBase {

    public GnssOverlayLocationProvider(Context context) {
        super(context, TAG, PROPERTIES);

        if (Flags.missingAttributionTagsInOverlay()) {
            Context contextWithAttribution = context.createAttributionContext(ATTRIBUTION_TAG);
            mLocationManager = contextWithAttribution.getSystemService(LocationManager.class);
        } else {
            mLocationManager = context.getSystemService(LocationManager.class);
        }
    }

    void start() {
    }