mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 06:17:57 +01:00 
			
		
		
		
	Rename recently read / recent updates classes/layouts to match new names
This commit is contained in:
		| @@ -26,8 +26,8 @@ import eu.kanade.tachiyomi.ui.download.DownloadController | ||||
| import eu.kanade.tachiyomi.ui.library.LibraryController | ||||
| import eu.kanade.tachiyomi.ui.manga.MangaController | ||||
| import eu.kanade.tachiyomi.ui.more.MoreController | ||||
| import eu.kanade.tachiyomi.ui.recent_updates.RecentChaptersController | ||||
| import eu.kanade.tachiyomi.ui.recently_read.RecentlyReadController | ||||
| import eu.kanade.tachiyomi.ui.recent.history.HistoryController | ||||
| import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController | ||||
| import kotlinx.android.synthetic.main.main_activity.appbar | ||||
| import kotlinx.android.synthetic.main.main_activity.bottom_nav | ||||
| import kotlinx.android.synthetic.main.main_activity.drawer | ||||
| @@ -75,8 +75,8 @@ class MainActivity : BaseActivity() { | ||||
|             if (currentRoot?.tag()?.toIntOrNull() != id) { | ||||
|                 when (id) { | ||||
|                     R.id.nav_library -> setRoot(LibraryController(), id) | ||||
|                     R.id.nav_updates -> setRoot(RecentChaptersController(), id) | ||||
|                     R.id.nav_history -> setRoot(RecentlyReadController(), id) | ||||
|                     R.id.nav_updates -> setRoot(UpdatesController(), id) | ||||
|                     R.id.nav_history -> setRoot(HistoryController(), id) | ||||
|                     R.id.nav_catalogues -> setRoot(CatalogueController(), id) | ||||
|                     R.id.nav_more -> setRoot(MoreController(), id) | ||||
|                 } | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.kanade.tachiyomi.data.preference.PreferencesHelper | ||||
| @@ -10,15 +10,15 @@ import java.text.DecimalFormatSymbols | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| 
 | ||||
| /** | ||||
|  * Adapter of RecentlyReadHolder. | ||||
|  * Adapter of HistoryHolder. | ||||
|  * Connection between Fragment and Holder | ||||
|  * Holder updates should be called from here. | ||||
|  * | ||||
|  * @param controller a RecentlyReadController object | ||||
|  * @param controller a HistoryController object | ||||
|  * @constructor creates an instance of the adapter. | ||||
|  */ | ||||
| class RecentlyReadAdapter(controller: RecentlyReadController) : | ||||
|     FlexibleAdapter<RecentlyReadItem>(null, controller, true) { | ||||
| class HistoryAdapter(controller: HistoryController) : | ||||
|     FlexibleAdapter<HistoryItem>(null, controller, true) { | ||||
| 
 | ||||
|     val sourceManager by injectLazy<SourceManager>() | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import android.view.LayoutInflater | ||||
| import android.view.View | ||||
| @@ -14,38 +14,38 @@ import eu.kanade.tachiyomi.ui.base.controller.withFadeTransaction | ||||
| import eu.kanade.tachiyomi.ui.manga.MangaController | ||||
| import eu.kanade.tachiyomi.ui.reader.ReaderActivity | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import kotlinx.android.synthetic.main.recently_read_controller.empty_view | ||||
| import kotlinx.android.synthetic.main.recently_read_controller.recycler | ||||
| import kotlinx.android.synthetic.main.history_controller.empty_view | ||||
| import kotlinx.android.synthetic.main.history_controller.recycler | ||||
| 
 | ||||
| /** | ||||
|  * Fragment that shows recently read manga. | ||||
|  * Uses R.layout.fragment_recently_read. | ||||
|  * UI related actions should be called from here. | ||||
|  */ | ||||
| class RecentlyReadController : NucleusController<RecentlyReadPresenter>(), | ||||
| class HistoryController : NucleusController<HistoryPresenter>(), | ||||
|         RootController, | ||||
|         FlexibleAdapter.OnUpdateListener, | ||||
|         RecentlyReadAdapter.OnRemoveClickListener, | ||||
|         RecentlyReadAdapter.OnResumeClickListener, | ||||
|         RecentlyReadAdapter.OnCoverClickListener, | ||||
|         HistoryAdapter.OnRemoveClickListener, | ||||
|         HistoryAdapter.OnResumeClickListener, | ||||
|         HistoryAdapter.OnCoverClickListener, | ||||
|         RemoveHistoryDialog.Listener { | ||||
| 
 | ||||
|     /** | ||||
|      * Adapter containing the recent manga. | ||||
|      */ | ||||
|     var adapter: RecentlyReadAdapter? = null | ||||
|     var adapter: HistoryAdapter? = null | ||||
|         private set | ||||
| 
 | ||||
|     override fun getTitle(): String? { | ||||
|         return resources?.getString(R.string.label_recent_manga) | ||||
|     } | ||||
| 
 | ||||
|     override fun createPresenter(): RecentlyReadPresenter { | ||||
|         return RecentlyReadPresenter() | ||||
|     override fun createPresenter(): HistoryPresenter { | ||||
|         return HistoryPresenter() | ||||
|     } | ||||
| 
 | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         return inflater.inflate(R.layout.recently_read_controller, container, false) | ||||
|         return inflater.inflate(R.layout.history_controller, container, false) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @@ -58,7 +58,7 @@ class RecentlyReadController : NucleusController<RecentlyReadPresenter>(), | ||||
| 
 | ||||
|         // Initialize adapter | ||||
|         recycler.layoutManager = LinearLayoutManager(view.context) | ||||
|         adapter = RecentlyReadAdapter(this@RecentlyReadController) | ||||
|         adapter = HistoryAdapter(this@HistoryController) | ||||
|         recycler.setHasFixedSize(true) | ||||
|         recycler.adapter = adapter | ||||
|     } | ||||
| @@ -73,7 +73,7 @@ class RecentlyReadController : NucleusController<RecentlyReadPresenter>(), | ||||
|      * | ||||
|      * @param mangaHistory list of manga history | ||||
|      */ | ||||
|     fun onNextManga(mangaHistory: List<RecentlyReadItem>) { | ||||
|     fun onNextManga(mangaHistory: List<HistoryItem>) { | ||||
|         adapter?.updateDataSet(mangaHistory) | ||||
|     } | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import android.view.View | ||||
| import com.bumptech.glide.load.engine.DiskCacheStrategy | ||||
| @@ -8,12 +8,12 @@ import eu.kanade.tachiyomi.data.glide.GlideApp | ||||
| import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder | ||||
| import eu.kanade.tachiyomi.util.lang.toTimestampString | ||||
| import java.util.Date | ||||
| import kotlinx.android.synthetic.main.recently_read_item.cover | ||||
| import kotlinx.android.synthetic.main.recently_read_item.last_read | ||||
| import kotlinx.android.synthetic.main.recently_read_item.manga_source | ||||
| import kotlinx.android.synthetic.main.recently_read_item.manga_title | ||||
| import kotlinx.android.synthetic.main.recently_read_item.remove | ||||
| import kotlinx.android.synthetic.main.recently_read_item.resume | ||||
| import kotlinx.android.synthetic.main.history_item.cover | ||||
| import kotlinx.android.synthetic.main.history_item.last_read | ||||
| import kotlinx.android.synthetic.main.history_item.manga_source | ||||
| import kotlinx.android.synthetic.main.history_item.manga_title | ||||
| import kotlinx.android.synthetic.main.history_item.remove | ||||
| import kotlinx.android.synthetic.main.history_item.resume | ||||
| 
 | ||||
| /** | ||||
|  * Holder that contains recent manga item | ||||
| @@ -24,9 +24,9 @@ import kotlinx.android.synthetic.main.recently_read_item.resume | ||||
|  * @param adapter the adapter handling this holder. | ||||
|  * @constructor creates a new recent chapter holder. | ||||
|  */ | ||||
| class RecentlyReadHolder( | ||||
| class HistoryHolder( | ||||
|     view: View, | ||||
|     val adapter: RecentlyReadAdapter | ||||
|     val adapter: HistoryAdapter | ||||
| ) : BaseFlexibleViewHolder(view, adapter) { | ||||
| 
 | ||||
|     init { | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import android.view.View | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| @@ -8,19 +8,19 @@ import eu.davidea.flexibleadapter.items.IFlexible | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.data.database.models.MangaChapterHistory | ||||
| 
 | ||||
| class RecentlyReadItem(val mch: MangaChapterHistory) : AbstractFlexibleItem<RecentlyReadHolder>() { | ||||
| class HistoryItem(val mch: MangaChapterHistory) : AbstractFlexibleItem<HistoryHolder>() { | ||||
| 
 | ||||
|     override fun getLayoutRes(): Int { | ||||
|         return R.layout.recently_read_item | ||||
|         return R.layout.history_item | ||||
|     } | ||||
| 
 | ||||
|     override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): RecentlyReadHolder { | ||||
|         return RecentlyReadHolder(view, adapter as RecentlyReadAdapter) | ||||
|     override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): HistoryHolder { | ||||
|         return HistoryHolder(view, adapter as HistoryAdapter) | ||||
|     } | ||||
| 
 | ||||
|     override fun bindViewHolder( | ||||
|         adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>, | ||||
|         holder: RecentlyReadHolder, | ||||
|         holder: HistoryHolder, | ||||
|         position: Int, | ||||
|         payloads: List<Any?>? | ||||
|     ) { | ||||
| @@ -29,7 +29,7 @@ class RecentlyReadItem(val mch: MangaChapterHistory) : AbstractFlexibleItem<Rece | ||||
|     } | ||||
| 
 | ||||
|     override fun equals(other: Any?): Boolean { | ||||
|         if (other is RecentlyReadItem) { | ||||
|         if (other is HistoryItem) { | ||||
|             return mch.manga.id == other.mch.manga.id | ||||
|         } | ||||
|         return false | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import android.os.Bundle | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| @@ -14,11 +14,11 @@ import rx.android.schedulers.AndroidSchedulers | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| 
 | ||||
| /** | ||||
|  * Presenter of RecentlyReadFragment. | ||||
|  * Presenter of HistoryFragment. | ||||
|  * Contains information and data for fragment. | ||||
|  * Observable updates should be called from here. | ||||
|  */ | ||||
| class RecentlyReadPresenter : BasePresenter<RecentlyReadController>() { | ||||
| class HistoryPresenter : BasePresenter<HistoryController>() { | ||||
| 
 | ||||
|     /** | ||||
|      * Used to connect to database | ||||
| @@ -30,21 +30,21 @@ class RecentlyReadPresenter : BasePresenter<RecentlyReadController>() { | ||||
| 
 | ||||
|         // Used to get a list of recently read manga | ||||
|         getRecentMangaObservable() | ||||
|                 .subscribeLatestCache(RecentlyReadController::onNextManga) | ||||
|                 .subscribeLatestCache(HistoryController::onNextManga) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Get recent manga observable | ||||
|      * @return list of history | ||||
|      */ | ||||
|     fun getRecentMangaObservable(): Observable<List<RecentlyReadItem>> { | ||||
|     fun getRecentMangaObservable(): Observable<List<HistoryItem>> { | ||||
|         // Set date for recent manga | ||||
|         val cal = Calendar.getInstance() | ||||
|         cal.time = Date() | ||||
|         cal.add(Calendar.MONTH, -1) | ||||
| 
 | ||||
|         return db.getRecentManga(cal.time).asRxObservable() | ||||
|                 .map { recents -> recents.map(::RecentlyReadItem) } | ||||
|                 .map { recents -> recents.map(::HistoryItem) } | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|     } | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recently_read | ||||
| package eu.kanade.tachiyomi.ui.recent.history | ||||
| 
 | ||||
| import android.app.Dialog | ||||
| import android.os.Bundle | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.app.Dialog | ||||
| import android.os.Bundle | ||||
| @@ -10,9 +10,9 @@ import eu.kanade.tachiyomi.ui.base.controller.DialogController | ||||
| class ConfirmDeleteChaptersDialog<T>(bundle: Bundle? = null) : DialogController(bundle) | ||||
|         where T : Controller, T : ConfirmDeleteChaptersDialog.Listener { | ||||
| 
 | ||||
|     private var chaptersToDelete = emptyList<RecentChapterItem>() | ||||
|     private var chaptersToDelete = emptyList<UpdatesItem>() | ||||
| 
 | ||||
|     constructor(target: T, chaptersToDelete: List<RecentChapterItem>) : this() { | ||||
|     constructor(target: T, chaptersToDelete: List<UpdatesItem>) : this() { | ||||
|         this.chaptersToDelete = chaptersToDelete | ||||
|         targetController = target | ||||
|     } | ||||
| @@ -29,6 +29,6 @@ class ConfirmDeleteChaptersDialog<T>(bundle: Bundle? = null) : DialogController( | ||||
|     } | ||||
| 
 | ||||
|     interface Listener { | ||||
|         fun deleteChapters(chaptersToDelete: List<RecentChapterItem>) | ||||
|         fun deleteChapters(chaptersToDelete: List<UpdatesItem>) | ||||
|     } | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.text.format.DateUtils | ||||
| import android.view.View | ||||
| @@ -14,7 +14,7 @@ import java.util.Date | ||||
| class DateItem(val date: Date) : AbstractHeaderItem<DateItem.Holder>() { | ||||
| 
 | ||||
|     override fun getLayoutRes(): Int { | ||||
|         return R.layout.recent_chapters_section_item | ||||
|         return R.layout.updates_section_item | ||||
|     } | ||||
| 
 | ||||
|     override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): Holder { | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.app.Dialog | ||||
| import android.os.Bundle | ||||
| @@ -1,9 +1,9 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import eu.davidea.flexibleadapter.FlexibleAdapter | ||||
| import eu.davidea.flexibleadapter.items.IFlexible | ||||
| 
 | ||||
| class RecentChaptersAdapter(val controller: RecentChaptersController) : | ||||
| class UpdatesAdapter(val controller: UpdatesController) : | ||||
|         FlexibleAdapter<IFlexible<*>>(null, controller, true) { | ||||
| 
 | ||||
|     val coverClickListener: OnCoverClickListener = controller | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.view.LayoutInflater | ||||
| import android.view.Menu | ||||
| @@ -27,17 +27,17 @@ import eu.kanade.tachiyomi.ui.manga.MangaController | ||||
| import eu.kanade.tachiyomi.ui.reader.ReaderActivity | ||||
| import eu.kanade.tachiyomi.util.system.notificationManager | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import kotlinx.android.synthetic.main.recent_chapters_controller.empty_view | ||||
| import kotlinx.android.synthetic.main.recent_chapters_controller.recycler | ||||
| import kotlinx.android.synthetic.main.recent_chapters_controller.swipe_refresh | ||||
| import kotlinx.android.synthetic.main.updates_controller.empty_view | ||||
| import kotlinx.android.synthetic.main.updates_controller.recycler | ||||
| import kotlinx.android.synthetic.main.updates_controller.swipe_refresh | ||||
| import timber.log.Timber | ||||
| 
 | ||||
| /** | ||||
|  * Fragment that shows recent chapters. | ||||
|  * Uses [R.layout.recent_chapters_controller]. | ||||
|  * Uses [R.layout.updates_controller]. | ||||
|  * UI related actions should be called from here. | ||||
|  */ | ||||
| class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
| class UpdatesController : NucleusController<UpdatesPresenter>(), | ||||
|         RootController, | ||||
|         NoToolbarElevationController, | ||||
|         ActionMode.Callback, | ||||
| @@ -45,7 +45,7 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|         FlexibleAdapter.OnItemLongClickListener, | ||||
|         FlexibleAdapter.OnUpdateListener, | ||||
|         ConfirmDeleteChaptersDialog.Listener, | ||||
|         RecentChaptersAdapter.OnCoverClickListener { | ||||
|         UpdatesAdapter.OnCoverClickListener { | ||||
| 
 | ||||
|     /** | ||||
|      * Action mode for multiple selection. | ||||
| @@ -55,19 +55,19 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|     /** | ||||
|      * Adapter containing the recent chapters. | ||||
|      */ | ||||
|     var adapter: RecentChaptersAdapter? = null | ||||
|     var adapter: UpdatesAdapter? = null | ||||
|         private set | ||||
| 
 | ||||
|     override fun getTitle(): String? { | ||||
|         return resources?.getString(R.string.label_recent_updates) | ||||
|     } | ||||
| 
 | ||||
|     override fun createPresenter(): RecentChaptersPresenter { | ||||
|         return RecentChaptersPresenter() | ||||
|     override fun createPresenter(): UpdatesPresenter { | ||||
|         return UpdatesPresenter() | ||||
|     } | ||||
| 
 | ||||
|     override fun inflateView(inflater: LayoutInflater, container: ViewGroup): View { | ||||
|         return inflater.inflate(R.layout.recent_chapters_controller, container, false) | ||||
|         return inflater.inflate(R.layout.updates_controller, container, false) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @@ -82,7 +82,7 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|         recycler.layoutManager = layoutManager | ||||
|         recycler.addItemDecoration(DividerItemDecoration(view.context, DividerItemDecoration.VERTICAL)) | ||||
|         recycler.setHasFixedSize(true) | ||||
|         adapter = RecentChaptersAdapter(this@RecentChaptersController) | ||||
|         adapter = UpdatesAdapter(this@UpdatesController) | ||||
|         recycler.adapter = adapter | ||||
| 
 | ||||
|         recycler.scrollStateChanges().subscribeUntilDestroy { | ||||
| @@ -112,9 +112,9 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|      * Returns selected chapters | ||||
|      * @return list of selected chapters | ||||
|      */ | ||||
|     fun getSelectedChapters(): List<RecentChapterItem> { | ||||
|     fun getSelectedChapters(): List<UpdatesItem> { | ||||
|         val adapter = adapter ?: return emptyList() | ||||
|         return adapter.selectedPositions.mapNotNull { adapter.getItem(it) as? RecentChapterItem } | ||||
|         return adapter.selectedPositions.mapNotNull { adapter.getItem(it) as? UpdatesItem } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @@ -125,7 +125,7 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|         val adapter = adapter ?: return false | ||||
| 
 | ||||
|         // Get item from position | ||||
|         val item = adapter.getItem(position) as? RecentChapterItem ?: return false | ||||
|         val item = adapter.getItem(position) as? UpdatesItem ?: return false | ||||
|         if (actionMode != null && adapter.mode == SelectableAdapter.Mode.MULTI) { | ||||
|             toggleSelection(position) | ||||
|             return true | ||||
| @@ -160,7 +160,7 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|      * Open chapter in reader | ||||
|      * @param chapter selected chapter | ||||
|      */ | ||||
|     private fun openChapter(item: RecentChapterItem) { | ||||
|     private fun openChapter(item: UpdatesItem) { | ||||
|         val activity = activity ?: return | ||||
|         val intent = ReaderActivity.newIntent(activity, item.manga, item.chapter) | ||||
|         startActivity(intent) | ||||
| @@ -168,9 +168,9 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
| 
 | ||||
|     /** | ||||
|      * Download selected items | ||||
|      * @param chapters list of selected [RecentChapter]s | ||||
|      * @param chapters list of selected [UpdatesItem]s | ||||
|      */ | ||||
|     fun downloadChapters(chapters: List<RecentChapterItem>) { | ||||
|     fun downloadChapters(chapters: List<UpdatesItem>) { | ||||
|         destroyActionModeIfNeeded() | ||||
|         presenter.downloadChapters(chapters) | ||||
|     } | ||||
| @@ -204,22 +204,22 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|      * Returns holder belonging to chapter | ||||
|      * @param download [Download] object containing download progress. | ||||
|      */ | ||||
|     private fun getHolder(download: Download): RecentChapterHolder? { | ||||
|         return recycler?.findViewHolderForItemId(download.chapter.id!!) as? RecentChapterHolder | ||||
|     private fun getHolder(download: Download): UpdatesHolder? { | ||||
|         return recycler?.findViewHolderForItemId(download.chapter.id!!) as? UpdatesHolder | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Mark chapter as read | ||||
|      * @param chapters list of chapters | ||||
|      */ | ||||
|     fun markAsRead(chapters: List<RecentChapterItem>) { | ||||
|     fun markAsRead(chapters: List<UpdatesItem>) { | ||||
|         presenter.markChapterRead(chapters, true) | ||||
|         if (presenter.preferences.removeAfterMarkedAsRead()) { | ||||
|             deleteChapters(chapters) | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     override fun deleteChapters(chaptersToDelete: List<RecentChapterItem>) { | ||||
|     override fun deleteChapters(chaptersToDelete: List<UpdatesItem>) { | ||||
|         destroyActionModeIfNeeded() | ||||
|         DeletingChaptersDialog().showDialog(router) | ||||
|         presenter.deleteChapters(chaptersToDelete) | ||||
| @@ -234,9 +234,9 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
| 
 | ||||
|     /** | ||||
|      * Mark chapter as unread | ||||
|      * @param chapters list of selected [RecentChapter] | ||||
|      * @param chapters list of selected [UpdatesItem] | ||||
|      */ | ||||
|     fun markAsUnread(chapters: List<RecentChapterItem>) { | ||||
|     fun markAsUnread(chapters: List<UpdatesItem>) { | ||||
|         presenter.markChapterRead(chapters, false) | ||||
|     } | ||||
| 
 | ||||
| @@ -244,7 +244,7 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|      * Start downloading chapter | ||||
|      * @param chapter selected chapter with manga | ||||
|      */ | ||||
|     fun downloadChapter(chapter: RecentChapterItem) { | ||||
|     fun downloadChapter(chapter: UpdatesItem) { | ||||
|         presenter.downloadChapters(listOf(chapter)) | ||||
|     } | ||||
| 
 | ||||
| @@ -252,17 +252,17 @@ class RecentChaptersController : NucleusController<RecentChaptersPresenter>(), | ||||
|      * Start deleting chapter | ||||
|      * @param chapter selected chapter with manga | ||||
|      */ | ||||
|     fun deleteChapter(chapter: RecentChapterItem) { | ||||
|     fun deleteChapter(chapter: UpdatesItem) { | ||||
|         DeletingChaptersDialog().showDialog(router) | ||||
|         presenter.deleteChapters(listOf(chapter)) | ||||
|     } | ||||
| 
 | ||||
|     override fun onCoverClick(position: Int) { | ||||
|         val chapterClicked = adapter?.getItem(position) as? RecentChapterItem ?: return | ||||
|         val chapterClicked = adapter?.getItem(position) as? UpdatesItem ?: return | ||||
|         openManga(chapterClicked) | ||||
|     } | ||||
| 
 | ||||
|     fun openManga(chapter: RecentChapterItem) { | ||||
|     fun openManga(chapter: UpdatesItem) { | ||||
|         router.pushController(MangaController(chapter.manga).withFadeTransaction()) | ||||
|     } | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.view.View | ||||
| import android.widget.PopupMenu | ||||
| @@ -8,11 +8,11 @@ import eu.kanade.tachiyomi.data.download.model.Download | ||||
| import eu.kanade.tachiyomi.data.glide.GlideApp | ||||
| import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder | ||||
| import eu.kanade.tachiyomi.util.system.getResourceColor | ||||
| import kotlinx.android.synthetic.main.recent_chapters_item.chapter_menu | ||||
| import kotlinx.android.synthetic.main.recent_chapters_item.chapter_title | ||||
| import kotlinx.android.synthetic.main.recent_chapters_item.download_text | ||||
| import kotlinx.android.synthetic.main.recent_chapters_item.manga_cover | ||||
| import kotlinx.android.synthetic.main.recent_chapters_item.manga_title | ||||
| import kotlinx.android.synthetic.main.updates_item.chapter_menu | ||||
| import kotlinx.android.synthetic.main.updates_item.chapter_title | ||||
| import kotlinx.android.synthetic.main.updates_item.download_text | ||||
| import kotlinx.android.synthetic.main.updates_item.manga_cover | ||||
| import kotlinx.android.synthetic.main.updates_item.manga_title | ||||
| 
 | ||||
| /** | ||||
|  * Holder that contains chapter item | ||||
| @@ -24,7 +24,7 @@ import kotlinx.android.synthetic.main.recent_chapters_item.manga_title | ||||
|  * @param listener a listener to react to single tap and long tap events. | ||||
|  * @constructor creates a new recent chapter holder. | ||||
|  */ | ||||
| class RecentChapterHolder(private val view: View, private val adapter: RecentChaptersAdapter) : | ||||
| class UpdatesHolder(private val view: View, private val adapter: UpdatesAdapter) : | ||||
|         BaseFlexibleViewHolder(view, adapter) { | ||||
| 
 | ||||
|     /** | ||||
| @@ -40,7 +40,7 @@ class RecentChapterHolder(private val view: View, private val adapter: RecentCha | ||||
|     /** | ||||
|      * Currently bound item. | ||||
|      */ | ||||
|     private var item: RecentChapterItem? = null | ||||
|     private var item: UpdatesItem? = null | ||||
| 
 | ||||
|     init { | ||||
|         // We need to post a Runnable to show the popup to make sure that the PopupMenu is | ||||
| @@ -57,7 +57,7 @@ class RecentChapterHolder(private val view: View, private val adapter: RecentCha | ||||
|      * | ||||
|      * @param item item containing chapter information | ||||
|      */ | ||||
|     fun bind(item: RecentChapterItem) { | ||||
|     fun bind(item: UpdatesItem) { | ||||
|         this.item = item | ||||
| 
 | ||||
|         // Set chapter title | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.view.View | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| @@ -10,8 +10,8 @@ import eu.kanade.tachiyomi.data.database.models.Chapter | ||||
| import eu.kanade.tachiyomi.data.database.models.Manga | ||||
| import eu.kanade.tachiyomi.data.download.model.Download | ||||
| 
 | ||||
| class RecentChapterItem(val chapter: Chapter, val manga: Manga, header: DateItem) : | ||||
|         AbstractSectionableItem<RecentChapterHolder, DateItem>(header) { | ||||
| class UpdatesItem(val chapter: Chapter, val manga: Manga, header: DateItem) : | ||||
|         AbstractSectionableItem<UpdatesHolder, DateItem>(header) { | ||||
| 
 | ||||
|     private var _status: Int = 0 | ||||
| 
 | ||||
| @@ -28,16 +28,16 @@ class RecentChapterItem(val chapter: Chapter, val manga: Manga, header: DateItem | ||||
|         get() = status == Download.DOWNLOADED | ||||
| 
 | ||||
|     override fun getLayoutRes(): Int { | ||||
|         return R.layout.recent_chapters_item | ||||
|         return R.layout.updates_item | ||||
|     } | ||||
| 
 | ||||
|     override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): RecentChapterHolder { | ||||
|         return RecentChapterHolder(view, adapter as RecentChaptersAdapter) | ||||
|     override fun createViewHolder(view: View, adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>): UpdatesHolder { | ||||
|         return UpdatesHolder(view, adapter as UpdatesAdapter) | ||||
|     } | ||||
| 
 | ||||
|     override fun bindViewHolder( | ||||
|         adapter: FlexibleAdapter<IFlexible<RecyclerView.ViewHolder>>, | ||||
|         holder: RecentChapterHolder, | ||||
|         holder: UpdatesHolder, | ||||
|         position: Int, | ||||
|         payloads: List<Any?>? | ||||
|     ) { | ||||
| @@ -47,7 +47,7 @@ class RecentChapterItem(val chapter: Chapter, val manga: Manga, header: DateItem | ||||
| 
 | ||||
|     override fun equals(other: Any?): Boolean { | ||||
|         if (this === other) return true | ||||
|         if (other is RecentChapterItem) { | ||||
|         if (other is UpdatesItem) { | ||||
|             return chapter.id!! == other.chapter.id!! | ||||
|         } | ||||
|         return false | ||||
| @@ -1,4 +1,4 @@ | ||||
| package eu.kanade.tachiyomi.ui.recent_updates | ||||
| package eu.kanade.tachiyomi.ui.recent.updates | ||||
| 
 | ||||
| import android.os.Bundle | ||||
| import eu.kanade.tachiyomi.data.database.DatabaseHelper | ||||
| @@ -18,27 +18,27 @@ import timber.log.Timber | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| 
 | ||||
| class RecentChaptersPresenter( | ||||
| class UpdatesPresenter( | ||||
|     val preferences: PreferencesHelper = Injekt.get(), | ||||
|     private val db: DatabaseHelper = Injekt.get(), | ||||
|     private val downloadManager: DownloadManager = Injekt.get(), | ||||
|     private val sourceManager: SourceManager = Injekt.get() | ||||
| ) : BasePresenter<RecentChaptersController>() { | ||||
| ) : BasePresenter<UpdatesController>() { | ||||
| 
 | ||||
|     /** | ||||
|      * List containing chapter and manga information | ||||
|      */ | ||||
|     private var chapters: List<RecentChapterItem> = emptyList() | ||||
|     private var chapters: List<UpdatesItem> = emptyList() | ||||
| 
 | ||||
|     override fun onCreate(savedState: Bundle?) { | ||||
|         super.onCreate(savedState) | ||||
| 
 | ||||
|         getRecentChaptersObservable() | ||||
|         getUpdatesObservable() | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribeLatestCache(RecentChaptersController::onNextRecentChapters) | ||||
|                 .subscribeLatestCache(UpdatesController::onNextRecentChapters) | ||||
| 
 | ||||
|         getChapterStatusObservable() | ||||
|                 .subscribeLatestCache(RecentChaptersController::onChapterStatusChange) { _, error -> | ||||
|                 .subscribeLatestCache(UpdatesController::onChapterStatusChange) { _, error -> | ||||
|                     Timber.e(error) | ||||
|                 } | ||||
|     } | ||||
| @@ -48,7 +48,7 @@ class RecentChaptersPresenter( | ||||
|      * | ||||
|      * @return observable containing recent chapters and date | ||||
|      */ | ||||
|     fun getRecentChaptersObservable(): Observable<List<RecentChapterItem>> { | ||||
|     private fun getUpdatesObservable(): Observable<List<UpdatesItem>> { | ||||
|         // Set date limit for recent chapters | ||||
|         val cal = Calendar.getInstance().apply { | ||||
|             time = Date() | ||||
| @@ -65,7 +65,7 @@ class RecentChaptersPresenter( | ||||
|                         val dateItem = DateItem(it.key) | ||||
|                         it.value | ||||
|                                 .sortedWith(compareBy({ it.chapter.date_fetch }, { it.chapter.chapter_number })).asReversed() | ||||
|                                 .map { RecentChapterItem(it.chapter, it.manga, dateItem) } | ||||
|                                 .map { UpdatesItem(it.chapter, it.manga, dateItem) } | ||||
|                     } | ||||
|                 } | ||||
|                 .doOnNext { | ||||
| @@ -116,7 +116,7 @@ class RecentChaptersPresenter( | ||||
|      * | ||||
|      * @param items the list of chapter from the database. | ||||
|      */ | ||||
|     private fun setDownloadedChapters(items: List<RecentChapterItem>) { | ||||
|     private fun setDownloadedChapters(items: List<UpdatesItem>) { | ||||
|         for (item in items) { | ||||
|             val manga = item.manga | ||||
|             val chapter = item.chapter | ||||
| @@ -148,7 +148,7 @@ class RecentChaptersPresenter( | ||||
|      * @param items list of selected chapters | ||||
|      * @param read read status | ||||
|      */ | ||||
|     fun markChapterRead(items: List<RecentChapterItem>, read: Boolean) { | ||||
|     fun markChapterRead(items: List<UpdatesItem>, read: Boolean) { | ||||
|         val chapters = items.map { it.chapter } | ||||
|         chapters.forEach { | ||||
|             it.read = read | ||||
| @@ -167,21 +167,21 @@ class RecentChaptersPresenter( | ||||
|      * | ||||
|      * @param chapters list of chapters | ||||
|      */ | ||||
|     fun deleteChapters(chapters: List<RecentChapterItem>) { | ||||
|     fun deleteChapters(chapters: List<UpdatesItem>) { | ||||
|         Observable.just(chapters) | ||||
|                 .doOnNext { deleteChaptersInternal(it) } | ||||
|                 .subscribeOn(Schedulers.io()) | ||||
|                 .observeOn(AndroidSchedulers.mainThread()) | ||||
|                 .subscribeFirst({ view, _ -> | ||||
|                     view.onChaptersDeleted() | ||||
|                 }, RecentChaptersController::onChaptersDeletedError) | ||||
|                 }, UpdatesController::onChaptersDeletedError) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Download selected chapters | ||||
|      * @param items list of recent chapters seleted. | ||||
|      */ | ||||
|     fun downloadChapters(items: List<RecentChapterItem>) { | ||||
|     fun downloadChapters(items: List<UpdatesItem>) { | ||||
|         items.forEach { downloadManager.downloadChapters(it.manga, listOf(it.chapter)) } | ||||
|     } | ||||
| 
 | ||||
| @@ -190,7 +190,7 @@ class RecentChaptersPresenter( | ||||
|      * | ||||
|      * @param items chapters selected | ||||
|      */ | ||||
|     private fun deleteChaptersInternal(chapterItems: List<RecentChapterItem>) { | ||||
|     private fun deleteChaptersInternal(chapterItems: List<UpdatesItem>) { | ||||
|         val itemsByManga = chapterItems.groupBy { it.manga.id } | ||||
|         for ((_, items) in itemsByManga) { | ||||
|             val manga = items.first().manga | ||||
		Reference in New Issue
	
	Block a user