@@ -0,0 +1,820 @@
+package net.squanchy.support.view;%0A%0Aimport android.view.MotionEvent;%0Aimport android.view.View;%0A%0Aimport com.google.auto.value.AutoValue;%0A%0A@AutoValue%0Apublic abstract class Hotspot %7B%0A%0A    public static Hotspot from(MotionEvent motionEvent) %7B%0A        return new AutoValue_Hotspot(motionEvent.getX(), motionEvent.getY());%0A    %7D%0A%0A    @SuppressWarnings(%22MagicNumber%22)    // Just dividing by two to get the centre%0A    public static Hotspot fromCenterOf(View view) %7B%0A        float x = view.getX() + view.getWidth() / 2f;%0A        float y = view.getY() + view.getHeight() / 2f;%0A%0A        return new AutoValue_Hotspot(x, y);%0A    %7D%0A%0A    public abstract float x();%0A%0A    public abstract float y();%0A%0A    public Hotspot offsetToParent(View parent) %7B%0A        return new AutoValue_Hotspot(x() + parent.getX(), y() + parent.getY());%0A    %7D%0A%7D%0A

Create Hotspot to handle touch hotspot creation