25 Commits

Author SHA1 Message Date
Christoph
65a9c8c1fe
Add support for location plugins (#772)
* Cherry pick location refactor

* Refactor :data:openstreetmaps to :data:locations

* contract, plugin sdk

* Implement serialization, module tweaks

* Include check for out-of-date departures in SearchableItemVM.requestUpdatedSearchable()

* settings for location plugins

* Try not to be too lazy

* more fiddling with the plugin SDK

* add departures in MapView with mock data for debug builds

* change icons

* add boats

* animate departure lazycolumn

* Add MarqueeText for text overflow handling

* Define height for Departures in case there is no map to display

* Don't inclure railway / highway tags for OSM since there will be location plugins for that

* sort by time

* - Apply pre-merge changes to LocationSettings
- Add banner warning about slowed down location search for large search radii

* ditch `showLocationOnMap`

* LocationItem: make `showOpeningSchedule` toggleable

* LocationItem: make Navigation AssistChip work for people that don't have google maps installed

* LocationItem: resolve TODOs

* MapTiles: ditch unused code, animate userIndicator

* Reintroduce departure list

* Add LineColor

* Add osm tag `stars` as `userRating` https://taginfo.openstreetmap.org/keys/stars#overview

* typealias -> import

* Don't add Navigation Chip when there is no way to resolve navigation intents

* Add settings migration

* Set plugin SDK version to 1.2.0-SNAPSHOT

* Deduplicate shared plugin classes, use kotlinx.serialization

* Fix imports

* Use ZonedDateTime for depature times

* Add more line types

* Rewrite location serialization

* Replace street/houseNumber with address

* Add attribution field

* Add plugin config

* Reject location search requests without lat lon parameters

* Add default values to plugin location class

* Don't crash if column value is null

* Add docs comments to LocationCategory values

* Refactor OpeningSchedule as polymorphic

* remove dead corpse *ahem* code

* Split LocationCategory into category and icon

(Also update to Kotlin 2.0, please don't do this at home)

* Add more location icons

* Fix (?) location deserializer

* Add more location icons

* More icons

* Meh

* Add Pub

* Disable Github Maven repo if credentials are missing

* Add location search specific settings to plugin details screen

* Add language parameter

* Unbreak the build

* Refactor plugin SDK (with breaking changes)

* Set plugin SDK version to 2.0.0-SNAPSHOT

* Document SDK breaking changes

* Implement LocationProvider.getQuery

* Add a typesafe cursor API

* Oops I did it again

next time maybe check if the code is actually compiling before pushing

* Add missing return statement

* Fix list serialization

* Departure time UI adjustment

* Use typesafe cursor for weather plugins

* Add userRatingCount and emailAddress fields

* grrr

* Rename and extend LineTypes

* Add default lineType to Departure to fix serialization errors

* Fix refreshing stored plugin locations

* Adapt line name column width to available departures

* Fix plugin settings screen category overlap

* add LocationItem.GenericTransit

* Fix crash during deserialization of locations

* Update SDK docs

* Replace plugin "official" mark with "verified developer" mark

before anyone gets sued

* show 'now' when departure is in less than one minute

* Add typesafe Bundle API

* Implement plugin API changes

* Plugin SDK: Fix refresh result not being returned

* Update docs

* apply alpha to departures that have departured

* better (maybe): reduce saturation instead of alpha

* Add default values for Attribution

* Display attribution

* Rearrange location result layout

* Reduce searchable update interval to 1 minute

* Pass last update time to refresh function

* Change refresh path and ensure that timestamp is only update when the item was updated

* categorize osm location

* Update docs

* Optimize location search

- run providers in parallel
- flatten code

* add experimental address parsing for OSM

* add poi_category_townhall

* Fix popup closing when favorites items are updated

* Revert "Fix popup closing when favorites items are updated"

This reverts commit fc517fd066c7f8109b6d6df2d4f536af66398207.

* Fork AndroidAddressFormatter to `:libs:address-formatter`

* migrate `:libs:address-formatter` dependencies to version catalog and update them

* also consider addr:{suburb,hamlet} for `Address.city` if city tag is missing

* Move poi strings back to strings.xml

* Update Jetpack Compose

* Move address-formatter back to its original package, add license and readme

* Move address-formatter back to its original package

---------

Co-authored-by: MM20 <15646950+MM2-0@users.noreply.github.com>
2024-06-14 11:57:03 +02:00
MM20
1d6688831c
Add managed location to weather plugin API 2024-05-03 13:02:17 +02:00
MM20
2efc159741
Add deferred plugin storage strategy 2024-04-09 18:00:32 +02:00
MM20
33eff8499e
Fix crash 2024-01-28 23:00:12 +01:00
MM20
426473e397
Add API to control online search 2024-01-28 21:35:36 +01:00
MM20
92ddc75060
Refactor preferences module 2024-01-19 22:29:37 +01:00
MM20
bdf8b1f0d7
Plugin sdk: add file owner and meta data fields 2023-12-11 16:32:57 +01:00
MM20
63e2d5cdac
Run plugin queries on worker thread 2023-12-10 18:44:32 +01:00
MM20
2479fdbc03
Move badge settings to decentralized data store, add preference for plugin badges 2023-12-07 22:44:41 +01:00
MM20
0f6d636ca0
Add plugin badges 2023-12-07 20:56:57 +01:00
MM20
a94cc2ae01
Add file plugin settings screens 2023-12-03 19:44:26 +01:00
MM20
966d43d4d1
Migrate file search settings to decentralized json data store 2023-11-25 18:54:27 +01:00
MM20
25cd9b707e
Group plugins by package 2023-11-25 16:29:20 +01:00
MM20
b7452f6bce
Plugin stuff, idk, i wrote that shit yesterday 2023-11-08 19:02:53 +01:00
MM20
e7ae751340
Add plugin settings screen 2023-11-06 19:30:41 +01:00
MM20
801caf9dd6
Plugins: bringup 2023-11-05 19:02:59 +01:00
MM20
0a508a37ba
Refactor file metadata types 2023-10-29 22:50:50 +01:00
MM20
957358c79a
Annual refactor 2023-10-28 14:20:16 +02:00
MM20
e516848f4f
File search: improve handling of launcher theme and launcher backup file types 2023-10-02 11:30:23 +02:00
MM20
ff61165a34
Remove Microsoft integration 2023-05-14 21:38:00 +02:00
MM20
df1aa8c119
Reuse search result item viewmodels 2023-04-21 13:37:00 +02:00
MM20
56566b8452
Disable OneDrive integration
it was broken anyway
2023-04-17 18:10:30 +02:00
MM20
2ae19260fb
Fix potential crash 2023-01-23 21:14:21 +01:00
MM20
41a0157983
Tweak search query thresholds 2022-12-21 19:35:33 +01:00
MM20
3f8880a90a
Reorganize and group modules 2022-12-13 17:37:26 +01:00