Code Monkey home page Code Monkey logo

omweather's Introduction

Send a coffee to [email protected] 
RadarWeather Gas Prices Smart Eggtimer
Bubble hEARtest GPS Cockpit
Audio Analyzer LavSeeker TimeLapseCam
Arity Cirrus solXpect
gptAssist dumpSeeker huggingAssist
FREE Browser

Cirrus

Weather and rain radar for any location - worldwide

This application is derived from Privacy Friendly Weather (https://github.com/SecUSo/privacy-friendly-weather).

The original function has been modified to support the new open source API from Open-Meteo.com with free access for non-commercial use. In addition a rain radar functionality powered by RainViewer API (https://www.rainviewer.com/api.html) is available.

If permission for GPS is given the widget will automatically update position on a regular base.

License

This app - like the original app Privacy Friendly Weather - is licensed under the GPLv3, © woheller69.

The app also uses:

Contributing

If you find a bug, please open an issue in the Github repository, assuming one does not already exist.

  • Clearly describe the issue including steps to reproduce when it is a bug. In some cases screenshots can be supportive.
  • Make sure you mention the Android version and the device you have used when you encountered the issue.
  • Make your description as precise as possible.

If you know the solution to a bug please report it in the corresponding issue and if possible modify the code and create a pull request.

omweather's People

Contributors

littlecd avatar mrestivill avatar ondern avatar phyrz91 avatar usland123 avatar woheller69 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

omweather's Issues

GPS location doesn't work

Describe the bug
When I run the app from my device, and I try to tap the location button, it just blinks forever and my location stays at Null Island. All location permissions are given.

Environment (please complete the following information):

  • App version: 6.2 through F-Droid
  • Android version: 12
  • Device: Redmi Note 9 Pro

Weekday icon behavior is unreliable

It seems to me that currently the week section inside the app shows the most cloudy weather of the day as the icon for the day. For example, if on Thursday there is one hour of clouds say at 2 am, and the rest of the day is sunshine, the icon for Thursday would show Clouds as the icon for the whole day. This makes that icon basically unreliable.

Would it be possible to change the behavior so that the icon for the whole day would be maybe some kind of average for the day (or possibly even the daytime hours)?

"no network" error after latest update from F-Droid

Updated from F-Droid today, app completely stopped working with mentioned error in a toast (mobile network, didn't try wifi yet). The widget displayed 0°K for the next 10 hours or so and the app didn't work either.

Have always Netguard activated and omweather worked fine with it before the update. Now deactivated Netguard and it works again. Reactivated Netguard - and it still works.

Ok, that is probably the weirdest bug report in a pretty long time but it happened like that ;(

Request: Icon legend

While most of the icons are self explanatory it would still be helpful to have a way to see all the icons and what they represent.
Otherwise great, thanks.

Select location when adding widget

Please offer selecting a location when adding widget. Currently all widgets display info for the location at the top of the location list.

repeatedly stops working

type: crash
osVersion: google/oriole/oriole:13/TQ2A.230505.002/2023060700:user/release-keys
package: org.woheller69.omweather:16
process: org.woheller69.omweather
processUptime: 154 + 222 ms

java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.isEmpty()' on a null object reference
	at org.woheller69.weather.ui.RecycleList.CityWeatherAdapter.onBindViewHolder(CityWeatherAdapter.java:357)
	at org.woheller69.weather.ui.RecycleList.CityWeatherAdapter.onBindViewHolder(CityWeatherAdapter.java:40)
	at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7254)
	at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7337)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6194)
	at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6460)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300)
	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296)
	at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
	at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
	at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at androidx.recyclerview.widget.RecyclerView$LayoutManager.layoutDecoratedWithMargins(RecyclerView.java:9878)
	at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1689)
	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4309)
	at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4012)
	at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java:527)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
	at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1213)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:899)
	at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:919)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at androidx.drawerlayout.widget.DrawerLayout.onLayout(DrawerLayout.java:1263)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
	at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1891)
	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1729)
	at android.widget.LinearLayout.onLayout(LinearLayout.java:1638)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
	at com.android.internal.policy.DecorView.onLayout(DecorView.java:799)
	at android.view.View.layout(View.java:23716)
	at android.view.ViewGroup.layout(ViewGroup.java:6413)
	at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:4093)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3434)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2346)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9190)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
	at android.view.Choreographer.doCallbacks(Choreographer.java:899)
	at android.view.Choreographer.doFrame(Choreographer.java:832)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7903)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ExecInit.main(ExecInit.java:49)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)

Add location: Menu of location proposals can't be scrolled

Describe the bug
In portrait format, the location proposals menu can not be scrolled. So, for non-uniquely named locations there's often no opportunity to be selected.

