mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	No longer using chapter url for new chapter notification's reader intent
This commit is contained in:
		@@ -116,8 +116,6 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
 | 
			
		||||
            return Intent(context, ReaderActivity::class.java).apply {
 | 
			
		||||
                putExtra("manga", manga.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)
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@@ -141,14 +139,12 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
 | 
			
		||||
        if (presenter.needsInit()) {
 | 
			
		||||
            val manga = intent.extras!!.getLong("manga", -1)
 | 
			
		||||
            val chapter = intent.extras!!.getLong("chapter", -1)
 | 
			
		||||
            val chapterUrl = intent.extras!!.getString("chapterUrl", "")
 | 
			
		||||
            if (manga == -1L || chapterUrl == "" && chapter == -1L) {
 | 
			
		||||
            if (manga == -1L || chapter == -1L) {
 | 
			
		||||
                finish()
 | 
			
		||||
                return
 | 
			
		||||
            }
 | 
			
		||||
            NotificationReceiver.dismissNotification(this, manga.hashCode(), Notifications.ID_NEW_CHAPTERS)
 | 
			
		||||
            if (chapter > -1) presenter.init(manga, chapter)
 | 
			
		||||
            else presenter.init(manga, chapterUrl)
 | 
			
		||||
            presenter.init(manga, chapter)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        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
 | 
			
		||||
     * set the chapter loader, view subscriptions and trigger an initial load.
 | 
			
		||||
 
 | 
			
		||||
@@ -120,7 +120,10 @@ fun syncChaptersWithSource(
 | 
			
		||||
                    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()) {
 | 
			
		||||
@@ -131,7 +134,15 @@ fun syncChaptersWithSource(
 | 
			
		||||
        db.fixChaptersSourceOrder(sourceChapters).executeAsBlocking()
 | 
			
		||||
 | 
			
		||||
        // Set this manga as updated since chapters were changed
 | 
			
		||||
        manga.last_update = Date().time
 | 
			
		||||
        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
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            manga.last_update = dateFetch
 | 
			
		||||
        }
 | 
			
		||||
        db.updateLastUpdated(manga).executeAsBlocking()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user