kr0oked / compass Goto Github PK
View Code? Open in Web Editor NEWSimple and beautiful compass for Android
License: GNU General Public License v3.0
Simple and beautiful compass for Android
License: GNU General Public License v3.0
When I enable true north on the application, I get an notice on the main screen "waiting for location update" that never goes away. In the system settings, it states that the application has permission to access location while in use, but it also shows that the application never accessed the location.
I am using a custom ROM with microG.
Android 10
e/OS 1.11
Hi,
I just translated the software to danish (dk) including the meta texts. Unfortuantly I had to change the file extension for strings-dk in order to add the file here directly.
Please use a better icon.
Like Compass app on Google play store:
https://play.google.com/store/apps/details?id=apps.r.compass
Hello,
Attached (string-es.zip) you'll find the spanish translation for Compass. Hope it can be included in the next release.
Regards
Edgardo
Would a Mastodon account for this project be possible?
Implement haptic feedback when azimuth chages in regular intervals.
Hello.
As an user of F-Droid, i have accepted the update 1.5 since that, the app don't work, displaying the error "sensor not available". I have uninstall the 1.5 version to come back to 1.4, the error is still here.
I am disappointed the app have worked 2 days and feels useful for me.
Please can you add the strength of magnetical field. It would be useful in case there are other magnetical fields disturbing
the compass correctly showing north.
I was on the train, lying on my back and the phone was upside down, i.e. the screen was down to the ground. when I started the compass, the direction was shown the opposite, 180 degrees. the program does not take into account the flip of the screen down. please fix the bug.
I think it would be easier than PR.
I believe the X / Y values are swapped on this line:
https://github.com/Kr0oked/Compass/blob/master/app/src/main/java/com/bobek/compass/util/MathUtils.kt#L53
I was testing 180° remapping and North was in the wrong spot. Swapping these corrected it, and aligns with other implementations:
https://stackoverflow.com/questions/18782829/android-sensormanager-strange-how-to-remapcoordinatesystem
For testing the only way I was able to get into 180° was to start navigating in Google Maps and gesture-nav over to the compass. It's very clunky but unfortunately there does not appear to be a simple way to enable 180° rotations in settings/adb.
I feel the "Compass" title in the interface is unnecessary. If for some reason someone wants to know, they can glance in the open app thing, or just use the about option it provides.
Hello,
can you please show the GPS coordinates and the altitude on the main screen.
Would be really helpful in some cases.
Thanks a lot!
to your fastlane short_description.txt text plus that it is for Android "Simple and beautiful compass for Android."
I think it looks better
Wonderful work! Thank you for providing such a remarkable compass application!
I've noticed two issues that may be further improved:
By contrast, the iPhone default compass APP (maybe the best compass APP I've used in market) almost never has such problems. I only tested the software on a Pixel 2XL phone (I have performed a few '8' for calibration but these issues still may occur).
My question is if this is caused by insufficient calibration of the rotation sensor, or if it's related to the smartphone (and equipped sensor) model?
For now, my doubts for the above two issues are:
Potentially the above are something worth considering. Any ideas about the causes/solutions are appreciated!
Can you add support for Linux and Linux mobile devices like the Pinephone Pro? https://www.pine64.org/pinephonepro/
Showing West as North
When enabling the true north setting, the app will crash and will crash immediately on every subsequent start.
Logcat output:
05-06 12:24:50.394 3791 3791 E AndroidRuntime: FATAL EXCEPTION: main
05-06 12:24:50.394 3791 3791 E AndroidRuntime: Process: com.bobek.compass, PID: 3791
05-06 12:24:50.394 3791 3791 E AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.bobek.compass/com.bobek.compass.MainActivity}: java.lang.IllegalArgumentException: provider doesn't exist: network
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4438)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4470)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7664)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: provider doesn't exist: network
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Parcel.createExceptionOrNull(Parcel.java:2378)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Parcel.createException(Parcel.java:2358)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2341)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:2283)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:1297)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1178)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.location.LocationManager.requestLocationUpdates(LocationManager.java:1139)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.location.LocationManager.requestLocationUpdates(LocationManager.java:931)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at com.bobek.compass.CompassFragment.D(SourceFile:137)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.t0.n(SourceFile:113)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.t0.k(SourceFile:45)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.n0.O(SourceFile:63)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.n0.u(SourceFile:36)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.t0.n(SourceFile:146)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.t0.k(SourceFile:45)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.n0.O(SourceFile:63)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.n0.u(SourceFile:36)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at androidx.fragment.app.x.onPostResume(SourceFile:29)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at d.q.onPostResume(SourceFile:1)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.Activity.performResume(Activity.java:8154)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4428)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: ... 11 more
05-06 12:24:50.394 3791 3791 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at com.android.server.location.LocationManagerService.requestLocationUpdatesLocked(LocationManagerService.java:1964)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at com.android.server.location.LocationManagerService.requestLocationUpdates(LocationManagerService.java:1947)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:540)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Binder.execTransactInternal(Binder.java:1154)
05-06 12:24:50.394 3791 3791 E AndroidRuntime: at android.os.Binder.execTransact(Binder.java:1123)
System details:
LineageOS 18.1
Android 11
I'm not sure if this is technically possible to do, but if android allows it, it would be cool if I could see this compass as a widget on my home screen.
The words "Magnetic North" appear below the compass. However, tapping on the phrase doesn't switch to "True North" as one might expect.
Currently, one must go into the settings to enable or disable declination, which works but could be simpler.
By the way, thank you for making this useful app.
I would love to be able to see the current coordinates and altitude on the compass screen. (And long press to copy them). I feel like this feature really belongs in a compass app.
Somewhat unrelated, but I came here because of the excellent compass app by R. Apps (has been talked about here before) has been bought by some shady company, which now charges 15 euro a week for the ad-free version. I loved that app, I feel like I can only trust open source from now on.
First thank you for the nice compass.
Maybe it would be nice to have an option for calibrating and an option to see the strength of the field (Tesla).
Hello I would Like to contribute to translation in my native language. How can I add my own transactions? Still understanding GitHub so a bit confused
Could you make this compatible with Android 11? The model of my phone is SM-A037U1/DS and this app is shown as "incompatible" in Fdroid.
Refer to pull request #41
I spotted that the language code in the repository has been wrongly changed from nb (values-nb) to nn (values-nn folder).
The pull request was nb and is not the same as nn that is another written language form in Norway.
(nb is the most used officially written language form in Norway, nn is far less used)
Done. Thanks!
After enabling geographic North the app asks for geolocation permissions. Even if I grant the permission it keeps waiting for a location update forever
I'm using Lineage for MicroG (Android 13) for POCO F3.
20-20231001-microG-alioth
lineage_alioth-userdebug 13 TQ3A.230901.001 eng.root.20231001.114356 dev-keys
Here is a screen (Italian language):
Is there any other information/thing I can do/provide to try debug the problem?
Btw thanks for making the app.
I really like it and I consider it the main open source compass app.
I downloaded from F-Droid
Readmi note 8 pro
Android 11
Verson: 1.13.0
If I start the True North without the location on it gives me error. Its one of the most occurred errors, that's why I think it can have its own error handling. And not just pop up with default message.
And maybe it would be even better to find out if the location is on/off and then try starting the True North.
Cant you do what Google maps do and ask user and if user agree then turn on the location for him?
Or just do the error pop up nicer. Something like this:
No title
For True North to work correctly, it needs your location. May you turn it on?
hello there,
I am a screen reader user (Google Talk back.) and I am currently attempting to utilize the compass app. While the user interface appears decent for screen reader compatibility, it falls short of being optimal. I kindly request the addition of text-to-speech support. This enhancement would ensure that whenever I adjust the orientation of my phone, the updated coordinates are automatically announced. This feature would significantly improve the overall accessibility of the app for users with visual impairments, making it a more inclusive and user-friendly experience. Your consideration of this request is greatly appreciated.
This may be done in several steps
I would add numbers of languages with translations (all types)
Hi,
could you please consider adding a sound when North is reached?
Since some users may not want it, it should be possible to enable and disable with a button near the actual ones
Speaking about where you can find open source sounds, I found:
https://github.com/akx/Notifications
where "Sharp.ogg" inside the OGG folder seems good enough, a very short sound not too intrusive
v 1.3 from F-Droid
Thanks
I just noticed that when I try to use Compass indoors it shows a "Waiting for Location Update" warning with a spinning circle. This happened because I had enabled "True North", which depends on GPS.
Falling back to magnetic North was fine, but it would have been better if Compass let me use the last known location.
Ideally, I'd be able to change the magnetic correction manually in Settings by specifying an angle. Optionally, it would be nice to set the offset by simply tapping on a map of the world.
Woulf you be willing to also add a "level" indicator to this app? Sometimes it would be nice to also see the device's orientation in relation to gravity.
This could be added on a second "page" accessible by a bottom bar.
I'd also be willing to try to implement this and create a PR if you like.
Sorry for the premature posting.
I think its like that used everywhere, so why change it?
As the title says.
Version: 1.5
Can add manual true north correction?
Hello, could you please provide the APK file for new releases?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.