GithubHelp home page GithubHelp logo

compass's People

Contributors

fjuro avatar ftno avatar inson1 avatar jalalx avatar klaudiakl avatar komandotayfa avatar kr0oked avatar linarphy avatar nanich87 avatar omlineeditor avatar onerc avatar poussinou avatar quazar-omega avatar titanicbobo avatar tomo90 avatar willersonsp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

compass's Issues

True North

Can add manual true north correction?

[Feature] Add Level

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.

GPS coordinates

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!

Nicer UI

I think the name of the app and the icons on top of the page are too small.
And the compass is little bit too high.
What do you think?

Screenshot_2023-10-16-07-29-46-521_com.bobek.compass.jpg

Enabling true north doesn't work

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

Show location and altitude.

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.

Crash on enable true north setting

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

UI

and where is actually the beauty itself?
Just circle with graduations,
Though that minimlism a value in itself.

Just example:
image

Add a home screen widget

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.

Add a language

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

North and South reversed for Australia

  • The title says it all.
  • We had a magnetic compass pointing North
  • The app was pointing South
  • As it says we are in the Southern Hemisphere, Australia.
  • Tried the calibration figure 8 thing still pointing the wrong way.

update to 1.5 cause trouble to the app

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.

Remove app name from interface

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.

wrong direction to the north if you flip the phone

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.

Bug

When giving permission to the sensor it still display "sensor not available" message.

Screenshot_20230314-224805

Spanish translation

Hello,
Attached (string-es.zip) you'll find the spanish translation for Compass. Hope it can be included in the next release.

Regards
Edgardo

strings-es.zip

Show bearing

This may be done in several steps

  1. Enter an arbitrary bearing to see a mark on the compass like the one indicating north.
  2. If the app uses GPS (see #4), enter destination coordinates for the app to calculate the bearing.
  3. Enter a series of waypoints and switch automatically to the next when reaching current.

Keeps "waiting for location" after enabling geographic north

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.

  • OS version: 20-20231001-microG-alioth
  • Build number: lineage_alioth-userdebug 13 TQ3A.230901.001 eng.root.20231001.114356 dev-keys
  • App version is 1.11.4
  • GPS and Bluetooth are enabled
  • I granted permissions for Mozilla Unified Npl Backend (Mozilla location service)
  • tried uninstalling/clearing local data several time

Here is a screen (Italian language):
Screenshot_20231024-222729_Bussola

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.

Jiggle and (relatively) slow response of heading

Wonderful work! Thank you for providing such a remarkable compass application!

I've noticed two issues that may be further improved:

  • Jiggle of the heading. When using the compass, sometimes the heading jiggles a bit. For example, even if I put the phone on a flat, stationary table, the heading sometimes changes for a few degrees (and may return back or not). Please kindly see https://1drv.ms/v/s!AtC6mR0eG_AMav19bMorYzsFWoo?e=MwsHo3 as a short video that shows the issue.
  • Slow response of the heading. Sometimes it takes a while for the heading to be stable (even if the sensorListener is configured as 'SENSOR_DELAY_FASTEST'). Please see https://1drv.ms/v/s!AtC6mR0eG_AMawc4t0MtguIvmjw?e=3ddbzb for the phenomenon.

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:

  • Jiggle of the heading. This probably boils down to the sensor noise or similar. Perhaps a low pass filter on the azimuth outputs can smooth it?
  • Slow response of the heading. I doubt if this is caused by inherent features of 'Sensor.TYPE_ROTATION_VECTOR', which is a software sensor based on sensor fusion between magnetometer, gyroscope and accelerometer. It can provide accurate results when being relatively stationary, but performs worse otherwise. Therefore, when the pose of phone changes fast there may be a delay for the azimuth to be stable.

Potentially the above are something worth considering. Any ideas about the causes/solutions are appreciated!

Better Error handling of location off error during turning on True North

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.

Screenshot_2023-10-16-06-33-26-115_com.bobek.compass.jpg

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?

Incompatibility with Android 11

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.

display strength of magnetical field

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.

180° remapping does not work properly

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.

Wrong language code change

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)

APK in releases

Hello, could you please provide the APK file for new releases?

emit a sound when North is reached

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

add support for screen reader (google talk back)

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.