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
implementation 'org.jsoup:jsoup:1.13.1'
// Changelog
implementation 'com.github.gabrielemariotti.changeloglib:changelog:2.1.0'
// Database
implementation 'androidx.sqlite:sqlite:2.1.0'
implementation 'com.github.inorichi.storio:storio-common:8be19de@aar'

View file

@ -89,7 +89,7 @@ object Migrations {
preferences.librarySortingMode().set(LibrarySort.ALPHA)
}
}
return !BuildConfig.DEBUG
return true
}
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.SearchManager
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
@ -15,7 +17,9 @@ import com.bluelinelabs.conductor.Router
import com.bluelinelabs.conductor.RouterTransaction
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.behavior.HideBottomViewOnScrollBehavior
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.tabs.TabLayout
import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.Migrations
import eu.kanade.tachiyomi.R
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.launchUI
import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.view.snack
import java.util.Date
import java.util.concurrent.TimeUnit
import kotlinx.coroutines.delay
@ -144,9 +149,22 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
syncActivityViewWithController(router.backstack.lastOrNull()?.controller())
if (savedInstanceState == null) {
// Show changelog if needed
if (Migrations.upgrade(preferences)) {
ChangelogDialogController().showDialog(router)
// Show changelog prompt on update
if (Migrations.upgrade(preferences) && !BuildConfig.DEBUG) {
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.UpdaterService
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.util.lang.launchNow
import eu.kanade.tachiyomi.util.lang.toDateTimestampString
@ -67,15 +66,17 @@ class AboutController : SettingsController() {
}
}
preference {
titleRes = R.string.changelog
titleRes = R.string.whats_new
onClick {
if (BuildConfig.DEBUG) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/inorichi/tachiyomi/commits/dev"))
startActivity(intent)
val url = if (BuildConfig.DEBUG) {
"https://github.com/inorichi/tachiyomi/commits/dev"
} 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) {

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="version">Version</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="licenses">Open source licenses</string>
<string name="check_for_updates">Check for updates</string>
<string name="updated_version">Updated to v%1$s</string>
<!-- ACRA -->
<string name="pref_enable_acra">Send crash reports</string>