forrestguice / suntimescalendars Goto Github PK
View Code? Open in Web Editor NEWA calendar provider add-on for Suntimes.
License: GNU General Public License v3.0
A calendar provider add-on for Suntimes.
License: GNU General Public License v3.0
The "calendar window" is only used when initially adding calendars (triggered by clicking a checkbox), however the pref implies that calendars are periodically updated. Entries should be periodically added and removed to keep calendars in sync within this window.
Currently adding or removing entries is a one-time event triggered by the user. They must uncheck/recheck the enabled pref to get calendars in sync. Considering the "window" is specified in years this isn't really much of a problem, but it would be really nice if it was automatic.
If you like I can make a translation to Dutch for the calendar app. But please tell me how or better, prepare the file.
It would be awesome if there was support for eclipses. Not sure if that really falls in line with the objective of this app, but I just thought it was worth mentioning. Thanks for your past and future work.
Closing the app while adding calendars kills the running task. The result is calendars that are incomplete or missing. A progress dialog was added to prevent this from happening accidentally. A dialog is better than no feedback at all, but it doesn't actually prevent the problem.
To reproduce...
Environment Info:
APK Version: 0.5.4 (14)
Android version: 6.0.1
Expected behavior:
The app pop up a dialog, which prompts that ”The device lacks a calendar application“.
Repro Steps:
The stack trace:
FATAL EXCEPTION: main
Process: com.forrestguice.suntimescalendars, PID: 2120
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://com.android.calendar/time/1628498624827 flg=0x10000000 }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1798)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512)
at android.app.Activity.startActivityForResult(Activity.java:3942)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.app.Activity.startActivityForResult(Activity.java:3902)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at android.app.Activity.startActivity(Activity.java:4231)
at android.app.Activity.startActivity(Activity.java:4199)
at com.forrestguice.suntimeswidget.calendar.SuntimesCalendarActivity.onOptionsItemSelected(SuntimesCalendarActivity.java:494)
at android.app.Activity.onMenuItemSelected(Activity.java:2926)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:408)
at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:195)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:113)
at android.support.v7.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:113)
at android.support.v7.app.ToolbarActionBar$2.onMenuItemClick(ToolbarActionBar.java:69)
at android.support.v7.widget.Toolbar$1.onMenuItemClick(Toolbar.java:206)
at android.support.v7.widget.ActionMenuView$MenuBuilderCallback.onMenuItemSelected(ActionMenuView.java:776)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:822)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:156)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:969)
at android.support.v7.view.menu.MenuPopup.onItemClick(MenuPopup.java:127)
at android.widget.AdapterView.performItemClick(AdapterView.java:310)
at android.widget.AbsListView.performItemClick(AbsListView.java:1145)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3066)
at android.widget.AbsListView$3.run(AbsListView.java:3903)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5539)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Do you confirm this bug? Thank you.
They're already in the regular suntimes app, but it would be convinient to have them automatically added to my calendar as well, without having to manually copy things over.
The device vibrates whenever the notification is shown (and every time the notification is updated). It gets to be pretty annoying.
The previous versions of the app didn't do this. The bug is recently introduced (with support for notification channels). I failed to notice it during testing, probably because the emulator doesn't vibrate 😅, but its hard to miss when testing on an actual device.
Hi,
I saw that the new version is availible on frdroid. It looks good. I will do soon a few modifications (spelling mistakes and so on). If you like I can make also a translation for the main app I you will prepare the file and will send me the link.
Jop
That is, one for sunset (every day), one for sunrise (ditto), one for moon rise, for nautical twilight and so on and so on....
I currently create my own with pyephem and import them, but I'm sure others would appreciate it happening via an app like this.
Use-Case: I want to be notified of important astronomical events via the calendar app's existing notification mechanism. It does me little good to have events in my calendar if I have to manually poll the calendar to see if anything is happening. While Suntimes itself offers an alarm feature, I want to be able to use the calendar instead in some cases, e.g. for different do-not-disturb handling.
When calenders are added to Google Calendars app, Google Calendars allows configuring "default notifications" for all events that will be added, but all events from Suntimes have already been added with no notifications, so these do not take effect. Removing and readding the calendars doesn't work because it destroys the notification settings.
It seems possible that Suntimes calendar integration will need to provide a UI for configuring notifications, and then import the events with notification settings already baked into each event. It might also work if adding the calendar and adding the events are separate steps, so that users can configure the defaults in the other app first before importing the events.
Device: OnePlus 6
Android version: 9
I have an issue where any twilight calendars have their entries added from 1 Jan 1970, i.e. the beginning of the epoch time.
Opening my calendar app on an arbitrary date shows the following:
All events has their start time on 1 Jan 1970 01:00 and end time when the actual sunrise or sunset takes place. Thus, the events have a duration of about 49 years.
This only seems to happen for the following three calendars:
The moon calendars work the way they should.
A screenshot of the settings page, with both windows set to one year:
In summary:
Expected results
Actual results
The app needs a launcher icon.
It should incorporate the shapes and colors (half circles, yellows/oranges) that are found in the Suntimes icon, somehow combined with calendar iconography.
The app itself isn't a Calendar but more like a bridge between Suntimes and the Calendar app - the icon should probably reflect that, and not inadvertently mislead users into thinking they are opening the Calendar itself.
Hello,
Thank you for the excellent app. Is there an easy way to export the calendar data to add into Google Calendar or Gnome Calendar? I currently do not have an Android device, so I thought I could run Android in an emulator on Linux, but I don't have a good system for that.
It would be nice if there was a choice to add each separate category individually solstice, equinoxes and moon phases.
Say you only wanted solstices and moon phases but not equinoxes, or only moon phases or soldiers and equinoxes..
Let the user chose in which Calendar-App he want to import the Suntimes Calendar, when there are more than one Calendar-Apps is installed.
For example the Default-Android Etar Calendar App is installed and a second one the Fossify-Calendar.
The Etar Calendar is the default Calendar, and all the Suntimes Calendar should go to the Fossify-Calendar-App.
open suntimes calendar 0.6.0 select moon and solstice options then slide calendar integration after the process is done without any errors open the calendar app yet do not see the supplied events
Suntimes (5) Android 10
Support for older devices to be dropped (and the version bumped to v1.0.0) at the same time the Suntimes app drops support (anticipated ~spring 2019). At that time the build tools and support libs will be updated to the latest versions.
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.