mirror of
https://git.mihon.tech/mihonapp/mihon
synced 2024-11-26 23:28:58 +03:00
No longer using chapter url for new chapter notification's reader intent
This commit is contained in:
parent
e24ddb9106
commit
cc7735e284
3 changed files with 15 additions and 23 deletions
|
@ -116,8 +116,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
||||||
return Intent(context, ReaderActivity::class.java).apply {
|
return Intent(context, ReaderActivity::class.java).apply {
|
||||||
putExtra("manga", manga.id)
|
putExtra("manga", manga.id)
|
||||||
putExtra("chapter", chapter.id)
|
putExtra("chapter", chapter.id)
|
||||||
// chapters just added from library updates don't have an id yet
|
|
||||||
putExtra("chapterUrl", chapter.url)
|
|
||||||
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -141,14 +139,12 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
|
||||||
if (presenter.needsInit()) {
|
if (presenter.needsInit()) {
|
||||||
val manga = intent.extras!!.getLong("manga", -1)
|
val manga = intent.extras!!.getLong("manga", -1)
|
||||||
val chapter = intent.extras!!.getLong("chapter", -1)
|
val chapter = intent.extras!!.getLong("chapter", -1)
|
||||||
val chapterUrl = intent.extras!!.getString("chapterUrl", "")
|
if (manga == -1L || chapter == -1L) {
|
||||||
if (manga == -1L || chapterUrl == "" && chapter == -1L) {
|
|
||||||
finish()
|
finish()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
NotificationReceiver.dismissNotification(this, manga.hashCode(), Notifications.ID_NEW_CHAPTERS)
|
NotificationReceiver.dismissNotification(this, manga.hashCode(), Notifications.ID_NEW_CHAPTERS)
|
||||||
if (chapter > -1) presenter.init(manga, chapter)
|
presenter.init(manga, chapter)
|
||||||
else presenter.init(manga, chapterUrl)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
|
|
|
@ -211,21 +211,6 @@ class ReaderPresenter(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Initializes this presenter with the given [mangaId] and [chapterUrl]. This method will
|
|
||||||
* fetch the manga from the database and initialize the initial chapter.
|
|
||||||
*/
|
|
||||||
fun init(mangaId: Long, chapterUrl: String) {
|
|
||||||
if (!needsInit()) return
|
|
||||||
|
|
||||||
val context = Injekt.get<Application>()
|
|
||||||
val db = DatabaseHelper(context)
|
|
||||||
val chapterId = db.getChapter(chapterUrl, mangaId).executeAsBlocking()?.id
|
|
||||||
if (chapterId != null) {
|
|
||||||
init(mangaId, chapterId)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes this presenter with the given [manga] and [initialChapterId]. This method will
|
* Initializes this presenter with the given [manga] and [initialChapterId]. This method will
|
||||||
* set the chapter loader, view subscriptions and trigger an initial load.
|
* set the chapter loader, view subscriptions and trigger an initial load.
|
||||||
|
|
|
@ -120,7 +120,10 @@ fun syncChaptersWithSource(
|
||||||
readded.add(c)
|
readded.add(c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db.insertChapters(toAdd).executeAsBlocking()
|
val chapters = db.insertChapters(toAdd).executeAsBlocking()
|
||||||
|
toAdd.forEach { chapter ->
|
||||||
|
chapter.id = chapters.results().getValue(chapter).insertedId()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (toChange.isNotEmpty()) {
|
if (toChange.isNotEmpty()) {
|
||||||
|
@ -131,7 +134,15 @@ fun syncChaptersWithSource(
|
||||||
db.fixChaptersSourceOrder(sourceChapters).executeAsBlocking()
|
db.fixChaptersSourceOrder(sourceChapters).executeAsBlocking()
|
||||||
|
|
||||||
// Set this manga as updated since chapters were changed
|
// Set this manga as updated since chapters were changed
|
||||||
|
val newestChapter = db.getChapters(manga).executeAsBlocking().maxBy { it.date_upload }
|
||||||
|
val dateFetch = newestChapter?.date_upload ?: manga.last_update
|
||||||
|
if (dateFetch == 0L) {
|
||||||
|
if (toAdd.isNotEmpty()) {
|
||||||
manga.last_update = Date().time
|
manga.last_update = Date().time
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
manga.last_update = dateFetch
|
||||||
|
}
|
||||||
db.updateLastUpdated(manga).executeAsBlocking()
|
db.updateLastUpdated(manga).executeAsBlocking()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue