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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+