Point to GitHub releases for stable changelogs

This commit is contained in:
arkon 2020-07-04 14:36:56 -04:00
parent 367932de69
commit 68df2f4ce7
9 changed files with 31 additions and 241 deletions

View File

@ -192,9 +192,6 @@ dependencies {
// HTML parser // HTML parser
implementation 'org.jsoup:jsoup:1.13.1' implementation 'org.jsoup:jsoup:1.13.1'
// Changelog
implementation 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
// Database // Database
implementation 'androidx.sqlite:sqlite:2.1.0' implementation 'androidx.sqlite:sqlite:2.1.0'
implementation 'com.github.inorichi.storio:storio-common:8be19de@aar' implementation 'com.github.inorichi.storio:storio-common:8be19de@aar'

View File

@ -89,7 +89,7 @@ object Migrations {
preferences.librarySortingMode().set(LibrarySort.ALPHA) preferences.librarySortingMode().set(LibrarySort.ALPHA)
} }
} }
return !BuildConfig.DEBUG return true
} }
return false return false
} }

View File

@ -1,31 +0,0 @@
package eu.kanade.tachiyomi.ui.main
import android.app.Dialog
import android.content.Context
import android.os.Bundle
import android.util.AttributeSet
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.customview.customView
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.DialogController
import it.gmariotti.changelibs.library.view.ChangeLogRecyclerView
class ChangelogDialogController : DialogController() {
override fun onCreateDialog(savedViewState: Bundle?): Dialog {
val activity = activity!!
val view = WhatsNewRecyclerView(activity)
return MaterialDialog(activity)
.title(R.string.changelog)
.customView(view = view)
.positiveButton(R.string.action_close)
}
class WhatsNewRecyclerView(context: Context) : ChangeLogRecyclerView(context) {
override fun initAttrs(attrs: AttributeSet?, defStyle: Int) {
mRowLayoutId = R.layout.changelog_row_layout
mRowHeaderLayoutId = R.layout.changelog_header_layout
mChangeLogFileResourceId = R.raw.changelog_release
}
}
}

View File

@ -3,7 +3,9 @@ package eu.kanade.tachiyomi.ui.main
import android.app.Activity import android.app.Activity
import android.app.SearchManager import android.app.SearchManager
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.Gravity
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast import android.widget.Toast
@ -15,7 +17,9 @@ import com.bluelinelabs.conductor.Router
import com.bluelinelabs.conductor.RouterTransaction import com.bluelinelabs.conductor.RouterTransaction
import com.google.android.material.appbar.AppBarLayout import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.behavior.HideBottomViewOnScrollBehavior import com.google.android.material.behavior.HideBottomViewOnScrollBehavior
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.Migrations import eu.kanade.tachiyomi.Migrations
import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.notification.NotificationReceiver import eu.kanade.tachiyomi.data.notification.NotificationReceiver
@ -38,6 +42,7 @@ import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController
import eu.kanade.tachiyomi.util.lang.launchIO import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.launchUI import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.view.snack
import java.util.Date import java.util.Date
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@ -144,9 +149,22 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
syncActivityViewWithController(router.backstack.lastOrNull()?.controller()) syncActivityViewWithController(router.backstack.lastOrNull()?.controller())
if (savedInstanceState == null) { if (savedInstanceState == null) {
// Show changelog if needed // Show changelog prompt on update
if (Migrations.upgrade(preferences)) { if (Migrations.upgrade(preferences) && !BuildConfig.DEBUG) {
ChangelogDialogController().showDialog(router) binding.controllerContainer.snack(getString(R.string.updated_version, BuildConfig.VERSION_NAME), Snackbar.LENGTH_INDEFINITE) {
setAction(R.string.whats_new) {
val url = "https://github.com/inorichi/tachiyomi/releases/tag/v${BuildConfig.VERSION_NAME}"
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
}
// Ensure the snackbar sits above the bottom nav
val layoutParams = view.layoutParams as CoordinatorLayout.LayoutParams
layoutParams.anchorId = binding.bottomNav.id
layoutParams.anchorGravity = Gravity.TOP
layoutParams.gravity = Gravity.TOP
view.layoutParams = layoutParams
}
} }
} }

View File

