├── ggt ├── ggt_tools ├── .gcloudignore ├── requirements.txt ├── cron.yaml ├── app.yaml ├── assetlinks.json └── index.html ├── settings.gradle ├── app ├── lint.xml ├── src │ ├── test │ │ ├── resources │ │ │ ├── jres_2022.ics │ │ │ ├── jres_2022.json │ │ │ ├── kielux_2020.json │ │ │ ├── fosdem_2021.json │ │ │ └── linux_conf_au_2020.json │ │ └── java │ │ │ └── android │ │ │ └── util │ │ │ └── Log.java │ └── main │ │ ├── res │ │ ├── drawable │ │ │ ├── ic_warning.png │ │ │ ├── schedule_line_background.xml │ │ │ ├── burger_menu_active_background.xml │ │ │ ├── schedule_item_remind_background.xml │ │ │ ├── round_button.xml │ │ │ ├── menu_gradient.xml │ │ │ ├── ic_arrow_back_white_32dp.xml │ │ │ ├── ic_arrow_forward_white_32dp.xml │ │ │ ├── widget_head.xml │ │ │ ├── widget_bottom.xml │ │ │ ├── ic_clear_black_24dp.xml │ │ │ ├── ic_calendar_24px.xml │ │ │ ├── ic_search_black_24dp.xml │ │ │ ├── ic_history_black_24dp.xml │ │ │ └── ic_search_white_24dp.xml │ │ ├── drawable-hdpi │ │ │ ├── ic_warning.png │ │ │ ├── deoxide_icon.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_menu_white_24dp.png │ │ │ ├── ic_place_black_24dp.png │ │ │ └── ic_settings_white_24dp.png │ │ ├── drawable-xhdpi │ │ │ ├── deoxide_icon.png │ │ │ ├── ic_warning.png │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_menu_white_24dp.png │ │ │ ├── ic_place_black_24dp.png │ │ │ ├── ic_schedule_white_48dp.png │ │ │ └── ic_settings_white_24dp.png │ │ ├── drawable-mdpi │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_menu_white_24dp.png │ │ │ ├── ic_place_black_24dp.png │ │ │ └── ic_settings_white_24dp.png │ │ ├── drawable-xxhdpi │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_menu_white_24dp.png │ │ │ ├── ic_place_black_24dp.png │ │ │ └── ic_settings_white_24dp.png │ │ ├── drawable-xxxhdpi │ │ │ ├── ic_add_white_24dp.png │ │ │ ├── ic_menu_white_24dp.png │ │ │ ├── ic_place_black_24dp.png │ │ │ └── ic_settings_white_24dp.png │ │ ├── xml │ │ │ ├── paths.xml │ │ │ ├── widget_info.xml │ │ │ └── preferences.xml │ │ ├── values-nl │ │ │ └── arrays.xml │ │ ├── values-cs │ │ │ └── arrays.xml │ │ ├── values-it │ │ │ └── arrays.xml │ │ ├── values-de │ │ │ └── arrays.xml │ │ ├── values-fr │ │ │ └── arrays.xml │ │ ├── layout │ │ │ ├── burger_menu_item.xml │ │ │ ├── round_button.xml │ │ │ └── widget_layout.xml │ │ ├── menu │ │ │ └── scheduleviewactivity.xml │ │ ├── drawable-night-v29 │ │ │ ├── ic_history_black_24dp.xml │ │ │ └── ic_search_black_24dp.xml │ │ ├── values-night-v29 │ │ │ └── styles.xml │ │ ├── values-v27 │ │ │ └── styles.xml │ │ ├── values-v29 │ │ │ └── styles.xml │ │ └── values │ │ │ ├── arrays.xml │ │ │ └── styles.xml │ │ └── java │ │ └── net │ │ └── gaast │ │ └── giggity │ │ ├── MyItemsView.java │ │ └── ScheduleViewer.java └── proguard-nomini.txt ├── play ├── feature.png ├── giggity-search.png ├── giggity-tablet.png ├── giggity-tracks.png ├── giggity-widget.png ├── giggity-chooser.png ├── giggity-nownext.png ├── giggity-eventdialog.png ├── giggity-timetable.png ├── giggity-blockschedule.png └── feature-blockschedule.diff ├── gimp ├── notification.png └── notification.xcf ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── menu ├── osc_2024.json ├── entreelibre2.json ├── emf_2024.json ├── datenspuren_2023.json ├── fri3d_2024.json ├── newline2023.json ├── easterhegg22.json ├── datenspuren_2024.json ├── privacyweek_2019.json ├── debconf22.json ├── indiafoss_2024.json ├── kiwipycon_2023.json ├── pycon_es_2022.json ├── fossgis_2024.json ├── fossgis_2025.json ├── ubuntu_summit_2024.json ├── flosscon_2022.json ├── foss4g_europe_2024.json ├── kicon_asia_2024.json ├── lit_2023.json ├── lit_2024.json ├── newline2022.json ├── datenspuren_2021.json ├── kicon_europe_2024.json ├── privacyweek_2018.json ├── lit_2019.json ├── hope_2020.json ├── opensouthcode_2019.json ├── osc_2025.json ├── hope_2022.json ├── sstic_2025.json ├── datenspuren_2019.json ├── jdll_2019.json ├── linux_plumbers_conference_2024.json ├── umdh_2023.json ├── cfgmgmtcamp_2019_ghent.json ├── debconf21.json ├── emf2022.json ├── hackover_2023.json ├── jres_2019.json ├── sfscon_2024.json ├── vvoid-camp-2022.json ├── fossasia_2022.json ├── fossasia_2023.json ├── ietf104.json ├── minidebconfindia2021.json ├── packaging_con_2023.json ├── piandmore_125.json ├── matomocamp_2021.json ├── pycon_fr_2019.json ├── seagl_2023.json ├── sotm_eu_2024.json ├── tuebix_2019.json ├── pycon_fr_2024.json ├── spathum24.json ├── opensouthcode_2023.json ├── opensouthcode_2024.json ├── piandmore_13.json ├── parisweb_2022.json ├── jdll_2022.json ├── jdll_2023.json ├── jdll_2024.json ├── gpn21.json ├── gpn22.json ├── moca2024_it.json ├── 35c3_main_rooms_only.json ├── bibliocon24.json ├── installfest_2019.json ├── 35c3_new_and_merged.json ├── hackerhotel_2023.json ├── fossasia_2021.json ├── hackerhotel_2025.json ├── cfgmgmtcamp_2024_ghent.json ├── geopython_2022.json ├── hackerhotel_2024.json ├── bibliocon25.json ├── thsf_2023.json ├── cloudland_2023.json ├── ripe79.json ├── geodaysit_2023.json ├── pses_2024.json ├── easterhegg20.json ├── iger_2023.json ├── pgconfeu2022.json ├── rml_13.json ├── jres_2022.json ├── sotm_2021.json ├── alchimie_13.json ├── forum_php_2020.json ├── geopython_2024.json ├── kontaktdaskulturfestival2024.json ├── passthesalt_2022.json ├── sotm_eu_2023.json ├── foss4g_2024.json ├── grcon23.json ├── nixcon2022.json ├── oss_eu_2019.json ├── sotm_2024.json ├── cccamp19_main_rooms_only.json ├── foss4g_2023.json ├── hackmas24.json ├── pyladiescon_2023.json ├── everything_open_2025.json ├── sotm_2022.json ├── vcfb_2020.json ├── sfscon_2022.json ├── 38c3_merged.json ├── libreplanet_2020.json ├── libreplanet_2021.json ├── all_systems_go_2023.json ├── kielux_lpd_2020.json ├── ietf121.json ├── bitcoin_amsterdam_2022 ├── mch2022.json ├── wikimania_2019.json ├── bitcoin_amsterdam_2023 ├── sfscon_2021.json ├── bitcoin_amsterdam_2024 ├── kielux_2020.json ├── parisweb_workshops_2023.json ├── kielux_lpd_2021.json ├── sfscon_2023.json ├── froscon_2022.json ├── libreplanet_2022.json ├── libreplanet_2023.json ├── parisweb_2021.json ├── 38c3_main_rooms_only.json ├── hacklu_2023.json ├── parisweb_2023.json ├── rc3_2021.json ├── bibtag22.json ├── bornhack_2022.json ├── bornhack_2023.json ├── bornhack_2024.json ├── kielux_lpd_2022.json ├── kielux_lpd_2023.json ├── matrixconf_2024.json ├── mrmcd_2024.json ├── kielux_lpd_2024.json ├── pgdayparis_2022.json ├── pgdayparis_2023.json ├── kielux_2021.json ├── libreoffice_libocon_2024.json ├── pycon_au_2024.json ├── wicmp_2025.json ├── bibliocon23.json ├── installfest_2020.json ├── capitole_du_libre_2019.json ├── forum_php_2022.json ├── fosdem_2021.json ├── fosdem_2022.json ├── capitole_du_libre_2018.json ├── fossy_2023.json ├── installfest_2022.json ├── sotm_fr_2024.json ├── hip_berlin_2022.json ├── bibtag20.json ├── linux_conf_au_2020.json ├── linuxday_at__2024.json ├── glam_wiki_2023.json ├── froscon_2024.json ├── linux_conf_au_2020_bad.json ├── froscon_2023.json ├── linuxday_at__2022.json ├── linuxday_at__2023.json ├── eurobsdcon_2023.json ├── oat24.json ├── wikimania_2024.json ├── fsck2024.json ├── passthesalt_2023.json ├── passthesalt_2024.json ├── sfscon_2020.json ├── rml_12.json ├── libreplanet_2019.json ├── capitole_du_libre_2023.json ├── capitole_du_libre_2022.json ├── froscon_2020.json ├── diwokiki_2019.json ├── pycon_uk_2023.json ├── linuxday_at_2019.json ├── oscal_2023.json ├── debconf24.json ├── oat23.json ├── capitole_du_libre_2024.json ├── kolt_2019.json ├── promconeu-2019.json ├── kielux_2022.json ├── kielux_2023.json ├── kielux_2024.json ├── linux_conf_au_2019.json ├── pycon_au_2023.json ├── pgconfnyc2023.json ├── glt22.json ├── bsides_london_2023.json ├── 36c3_main_rooms_only.json ├── glt23.json ├── oat22.json ├── ubucon_europe_2019.json ├── linuxdays_2019.json ├── glt25.json ├── foss4g_europe_2024_full.json ├── linuxdays_2023.json ├── linuxdays_2024.json ├── foss4g-sotm-oceania-2023.json ├── wikidatacon_2023.json ├── oat19.json ├── sotm_2019.json └── 37c3_main_rooms_only.json ├── tools ├── ggt.sh └── menu-indent.py ├── .gitignore └── .github └── workflows └── android.yml /ggt/ggt_tools: -------------------------------------------------------------------------------- 1 | ../tools -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /app/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /ggt/.gcloudignore: -------------------------------------------------------------------------------- 1 | .gcloudignore 2 | .git 3 | .gitignore 4 | __pycache__/ 5 | -------------------------------------------------------------------------------- /play/feature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/feature.png -------------------------------------------------------------------------------- /gimp/notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/gimp/notification.png -------------------------------------------------------------------------------- /gimp/notification.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/gimp/notification.xcf -------------------------------------------------------------------------------- /play/giggity-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-search.png -------------------------------------------------------------------------------- /play/giggity-tablet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-tablet.png -------------------------------------------------------------------------------- /play/giggity-tracks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-tracks.png -------------------------------------------------------------------------------- /play/giggity-widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-widget.png -------------------------------------------------------------------------------- /play/giggity-chooser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-chooser.png -------------------------------------------------------------------------------- /play/giggity-nownext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-nownext.png -------------------------------------------------------------------------------- /play/giggity-eventdialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-eventdialog.png -------------------------------------------------------------------------------- /play/giggity-timetable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-timetable.png -------------------------------------------------------------------------------- /ggt/requirements.txt: -------------------------------------------------------------------------------- 1 | dulwich==0.21.6 2 | Flask==2.3.3 3 | google-cloud-storage==2.13.0 4 | jsonschema==4.10.3 5 | -------------------------------------------------------------------------------- /play/giggity-blockschedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/play/giggity-blockschedule.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/test/resources/jres_2022.ics: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/test/resources/jres_2022.ics -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable/ic_warning.png -------------------------------------------------------------------------------- /ggt/cron.yaml: -------------------------------------------------------------------------------- 1 | cron: 2 | - description: "daily refresh" 3 | url: "/update-menu-cache?rev=HEAD" 4 | schedule: every 24 hours 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/ic_warning.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/deoxide_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/deoxide_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/deoxide_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/deoxide_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_warning.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-mdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-mdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_place_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/ic_place_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_place_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-mdpi/ic_place_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_place_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_place_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-hdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-mdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_schedule_white_48dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_schedule_white_48dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_place_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxhdpi/ic_place_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_menu_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxxhdpi/ic_menu_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_place_black_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxxhdpi/ic_place_black_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zverik/giggity/master/app/src/main/res/drawable-xxxhdpi/ic_settings_white_24dp.png -------------------------------------------------------------------------------- /app/src/main/res/xml/paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | android.defaults.buildfeatures.buildconfig=true 2 | android.nonFinalResIds=false 3 | android.nonTransitiveRClass=true 4 | android.useAndroidX=true 5 | // Screws up stacktraces. 6 | android.enableR8.fullMode=false 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Klein 5 | 3 regels 6 | 2 regels 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Malá 5 | 3 řádky 6 | 2 řádky 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Piccolo 5 | 3 righe 6 | 2 righe 7 | 8 | 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Aug 17 09:23:18 BST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/schedule_line_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/burger_menu_active_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/schedule_item_remind_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Petite 5 | 3 lignes 6 | 2 lignes 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /menu/osc_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024062101, 3 | "url": "https://events.opensuse.org/conferences/oSC24/schedule.xml", 4 | "title": "openSUSE Conference 2024", 5 | "start": "2024-06-27", 6 | "end": "2024-06-29", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | ] 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_gradient.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 9 | -------------------------------------------------------------------------------- /menu/entreelibre2.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021071800, 3 | "url": "https://framadrive.org/s/fPHajTWPGLwMrfF/download/Tracim.ics", 4 | "title": "Entrée Libre #2", 5 | "start": "2021-07-28", 6 | "end": "2021-07-31", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://entreelibre.frama.site/", 11 | "title": "Site Web" 12 | } 13 | ] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /menu/emf_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024052401, 3 | "url": "https://www.emfcamp.org/schedule/2024.frab", 4 | "title": "Electromagnetic Field 2024", 5 | "start": "2024-05-30", 6 | "end": "2024-06-02", 7 | "timezone": "Europe/London", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.emfcamp.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_back_white_32dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_arrow_forward_white_32dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /menu/datenspuren_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023091399, 3 | "url": "https://talks.datenspuren.de/ds23/schedule.xml", 4 | "title": "Datenspuren 2023", 5 | "start": "2023-09-15", 6 | "end": "2023-09-17", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://datenspuren.de/2023/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/fri3d_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024071802, 3 | "url": "https://content.fri3d.be/fri3dcamp2024/schedule/export/schedule.xml", 4 | "title": "Fri3d Camp 2024", 5 | "start": "2024-08-16", 6 | "end": "2024-08-18", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://fri3d.be/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/newline2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023032800, 3 | "url": "https://events.hackerspace.gent/en/newline2023/public/schedule.xml", 4 | "title": "Newline 2023", 5 | "start": "2023-03-31", 6 | "end": "2023-04-02", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://newline.gent/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/widget_head.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /menu/easterhegg22.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025040900, 3 | "url": "https://cfp.eh22.easterhegg.eu/eh22/schedule/export/schedule.xml", 4 | "title": "Easterhegg 2025", 5 | "start": "2025-04-18", 6 | "end": "2025-04-21", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://eh22.easterhegg.eu/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/widget_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /menu/datenspuren_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091600, 3 | "url": "https://talks.datenspuren.de/ds24/schedule/export/schedule.xml", 4 | "title": "Datenspuren 2024", 5 | "start": "2024-09-20", 6 | "end": "2024-09-22", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://datenspuren.de/2024/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/privacyweek_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019100400, 3 | "url": "https://fahrplan.privacyweek.at/schedule.xml", 4 | "title": "PrivacyWeek 2019", 5 | "start": "2019-10-21", 6 | "end": "2019-10-27", 7 | "metadata": { 8 | "icon": "https://privacyweek.at/icon-256x256.png", 9 | "links": [ 10 | { 11 | "url": "https://privacyweek.at/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/debconf22.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022061400, 3 | "url": "https://debconf22.debconf.org/schedule/pentabarf.xml", 4 | "title": "DebConf 22", 5 | "start": "2022-07-17", 6 | "end": "2022-07-24", 7 | "timezone": "Europe/Belgrade", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://debconf22.debconf.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/indiafoss_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024090300, 3 | "url": "https://fossunited.org/files/calendar.ics", 4 | "title": "IndiaFOSS 2024", 5 | "start": "2024-09-07", 6 | "end": "2024-09-08", 7 | "timezone": "Asia/Kolkata", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://fossunited.org/indiafoss/2024", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } -------------------------------------------------------------------------------- /menu/kiwipycon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081301, 3 | "url": "https://pretalx.com/kiwi-pycon-xii-2023/schedule/export/schedule.xml", 4 | "title": "Kiwi PyCon XII 2023", 5 | "start": "2023-09-15", 6 | "end": "2023-09-17", 7 | "timezone": "Pacific/Auckland", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://kiwipycon.nz/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/pycon_es_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022092701, 3 | "url": "https://charlas.2022.es.pycon.org/pycones2022/schedule/export/schedule.xcal", 4 | "title": "PyCon Es 2022", 5 | "start": "2022-09-30", 6 | "end": "2022-10-02", 7 | "timezone": "Europe/Madrid", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.es.pycon.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/burger_menu_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /menu/fossgis_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024030700, 3 | "url": "https://pretalx.com/fossgis2024/schedule/export/schedule.xml", 4 | "title": "FOSSGIS-Konferenz 2024", 5 | "start": "2024-03-20", 6 | "end": "2024-03-23", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.fossgis-konferenz.de/2024/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/fossgis_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025012300, 3 | "url": "https://pretalx.com/fossgis2025/schedule/export/schedule.xml", 4 | "title": "FOSSGIS-Konferenz 2025", 5 | "start": "2025-03-26", 6 | "end": "2025-03-29", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.fossgis-konferenz.de/2025/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/ubuntu_summit_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024100900, 3 | "url": "https://events.canonical.com/event/51/event.ics?detail=contributions", 4 | "title": "Ubuntu Summit 2024", 5 | "start": "2024-10-25", 6 | "end": "2024-10-27", 7 | "timezone": "Europe/Amsterdam", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://ubuntu.com/summit", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/flosscon_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022052500, 3 | "url": "https://www.flosscon.org/conferences/FLOSSCon2022/schedule.xml", 4 | "title": "FLOSSCon 2022", 5 | "start": "2022-06-02", 6 | "end": "2022-06-03", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.flosscon.org/conferences/FLOSSCon2022", 12 | "title": "Site web" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/foss4g_europe_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024040400, 3 | "url": "https://talks.osgeo.org/foss4g-europe-2024/schedule/export/schedule.xml", 4 | "title": "FOSS4G Europe 2024", 5 | "start": "2024-07-03", 6 | "end": "2024-07-05", 7 | "timezone": "Europe/Tallinn", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.europe.foss4g.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/kicon_asia_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "KiCon Asia 2024", 3 | "url": "https://pretalx.kicad.org/kicon-asia-2024/schedule/export/schedule.xml", 4 | "start": "2024-11-15", 5 | "end": "2024-11-16", 6 | "version": 2024111401, 7 | "timezone": "Asia/Shanghai", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "title": "Website", 12 | "url": "https://kicon.kicad.org/asia2024/en/" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/lit_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023042600, 3 | "url": "https://pretalx.luga.de/lit-2023/schedule/export/schedule.xml", 4 | "title": "Augsburger Linux-Infotag 2023", 5 | "start": "2023-04-29", 6 | "end": "2023-04-29", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.luga.de/static/LIT-2023/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/lit_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024041300, 3 | "url": "https://pretalx.luga.de/lit-2024/schedule/export/schedule.xml", 4 | "title": "Augsburger Linux-Infotag 2024", 5 | "start": "2024-04-20", 6 | "end": "2024-04-20", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.luga.de/static/LIT-2024/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/newline2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022081800, 3 | "url": "https://events.hackerspace.gent/en/newline2022/public/schedule.xml", 4 | "title": "Newline 2022", 5 | "start": "2022-09-02", 6 | "end": "2022-09-04", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hackerspace.gent/landing/newline.php", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/xml/widget_info.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /menu/datenspuren_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021091700, 3 | "url": "https://talks.datenspuren.de/ds21/schedule.xml", 4 | "title": "Datenspuren 2021", 5 | "start": "2021-09-17", 6 | "end": "2021-09-19", 7 | "metadata": { 8 | "icon": "https://www.c3d2.de/images/news/datenspuren-2021.png", 9 | "links": [ 10 | { 11 | "url": "https://datenspuren.de/2021/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/kicon_europe_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "KiCon Europe 2024", 3 | "url": "https://pretalx.kicad.org/kicon-europe-2024/schedule/export/schedule.xml", 4 | "start": "2024-09-19", 5 | "end": "2024-09-20", 6 | "version": 2024083001, 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "title": "Website", 12 | "url": "https://kicon.kicad.org/europe2024/" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/privacyweek_2018.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2018101900, 3 | "url": "https://fahrplan.privacyweek.at/pw18/schedule/export/schedule.xml", 4 | "title": "PrivacyWeek 2018", 5 | "start": "2018-10-22", 6 | "end": "2018-10-28", 7 | "metadata": { 8 | "icon": "https://privacyweek.at/icon-256x256.png", 9 | "links": [ 10 | { 11 | "url": "https://privacyweek.at/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/menu/scheduleviewactivity.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /menu/lit_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019022500, 3 | "url": "https://frab.luga.de/de/LIT2019/public/schedule.xml", 4 | "title": "Augsburger Linux-Infotag 2019", 5 | "start": "2019-04-06", 6 | "end": "2019-04-06", 7 | "metadata": { 8 | "icon": "https://luga-ev.github.io/frab-extras/Tux2.png", 9 | "links": [ 10 | { 11 | "url": "https://www.luga.de/Aktionen/LIT-2019/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tools/ggt.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | json="$1" 4 | if ! cat "$json" > /dev/null; then 5 | echo "Missing argument or could not read file?" >&2 6 | exit 1 7 | fi 8 | 9 | url="$(jq -r .url < "$json")" 10 | if [ -z "$url" ]; then 11 | echo "Could not parse JSON" >&2 12 | echo "Maybe: sudo apt-get install jq" >&2 13 | exit 1 14 | fi 15 | 16 | echo https://ggt.gaa.st#url="${url}"\&json="$(cat "$json" | jq -Mc "." | gzip -9 | base64 -w0 | tr +/ -_)" 17 | -------------------------------------------------------------------------------- /menu/hope_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020061701, 3 | "url": "https://scheduler.hope.net/hope2020/schedule/export/schedule.xml", 4 | "title": "HOPE 2020", 5 | "start": "2020-07-25", 6 | "end": "2020-08-02", 7 | "metadata": { 8 | "icon": "https://pbs.twimg.com/profile_images/1194682670346907650/Uu73PLJc_200x200.jpg", 9 | "links": [ 10 | { 11 | "url": "https://www.hope.net/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/opensouthcode_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019042600, 3 | "url": "https://www.opensouthcode.org/conferences/opensouthcode2019/schedule.xml", 4 | "title": "Opensouthcode 2019", 5 | "start": "2019-05-24", 6 | "end": "2019-05-25", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://www.opensouthcode.org/", 11 | "title": "Website" 12 | } 13 | ], 14 | "icon": "https://www.opensouthcode.org/logo1.png" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/osc_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025031201, 3 | "url": "https://events.opensuse.org/conferences/oSC25/schedule.xml", 4 | "title": "openSUSE Conference 2025", 5 | "start": "2025-06-26", 6 | "end": "2025-06-28", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://events.opensuse.org/conferences/oSC25/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/hope_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022070801, 3 | "url": "https://scheduler.hope.net/new-hope/schedule/export/schedule.xml", 4 | "title": "HOPE 2022", 5 | "start": "2022-07-22", 6 | "end": "2022-07-24", 7 | "timezone": "America/New_York", 8 | "metadata": { 9 | "icon": "https://www.hope.net/img/hopexiv_192x192.png", 10 | "links": [ 11 | { 12 | "url": "https://www.hope.net/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/sstic_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025040300, 3 | "url": "https://www.sstic.org/2025/programme.ics", 4 | "title": "Symposium sur la sécurité des technologies de l'information et des communications 2025", 5 | "start": "2025-06-04", 6 | "end": "2025-06-05", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.sstic.org/2025/news/", 12 | "title": "Site web" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/datenspuren_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019092000, 3 | "url": "https://datenspuren.de/2019/fahrplan/schedule.xml", 4 | "title": "Datenspuren 2019", 5 | "start": "2019-09-20", 6 | "end": "2019-09-22", 7 | "metadata": { 8 | "icon": "https://pbs.twimg.com/profile_images/1115200342654894087/KFpFqQBb_200x200.png", 9 | "links": [ 10 | { 11 | "url": "https://datenspuren.de/2019/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/jdll_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019040409, 3 | "url": "https://pretalx.jdll.org/jdll2019/schedule.xml", 4 | "title": "Journées du Logiciel Libre 2019", 5 | "start": "2019-04-06", 6 | "end": "2019-04-07", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "http://www.jdll.org/", 11 | "title": "Site web" 12 | }, 13 | { 14 | "url": "http://www.jdll.org/pratique/plan/", 15 | "title": "Plan" 16 | } 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /menu/linux_plumbers_conference_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091499, 3 | "url": "https://lpc.events/event/18/event.ics?detail=contributions", 4 | "title": "Linux Plumbers Conference 2024", 5 | "start": "2024-09-18", 6 | "end": "2024-09-20", 7 | "timezone": "Europe/Vienna", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://lpc.events/event/18/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/umdh_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023013001, 3 | "url": "https://pretalx.lebib.org/universit-d-hiver-2022/schedule/export/schedule.xml", 4 | "title": "Université d'hiver de l'Interhack 2023", 5 | "start": "2023-02-23", 6 | "end": "2023-02-26", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://pretalx.lebib.org/universit-d-hiver-2022/", 12 | "title": "Site web" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /menu/cfgmgmtcamp_2019_ghent.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019011700, 3 | "url": "https://cfgmgmtcamp.eu/schedule/schedule.ics", 4 | "id": "CfgMgmtCamp 2019 Ghent", 5 | "title": "CfgMgmtCamp 2019 Ghent", 6 | "start": "2019-02-04", 7 | "end": "2019-02-05", 8 | "metadata": { 9 | "icon": "https://cfgmgmtcamp.eu/images/logo_name_big.png", 10 | "links": [ 11 | { 12 | "url": "https://cfgmgmtcamp.eu/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/debconf21.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021081000, 3 | "url": "https://debconf21.debconf.org/schedule/pentabarf.xml", 4 | "title": "DebConf 21", 5 | "start": "2021-08-24", 6 | "end": "2021-08-28", 7 | "metadata": { 8 | "icon": "https://debconf21.debconf.org/static/img/favicon/favicon-196.3b67242f2574.png", 9 | "links": [ 10 | { 11 | "url": "https://debconf21.debconf.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/emf2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022052801, 3 | "url": "https://www.emfcamp.org/schedule/2022.frab", 4 | "title": "Electromagnetic Field 2022", 5 | "start": "2022-06-02", 6 | "end": "2022-06-05", 7 | "timezone": "Europe/London", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.emfcamp.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.emfcamp.org/about", 16 | "title": "FAQ" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/hackover_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023070600, 3 | "url": "https://talks.hackover.de/ho-2023/schedule.xml", 4 | "title": "Hackover 2023", 5 | "start": "2023-07-14", 6 | "end": "2023-07-16", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hackover.de/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://tickets.hackover.de/ho23/", 16 | "title": "Tickets" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tools/menu-indent.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | 3 | import json 4 | import re 5 | import sys 6 | 7 | if len(sys.argv) > 1: 8 | sys.stdin = open(sys.argv[1], "r") 9 | 10 | p = json.loads(sys.stdin.read()) 11 | 12 | latlon1line = re.compile(r"(\"latlon\": \[)\s+([0-9.]+),\s+([0-9.]+)\s+(\])") 13 | res = latlon1line.sub(r"\1\2, \3\4", json.dumps(p, indent="\t", ensure_ascii=False)) 14 | 15 | if len(sys.argv) > 1: 16 | open(sys.argv[1], "w").write(res) 17 | else: 18 | print(res) 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_calendar_24px.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /menu/jres_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019100301, 3 | "url": "https://conf-ng.jres.org/2019/rest/planning.ics", 4 | "title": "JRES 2019", 5 | "id": "JRES 2019", 6 | "start": "2019-12-03", 7 | "end": "2019-12-05", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jres.org/fr/accueil/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "title": "Inscription", 16 | "url": "https://www.jres.org/fr/inscriptions/" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/sfscon_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091300, 3 | "url": "https://www.sfscon.it/?calendar=2024&format=xml", 4 | "title": "SFSCON 2024", 5 | "start": "2024-11-08", 6 | "end": "2024-11-09", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "icon": "https://www.sfscon.it/wp-content/uploads/2020/10/cropped-cropped-sfsconnew-180x180.png", 10 | "links": [ 11 | { 12 | "url": "https://www.sfscon.it/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/vvoid-camp-2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022081800, 3 | "url": "https://pretalx.vvoid.camp/vvoid-camp-2022/schedule.xml", 4 | "title": "VVoid Camp 2022", 5 | "start": "2022-08-18", 6 | "end": "2022-08-21", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.vvoid.camp/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://vviki.vvoid.camp/", 16 | "title": "Wiki" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/fossasia_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022040400, 3 | "url": "https://api.eventyay.com/v1/events/6b901f56.ics?include_sessions", 4 | "title": "FOSSASIA Summit 2022", 5 | "start": "2022-04-07", 6 | "end": "2022-04-09", 7 | "timezone": "Asia/Singapore", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://summit.fossasia.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/fossasia_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023031600, 3 | "url": "https://api.eventyay.com/v1/events/7cfe0771.ics?include_sessions", 4 | "title": "FOSSASIA Summit 2023", 5 | "start": "2023-04-13", 6 | "end": "2023-04-15", 7 | "timezone": "Asia/Singapore", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://summit.fossasia.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/ietf104.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2016080500, 3 | "title": "IETF 104 Prague", 4 | "url": "https://datatracker.ietf.org/meeting/104/agenda.ics", 5 | "start": "2019-03-23", 6 | "end": "2019-03-29", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://www.ietf.org/how/meetings/104/", 11 | "title": "Website" 12 | }, 13 | { 14 | "url": "https://datatracker.ietf.org/meeting/104/floor-plan", 15 | "title": "Floor plans" 16 | } 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /menu/minidebconfindia2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021012000, 3 | "url": "https://in2021.mini.debconf.org/schedule/pentabarf.xml", 4 | "title": "MiniDebConf India 2021", 5 | "start": "2021-01-23", 6 | "end": "2021-01-24", 7 | "metadata": { 8 | "icon": "https://in2021.mini.debconf.org/static/img/logo.8224b7f40c56.png", 9 | "links": [ 10 | { 11 | "url": "https://in2021.mini.debconf.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/packaging_con_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023091101, 3 | "url": "https://cfp.packaging-con.org/2023/schedule/export/schedule.xml", 4 | "title": "PackagingCon 2023", 5 | "start": "2023-10-26", 6 | "end": "2023-10-28", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://packaging-con.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/piandmore_125.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020022800, 3 | "url": "https://piandmore.de/de/conference/pam12-5/schedule/download", 4 | "title": "Pi and More 12½", 5 | "start": "2020-03-14", 6 | "end": "2020-03-14", 7 | "refresh_interval": 1800, 8 | "metadata": { 9 | "icon": "https://cmd-ev.github.io/assets/piandmore-square.png", 10 | "links": [ 11 | { 12 | "url": "https://piandmore.de/de/conference/pam12-5/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/matomocamp_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021092700, 3 | "url": "https://schedule.matomocamp.org/matomocamp-2021/schedule/export/schedule.xml", 4 | "title": "MatomoCamp 2021", 5 | "start": "2021-11-04", 6 | "end": "2021-11-05", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://matomocamp.org/wp-content/uploads/2021/09/LogoOnly256.png", 10 | "links": [ 11 | { 12 | "url": "https://matomocamp.org/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/pycon_fr_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019102401, 3 | "url": "https://www.pycon.fr/2019/pyconfr-2019.ics", 4 | "title": "PyConFR 2019", 5 | "id": "PyConFR 2019", 6 | "start": "2019-10-31", 7 | "end": "2019-11-03", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.pycon.fr/2019/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "title": "Inscription", 16 | "url": "https://www.pycon.fr/2019/fr/schedule.html#register" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/seagl_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023110100, 3 | "url": "https://osem.seagl.org/conferences/seagl2023/schedule.xml", 4 | "title": "SeaGL 2023", 5 | "start": "2023-11-03", 6 | "end": "2023-11-04", 7 | "timezone": "US/Pacific", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://seagl.org/", 12 | "title": "Website" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "Room .*", 18 | "latlon": [47.65538, -122.30547] 19 | } 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /menu/sotm_eu_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024071600, 3 | "url": "https://sotm.osmz.ru/sotmeu24.xml", 4 | "title": "State of the Map Europe 2024", 5 | "start": "2024-07-18", 6 | "end": "2024-07-21", 7 | "timezone": "Europe/Warsaw", 8 | "refresh_interval": 7200, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://stateofthemap.eu/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/tuebix_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019053100, 3 | "url": "https://www.tuebix.org/2019/giggity.xml", 4 | "title": "Tübix 2019", 5 | "start": "2019-07-06", 6 | "end": "2019-07-06", 7 | "metadata": { 8 | "icon": "https://www.tuebix.org/2017/giggity.icon.png", 9 | "links": [ 10 | { 11 | "url": "https://www.tuebix.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.tuebix.org/anfahrt/", 16 | "title": "Anfahrt" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/pycon_fr_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091701, 3 | "url": "https://www.pycon.fr/2024/fr/calendar.ics", 4 | "title": "PyConFR 2024", 5 | "start": "2024-10-31", 6 | "end": "2024-11-03", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.pycon.fr/2024/fr/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "title": "Inscription", 16 | "url": "https://www.pycon.fr/2024/fr/schedule.html#register" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/spathum24.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024071100, 3 | "url": "https://pretalx.com/spathum24/schedule.xml", 4 | "title": "Spatial Humanities 2024", 5 | "start": "2024-09-25", 6 | "end": "2024-09-27", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://spathum.uni-bamberg.de/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://registration.spathum.uni-bamberg.de/2024/", 16 | "title": "Tickets" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/opensouthcode_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023051502, 3 | "url": "https://www.opensouthcode.org/conferences/opensouthcode2023/schedule.xml", 4 | "title": "Opensouthcode 2023", 5 | "start": "2023-06-09", 6 | "end": "2023-06-10", 7 | "timezone": "Europe/Madrid", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.opensouthcode.org/conferences/opensouthcode2023", 12 | "title": "Website" 13 | } 14 | ], 15 | "icon": "https://www.opensouthcode.org/logo1.png" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/opensouthcode_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024051901, 3 | "url": "https://www.opensouthcode.org/conferences/opensouthcode2024/schedule.xml", 4 | "title": "OpenSouthCode 2024", 5 | "start": "2024-06-21", 6 | "end": "2024-06-22", 7 | "timezone": "Europe/Madrid", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.opensouthcode.org/conferences/opensouthcode2024", 12 | "title": "Website" 13 | } 14 | ], 15 | "icon": "https://www.opensouthcode.org/logo1.png" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/piandmore_13.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023041300, 3 | "url": "https://piandmore.de/de/conference/pam13/schedule/download", 4 | "title": "Pi and More 13", 5 | "start": "2023-04-22", 6 | "end": "2023-04-22", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://cmd-ev.github.io/assets/piandmore-square.png", 11 | "links": [ 12 | { 13 | "url": "https://piandmore.de/de/conference/pam13/", 14 | "title": "Website" 15 | } 16 | ] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /menu/parisweb_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022100100, 3 | "url": "https://www.paris-web.fr/2022/conferences-parisweb-2022.ics", 4 | "title": "Paris Web 2022", 5 | "start": "2022-10-06", 6 | "end": "2022-10-08", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.paris-web.fr/2022/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://inscriptions.paris-web.fr/", 16 | "title": "Tarifs et inscription" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/jdll_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022031400, 3 | "url": "https://pretalx.jdll.org/jdll2022/schedule.xml", 4 | "title": "Journées du Logiciel Libre 2022", 5 | "start": "2022-04-02", 6 | "end": "2022-04-03", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jdll.org/", 12 | "title": "Site web" 13 | }, 14 | { 15 | "url": "https://www.jdll.org/contact-and-informations", 16 | "title": "Informations pratiques" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/jdll_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023032500, 3 | "url": "https://pretalx.jdll.org/jdll2023/schedule.xml", 4 | "title": "Journées du Logiciel Libre 2023", 5 | "start": "2023-04-01", 6 | "end": "2023-04-02", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jdll.org/", 12 | "title": "Site web" 13 | }, 14 | { 15 | "url": "https://www.jdll.org/contact-and-informations", 16 | "title": "Informations pratiques" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/jdll_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024041900, 3 | "url": "https://pretalx.jdll.org/jdll2024/schedule.xml", 4 | "title": "Journées du Logiciel Libre 2024", 5 | "start": "2024-05-25", 6 | "end": "2024-05-26", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jdll.org/", 12 | "title": "Site web" 13 | }, 14 | { 15 | "url": "https://www.jdll.org/contact-and-informations", 16 | "title": "Informations pratiques" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/gpn21.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023060100, 3 | "url": "https://cfp.gulas.ch/gpn21/schedule/export/schedule.xml", 4 | "title": "21. Gulaschprogrammiernacht", 5 | "start": "2023-06-08", 6 | "end": "2023-06-11", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://entropia.de/GPN21", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://entropia.de/GPN21:FAQ", 16 | "title": "FAQ" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/gpn22.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024052700, 3 | "url": "https://cfp.gulas.ch/gpn22/schedule/export/schedule.xml", 4 | "title": "22. Gulaschprogrammiernacht", 5 | "start": "2024-05-30", 6 | "end": "2024-06-02", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://entropia.de/GPN22", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://entropia.de/GPN22:FAQ", 16 | "title": "FAQ" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/moca2024_it.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091299, 3 | "url": "https://ics.moca.camp/schedule.ics", 4 | "title": "MOCA - Metro Olografix Camp", 5 | "start": "2024-09-13", 6 | "end": "2024-09-15", 7 | "timezone": "Europe/Rome", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://moca.camp", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.olografix.org", 16 | "title": "The association behind the event" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/layout/round_button.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | -------------------------------------------------------------------------------- /menu/35c3_main_rooms_only.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "35c3 - main rooms only", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2018/wiki/index.php/Main_Page", 7 | "title": "Wiki" 8 | }, 9 | { 10 | "title": "Weblog", 11 | "url": "https://events.ccc.de/" 12 | } 13 | ] 14 | }, 15 | "url": "https://fahrplan.events.ccc.de/congress/2018/Fahrplan/schedule.xml", 16 | "start": "2018-12-27", 17 | "end": "2018-12-30", 18 | "refresh_interval": 1800, 19 | "version": 2018122701 20 | } 21 | -------------------------------------------------------------------------------- /menu/bibliocon24.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024030401, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/3r6Ziz4tsn2oN9g/download/bibliocon24.xml", 4 | "title": "BiblioCon 2024", 5 | "start": "2024-06-04", 6 | "end": "2024-06-07", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.bibliocon.de/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://2024.bibliocon.de/informationen-von-a-z/", 16 | "title": "Informationen von A-Z" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/installfest_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019028002, 3 | "url": "https://installfest.cz/if19/schedule.xml", 4 | "title": "Installfest 2019", 5 | "start": "2019-03-02", 6 | "end": "2019-03-03", 7 | "metadata": { 8 | "icon": "https://installfest.cz/if19/images/logo-tux.png", 9 | "links": [ 10 | { 11 | "url": "https://installfest.cz", 12 | "title": "Web Installfestu" 13 | }, 14 | { 15 | "url": "https://installfest.cz/if19/info", 16 | "title": "Info o konferenci" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/35c3_new_and_merged.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "35c3 - new and merged", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2018/wiki/index.php/Main_Page", 7 | "title": "Wiki" 8 | }, 9 | { 10 | "title": "Weblog", 11 | "url": "https://events.ccc.de/" 12 | } 13 | ] 14 | }, 15 | "url": "https://streaming.media.ccc.de/configs/conferences/35c3/everything.schedule.xml", 16 | "start": "2018-12-27", 17 | "end": "2018-12-30", 18 | "refresh_interval": 1800, 19 | "version": 2018122701 20 | } 21 | -------------------------------------------------------------------------------- /menu/hackerhotel_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023021100, 3 | "url": "https://pretalx.hackerhotel.nl/hackerhotel-2023/schedule.xml", 4 | "title": "HackerHotel 2023", 5 | "start": "2023-02-10", 6 | "end": "2023-02-12", 7 | "timezone": "Europe/Amsterdam", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hackerhotel.nl/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://mapcomplete.osm.be/indoors?z=18&lat=52.22072&lon=5.721302&language=en", 16 | "title": "Map" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/fossasia_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2021-03-13", 3 | "end": "2021-03-21", 4 | "version": 2021031100, 5 | "url": "https://api.eventyay.com/v1/events/fa96ae2c.ics?include_sessions", 6 | "title": "FOSSASIA Summit 2021", 7 | "metadata": { 8 | "icon": "https://pbs.twimg.com/profile_images/1141238022/fossasia-cubelogo_200x200.jpg", 9 | "links": [ 10 | { 11 | "url": "https://summit.fossasia.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /menu/hackerhotel_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025021300, 3 | "url": "https://pretalx.hackerhotel.nl/2025/schedule.xml", 4 | "title": "HackerHotel 2025", 5 | "start": "2025-02-14", 6 | "end": "2025-02-16", 7 | "timezone": "Europe/Amsterdam", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hackerhotel.nl/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://mapcomplete.org/indoors?z=18.9&lat=52.220624480776905&lon=5.721273808942783&language=en", 16 | "title": "Map" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/cfgmgmtcamp_2024_ghent.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024011600, 3 | "url": "https://cfp.cfgmgmtcamp.org/2024/schedule/export/schedule.xml", 4 | "title": "Config Management Camp 2024 Ghent", 5 | "start": "2024-02-05", 6 | "end": "2024-02-07", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://cfgmgmtcamp.eu/ghent2024/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://cfgmgmtcamp.eu/ghent2024/codeofconduct/", 16 | "title": "Code of conduct" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/geopython_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022060601, 3 | "url": "https://submit.geopython.net/geopython-2022/schedule/export/schedule.xml", 4 | "title": "GeoPython 2022", 5 | "start": "2022-06-20", 6 | "end": "2022-06-22", 7 | "timezone": "Europe/Zurich", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.geopython.net/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.basel.com/en/Basel/ukv/result?tt=4tk0es4da6i63pa7esqhqp7ldv", 16 | "title": "Hotels in Basel" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/hackerhotel_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024020900, 3 | "url": "https://pretalx.hackerhotel.nl/hackerhotel-2024/schedule.xml", 4 | "title": "HackerHotel 2024", 5 | "start": "2024-02-09", 6 | "end": "2024-02-11", 7 | "timezone": "Europe/Amsterdam", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hackerhotel.nl/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://mapcomplete.org/indoors?z=18.9&lat=52.220624480776905&lon=5.721273808942783&language=en", 16 | "title": "Map" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /menu/bibliocon25.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025030601, 3 | "url": "https://cloud.bib.uni-mannheim.de/public.php/dav/files/MRwnBF84RfdJw55/", 4 | "title": "Bibliothekskongress 2025", 5 | "start": "2025-06-24", 6 | "end": "2025-06-27", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2025.bid-kongress.de/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://2025.bid-kongress.de/der-kongress/informationen-von-a-z/", 16 | "title": "Informationen von A-Z" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/thsf_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023042300, 3 | "url": "https://23.thsf.net/thsf-2023/schedule/export/schedule.xml", 4 | "title": "Toulouse Hacker Space Factory 2023", 5 | "start": "2023-05-26", 6 | "end": "2023-05-28", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.thsf.net/", 12 | "title": "Site web" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "Salle 1 Cinema", 18 | "show_name": "Salle 1 Cinema", 19 | "latlon": [43.63963, 1.45202] 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/cloudland_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023040522, 3 | "url": "https://dcnc-eu.github.io/lineup/cloudland23.ics", 4 | "title": "CloudLand 2023 - Das Cloud Native(s) Festival", 5 | "start": "2023-06-20", 6 | "end": "2023-06-23", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://dcnc-eu.github.io/lineup/cloudland23.png", 10 | "links": [ 11 | { 12 | "url": "https://www.cloudland.org/de/home/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/ripe79.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019100802, 3 | "url": "https://ripe79.ripe.net/wp-admin/admin-post.php?action=mps_get_agenda_ics", 4 | "id": "RIPE 79 Agenda", 5 | "title": "RIPE 79", 6 | "start": "2019-10-14", 7 | "end": "2019-10-18", 8 | "metadata": { 9 | "icon": "https://i.sigio.nl/ripe.png", 10 | "links": [ 11 | { 12 | "url": "https://ripe79.ripe.net/", 13 | "title": "Ripe 79 Website" 14 | }, 15 | { 16 | "url": "https://ripe79.ripe.net/programme/meeting-plan/", 17 | "title": "Conference Program (website)" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_history_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /menu/geodaysit_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023060901, 3 | "url": "https://talks.osgeo.org/foss4g-it-2023/schedule/export/schedule.xml", 4 | "title": "GEOdaysIT 2023", 5 | "start": "2023-06-12", 6 | "end": "2023-07-17", 7 | "timezone": "Europe/Rome", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.geodaysit.it/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night-v29/ic_history_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /menu/pses_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024041400, 3 | "url": "https://programme.passageenseine.fr/index.ics", 4 | "title": "Pas Sage en Seine 2024", 5 | "start": "2024-05-30", 6 | "end": "2024-06-02", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "icon": "https://mamot.fr/system/accounts/avatars/000/212/345/original/bf5fc3bbd9175137.png", 10 | "links": [ 11 | { 12 | "url": "https://passageenseine.fr/", 13 | "title": "Site web" 14 | }, 15 | { 16 | "url": "https://programme.passageenseine.fr/", 17 | "title": "Programme web" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/easterhegg20.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023040500, 3 | "url": "https://cfp.eh20.easterhegg.eu/eh20/schedule.xml", 4 | "title": "Easterhegg 20", 5 | "start": "2023-04-07", 6 | "end": "2023-04-10", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://eh20.easterhegg.eu/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://presale.eh20.easterhegg.eu/", 16 | "title": "Tickets" 17 | }, 18 | { 19 | "url": "https://engel.eh20.easterhegg.eu/login", 20 | "title": "Angel Center" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/iger_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023070600, 3 | "url": "https://cfp.fairydust.reisen/iger-2023/schedule.xml", 4 | "title": "IGER 2023", 5 | "start": "2023-07-20", 6 | "end": "2023-07-23", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://fairydust.reisen/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://tickets.fairydust.reisen/iger-2023/", 16 | "title": "Tickets" 17 | }, 18 | { 19 | "url": "https://md.fairydust.reisen/start", 20 | "title": "Public Meta-Pad" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/pgconfeu2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022101400, 3 | "url": "https://www.postgresql.eu/events/pgconfeu2022/schedule.xml", 4 | "title": "PGConf.EU 2022", 5 | "start": "2022-10-25", 6 | "end": "2022-10-28", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.pgconf.eu/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2022.pgconf.eu/venue/", 16 | "title": "Venue" 17 | }, 18 | { 19 | "url": "https://2022.pgconf.eu/code-of-conduct/", 20 | "title": "Code of Conduct" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/rml_13.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019042600, 3 | "url": "http://rml13.creationmonetaire.info/rml.ics", 4 | "id": "RML13", 5 | "title": "RML 13", 6 | "start": "2019-05-23", 7 | "end": "2019-05-26", 8 | "metadata": { 9 | "icon": "https://git.duniter.org/nodes/typescript/duniter/raw/dev/images/450%C3%97450.png", 10 | "links": [ 11 | { 12 | "url": "http://rml13.creationmonetaire.info/", 13 | "title": "Site Web" 14 | } 15 | ], 16 | "rooms": [ 17 | { 18 | "name": "Cyberbodega.*", 19 | "latlon": [42.695884249268495, 2.8846125304698944] 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/jres_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022030800, 3 | "url": "https://conf-ng.jres.org/2021/rest/planning.ics", 4 | "title": "JRES 2022", 5 | "start": "2022-05-17", 6 | "end": "2022-05-20", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jres.org/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://www.jres.org/inscriptions/", 16 | "title": "Inscription" 17 | } 18 | ], 19 | "icon": "https://mastodon.gougere.fr/system/media_attachments/files/107/921/767/770/045/210/original/2d9437c0e1a4f80a.png" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/sotm_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021070100, 3 | "url": "https://sotm.osmz.ru/2021.xml", 4 | "title": "State of the Map 2021", 5 | "start": "2021-07-09", 6 | "end": "2021-07-11", 7 | "metadata": { 8 | "icon": "https://2021.stateofthemap.org/img/sotm_2021-logo-small.png", 9 | "links": [ 10 | { 11 | "url": "https://2021.stateofthemap.org/", 12 | "title": "Website" 13 | } 14 | ] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/test/java/android/util/Log.java: -------------------------------------------------------------------------------- 1 | package android.util; 2 | 3 | public class Log { 4 | public static int d(String tag, String msg) { 5 | System.out.println("D " + tag + ": " + msg); 6 | return 0; 7 | } 8 | 9 | public static int i(String tag, String msg) { 10 | System.out.println("I " + tag + ": " + msg); 11 | return 0; 12 | } 13 | 14 | public static int w(String tag, String msg) { 15 | System.out.println("W " + tag + ": " + msg); 16 | return 0; 17 | } 18 | 19 | public static int e(String tag, String msg) { 20 | System.out.println("E " + tag + ": " + msg); 21 | return 0; 22 | } 23 | } -------------------------------------------------------------------------------- /menu/alchimie_13.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019102300, 3 | "url": "http://triplea.fr/alchimie/documents/alchimie13.ics", 4 | "id": "Alchimie 13", 5 | "title": "Alchimie 13", 6 | "start": "2019-11-01", 7 | "end": "2019-11-03", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://triplea.fr/alchimie/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://triplea.fr/alchimie/pages/reglement_general.php", 16 | "title": "Règlement" 17 | }, 18 | { 19 | "url": "http://alchimie.party/", 20 | "title": "Serveur de vote" 21 | } 22 | ] 23 | } 24 | } 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search_white_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /menu/forum_php_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020092600, 3 | "url": "https://afup.org/event/forumphp2020/planning.ics", 4 | "title": "Forum PHP 2020", 5 | "start": "2020-10-22", 6 | "end": "2020-10-23", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://event.afup.org/", 11 | "title": "Site Web" 12 | }, 13 | { 14 | "url": "https://afup.org/event/forumphp2020enligne/tickets", 15 | "title": "Tarifs et inscription" 16 | }, 17 | { 18 | "url": "https://event.afup.org/afup-day-2020/infos-pratiques-faq/", 19 | "title": "Infos pratiques & FAQ" 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/geopython_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024052701, 3 | "url": "https://submit.geopython.net/geopython-2024/schedule/export/schedule.xml", 4 | "title": "GeoPython 2024", 5 | "start": "2024-05-27", 6 | "end": "2024-05-29", 7 | "timezone": "Europe/Zurich", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.geopython.net/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2024.geopython.net/coc", 16 | "title": "Code of conduct" 17 | }, 18 | { 19 | "url": "https://2024.geopython.net/tickets", 20 | "title": "Tickets" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/kontaktdaskulturfestival2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024051701, 3 | "url": "https://cfp.kntkt.de/kontakt-2024/schedule.xml", 4 | "title": "kontakt - Das Kulturfestival 2024", 5 | "start": "2024-05-23", 6 | "end": "2024-05-26", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://kontakt-bamberg.de/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://helfen.kntkt.de/", 16 | "title": "Mitmachen" 17 | }, 18 | { 19 | "url": "https://kontakt-bamberg.de/mithelfen-2", 20 | "title": "Aufbau" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/passthesalt_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022060800, 3 | "url": "https://cfp.pass-the-salt.org/pts2022/schedule/export/schedule.xml", 4 | "title": "Pass the SALT 2022", 5 | "start": "2022-07-04", 6 | "end": "2022-07-06", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.pass-the-salt.org/", 12 | "title": "Site web" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "Amphi.*", 18 | "latlon": [50.60776, 3.13637] 19 | }, 20 | { 21 | "name": "Workshop.*", 22 | "latlon": [50.60776, 3.13637] 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/sotm_eu_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023111001, 3 | "url": "https://sotm.osmz.ru/sotmeu2023.xml", 4 | "title": "State of the Map Europe 2023", 5 | "start": "2023-11-10", 6 | "end": "2023-11-12", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://stateofthemap.eu/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://stateofthemap.eu/code-of-conduct", 16 | "title": "Code of conduct" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-night-v29/ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/test/resources/jres_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022030800, 3 | "url": "https://conf-ng.jres.org/2021/rest/planning.ics", 4 | "title": "JRES 2022", 5 | "start": "2022-05-17", 6 | "end": "2022-05-20", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.jres.org/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://www.jres.org/inscriptions/", 16 | "title": "Inscription" 17 | } 18 | ], 19 | "icon": "https://mastodon.gougere.fr/system/media_attachments/files/107/921/767/770/045/210/original/2d9437c0e1a4f80a.png" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/foss4g_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024111500, 3 | "url": "https://sotm.osmz.ru/f2024.xml", 4 | "title": "FOSS4G 2024", 5 | "start": "2024-12-02", 6 | "end": "2024-12-06", 7 | "timezone": "America/Belem", 8 | "metadata": { 9 | "icon": "https://textual.ru/foss4g_2024.png", 10 | "links": [ 11 | { 12 | "url": "https://2024.foss4g.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://2024.foss4g.org/en/map/", 17 | "title": "Map" 18 | }, 19 | { 20 | "url": "https://2024.foss4g.org/en/code-of-conduct/", 21 | "title": "Code of Conduct" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/grcon23.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023082500, 3 | "url": "https://events.gnuradio.org/event/21/event.ics?scope=contribution", 4 | "title": "GNU Radio Conference 2023", 5 | "start": "2023-09-05", 6 | "end": "2023-09-09", 7 | "timezone": "America/Phoenix", 8 | "metadata": { 9 | "icon": "https://www.gnuradio.org/giggity-grcon23-logo.png", 10 | "links": [ 11 | { 12 | "url": "https://events.gnuradio.org/event/21/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://www.gnuradio.org", 17 | "title": "Project Website" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/nixcon2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022101100, 3 | "url": "https://pretalx.com/nixcon-2022/schedule/export/schedule.xml", 4 | "title": "NixCon 2022", 5 | "start": "2022-10-20", 6 | "end": "2022-10-22", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.nixcon.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://tickets.nixcon.org/2022/", 16 | "title": "Tickets" 17 | }, 18 | { 19 | "url": "https://discourse.nixos.org/t/nixcon-2022-sponsorship-opportunities/20603", 20 | "title": "Sponsor" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/oss_eu_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019102800, 3 | "url": "https://osseu19.sched.com/all.ics", 4 | "title": "Open Source Summit + Embedded Linux Conference Europe 2019", 5 | "id": "osseu19", 6 | "start": "2019-10-28", 7 | "end": "2019-11-01", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://events19.linuxfoundation.org/events/open-source-summit-europe-2019/", 12 | "title": "OSSEU Website" 13 | }, 14 | { 15 | "url": "https://events19.linuxfoundation.org/events/embedded-linux-conference-europe-2019/", 16 | "title": "Embedded Linux Conference Website" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/sotm_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024082201, 3 | "url": "https://sotm.osmz.ru/sotm2024.xml", 4 | "title": "State of the Map 2024", 5 | "start": "2024-09-06", 6 | "end": "2024-09-08", 7 | "timezone": "Africa/Nairobi", 8 | "metadata": { 9 | "icon": "https://textual.ru/sotm2024_icon.png", 10 | "links": [ 11 | { 12 | "url": "https://2024.stateofthemap.org/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/cccamp19_main_rooms_only.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Chaos Communication Camp 2019 - main rooms only", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/camp/2019/wiki/Main_Page", 7 | "title": "Wiki" 8 | }, 9 | { 10 | "title": "Map", 11 | "url": "https://map.c3noc.net/" 12 | }, 13 | { 14 | "title": "Weblog", 15 | "url": "https://events.ccc.de/" 16 | } 17 | ] 18 | }, 19 | "url": "https://fahrplan.events.ccc.de/camp/2019/Fahrplan/schedule.xml", 20 | "start": "2019-08-21", 21 | "end": "2019-08-25", 22 | "refresh_interval": 1800, 23 | "version": 2019080501 24 | } 25 | -------------------------------------------------------------------------------- /menu/foss4g_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023062200, 3 | "url": "https://talks.osgeo.org/foss4g-2023/schedule/export/schedule.xml", 4 | "title": "FOSS4G 2023", 5 | "start": "2023-06-28", 6 | "end": "2023-06-30", 7 | "timezone": "Europe/Belgrade", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.foss4g.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.foss4g.org/attending/accomodation/", 16 | "title": "Accommodation" 17 | }, 18 | { 19 | "url": "https://2023.foss4g.org/code-of-conduct/", 20 | "title": "Code of Conduct" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/res/values-night-v29/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-v27/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | -------------------------------------------------------------------------------- /menu/hackmas24.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Håck ma's Castle", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "title": "Website", 7 | "url": "https://hack-mas.at/" 8 | }, 9 | { 10 | "title": "Openki", 11 | "url": "https://sessions.hack-mas.at/" 12 | } 13 | ] 14 | }, 15 | "url": "https://sessions.hack-mas.at/api/0/xml/schedule?limit=999", 16 | "timezone": "Europe/Vienna", 17 | "start": "2024-08-29", 18 | "end": "2024-09-01", 19 | "refresh_interval": 86400, 20 | "version": 2024082242 21 | } 22 | -------------------------------------------------------------------------------- /menu/pyladiescon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023112101, 3 | "url": "https://pretalx.com/pyladiescon-2023/schedule/export/schedule.xml", 4 | "title": "PyLadiesCon 2023", 5 | "start": "2023-12-01", 6 | "end": "2023-12-03", 7 | "timezone": "Etc/UTC", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://pyladies.com/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://events.hubilo.com/pyladiescon2023/register", 16 | "title": "Register" 17 | }, 18 | { 19 | "url": "https://conference.pyladies.com/about.html#coc", 20 | "title": "Code of conduct" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/everything_open_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2025-01-20", 3 | "end": "2025-01-22", 4 | "version": 2024120501, 5 | "url": "https://2025.everythingopen.au/schedule/conference.ics", 6 | "title": "Everything Open 2025", 7 | "timezone": "Australia/Adelaide", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2025.everythingopen.au", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2025.everythingopen.au/about/location/", 16 | "title": "Location" 17 | }, 18 | { 19 | "url": "https://2025.everythingopen.au/schedule/", 20 | "title": "Online schedule" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/sotm_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022080901, 3 | "url": "https://sotm.osmz.ru/2022.xml", 4 | "title": "State of the Map 2022", 5 | "start": "2022-08-19", 6 | "end": "2022-08-21", 7 | "timezone": "Europe/Rome", 8 | "metadata": { 9 | "icon": "https://2022.stateofthemap.org/img/icons/apple-touch-icon.png", 10 | "links": [ 11 | { 12 | "url": "https://2022.stateofthemap.org/", 13 | "title": "Website" 14 | } 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /menu/vcfb_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020100901, 3 | "url": "https://vcfb.de/2020/schedule.xml", 4 | "title": "Vintage Computing Festival Berlin 2020", 5 | "start": "2020-10-10", 6 | "end": "2020-10-11", 7 | "refresh_interval": 1800, 8 | "metadata": { 9 | "icon": "https://wiki.vcfb.de/2020/_media/wiki:logo.png", 10 | "links": [ 11 | { 12 | "url": "https://vcfb.de/2020/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://wiki.vcfb.de/2020/", 17 | "title": "Event Wiki" 18 | }, 19 | { 20 | "url": "https://wiki.vcfb.de/2020/stream", 21 | "title": "Stream" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/sfscon_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022110400, 3 | "url": "https://www.sfscon.it/?calendar=2022&format=xml", 4 | "title": "SFScon 2022", 5 | "start": "2022-11-11", 6 | "end": "2022-11-12", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "icon": "https://www.sfscon.it/wp-content/uploads/2020/10/cropped-cropped-sfsconnew-180x180.png", 10 | "links": [ 11 | { 12 | "url": "https://www.sfscon.it/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://cloud.opendatahub.com/index.php/s/k9E3CEmeZcjN9Tq", 17 | "title": "Attendee Guide", 18 | "type": "application/pdf" 19 | } 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /menu/38c3_merged.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "38C3 - merged", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2024/infos/startpage.html", 7 | "title": "Website" 8 | }, 9 | { 10 | "url": "https://events.ccc.de/congress/2024/hub/en/wiki/start/", 11 | "title": "Wiki" 12 | }, 13 | { 14 | "title": "Weblog", 15 | "url": "https://events.ccc.de/" 16 | } 17 | ] 18 | }, 19 | "url": "https://api.events.ccc.de/congress/2024/schedule.xml", 20 | "start": "2024-12-27", 21 | "end": "2024-12-30", 22 | "timezone": "Europe/Berlin", 23 | "refresh_interval": 1800, 24 | "version": 2024121702 25 | } 26 | -------------------------------------------------------------------------------- /menu/libreplanet_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2020-03-14", 3 | "end": "2020-03-15", 4 | "version": 2020030900, 5 | "url": "https://libreplanet.org/2020/lp2020-schedule.ics", 6 | "title": "LibrePlanet 2020", 7 | "metadata": { 8 | "icon": "https://libreplanet.org/2020/assets/img/logo.png", 9 | "links": [ 10 | { 11 | "url": "https://libreplanet.org/2020/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://libreplanet.org/2020/live/", 16 | "title": "Livestream" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/libreplanet_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2021-03-20", 3 | "end": "2021-03-21", 4 | "version": 2021031000, 5 | "url": "https://libreplanet.org/2021/lp2021-schedule.ics", 6 | "title": "LibrePlanet 2021", 7 | "metadata": { 8 | "icon": "https://libreplanet.org/2021/assets/img/logo.png", 9 | "links": [ 10 | { 11 | "url": "https://libreplanet.org/2021/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://libreplanet.org/2021/live/", 16 | "title": "Livestream" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /menu/all_systems_go_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081901, 3 | "url": "https://cfp.all-systems-go.io/all-systems-go-2023/schedule/export/schedule.xml", 4 | "title": "All Systems Go! 2023", 5 | "start": "2023-09-13", 6 | "end": "2023-09-14", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://all-systems-go.io/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://all-systems-go.io/code-of-conduct/", 16 | "title": "Code of conduct" 17 | }, 18 | { 19 | "url": "https://ti.to/all-systems-go/all-systems-go-2023", 20 | "title": "Tickets" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/kielux_lpd_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020090600, 3 | "url": "https://kielux.de/content/calendars/LPD20.ics", 4 | "title": "Kieler Linux Presentation Day 2020.2", 5 | "start": "2020-09-17", 6 | "end": "2020-09-17", 7 | "refresh_interval": 1800, 8 | "metadata": { 9 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 10 | "links": [ 11 | { 12 | "url": "https://kielux.de", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://kielux.de/programm/LPD20", 17 | "title": "Schedule" 18 | }, 19 | { 20 | "url": "https://kielux.de/archiv", 21 | "title": "News" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/ietf121.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024101001, 3 | "url": "https://datatracker.ietf.org/meeting/121/agenda.ics", 4 | "title": "IETF 121 Dublin", 5 | "start": "2024-11-02", 6 | "end": "2024-11-08", 7 | "timezone": "Europe/Dublin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://www.ietf.org/meeting/121/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://datatracker.ietf.org/meeting/121/floor-plan", 17 | "title": "Floor plans" 18 | }, 19 | { 20 | "url": "https://wiki.ietf.org/en/meeting/121/sidemeetings", 21 | "title": "Side meetings" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/bitcoin_amsterdam_2022: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022100801, 3 | "url": "https://dev.btcwiki.nl/btcams2022/processed/latest_penta_v0.xml", 4 | "title": "Bitcoin Amsterdam 2022", 5 | "start": "2022-10-12", 6 | "end": "2022-10-14", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://b.tc/conference/amsterdam/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://dev.btcwiki.nl/btcams2022/processed/map.png", 17 | "title": "Map", 18 | "type": "image/png" 19 | } 20 | ], 21 | "icon": "https://dev.btcwiki.nl/btcams2022/processed/btcams.png" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/mch2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022061900, 3 | "url": "https://program.mch2022.org/mch2021-2020/schedule/export/schedule.xml", 4 | "title": "MCH2022", 5 | "start": "2022-07-22", 6 | "end": "2022-07-26", 7 | "timezone": "Europe/Amsterdam", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://map.mch2022.org/", 12 | "title": "Map" 13 | }, 14 | { 15 | "url": "https://mch2022.org/", 16 | "title": "Website" 17 | }, 18 | { 19 | "url": "https://wiki.mch2022.org/Main_Page", 20 | "title": "Wiki" 21 | }, 22 | { 23 | "url": "https://tickets.mch2022.org/", 24 | "title": "Tickets" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/wikimania_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019081001, 3 | "url": "http://edwardbetts.com/wikimania_2019/schedule.xml", 4 | "title": "Wikimania 2019", 5 | "start": "2019-08-16", 6 | "end": "2019-08-18", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://wikimania.wikimedia.org/wiki/Wikimania", 11 | "title": "Website" 12 | }, 13 | { 14 | "url": "https://upload.wikimedia.org/wikipedia/commons/c/cb/Wikimania2019_map_bigger_texts.png", 15 | "title": "Map", 16 | "type": "image/png" 17 | }, 18 | { 19 | "url": "https://wikimania.wikimedia.org/wiki/2019:Travel_guide", 20 | "title": "Travel guide" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/bitcoin_amsterdam_2023: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023100701, 3 | "url": "https://dev.bitcoinwiki.nl/btcams2023/processed/latest_penta_v0.xml", 4 | "title": "Bitcoin Amsterdam 2023", 5 | "start": "2023-10-12", 6 | "end": "2023-10-13", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://b.tc/conference/amsterdam/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://dev.bitcoinwiki.nl/btcams2023/processed/map.jpg", 17 | "title": "Map", 18 | "type": "image/jpeg" 19 | } 20 | ], 21 | "icon": "https://dev.bitcoinwiki.nl/btcams2023/processed/btcams.png" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/sfscon_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021092200, 3 | "url": "https://www.sfscon.it/?calendar=2021&format=xml", 4 | "title": "SFScon 2021", 5 | "start": "2021-11-12", 6 | "end": "2021-11-13", 7 | "timezone": "Europe/Rome", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.sfscon.it/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.sfscon.it/speakers/", 16 | "title": "Speakers" 17 | }, 18 | { 19 | "url": "https://www.sfscon.it/call4volunteers/", 20 | "title": "Volunteer" 21 | } 22 | ], 23 | "icon": "https://www.sfscon.it/wp-content/uploads/2020/10/cropped-cropped-sfsconnew-180x180.png" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/bitcoin_amsterdam_2024: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024100101, 3 | "url": "https://dev.bitcoinwiki.nl/btcams2024/processed/latest_penta_v0.xml", 4 | "title": "Bitcoin Amsterdam 2024", 5 | "start": "2024-10-09", 6 | "end": "2024-10-10", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://b.tc/conference/amsterdam/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://dev.bitcoinwiki.nl/btcams2023/processed/map.jpg?", 17 | "title": "Map", 18 | "type": "image/jpeg" 19 | } 20 | ], 21 | "icon": "https://dev.bitcoinwiki.nl/btcams2023/processed/btcams.png" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/kielux_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020090600, 3 | "url": "https://kielux.de/content/calendars/KOLT20.ics", 4 | "title": "18. Kieler Open Source und Linux Tage Online", 5 | "start": "2020-09-18", 6 | "end": "2020-09-19", 7 | "refresh_interval": 1800, 8 | "metadata": { 9 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 10 | "links": [ 11 | { 12 | "url": "https://kielux.de", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://kielux.de/programm/KOLT20", 17 | "title": "Schedule and workshop registration" 18 | }, 19 | { 20 | "url": "https://kielux.de/archiv", 21 | "title": "News" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/parisweb_workshops_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081400, 3 | "url": "https://www.paris-web.fr/2023/ateliers-parisweb-2023.ics", 4 | "title": "Paris Web 2023 - Ateliers", 5 | "start": "2023-09-30", 6 | "end": "2023-09-30", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.paris-web.fr/2023/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://inscriptions.paris-web.fr/", 16 | "title": "Tarifs et inscription" 17 | } 18 | ], 19 | "rooms": [ 20 | { 21 | "name": "IIM.*", 22 | "show_name": "IIM Digital School", 23 | "latlon": [48.89317, 2.22690] 24 | } 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /menu/kielux_lpd_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021091100, 3 | "url": "https://kielux.de/content/calendars/LPD21.ics", 4 | "title": "Kieler Linux Presentation Day 2021.2", 5 | "start": "2021-09-16", 6 | "end": "2021-09-16", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/LPD21", 18 | "title": "Schedule" 19 | }, 20 | { 21 | "url": "https://kielux.de/archiv", 22 | "title": "News" 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/sfscon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023111010, 3 | "url": "https://www.sfscon.it/?calendar=2023&format=xml", 4 | "title": "SFSCON 2023", 5 | "start": "2023-11-10", 6 | "end": "2023-11-11", 7 | "timezone": "Europe/Brussels", 8 | "metadata": { 9 | "icon": "https://www.sfscon.it/wp-content/uploads/2020/10/cropped-cropped-sfsconnew-180x180.png", 10 | "links": [ 11 | { 12 | "url": "https://www.sfscon.it/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://cloud.opendatahub.com/index.php/s/a7Gx22y45fHwJRS/download/2023%20SFSCON%20attendee%20guide.pdf", 17 | "title": "Attendee Guide", 18 | "type": "application/pdf" 19 | } 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ggt/app.yaml: -------------------------------------------------------------------------------- 1 | runtime: python311 2 | 3 | inbound_services: 4 | - warmup 5 | 6 | handlers: 7 | - url: / 8 | secure: always 9 | redirect_http_response_code: 301 10 | static_files: index.html 11 | upload: index.html 12 | 13 | - url: /_ah/warmup 14 | secure: optional 15 | script: auto 16 | 17 | - url: /nodatapolicy.* 18 | secure: always 19 | redirect_http_response_code: 301 20 | static_files: nodatapolicy.html 21 | upload: nodatapolicy.html 22 | 23 | - url: /.well-known/assetlinks.json 24 | secure: optional 25 | static_files: assetlinks.json 26 | upload: assetlinks.json 27 | 28 | - url: /.* 29 | secure: always 30 | redirect_http_response_code: 301 31 | script: auto 32 | -------------------------------------------------------------------------------- /menu/froscon_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022080800, 3 | "url": "https://programm.froscon.org/2022/schedule.xml", 4 | "title": "FrOSCon 2022", 5 | "start": "2022-08-20", 6 | "end": "2022-08-21", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://www.froscon.org/fileadmin/images/logos/frog_button.png", 10 | "links": [ 11 | { 12 | "url": "https://www.froscon.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://media.ccc.de/b/conferences/froscon", 17 | "title": "Recordings" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/libreplanet_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2022-03-19", 3 | "end": "2022-03-20", 4 | "timezone": "America/New_York", 5 | "version": 2022031701, 6 | "url": "https://libreplanet.org/2022/lp2022-schedule.ics", 7 | "title": "LibrePlanet 2022", 8 | "metadata": { 9 | "icon": "https://libreplanet.org/2022/assets/img/logo-small.png", 10 | "links": [ 11 | { 12 | "url": "https://libreplanet.org/2022/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://libreplanet.org/2022/live/", 17 | "title": "Livestream" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/libreplanet_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023031500, 3 | "url": "https://libreplanet.org/2023/lp2023-schedule.ics", 4 | "title": "LibrePlanet 2023", 5 | "start": "2023-03-18", 6 | "end": "2023-03-19", 7 | "timezone": "America/New_York", 8 | "metadata": { 9 | "icon": "https://libreplanet.org/2023/assets/img/logo-small.png", 10 | "links": [ 11 | { 12 | "url": "https://libreplanet.org/2023/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://libreplanet.org/2023/live/", 17 | "title": "Live Stream" 18 | }, 19 | { 20 | "url": "https://libreplanet.org/2023/safe-space-policy/", 21 | "title": "Safe Space Policy" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/parisweb_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021091100, 3 | "url": "https://www.paris-web.fr/2021/conferences-parisweb-2021.ics", 4 | "title": "Paris Web 2021", 5 | "id": "Conf\u00E9rences Paris Web 2021", 6 | "speakermatch": " \u2014 (.*)", 7 | "start": "2021-10-07", 8 | "end": "2021-10-08", 9 | "timezone": "Europe/Paris", 10 | "metadata": { 11 | "icon": "https://mamot.fr/system/accounts/avatars/000/053/194/original/692e51a45b72717a.png", 12 | "links": [ 13 | { 14 | "url": "https://www.paris-web.fr/2021/", 15 | "title": "Site Web" 16 | }, 17 | { 18 | "url": "https://inscriptions.paris-web.fr/", 19 | "title": "Tarifs et inscription" 20 | } 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /menu/38c3_main_rooms_only.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "38C3 - main rooms only", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2024/infos/startpage.html", 7 | "title": "Website" 8 | }, 9 | { 10 | "url": "https://events.ccc.de/congress/2024/hub/en/wiki/start/", 11 | "title": "Wiki" 12 | }, 13 | { 14 | "title": "Weblog", 15 | "url": "https://events.ccc.de/" 16 | } 17 | ] 18 | }, 19 | "url": "https://fahrplan.events.ccc.de/congress/2024/fahrplan/schedule/export/schedule.xml", 20 | "start": "2024-12-27", 21 | "end": "2024-12-30", 22 | "timezone": "Europe/Berlin", 23 | "refresh_interval": 1800, 24 | "version": 2024122201 25 | } 26 | -------------------------------------------------------------------------------- /menu/hacklu_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023090601, 3 | "url": "https://pretalx.com/hack-lu-2023/schedule/export/schedule.xml", 4 | "title": "hack.lu 2023", 5 | "start": "2023-10-16", 6 | "end": "2023-10-19", 7 | "timezone": "Europe/Luxembourg", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.hack.lu/", 12 | "title": "Website" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "Hollenfels", 18 | "latlon": [49.63964, 6.15409] 19 | }, 20 | { 21 | "name": "Salle Europe", 22 | "latlon": [49.63964, 6.15409] 23 | }, 24 | { 25 | "name": "Schengen 1 and 2", 26 | "latlon": [49.63964, 6.15409] 27 | } 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /menu/parisweb_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081400, 3 | "url": "https://www.paris-web.fr/2023/conferences-parisweb-2023.ics", 4 | "title": "Paris Web 2023 - Conférences", 5 | "start": "2023-09-28", 6 | "end": "2023-09-29", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.paris-web.fr/2023/", 12 | "title": "Site Web" 13 | }, 14 | { 15 | "url": "https://inscriptions.paris-web.fr/", 16 | "title": "Tarifs et inscription" 17 | } 18 | ], 19 | "rooms": [ 20 | { 21 | "name": "Auditorium", 22 | "show_name": "Auditorium - Institut Pasteur", 23 | "latlon": [48.84207, 2.31022] 24 | } 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /menu/rc3_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021122701, 3 | "url": "https://static.rc3.world/schedule/everything.xml", 4 | "title": "rC3: NOWHERE - 2021", 5 | "start": "2021-12-27", 6 | "end": "2021-12-30", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "title": "Links", 13 | "url": "https://links.rc3.world/" 14 | }, 15 | { 16 | "title": "Live-streams", 17 | "url": "https://streaming.media.ccc.de/rc3/" 18 | }, 19 | { 20 | "title": "rC3 World", 21 | "url": "https://rc3.world/2021/" 22 | }, 23 | { 24 | "title": "Weblog", 25 | "url": "https://events.ccc.de/" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/bibtag22.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022050101, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/QNzesdFeDg6tJ5j/download/bibtag22.xml", 4 | "title": "Bibliothekskongress 2022", 5 | "start": "2022-05-31", 6 | "end": "2022-06-02", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.bid-kongress-leipzig.de/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://www.bid-kongress-leipzig.de/index.php?id=24", 16 | "title": "Informationen von A-Z" 17 | }, 18 | { 19 | "url": "https://www.ccl-leipzig.de/de/location/gelaendeueberblick/", 20 | "title": "Geländeübersicht Congress Center" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/bornhack_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022072619, 3 | "url": "https://bornhack.dk/bornhack-2022/program/frab.xml", 4 | "title": "BornHack 2022", 5 | "start": "2022-08-03", 6 | "end": "2022-08-10", 7 | "timezone": "Europe/Copenhagen", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://bornhack.dk/bornhack-2022/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://bornhack.dk/bornhack-2022/info/", 16 | "title": "Info" 17 | }, 18 | { 19 | "url": "https://bornhack.dk/news/", 20 | "title": "News" 21 | }, 22 | { 23 | "url": "https://bornhack.dk/bornhack-2022/facilities/", 24 | "title": "Facilities" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/bornhack_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023051918, 3 | "url": "https://bornhack.dk/bornhack-2023/program/frab.xml", 4 | "title": "BornHack 2023", 5 | "start": "2023-08-02", 6 | "end": "2023-08-09", 7 | "timezone": "Europe/Copenhagen", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://bornhack.dk/bornhack-2023/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://bornhack.dk/bornhack-2023/info/", 16 | "title": "Info" 17 | }, 18 | { 19 | "url": "https://bornhack.dk/news/", 20 | "title": "News" 21 | }, 22 | { 23 | "url": "https://bornhack.dk/bornhack-2023/facilities/", 24 | "title": "Facilities" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/bornhack_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024071016, 3 | "url": "https://bornhack.dk/bornhack-2024/program/frab.xml", 4 | "title": "BornHack 2024", 5 | "start": "2024-07-17", 6 | "end": "2024-07-23", 7 | "timezone": "Europe/Copenhagen", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://bornhack.dk/bornhack-2024/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://bornhack.dk/bornhack-2024/info/", 16 | "title": "Info" 17 | }, 18 | { 19 | "url": "https://bornhack.dk/news/", 20 | "title": "News" 21 | }, 22 | { 23 | "url": "https://bornhack.dk/bornhack-2024/facilities/", 24 | "title": "Facilities" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/kielux_lpd_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022082701, 3 | "title": "Kielux Linux Presentation Day", 4 | "url": "https://kielux.de/content/calendars/LPD22.ics", 5 | "start": "2022-09-15", 6 | "end": "2022-09-15", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/LPD22", 18 | "title": "Schedule" 19 | } 20 | ], 21 | "rooms": [ 22 | { 23 | "name": "R012", 24 | "latlon": [54.33497, 10.11928] 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/kielux_lpd_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081601, 3 | "title": "Kielux Linux Presentation Day", 4 | "url": "https://kielux.de/content/calendars/LPD23.ics", 5 | "start": "2023-09-14", 6 | "end": "2023-09-14", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/LPD23", 18 | "title": "Schedule" 19 | } 20 | ], 21 | "rooms": [ 22 | { 23 | "name": "R114", 24 | "latlon": [54.33510, 10.11944] 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/matrixconf_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024091599, 3 | "url": "https://cfp.matrix.org/matrixconf2024/schedule/export/schedule.xml", 4 | "title": "Matrix Conference 2024", 5 | "start": "2024-09-20", 6 | "end": "2024-09-22", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.matrix.org", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2024.matrix.org/attend/#getting-there", 16 | "title": "Venue and Travel" 17 | }, 18 | { 19 | "url": "https://2024.matrix.org/attend/#health-and-safety", 20 | "title": "Health and Safety" 21 | } 22 | ] 23 | } 24 | } -------------------------------------------------------------------------------- /menu/mrmcd_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024100300, 3 | "url": "https://talks.mrmcd.net/2024/schedule/export/schedule.xml", 4 | "title": "MRMCD 2024", 5 | "start": "2024-10-03", 6 | "end": "2024-10-06", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.mrmcd.net", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://tickets.mrmcd.net/mrmcd/2024/", 16 | "title": "Tickets" 17 | }, 18 | { 19 | "url": "https://engel.mrmcd.net/login", 20 | "title": "Engelsystem / Matrosensystem" 21 | }, 22 | { 23 | "url": "https://wiki.mrmcd.net/wiki/Main_Page", 24 | "title": "Wiki" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/kielux_lpd_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024081901, 3 | "title": "Kielux Linux Presentation Day 2024", 4 | "url": "https://kielux.de/content/calendars/LPD24.ics", 5 | "start": "2024-09-19", 6 | "end": "2024-09-19", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/LPD24", 18 | "title": "Schedule" 19 | } 20 | ], 21 | "rooms": [ 22 | { 23 | "name": "R114", 24 | "latlon": [54.33510, 10.11944] 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/pgdayparis_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022022800, 3 | "url": "https://www.postgresql.eu/events/pgdayparis2022/schedule.xml", 4 | "title": "pgDay Paris 2022", 5 | "start": "2022-03-24", 6 | "end": "2022-03-24", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2022.pgday.paris/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2022.pgday.paris/registration/", 16 | "title": "Registration" 17 | }, 18 | { 19 | "url": "https://2022.pgday.paris/venue/", 20 | "title": "Venue" 21 | } 22 | ], 23 | "icon": "https://files.mastodon.social/accounts/avatars/000/194/494/original/9f75283c634daf2b.png" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/pgdayparis_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023022200, 3 | "url": "https://www.postgresql.eu/events/pgdayparis2023/schedule.xml", 4 | "title": "pgDay Paris 2023", 5 | "start": "2023-03-22", 6 | "end": "2023-03-23", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.pgday.paris/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.pgday.paris/registration/", 16 | "title": "Registration" 17 | }, 18 | { 19 | "url": "https://2023.pgday.paris/venue/", 20 | "title": "Venue" 21 | } 22 | ], 23 | "icon": "https://files.mastodon.social/accounts/avatars/000/194/494/original/9f75283c634daf2b.png" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/kielux_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021091100, 3 | "url": "https://kielux.de/content/calendars/KOLT21.ics", 4 | "title": "19. Kieler Open Source und Linux Tage Online", 5 | "start": "2021-09-17", 6 | "end": "2021-09-18", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/KOLT21", 18 | "title": "Schedule and workshop registration" 19 | }, 20 | { 21 | "url": "https://kielux.de/archiv", 22 | "title": "News" 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/libreoffice_libocon_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024100623, 3 | "url": "https://events.documentfoundation.org/libreoffice-conference-2024/schedule.xml", 4 | "title": "LibreOffice Conference (LibOCon) 2024", 5 | "start": "2024-10-10", 6 | "end": "2024-10-12", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "title": "Website", 12 | "url": "https://conference.libreoffice.org/2024/" 13 | }, 14 | { 15 | "title": "Schedule", 16 | "url": "https://events.documentfoundation.org/libreoffice-conference-2024/schedule/" 17 | }, 18 | { 19 | "title": "Location", 20 | "url": "https://conference.libreoffice.org/2024/location" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /app/build 2 | __pycache__ 3 | 4 | # from https://raw.githubusercontent.com/github/gitignore/master/Android.gitignore as of 2024-07-04 5 | # Gradle files 6 | .gradle/ 7 | build/ 8 | 9 | # Local configuration file (sdk path, etc) 10 | local.properties 11 | 12 | # Log/OS Files 13 | *.log 14 | 15 | # Android Studio generated files and folders 16 | captures/ 17 | .externalNativeBuild/ 18 | .cxx/ 19 | *.apk 20 | output.json 21 | 22 | # IntelliJ 23 | *.iml 24 | .idea/ 25 | misc.xml 26 | deploymentTargetDropDown.xml 27 | render.experimental.xml 28 | 29 | # Keystore files 30 | *.jks 31 | *.keystore 32 | 33 | # Google Services (e.g. APIs or Firebase) 34 | google-services.json 35 | 36 | # Android Profiling 37 | *.hprof 38 | -------------------------------------------------------------------------------- /menu/pycon_au_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024110501, 3 | "url": "https://pretalx.com/pycon-au-2024/schedule/export/schedule.xml", 4 | "title": "PyCon AU 2024", 5 | "start": "2024-11-22", 6 | "end": "2024-11-26", 7 | "timezone": "Australia/Melbourne", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.pycon.org.au/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2024.pycon.org.au/about/culture/", 16 | "title": "Culture" 17 | }, 18 | { 19 | "url": "https://2024.pycon.org.au/attend/travel/", 20 | "title": "Getting around" 21 | }, 22 | { 23 | "url": "https://2024.pycon.org.au/safety/", 24 | "title": "Safety" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/wicmp_2025.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025021700, 3 | "url": "https://cfp.zam.haus/wicmp-2025/schedule.xml", 4 | "title": "Wintergalaktische Club-Mate Party 2025", 5 | "start": "2025-02-28", 6 | "end": "2025-03-02", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://w.icmp.camp/10/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://cfp.zam.haus/wicmp-2025/schedule/", 16 | "title": "Fahrplan" 17 | }, 18 | { 19 | "url": "https://ticketing.zam.haus/bnb/wicmp10addon/", 20 | "title": "Workshops und Hackertours" 21 | }, 22 | { 23 | "url": "https://poc.w.icmp.camp", 24 | "title": "POC" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/bibliocon23.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023022401, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/3NdTDTKfDmz9pqy/download/bibliocon23.xml", 4 | "title": "BiblioCon 2023", 5 | "start": "2023-05-23", 6 | "end": "2023-05-26", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.bibliocon.de/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://2023.bibliocon.de/informationen-von-a-z/", 16 | "title": "Informationen von A-Z" 17 | }, 18 | { 19 | "url": "https://2023.bibliocon.de/wp-content/uploads/2020/02/HCC.pdf", 20 | "title": "Lageplan Hannover Congress Centrum (PDF)", 21 | "type": "application/pdf" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/installfest_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020021801, 3 | "url": "https://pretalx.installfest.cz/installfest-2020/schedule/export/schedule.xml", 4 | "title": "Installfest 2020", 5 | "start": "2020-02-29", 6 | "end": "2020-03-01", 7 | "metadata": { 8 | "icon": "https://installfest.cz/if19/images/logo-tux.png", 9 | "links": [ 10 | { 11 | "url": "https://installfest.cz/if20/", 12 | "title": "Web Installfestu" 13 | }, 14 | { 15 | "url": "https://installfest.cz/if20/info.html", 16 | "title": "Info o konferenci" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.github/workflows/android.yml: -------------------------------------------------------------------------------- 1 | name: Android 2 | 3 | on: 4 | push: 5 | paths-ignore: 6 | - 'tools/**' 7 | - 'menu/**' 8 | pull_request: 9 | paths-ignore: 10 | - 'tools/**' 11 | - 'menu/**' 12 | 13 | jobs: 14 | build: 15 | 16 | runs-on: ubuntu-latest 17 | 18 | steps: 19 | - uses: actions/checkout@v4 20 | - name: set up JDK 21 | uses: actions/setup-java@v4 22 | with: 23 | java-version: '17' 24 | distribution: 'temurin' 25 | cache: gradle 26 | 27 | - name: Grant execute permission for gradlew 28 | run: chmod +x gradlew 29 | - name: Tests 30 | run: ./gradlew test -i 31 | - name: Build with Gradle 32 | run: ./gradlew assemble 33 | -------------------------------------------------------------------------------- /app/src/test/resources/kielux_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020090600, 3 | "url": "https://kielux.de/content/calendars/KOLT20.ics", 4 | "title": "18. Kieler Open Source und Linux Tage Online", 5 | "start": "2020-09-18", 6 | "end": "2020-09-19", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/KOLT20", 18 | "title": "Schedule and workshop registration" 19 | }, 20 | { 21 | "url": "https://kielux.de/archiv", 22 | "title": "News" 23 | } 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/capitole_du_libre_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019102400, 3 | "url": "https://participez-2019.capitoledulibre.org/schedule/xml/", 4 | "title": "Capitole du Libre 2019", 5 | "start": "2019-11-16", 6 | "end": "2019-11-17", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://capitoledulibre.org/", 11 | "title": "Site web" 12 | } 13 | ], 14 | "rooms": [ 15 | { 16 | "name": "A.*", 17 | "latlon": [43.60248, 1.45464] 18 | }, 19 | { 20 | "name": "B.*", 21 | "latlon": [43.60247, 1.45566] 22 | }, 23 | { 24 | "name": "C.*", 25 | "latlon": [43.60214, 1.45462] 26 | }, 27 | { 28 | "name": "Foyer.*", 29 | "latlon": [43.60207, 1.45591] 30 | } 31 | ] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /menu/forum_php_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022101200, 3 | "url": "https://afup.org/event/forumphp2022/planning.ics", 4 | "title": "Forum PHP 2022", 5 | "start": "2022-10-13", 6 | "end": "2022-10-14", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "icon": "https://event.afup.org/wp-content/uploads/cropped-afup-02-192x192.png", 10 | "links": [ 11 | { 12 | "url": "https://event.afup.org/", 13 | "title": "Site Web" 14 | }, 15 | { 16 | "url": "https://afup.org/event/forumphp2022/tickets", 17 | "title": "Tarifs et inscription" 18 | }, 19 | { 20 | "url": "https://event.afup.org/forum-php-2022/infos-pratiques-forumphp2022/", 21 | "title": "Infos pratiques & FAQ" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/fosdem_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021091100, 3 | "url": "https://fosdem.org/2021/schedule/xml", 4 | "title": "FOSDEM 2021", 5 | "start": "2021-02-06", 6 | "end": "2021-02-07", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://fosdem.org/2021/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://volunteers.fosdem.org/faq/", 17 | "title": "Volunteer" 18 | }, 19 | { 20 | "url": "https://fosdem.org/2021/stands/", 21 | "title": "Stands" 22 | } 23 | ], 24 | "icon": "https://archive.fosdem.org/2018/assets/style/logo-gear-7204a6874eb0128932db10ff4030910401ac06f4e907f8b4a40da24ba592b252.png" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/fosdem_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022010600, 3 | "url": "https://fosdem.org/2022/schedule/xml", 4 | "title": "FOSDEM 2022", 5 | "start": "2022-02-05", 6 | "end": "2022-02-06", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://fosdem.org/2022/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://volunteers.fosdem.org/faq/", 17 | "title": "Volunteer" 18 | }, 19 | { 20 | "url": "https://fosdem.org/2022/stands/", 21 | "title": "Stands" 22 | } 23 | ], 24 | "icon": "https://archive.fosdem.org/2018/assets/style/logo-gear-7204a6874eb0128932db10ff4030910401ac06f4e907f8b4a40da24ba592b252.png" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /menu/capitole_du_libre_2018.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2018102400, 3 | "url": "https://participez-2018.capitoledulibre.org/schedule/xml/", 4 | "title": "Capitole du Libre 2018", 5 | "start": "2018-11-17", 6 | "end": "2018-11-18", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://2018.capitoledulibre.org/", 11 | "title": "Site web" 12 | } 13 | ], 14 | "rooms": [ 15 | { 16 | "name": "A.*", 17 | "latlon": [43.60248, 1.45464] 18 | }, 19 | { 20 | "name": "B.*", 21 | "latlon": [43.60247, 1.45566] 22 | }, 23 | { 24 | "name": "C.*", 25 | "latlon": [43.60214, 1.45462] 26 | }, 27 | { 28 | "name": "Foyer.*", 29 | "latlon": [43.60207, 1.45591] 30 | } 31 | ] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /menu/fossy_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023070501, 3 | "url": "https://edwardbetts.com/fossy_2023/schedule.xml", 4 | "title": "FOSSY 2023 (use this one!)", 5 | "start": "2023-07-13", 6 | "end": "2023-07-16", 7 | "timezone": "America/Los_Angeles", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.fossy.us/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.fossy.us/attend/health-and-safety/", 16 | "title": "Health and Safety" 17 | }, 18 | { 19 | "url": "https://2023.fossy.us/travel/", 20 | "title": "Travel and Lodging" 21 | }, 22 | { 23 | "url": "https://2023.fossy.us/attend/code-of-conduct/", 24 | "title": "Code of Conduct" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/test/resources/fosdem_2021.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2021011300, 3 | "url": "https://fosdem.org/2021/schedule/xml", 4 | "title": "FOSDEM 2021", 5 | "start": "2021-02-06", 6 | "end": "2021-02-07", 7 | "timezone": "Europe/Brussels", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://fosdem.org/2021/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://volunteers.fosdem.org/faq/", 17 | "title": "Volunteer" 18 | }, 19 | { 20 | "url": "https://fosdem.org/2021/stands/", 21 | "title": "Stands" 22 | } 23 | ], 24 | "icon": "https://archive.fosdem.org/2018/assets/style/logo-gear-7204a6874eb0128932db10ff4030910401ac06f4e907f8b4a40da24ba592b252.png" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ggt/assetlinks.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "relation": [ 4 | "delegate_permission/common.handle_all_urls" 5 | ], 6 | "target": { 7 | "namespace": "android_app", 8 | "package_name": "net.gaast.giggity", 9 | "_comment": "Dev/debug key, prod key for my Play Store uploads, then F-Droid, see https://f-droid.org/docs/Release_Channels_and_Signing_Keys/", 10 | "sha256_cert_fingerprints": [ 11 | "CD:BF:4B:79:23:0E:C6:0E:47:FF:C9:5A:61:5E:82:09:5C:6D:6C:9B:FA:AD:EB:64:CE:46:42:0E:72:D3:AD:EB", 12 | "99:A5:DE:A0:63:C4:27:9F:42:09:3A:3B:97:92:94:DD:04:86:1F:7D:C8:68:77:8B:CB:36:2B:A5:EB:CF:E4:7F", 13 | "43:23:8d:51:2c:1e:5e:b2:d6:56:9f:4a:3a:fb:f5:52:34:18:b8:2e:0a:3e:d1:55:27:70:ab:b9:a9:c9:cc:ab" 14 | ] 15 | } 16 | } 17 | ] -------------------------------------------------------------------------------- /menu/installfest_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022052301, 3 | "url": "https://pretalx.installfest.cz/installfest-2022/schedule/export/schedule.xml", 4 | "title": "Installfest 2022", 5 | "start": "2022-06-11", 6 | "end": "2022-06-12", 7 | "timezone": "Europe/Prague", 8 | "metadata": { 9 | "icon": "https://installfest.cz/if19/images/logo-tux.png", 10 | "links": [ 11 | { 12 | "url": "https://installfest.cz/if22/", 13 | "title": "Web Installfestu" 14 | }, 15 | { 16 | "url": "https://installfest.cz/if22/info.html", 17 | "title": "Info o konferenci" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/sotm_fr_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024042700, 3 | "url": "https://pretalx.com/sotm-fr-2024/schedule.xml", 4 | "title": "State of the Map France 2024", 5 | "start": "2024-06-28", 6 | "end": "2024-06-30", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://sotm2024.openstreetmap.fr/", 12 | "title": "Site web" 13 | }, 14 | { 15 | "url": "https://forum.openstreetmap.fr/", 16 | "title": "Forum" 17 | }, 18 | { 19 | "url": "https://peertube.openstreetmap.fr/c/sotm_fr_2024/videos", 20 | "title": "Replays" 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /menu/hip_berlin_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022121100, 3 | "url": "https://pretalx.c3voc.de/hip-berlin-2022/schedule/export/schedule.xml", 4 | "title": "///Hacking in Parallel – Berlin/// 2022", 5 | "start": "2022-12-27", 6 | "end": "2022-12-30", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://hip-berlin.de/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://pretix.hip-berlin.de/hip2022/hip2022/", 16 | "title": "Tickets" 17 | }, 18 | { 19 | "url": "https://wiki.hip-berlin.de/index.php?title=Main_Page", 20 | "title": "Wiki" 21 | }, 22 | { 23 | "url": "https://engelsystem.hip-berlin.de/angeltypes?action=about", 24 | "title": "Angel Center" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/bibtag20.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020021502, 3 | "url": "https://cloud.bib.uni-mannheim.de/index.php/s/AwMc2ao8C2fX8rJ/download", 4 | "title": "Bibliothekartag 2020", 5 | "start": "2020-05-26", 6 | "end": "2020-05-29", 7 | "metadata": { 8 | "icon": "https://pbs.twimg.com/profile_images/1138817129342521344/3jcmODs__200x200.png", 9 | "links": [ 10 | { 11 | "url": "https://bibliothekartag2020.de/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://bibliothekartag2020.de/der-kongress/informationen-von-a-z/", 16 | "title": "Informationen von A-Z" 17 | }, 18 | { 19 | "url": "https://bibliothekartag2020.de/wp-content/uploads/2020/02/HCC.pdf", 20 | "title": "Lageplan HCC", 21 | "type": "application/pdf" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/linux_conf_au_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2020-01-13", 3 | "end": "2020-01-17", 4 | "version": 2020010802, 5 | "url": "https://lca2020.linux.org.au/schedule/conference.ics", 6 | "title": "linux.conf.au 2020", 7 | "metadata": { 8 | "icon": "https://user-images.githubusercontent.com/248565/51358604-07784b80-1b18-11e9-976e-7ff0c81f0b96.png", 9 | "links": [ 10 | { 11 | "url": "https://linux.conf.au/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://lca2020.linux.org.au/wiki/Main_Page", 16 | "title": "Wiki" 17 | }, 18 | { 19 | "url": "https://linux.conf.au/about/location/", 20 | "title": "Location" 21 | }, 22 | { 23 | "url": "https://linux.conf.au/schedule/", 24 | "title": "Online schedule" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/src/main/res/values-v29/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /menu/linuxday_at__2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024082922, 3 | "url": "https://www.linuxday.at/vortraege/2024/calendar.ics", 4 | "title": "LinuxDay.at Vortraege", 5 | "start": "2024-09-28", 6 | "end": "2024-09-28", 7 | "timezone": "Europe/Vienna", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.linuxday.at/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://www.linuxday.at/aussteller/2024", 16 | "title": "Aussteller" 17 | }, 18 | { 19 | "url": "https://www.linuxday.at/vortraege/2024", 20 | "title": "Vorträge" 21 | }, 22 | { 23 | "url": "https://www.linuxday.at/ort.html", 24 | "title": "Wie komme ich zur HTL-Dornbirn" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/glam_wiki_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023111201, 3 | "url": "https://edwardbetts.com/glam_wiki_2023/schedule.xml", 4 | "title": "GLAM Wiki 2023", 5 | "start": "2023-11-16", 6 | "end": "2023-11-18", 7 | "timezone": "America/Montevideo", 8 | "metadata": { 9 | "icon": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/GLAMWikiConfColorLogo01.png/480px-GLAMWikiConfColorLogo01.png", 10 | "links": [ 11 | { 12 | "url": "https://meta.wikimedia.org/wiki/GLAM_Wiki_2023", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://wikimania.wikimedia.org/wiki/2023:Friendly_space_policy", 17 | "title": "Friendly space policy" 18 | } 19 | ] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /menu/froscon_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024081000, 3 | "url": "https://programm.froscon.org/2024/schedule.xml", 4 | "title": "FrOSCon 2024", 5 | "start": "2024-08-17", 6 | "end": "2024-08-18", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://froscon.org/icons/apple-touch-icon.png", 10 | "links": [ 11 | { 12 | "url": "https://froscon.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://froscon.org/en/program/project-rooms/", 17 | "title": "Project rooms" 18 | }, 19 | { 20 | "url": "https://media.ccc.de/b/conferences/froscon", 21 | "title": "Recordings" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /menu/linux_conf_au_2020_bad.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2018-01-22", 3 | "end": "2018-01-26", 4 | "version": 2020011000, 5 | "url": "https://linux.conf.au/schedule/conference.ics", 6 | "title": "LCA 2020 (old URL, avoid unless you have selections already)", 7 | "metadata": { 8 | "icon": "https://user-images.githubusercontent.com/248565/51358604-07784b80-1b18-11e9-976e-7ff0c81f0b96.png", 9 | "links": [ 10 | { 11 | "url": "https://linux.conf.au/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://lca2020.linux.org.au/wiki/Main_Page", 16 | "title": "Wiki" 17 | }, 18 | { 19 | "url": "https://linux.conf.au/about/location/", 20 | "title": "Location" 21 | }, 22 | { 23 | "url": "https://linux.conf.au/schedule/", 24 | "title": "Online schedule" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/froscon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023071400, 3 | "url": "https://programm.froscon.org/2023/schedule.xml", 4 | "title": "FrOSCon 2023", 5 | "start": "2023-08-05", 6 | "end": "2023-08-06", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://froscon.org/icons/apple-touch-icon.png", 10 | "links": [ 11 | { 12 | "url": "https://froscon.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://froscon.org/en/program/project-rooms/", 17 | "title": "Developer rooms" 18 | }, 19 | { 20 | "url": "https://media.ccc.de/b/conferences/froscon", 21 | "title": "Recordings" 22 | } 23 | ] 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /app/src/test/resources/linux_conf_au_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2020-01-13", 3 | "end": "2020-01-17", 4 | "timezone": "Australia/Brisbane", 5 | "version": 2020010802, 6 | "url": "https://lca2020.linux.org.au/schedule/conference.ics", 7 | "title": "linux.conf.au 2020", 8 | "metadata": { 9 | "icon": "https://user-images.githubusercontent.com/248565/51358604-07784b80-1b18-11e9-976e-7ff0c81f0b96.png", 10 | "links": [ 11 | { 12 | "url": "https://linux.conf.au/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://lca2020.linux.org.au/wiki/Main_Page", 17 | "title": "Wiki" 18 | }, 19 | { 20 | "url": "https://linux.conf.au/about/location/", 21 | "title": "Location" 22 | }, 23 | { 24 | "url": "https://linux.conf.au/schedule/", 25 | "title": "Online schedule" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/linuxday_at__2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022091818, 3 | "url": "https://www.linuxday.at/vortraege/2022/calendar.ics", 4 | "title": "LinuxDay.at Vortraege", 5 | "id": "LinuxDay.at Vortraege", 6 | "start": "2022-09-24", 7 | "end": "2022-09-24", 8 | "timezone": "Europe/Berlin", 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://www.linuxday.at/", 13 | "title": "Webseite" 14 | }, 15 | { 16 | "url": "https://www.linuxday.at/aussteller/2022", 17 | "title": "Aussteller" 18 | }, 19 | { 20 | "url": "https://www.linuxday.at/vortraege/2022", 21 | "title": "Vorträge" 22 | }, 23 | { 24 | "url": "https://www.linuxday.at/ort.html", 25 | "title": "Wie komme ich zur HTL-Dornbirn" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/linuxday_at__2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023090423, 3 | "url": "https://www.linuxday.at/vortraege/2023/calendar.ics", 4 | "title": "LinuxDay.at Vortraege", 5 | "id": "LinuxDay.at Vortraege", 6 | "start": "2023-09-30", 7 | "end": "2023-09-30", 8 | "timezone": "Europe/Vienna", 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://www.linuxday.at/", 13 | "title": "Webseite" 14 | }, 15 | { 16 | "url": "https://www.linuxday.at/aussteller/2023", 17 | "title": "Aussteller" 18 | }, 19 | { 20 | "url": "https://www.linuxday.at/vortraege/2023", 21 | "title": "Vorträge" 22 | }, 23 | { 24 | "url": "https://www.linuxday.at/ort.html", 25 | "title": "Wie komme ich zur HTL-Dornbirn" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/eurobsdcon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023091301, 3 | "url": "https://cloud.fabrico.fr/remote.php/dav/public-calendars/6f4PgiJAtX39xD53/?export", 4 | "title": "EuroBSDCon 2023", 5 | "start": "2023-09-14", 6 | "end": "2023-09-17", 7 | "timezone": "Europe/Lisbon", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.eurobsdcon.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.eurobsdcon.org/venue/", 16 | "title": "Venue" 17 | }, 18 | { 19 | "url": "https://2023.eurobsdcon.org/registration-and-pricing/", 20 | "title": "Registration" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "Auditorio", 26 | "latlon": [40.20738, -8.42401] 27 | }, 28 | { 29 | "name": "Quimica.*", 30 | "latlon": [40.20738, -8.42359] 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /menu/oat24.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024090701, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/FHRYTcQpBizLAHx/download/oat24.xml", 4 | "title": "Open-Access-Tage 2024", 5 | "start": "2024-09-10", 6 | "end": "2024-09-12", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://open-access-tage.de/open-access-tage-2024-koeln", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://open-access-tage.de/fileadmin/oat/oat24/Lageplan_OAT_Koeln.pdf", 16 | "title": "Lageplan", 17 | "type": "application/pdf" 18 | }, 19 | { 20 | "url": "https://open-access-tage.de/open-access-tage-2024-koeln/koeln/faq", 21 | "title": "FAQ" 22 | }, 23 | { 24 | "url": "https://zenodo.org/communities/oat24/records", 25 | "title": "Poster + Folien" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/wikimania_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024080700, 3 | "url": "https://wikimania.eventyay.com/2024/schedule/export/schedule.xml", 4 | "title": "Wikimania 2024", 5 | "start": "2024-08-07", 6 | "end": "2024-08-10", 7 | "timezone": "Europe/Warsaw", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://wikimania.wikimedia.org/wiki/2024:Wikimania", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://wikimania.wikimedia.org/wiki/Special:MyLanguage/2024:Venue", 16 | "title": "Venue" 17 | }, 18 | { 19 | "url": "https://wikimania.wikimedia.org/wiki/Special:MyLanguage/2024:Meetups", 20 | "title": "Meetups" 21 | }, 22 | { 23 | "url": "https://wikimania.wikimedia.org/wiki/Special:MyLanguage/2024:Trust_and_Safety", 24 | "title": "Trust and Safety" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/fsck2024.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "version": 2024042100, 4 | "url": "https://cfp.ctbk.de/fsck-2024/schedule.xml", 5 | "title": "FSCK 2024", 6 | "start": "2024-05-03", 7 | "end": "2024-05-05", 8 | "timezone": "Europe/Berlin", 9 | "metadata": { 10 | "links": [ 11 | { "url": "https://events.ctbk.de/fsck-2024/", "title": "Website" }, 12 | { "url": "https://events.ctbk.de/fsck-2024/hotels", "title": "Where to stay in Backnang" }, 13 | { "url": "https://engel.ctbk.de/login", "title": "Volunteer" } 14 | ], 15 | "icon": "https://events.ctbk.de/fsck-2024/_media/favicon.ico" 16 | }, 17 | "rooms": [ 18 | { "name": "Cube", "latlon": [47.05821, 15.4591] }, 19 | { "name": "Theater 4", "latlon": [47.05904, 15.45969] }, 20 | { "name": "Theater 5", "latlon": [47.05821, 15.46083] }, 21 | { "name": "Hallway", "latlon": [47.05813, 15.46068] } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /menu/passthesalt_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023061100, 3 | "url": "https://cfp.pass-the-salt.org/pts2023/schedule/export/schedule.xml", 4 | "title": "Pass the SALT 2023", 5 | "start": "2023-07-03", 6 | "end": "2023-07-05", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.pass-the-salt.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.pass-the-salt.org/practical/", 16 | "title": "Practical & safety" 17 | }, 18 | { 19 | "url": "https://2023.pass-the-salt.org/code-of-conduct/", 20 | "title": "Code of Conduct" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "Amphitheater", 26 | "latlon": [50.60776, 3.13637] 27 | }, 28 | { 29 | "name": "Workshop room", 30 | "latlon": [50.60776, 3.13637] 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /menu/passthesalt_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024050200, 3 | "url": "https://cfp.pass-the-salt.org/pts2024/schedule/export/schedule.xml", 4 | "title": "Pass the SALT 2024", 5 | "start": "2024-07-03", 6 | "end": "2024-07-05", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2024.pass-the-salt.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2024.pass-the-salt.org/practical/", 16 | "title": "Practical & safety" 17 | }, 18 | { 19 | "url": "https://2024.pass-the-salt.org/code-of-conduct/", 20 | "title": "Code of Conduct" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "Amphitheater", 26 | "latlon": [50.60776, 3.13637] 27 | }, 28 | { 29 | "name": "Workshop room", 30 | "latlon": [50.60776, 3.13637] 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /menu/sfscon_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020100905, 3 | "url": "https://www.sfscon.it/?calendar=2020&format=xml", 4 | "title": "SFScon - 2020", 5 | "start": "2020-11-13", 6 | "end": "2020-11-15", 7 | "metadata": { 8 | "icon": "https://www.sfscon.it/wp-content/uploads/2020/10/cropped-cropped-sfsconnew-180x180.png", 9 | "links": [ 10 | { 11 | "url": "https://www.sfscon.it/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.sfscon.it/about/", 16 | "title": "About" 17 | }, 18 | { 19 | "url": "https://www.sfscon.it/programs/", 20 | "title": "Past editions" 21 | }, 22 | { 23 | "url": "https://www.sfscon.it/talks-workshops/", 24 | "title": "Talks & Workshops" 25 | }, 26 | { 27 | "url": "https://www.sfscon.it/speakers/", 28 | "title": "Speakers" 29 | } 30 | ] 31 | } 32 | } 33 | 34 | -------------------------------------------------------------------------------- /menu/rml_12.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2018102401, 3 | "url": "https://rml12.duniter.io/rml12.ics", 4 | "id": "RML 12", 5 | "title": "RML 12", 6 | "start": "2018-11-17", 7 | "end": "2018-11-25", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://rml12.duniter.io/", 12 | "title": "Site Web" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "Bibliothèque Flora Tristan.*", 18 | "latlon": [44.82132, -0.55073] 19 | }, 20 | { 21 | "name": "Halle des Douves.*", 22 | "latlon": [44.83063, -0.5663] 23 | }, 24 | { 25 | "name": "Athénée Municipal.*", 26 | "latlon": [44.839834, -0.577189] 27 | }, 28 | { 29 | "name": "Chez 1000i100.*", 30 | "latlon": [44.81118, -0.55375] 31 | }, 32 | { 33 | "name": "Salle Marengo.*", 34 | "latlon": [44.83314, -0.56883] 35 | } 36 | ] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /menu/libreplanet_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2019-03-23", 3 | "end": "2019-03-24", 4 | "version": 2019032300, 5 | "url": "https://libreplanet.org/2019/lp2019-schedule.ics", 6 | "id": "LibrePlanet 2019", 7 | "title": "LibrePlanet 2019", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://libreplanet.org/2019/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.libreplanet.org/2019/live", 16 | "title": "Livestream" 17 | } 18 | ], 19 | "rooms": [ 20 | { 21 | "name": "Workshop.*|.*26-.*", 22 | "latlon": [42.361, -71.09054] 23 | }, 24 | { 25 | "name": ".*31-.*", 26 | "latlon": [42.36043, -71.09275] 27 | }, 28 | { 29 | "name": ".*32-.*", 30 | "latlon": [42.36159, -71.09045] 31 | }, 32 | { 33 | "name": ".*34-.*", 34 | "latlon": [42.36111, -71.09194] 35 | } 36 | ] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /menu/capitole_du_libre_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023102300, 3 | "url": "https://cfp.capitoledulibre.org/cdl-2023/schedule/export/schedule.xml", 4 | "title": "Capitole du Libre 2023", 5 | "start": "2023-11-18", 6 | "end": "2023-11-19", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "icon": "https://stockage.framapiaf.org/framapiaf/accounts/avatars/000/063/765/original/c5fa7c6864ab5ba2.png", 10 | "links": [ 11 | { 12 | "url": "https://capitoledulibre.org/", 13 | "title": "Site web" 14 | } 15 | ], 16 | "rooms": [ 17 | { 18 | "name": "A.*", 19 | "latlon": [43.60248, 1.45464] 20 | }, 21 | { 22 | "name": "B.*", 23 | "latlon": [43.60247, 1.45566] 24 | }, 25 | { 26 | "name": "C.*", 27 | "latlon": [43.60214, 1.45462] 28 | }, 29 | { 30 | "name": "Foyer.*", 31 | "latlon": [43.60207, 1.45591] 32 | } 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /menu/capitole_du_libre_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022102500, 3 | "url": "https://cfp.capitoledulibre.org/cdl-2022/schedule/export/schedule.xml", 4 | "title": "Capitole du Libre 2022", 5 | "start": "2022-11-19", 6 | "end": "2022-11-20", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "icon": "https://framapiaf.s3.framasoft.org/framapiaf/accounts/avatars/000/063/765/original/c5fa7c6864ab5ba2.png", 10 | "links": [ 11 | { 12 | "url": "https://capitoledulibre.org/", 13 | "title": "Site web" 14 | } 15 | ], 16 | "rooms": [ 17 | { 18 | "name": "A.*", 19 | "latlon": [43.60248, 1.45464] 20 | }, 21 | { 22 | "name": "B.*", 23 | "latlon": [43.60247, 1.45566] 24 | }, 25 | { 26 | "name": "C.*", 27 | "latlon": [43.60214, 1.45462] 28 | }, 29 | { 30 | "name": "Foyer.*", 31 | "latlon": [43.60207, 1.45591] 32 | } 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /menu/froscon_2020.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2020081800, 3 | "url": "https://programm.froscon.de/2020/schedule.xml", 4 | "title": "FrOSCon 2020", 5 | "start": "2020-08-22", 6 | "end": "2020-08-23", 7 | "metadata": { 8 | "icon": "https://www.froscon.de/fileadmin/images/logos/frog_button.png", 9 | "links": [ 10 | { 11 | "url": "https://www.froscon.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.froscon.de/en/news/", 16 | "title": "News" 17 | }, 18 | { 19 | "url": "http://streaming.media.ccc.de/", 20 | "title": "Streams" 21 | }, 22 | { 23 | "url": "http://froscon.tv/", 24 | "title": "Recordings" 25 | } 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /menu/diwokiki_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Digitale Woche Kiel im KITZ und Linux Presentation Day Kiel 2019", 3 | "url": "https://kielux.de/content/calendars/extra_2019.ics", 4 | "id": "Digitale Woche Kiel im Kitz und Linux Presentation Day", 5 | "start": "2019-09-07", 6 | "end": "2019-09-19", 7 | "version": 2019081100, 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://kielux.de", 12 | "title": "Website" 13 | }, 14 | { 15 | "title": "Programm", 16 | "url": "https://kielux.de/extra" 17 | }, 18 | { 19 | "title": "Anfahrt", 20 | "url": "https://kielux.de/anfahrt" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "R012", 26 | "latlon": [54.33497, 10.11928] 27 | }, 28 | { 29 | "name": "R007", 30 | "latlon": [54.33547, 10.11951] 31 | }, 32 | { 33 | "name": "R114", 34 | "latlon": [54.33510, 10.11944] 35 | } 36 | ] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /menu/pycon_uk_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081801, 3 | "url": "https://pretalx.com/pyconuk-2023/schedule/export/schedule.xml", 4 | "title": "PyCon UK 2023", 5 | "start": "2023-09-22", 6 | "end": "2023-09-25", 7 | "timezone": "Europe/London", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.pyconuk.org/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.pyconuk.org/code-of-conduct/", 16 | "title": "Code of Conduct" 17 | }, 18 | { 19 | "url": "https://2023.pyconuk.org/inclusion/", 20 | "title": "Inclusion, diversity and accessibility" 21 | }, 22 | { 23 | "url": "https://2023.pyconuk.org/sprints/", 24 | "title": "Sprints" 25 | }, 26 | { 27 | "url": "https://2023.pyconuk.org/venue/", 28 | "title": "Venue" 29 | }, 30 | { 31 | "url": "https://2023.pyconuk.org/faq/", 32 | "title": "FAQ" 33 | } 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /menu/linuxday_at_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019100301, 3 | "url": "https://www.linuxday.at/vortraege/2019/calendar.ics", 4 | "title": "LinuxDay.at Vortraege", 5 | "id": "LinuxDay.at Vortraege", 6 | "start": "2019-10-19", 7 | "end": "2019-10-19", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.linuxday.at/", 12 | "title": "Webseite" 13 | }, 14 | { 15 | "url": "https://www.linuxday.at/standplan-2019", 16 | "title": "Standplan" 17 | }, 18 | { 19 | "url": "https://www.linuxday.at/aussteller/2019", 20 | "title": "Aussteller" 21 | }, 22 | { 23 | "url": "https://www.linuxday.at/vortraege/2019", 24 | "title": "Vorträge" 25 | }, 26 | { 27 | "url": "https://www.linuxday.at/ort.html", 28 | "title": "Wie komme ich zur HTL-Dornbirn" 29 | } 30 | ] 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /menu/oscal_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023082901, 3 | "url": "https://cfp.openlabs.cc/oscal2023/schedule/export/schedule.xml", 4 | "title": "OSCAL 2023 (Open Source Conference Albania)", 5 | "start": "2023-09-02", 6 | "end": "2023-09-03", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://oscal.openlabs.cc/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://oscal.openlabs.cc/coc/", 16 | "title": "Code of conduct" 17 | }, 18 | { 19 | "url": "https://oscal.openlabs.cc/about/", 20 | "title": "About" 21 | }, 22 | { 23 | "url": "https://oscal.openlabs.cc/venue/", 24 | "title": "Venue" 25 | }, 26 | { 27 | "url": "https://oscal.openlabs.cc/about-tirana/", 28 | "title": "Attending" 29 | }, 30 | { 31 | "url": "https://oscal.openlabs.cc/volunteers/", 32 | "title": "Volunteers" 33 | } 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/proguard-nomini.txt: -------------------------------------------------------------------------------- 1 | # Actually don't want this obfuscation horseshit, I just want to trim 2 | # off most of the Android support library. 3 | -dontobfuscate 4 | # Also, I can't find a way to allow optimisation without corrupting line numbers. 5 | # mapping.txt isn't a solution since it'll only work with my builds downloaded from Play Store, 6 | # stacktraces from F-Droid users will remain useless. 7 | -dontoptimize 8 | # Thankfully shrinking is the more effective part. 9 | # No minify: >800K (as of 2023-09-10) 10 | # Add shrinking: ~400K 11 | # Add optimisation: ~300K 12 | 13 | # None of this actually worked, probably because it doesn't control OPTIMISATION, only shrinking? 14 | #-keepattributes *Annotation*,SourceFile,LineNumberTable 15 | #-keep class net.gaast.giggity.* 16 | #-keep class net.gaast.giggity.** 17 | 18 | # Accidentally had Play Services linked in when I ended up adding this. 19 | #-dontwarn com.google.android.gms.common.** 20 | #-dontwarn com.google.android.gms.internal.** 21 | -------------------------------------------------------------------------------- /menu/debconf24.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024071701, 3 | "url": "https://debconf24.debconf.org/schedule/pentabarf.xml", 4 | "title": "DebConf 24", 5 | "start": "2024-07-28", 6 | "end": "2024-08-04", 7 | "timezone": "Asia/Seoul", 8 | "metadata": { 9 | "icon": "https://debconf24.debconf.org/static/img/favicon/favicon-128.png", 10 | "links": [ 11 | { 12 | "url": "https://debconf24.debconf.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "title": "Wiki", 17 | "url": "https://wiki.debian.org/DebConf/24" 18 | }, 19 | { 20 | "url": "https://debconf24.debconf.org/about/coc/", 21 | "title": "Code of Conduct" 22 | }, 23 | { 24 | "url": "https://debconf24.debconf.org/about/debcamp/", 25 | "title": "DebCamp" 26 | } 27 | ] 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /menu/oat23.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023090801, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/6RRW53Xqa5LND3i/download/oat23.xml", 4 | "title": "Open-Access-Tage 2023", 5 | "start": "2023-09-27", 6 | "end": "2023-09-29", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://cloud.bib.uni-mannheim.de/s/R7Kge2WAcGt7G7N/download/oat23-transparent-bg4.png", 10 | "links": [ 11 | { 12 | "url": "https://open-access-tage.de/open-access-tage-2023-berlin", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://open-access-tage.de/fileadmin/_processed_/4/d/xcsm_171206_Gesamtplan_farb_Abstimmung2_1a6eaac0f5.png.pagespeed.ic.1GtU0KXV5q.png", 17 | "title": "Map", 18 | "type": "image/png" 19 | }, 20 | { 21 | "url": "https://open-access-tage.de/open-access-tage-2023-berlin/faq", 22 | "title": "FAQ" 23 | }, 24 | { 25 | "url": "https://zenodo.org/communities/oat23/", 26 | "title": "Poster + Folien" 27 | } 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /menu/capitole_du_libre_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024110300, 3 | "url": "https://cfp.capitoledulibre.org/cdl-2024/schedule/export/schedule.xml", 4 | "title": "Capitole du Libre 2024", 5 | "start": "2024-11-16", 6 | "end": "2024-11-17", 7 | "timezone": "Europe/Paris", 8 | "metadata": { 9 | "icon": "https://stockage.framapiaf.org/framapiaf/accounts/avatars/000/063/765/original/c5fa7c6864ab5ba2.png", 10 | "links": [ 11 | { 12 | "url": "https://capitoledulibre.org/", 13 | "title": "Site web" 14 | }, 15 | { 16 | "url": "https://tickets.capitoledulibre.org/cdl/2024/", 17 | "title": "Inscription gratuite obligatoire" 18 | } 19 | ], 20 | "rooms": [ 21 | { 22 | "name": "A.*", 23 | "latlon": [43.60248, 1.45464] 24 | }, 25 | { 26 | "name": "B.*", 27 | "latlon": [43.60247, 1.45566] 28 | }, 29 | { 30 | "name": "C.*", 31 | "latlon": [43.60214, 1.45462] 32 | }, 33 | { 34 | "name": "Foyer.*", 35 | "latlon": [43.60207, 1.45591] 36 | } 37 | ] 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /menu/kolt_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "17. Kieler Open Source und Linux Tage", 3 | "url": "https://kielux.de/content/calendars/kolt_2019.ics", 4 | "id": "17. Kieler Open Source und Linux Tage", 5 | "start": "2019-09-20", 6 | "end": "2019-09-21", 7 | "version": 2019081100, 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://kielux.de", 12 | "title": "Website" 13 | }, 14 | { 15 | "title": "Aktionen", 16 | "url": "https://kielux.de/aktionen" 17 | }, 18 | { 19 | "title": "Aussteller", 20 | "url": "https://kielux.de/aussteller" 21 | }, 22 | { 23 | "title": "Anfahrt", 24 | "url": "https://kielux.de/anfahrt" 25 | } 26 | ], 27 | "rooms": [ 28 | { 29 | "name": "R012", 30 | "latlon": [54.33497, 10.11928] 31 | }, 32 | { 33 | "name": "R007", 34 | "latlon": [54.33547, 10.11951] 35 | }, 36 | { 37 | "name": "R114", 38 | "latlon": [54.33510, 10.11944] 39 | }, 40 | { 41 | "name": "draußen", 42 | "latlon": [54.33510, 10.11944] 43 | } 44 | ] 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /menu/promconeu-2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019102901, 3 | "url": "https://promcon.io/2019-munich/schedule.xml", 4 | "title": "PromCon EU 2019", 5 | "start": "2019-11-07", 6 | "end": "2018-11-08", 7 | "metadata": { 8 | "icon": "https://promcon.io/assets/favicons/apple-touch-icon.png", 9 | "links": [ 10 | { 11 | "url": "https://promcon.io/2019-munich/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "geo:0,0?q=48.142806,11.541000(Google)", 16 | "title": "Venue location" 17 | }, 18 | { 19 | "url": "https://promcon.io/coc/", 20 | "title": "Code of Conduct" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "Main room", 26 | "latlon": [48.142806, 11.541000] 27 | } 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /menu/kielux_2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022082701, 3 | "title": "20. Kieler Open Source und Linux Tage", 4 | "url": "https://kielux.de/content/calendars/KOLT22.ics", 5 | "start": "2022-09-16", 6 | "end": "2022-09-17", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/KOLT22", 18 | "title": "Schedule and workshop registration" 19 | }, 20 | { 21 | "title": "Entertainment", 22 | "url": "https://kielux.de/aktionen" 23 | }, 24 | { 25 | "title": "Exhibition", 26 | "url": "https://kielux.de/aussteller" 27 | } 28 | ], 29 | "rooms": [ 30 | { 31 | "name": "R012", 32 | "latlon": [54.33497, 10.11928] 33 | }, 34 | { 35 | "name": "R007", 36 | "latlon": [54.33547, 10.11951] 37 | }, 38 | { 39 | "name": "R114", 40 | "latlon": [54.33510, 10.11944] 41 | } 42 | ] 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /menu/kielux_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023081601, 3 | "title": "21. Kieler Open Source und Linux Tage", 4 | "url": "https://kielux.de/content/calendars/KOLT23.ics", 5 | "start": "2023-09-15", 6 | "end": "2023-09-16", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/KOLT23", 18 | "title": "Schedule and workshop registration" 19 | }, 20 | { 21 | "title": "Entertainment", 22 | "url": "https://kielux.de/aktionen" 23 | }, 24 | { 25 | "title": "Exhibition", 26 | "url": "https://kielux.de/aussteller" 27 | } 28 | ], 29 | "rooms": [ 30 | { 31 | "name": "R012", 32 | "latlon": [54.33497, 10.11928] 33 | }, 34 | { 35 | "name": "R007", 36 | "latlon": [54.33547, 10.11951] 37 | }, 38 | { 39 | "name": "R114", 40 | "latlon": [54.33510, 10.11944] 41 | } 42 | ] 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /menu/kielux_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024081901, 3 | "title": "22. Kieler Open Source und Linux Tage", 4 | "url": "https://kielux.de/content/calendars/KOLT24.ics", 5 | "start": "2024-09-20", 6 | "end": "2024-09-21", 7 | "timezone": "Europe/Berlin", 8 | "refresh_interval": 1800, 9 | "metadata": { 10 | "icon": "https://kielux.de/static/images/kielux_tux_square.png", 11 | "links": [ 12 | { 13 | "url": "https://kielux.de", 14 | "title": "Website" 15 | }, 16 | { 17 | "url": "https://kielux.de/programm/KOLT24", 18 | "title": "Schedule and workshop registration" 19 | }, 20 | { 21 | "title": "Entertainment", 22 | "url": "https://kielux.de/aktionen" 23 | }, 24 | { 25 | "title": "Exhibition", 26 | "url": "https://kielux.de/aussteller" 27 | } 28 | ], 29 | "rooms": [ 30 | { 31 | "name": "R012", 32 | "latlon": [54.33497, 10.11928] 33 | }, 34 | { 35 | "name": "R007", 36 | "latlon": [54.33547, 10.11951] 37 | }, 38 | { 39 | "name": "R114", 40 | "latlon": [54.33510, 10.11944] 41 | } 42 | ] 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /menu/linux_conf_au_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "start": "2019-01-21", 3 | "end": "2019-01-25", 4 | "version": 2019011800, 5 | "url": "https://2019.linux.conf.au/schedule/conference.ics", 6 | "title": "linux.conf.au 2019", 7 | "metadata": { 8 | "icon": "https://user-images.githubusercontent.com/248565/51358604-07784b80-1b18-11e9-976e-7ff0c81f0b96.png", 9 | "links": [ 10 | { 11 | "url": "https://2019.linux.conf.au/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2019.linux.conf.au/schedule/", 16 | "title": "Online schedule" 17 | }, 18 | { 19 | "url": "https://2019.linux.conf.au/wiki/Main_Page", 20 | "title": "Wiki" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "C1", 26 | "latlon": [-43.52307088323096, 172.58377421683943] 27 | }, 28 | { 29 | "name": "C2", 30 | "latlon": [-43.523066173454346, 172.5836225959817] 31 | }, 32 | { 33 | "name": "C3", 34 | "latlon": [-43.5232231993839, 172.58392661196348] 35 | }, 36 | { 37 | "name": "A\\d", 38 | "latlon": [-43.524166195271505, 172.583842929392] 39 | } 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /menu/pycon_au_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023080901, 3 | "url": "https://pretalx.com/pyconau-2023/schedule/export/schedule.xml", 4 | "title": "PyCon AU 2023", 5 | "start": "2023-08-18", 6 | "end": "2023-08-20", 7 | "timezone": "Australia/Adelaide", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.pycon.org.au/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.pycon.org.au/about/", 16 | "title": "About" 17 | }, 18 | { 19 | "url": "https://2023.pycon.org.au/about/culture/", 20 | "title": "Culture" 21 | }, 22 | { 23 | "url": "https://2023.pycon.org.au/attend/getting-around/", 24 | "title": "Getting around" 25 | }, 26 | { 27 | "url": "https://2023.pycon.org.au/attend/food/", 28 | "title": "Food" 29 | }, 30 | { 31 | "url": "https://2023.pycon.org.au/attend/bof/", 32 | "title": "Birds of a Feather" 33 | }, 34 | { 35 | "url": "https://2023.pycon.org.au/attend/volunteer/", 36 | "title": "Volunteer" 37 | }, 38 | { 39 | "url": "https://2023.pycon.org.au/safety/", 40 | "title": "Safety" 41 | } 42 | ] 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /menu/pgconfnyc2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023093000, 3 | "url": "https://postgresql.us/events/pgconfnyc2023/schedule.xml", 4 | "title": "PGConf NYC 2023", 5 | "start": "2023-10-03", 6 | "end": "2023-10-05", 7 | "timezone": "America/New_York", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://2023.pgconf.nyc/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://2023.pgconf.nyc/venue/", 16 | "title": "Venue" 17 | }, 18 | { 19 | "url": "https://2023.pgconf.nyc/tickets/", 20 | "title": "Tickets" 21 | }, 22 | { 23 | "url": "https://2023.pgconf.nyc/about/", 24 | "title": "About" 25 | }, 26 | { 27 | "url": "https://2023.pgconf.nyc/inclusion/", 28 | "title": "Inclusion" 29 | }, 30 | { 31 | "url": "https://2023.pgconf.nyc/policies/", 32 | "title": "Policies" 33 | } 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /menu/glt22.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "version": 2022041300, 4 | "url": "https://pretalx.linuxtage.at/glt22/schedule.xml", 5 | "title": "Grazer Linuxtage 2022", 6 | "start": "2022-04-22", 7 | "end": "2022-04-23", 8 | "timezone": "Europe/Vienna", 9 | "metadata": { 10 | "links": [ 11 | { "url": "https://www.linuxtage.at/en/", "title": "Website" }, 12 | { "url": "https://www.linuxtage.at/en/stay/", "title": "Where to stay in Graz" }, 13 | { "url": "https://www.linuxtage.at/en/participate/", "title": "Volunteer" } 14 | ], 15 | "icon": "https://www.linuxtage.at/img/logo/tux_kopf_200.png" 16 | }, 17 | "rooms": [ 18 | { "name": "HS i1", "latlon": [47.05821, 15.4591] }, 19 | { "name": "HS i2", "latlon": [47.05904, 15.45969] }, 20 | { "name": "HS i3", "latlon": [47.05821, 15.46083] }, 21 | { "name": "HS i4", "latlon": [47.05813, 15.46068] }, 22 | { "name": "HS i5", "latlon": [47.05813, 15.46068] }, 23 | { "name": "HS i6", "latlon": [47.05821, 15.46083] }, 24 | { "name": "HS i7", "latlon": [47.0581, 15.46081] }, 25 | { "name": "HF01092", "latlon": [47.05899, 15.45968] }, 26 | { "name": "SZ01070", "latlon": [47.05864, 15.4598] }, 27 | { "name": "Seminarraum ISW", "latlon": [47.05791, 15.45987] } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /play/feature-blockschedule.diff: -------------------------------------------------------------------------------- 1 | Should maybe consider the vertical center as a new default. 2 | 3 | But need to know how truncation works then (both ends, or does it align 4 | to top then?) 5 | 6 | === modified file 'app/src/main/java/net/gaast/giggity/BlockSchedule.java' 7 | --- app/src/main/java/net/gaast/giggity/BlockSchedule.java 2016-03-13 00:18:05 +0000 8 | +++ app/src/main/java/net/gaast/giggity/BlockSchedule.java 2016-03-22 21:14:16 +0000 9 | @@ -110,7 +110,8 @@ 10 | * somewhere between 8 and 14 as the user zooms. */ 11 | float d = (float) Math.sqrt(HourWidth / 36 * TentHeight / 24) / getResources().getDisplayMetrics().density; 12 | fontSize = (float) Math.min(8 + 6 * Math.log(d) / Math.log(20), 14); 13 | - 14 | + fontSize = (HourHeight) * (float)0.4; 15 | + 16 | schedCont = new AbsoluteLayout(ctx); 17 | 18 | Bitmap bmp = Bitmap.createBitmap(HourWidth, TentHeight, Bitmap.Config.ARGB_8888); 19 | @@ -256,7 +257,7 @@ 20 | 21 | public Element(Activity ctx) { 22 | super(ctx); 23 | - setGravity(Gravity.CENTER_HORIZONTAL); 24 | + setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); 25 | setHeight(TentHeight); 26 | setTextColor(0xFFFFFFFF); 27 | setPadding(0, 3, 0, 0); 28 | 29 | -------------------------------------------------------------------------------- /menu/bsides_london_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023110601, 3 | "url": "https://pretalx.com/bsides-london-2023/schedule/export/schedule.xml", 4 | "title": "Bsides London 2023", 5 | "start": "2023-12-09", 6 | "end": "2023-12-09", 7 | "timezone": "Europe/London", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.securitybsides.org.uk/", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://www.securitybsides.org.uk/code.html", 16 | "title": "Code of conduct" 17 | }, 18 | { 19 | "url": "https://www.securitybsides.org.uk/sponsors.html", 20 | "title": "Sponsors" 21 | }, 22 | { 23 | "url": "https://www.securitybsides.org.uk/challenges.html", 24 | "title": "Challenges" 25 | }, 26 | { 27 | "url": "https://pretalx.com/bsides-london-2023/speaker/", 28 | "title": "Speakers" 29 | }, 30 | { 31 | "url": "https://www.flickr.com/photos/bsideslondon/", 32 | "title": "flickr" 33 | } 34 | ] 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Small 5 | 3 lines 6 | 2 lines 7 | 8 | 9 | 10 | @string/block_schedule 11 | @string/timetable 12 | @string/tracks 13 | @string/now_next 14 | @string/my_events 15 | @string/search 16 | 17 | 18 | net.gaast.giggity:id/block_schedule 19 | net.gaast.giggity:id/timetable 20 | net.gaast.giggity:id/tracks 21 | net.gaast.giggity:id/now_next 22 | net.gaast.giggity:id/my_events 23 | net.gaast.giggity:id/search 24 | 25 | 26 | small 27 | medium 28 | large 29 | 30 | 31 | 1 32 | 5 33 | 10 34 | 15 35 | 36 | 37 | -------------------------------------------------------------------------------- /menu/36c3_main_rooms_only.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "36c3 - main rooms only", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2019/wiki/index.php/Main_Page", 7 | "title": "Wiki" 8 | }, 9 | { 10 | "title": "Weblog", 11 | "url": "https://events.ccc.de/" 12 | } 13 | ], 14 | "c3nav_base": "https://36c3.c3nav.de", 15 | "rooms": [ 16 | { 17 | "name": "Ada", 18 | "show_name": "Hall 1", 19 | "latlon": [51.39553, 12.39962], 20 | "c3nav_slug": "hall-a" 21 | }, 22 | { 23 | "name": "Borg", 24 | "show_name": "Hall 3", 25 | "latlon": [51.39512, 12.40239], 26 | "c3nav_slug": "hall-b" 27 | }, 28 | { 29 | "name": "Clarke", 30 | "show_name": "Hall 4", 31 | "latlon": [51.39811, 12.40496], 32 | "c3nav_slug": "hall-c" 33 | }, 34 | { 35 | "name": "Dijkstra", 36 | "show_name": "Hall 1", 37 | "latlon": [51.39553, 12.39962], 38 | "c3nav_slug": "hall-d" 39 | }, 40 | { 41 | "name": "Eliza", 42 | "show_name": "CCL Hall 2", 43 | "latlon": [51.39783, 12.40023], 44 | "c3nav_slug": "hall-e" 45 | } 46 | ] 47 | }, 48 | "url": "https://fahrplan.events.ccc.de/congress/2019/Fahrplan/schedule.xml", 49 | "start": "2019-12-27", 50 | "end": "2019-12-30", 51 | "refresh_interval": 1800, 52 | "version": 2019121501 53 | } 54 | -------------------------------------------------------------------------------- /menu/glt23.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "version": 2023041100, 4 | "url": "https://pretalx.linuxtage.at/glt23/schedule.xml", 5 | "title": "Grazer Linuxtage 2023", 6 | "start": "2023-04-14", 7 | "end": "2023-04-15", 8 | "timezone": "Europe/Vienna", 9 | "metadata": { 10 | "links": [ 11 | { "url": "https://www.linuxtage.at/", "title": "Website" }, 12 | { "url": "https://www.linuxtage.at/stay/", "title": "Where to stay in Graz" }, 13 | { "url": "https://www.linuxtage.at/participate/", "title": "Volunteer" } 14 | ], 15 | "icon": "https://www.linuxtage.at/img/logo/tux_kopf_200.png" 16 | }, 17 | "rooms": [ 18 | { "name": "HS i1", "latlon": [47.05821, 15.4591] }, 19 | { "name": "HS i2", "latlon": [47.05904, 15.45969] }, 20 | { "name": "HS i3", "latlon": [47.05821, 15.46083] }, 21 | { "name": "HS i4", "latlon": [47.05813, 15.46068] }, 22 | { "name": "HS i5", "latlon": [47.05813, 15.46068] }, 23 | { "name": "HS i6", "latlon": [47.05821, 15.46083] }, 24 | { "name": "HS i7", "latlon": [47.0581, 15.46081] }, 25 | { "name": "HS i11", "latlon": [47.0587, 15.45914] }, 26 | { "name": "HS i12", "latlon": [47.0587, 15.45914] }, 27 | { "name": "HS i13", "latlon": [47.0587, 15.45914] }, 28 | { "name": "HF01092", "latlon": [47.05899, 15.45968] }, 29 | { "name": "SZ01070", "latlon": [47.05864, 15.4598] }, 30 | { "name": "Seminarraum ISW, MFEG210", "latlon": [47.05791, 15.45987] } 31 | ] 32 | } -------------------------------------------------------------------------------- /menu/oat22.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2022090201, 3 | "url": "https://cloud.bib.uni-mannheim.de/s/f35r5JMRZywZBoa/download/oat22.xml", 4 | "title": "Open-Access-Tage 2022", 5 | "start": "2022-09-19", 6 | "end": "2022-09-21", 7 | "timezone": "Europe/Berlin", 8 | "metadata": { 9 | "icon": "https://cloud.bib.uni-mannheim.de/s/aCFfyztnYjJMC5y/download/oat22-icon.png", 10 | "links": [ 11 | { 12 | "url": "https://open-access-tage.de/open-access-tage-2022-bern", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://cloud.bib.uni-mannheim.de/s/anJxSLffPYPNDCq/download/OAT%20Plan%20Gurten.png", 17 | "title": "Map", 18 | "type": "image/png" 19 | }, 20 | { 21 | "url": "https://zenodo.org/communities/oat22/", 22 | "title": "Poster + Folien" 23 | } 24 | ], 25 | "rooms": [ 26 | { 27 | "name": "Kulturschür", 28 | "latlon": [46.91895, 7.43811] 29 | }, 30 | { 31 | "name": "Pavillon", 32 | "latlon": [46.91961, 7.43900] 33 | }, 34 | { 35 | "name": "Gurtenbahn Talstation", 36 | "latlon": [46.92777, 7.44602] 37 | }, 38 | { 39 | "name": "Ussicht/Wytsicht", 40 | "latlon": [46.91985, 7.43792] 41 | }, 42 | { 43 | "name": "Sibe", 44 | "latlon": [46.91985, 7.43792] 45 | }, 46 | { 47 | "name": "Gewölbekeller", 48 | "latlon": [46.91985, 7.43792] 49 | }, 50 | { 51 | "name": "Eis, Zwöi, Vier, Sächs", 52 | "latlon": [46.91985, 7.43792] 53 | } 54 | ] 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /menu/ubucon_europe_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019092101, 3 | "url": "https://manage.ubucon.org/eu2019/schedule/export/schedule.xml", 4 | "title": "Ubucon Europe 2019 - Sintra", 5 | "start": "2019-10-10", 6 | "end": "2019-10-13", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://sintra2019.ubucon.org", 11 | "title": "Website" 12 | }, 13 | { 14 | "url": "https://manage.ubucon.org/eu2019/schedule", 15 | "title": "Schedule" 16 | }, 17 | { 18 | "url": "https://sintra2019.ubucon.org/infos", 19 | "title": "Venue Information" 20 | } 21 | ], 22 | "icon": "https://sintra2019.ubucon.org/ubucon-eu-2019-sintra-icon-tiny.png", 23 | "rooms": [ 24 | { 25 | "name": "A1.*", 26 | "show_name": "A1 - Ubuntu Auditorium", 27 | "latlon": [ 28 | 38.80322, 29 | -9.38238 30 | ] 31 | }, 32 | { 33 | "name": "S1.*", 34 | "show_name": "S1 - Disco Room", 35 | "latlon": [ 36 | 38.80322, 37 | -9.38238 38 | ] 39 | }, 40 | { 41 | "name": "S2.*", 42 | "show_name": "S2 - Bionic Room", 43 | "latlon": [ 44 | 38.80322, 45 | -9.38238 46 | ] 47 | }, 48 | { 49 | "name": "S3.*", 50 | "show_name": "S3 - Xenial Room", 51 | "latlon": [ 52 | 38.80322, 53 | -9.38238 54 | ] 55 | } 56 | ] 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /menu/linuxdays_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019091100, 3 | "url": "https://pretalx.linuxdays.cz/2019/schedule/export/schedule.xml", 4 | "start": "2019-10-05", 5 | "end": "2019-10-06", 6 | "title": "LinuxDays 2019", 7 | "metadata": { 8 | "icon": "https://www.linuxdays.cz/2019/obrazky/icon.png", 9 | "links": [ 10 | { 11 | "title": "Website", 12 | "url": "https://www.linuxdays.cz/2019/" 13 | }, 14 | { 15 | "title": "Map", 16 | "type": "image/png", 17 | "url": "https://www.linuxdays.cz/2019/obrazky/plan.png" 18 | } 19 | ], 20 | "rooms": [ 21 | { 22 | "latlon": [ 23 | 50.105249, 24 | 14.390095 25 | ], 26 | "name": "105" 27 | }, 28 | { 29 | "latlon": [ 30 | 50.105382, 31 | 14.389836 32 | ], 33 | "name": "155" 34 | }, 35 | { 36 | "latlon": [ 37 | 50.105138, 38 | 14.390298 39 | ], 40 | "name": "107" 41 | }, 42 | { 43 | "latlon": [ 44 | 50.105047, 45 | 14.390432 46 | ], 47 | "name": "111" 48 | } 49 | ] 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /menu/glt25.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2025031802, 3 | "url": "https://pretalx.linuxtage.at/glt25/schedule.xml", 4 | "title": "Grazer Linuxtage 2025", 5 | "start": "2025-04-25", 6 | "end": "2025-04-26", 7 | "timezone": "Europe/Vienna", 8 | "metadata": { 9 | "links": [ 10 | { "url": "https://www.linuxtage.at/", "title": "Website" }, 11 | { "url": "https://www.linuxtage.at/stay/", "title": "Where to stay in Graz" }, 12 | { "url": "https://www.linuxtage.at/faq/", "title": "Frequently asked questions" }, 13 | { "url": "https://www.linuxtage.at/help/", "title": "Volunteer" } 14 | ], 15 | "icon": "https://www.linuxtage.at/img/logo/tux_kopf_200.png" 16 | }, 17 | "rooms": [ 18 | { "name": "HS i1", "latlon": [47.05821, 15.4591] }, 19 | { "name": "HS i2", "latlon": [47.05904, 15.45969] }, 20 | { "name": "HS i3", "latlon": [47.05821, 15.46083] }, 21 | { "name": "HS i4", "latlon": [47.05813, 15.46068] }, 22 | { "name": "HS i5", "latlon": [47.05813, 15.46068] }, 23 | { "name": "HS i6", "latlon": [47.05821, 15.46083] }, 24 | { "name": "HS i7", "latlon": [47.0581, 15.46081] }, 25 | { "name": "HS i11", "latlon": [47.0587, 15.45914] }, 26 | { "name": "HS i12", "latlon": [47.0587, 15.45914] }, 27 | { "name": "HS i13", "latlon": [47.0587, 15.45914] }, 28 | { "name": "HF01092", "latlon": [47.05899, 15.45968] }, 29 | { "name": "SZ01070", "latlon": [47.05864, 15.4598] }, 30 | { "name": "Seminarraum ISW, MFEG210", "latlon": [47.05791, 15.45987] }, 31 | { "name": "IEM Cube", "latlon": [47.057125, 15.460078] } 32 | ] 33 | } -------------------------------------------------------------------------------- /menu/foss4g_europe_2024_full.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024062500, 3 | "url": "https://sotm.osmz.ru/tartu2024.xml", 4 | "title": "FOSS4G Europe 2024 (extended)", 5 | "start": "2024-07-01", 6 | "end": "2024-07-07", 7 | "timezone": "Europe/Tallinn", 8 | "refresh_interval": 7200, 9 | "metadata": { 10 | "links": [ 11 | { 12 | "url": "https://2024.europe.foss4g.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://wiki.osgeo.org/wiki/FOSS4G-Europe-2024/BirdsOfAFeather", 17 | "title": "Birds of a Feather" 18 | }, 19 | { 20 | "url": "https://wiki.osgeo.org/wiki/FOSS4G-Europe-2024/CommunitySprint", 21 | "title": "Community Sprint" 22 | }, 23 | { 24 | "url": "https://2024.europe.foss4g.org/sponsors/", 25 | "title": "Sponsors" 26 | } 27 | ], 28 | "rooms": [ 29 | { 30 | "name": "Raekoja plats", 31 | "latlon": [58.38009, 26.72224] 32 | }, 33 | { 34 | "name": "Room .*|Destination.*|GEOCAT.*|LAStools.*|QField.*|Vanemuise 46", 35 | "show_name": "Vanemuise 46", 36 | "latlon": [58.37347, 26.71616] 37 | }, 38 | { 39 | "name": "Mart Reiniku", 40 | "latlon": [58.37290, 26.71549] 41 | }, 42 | { 43 | "name": "Omicum", 44 | "latlon": [58.37290, 26.71766] 45 | }, 46 | { 47 | "name": "Salong", 48 | "latlon": [58.37628, 26.72151] 49 | }, 50 | { 51 | "name": "Aparaaditehas", 52 | "latlon": [58.37046, 26.71617] 53 | }, 54 | { 55 | "name": "Lodjakoda", 56 | "latlon": [58.39122, 26.71361] 57 | } 58 | ] 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /menu/linuxdays_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023100600, 3 | "url": "https://pretalx.linuxdays.cz/linuxdays-2023/schedule/export/schedule.xml", 4 | "start": "2023-10-07", 5 | "end": "2023-10-08", 6 | "timezone": "Europe/Prague", 7 | "title": "LinuxDays 2023", 8 | "metadata": { 9 | "icon": "https://www.linuxdays.cz/2023/obrazky/icon.png", 10 | "links": [ 11 | { 12 | "title": "Website", 13 | "url": "https://www.linuxdays.cz/2023/" 14 | }, 15 | { 16 | "title": "Map", 17 | "type": "image/png", 18 | "url": "https://www.linuxdays.cz/2023/obrazky/plan23.png" 19 | } 20 | ], 21 | "rooms": [ 22 | { 23 | "latlon": [ 24 | 50.105249, 25 | 14.390095 26 | ], 27 | "name": "105" 28 | }, 29 | { 30 | "latlon": [ 31 | 50.105382, 32 | 14.389836 33 | ], 34 | "name": "155" 35 | }, 36 | { 37 | "latlon": [ 38 | 50.105138, 39 | 14.390298 40 | ], 41 | "name": "107" 42 | }, 43 | { 44 | "latlon": [ 45 | 50.105047, 46 | 14.390432 47 | ], 48 | "name": "111" 49 | } 50 | ] 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /menu/linuxdays_2024.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2024101000, 3 | "url": "https://pretalx.linuxdays.cz/linuxdays-2024/schedule/export/schedule.xml", 4 | "start": "2024-10-12", 5 | "end": "2024-10-13", 6 | "timezone": "Europe/Prague", 7 | "title": "LinuxDays 2024", 8 | "metadata": { 9 | "icon": "https://www.linuxdays.cz/2024/obrazky/icon.png", 10 | "links": [ 11 | { 12 | "title": "Website", 13 | "url": "https://www.linuxdays.cz/2024/" 14 | }, 15 | { 16 | "title": "Map", 17 | "type": "image/png", 18 | "url": "https://www.linuxdays.cz/2024/obrazky/plan24.png" 19 | } 20 | ], 21 | "rooms": [ 22 | { 23 | "latlon": [ 24 | 50.105249, 25 | 14.390095 26 | ], 27 | "name": "105" 28 | }, 29 | { 30 | "latlon": [ 31 | 50.105382, 32 | 14.389836 33 | ], 34 | "name": "155" 35 | }, 36 | { 37 | "latlon": [ 38 | 50.105138, 39 | 14.390298 40 | ], 41 | "name": "107" 42 | }, 43 | { 44 | "latlon": [ 45 | 50.105047, 46 | 14.390432 47 | ], 48 | "name": "111" 49 | } 50 | ] 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /menu/foss4g-sotm-oceania-2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023092401, 3 | "url": "https://talks.osgeo.org/foss4g-sotm-oceania-2023/schedule/export/schedule.xml", 4 | "title": "FOSS4G SOTM Oceania 2023", 5 | "start": "2023-10-16", 6 | "end": "2023-10-20", 7 | "timezone": "Pacific/Auckland", 8 | "metadata": { 9 | "icon": "https://2023.foss4g-oceania.org/fav-icon/apple-touch-icon.png", 10 | "links": [ 11 | { 12 | "url": "https://2023.foss4g-oceania.org/", 13 | "title": "Website" 14 | }, 15 | { 16 | "url": "https://2023.foss4g-oceania.org/#/code-of-conduct", 17 | "title": "Code of conduct" 18 | }, 19 | { 20 | "url": "https://2023.foss4g-oceania.org/#/attend/our-conference-venue", 21 | "title": "Venue" 22 | }, 23 | { 24 | "url": "https://2023.foss4g-oceania.org/#/attend/Accommodation", 25 | "title": "Accommodation" 26 | }, 27 | { 28 | "url": "https://2023.foss4g-oceania.org/#/program/workshops", 29 | "title": "Workshops" 30 | }, 31 | { 32 | "url": "https://2023.foss4g-oceania.org/#/program/community-day", 33 | "title": "Community day" 34 | }, 35 | { 36 | "url": "https://2023.foss4g-oceania.org/#/program/social-events", 37 | "title": "Social events" 38 | } 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/res/layout/widget_layout.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 20 | 21 | 29 | 30 | 42 | 43 | -------------------------------------------------------------------------------- /app/src/main/java/net/gaast/giggity/MyItemsView.java: -------------------------------------------------------------------------------- 1 | package net.gaast.giggity; 2 | 3 | import android.content.Context; 4 | 5 | import java.util.ArrayList; 6 | import java.util.Date; 7 | import java.util.TreeSet; 8 | 9 | public class MyItemsView extends ScheduleListView implements ScheduleViewer { 10 | private Schedule sched; 11 | Context ctx; 12 | 13 | public MyItemsView(Context ctx_, Schedule sched_) { 14 | super(ctx_); 15 | ctx = ctx_; 16 | sched = sched_; 17 | 18 | refreshContents(); 19 | } 20 | 21 | @SuppressWarnings({ "rawtypes", "unchecked" }) 22 | @Override 23 | public void refreshContents() { 24 | ArrayList fullList = new ArrayList(); 25 | TreeSet seen = new TreeSet(); 26 | TreeSet coming = new TreeSet(); 27 | Date now = new Date(); 28 | 29 | for (Schedule.Line tent : sched.getTents()) { 30 | for (Schedule.Item item : tent.getItems()) { 31 | if (item.getRemind()) { 32 | if (item.compareTo(now) >= 0) 33 | seen.add(item); 34 | else 35 | coming.add(item); 36 | } 37 | } 38 | } 39 | if (coming.size() > 0) { 40 | fullList.add(getResources().getString(R.string.coming_up)); 41 | fullList.addAll(coming); 42 | } 43 | if (seen.size() > 0) { 44 | fullList.add((coming.size() > 0 ? "\n" : "") + this.getResources().getString(R.string.seen_so_far)); 45 | fullList.addAll(seen); 46 | } 47 | if (fullList.isEmpty()) 48 | fullList.add(getResources().getString(R.string.none_marked)); 49 | setShowRemind(false); 50 | setList(fullList); 51 | } 52 | 53 | @Override 54 | public boolean multiDay() { 55 | return true; 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /app/src/main/java/net/gaast/giggity/ScheduleViewer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Giggity -- Android app to view conference/festival schedules 3 | * Copyright 2008-2021 Wilmer van der Gaast 4 | * 5 | * This program is free software; you can redistribute it and/or 6 | * modify it under the terms of version 2 of the GNU General Public 7 | * License as published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program; if not, write to the Free Software 16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 | * Boston, MA 02110-1301, USA. 18 | */ 19 | 20 | package net.gaast.giggity; 21 | 22 | public interface ScheduleViewer { 23 | /* These two maybe should've just been the same. */ 24 | /* Called every minute to update clock/marking of currently happening events. */ 25 | void refreshContents(); 26 | /* Called after possible event state changes (ScheduleItemActivity or more tricky on tablets) */ 27 | void refreshItems(); 28 | /* For UI stuff where the constructor would be too early to do it (showing keyboard for example) */ 29 | void onShow(); 30 | 31 | /* Allow date switching. Does not apply to now&next for example. */ 32 | boolean multiDay(); 33 | 34 | /* Currently used by TimeTable only to blend the room tabs with the action bar. */ 35 | boolean extendsActionBar(); 36 | 37 | public void setPadding(int left, int top, int right, int bottom); 38 | } 39 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 11 | 12 | 17 | 18 | 21 | 22 | 28 | 32 | 37 | 38 | -------------------------------------------------------------------------------- /ggt/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | ggt.gaa.st 4 | 5 |