How to Reproduce

  • Use a small device like a smartphone in portrait format
  • Open the Manage Locations screen
  • Tap the FAB
  • Tap the input field
  • Type e.g. "Hahn" (or "Sülz")
  • Try scrolling the overflowing menu

Expected behavior
Like in landscape mode, the location proposals menu should be scrollable.

Environment:

  • App version: 2.1 from F-Droid
  • Android version: stock Fairphone v10, no changes other than updating GMS and webview
  • Device: Fairphone 3

Background transparency

Feature request

A transparent background will allow for better integration of the widget into the user's home screen, and thus improve user experience.

Environment

  • App version: v1.5
  • Android version: MIUI 14.0.1
  • Device: Xiaomi Mi 11T Pro
  • Home app: Kiss Launcher v. 3.20.0

[question] Arbitrary coordinates

In the F-droid app page the first screnshot says 48.17° / 11.76°. How do I have such an arbitrary position instead of a city? My municipality spans over ~10 km, so I am checking the weather on a small bordering municipality, which is reasonably near my house. This works but ideally I would set an arbitrary location.

Dynamic Location

Cities can be added to the list of the "weather forecast" or the "Spritpreise" but how can I add a "dynamic" location based on my GPS informations?

Thanks.

Precipitation Units Snow vs. Rain

I think the units of precipitation for snow is incorrect. I'm not sure if this is on open meteo API's side or app's side. My understanding is that snow precipitation units are given in cm, but rain precipitation is given in mm. Currently, the weather app shows mm for both of them.
The screenshots show this bug in play. It snowed 1cm at 22:00 where I was, not 1mm. In the second screenshot I compare the app's values with the values from open meteo api, which correctly produces cm instead of mm.

I'm happy to provide the details of my location in private but I don't think this is necessary.

Screenshot_20230227-223605~2
Screenshot_20230227-224028~2

Pane widths

The different panes are not using the full width but the screen is divided in two. As a consequence, I only see a couple of days or hours. Could the panes be configured to use the full width?

Feels-Like Temperature (Apparent Temperature)

Would it be possible to display the additional apparent_temperature in the app and widget(s)?

apparent_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation

src

Can't find widget

Describe the bug
I can't find the widget. All others are there, also e.g. RadarWeather. I even uninstalled the latter and afterwards reinstalled omweather, still no widget.

How to Reproduce
I just installed the app

Expected behavior
Widget show up in widget section or in long press action of the app-starter.

Environment (please complete the following information):

  • App version: 1.2
  • Android version: Lineageos 18.1
  • Device: Samsung SM-A520F

Show date of most recent weather update

At the moment, omWeather shows the time (hours and minutes) that the user last updated the weather. However, it does not show the date (year, month, day). If I am frequently offline, and only use omWeather to check the weather once a week, a time like "12:34" is not helpful for determining whether or not the weather data displayed by omWeather is still relevant. I would not be able to tell that the data is outdated by 7 days, 6 days, 5 days, etc.

Used Weather Station

Product enhancment

  • acual situation
    Ether you select a city/location or you get the location via gps.

  • GPS location
    It would be nice to see which weather station is used in the gps modus.

App says "no internet connection"

Describe the bug
App does not show any weather data but keeps saying "no internet connection".

How to Reproduce
Steps to reproduce the behavior:

  1. Opening up omWeather App
  2. clicking on "Weather" in the Menu (shows a blank screen)
  3. Clicking refresh-Button on the top (results in "no internet connection" message within in the app)

All other apps on the device do have internet connection without any issues. RainRadar in the same app works fine.

Interesting: Tried RadarWeather, which also is not able to load any weather data except the RainRadar. Error message is different: "Error loading weather data. Please try again later." (free translation from German)

Expected behavior
App might show weather data when I click on "weather".

Screenshots
No.

Environment (please complete the following information):

  • 1.4
  • Android 8.1
  • GS185

Weekly widget is cut off

The weekly widget is shown cut off my phone (Oneplus 8T with LineageOS 19.1). After tapping on the widget and open the app, it is normal. But after opening other apps it is getting cut off again.

IMG_20230304_192533

Wrong weather symbol

Describe the bug
Wondering if latest version has ug for hourly and day weather icon. Last week was very sunny and hot. Om showed reasonable temp, wind etc but only ever showed total cloud for during the day. Multiple other apps correctly showed day and hours as sunny.

How to Reproduce
Steps to reproduce the behavior:

Use the app.

Expected behavior
Accurate weather icon.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • App version: v2. 0
  • Android version: 10
  • Device: Honor View 20

Thanks

Precipitan VS Snow VS Rain

Greetings,

I stumbled on to your app through f-droid and I'm floored at how feature rich it is... And OMG ad-free!

