You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by ia...@apache.org on 2015/08/24 13:09:05 UTC

[26/38] incubator-taverna-mobile git commit: Updated gradle build files

Updated gradle build files


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/962c8154
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/962c8154
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/962c8154

Branch: refs/heads/master
Commit: 962c815496587c7416955a63f7543a197a2b1907
Parents: 1e9c5cf
Author: larrytech7 <la...@gmail.com>
Authored: Thu Aug 13 18:11:39 2015 +0100
Committer: larrytech7 <la...@gmail.com>
Committed: Thu Aug 13 18:11:39 2015 +0100

----------------------------------------------------------------------
 app/build.gradle                                |   8 +-
 .../com/tavernamobile/ApplicationTest.java      |  39 ---
 .../customviews/WorkflowPreviewImageView.java   | 292 ++++++++++++++++++-
 build/intermediates/dex-cache/cache.xml         |  32 +-
 build/intermediates/model_data.bin              | Bin 116572 -> 118988 bytes
 libs/MaterialDesignLib/MaterialDesignLib.iml    |  16 -
 6 files changed, 319 insertions(+), 68 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/app/build.gradle
----------------------------------------------------------------------
diff --git a/app/build.gradle b/app/build.gradle
index 60d4b2d..66d1e2d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,11 +21,15 @@ android {
         }
     }
 }
-
+repositories {
+    jcenter()
+}
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
+    compile fileTree(include: ['*.jar'], dir: 'libs')
     compile 'com.android.support:appcompat-v7:22.0.0'
     compile 'com.android.support:cardview-v7:22.0.0'
     compile 'com.android.support:recyclerview-v7:22.0.0'
     compile 'com.android.support:support-v4:22.0.0'
