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

Commit 2291ca47 authored by Victoria Lease's avatar Victoria Lease
Browse files

LocationManager javadoc permission fixes

The javadoc mistakenly claimed that GPS and PASSIVE location
providers could be used with ACCESS_COARSE_LOCATION permissions.
That was incorrect, and the javadoc has been amended.

Bug: 7389249
Change-Id: I6f6489bb539679a962c67ae7263857700df33c82
parent cc0106cd
Loading
Loading
Loading
Loading
+9 −23
Original line number Diff line number Diff line
@@ -72,15 +72,10 @@ import com.android.internal.location.ProviderProperties;
 * <p class="note">Unless noted, all Location API methods require
 * the {@link android.Manifest.permission#ACCESS_COARSE_LOCATION} or
 * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permissions.
 * If your application only has the Coarse permission then it will still
 * receive location results, but the update rate will be throttled and
 * the exact location will be obfuscated to a coarse level of accuracy.
 *
 * <p> class="note">Before API level 17, the use of 'fine' location
 * providers such as GPS required the fine permission. As of API level
 * 17, applications with only the coarse permission may use all providers,
 * including GPS, but the locations are obfuscated (made coarse) before
 * being sent to the application.
 * If your application only has the coarse permission then it will not have
 * access to the GPS or passive location providers. Other providers will still
 * return location results, but the update rate will be throttled and the exact
 * location will be obfuscated to a coarse level of accuracy.
 */
public class LocationManager {
    private static final String TAG = "LocationManager";
@@ -109,13 +104,8 @@ public class LocationManager {
     *
     * <p>This provider determines location using
     * satellites. Depending on conditions, this provider may take a while to return
     * a location fix.
     *
     * <p>Before API version 17, this provider required the
     * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission.
     * From API version 17 and onwards, this provider can also be used with
     * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}, however
     * the locations returned will be obfuscated to a coarse level of accuracy.
     * a location fix. Requires the permission
     * {@link android.Manifest.permission#ACCESS_FINE_LOCATION}.
     *
     * <p> The extras Bundle for the GPS location provider can contain the
     * following key/value pairs:
@@ -136,13 +126,9 @@ public class LocationManager {
     * when other applications or services request them without actually requesting
     * the locations yourself.  This provider will return locations generated by other
     * providers.  You can query the {@link Location#getProvider()} method to determine
     * the origin of the location update.
     *
     * <p>Before API version 17, this provider required the
     * {@link android.Manifest.permission#ACCESS_FINE_LOCATION} permission.
     * From API version 17 and onwards, this provider can also be used with
     * {@link android.Manifest.permission#ACCESS_COARSE_LOCATION}, however
     * the locations returned will be obfuscated to a coarse level of accuracy.
     * the origin of the location update. Requires the permission
     * {@link android.Manifest.permission#ACCESS_FINE_LOCATION}, although if the GPS is
     * not enabled this provider might only return coarse fixes.
     *
     * @deprecated Use {@link LocationRequest} instead, see notes on {@link LocationManager}
     */