Improve reader
parent
bbe28f769d
commit
69db8a6537
@ -0,0 +1,58 @@
|
||||
package org.koitharu.kotatsu.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.view.GestureDetector
|
||||
import android.view.MotionEvent
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
class GridTouchHelper(context: Context, private val listener: OnGridTouchListener) :
|
||||
GestureDetector.SimpleOnGestureListener() {
|
||||
|
||||
private val detector = GestureDetector(context, this)
|
||||
private val width = context.resources.displayMetrics.widthPixels
|
||||
private val height = context.resources.displayMetrics.heightPixels
|
||||
|
||||
init {
|
||||
detector.setIsLongpressEnabled(false)
|
||||
detector.setOnDoubleTapListener(this)
|
||||
}
|
||||
|
||||
fun dispatchTouchEvent(event: MotionEvent) {
|
||||
detector.onTouchEvent(event)
|
||||
}
|
||||
|
||||
override fun onSingleTapConfirmed(event: MotionEvent): Boolean {
|
||||
val xIndex = (event.rawX * 2f / width).roundToInt()
|
||||
val yIndex = (event.rawY * 2f / height).roundToInt()
|
||||
listener.onGridTouch(
|
||||
when (xIndex) {
|
||||
0 -> AREA_LEFT
|
||||
1 -> {
|
||||
when (yIndex) {
|
||||
0 -> AREA_TOP
|
||||
1 -> AREA_CENTER
|
||||
2 -> AREA_BOTTOM
|
||||
else -> return false
|
||||
}
|
||||
}
|
||||
2 -> AREA_RIGHT
|
||||
else -> return false
|
||||
}
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
const val AREA_CENTER = 1
|
||||
const val AREA_LEFT = 2
|
||||
const val AREA_RIGHT = 3
|
||||
const val AREA_TOP = 4
|
||||
const val AREA_BOTTOM = 5
|
||||
}
|
||||
|
||||
interface OnGridTouchListener {
|
||||
|
||||
fun onGridTouch(area: Int)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
package org.koitharu.kotatsu.utils
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import org.koitharu.kotatsu.R
|
||||
import org.koitharu.kotatsu.core.model.Manga
|
||||
|
||||
object ShareHelper {
|
||||
|
||||
@JvmStatic
|
||||
fun shareMangaLink(context: Context, manga: Manga) {
|
||||
val intent = Intent(Intent.ACTION_SEND)
|
||||
intent.type = "text/plain"
|
||||
intent.putExtra(Intent.EXTRA_TEXT, buildString {
|
||||
append(manga.title)
|
||||
append("\n \n")
|
||||
append(manga.url)
|
||||
})
|
||||
val shareIntent = Intent.createChooser(intent, context.getString(R.string.share_s, manga.title))
|
||||
context.startActivity(shareIntent)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92 1.61,0 2.92,-1.31 2.92,-2.92s-1.31,-2.92 -2.92,-2.92z"/>
|
||||
</vector>
|
||||
@ -1,11 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<item
|
||||
android:id="@+id/action_favourite"
|
||||
android:icon="@drawable/ic_favourites"
|
||||
android:title="@string/favourites"
|
||||
app:showAsAction="ifRoom" />
|
||||
<menu
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<item
|
||||
android:id="@+id/action_share"
|
||||
android:icon="@drawable/ic_share"
|
||||
android:title="@string/share"
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_save"
|
||||
android:title="@string/save"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_shortcut"
|
||||
android:title="@string/create_shortcut"
|
||||
app:showAsAction="never" />
|
||||
|
||||
</menu>
|
||||
Loading…
Reference in New Issue