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

Commit 0459eb7c authored by Nathan Harold's avatar Nathan Harold
Browse files

Remove Support for Deprecated Location Updating

Remove support for location update control that impacts
the services state tracker. This functionality hasn't been
needed in many years, and it has the ability to:
-consume additional battery
-cause ServiceState to be reported incorrectly
-cause the phone to not know about changes to
 the service state (current cell, technology, etc).

Bug: 152648516
Test: compilation - code removal only
Change-Id: I1bf880c037b5c005bdd61a0ff6f5c4000ec2f9be
parent 32deda2d
Loading
Loading
Loading
Loading
+6 −61
Original line number Diff line number Diff line
@@ -2188,58 +2188,6 @@ public class TelephonyManager {
        }
    }

    /**
     * Enables location update notifications.  {@link PhoneStateListener#onCellLocationChanged
     * PhoneStateListener.onCellLocationChanged} will be called on location updates.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES)
    public void enableLocationUpdates() {
        enableLocationUpdates(getSubId());
    }

    /**
     * Enables location update notifications for a subscription.
     * {@link PhoneStateListener#onCellLocationChanged
     * PhoneStateListener.onCellLocationChanged} will be called on location updates.
     *
     * @param subId for which the location updates are enabled
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES)
    public void enableLocationUpdates(int subId) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)
                telephony.enableLocationUpdatesForSubscriber(subId);
        } catch (RemoteException ex) {
        } catch (NullPointerException ex) {
        }
    }

    /**
     * Disables location update notifications.  {@link PhoneStateListener#onCellLocationChanged
     * PhoneStateListener.onCellLocationChanged} will be called on location updates.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.CONTROL_LOCATION_UPDATES)
    public void disableLocationUpdates() {
        disableLocationUpdates(getSubId());
    }

    /** @hide */
    public void disableLocationUpdates(int subId) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)
                telephony.disableLocationUpdatesForSubscriber(subId);
        } catch (RemoteException ex) {
        } catch (NullPointerException ex) {
        }
    }

    /**
     * Returns the neighboring cell information of the device.
     *
@@ -8969,17 +8917,14 @@ public class TelephonyManager {
        return RADIO_POWER_UNAVAILABLE;
    }

    /** @hide */
    /**
     * This method should not be used due to privacy and stability concerns.
     *
     * @hide
     */
    @SystemApi
    @SuppressLint("Doclava125")
    public void updateServiceLocation() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null)
                telephony.updateServiceLocation();
        } catch (RemoteException e) {
            Log.e(TAG, "Error calling ITelephony#updateServiceLocation", e);
        }
        Log.e(TAG, "Do not call TelephonyManager#updateServiceLocation()");
    }

    /** @hide */
+3 −21
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ interface ITelephony {
    boolean setRadioPower(boolean turnOn);

    /**
     * Request to update location information in service state
     * This method has been removed due to security and stability issues.
     */
    @UnsupportedAppUsage
    void updateServiceLocation();
@@ -233,35 +233,17 @@ interface ITelephony {
    void updateServiceLocationWithPackageName(String callingPkg);

    /**
     * Request to update location information for a subscrition in service state
     * @param subId user preferred subId.
     */
    void updateServiceLocationForSubscriber(int subId);

    /**
     * Enable location update notifications.
     * This method has been removed due to security and stability issues.
     */
    @UnsupportedAppUsage
    void enableLocationUpdates();

    /**
     * Enable location update notifications.
     * @param subId user preferred subId.
     */
    void enableLocationUpdatesForSubscriber(int subId);

    /**
     * Disable location update notifications.
     * This method has been removed due to security and stability issues.
     */
    @UnsupportedAppUsage
    void disableLocationUpdates();

    /**
     * Disable location update notifications.
     * @param subId user preferred subId.
     */
    void disableLocationUpdatesForSubscriber(int subId);

    /**
     * Allow mobile data connections.
     */