I hereby claim:
- I am mrenouf on github.
- I am mrenouf (https://keybase.io/mrenouf) on keybase.
- I have a public key whose fingerprint is 3A76 13EC 9AF1 79E5 0A84 E29F C42A 8652 1ACD 8184
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
ViewRootImpl.deliverInputEvent | |
.... | |
ViewRootImpl.processPointerEvent | |
View.dispatchPointerEvent (DecorView) | |
View.dispatchTouchEvent (DecorView) | |
Activity.dispatchTouchEvent (Window.Callback) | |
Window.superDispatchTouchEvent (PhoneWindow) | |
DecorView.superDispatchTouchEvent | |
super.dispatchTouchEvent(event) (ViewGroup) |
package com.example.mrenouf.touchtest; | |
import android.support.v4.view.ViewCompat; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.view.ViewParent; | |
import java.util.ArrayList; | |
import java.util.Collections; | |
import java.util.Comparator; |
package com.example.mrenouf.touchtest; | |
import android.content.Context; | |
import android.support.annotation.NonNull; | |
import android.support.annotation.Nullable; | |
import android.support.v4.widget.NestedScrollView; | |
import android.util.AttributeSet; | |
import android.view.MotionEvent; | |
public class NonGreedyNestedScrollView extends NestedScrollView { |
package com.example.mrenouf.touchtest; | |
import android.graphics.Rect; | |
import android.support.v4.view.ViewCompat; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.view.ViewParent; | |
import java.util.ArrayList; | |
import java.util.List; |
package com.example.mrenouf.touchtest; | |
import android.support.test.rule.ActivityTestRule; | |
import android.support.test.runner.AndroidJUnit4; | |
import android.view.View; | |
import org.junit.Rule; | |
import org.junit.Test; | |
import org.junit.runner.RunWith; |
<?xml version="1.0" encoding="utf-8"?> | |
<android.support.constraint.ConstraintLayout | |
xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:background="@android:color/black"> | |
<android.support.constraint.Guideline | |
android:id="@+id/guideline_h50" |
#!/usr/bin/env bash | |
# | |
# Enable port forwarding when using Private Internet Access | |
# | |
# Usage: | |
# ./port_forwarding.sh | |
error( ) | |
{ | |
echo "$@" 1>&2 |
sudo apt install build-essential autoconf bison flex texinfo \ | |
help2man gawk libtool libncurses5-dev python3-dev \ | |
python3-distutils git | |
git clone http://github.com/crosstool-ng/crosstool-ng | |
cd crosstool-ng | |
./bootstrap | |
./configure --enable-local | |
DEFCONFIG=samples/armv8-rpi3-linux-gnueabihf/crosstool.config ./ct-ng defconfig |
suspend fun AsynchronousByteChannel.readInto(buffer: ByteBuffer): Int = suspendCancellableCoroutine { | |
read(buffer, null, object : CompletionHandler<Int, Any?> { | |
override fun completed(result: Int, attachment: Any?) { it.resume(result) } | |
override fun failed(exc: Throwable, attachment: Any?) = it.resumeWithException(exc) | |
}) | |
} | |
suspend fun AsynchronousByteChannel.writeFrom(buffer: ByteBuffer): Int = suspendCancellableCoroutine { | |
write(buffer, null, object : CompletionHandler<Int, Any?> { | |
override fun completed(result: Int, attachment: Any?) = it.resume(result) |