@ -14,7 +14,6 @@ import eu.kanade.tachiyomi.data.updater.UpdateChecker
import eu.kanade.tachiyomi.data.updater.UpdateResult import eu.kanade.tachiyomi.data.updater.UpdateResult
import eu.kanade.tachiyomi.data.updater.UpdaterService import eu.kanade.tachiyomi.data.updater.UpdaterService
import eu.kanade.tachiyomi.ui.base.controller.DialogController import eu.kanade.tachiyomi.ui.base.controller.DialogController
import eu.kanade.tachiyomi.ui.main.ChangelogDialogController
import eu.kanade.tachiyomi.ui.setting.SettingsController import eu.kanade.tachiyomi.ui.setting.SettingsController
import eu.kanade.tachiyomi.util.lang.launchNow import eu.kanade.tachiyomi.util.lang.launchNow
import eu.kanade.tachiyomi.util.lang.toDateTimestampString import eu.kanade.tachiyomi.util.lang.toDateTimestampString
@ -67,15 +66,17 @@ class AboutController : SettingsController() {
} }
} }
preference { preference {
titleRes = R.string.changelog titleRes = R.string.whats_new
onClick { onClick {
if (BuildConfig.DEBUG) { val url = if (BuildConfig.DEBUG) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/inorichi/tachiyomi/commits/dev")) "https://github.com/inorichi/tachiyomi/commits/dev"
startActivity(intent)
} else { } else {
ChangelogDialogController().showDialog(router) "https://github.com/inorichi/tachiyomi/releases/tag/v${BuildConfig.VERSION_NAME}"
} }
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
startActivity(intent)
} }
} }
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/chg_rowheader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="@dimen/chglib_material_minHeight"
android:orientation="horizontal"
android:paddingStart="@dimen/chglib_material_keyline1"
android:paddingEnd="@dimen/chglib_material_keyline1">
<!-- ChangeLog Header [Version] You have to use the id="chg_headerVersion" -->
<TextView
android:id="@+id/chg_headerVersion"
style="?android:attr/listSeparatorTextViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="@dimen/chglib_material_keyline1"
android:paddingBottom="@dimen/chglib_material_keyline1"
android:textAllCaps="false"
android:textAppearance="@style/TextAppearance.Medium.Body2"
android:textColor="?attr/colorAccent" />
</LinearLayout>

View File

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/chg_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="@dimen/listPreferredItemHeightSmall"
android:orientation="horizontal">
<!-- ChangeLog Row [Bullet Point] You have to use the id="chg_textbullet" -->
<TextView
android:id="@+id/chg_textbullet"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingStart="@dimen/chglib_material_keyline1"
android:paddingEnd="0dp"
android:text="@string/changelog_row_bulletpoint"
android:textAppearance="@style/TextAppearance.Medium.Title" />
<!-- ChangeLog Row [Text] You have to use the id="chg_text" -->
<TextView
android:id="@+id/chg_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:minHeight="@dimen/listPreferredItemHeightSmall"
android:paddingStart="@dimen/chglib_material_keyline1"
android:paddingTop="8dp"
android:paddingEnd="@dimen/chglib_material_keyline1"
android:paddingBottom="8dp"
android:textAppearance="@style/TextAppearance.Regular.Body1"
tools:text="Use DashClock with Android 4.2's Daydream feature; great for use with desktop docks!" />
</LinearLayout>

View File

