mirror of
https://git.mihon.tech/mihonapp/mihon
synced 2024-11-27 09:44:55 +03:00
Merge branch '0.8.x'
# Conflicts: # app/build.gradle # app/src/main/java/eu/kanade/tachiyomi/data/backup/models/Backup.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/TrackQueries.kt # app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/TrackManager.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/TrackService.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/Anilist.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistApi.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/OAuth.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/Bangumi.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/OAuth.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/Kitsu.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/OAuth.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/myanimelist/MyAnimeList.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/OAuth.kt # app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/Shikimori.kt # app/src/main/java/eu/kanade/tachiyomi/data/updater/UpdaterJob.kt # app/src/main/java/eu/kanade/tachiyomi/extension/api/ExtensionGithubApi.kt # app/src/main/java/eu/kanade/tachiyomi/network/AndroidCookieJar.kt # app/src/main/java/eu/kanade/tachiyomi/network/CloudflareInterceptor.kt # app/src/main/java/eu/kanade/tachiyomi/network/NetworkHelper.kt # app/src/main/java/eu/kanade/tachiyomi/network/OkHttpExtensions.kt # app/src/main/java/eu/kanade/tachiyomi/network/ProgressListener.kt # app/src/main/java/eu/kanade/tachiyomi/network/ProgressResponseBody.kt # app/src/main/java/eu/kanade/tachiyomi/network/Requests.kt # app/src/main/java/eu/kanade/tachiyomi/source/CatalogueSource.kt # app/src/main/java/eu/kanade/tachiyomi/source/Source.kt # app/src/main/java/eu/kanade/tachiyomi/source/SourceManager.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/Filter.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/FilterList.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/MangasPage.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/Page.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/SChapter.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/SChapterImpl.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/SManga.kt # app/src/main/java/eu/kanade/tachiyomi/source/model/SMangaImpl.kt # app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSource.kt # app/src/main/java/eu/kanade/tachiyomi/source/online/HttpSourceFetcher.kt # app/src/main/java/eu/kanade/tachiyomi/source/online/LoginSource.kt # app/src/main/java/eu/kanade/tachiyomi/source/online/ParsedHttpSource.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/NucleusController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/base/presenter/NucleusConductorDelegate.java # app/src/main/java/eu/kanade/tachiyomi/ui/base/presenter/NucleusConductorLifecycleListener.java # app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/filter/SortGroup.kt # app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/global_search/CatalogueSearchCardItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/ChangeMangaCategoriesDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/DeleteLibraryMangasDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryView.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryGridHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryListHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryNavigationView.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/library/LibrarySort.kt # app/src/main/java/eu/kanade/tachiyomi/ui/main/ChangelogDialogController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChapterItem.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DeleteChaptersDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DeletingChaptersDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/DownloadChaptersDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/SetDisplayModeDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/SetSortingDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackChaptersDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackScoreDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/SetTrackStatusDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackHolder.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackPresenter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchAdapter.kt # app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackSearchDialog.kt # app/src/main/java/eu/kanade/tachiyomi/ui/more/AboutController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/reader/loader/HttpPageLoader.kt # app/src/main/java/eu/kanade/tachiyomi/ui/recent_updates/RecentChaptersController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsGeneralController.kt # app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsMainController.kt # app/src/main/java/eu/kanade/tachiyomi/widget/ExtendedNavigationView.kt # app/src/main/res/drawable/ic_book_white_24dp.xml # app/src/main/res/layout/categories_controller.xml # app/src/main/res/layout/chapters_controller.xml # app/src/main/res/layout/navigation_view_checkbox.xml # app/src/main/res/layout/navigation_view_group.xml # app/src/main/res/layout/pref_item_source.xml # app/src/main/res/layout/reader_activity.xml # app/src/main/res/layout/track_item.xml # app/src/main/res/values/strings.xml # build.gradle
This commit is contained in:
commit
0ac33b64b1
11 changed files with 49 additions and 26 deletions
|
@ -40,8 +40,8 @@ android {
|
|||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
versionCode 41
|
||||
versionName "0.8.4"
|
||||
versionCode 42
|
||||
versionName "0.8.5"
|
||||
|
||||
buildConfigField "String", "COMMIT_COUNT", "\"${getCommitCount()}\""
|
||||
buildConfigField "String", "COMMIT_SHA", "\"${getGitSha()}\""
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.github.salomonbrys.kotson.string
|
|||
import com.google.gson.Gson
|
||||
import com.google.gson.JsonArray
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.extension.util.ExtensionLoader
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.NetworkHelper
|
||||
import eu.kanade.tachiyomi.network.await
|
||||
|
@ -34,17 +35,23 @@ internal class ExtensionGithubApi {
|
|||
|
||||
val json = gson.fromJson<JsonArray>(text)
|
||||
|
||||
return json.map { element ->
|
||||
val name = element["name"].string.substringAfter("Tachiyomi: ")
|
||||
val pkgName = element["pkg"].string
|
||||
val apkName = element["apk"].string
|
||||
val versionName = element["version"].string
|
||||
val versionCode = element["code"].int
|
||||
val lang = element["lang"].string
|
||||
val icon = "$REPO_URL/icon/${apkName.replace(".apk", ".png")}"
|
||||
return json
|
||||
.filter { element ->
|
||||
val versionName = element["version"].string
|
||||
val libVersion = versionName.substringBeforeLast('.').toDouble()
|
||||
libVersion >= ExtensionLoader.LIB_VERSION_MIN && libVersion <= ExtensionLoader.LIB_VERSION_MAX
|
||||
}
|
||||
.map { element ->
|
||||
val name = element["name"].string.substringAfter("Tachiyomi: ")
|
||||
val pkgName = element["pkg"].string
|
||||
val apkName = element["apk"].string
|
||||
val versionName = element["version"].string
|
||||
val versionCode = element["code"].int
|
||||
val lang = element["lang"].string
|
||||
val icon = "$REPO_URL/icon/${apkName.replace(".apk", ".png")}"
|
||||
|
||||
Extension.Available(name, pkgName, versionName, versionCode, lang, apkName, icon)
|
||||
}
|
||||
Extension.Available(name, pkgName, versionName, versionCode, lang, apkName, icon)
|
||||
}
|
||||
}
|
||||
|
||||
fun getApkUrl(extension: Extension.Available): String {
|
||||
|
|
|
@ -27,8 +27,8 @@ internal object ExtensionLoader {
|
|||
|
||||
private const val EXTENSION_FEATURE = "tachiyomi.extension"
|
||||
private const val METADATA_SOURCE_CLASS = "tachiyomi.extension.class"
|
||||
private const val LIB_VERSION_MIN = 1
|
||||
private const val LIB_VERSION_MAX = 1
|
||||
const val LIB_VERSION_MIN = 1.0
|
||||
const val LIB_VERSION_MAX = 1.2
|
||||
|
||||
private const val PACKAGE_FLAGS = PackageManager.GET_CONFIGURATIONS or PackageManager.GET_SIGNATURES
|
||||
|
||||
|
@ -107,9 +107,9 @@ internal object ExtensionLoader {
|
|||
}
|
||||
|
||||
// Validate lib version
|
||||
val majorLibVersion = versionName.substringBefore('.').toInt()
|
||||
if (majorLibVersion < LIB_VERSION_MIN || majorLibVersion > LIB_VERSION_MAX) {
|
||||
val exception = Exception("Lib version is $majorLibVersion, while only versions " +
|
||||
val libVersion = versionName.substringBeforeLast('.').toDouble()
|
||||
if (libVersion < LIB_VERSION_MIN || libVersion > LIB_VERSION_MAX) {
|
||||
val exception = Exception("Lib version is $libVersion, while only versions " +
|
||||
"$LIB_VERSION_MIN to $LIB_VERSION_MAX are allowed")
|
||||
Timber.w(exception)
|
||||
return LoadResult.Error(exception)
|
||||
|
|
|
@ -16,7 +16,6 @@ fun GET(
|
|||
headers: Headers = DEFAULT_HEADERS,
|
||||
cache: CacheControl = DEFAULT_CACHE_CONTROL
|
||||
): Request {
|
||||
|
||||
return Request.Builder()
|
||||
.url(url)
|
||||
.headers(headers)
|
||||
|
@ -30,7 +29,6 @@ fun POST(
|
|||
body: RequestBody = DEFAULT_BODY,
|
||||
cache: CacheControl = DEFAULT_CACHE_CONTROL
|
||||
): Request {
|
||||
|
||||
return Request.Builder()
|
||||
.url(url)
|
||||
.post(body)
|
||||
|
|
|
@ -24,7 +24,6 @@ class ChangeMangaCategoriesDialog<T>(bundle: Bundle? = null) :
|
|||
categories: List<Category>,
|
||||
preselected: Array<Int>
|
||||
) : this() {
|
||||
|
||||
this.mangas = mangas
|
||||
this.categories = categories
|
||||
this.preselected = preselected
|
||||
|
|
|
@ -23,7 +23,6 @@ import kotlinx.android.synthetic.main.catalogue_grid_item.unread_text
|
|||
class LibraryGridHolder(
|
||||
private val view: View,
|
||||
private val adapter: FlexibleAdapter<*>
|
||||
|
||||
) : LibraryHolder(view, adapter) {
|
||||
|
||||
/**
|
||||
|
|
|
@ -80,7 +80,6 @@ class MainActivity : BaseActivity() {
|
|||
} else {
|
||||
router.popToRoot()
|
||||
}
|
||||
|
||||
true
|
||||
}
|
||||
|
||||
|
@ -110,7 +109,6 @@ class MainActivity : BaseActivity() {
|
|||
container: ViewGroup,
|
||||
handler: ControllerChangeHandler
|
||||
) {
|
||||
|
||||
syncActivityViewWithController(to, from)
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ class ChapterItem(val chapter: Chapter, val manga: Manga) : AbstractFlexibleItem
|
|||
position: Int,
|
||||
payloads: List<Any?>?
|
||||
) {
|
||||
|
||||
holder.bind(this, manga)
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,6 @@ class HttpPageLoader(
|
|||
val page: ReaderPage,
|
||||
val priority: Int
|
||||
) : Comparable<PriorityPage> {
|
||||
|
||||
companion object {
|
||||
private val idGenerator = AtomicInteger()
|
||||
}
|
||||
|
|
|
@ -57,5 +57,4 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,5 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<changelog bulletedList="true">
|
||||
<changelogversion versionName="v0.8.5" changeDate="">
|
||||
<changelogtext>[b]Future releases will only support Android 5+[/b]</changelogtext>
|
||||
<changelogtext>New: open in browser/webview from catalogue</changelogtext>
|
||||
<changelogtext>New: reader color filter blend modes</changelogtext>
|
||||
<changelogtext>New: link to help website in sidebar</changelogtext>
|
||||
<changelogtext>New: long press bookmark icon in manga info to change categories</changelogtext>
|
||||
<changelogtext>New: update prioritization setting</changelogtext>
|
||||
<changelogtext>New: Bangumi tracker</changelogtext>
|
||||
<changelogtext>New: extension search</changelogtext>
|
||||
<changelogtext>New: see changelog by pressing Settings > About > Build time</changelogtext>
|
||||
<changelogtext>Enhancement: ignore case when sorting library</changelogtext>
|
||||
<changelogtext>Enhancement: available extensions grouped by languages</changelogtext>
|
||||
<changelogtext>Enhancement: webview navigation</changelogtext>
|
||||
<changelogtext>Enhancement: improved loading speed when skipping pages in a chapter</changelogtext>
|
||||
<changelogtext>Fix: Cloudflare issues</changelogtext>
|
||||
<changelogtext>Fix: sharing issues when filename is long</changelogtext>
|
||||
<changelogtext>Fix: handle errors during global search</changelogtext>
|
||||
<changelogtext>Fix: looping GIFs now loop</changelogtext>
|
||||
<changelogtext>Fix: .nomedia files generated to avoid pages appearing in gallery apps</changelogtext>
|
||||
<changelogtext>Fix: download queue won't autostart if it was previously paused</changelogtext>
|
||||
<changelogtext>Fix: remove DOWNLOADED text after marking chapter as read (if setting is enabled)</changelogtext>
|
||||
<changelogtext>Fix: backup dialog showing "null" when saving to cloud storage</changelogtext>
|
||||
<changelogtext>Fix: MAL and Shikimori tracker issues</changelogtext>
|
||||
</changelogversion>
|
||||
|
||||
<changelogversion versionName="v0.8.4" changeDate="">
|
||||
<changelogtext>All the internal sources have been removed. They now need to be
|
||||
installed as an extension.</changelogtext>
|
||||
|
|
Loading…
Reference in a new issue