Make system tethering entry always available

This commit is contained in:
Mygod
2018-01-15 13:40:32 -08:00
parent 3a3e6b8689
commit 67aa86f0f7
7 changed files with 30 additions and 46 deletions

View File

@@ -1,32 +0,0 @@
package be.mygod.vpnhotspot.widget
import android.text.Spannable
import android.text.method.LinkMovementMethod
import android.text.style.URLSpan
import android.view.MotionEvent
import android.widget.TextView
/**
* Based on: https://stackoverflow.com/a/32443884/2245107
*/
abstract class TextViewLinkHandler : LinkMovementMethod() {
companion object {
fun create(handler: (String) -> Unit) = object : TextViewLinkHandler() {
override fun onLinkClick(url: String) = handler(url)
}
}
override fun onTouchEvent(widget: TextView, buffer: Spannable, event: MotionEvent): Boolean {
if (event.action != MotionEvent.ACTION_UP) return super.onTouchEvent(widget, buffer, event)
val x = event.x - widget.totalPaddingLeft + widget.scrollX
val y = event.y.toInt() - widget.totalPaddingTop + widget.scrollY
val layout = widget.layout
val line = layout.getLineForVertical(y)
val off = layout.getOffsetForHorizontal(line, x)
val link = buffer.getSpans(off, off, URLSpan::class.java)
if (link.isNotEmpty()) onLinkClick(link[0].url)
return true
}
abstract fun onLinkClick(url: String)
}