Commit Graph

40 Commits

Author SHA1 Message Date
arkon 93925a7286 Remove redundancy in ExtensionManager 2022-10-21 14:42:21 -04:00
Andreas 30b3b2d3ff Split source preferences from PreferencesHelper (#8029) 2022-09-18 10:36:41 -04:00
Andreas 0086743a53 Use 1.x preference abstraction (#8020)
* Use 1.x preference abstraction

- Uses SharedPreferences compared to 1.x impl which uses DataStore but it breaks all settings screens currently
- Move PreferencesHelper to new PreferenceStore
  - PreferencesHelper should be split into smaller preference stores and be in core or domain
- Remove flow preferences as new PreferenceStore handles changes for us

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>

* Fix PreferenceMutableState not updating

* Fix changes not emitting on first subscription

Co-authored-by: inorichi <3521738+inorichi@users.noreply.github.com>
2022-09-17 11:48:24 -04:00
Alessandro Jean 084e6a964e Enable sub-languages on app first run (#7127)
* Enable sub-languages on app first run.

* Fix wrong language code string parsing.

* Fix some build issues due to rebase.

* Use PreferenceHelper and remove an extra preference.

* Remove a constant.
2022-08-30 15:37:15 -04:00
AntsyLich 8d40e20b7d Prevent unofficial exts from getting marked as obsolete or updateable (#7871)
* Prevent unofficial exts from getting marked as obsolete

* Prevent unofficial ext `hasUpdate` getting marked as true
2022-08-27 12:12:59 -04:00
Ivan Iskandar b3426f37e7 ExtensionPresenter: Fix crash on first launch (#7685)
* Revert "Use SharedFlow for available extensions to always emit the value (#7609)"

This reverts commit 73901f50c0.

* ExtensionPresenter: Explicitly set refreshing status

* Scope coroutines job to presenter

* cleanup

* fix toast
2022-08-04 15:44:37 -04:00
Andreas 73901f50c0 Use SharedFlow for available extensions to always emit the value (#7609)
- Fixes Extension screen being stuck refreshing due to StateFlow not emitting due to the value being the same
2022-07-25 08:31:41 -04:00
Andreas 35ec593658 Use Flow in ExtensionManager and SourceManager (#7547)
- Replace ExtensionManager relay and observable with Flow
- Inverse SourceManager dependency
    - SourceManager observers ExtensionManager flow
- Separate SourceData from SourceRepository as it created a circular dependency
2022-07-16 15:08:15 -04:00
Andreas 018ca71336 Use Stable interface for Browse screens (#7544) 2022-07-16 14:44:37 -04:00
AntsyLich 64f60c36e6 ExtensionManger: Fix unofficial extension has update (#7503) 2022-07-10 10:00:48 -04:00
AntsyLich 9d5b7de1d8 Maintain source info in the database. (#6389)
* Maintain Source Info in database

* Review changes and cleanups

* Review changes 2

* Review Changes 3
2022-06-14 09:10:40 -04:00
Andreas 29a0989f28 Convert Source tab to use Compose (#6987)
* Use Compose in Source tab

* Replace hashCode with key function

* Add ability to turn off pins moving on top of source list

* Changes from review comments
2022-04-24 14:35:59 -04:00
arkon f16fb4e1e4 Minor cleanup 2022-04-14 18:15:47 -04:00
arkon f0eb42e72d Update linter 2022-04-08 15:30:39 -04:00
arkon 78c2631b6f Move preference extension functions to utils 2021-12-31 16:32:24 -05:00
arkon 6a39c8fc13 Avoid loading available extensions list if it seems too small 2021-11-28 18:29:22 -05:00
Ivan Iskandar b284384f0a Implement new extension install methods (#5904)
* Implement new extension install methods

* Fixes

* Resolve feedback

* Keep pending status when waiting to install

* Cancellable installation

* Remove auto error now that we have cancellable job
2021-09-25 14:31:52 -04:00
arkon c620c924f9 Revert "Use flows instead of relays for extensions loading"
This reverts commit 07e76f35fa.
2021-01-07 19:06:34 -05:00
arkon 07e76f35fa Use flows instead of relays for extensions loading 2021-01-04 11:09:31 -05:00
arkon 1a439ecece Remove source overwrite logic since built-in sources no longer exist 2020-12-12 16:15:18 -05:00
arkon 2dc47352f8 Add operator functions for handling set preferences 2020-07-25 18:07:10 -04:00
arkon 3f63b320c4 Linting fixes 2020-04-25 14:24:45 -04:00
arkon 401210da44 More FlowPreferences migrations 2020-04-17 18:30:05 -04:00
arkon 022c0746c0 Show error toast when extensions list fails to load 2020-04-03 22:54:52 -04:00
arkon 06c3f57f62 Cache source package icons 2020-04-03 21:39:55 -04:00
Jay f115fe47fe Using extension icon instead of letter for catalogues (closes #2261) 2020-04-01 23:03:20 -04:00
arkon 6da350aee6 Minor extension update cleanup, default to on 2020-03-20 22:59:59 -04:00
Jays2Kings 9585f9a1a6 Option to auto check for extension updates (#2680)
* Option to auto check for extension updates

* Addressing comments

* Added foreground check for extensions

* Added Extension Preference widget
2020-03-20 22:22:39 -04:00
arkon 043e3784e8 Run linter 2020-02-26 18:03:34 -05:00
arkon 3ecc883944 Run default Android Studio formatter on code 2020-02-17 17:23:37 -05:00
arkon 34bf9b729e More coroutine network call fixes 2020-02-14 09:23:54 -05:00
arkon 7af075633b Explicitly switch between IO/UI dispatchers when updating list of extensions
Potentially fixes #2566
2020-02-03 19:11:18 -05:00
arkon a3e39987d4 Migrate extension list fetch to coroutine 2020-02-02 22:57:15 -05:00
arkon 47f5ea881f Reorganize other util files 2020-02-02 22:22:54 -05:00
Jay b74fb2ef5e Fixed extensions showing as obsolete when call fails
(cherry picked from commit a44e9a19b0cfceeaeecd8ad378f14ccd47c8683c)
2020-01-16 08:57:37 -05:00
arkon f3e228e8a4 Indicate obsolete extensions (#2494)
* Indicate obsolete extensions

* Make obsolete indicators red

* Move obsolete extensions up the list

* Add base button theme for holder

* Use red button color state instead of explicit text color
2020-01-12 18:27:04 -05:00
Samuel Bronson 9276c491bc Upgrade Kotlin (to 1.3), Coroutines, Gradle and Android gradle plugin.
Kotlin:                1.2.71 -> 1.3.50
Coroutines:            0.30.2 -> 1.3.1
Gradle:                4.6    -> 5.4.1
Android gradle plugin: 3.2.1  -> 3.5.0

This brings us down to *one* experimental coroutine API, and we've
opted in to using it in just *one* place.

(The fact that the API to opt-in to using an experimental API in a
specific place is *also* experimental surely will not come back to
bite us later.)
2019-09-18 22:45:54 -04:00
inorichi 8e50ac67bc Bugfixes and extension installation improvements 2018-03-02 18:10:10 +01:00
inorichi 32387cd034 Update available extesions whenever the screen is opened 2018-02-24 15:38:19 +01:00
Carlos 854112095b Downloading extensions from Github Repo. (#1101)
Downloading extensions from Github Repo.
2018-02-05 22:50:56 +01:00