From 73cf2964b26c2f290c10edddbf4340468b94925d Mon Sep 17 00:00:00 2001 From: Koitharu Date: Sat, 19 Sep 2020 15:22:18 +0300 Subject: [PATCH] Option to manually track manga updates --- .../koitharu/kotatsu/ui/list/feed/FeedFragment.kt | 11 +++++++++++ .../koitharu/kotatsu/ui/settings/SettingsActivity.kt | 2 -- .../org/koitharu/kotatsu/ui/tracker/TrackWorker.kt | 12 ++++++++++++ app/src/main/res/menu/opt_feed.xml | 12 +++++++++++- app/src/main/res/values-ru/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 6 files changed, 38 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedFragment.kt index 7004e86cf..b286fbca4 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/list/feed/FeedFragment.kt @@ -3,6 +3,7 @@ package org.koitharu.kotatsu.ui.list.feed import android.os.Bundle import android.view.Menu import android.view.MenuInflater +import android.view.MenuItem import android.view.View import androidx.core.view.isVisible import com.google.android.material.snackbar.Snackbar @@ -16,6 +17,7 @@ import org.koitharu.kotatsu.ui.common.list.OnRecyclerItemClickListener import org.koitharu.kotatsu.ui.common.list.PaginationScrollListener import org.koitharu.kotatsu.ui.common.list.decor.SpacingItemDecoration import org.koitharu.kotatsu.ui.details.MangaDetailsActivity +import org.koitharu.kotatsu.ui.tracker.TrackWorker import org.koitharu.kotatsu.utils.ext.callOnScrollListeners import org.koitharu.kotatsu.utils.ext.getDisplayMessage import org.koitharu.kotatsu.utils.ext.hasItems @@ -53,6 +55,15 @@ class FeedFragment : BaseFragment(R.layout.fragment_tracklogs), FeedView, inflater.inflate(R.menu.opt_feed, menu) } + override fun onOptionsItemSelected(item: MenuItem) = when(item.itemId) { + R.id.action_update -> { + TrackWorker.startNow(requireContext()) + Snackbar.make(recyclerView, R.string.feed_will_update_soon, Snackbar.LENGTH_LONG).show() + true + } + else -> super.onOptionsItemSelected(item) + } + override fun onDestroyView() { adapter = null super.onDestroyView() diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SettingsActivity.kt b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SettingsActivity.kt index 6e2155325..21a83e3da 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/settings/SettingsActivity.kt @@ -49,8 +49,6 @@ class SettingsActivity : BaseActivity(), } private fun openFragment(fragment: Fragment) { - fragment.enterTransition = Slide(Gravity.END) - fragment.exitTransition = Slide(Gravity.START) supportFragmentManager.commit { replace(R.id.container, fragment) addToBackStack(null) diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt b/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt index 2ed153361..289e1f893 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/tracker/TrackWorker.kt @@ -222,5 +222,17 @@ class TrackWorker(context: Context, workerParams: WorkerParameters) : WorkManager.getInstance(context) .enqueueUniquePeriodicWork(TAG, ExistingPeriodicWorkPolicy.KEEP, request) } + + fun startNow(context: Context) { + val constraints = Constraints.Builder() + .setRequiredNetworkType(NetworkType.CONNECTED) + .build() + val request = OneTimeWorkRequestBuilder() + .setConstraints(constraints) + .addTag(TAG) + .build() + WorkManager.getInstance(context) + .enqueue(request) + } } } \ No newline at end of file diff --git a/app/src/main/res/menu/opt_feed.xml b/app/src/main/res/menu/opt_feed.xml index 1fe7aa6d4..f591412fa 100644 --- a/app/src/main/res/menu/opt_feed.xml +++ b/app/src/main/res/menu/opt_feed.xml @@ -1,2 +1,12 @@ - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d296344af..6d07bc4b7 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -143,4 +143,6 @@ Очистить ленту обновлений Лента обновлений очищена Повернуть экран + Обновить + Обновление скоро начнётся \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f9644ce0e..2ff9c04ca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -144,4 +144,6 @@ Clear updates feed Updates feed cleared Rotate screen + Update + Feed update will start soon \ No newline at end of file