I only had a handful of suggestions:

  1. Maybe offer a way to distinguish between rain and snow? I saw the API provides values for these in addition to precipitation.
  2. Provide conversion from mm to inches for us 'muricans 😂
  3. Provide some sort of chart and icon legend to help understand the data 🥴

Weather sync

Weather widget will not sync automatically.

Huawei P40 Pro without Google services.
omweather is excepted from energie saver and have permission to work in background.

wrong layout with RTL

Hello

OS: Android 11
System Language: Arabic
Results: omweather shows wrong layout in some parts

Screenshot_1

Screenshot_2

Wunsch - material Icons

Ich liebe minimaliatische Ansichten.
Deswegen wünsche ich mir für die dunkle Ansicht Material weiß Icons und für das helle Design schwarze Icons

Wrong Layout - not readable

Icon & text in the widget are on top of each other. I just installed current version from f-droid. Would like it, cause it is not overloaded and well designed.

IMG_20230925_100926

The same,with the other small widget

I'm using XIAOMI Poco with MIUI Global 14.0.4 and Android 13.

Rain prediction showing (-) value

Describe the bug
What I see is the rain prediction shows (-) value mm.
I could imagine it is somehow the weather API causing the issue.

Screenshots
1 Screenshot_20230615-120046

2 Screenshot_20230617-160722

Environment (please complete the following information):

  • App version: v1.8
  • Android version: 10 & 12
  • Device: Huawei and Motorola

date missing

Hello,
I'm wonder if you can add the date ? Because from my point of view, it will be a little improvement.
As we can see on this picture, it's "saturday" but we don't have the date.
With the latest update, the people can choose a range (between 8 or 16 days) that's why it could be the current week (unless it's the next week).
Kind regards.

Rain Radar disappears when rotating device

Describe the bug
Rain Radar disappears when rotating device

How to Reproduce
Steps to reproduce the behavior:

  1. Go to Rain Radar
  2. Rotate device

Expected behavior
Rain Radar persists there

Screenshots
Before rotation
Screen Shot 2023-09-10 at 5 16 45 PM

After rotation
Screen Shot 2023-09-10 at 5 16 53 PM

Rotation clears selected city

Describe the bug
Select a city in Manage Locations and rotate device. The location in map becomes invalid.

How to Reproduce
Steps to reproduce the behavior:

  1. Go to Manage Locations
  2. Click on Add
  3. Specify city name
  4. Rotate device

Expected behavior
The location persists in the map

Screenshots
Before rotation
Screen Shot 2023-09-10 at 5 09 08 PM

After rotation
Screen Shot 2023-09-10 at 5 09 18 PM

Widget background transparency

This is a feature request aiming to improve user experience. A transparent background will allow for better integration of the widget into the user's home screen.

[Feature request] Layout options

Hello and thanks so much for this app. After trying many weather apps I finally settled with this one. Not only it's well done and easy to use, but I also like how Open Meteo doesn't require API keys and using Rain Radar is optional.

I wanted to ask if it would be possible to allow choosing how the weather "boxes" (daily, weekly, chart, etc) are arranged: on my phone they're on a single column, one below the other, while on my tablet they're arranged on 2 columns (like in the screenshots you have here on github.) My tablet however is not large enough so I find those very difficult to read.

It would be great if it was toggleable (1 or 2 column layout.)

On a side note I think it would be useful if humidity (RH) value could be optionally made visible in the weekly view - not sure if it can be done.

Thanks again for your work!

Poor readability in main weather screen due to low contrast

In both light and dark mode, readability of the main screen is poor due to low contrast of text and background.

In light mode, its dark blue text on light blue background.
In dark mode, its grey text on black background.

This is not ideal. Please use colors that provide more contrast. And/or use a heavier or bold font.

App ingores "update interval" option

The app is accessing my location and contacting an online service mutiple times per hour no matter my settings.
This not only uses batter power but also makes unnecessary connections which may have privacy implications since it's happening so often.

How to Reproduce
Steps to reproduce the behavior:

  1. Install omWeather on an Android device.
  2. Allow access to GPS.
  3. Set "update interval" to an arbitrary value.
  4. Monitor the connections the app makes.
  5. The app connects to an online service and accesses the device location multiple times per hour.

Expected behavior
I assume the app should make as few connections as possible. I'd much prefer one or two connections per day and that's it. The app should respect the "update interval" setting.

Screenshots
Screenshot_20230312-155706
Screenshot_20230312-155722
Screenshot_20230312-160932

Environment (please complete the following information):

  • App version: v1.2
  • Android version: 13
  • CalyxOS version: 4.6.1
  • Device: Fairphone 4 5G

Broken widget

Its stuck on 42°C and doesnt show temperature :(

[feature] Rain viewer map

What about having a rain forecast map also in this app? It is very convenient to choose the destination and duration of a trip outside. Thank you!

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.