@ -1,136 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<changelog bulletedList="true">
<changelogversion versionName="v0.9.2" changeDate="">
<changelogtext>Mostly minor fixes on top of v0.9.0 / v0.9.1.</changelogtext>
<changelogtext>Fix: backup failing when a source isn't installed</changelogtext>
<changelogtext>Fix: local manga page sorting</changelogtext>
<changelogtext>Fix: 32-bit color setting not showing up in reader settings (Android 8+)</changelogtext>
<changelogtext>Enhancement: collapse top and bottom toolbars on scroll</changelogtext>
</changelogversion>
<changelogversion versionName="v0.9.1" changeDate="">
<changelogtext>Mostly minor fixes on top of v0.9.0.</changelogtext>
<changelogtext>Fix: sources tab not updating after installing an extension</changelogtext>
<changelogtext>Fix: disabled Proguard, which was causing issues with some extensions (e.g. Komga)</changelogtext>
<changelogtext>Fix: inverted selection in chapters list re-inverting after performing an action</changelogtext>
<changelogtext>Fix: manga info being cut off on smaller screens</changelogtext>
<changelogtext>Enhancement: removed notification sound when backup or restore is complete</changelogtext>
<changelogtext>Enhancement: move start/pause button in download queue to a Floating Action Button</changelogtext>
<changelogtext>Enhancement: remove extra confirmation step for passive biometric unlock (e.g. iris scan or face unlock)</changelogtext>
<changelogtext>New: Gray reader background</changelogtext>
</changelogversion>
<changelogversion versionName="v0.9.0" changeDate="">
<changelogtext>This is a huge release! Please see [a href="https://github.com/inorichi/tachiyomi/releases/tag/v0.9.0"]the changelog on GitHub[/a].</changelogtext>
</changelogversion>
<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>
<changelogtext>Cloudflare is now resolved with a WebView in background which should put
an end to the recent updates to adapt to their changes.</changelogtext>
<changelogtext>Added an option to open manga details in a WebView. This
should also help when receiving a captcha confirmation page (usually 403 errors).
It can also be used to login with the website, as the app now shares cookies.</changelogtext>
<changelogtext>Added a deep link handler that extensions can use to perform
a search within the app.</changelogtext>
<changelogtext>Added an option to decode images in ARGB8888 format for
devices running Oreo or later.</changelogtext>
<changelogtext>Added Shikimori tracker.</changelogtext>
<changelogtext>Updated translations.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.8.2" changeDate="">
<changelogtext>Updated Cloudflare.</changelogtext>
<changelogtext>Fixed crashes with some translations.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.8.1" changeDate="">
<changelogtext>Fixed latest Cloudflare changes.</changelogtext>
<changelogtext>Bundled SQLite for better performance and new features.</changelogtext>
<changelogtext>Restored dark blue theme.</changelogtext>
<changelogtext>Added a MAL API workaround.</changelogtext>
<changelogtext>Fixed search issues on Kitsu and AniList.</changelogtext>
<changelogtext>Fixed an issue where the image was centered when using the vertical reader.</changelogtext>
<changelogtext>Updated translations.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.8.0" changeDate="">
<changelogtext>Added a new reader with many fixes.</changelogtext>
<changelogtext>Added GIF support.</changelogtext>
<changelogtext>Fixed loading errors with local compressed files.</changelogtext>
<changelogtext>Fixed an issue where images couldn't be shared.</changelogtext>
<changelogtext>Removed image decoders setting because it's not needed anymore.</changelogtext>
<changelogtext>Updated translations.</changelogtext>
<changelogtext>Show all entries in library even if their extensions are not installed</changelogtext>
<changelogtext>Fixed search issues on Kitsu and AniList.</changelogtext>
<changelogtext>Other minor bugfixes.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.7.4" changeDate="">
<changelogtext>Updated Anilist's API to v2.</changelogtext>
<changelogtext>Added Github link to about.</changelogtext>
<changelogtext>Fixed indonesian language not working.</changelogtext>
<changelogtext>Fixed an issue on KitKat that crashed the app when scheduling updates.</changelogtext>
<changelogtext>Fixed a few more issues introduced on the previous release.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.7.3" changeDate="">
<changelogtext>Fixed the tracking search layout when there are many results.</changelogtext>
<changelogtext>Separate english language into american and british so that dates are formatted according to that locale.</changelogtext>
<changelogtext>Added Firebase analytics, for Android API distribution.</changelogtext>
<changelogtext>Crop borders for webtoons now has a separate setting.</changelogtext>
<changelogtext>The downloader now runs in a foreground service to prevent it from being killed.</changelogtext>
<changelogtext>Fixed a few weird crashes.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.7.2" changeDate="">
<changelogtext>Fixed missing downloaded label in chapters screen.</changelogtext>
<changelogtext>Fixed updater in KitKat and lower due to TLS.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.7.1" changeDate="">
<changelogtext>Updated Cloudflare bypass.</changelogtext>
<changelogtext>Enabled TLS 1.1 and TLS 1.2 on Android KitKat and lower.</changelogtext>
<changelogtext>Minor UI changes.</changelogtext>
</changelogversion>
<changelogversion versionName="v0.7.0" changeDate="">
<changelogtext>Added extensions support. You can now install and update extensions within the app.
If you installed any extension previously through F-Droid, you'll have to uninstall them first.</changelogtext>
<changelogtext>Added a custom download option to download N chapters.</changelogtext>
<changelogtext>Updated manga info layout, with clickable components to copy to clipboard or perform a global search.</changelogtext>
<changelogtext>Added an option to change the animation speed of a double tap in the reader.</changelogtext>
<changelogtext>Improved tracking results UI with covers.</changelogtext>
<changelogtext>Dropped support for simultaneous downloads.</changelogtext>
<changelogtext>Batoto is now a legacy source, you can only use it to migrate.</changelogtext>
<changelogtext>Updated dark theme and reader theme.</changelogtext>
<changelogtext>Bugfixes and minor UI/UX improvements.</changelogtext>
</changelogversion>
</changelog>

View File

@ -390,10 +390,11 @@
<string name="website">Website</string> <string name="website">Website</string>
<string name="version">Version</string> <string name="version">Version</string>
<string name="build_time">Build time</string> <string name="build_time">Build time</string>
<string name="changelog">Changelog</string> <string name="whats_new">What\'s new</string>
<string name="notices">Preview build notices</string> <string name="notices">Preview build notices</string>
<string name="licenses">Open source licenses</string> <string name="licenses">Open source licenses</string>
<string name="check_for_updates">Check for updates</string> <string name="check_for_updates">Check for updates</string>
<string name="updated_version">Updated to v%1$s</string>
<!-- ACRA --> <!-- ACRA -->
<string name="pref_enable_acra">Send crash reports</string> <string name="pref_enable_acra">Send crash reports</string>