Commit graph

115 commits

Author SHA1 Message Date
arkon
b37b3767f3 Minor cleanup
Also add POST_NOTIFICATIONS permissions to make Android Studio stop complaining about it.
2022-09-21 22:39:32 -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
arkon
cd3cb72b65 Bump dependencies + linting 2022-09-10 23:57:03 -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
arkon
d6f1534ee8 Address misc. build warnings 2022-08-10 23:26:34 -04:00
Andreas
7892cc1519
Log extension loading errors directly (#7716) 2022-08-10 15:53:47 -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
stevenyomi
284445c364
Extension API: change fallback source and logic (#7400)
* Extension API: change fallback source and logic

* remove ghproxy
2022-06-29 18:34:25 -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
kasperskier
7b242bf118
Change jsDelivr CDN URL to Fastly (#7156) 2022-05-17 17:19:17 -04:00
arkon
d61bfd7caf Use jsDelivr as fallback when GitHub can't be reached for extensions (closes #5517)
Re-implementation of 24bb2f02dc
2022-05-15 16:51:52 -04:00
arkon
b950370f12 Address some build warnings 2022-05-11 18:08:49 -04:00
FourTOne5
49d3ddb830
Add -r flag to ShizukuInstaller createCommand (#7080) 2022-05-06 22:00:24 -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
4ecde9fc39 Gate update/download warnings to non-stable flavors 2022-04-10 12:17:45 -04:00
arkon
5afff31f72 Formatting 2022-04-08 16:44:23 -04:00
arkon
f0eb42e72d Update linter 2022-04-08 15:30:39 -04:00
Ivan Iskandar
ef600c0956
Fix extension update badge reset when app resumed (#6822) 2022-03-25 11:11:16 -04:00
arkon
1b71e4cee7 Write job failure exceptions to error log 2022-01-26 22:21:01 -05:00
Andreas
66a180bc36
Add ability to open FAQ and Guide, and Changelog in extension repository (#6469) 2022-01-22 14:17:43 -05:00
Ivan Iskandar
78a261f5d3
Reduce stutter when entering Browse screen (#6435)
* More coil

* ExtensionController: Drop first text change event

* Browse-Source: Remove unnecessary load

* ExtensionPresenter: Increase debounce timeout

To avoid heavy list reload during first enter animation
2022-01-08 12:55:22 -05:00
arkon
78c2631b6f Move preference extension functions to utils 2021-12-31 16:32:24 -05:00
arkon
b701821550 Handle potentially missing sources list in extensions JSON
Can happen in:
- Unofficial repos
- If the inspector breaks
2021-12-24 09:32:44 -05:00
FourTOne5
9e83130bd8
Add Better Extension Search (#6359)
Add support to searching with source name, id and baseUrl for a extension's sources.
2021-12-18 14:46:45 -05:00
arkon
532a1b1aba Address some IDE warnings 2021-12-17 12:30:41 -05:00
arkon
6a39c8fc13 Avoid loading available extensions list if it seems too small 2021-11-28 18:29:22 -05:00
arkon
60e73e2d1f Allow loading extension-lib 1.3
(Which doesn't actually exist yet, but will at some point after the next major release)
2021-11-28 14:55:03 -05:00
arkon
0edc981cd2 Move app and extension update notifications to new channels/group (closes #6168) 2021-10-30 17:42:06 -04:00
arkon
93e2b88d41 Minor cleanup 2021-10-23 17:29:13 -04:00
Ivan Iskandar
2e127dff1f
Replace Timber with Square Logcat and make logging configurable (#6062)
* Replace Timber with Square Logcat

* Configurable logger
2021-10-07 22:12:55 -04:00
arkon
f754b081ce Use data class to parse extensions list 2021-09-25 14:57:54 -04: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
a2cf210a52 Unify NSFW flagging for sources/extensions
Since multisource extensions are no longer a thing, we now simply rely on the flag at the extension level, i.e. the per-Source/SourceFactory `@Nsfw` annotation is no longer checked.
We'll have to remove all of the annotation usages from the existing sources, which will also effectively break the setting for older versions of the app.
2021-09-13 17:49:58 -04:00
arkon
ec4e631760 Clean up some companion object usages 2021-09-05 14:34:29 -04:00
Taco
12a9d0575d
Use more Compat utilities (#5786)
* Use ActivityCompat.recreate

* Use more KTX extensions

* Use PackageInfoCompat.getLongVersionCode

* Remove unnecessary compat usages
2021-08-27 16:33:12 -04:00
arkon
8aa11951bf Do background app/extension checks less frequently
Since the in-app checks occur at least once a day anyway.
2021-08-13 18:24:21 -04:00
arkon
4acc7cee3d Revert jsDelivr CDN fallback
It doesn't work unless you provide actual semver versions, but we don't do that.
2021-07-20 17:23:55 -04:00
arkon
24bb2f02dc Use jsDelivr as fallback when GitHub can't be reached for extensions list (closes #5517) 2021-07-10 11:35:43 -04:00
arkon
07de367476 Revert "Set background job expedited policies"
This reverts commit c69420373a.

Caused crashes in TachiyomiSY for some reason. Will have to redo this once we target Android 12.
2021-06-09 17:11:23 -04:00
arkon
c69420373a Set background job expedited policies 2021-06-02 22:58:03 -04:00
arkon
b092e98ac9 Include extension loading errors in error logs 2021-04-19 10:18:32 -04:00
arkon
1b921f9845 Make extension load error logs less verbose 2021-04-03 10:27:40 -04:00
arkon
a398c3fb81 Handle link for multisource extension commits (closes #4432) 2021-02-11 17:35:15 -05:00