diff --git a/.idea/gradle.xml b/.idea/gradle.xml index fe865d33..4558d84d 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -10,6 +10,7 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index fba7e70d..58ff01f3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,8 @@ + + + diff --git a/.idea/modules.xml b/.idea/modules.xml index 610ce1a1..e71fffc3 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -4,6 +4,7 @@ + diff --git a/app/app.iml b/app/app.iml index 4e825aaf..b7f0fd7d 100644 --- a/app/app.iml +++ b/app/app.iml @@ -87,6 +87,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index d9329866..627086fb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ android { buildToolsVersion "21.1.2" defaultConfig { - applicationId "com.example.touch" + applicationId "com.ortiz.touchdemo" minSdkVersion 8 targetSdkVersion 22 } @@ -20,4 +20,5 @@ android { dependencies { compile 'com.android.support:support-v4:22.0.0' + compile project(':touchview') } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b333b031..43046e10 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,22 +3,19 @@ package="com.example.touch" android:versionCode="1" android:versionName="1.0"> - - - - - - - + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/ortiz/touch/ExtendedViewPager.java b/app/src/main/java/com/ortiz/touchdemo/ExtendedViewPager.java similarity index 92% rename from app/src/main/java/com/ortiz/touch/ExtendedViewPager.java rename to app/src/main/java/com/ortiz/touchdemo/ExtendedViewPager.java index c7506ffc..f5362e23 100644 --- a/app/src/main/java/com/ortiz/touch/ExtendedViewPager.java +++ b/app/src/main/java/com/ortiz/touchdemo/ExtendedViewPager.java @@ -1,10 +1,12 @@ -package com.ortiz.touch; +package com.ortiz.touchdemo; import android.content.Context; import android.support.v4.view.ViewPager; import android.util.AttributeSet; import android.view.View; +import com.ortiz.touchview.TouchImageView; + public class ExtendedViewPager extends ViewPager { diff --git a/app/src/main/java/com/ortiz/touch/MainActivity.java b/app/src/main/java/com/ortiz/touchdemo/MainActivity.java similarity index 98% rename from app/src/main/java/com/ortiz/touch/MainActivity.java rename to app/src/main/java/com/ortiz/touchdemo/MainActivity.java index 7a902368..bb194562 100644 --- a/app/src/main/java/com/ortiz/touch/MainActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/MainActivity.java @@ -1,6 +1,4 @@ -package com.ortiz.touch; - -import com.example.touch.R; +package com.ortiz.touchdemo; import android.app.Activity; import android.content.Intent; @@ -8,6 +6,8 @@ import android.view.View; import android.view.View.OnClickListener; +import com.example.touch.R; + public class MainActivity extends Activity { /** Called when the activity is first created. */ diff --git a/app/src/main/java/com/ortiz/touch/MirroringExampleActivity.java b/app/src/main/java/com/ortiz/touchdemo/MirroringExampleActivity.java similarity index 76% rename from app/src/main/java/com/ortiz/touch/MirroringExampleActivity.java rename to app/src/main/java/com/ortiz/touchdemo/MirroringExampleActivity.java index 1d908f48..42e7215b 100644 --- a/app/src/main/java/com/ortiz/touch/MirroringExampleActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/MirroringExampleActivity.java @@ -1,10 +1,10 @@ -package com.ortiz.touch; +package com.ortiz.touchdemo; import android.app.Activity; import android.os.Bundle; import com.example.touch.R; -import com.ortiz.touch.TouchImageView.OnTouchImageViewListener; +import com.ortiz.touchview.TouchImageView; public class MirroringExampleActivity extends Activity { @@ -22,7 +22,7 @@ protected void onCreate(Bundle savedInstanceState) { // Each image has an OnTouchImageViewListener which uses its own TouchImageView // to set the other TIV with the same zoom variables. // - topImage.setOnTouchImageViewListener(new OnTouchImageViewListener() { + topImage.setOnTouchImageViewListener(new TouchImageView.OnTouchImageViewListener() { @Override public void onMove() { @@ -30,7 +30,7 @@ public void onMove() { } }); - bottomImage.setOnTouchImageViewListener(new OnTouchImageViewListener() { + bottomImage.setOnTouchImageViewListener(new TouchImageView.OnTouchImageViewListener() { @Override public void onMove() { diff --git a/app/src/main/java/com/ortiz/touch/SingleTouchImageViewActivity.java b/app/src/main/java/com/ortiz/touchdemo/SingleTouchImageViewActivity.java similarity index 91% rename from app/src/main/java/com/ortiz/touch/SingleTouchImageViewActivity.java rename to app/src/main/java/com/ortiz/touchdemo/SingleTouchImageViewActivity.java index 33c6b553..8ac154ec 100644 --- a/app/src/main/java/com/ortiz/touch/SingleTouchImageViewActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/SingleTouchImageViewActivity.java @@ -1,5 +1,4 @@ -package com.ortiz.touch; -import java.text.DecimalFormat; +package com.ortiz.touchdemo; import android.app.Activity; import android.graphics.PointF; @@ -8,7 +7,9 @@ import android.widget.TextView; import com.example.touch.R; -import com.ortiz.touch.TouchImageView.OnTouchImageViewListener; +import com.ortiz.touchview.TouchImageView; + +import java.text.DecimalFormat; public class SingleTouchImageViewActivity extends Activity { @@ -36,7 +37,7 @@ protected void onCreate(Bundle savedInstanceState) { // Set the OnTouchImageViewListener which updates edit texts // with zoom and scroll diagnostics. // - image.setOnTouchImageViewListener(new OnTouchImageViewListener() { + image.setOnTouchImageViewListener(new TouchImageView.OnTouchImageViewListener() { @Override public void onMove() { diff --git a/app/src/main/java/com/ortiz/touch/SwitchImageExampleActivity.java b/app/src/main/java/com/ortiz/touchdemo/SwitchImageExampleActivity.java similarity index 93% rename from app/src/main/java/com/ortiz/touch/SwitchImageExampleActivity.java rename to app/src/main/java/com/ortiz/touchdemo/SwitchImageExampleActivity.java index d3429c31..ee44eba8 100644 --- a/app/src/main/java/com/ortiz/touch/SwitchImageExampleActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/SwitchImageExampleActivity.java @@ -1,12 +1,13 @@ -package com.ortiz.touch; - -import com.example.touch.R; +package com.ortiz.touchdemo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; +import com.example.touch.R; +import com.ortiz.touchview.TouchImageView; + public class SwitchImageExampleActivity extends Activity { private TouchImageView image; diff --git a/app/src/main/java/com/ortiz/touch/SwitchScaleTypeExampleActivity.java b/app/src/main/java/com/ortiz/touchdemo/SwitchScaleTypeExampleActivity.java similarity index 94% rename from app/src/main/java/com/ortiz/touch/SwitchScaleTypeExampleActivity.java rename to app/src/main/java/com/ortiz/touchdemo/SwitchScaleTypeExampleActivity.java index 8e22012f..bf944704 100644 --- a/app/src/main/java/com/ortiz/touch/SwitchScaleTypeExampleActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/SwitchScaleTypeExampleActivity.java @@ -1,13 +1,14 @@ -package com.ortiz.touch; - -import com.example.touch.R; +package com.ortiz.touchdemo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; -import android.widget.Toast; import android.widget.ImageView.ScaleType; +import android.widget.Toast; + +import com.example.touch.R; +import com.ortiz.touchview.TouchImageView; public class SwitchScaleTypeExampleActivity extends Activity { diff --git a/app/src/main/java/com/ortiz/touch/ViewPagerExampleActivity.java b/app/src/main/java/com/ortiz/touchdemo/ViewPagerExampleActivity.java similarity index 96% rename from app/src/main/java/com/ortiz/touch/ViewPagerExampleActivity.java rename to app/src/main/java/com/ortiz/touchdemo/ViewPagerExampleActivity.java index 58bdd3c6..d3184be5 100644 --- a/app/src/main/java/com/ortiz/touch/ViewPagerExampleActivity.java +++ b/app/src/main/java/com/ortiz/touchdemo/ViewPagerExampleActivity.java @@ -1,6 +1,4 @@ -package com.ortiz.touch; - -import com.example.touch.R; +package com.ortiz.touchdemo; import android.app.Activity; import android.os.Bundle; @@ -9,6 +7,9 @@ import android.view.ViewGroup; import android.widget.LinearLayout; +import com.example.touch.R; +import com.ortiz.touchview.TouchImageView; + public class ViewPagerExampleActivity extends Activity { /** diff --git a/app/src/main/res/layout/activity_mirroring_example.xml b/app/src/main/res/layout/activity_mirroring_example.xml index b853ba1e..e2f77f48 100644 --- a/app/src/main/res/layout/activity_mirroring_example.xml +++ b/app/src/main/res/layout/activity_mirroring_example.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical" > - - - - - - diff --git a/settings.gradle b/settings.gradle index e7b4def4..4a5be5d3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include ':app' +include ':app', ':touchview' diff --git a/touchview/.gitignore b/touchview/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/touchview/.gitignore @@ -0,0 +1 @@ +/build diff --git a/touchview/build.gradle b/touchview/build.gradle new file mode 100644 index 00000000..d63aa1d6 --- /dev/null +++ b/touchview/build.gradle @@ -0,0 +1,24 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion 22 + buildToolsVersion "21.1.2" + + defaultConfig { + minSdkVersion 8 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + compile 'com.android.support:appcompat-v7:22.0.0' +} diff --git a/touchview/proguard-rules.pro b/touchview/proguard-rules.pro new file mode 100644 index 00000000..92df1fa7 --- /dev/null +++ b/touchview/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/JVillella/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/touchview/src/main/AndroidManifest.xml b/touchview/src/main/AndroidManifest.xml new file mode 100644 index 00000000..2593f202 --- /dev/null +++ b/touchview/src/main/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/app/src/main/java/com/ortiz/touch/TouchImageView.java b/touchview/src/main/java/com/ortiz/touchview/TouchImageView.java similarity index 96% rename from app/src/main/java/com/ortiz/touch/TouchImageView.java rename to touchview/src/main/java/com/ortiz/touchview/TouchImageView.java index e93bc6cb..24565641 100644 --- a/app/src/main/java/com/ortiz/touch/TouchImageView.java +++ b/touchview/src/main/java/com/ortiz/touchview/TouchImageView.java @@ -10,7 +10,7 @@ * Extends Android ImageView to include pinch zooming, panning, fling and double tap zoom. */ -package com.ortiz.touch; +package com.ortiz.touchview; import android.annotation.TargetApi; import android.content.Context; @@ -94,9 +94,9 @@ private static enum State { NONE, DRAG, ZOOM, FLING, ANIMATE_ZOOM }; private ScaleGestureDetector mScaleDetector; private GestureDetector mGestureDetector; - private GestureDetector.OnDoubleTapListener doubleTapListener = null; + private GestureDetector.OnDoubleTapListener doubleTapListener = null; private OnTouchListener userTouchListener = null; - private OnTouchImageViewListener touchImageViewListener = null; + private OnTouchImageViewListener touchImageViewListener = null; public TouchImageView(Context context) { super(context); @@ -133,22 +133,22 @@ private void sharedConstructing(Context context) { setScaleType(ScaleType.MATRIX); setState(State.NONE); onDrawReady = false; - super.setOnTouchListener(new PrivateOnTouchListener()); + super.setOnTouchListener(new PrivateOnTouchListener()); } - - @Override - public void setOnTouchListener(View.OnTouchListener l) { - userTouchListener = l; + + @Override + public void setOnTouchListener(View.OnTouchListener l) { + userTouchListener = l; } public void setOnTouchImageViewListener(OnTouchImageViewListener l) { touchImageViewListener = l; - } - - public void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener l) { - doubleTapListener = l; - } - + } + + public void setOnDoubleTapListener(GestureDetector.OnDoubleTapListener l) { + doubleTapListener = l; + } + @Override public void setImageResource(int resId) { super.setImageResource(resId); @@ -758,7 +758,7 @@ public boolean onSingleTapConfirmed(MotionEvent e) { if(doubleTapListener != null) { return doubleTapListener.onSingleTapConfirmed(e); - } + } return performClick(); } @@ -788,7 +788,7 @@ public boolean onDoubleTap(MotionEvent e) { boolean consumed = false; if(doubleTapListener != null) { consumed = doubleTapListener.onDoubleTap(e); - } + } if (state == State.NONE) { float targetZoom = (normalizedScale == minScale) ? maxScale : minScale; DoubleTapZoom doubleTap = new DoubleTapZoom(targetZoom, e.getX(), e.getY(), false); @@ -797,14 +797,14 @@ public boolean onDoubleTap(MotionEvent e) { } return consumed; } - - @Override - public boolean onDoubleTapEvent(MotionEvent e) { + + @Override + public boolean onDoubleTapEvent(MotionEvent e) { if(doubleTapListener != null) { return doubleTapListener.onDoubleTapEvent(e); - } - return false; - } + } + return false; + } } public interface OnTouchImageViewListener { diff --git a/touchview/src/main/res/values/strings.xml b/touchview/src/main/res/values/strings.xml new file mode 100644 index 00000000..f4ba810b --- /dev/null +++ b/touchview/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + TouchImageView + diff --git a/touchview/touchview.iml b/touchview/touchview.iml new file mode 100644 index 00000000..cd6e9839 --- /dev/null +++ b/touchview/touchview.iml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +