Fixed
Status Update
Comments
gg...@google.com <gg...@google.com> #2
Can you provide the below requested information to better understand the issue:
We have tested with given below example we are not able to reproduce the issue.
https://github.com/googlesamples/android-play-location/tree/master/LocationUpdates
Please provide the sample application to demonstrate the issue.
Android build
Which Android build are you using? (e.g. KVT49L)
Device used
Which device did you use to reproduce this issue?
Please provide sample project to reproduce the issue.
Also mention the steps to be followed for reproducing the issue with the given sample project.
Expected output
What do you expect to occur?
Current output
What do you see instead?
We have tested with given below example we are not able to reproduce the issue.
Please provide the sample application to demonstrate the issue.
Android build
Which Android build are you using? (e.g. KVT49L)
Device used
Which device did you use to reproduce this issue?
Please provide sample project to reproduce the issue.
Also mention the steps to be followed for reproducing the issue with the given sample project.
Expected output
What do you expect to occur?
Current output
What do you see instead?
jd...@gmail.com <jd...@gmail.com> #3
The sample application is updating the app you tested with the code updates in this issue https://github.com/googlesamples/android-play-location/issues/151 . I will explicitly add the code here:
Update res/layout/main_activity.xml with the following:
<!-- Add TextView UI (new line 98-104) -->
<TextView
android:id="@+id/accuracy_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/small_margin"
android:layout_marginStart="@dimen/small_margin"
android:textSize="@dimen/default_text_size" />
Update MainActivity.java with the following:
// add widget (new line 143)
private TextView mAccuracyTextView;
// add label (new line 148)
private String mAccuracyLabel;
// locate UI widget (new line 174)
mAccuracyTextView = (TextView) findViewById(R.id.accuracy_text);
// set label (new line 180)
mAccuracyLabel = "Accuracy";
// set value of the UI field (new line 409/410)
mAccuracyTextView.setText(String.format(Locale.ENGLISH, "%s: %f", mAccuracyLabel,
mCurrentLocation.getAccuracy()));
Run the updated app. Expected output is the accuracy in the app to match the accuracy reported by device.
Android Build: Tested on 3 devices with the following build numbers:
- OPM2.171019.029
- NRD90M.T710XXU2DRB1
- M4B302
Devices:
- Pixel 2 XL
- Samsung Galaxy Tab S2
- Nexus 5
Expected output
Accuracy in updated sample app should match device accuracy
Current Output
App never shows accuracy below 10M even when device is reporting sub 10M accuracy.
Update res/layout/main_activity.xml with the following:
<!-- Add TextView UI (new line 98-104) -->
<TextView
android:id="@+id/accuracy_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/small_margin"
android:layout_marginStart="@dimen/small_margin"
android:textSize="@dimen/default_text_size" />
Update MainActivity.java with the following:
// add widget (new line 143)
private TextView mAccuracyTextView;
// add label (new line 148)
private String mAccuracyLabel;
// locate UI widget (new line 174)
mAccuracyTextView = (TextView) findViewById(R.id.accuracy_text);
// set label (new line 180)
mAccuracyLabel = "Accuracy";
// set value of the UI field (new line 409/410)
mAccuracyTextView.setText(String.format(Locale.ENGLISH, "%s: %f", mAccuracyLabel,
mCurrentLocation.getAccuracy()));
Run the updated app. Expected output is the accuracy in the app to match the accuracy reported by device.
Android Build: Tested on 3 devices with the following build numbers:
- OPM2.171019.029
- NRD90M.T710XXU2DRB1
- M4B302
Devices:
- Pixel 2 XL
- Samsung Galaxy Tab S2
- Nexus 5
Expected output
Accuracy in updated sample app should match device accuracy
Current Output
App never shows accuracy below 10M even when device is reporting sub 10M accuracy.
gg...@google.com <gg...@google.com> #4
We are not able to reproduce the issue
We have find the below coordinates
05-08 05:26:27.226 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824637lang 77.6971695
05-08 05:26:37.293 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824604lang 77.6971659
05-08 05:26:47.733 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824616lang 77.6971672
05-08 05:26:57.755 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824637lang 77.6971694
05-08 05:27:07.777 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824639lang 77.6971695
From above lat lang the difference between each updates less then meter only
Please check the application and update the results which you observed.
We have find the below coordinates
05-08 05:26:27.226 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824637lang 77.6971695
05-08 05:26:37.293 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824604lang 77.6971659
05-08 05:26:47.733 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824616lang 77.6971672
05-08 05:26:57.755 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824637lang 77.6971694
05-08 05:27:07.777 10630-10630/com.google.android.gms.location.sample.locationupdates I/System.out: latitude 12.9824639lang 77.6971695
From above lat lang the difference between each updates less then meter only
Please check the application and update the results which you observed.
jd...@gmail.com <jd...@gmail.com> #5
The issue is with the result of calling `mCurrentLocation.getAccuracy()` as the result of that API call is never less than 10M even when the accuracy from `LocationManager` is less than 10M. Are you updating the sample with the code I provided? If so you should see that when your devices accuracy is < 10M the `mAccuracyTextView` never shows a value < 10M.
jd...@gmail.com <jd...@gmail.com> #6
I forked the samples repository and updated the app to ensure we are running the same app and seeing the same issue.
Here is the root of the updated apphttps://github.com/doneill/android-play-location/tree/dop/accuracy-issues/LocationUpdates .
Import that app into Android Studio and run it. While you are running this app run a GPS app like GPS Essentials,https://play.google.com/store/apps/details?id=com.mictale.gpsessentials&hl=en_US to compare accuracy settings. You should notice that when your device accuracy is < 10M the app never shows a value < 10M which is the issue. I expect the app using `mCurrentLocation.getAccuracy()` should report accuracy < 10M.
Here is the root of the updated app
Import that app into Android Studio and run it. While you are running this app run a GPS app like GPS Essentials,
gg...@google.com <gg...@google.com> #7
We have shared this with our engineering team and will update this issue with more information as it becomes available.
jd...@gmail.com <jd...@gmail.com> #8
Additional info:
I have tested with different versions of play store lib in the hope that reverting back to a previous version would resolve the issue but to no avail using `9.4.0`, `11.0.0`, 11.8.0`, `12.0.0`, & `15.0.0`. I have also verified versions of the play store apk on devices as `12.6.3` & `12.5.9`.
I have tested with different versions of play store lib in the hope that reverting back to a previous version would resolve the issue but to no avail using `9.4.0`, `11.0.0`, 11.8.0`, `12.0.0`, & `15.0.0`. I have also verified versions of the play store apk on devices as `12.6.3` & `12.5.9`.
jd...@gmail.com <jd...@gmail.com> #9
More info: I disabled google play services on device and restored to factory version and started seeing sub 10M values returned for accuracy but our users reported that they could not do this as they are forced to upgrade play services from the factory version. I started seeing this as well so not a consistent workaround.
si...@gmail.com <si...@gmail.com> #10
Restoring to factory version also gave me accuracy values below 10 meters. However this will only work for a short period of time and then it will once again be capped at 10M. So this only works temporary.
jd...@gmail.com <jd...@gmail.com> #11
I added simple `LocationManager` workflow to Location Updates sample, https://github.com/doneill/android-play-location/tree/dop/accuracy-issues/LocationUpdates , which shows app gets <5M accuracy with LM vs never <10M with Fused.
jd...@gmail.com <jd...@gmail.com> #12
Is there an update to this issue as it continues to persist?
jd...@gmail.com <jd...@gmail.com> #13
Weekly request for an update to this issue as it continues to persist and I have a PR waiting for a response as well https://github.com/googlesamples/android-play-location/pull/159 .
ri...@gmail.com <ri...@gmail.com> #14
Any updates on this issue? It's been quite a while.
cr...@surveycto.com <cr...@surveycto.com> #15
This is having a very negative effect on thousands to tens of thousands of enumerators collecting data in developing countries, through Android-based data-collection platforms like Open Data Kit (ODK) and SurveyCTO. The ODK community has simply abandoned FusedLocationProviderClient in favor of the older LocationManager. We may have to do the same out of desperation, but FusedLocationProviderClient had performed better in several respects and regressing to LocationManager now is a serious let-down that will itself have a bunch of negative consequences for data collectors. I presume that there are a great many other applications, like ours, seriously affected by this issue.
Please take this as a slightly-more-impassioned request for an update. More than two months of silence on an issue that affects so many people seems a shame.
Please take this as a slightly-more-impassioned request for an update. More than two months of silence on an issue that affects so many people seems a shame.
[Deleted User] <[Deleted User]> #16
This issue is causing issues using Chrome as well. It will never return less than 10m accuracy when using the html5 geolocation API.
mi...@gmail.com <mi...@gmail.com> #17
We are experiencing the same issue and we have thousands of users affected on our Epicollect5 application for data collection in developing countries
ri...@gmail.com <ri...@gmail.com> #18
Could we please get an update?
jd...@gmail.com <jd...@gmail.com> #19
Are there issues with the engineering teams ability to reproduce the issue? I would be happy to update the reproducible test case if necessary.
yu...@google.com <yu...@google.com> #20
According to the internal bug b/78642213 , the change to improve the reporting accuracy from 10m to 3m will be available in Google Play Services version 13.4.0.
jd...@gmail.com <jd...@gmail.com> #21
Thanks for the update! Out of interest, is there a reason to limit the accuracy to 3M? Is this something that will continue to improve over time? Looking forward to the play services release!
mi...@gmail.com <mi...@gmail.com> #22
I confirm the issue is solved on my Pixel 2 with Play Services 14.3.66
jd...@gmail.com <jd...@gmail.com> #23
I have verified it as well with Pixel 2 & Play Services 14.3.67!
jd...@gmail.com <jd...@gmail.com> #24
This is great progress, are you able to share with us answers to my question above?
> Out of interest, is there a reason to limit the accuracy to 3M? Is this something that will continue to improve over time?
> Out of interest, is there a reason to limit the accuracy to 3M? Is this something that will continue to improve over time?
vi...@google.com <vi...@google.com> #25
The issue has been fixed by our development team.
jd...@gmail.com <jd...@gmail.com> #26
Thanks, I created a new issue with respect to accuracy now limited to 3M, https://issuetracker.google.com/118789585 .
Description
Reproducible steps are provided in the Location samples on GitHub, see issue
Also add the following details:
- Devices: Nexus 5, Pixel 2 XL, Samsung Galaxy Tab S2
- Google Play Services client library version: 11+
- Google Play Services version on the device: 12.5.29,
- Android SDK Version: 6.0.1, 7.0, 8.1.0
- Was this working correctly on a previous version of Google Play Services?
N/A, does seem to work for a short period of time after a factory reset.