No longer using chapter url for new chapter notification's reader intent

This commit is contained in:
Jay 2020-04-28 16:47:18 -04:00
parent 5fa9d211aa
commit 161b741d04
3 changed files with 8 additions and 19 deletions

View File

@ -157,7 +157,6 @@ class ReaderActivity : BaseRxActivity<ReaderPresenter>(),
val intent = Intent(context, ReaderActivity::class.java) val intent = Intent(context, ReaderActivity::class.java)
intent.putExtra("manga", manga.id) intent.putExtra("manga", manga.id)
intent.putExtra("chapter", chapter.id) intent.putExtra("chapter", chapter.id)
intent.putExtra("chapterUrl", chapter.url)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
return intent return intent
} }
@ -188,17 +187,13 @@ class ReaderActivity : BaseRxActivity<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)
when (chapter > -1) { presenter.init(manga, chapter)
true -> presenter.init(manga, chapter)
false -> presenter.init(manga, chapterUrl)
}
} }
if (savedInstanceState != null) { if (savedInstanceState != null) {

View File

@ -206,15 +206,6 @@ class ReaderPresenter(
return chapterItems return chapterItems
} }
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.

View File

@ -126,7 +126,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()) {
@ -137,8 +140,8 @@ 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 newestChatper = db.getChapters(manga).executeAsBlocking().maxBy { it.date_upload } val newestChapter = db.getChapters(manga).executeAsBlocking().maxBy { it.date_upload }
val dateFetch = newestChatper?.date_upload ?: manga.last_update val dateFetch = newestChapter?.date_upload ?: manga.last_update
if (dateFetch == 0L) { if (dateFetch == 0L) {
if (toAdd.isNotEmpty()) if (toAdd.isNotEmpty())
manga.last_update = Date().time manga.last_update = Date().time