+    compile files('libs/dropbox-android-sdk-1.6.3.jar')
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/app/src/androidTest/java/mobile/taverna/apache/com/tavernamobile/ApplicationTest.java
----------------------------------------------------------------------
diff --git a/app/src/androidTest/java/mobile/taverna/apache/com/tavernamobile/ApplicationTest.java b/app/src/androidTest/java/mobile/taverna/apache/com/tavernamobile/ApplicationTest.java
deleted file mode 100644
index ae2557f..0000000
--- a/app/src/androidTest/java/mobile/taverna/apache/com/tavernamobile/ApplicationTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package mobile.taverna.apache.com.tavernamobile;
-
-/*
-* Apache Taverna Mobile
-* Copyright 2015 The Apache Software Foundation
-
-* This product includes software developed at
-* The Apache Software Foundation (http://www.apache.org/).
-
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements. See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership. The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied. See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
- */
-public class ApplicationTest extends ApplicationTestCase<Application> {
-    public ApplicationTest() {
-        super(Application.class);
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
index c34c680..5f5276e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
+++ b/app/src/main/java/org/apache/taverna/mobile/customviews/WorkflowPreviewImageView.java
@@ -1,7 +1,295 @@
 package org.apache.taverna.mobile.customviews;
+/**
+ * Apache Taverna Mobile
+ * Copyright 2015 The Apache Software Foundation
+
+ * This product includes software developed at
+ * The Apache Software Foundation (http://www.apache.org/).
+
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Matrix;
+import android.graphics.PointF;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.ScaleGestureDetector;
+import android.view.View;
+import android.widget.ImageView;
 
 /**
- * Created by root on 6/29/15.
+ * Created by Akah Harvey on 6/29/15.
  */
-public class WorkflowPreviewImageView {
+public class WorkflowPreviewImageView extends ImageView{
+    Matrix matrix = new Matrix();
+
+    static final int NONE = 0;
+    static final int DRAG = 1;
+    static final int ZOOM = 2;
+    static final int CLICK = 3;
+    int mode = NONE;
+
+    PointF last = new PointF();
+    PointF start = new PointF();
+    float minScale = 1f;
+    float maxScale = 4f;
+    float[] m;
+
+    float redundantXSpace, redundantYSpace;
+    float width, height;
+    float saveScale = 1f;
+    float right, bottom, origWidth, origHeight, bmWidth, bmHeight;
+
+    ScaleGestureDetector mScaleDetector;
+    Context context;
+
+    public WorkflowPreviewImageView(Context context, AttributeSet attr)
+    {
+        super(context, attr);
+        super.setClickable(true);
+        this.context = context;
+        mScaleDetector = new ScaleGestureDetector(context, new ScaleListener());
+        matrix.setTranslate(1f, 1f);
+        m = new float[9];
+        setImageMatrix(matrix);
+        setScaleType(ScaleType.MATRIX);
+
+        setOnTouchListener(new OnTouchListener()
+        {
+
+            @Override
+            public boolean onTouch(View v, MotionEvent event)
+            {
+                mScaleDetector.onTouchEvent(event);
+
+                matrix.getValues(m);
+                float x = m[Matrix.MTRANS_X];
+                float y = m[Matrix.MTRANS_Y];
+                PointF curr = new PointF(event.getX(), event.getY());
+
+                switch (event.getAction())
+                {
+                    //when one finger is touching
+                    //set the mode to DRAG
+                    case MotionEvent.ACTION_DOWN:
+                        last.set(event.getX(), event.getY());
+                        start.set(last);
+                        mode = DRAG;
+                        break;
+                    //when two fingers are touching
+                    //set the mode to ZOOM
+                    case MotionEvent.ACTION_POINTER_DOWN:
+                        last.set(event.getX(), event.getY());
+                        start.set(last);
+                        mode = ZOOM;
+                        break;
+                    //when a finger moves
+                    //If mode is applicable move image
+                    case MotionEvent.ACTION_MOVE:
+                        //if the mode is ZOOM or
+                        //if the mode is DRAG and already zoomed
+                        if (mode == ZOOM || (mode == DRAG && saveScale > minScale))
+                        {
+                            float deltaX = curr.x - last.x;// x difference
+                            float deltaY = curr.y - last.y;// y difference
+                            float scaleWidth = Math.round(origWidth * saveScale);// width after applying current scale
+                            float scaleHeight = Math.round(origHeight * saveScale);// height after applying current scale
+                            //if scaleWidth is smaller than the views width
+                            //in other words if the image width fits in the view
+                            //limit left and right movement
+                            if (scaleWidth < width)
+                            {
+                                deltaX = 0;
+                                if (y + deltaY > 0)
+                                    deltaY = -y;
+                                else if (y + deltaY < -bottom)
+                                    deltaY = -(y + bottom);
+                            }
+                            //if scaleHeight is smaller than the views height
+                            //in other words if the image height fits in the view
+                            //limit up and down movement
+                            else if (scaleHeight < height)
+                            {
+                                deltaY = 0;
+                                if (x + deltaX > 0)
+                                    deltaX = -x;
+                                else if (x + deltaX < -right)
+                                    deltaX = -(x + right);
+                            }
+                            //if the image doesnt fit in the width or height
+                            //limit both up and down and left and right
+                            else
+                            {
+                                if (x + deltaX > 0)
+                                    deltaX = -x;
+                                else if (x + deltaX < -right)
+                                    deltaX = -(x + right);
+
+                                if (y + deltaY > 0)
+                                    deltaY = -y;
+                                else if (y + deltaY < -bottom)
+                                    deltaY = -(y + bottom);
+                            }
+                            //move the image with the matrix
+                            matrix.postTranslate(deltaX, deltaY);
+                            //set the last touch location to the current
+                            last.set(curr.x, curr.y);
+                        }
+                        break;
+                    //first finger is lifted
+                    case MotionEvent.ACTION_UP:
+                        mode = NONE;
+                        int xDiff = (int) Math.abs(curr.x - start.x);
+                        int yDiff = (int) Math.abs(curr.y - start.y);
+                        if (xDiff < CLICK && yDiff < CLICK)
+                            performClick();
+                        break;
+                    // second finger is lifted
+                    case MotionEvent.ACTION_POINTER_UP:
+                        mode = NONE;
+                        break;
+                }
+                setImageMatrix(matrix);
+                invalidate();
+                return true;
+            }
+
+        });
+    }
+
+    @Override
+    public void setImageBitmap(Bitmap bm)
+    {
+        super.setImageBitmap(bm);
+        bmWidth = bm.getWidth();
+        bmHeight = bm.getHeight();
+    }
+
+    public void setMaxZoom(float x)
+    {
+        maxScale = x;
+    }
+
+    private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener
+    {
+
+        @Override
+        public boolean onScaleBegin(ScaleGestureDetector detector)
+        {
+            mode = ZOOM;
+            return true;
+        }
+
+        @Override
+        public boolean onScale(ScaleGestureDetector detector)
+        {
+            float mScaleFactor = detector.getScaleFactor();
+            float origScale = saveScale;
+            saveScale *= mScaleFactor;
+            if (saveScale > maxScale)
+            {
+                saveScale = maxScale;
+                mScaleFactor = maxScale / origScale;
+            }
+            else if (saveScale < minScale)
+            {
+                saveScale = minScale;
+                mScaleFactor = minScale / origScale;
+            }
+            right = width * saveScale - width - (2 * redundantXSpace * saveScale);
+            bottom = height * saveScale - height - (2 * redundantYSpace * saveScale);
+            if (origWidth * saveScale <= width || origHeight * saveScale <= height)
+            {
+                matrix.postScale(mScaleFactor, mScaleFactor, width / 2, height / 2);
+                if (mScaleFactor < 1)
+                {
+                    matrix.getValues(m);
+                    float x = m[Matrix.MTRANS_X];
+                    float y = m[Matrix.MTRANS_Y];
+                    if (mScaleFactor < 1)
+                    {
+                        if (Math.round(origWidth * saveScale) < width)
+                        {
+                            if (y < -bottom)
+                                matrix.postTranslate(0, -(y + bottom));
+                            else if (y > 0)
+                                matrix.postTranslate(0, -y);
+                        }
+                        else
+                        {
+                            if (x < -right)
+                                matrix.postTranslate(-(x + right), 0);
+                            else if (x > 0)
+                                matrix.postTranslate(-x, 0);
+                        }
+                    }
+                }
+            }
+            else
+            {
+                matrix.postScale(mScaleFactor, mScaleFactor, detector.getFocusX(), detector.getFocusY());
+                matrix.getValues(m);
+                float x = m[Matrix.MTRANS_X];
+                float y = m[Matrix.MTRANS_Y];
+                if (mScaleFactor < 1) {
+                    if (x < -right)
+                        matrix.postTranslate(-(x + right), 0);
+                    else if (x > 0)
+                        matrix.postTranslate(-x, 0);
+                    if (y < -bottom)
+                        matrix.postTranslate(0, -(y + bottom));
+                    else if (y > 0)
+                        matrix.postTranslate(0, -y);
+                }
+            }
+            return true;
+        }
+    }
+
+    @Override
+    protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
+    {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+        width = MeasureSpec.getSize(widthMeasureSpec);
+        height = MeasureSpec.getSize(heightMeasureSpec);
+        //Fit to screen.
+        float scale;
+        float scaleX =  width / bmWidth;
+        float scaleY = height / bmHeight;
+        scale = Math.min(scaleX, scaleY);
+        matrix.setScale(scale, scale);
+        setImageMatrix(matrix);
+        saveScale = 1f;
+
+        // Center the image
+        redundantYSpace = height - (scale * bmHeight) ;
+        redundantXSpace = width - (scale * bmWidth);
+        redundantYSpace /= 2;
+        redundantXSpace /= 2;
+
+        matrix.postTranslate(redundantXSpace, redundantYSpace);
+
+        origWidth = width - 2 * redundantXSpace;
+        origHeight = height - 2 * redundantYSpace;
+        right = width * saveScale - width - (2 * redundantXSpace * saveScale);
+        bottom = height * saveScale - height - (2 * redundantYSpace * saveScale);
+        setImageMatrix(matrix);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/build/intermediates/dex-cache/cache.xml
----------------------------------------------------------------------
diff --git a/build/intermediates/dex-cache/cache.xml b/build/intermediates/dex-cache/cache.xml
index ab3a83d..8c5384d 100644
--- a/build/intermediates/dex-cache/cache.xml
+++ b/build/intermediates/dex-cache/cache.xml
@@ -2,25 +2,25 @@
 <items version="2" >
 
     <item
-        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/libs/internal_impl-22.0.0.jar"
+        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/classes.jar"
         jumboMode="false"
         revision="21.1.2"
-        sha1="b5b92f469d515a13d778900f6d50c03d12f35504">
-        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/internal_impl-22.0.0-ab39a2263976cb0fd278360818acc6d173a8d8e0.jar" />
+        sha1="4e86306289ace4aa0cfec44a05ed2b410d36989d">
+        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/classes-be9904e841d6b70d2ec429ffa7d3732bb544b8ab.jar" />
     </item>
     <item
-        jar="/root/Desktop/android-studio/sdk/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar"
+        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/libs/dropbox-android-sdk-1.6.3.jar"
         jumboMode="false"
         revision="21.1.2"
-        sha1="685d0b2c590447e85284ed84712cb363ba04eff8">
-        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/support-annotations-22.0.0-2f3cb2807dead79ef0327bdd9269035b879fdd27.jar" />
+        sha1="986e7a58e925c6f91b88ae8d3224a0550b65acc7">
+        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/dropbox-android-sdk-1.6.3-49f85fff2c0dd0aeb7ee59e23d24ce3535e37e81.jar" />
     </item>
     <item
-        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/classes.jar"
+        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/support-v4/22.0.0/libs/internal_impl-22.0.0.jar"
         jumboMode="false"
         revision="21.1.2"
-        sha1="4e86306289ace4aa0cfec44a05ed2b410d36989d">
-        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/classes-be9904e841d6b70d2ec429ffa7d3732bb544b8ab.jar" />
+        sha1="b5b92f469d515a13d778900f6d50c03d12f35504">
+        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/internal_impl-22.0.0-ab39a2263976cb0fd278360818acc6d173a8d8e0.jar" />
     </item>
     <item
         jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/22.0.0/classes.jar"
@@ -44,6 +44,13 @@
         <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/simple-xml-2.7.1-0337a02c2c7a819ce7d4f1cb9e7af39ace3fc996.jar" />
     </item>
     <item
+        jar="/root/Desktop/android-studio/sdk/extras/android/m2repository/com/android/support/support-annotations/22.0.0/support-annotations-22.0.0.jar"
+        jumboMode="false"
+        revision="21.1.2"
+        sha1="685d0b2c590447e85284ed84712cb363ba04eff8">
+        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/support-annotations-22.0.0-2f3cb2807dead79ef0327bdd9269035b879fdd27.jar" />
+    </item>
+    <item
         jar="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.0.0/classes.jar"
         jumboMode="false"
         revision="21.1.2"
@@ -57,5 +64,12 @@
         sha1="11842de6a309c447b3a3d60d73ad637a87c58994">
         <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/classes-2dbcae8b037134953fc4e3eb3645a66e2931661a.jar" />
     </item>
+    <item
+        jar="/root/Desktop/AndroidLab/TavernaMobile2/app/libs/json_simple-1.1.jar"
+        jumboMode="false"
+        revision="21.1.2"
+        sha1="5e303a03d04e6788dddfa3655272580ae0fc13bb">
+        <dex dex="/root/Desktop/AndroidLab/TavernaMobile2/app/build/intermediates/pre-dexed/debug/json_simple-1.1-c6f2833f7d87dc082af9be3e409fbd98def079fd.jar" />
+    </item>
 
 </items>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/build/intermediates/model_data.bin
----------------------------------------------------------------------
diff --git a/build/intermediates/model_data.bin b/build/intermediates/model_data.bin
index 31c35f8..79693db 100644
Binary files a/build/intermediates/model_data.bin and b/build/intermediates/model_data.bin differ

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/962c8154/libs/MaterialDesignLib/MaterialDesignLib.iml
----------------------------------------------------------------------
diff --git a/libs/MaterialDesignLib/MaterialDesignLib.iml b/libs/MaterialDesignLib/MaterialDesignLib.iml
deleted file mode 100644
index 7b035b9..0000000
--- a/libs/MaterialDesignLib/MaterialDesignLib.iml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="TavernaMobile2" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="android-gradle" name="Android-Gradle">
-      <configuration>
-        <option name="GRADLE_PROJECT_PATH" value=":MaterialDesignLib" />
-      </configuration>
-    </facet>
-  </component>
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
-