S-Pen support

Closes #678

Co-Authored-By: Carlos <2092019+CarlosEsco@users.noreply.github.com>
This commit is contained in:
Jays2Kings 2021-03-25 01:38:28 -04:00
parent e487a2350c
commit 14b04693c8
40 changed files with 187 additions and 71 deletions

View File

@ -83,6 +83,14 @@
android:pathPattern="/viewer/..*"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="com.samsung.android.support.REMOTE_ACTION" />
</intent-filter>
<meta-data
android:name="com.samsung.android.support.REMOTE_ACTION"
android:resource="@xml/s_pen_actions" />
</activity>
<activity
android:name=".ui.webview.WebViewActivity"

View File

@ -357,6 +357,17 @@ class ReaderActivity :
return handled || super.dispatchKeyEvent(event)
}
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
if (keyCode == KeyEvent.KEYCODE_N) {
presenter.loadNextChapter()
return true
} else if (keyCode == KeyEvent.KEYCODE_P) {
presenter.loadPreviousChapter()
return true
}
return super.onKeyUp(keyCode, event)
}
/**
* Dispatches a generic motion event. If the viewer doesn't handle it, call the default
* implementation.

View File

@ -435,6 +435,39 @@ class ReaderPresenter(
.also(::add)
}
/**
* Called from the activity to load and set the next chapter as active.
*/
fun loadNextChapter() {
val nextChapter = viewerChaptersRelay.value?.nextChapter ?: return
loadAdjacent(nextChapter)
}
/**
* Called from the activity to load and set the previous chapter as active.
*/
fun loadPreviousChapter() {
val prevChapter = viewerChaptersRelay.value?.prevChapter ?: return
loadAdjacent(prevChapter)
}
private fun loadAdjacent(chapter: ReaderChapter) {
val loader = loader ?: return
activeChapterSubscription?.unsubscribe()
activeChapterSubscription = getLoadObservable(loader, chapter)
.doOnSubscribe { isLoadingAdjacentChapterRelay.call(true) }
.doOnUnsubscribe { isLoadingAdjacentChapterRelay.call(false) }
.subscribeFirst(
{ view, _ ->
view.moveToPageIndex(0)
},
{ _, _ ->
// Ignore onError event, viewers handle that state
}
)
}
/**
* Called every time a page changes on the reader. Used to mark the flag of chapters being
* read, update tracking services, enqueue downloaded chapter deletion, and updating the active chapter if this

View File

@ -97,7 +97,7 @@ class PagerTransitionHolder(
setSpan(StyleSpan(Typeface.BOLD), 0, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${transition.from.chapter.name}\n\n")
val currSize = length
append(context.getString(R.string.next_chapter))
append(context.getString(R.string.next_title))
setSpan(StyleSpan(Typeface.BOLD), currSize, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${nextChapter.chapter.name}\n\n")
}
@ -122,7 +122,7 @@ class PagerTransitionHolder(
setSpan(StyleSpan(Typeface.BOLD), 0, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${transition.from.chapter.name}\n\n")
val currSize = length
append(context.getString(R.string.previous_chapter))
append(context.getString(R.string.previous_title))
setSpan(StyleSpan(Typeface.BOLD), currSize, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${prevChapter.chapter.name}\n\n")
}

View File

@ -99,7 +99,7 @@ class WebtoonTransitionHolder(
setSpan(StyleSpan(Typeface.BOLD), 0, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${transition.from.chapter.name}\n\n")
val currSize = length
append(context.getString(R.string.next_chapter))
append(context.getString(R.string.next_title))
setSpan(StyleSpan(Typeface.BOLD), currSize, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${nextChapter.chapter.name}\n\n")
}
@ -124,7 +124,7 @@ class WebtoonTransitionHolder(
setSpan(StyleSpan(Typeface.BOLD), 0, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${transition.from.chapter.name}\n\n")
val currSize = length
append(context.getString(R.string.previous_chapter))
append(context.getString(R.string.previous_title))
setSpan(StyleSpan(Typeface.BOLD), currSize, length, Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
append("\n${prevChapter.chapter.name}\n\n")
}

View File

@ -36,7 +36,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?selectableItemBackgroundBorderless"
android:contentDescription="@string/next_chapter"
android:contentDescription="@string/next_title"
android:padding="@dimen/material_layout_keylines_screen_edge_margin"
android:tint="?actionBarTintColor"
android:tooltipText="@string/view_chapters"

View File

@ -24,7 +24,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6dp"
android:contentDescription="@string/previous_chapter"
android:contentDescription="@string/previous_title"
android:padding="8dp"
android:src="@drawable/ic_expand_less_24dp"
android:tint="@android:color/white"
@ -53,7 +53,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:contentDescription="@string/next_chapter"
android:contentDescription="@string/next_title"
android:padding="8dp"
android:src="@drawable/ic_expand_more_24dp"
android:tint="@android:color/white"

View File

@ -301,8 +301,8 @@
<string name="copy">نسخ</string>
<string name="finished_chapter">تمَّ الانتهاء من:</string>
<string name="current_chapter">الحالي:</string>
<string name="next_chapter">التّالي:</string>
<string name="previous_chapter">السّابق:</string>
<string name="next_title">التّالي:</string>
<string name="previous_title">السّابق:</string>
<string name="theres_no_next_chapter">لا يوجدُ فصل تالي</string>
<string name="theres_no_previous_chapter">لا يوجدُ فصل سابق</string>
<string name="loading_pages">جار تحميل الصّفحات…</string>

View File

@ -333,8 +333,8 @@
<string name="url_not_set_click_again">Мангата няма връзка с акаунта, молим отново да натиснете заглавието и да изберете мангата</string>
<string name="finished_chapter">Завършени:</string>
<string name="current_chapter">Текущи:</string>
<string name="next_chapter">Следва:</string>
<string name="previous_chapter">Предишна:</string>
<string name="next_title">Следва:</string>
<string name="previous_title">Предишна:</string>
<string name="theres_no_next_chapter">Няма повече глави</string>
<string name="theres_no_previous_chapter">Няма предишна глава</string>
<string name="loading_pages">Зареждане на страниците…</string>

View File

@ -298,8 +298,8 @@
<string name="dark_blue">গাঢ় নীল</string>
<string name="finished_chapter">"শেষ :"</string>
<string name="current_chapter">"এখনকার :"</string>
<string name="next_chapter">আসছে :</string>
<string name="previous_chapter">পূর্ববর্তী :</string>
<string name="next_title">আসছে :</string>
<string name="previous_title">পূর্ববর্তী :</string>
<string name="theres_no_next_chapter">কোন পরের অধ্যায় আছে</string>
<string name="theres_no_previous_chapter">কোন পূর্ববর্তী অধ্যায় আছে</string>
<string name="loading_pages">পৃষ্ঠা লোড হচ্ছে …</string>

View File

@ -274,8 +274,8 @@
<string name="viewer_for_this_series">Lector per a aquesta sèrie</string>
<string name="finished_chapter">Finalitzat:</string>
<string name="current_chapter">Actual:</string>
<string name="next_chapter">Següent:</string>
<string name="previous_chapter">Anterior:</string>
<string name="next_title">Següent:</string>
<string name="previous_title">Anterior:</string>
<string name="theres_no_next_chapter">No hi ha capítol següent</string>
<string name="theres_no_previous_chapter">No hi ha capítol anterior</string>
<string name="loading_pages">S\'estan carregant les pàgines…</string>

View File

@ -140,8 +140,8 @@
<string name="decode_image_error">Obrázek nemohl být dekódován</string>
<string name="finished_chapter">Dokončeno:</string>
<string name="current_chapter">Aktuální:</string>
<string name="next_chapter">Následující:</string>
<string name="previous_chapter">Předchozí:</string>
<string name="next_title">Následující:</string>
<string name="previous_title">Předchozí:</string>
<string name="theres_no_next_chapter">Žádná další kapitola</string>
<string name="theres_no_previous_chapter">Žádná předchozí kapitola</string>
<string name="loading_pages">Načítání stránek…</string>

View File

@ -271,8 +271,8 @@
<string name="viewer_for_this_series">Leser dieser Serie</string>
<string name="finished_chapter">Beendet:</string>
<string name="current_chapter">Aktuell:</string>
<string name="next_chapter">Nächste:</string>
<string name="previous_chapter">Vorherige:</string>
<string name="next_title">Nächste:</string>
<string name="previous_title">Vorherige:</string>
<string name="theres_no_next_chapter">Es gibt kein nächstes Kapitel</string>
<string name="theres_no_previous_chapter">Es gibt kein vorheriges Kapitel</string>
<string name="loading_pages">Lade Seiten…</string>

View File

@ -272,8 +272,8 @@
<string name="viewer_for_this_series">Αναγνώστης για αυτήν τη σειρά</string>
<string name="finished_chapter">Διαβασμένο:</string>
<string name="current_chapter">Τρέχον:</string>
<string name="next_chapter">Επόμενο:</string>
<string name="previous_chapter">Προηγούμενο:</string>
<string name="next_title">Επόμενο:</string>
<string name="previous_title">Προηγούμενο:</string>
<string name="theres_no_next_chapter">Δεν υπάρχει επόμενο κεφάλαιο</string>
<string name="theres_no_previous_chapter">Δεν υπάρχει προηγούμενο κεφάλαιο</string>
<string name="loading_pages">Φόρτωση σελίδων…</string>

View File

@ -304,8 +304,8 @@ También asegúrese de haber iniciado sesión en las fuentes que lo requieren an
<string name="language_">Idioma: %1$s</string>
<string name="normal">Normal</string>
<string name="fast">Rápida</string>
<string name="next_chapter">Siguiente:</string>
<string name="previous_chapter">Anterior:</string>
<string name="next_title">Siguiente:</string>
<string name="previous_title">Anterior:</string>
<string name="theres_no_next_chapter">No hay capítulo siguiente</string>
<string name="theres_no_previous_chapter">No hay capítulo anterior</string>
<string name="migrate">Migrar</string>

View File

@ -29,8 +29,8 @@
<string name="viewer_for_this_series">Katselin tälle sarjalle</string>
<string name="finished_chapter">Valmistunut:</string>
<string name="current_chapter">Nykyinen:</string>
<string name="next_chapter">Seuraava:</string>
<string name="previous_chapter">Aiempi:</string>
<string name="next_title">Seuraava:</string>
<string name="previous_title">Aiempi:</string>
<string name="theres_no_next_chapter">Seuraavaa lukua ei ole</string>
<string name="theres_no_previous_chapter">Aiempaa lukua ei ole</string>
<string name="loading_pages">Ladataan sivuja…</string>

View File

@ -329,8 +329,8 @@ Assurez-vous que vous êtes connecté à des sources qui le demande avant de com
<string name="rereading">Relecture</string>
<string name="finished_chapter">A jour :</string>
<string name="current_chapter">En cours :</string>
<string name="next_chapter">Suivant :</string>
<string name="previous_chapter">Précédent :</string>
<string name="next_title">Suivant :</string>
<string name="previous_title">Précédent :</string>
<string name="theres_no_next_chapter">C\'était le dernier chapitre</string>
<string name="theres_no_previous_chapter">Il n\'y a pas de chapitre précédent</string>
<string name="loading_pages">Chargement des pages…</string>

View File

@ -295,8 +295,8 @@
<string name="url_not_set_click_again">मंगा यूआरएल सेट नहीं है कृपया शीर्षक पर क्लिक करें और फिर मंगा का चयन करें</string>
<string name="finished_chapter">समाप्त:</string>
<string name="current_chapter">प्रचलित:</string>
<string name="next_chapter">अगला:</string>
<string name="previous_chapter">पिछला:</string>
<string name="next_title">अगला:</string>
<string name="previous_title">पिछला:</string>
<string name="theres_no_next_chapter">कोई अगला अध्याय नहीं है</string>
<string name="theres_no_previous_chapter">कोई पिछला अध्याय नहीं है</string>
<string name="loading_pages">पेज लोड हो रहे है …</string>

View File

@ -296,8 +296,8 @@
<string name="dark_blue">Biru gelap</string>
<string name="finished_chapter">Selesai:</string>
<string name="current_chapter">Saat ini:</string>
<string name="next_chapter">Selanjutnya:</string>
<string name="previous_chapter">Sebelumnya:</string>
<string name="next_title">Selanjutnya:</string>
<string name="previous_title">Sebelumnya:</string>
<string name="theres_no_next_chapter">Tidak ada chapter lanjutannya</string>
<string name="theres_no_previous_chapter">Tidak ada chapter sebelumnya</string>
<string name="loading_pages">Memuat halaman…</string>

View File

@ -330,8 +330,8 @@
<string name="common">Comune</string>
<string name="finished_chapter">Finito:</string>
<string name="current_chapter">Corrente:</string>
<string name="next_chapter">Prossimo:</string>
<string name="previous_chapter">Precedente:</string>
<string name="next_title">Prossimo:</string>
<string name="previous_title">Precedente:</string>
<string name="theres_no_next_chapter">Nessun capitolo successivo</string>
<string name="theres_no_previous_chapter">Nessun capitolo precedente</string>
<string name="loading_pages">Caricamento pagine…</string>

View File

@ -215,8 +215,8 @@
<string name="viewer_for_this_series">이 시리즈에 대한 뷰어</string>
<string name="finished_chapter">완료:</string>
<string name="current_chapter">현재:</string>
<string name="next_chapter">다음:</string>
<string name="previous_chapter">이전:</string>
<string name="next_title">다음:</string>
<string name="previous_title">이전:</string>
<string name="theres_no_next_chapter">다움 챕터가 없습니다</string>
<string name="theres_no_previous_chapter">이전 챕터가 없습니다</string>
<string name="loading_pages">페이지 로딩중…</string>

View File

@ -299,8 +299,8 @@
<string name="url_not_set_click_again">Manga url tidak ditetapkan, sila klik tajuk dan pilih manga sekali lagi</string>
<string name="finished_chapter">Selesai:</string>
<string name="current_chapter">Sekarang:</string>
<string name="next_chapter">Seterusnya:</string>
<string name="previous_chapter">Sebelumnya:</string>
<string name="next_title">Seterusnya:</string>
<string name="previous_title">Sebelumnya:</string>
<string name="theres_no_next_chapter">Tiada bab seterusnya dijumpai</string>
<string name="theres_no_previous_chapter">Tiada bab sebelumnya dijumpai</string>
<string name="loading_pages">Memuatkan halaman…</string>

View File

@ -263,8 +263,8 @@
<string name="decode_image_error">Kunne ikke dekode bildet</string>
<string name="finished_chapter">Fullført:</string>
<string name="current_chapter">Nåværende:</string>
<string name="next_chapter">Neste:</string>
<string name="previous_chapter">Forrige:</string>
<string name="next_title">Neste:</string>
<string name="previous_title">Forrige:</string>
<string name="theres_no_next_chapter">Det finnes ikke flere kapittel</string>
<string name="theres_no_previous_chapter">Det er ikke noe tidligere kapittel</string>
<string name="loading_pages">Laster inn sider…</string>

View File

@ -296,8 +296,8 @@ Zorg ook dat je ingelogd bent voor bronnen die dit vereisen alvorens je het teru
<string name="url_not_set_click_again">Manga url is niet ingesteld, klik alstublieft op de titel en selecteer de manga opnieuw</string>
<string name="finished_chapter">Afgerond:</string>
<string name="current_chapter">Huidige:</string>
<string name="next_chapter">Volgende:</string>
<string name="previous_chapter">Vorige:</string>
<string name="next_title">Volgende:</string>
<string name="previous_title">Vorige:</string>
<string name="theres_no_next_chapter">Er is geen volgend hoofdstuk</string>
<string name="theres_no_previous_chapter">Er is geen vorig hoofdstuk</string>
<string name="loading_pages">Pagina\'s aan het laden…</string>

View File

@ -282,8 +282,8 @@
<string name="viewer_for_this_series">Widok dla tej serii</string>
<string name="finished_chapter">Przeczytany:</string>
<string name="current_chapter">Obecny:</string>
<string name="next_chapter">Następny:</string>
<string name="previous_chapter">Poprzedni:</string>
<string name="next_title">Następny:</string>
<string name="previous_title">Poprzedni:</string>
<string name="theres_no_next_chapter">Brak następnego rozdziału</string>
<string name="theres_no_previous_chapter">Brak wcześniejszych rozdziałów</string>
<string name="loading_pages">Ładowanie stron...</string>

View File

@ -275,8 +275,8 @@
<string name="viewer_for_this_series">Leitura para esta série</string>
<string name="finished_chapter">Concluído:</string>
<string name="current_chapter">Atual:</string>
<string name="next_chapter">Próximo:</string>
<string name="previous_chapter">Anterior:</string>
<string name="next_title">Próximo:</string>
<string name="previous_title">Anterior:</string>
<string name="theres_no_next_chapter">Não há próximo capítulo</string>
<string name="theres_no_previous_chapter">Não há capítulo anterior</string>
<string name="loading_pages">Carregando páginas…</string>

View File

@ -323,8 +323,8 @@
<string name="use_image_as_cover">Deseja usar esta imagem como capa\?</string>
<string name="finished_chapter">Concluído:</string>
<string name="current_chapter">Atual:</string>
<string name="next_chapter">Próximo:</string>
<string name="previous_chapter">Anterior:</string>
<string name="next_title">Próximo:</string>
<string name="previous_title">Anterior:</string>
<string name="theres_no_next_chapter">Não há próximo capítulo</string>
<string name="theres_no_previous_chapter">Não há capítulo anterior</string>
<string name="loading_pages">Carregando páginas…</string>

View File

@ -271,8 +271,8 @@
<string name="viewer_for_this_series">Cititor al acestei serii</string>
<string name="finished_chapter">Terminat:</string>
<string name="current_chapter">Actual:</string>
<string name="next_chapter">Următorul:</string>
<string name="previous_chapter">Precedent:</string>
<string name="next_title">Următorul:</string>
<string name="previous_title">Precedent:</string>
<string name="theres_no_next_chapter">Nu există capitolul următor</string>
<string name="theres_no_previous_chapter">Nu există capitolul precedent</string>
<string name="loading_pages">Încărcând paginile…</string>

View File

@ -473,12 +473,12 @@
<string name="current_chapter">Текущая:</string>
<string name="finished_chapter">Закончена:</string>
<string name="next_chapter">Следующая:</string>
<string name="next_title">Следующая:</string>
<string name="theres_no_next_chapter">Следующей части нет</string>
<string name="theres_no_previous_chapter">Предыдущей части нет</string>
<string name="failed_to_load_pages_">Не удалось загрузить страницы: %1$s</string>
<string name="loading_pages">Идёт загрузка страниц…</string>
<string name="previous_chapter">Предыдущая:</string>
<string name="previous_title">Предыдущая:</string>
<string name="unknown">Неизвестно</string>
<string name="unknown_error">Неизвестная ошибка</string>

View File

@ -273,8 +273,8 @@
<string name="viewer_for_this_series">Visualizadore pro custa sèrie</string>
<string name="finished_chapter">Acabadu:</string>
<string name="current_chapter">Atuale:</string>
<string name="next_chapter">Imbeniente:</string>
<string name="previous_chapter">Antepostu:</string>
<string name="next_title">Imbeniente:</string>
<string name="previous_title">Antepostu:</string>
<string name="theres_no_next_chapter">Non b\'at unu capìtulu imbeniente</string>
<string name="theres_no_previous_chapter">Non b\'at unu capìtulu antepostu</string>
<string name="loading_pages">Carrighende pàginas…</string>

View File

@ -272,8 +272,8 @@
<string name="viewer_for_this_series">Visare för denna serie</string>
<string name="finished_chapter">Färdig:</string>
<string name="current_chapter">Nuvarande:</string>
<string name="next_chapter">Nästa:</string>
<string name="previous_chapter">Tidigare:</string>
<string name="next_title">Nästa:</string>
<string name="previous_title">Tidigare:</string>
<string name="theres_no_next_chapter">Det finns inget mer kapitel</string>
<string name="theres_no_previous_chapter">Det finns inget tidigare kapitel</string>
<string name="loading_pages">Laddar sidor…</string>

View File

@ -284,8 +284,8 @@
<string name="viewer_for_this_series">ตัวแสดงสำหรับชุดนี้</string>
<string name="finished_chapter">เสร็จแล้ว:</string>
<string name="current_chapter">ปัจจุบัน:</string>
<string name="next_chapter">ต่อไป:</string>
<string name="previous_chapter">ก่อนหน้า:</string>
<string name="next_title">ต่อไป:</string>
<string name="previous_title">ก่อนหน้า:</string>
<string name="theres_no_next_chapter">ไม่มีบทต่อไป</string>
<string name="theres_no_previous_chapter">ไม่มีบทก่อนหน้านี้</string>
<string name="loading_pages">กำลังโหลดหน้า …</string>

View File

@ -285,8 +285,8 @@
<string name="viewer_for_this_series">Viewer para sa seryeng ito</string>
<string name="finished_chapter">Natapos:</string>
<string name="current_chapter">Kasalukuyan:</string>
<string name="next_chapter">Susunod:</string>
<string name="previous_chapter">Nakaraan:</string>
<string name="next_title">Susunod:</string>
<string name="previous_title">Nakaraan:</string>
<string name="theres_no_next_chapter">Walang susunod na kabanata</string>
<string name="theres_no_previous_chapter">Walang nakaraang kabanata</string>
<string name="loading_pages">Kinakarga ang mga pahina…</string>

View File

@ -297,8 +297,8 @@
<string name="common">Genel</string>
<string name="finished_chapter">Biten:</string>
<string name="current_chapter">Şu anki:</string>
<string name="next_chapter">Sonraki:</string>
<string name="previous_chapter">Önceki:</string>
<string name="next_title">Sonraki:</string>
<string name="previous_title">Önceki:</string>
<string name="theres_no_next_chapter">Sonraki bölüm yok</string>
<string name="theres_no_previous_chapter">Önceki bölüm yok</string>
<string name="loading_pages">Sayfalar yükleniyor…</string>

View File

@ -272,8 +272,8 @@
<string name="viewer_for_this_series">Відображення для цієї серії</string>
<string name="finished_chapter">Завершено:</string>
<string name="current_chapter">Поточна:</string>
<string name="next_chapter">Наступна:</string>
<string name="previous_chapter">Попередня:</string>
<string name="next_title">Наступна:</string>
<string name="previous_title">Попередня:</string>
<string name="theres_no_next_chapter">Наступної частини немає</string>
<string name="theres_no_previous_chapter">Попередньої частини немає</string>
<string name="loading_pages">Завантаження сторінок…</string>

View File

@ -328,8 +328,8 @@
<string name="url_not_set_click_again">Đường dẫn truyện chưa được đặt, vui lòng nhấn vào tiêu đề và chọn lại truyện một lần nữa</string>
<string name="finished_chapter">Đã đọc xong:</string>
<string name="current_chapter">Đang đọc:</string>
<string name="next_chapter">Chương kế:</string>
<string name="previous_chapter">Chương trước:</string>
<string name="next_title">Chương kế:</string>
<string name="previous_title">Chương trước:</string>
<string name="theres_no_next_chapter">Không có chương tiếp theo</string>
<string name="theres_no_previous_chapter">Không có chương trước đó</string>
<string name="loading_pages">Đang tải trang…</string>

View File

@ -272,8 +272,8 @@
<string name="viewer_for_this_series">阅读模式</string>
<string name="finished_chapter">已读完:</string>
<string name="current_chapter">"当前: "</string>
<string name="next_chapter">下一章:</string>
<string name="previous_chapter">"上一章: "</string>
<string name="next_title">下一章:</string>
<string name="previous_title">"上一章: "</string>
<string name="theres_no_next_chapter">下面没有啦</string>
<string name="theres_no_previous_chapter">前面没有啦</string>
<string name="loading_pages">页面加载中…</string>

View File

@ -272,7 +272,7 @@
<string name="page_">第 %1$d 頁</string>
<string name="next_chapter_not_found">找不到下一章</string>
<string name="finished_chapter">已閱畢:</string>
<string name="next_chapter">下一章:</string>
<string name="next_title">下一章:</string>
<string name="new_chapters_found">發現新章節</string>
<string name="skip_read_chapters">略過已讀的章節</string>
<string name="remove_after_read">閱畢後刪除</string>
@ -307,7 +307,7 @@
<string name="url_not_set_click_again">漫畫網址未設置,請點擊標題再選擇一次漫畫</string>
<string name="this_will_remove_the_read_date_question">這將會清除此章節的閱讀日期,確定嗎?</string>
<string name="current_chapter">當前章節:</string>
<string name="previous_chapter">上一章:</string>
<string name="previous_title">上一章:</string>
<string name="source_dash_chapter_">%1$s - 第%2$s章</string>
<string name="could_not_download_chapter_can_try_again">下載時發生錯誤。請再試一次</string>
<string name="could_not_download_unexpected_error">下載時發生不可預期的錯誤</string>

View File

@ -292,14 +292,18 @@
<string name="viewer_for_this_series">Viewer for this series</string>
<string name="finished_chapter">Finished:</string>
<string name="current_chapter">Current:</string>
<string name="next_chapter">Next:</string>
<string name="previous_chapter">Previous:</string>
<string name="next_title">Next:</string>
<string name="previous_title">Previous:</string>
<string name="theres_no_next_chapter">There\'s no next chapter</string>
<string name="theres_no_previous_chapter">There\'s no previous chapter</string>
<string name="loading_pages">Loading pages…</string>
<string name="failed_to_load_pages_">Failed to load pages: %1$s</string>
<string name="reading_">Reading %1$s</string>
<string name="webtoon_style">webtoon style</string>
<string name="next_page">Next page</string>
<string name="previous_page">Previous page</string>
<string name="next_chapter">Next page</string>
<string name="previous_chapter">Previous page</string>
<!-- Reader settings -->
<string name="fullscreen">Fullscreen</string>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<remote-actions
actionset_label="@string/app_name"
version="1.2">
<action
id="tachiyomi_next_page"
label="@string/next_page"
priority="1"
repeatable="true"
repeatable_interval="short"
trigger_key="CTRL_LEFT+DPAD_RIGHT">
<preference
name="gesture"
value="click" />
</action>
<action
id="tachiyomi_previous_page"
label="@string/previous_page"
priority="2"
repeatable="true"
repeatable_interval="short"
trigger_key="CTRL_LEFT+DPAD_LEFT">
<preference
name="gesture"
value="double_click" />
</action>
<action
id="tachiyomi_back"
label="@string/back"
priority="3"
repeatable="true"
repeatable_interval="short"
trigger_key="BACK">
<preference
name="gesture"
value="circle_ccw" />
</action>
<action
id="tachiyomi_next_chapter"
label="@string/next_chapter"
priority="4"
repeatable="true"
repeatable_interval="short"
trigger_key="N">
<preference
name="gesture"
value="swipe_right" />
</action>
<action
id="tachiyomi_previous_chapter"
label="@string/previous_chapter"
priority="5"
repeatable="true"
repeatable_interval="short"
trigger_key="P">
<preference
name="gesture"
value="swipe_left" />
</action>
</remote-actions>