6 | You arrived here because somehow a ggt.gaa.st URL did not get 7 | intercepted by Giggity properly. Likely you don't have Giggity installed 8 | on your phone, or it's an ancient version. Or if you're using Firefox, 9 | you may have to click on a little Android logo in your address bar now. 10 |

11 | 12 |

13 | Or, maybe you're on your PC instead of on a phone, in which case hopefully 14 | a QR code just appeared below, which you should be able to scan using your 15 | QR scan/camera app. 16 |

17 | 18 | 20 | 21 | 24 | 26 |
27 | 30 | 31 |

32 |
33 | Giggity is an Android app that lets you 34 | conveniently browse conference schedules on Android phones. 35 |
36 | F-Droid download link 37 | Play Store download link 38 |

39 | -------------------------------------------------------------------------------- /menu/wikidatacon_2023.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2023092901, 3 | "url": "https://pretalx.com/wikidatacon2023/schedule/export/schedule.xml", 4 | "title": "WikidataCon 2023", 5 | "start": "2023-10-28", 6 | "end": "2023-10-30", 7 | "timezone": "Asia/Taipei", 8 | "metadata": { 9 | "links": [ 10 | { 11 | "url": "https://www.wikidata.org/wiki/Wikidata:WikidataCon_2023", 12 | "title": "Website" 13 | }, 14 | { 15 | "url": "https://pretalx.com/wikidatacon2023/speaker/", 16 | "title": "Speakers" 17 | }, 18 | { 19 | "url": "https://foundation.wikimedia.org/wiki/Policy:Universal_Code_of_Conduct", 20 | "title": "Code of conduct" 21 | }, 22 | { 23 | "url": "https://www.wikidata.org/wiki/Wikidata:WikidataCon_2023/Attend_online", 24 | "title": "Attend online" 25 | }, 26 | { 27 | "url": "https://www.wikidata.org/wiki/Wikidata:WikidataCon_2023/Attend_in_Taipei", 28 | "title": "Attend in Taipei" 29 | }, 30 | { 31 | "url": "https://www.wikidata.org/wiki/Wikidata:Eleventh_Birthday/Events", 32 | "title": "Distributed events" 33 | }, 34 | { 35 | "url": "https://www.wikidata.org/wiki/Wikidata:WikidataCon_2023/Contribute", 36 | "title": "Contribute" 37 | }, 38 | { 39 | "url": "https://www.wikidata.org/wiki/Wikidata:WikidataCon_2023/Documentation", 40 | "title": "Documentation" 41 | }, 42 | { 43 | "url": "https://www.wikidata.org/wiki/Wikidata_talk:WikidataCon_2023", 44 | "title": "Discussions" 45 | } 46 | ] 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /menu/oat19.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019092001, 3 | "url": "https://open-access.net/fileadmin/oat/oat19/cal/oat19.xml", 4 | "title": "Open-Access-Tage 2019", 5 | "start": "2019-09-30", 6 | "end": "2019-10-02", 7 | "metadata": { 8 | "links": [ 9 | { 10 | "url": "https://open-access.net/community/open-access-tage/open-access-tage-2019/", 11 | "title": "Website" 12 | }, 13 | { 14 | "url": "https://info.cafm.uni-hannover.de/building/1101", 15 | "title": "Veranstaltungsort" 16 | }, 17 | { 18 | "url": "https://open-access.net/fileadmin/oat/oat19/cal/Lageplan-LUH.jpg", 19 | "title": "Räume", 20 | "type": "image/jpg" 21 | } 22 | ], 23 | "rooms": [ 24 | { 25 | "name": "Lichthof", 26 | "latlon": [52.38256, 9.71784] 27 | }, 28 | { 29 | "name": "B305", 30 | "latlon": [52.38244, 9.71747] 31 | }, 32 | { 33 | "name": "A310", 34 | "latlon": [52.38227, 9.71813] 35 | }, 36 | { 37 | "name": "A320", 38 | "latlon": [52.38231, 9.7175] 39 | }, 40 | { 41 | "name": "C311", 42 | "latlon": [52.38229, 9.71815] 43 | }, 44 | { 45 | "name": "E242", 46 | "latlon": [52.38285, 9.71829] 47 | }, 48 | { 49 | "name": "Galerie", 50 | "latlon": [52.38234, 9.71779] 51 | }, 52 | { 53 | "name": "Konferenzbüro", 54 | "latlon": [52.38237, 9.71775] 55 | }, 56 | { 57 | "name": "TIB", 58 | "latlon": [52.38164, 9.72002] 59 | }, 60 | { 61 | "name": "Vortragsraum der TIB", 62 | "latlon": [52.38157, 9.72] 63 | }, 64 | { 65 | "name": "Landesmuseum", 66 | "latlon": [52.36532, 9.73910] 67 | }, 68 | { 69 | "name": "Herrenhäuser Gärten", 70 | "latlon": [52.39117, 9.6984] 71 | }, 72 | { 73 | "name": "Schlossküche Herrenhausen", 74 | "latlon": [52.39136,9.69683] 75 | } 76 | ] 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /menu/sotm_2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 2019082102, 3 | "url": "http://sotm.osmz.ru/19.xml", 4 | "title": "State of the Map 2019", 5 | "start": "2019-09-21", 6 | "end": "2019-09-23", 7 | "metadata": { 8 | "icon": "https://2019.stateofthemap.org/img/sotm-512.png", 9 | "links": [ 10 | { 11 | "url": "https://2019.stateofthemap.org/", 12 | "title": "Website" 13 | } 14 | ], 15 | "rooms": [ 16 | { 17 | "name": "GHS", 18 | "latlon": [49.41874361469689, 8.673456609249115] 19 | }, 20 | { 21 | "name": "HSO", 22 | "latlon": [49.418363236761046, 8.673679232597351] 23 | }, 24 | { 25 | "name": "HSW", 26 | "latlon": [49.418361491901344, 8.673252761363983] 27 | }, 28 | { 29 | "name": "KHS", 30 | "latlon": [49.41834229844044, 8.67346465587616] 31 | }, 32 | { 33 | "name": "Mathematikon A", 34 | "latlon": [49.417431472847596, 8.675226867198944] 35 | }, 36 | { 37 | "name": "Mathematikon B", 38 | "latlon": [49.41753965608237, 8.6752188205719] 39 | }, 40 | { 41 | "name": "Mathematikon C", 42 | "latlon": [49.41765132884875, 8.6752188205719] 43 | } 44 | ] 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /app/src/main/res/xml/preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 14 | 15 | 18 | 19 | 28 | 29 | 30 | 31 | 32 | 37 | 38 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /menu/37c3_main_rooms_only.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "37c3 - main rooms only", 3 | "metadata": { 4 | "links": [ 5 | { 6 | "url": "https://events.ccc.de/congress/2023/infos/startpage.html", 7 | "title": "Website" 8 | }, 9 | { 10 | "url": "https://events.ccc.de/congress/2023/hub/en/wiki/start/", 11 | "title": "Wiki" 12 | }, 13 | { 14 | "title": "Weblog", 15 | "url": "https://events.ccc.de/" 16 | } 17 | ], 18 | "c3nav_base": "https://37c3.c3nav.de", 19 | "rooms": [ 20 | { 21 | "name": "Kidspace.*", 22 | "show_name": "Kidspace - Workshopraum in Saal B", 23 | "c3nav_slug": "hall-b" 24 | }, 25 | { 26 | "name": "Lounge", 27 | "show_name": "Lounge", 28 | "c3nav_slug": "lounge-main" 29 | }, 30 | { 31 | "name": "Saal 1", 32 | "show_name": "Saal 1", 33 | "c3nav_slug": "hall-1" 34 | }, 35 | { 36 | "name": "Saal D", 37 | "show_name": "Saal D", 38 | "c3nav_slug": "sos-d" 39 | }, 40 | { 41 | "name": "Saal E", 42 | "show_name": "Saal E", 43 | "c3nav_slug": "sos-e" 44 | }, 45 | { 46 | "name": "Saal Granville", 47 | "show_name": "Saal Granville", 48 | "c3nav_slug": "hg" 49 | }, 50 | { 51 | "name": "Saal Zuse", 52 | "show_name": "Saal Zuse", 53 | "c3nav_slug": "hz" 54 | }, 55 | { 56 | "name": "Sendezentrum Stage.*", 57 | "show_name": "Sendezentrum Stage (Saal F)", 58 | "c3nav_slug": "sendezentrum-dlf" 59 | }, 60 | { 61 | "name": "Stage H", 62 | "show_name": "Stage H", 63 | "c3nav_slug": "sos-h" 64 | }, 65 | { 66 | "name": "Stage Y", 67 | "show_name": "Stage Y", 68 | "c3nav_slug": "sos-y" 69 | }, 70 | { 71 | "name": "Stonewall IO", 72 | "show_name": "Stonewall IO", 73 | "c3nav_slug": "stonewall-io" 74 | } 75 | ] 76 | }, 77 | "url": "https://fahrplan.events.ccc.de/congress/2023/fahrplan/schedule.xml", 78 | "start": "2023-12-27", 79 | "end": "2023-12-30", 80 | "timezone": "Europe/Berlin", 81 | "refresh_interval": 1800, 82 | "version": 2023122701 83 | } 84 | --------------------------------------------------------------------------------