From 227768b847737489e51ed55a4b0923d9f3824316 Mon Sep 17 00:00:00 2001 From: gsc Date: Fri, 28 Apr 2017 00:14:30 +0200 Subject: [PATCH 01/13] Fix first startup after boot --- .../literacyapp/startguide/util/StartPrefsHelper.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/literacyapp/startguide/util/StartPrefsHelper.java b/app/src/main/java/org/literacyapp/startguide/util/StartPrefsHelper.java index e746281..54af995 100644 --- a/app/src/main/java/org/literacyapp/startguide/util/StartPrefsHelper.java +++ b/app/src/main/java/org/literacyapp/startguide/util/StartPrefsHelper.java @@ -17,13 +17,15 @@ public static boolean startAfterBoot(Context context) { long firstStartupDate = getFirstStartupDate(context); long currentDate = System.currentTimeMillis(); - Log.d(StartPrefsHelper.class.getName(), - "First start-up less than seven days ago: " + ((firstStartupDate + SEVEN_DAYS_IN_MILLISECONDS) > currentDate)); - if (firstStartupDate == 0) { + Log.d(StartPrefsHelper.class.getName(), "First start-up"); storeFirstStartupDate(context); + return true; + } else { + Log.d(StartPrefsHelper.class.getName(), + "First start-up less than seven days ago: " + ((firstStartupDate + SEVEN_DAYS_IN_MILLISECONDS) > currentDate)); + return ((firstStartupDate + SEVEN_DAYS_IN_MILLISECONDS) > currentDate); } - return ((firstStartupDate + SEVEN_DAYS_IN_MILLISECONDS) > currentDate); } private static long getFirstStartupDate(Context context) { From a662657743b2eed55b1bd9c082645808ae216975 Mon Sep 17 00:00:00 2001 From: gsc Date: Tue, 9 May 2017 00:19:40 +0200 Subject: [PATCH 02/13] Exit full screen --- app/src/main/AndroidManifest.xml | 4 + .../content/swipe/ExitFullScreenActivity.java | 97 +++++ .../content/swipe/SwipeRightLeftActivity.java | 3 +- app/src/main/res/drawable/landscape.xml | 383 ++++++++++++++++++ .../res/layout/activity_exit_full_screen.xml | 22 + app/src/main/res/values/colors.xml | 1 + .../handgesture/AnimationHelper.java | 2 +- .../handgesture/HandGestureListener.java | 2 + .../org/literacyapp/handgesture/HandView.java | 12 +- 9 files changed, 521 insertions(+), 5 deletions(-) create mode 100644 app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java create mode 100644 app/src/main/res/drawable/landscape.xml create mode 100644 app/src/main/res/layout/activity_exit_full_screen.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 03f2c5b..fc803c7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,6 +23,10 @@ + diff --git a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java new file mode 100644 index 0000000..b159102 --- /dev/null +++ b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java @@ -0,0 +1,97 @@ +package org.literacyapp.startguide.content.swipe; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.MotionEvent; +import android.view.View; + +import org.literacyapp.handgesture.Gestures; +import org.literacyapp.handgesture.HandView; +import org.literacyapp.startguide.R; +import org.literacyapp.startguide.content.FinalActivity; + +public class ExitFullScreenActivity extends Activity { + + private HandView mHandView; + private View mDecorView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_exit_full_screen); + + mHandView = (HandView) findViewById(R.id.hand_view); + mDecorView = getWindow().getDecorView(); + + hideSystemBars(); + playExitFullScreen(); + } + + @Override + protected void onResume() { + super.onResume(); + mDecorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() { + @Override + public void onSystemUiVisibilityChange(int visibility) { + // System bars will only be "visible" if none of the + // LOW_PROFILE, HIDE_NAVIGATION, or FULLSCREEN flags are set. + if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { + // The system bars are visible. + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + hideSystemBars(); + onGestureDetected(); + } + }, 3000); + } else { + // The system bars are NOT visible. + hideSystemBars(); + } + } + }); + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + mHandView.onTouchEvent(event); + return false; + } + + private void hideSystemBars() { + // Set the content to appear under the system bars so that the content + // doesn't resize when the system bars hide and show. + mDecorView.setSystemUiVisibility( + View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar + | View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar + | View.SYSTEM_UI_FLAG_IMMERSIVE); + } + + private void playExitFullScreen() { + // TODO: 04/05/2017 audio move bottom to exit full screen +// MediaPlayerHelper.playWithDelay(this, R.raw.exit_full_screen, new MediaPlayerHelper.MediaPlayerListener() { +// @Override +// public void onCompletion() { + showExitFullScreenAnimation(); +// } +// }); + } + + /** + * Hand animation to explain exit full screen + */ + private void showExitFullScreenAnimation() { + mHandView.startAnimation(Gestures.MOVE_DOWN); + } + + private void onGestureDetected() { + finish(); + Intent intent = new Intent(this, FinalActivity.class); + startActivity(intent); + } +} diff --git a/app/src/main/java/org/literacyapp/startguide/content/swipe/SwipeRightLeftActivity.java b/app/src/main/java/org/literacyapp/startguide/content/swipe/SwipeRightLeftActivity.java index 3d8f313..431b8e4 100644 --- a/app/src/main/java/org/literacyapp/startguide/content/swipe/SwipeRightLeftActivity.java +++ b/app/src/main/java/org/literacyapp/startguide/content/swipe/SwipeRightLeftActivity.java @@ -19,7 +19,6 @@ import org.literacyapp.handgesture.Gestures; import org.literacyapp.handgesture.HandView; import org.literacyapp.startguide.R; -import org.literacyapp.startguide.content.FinalActivity; import org.literacyapp.startguide.util.MediaPlayerHelper; /** @@ -136,7 +135,7 @@ public void onPageSelected(int page) { finish(); - Intent intent = new Intent(this, FinalActivity.class); + Intent intent = new Intent(this, ExitFullScreenActivity.class); startActivity(intent); } } diff --git a/app/src/main/res/drawable/landscape.xml b/app/src/main/res/drawable/landscape.xml new file mode 100644 index 0000000..973471e --- /dev/null +++ b/app/src/main/res/drawable/landscape.xml @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_exit_full_screen.xml b/app/src/main/res/layout/activity_exit_full_screen.xml new file mode 100644 index 0000000..9abff97 --- /dev/null +++ b/app/src/main/res/layout/activity_exit_full_screen.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f138e64..f2d3da0 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -7,6 +7,7 @@ #66000000 #00BCD4 + #72D1DE #8BC34A #FF5722 diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java index c309745..6e26a0c 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java @@ -55,6 +55,7 @@ public void animateView(View view, long delay) { @Override public void run() { mView.startAnimation(makeSmallerImage()); + mHandGestureListener.onAnimationStarted(); } }, delay * MILLISECONDS); } @@ -80,7 +81,6 @@ public void onAnimationEnd(Animation animation) { mView.setScaleX(1); mView.setScaleY(1); - if (isRepeatMode()) { animateView(mView); } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandGestureListener.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandGestureListener.java index 887c34b..04f35a7 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandGestureListener.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandGestureListener.java @@ -4,6 +4,8 @@ */ public interface HandGestureListener { + void onAnimationStarted(); + void onZoomOutEnd(); void onTouchStart(); diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index 47f3306..d5f1ba0 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -34,6 +34,7 @@ public class HandView extends RelativeLayout implements HandGestureListener { private int mAnimationDelay; //Flag for double touch gesture private boolean firstTouch = true; + private boolean mDetectTouchEvent; // used in view creation programmatically public HandView(Context context) { @@ -71,11 +72,11 @@ public boolean onInterceptTouchEvent(MotionEvent ev) { @Override public boolean onTouchEvent(MotionEvent event) { - if (getVisibility() == VISIBLE && mHideOnTouch) { + if (mHideOnTouch && mDetectTouchEvent) { + setVisibility(GONE); if (mAnimationHelper != null) { mAnimationHelper.stopAnimation(); } - setVisibility(GONE); } return false; } @@ -103,12 +104,14 @@ public void startAnimation(HandGesture handAnimation) { } public void startAnimation(int idAnimResource) { + mDetectTouchEvent = false; mAnimationHelper = new AnimationHelper(getContext(), idAnimResource, this); mAnimationHelper.setRepeatMode(mRepeatAnimation); mAnimationHelper.animateView(this, mAnimationDelay); } private void startGesture(HandGesture handGesture) { + mDetectTouchEvent = false; this.handGesture = handGesture; if (handGesture.equals(SINGLE_TAP)) { new GestureHelper(this, this).startOneTouchAnimation(mAnimationDelay); @@ -139,6 +142,11 @@ protected void onAnimationEnd() { //region HandGestureListener + @Override + public void onAnimationStarted() { + mDetectTouchEvent = true; + } + @Override public void onZoomOutEnd() { startTouch(); From 1b5750c06e7f71af5fd08fc00b4bda4592b32da3 Mon Sep 17 00:00:00 2001 From: gsc Date: Fri, 19 May 2017 00:29:59 +0200 Subject: [PATCH 03/13] Added audio for ExitFullScreen --- .../content/swipe/ExitFullScreenActivity.java | 13 +++++++------ .../raw/slide_down_from_outside_the_screen.wav | Bin 0 -> 73964 bytes 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/raw/slide_down_from_outside_the_screen.wav diff --git a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java index b159102..647acc3 100644 --- a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java +++ b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java @@ -11,6 +11,7 @@ import org.literacyapp.handgesture.HandView; import org.literacyapp.startguide.R; import org.literacyapp.startguide.content.FinalActivity; +import org.literacyapp.startguide.util.MediaPlayerHelper; public class ExitFullScreenActivity extends Activity { @@ -73,13 +74,13 @@ private void hideSystemBars() { } private void playExitFullScreen() { - // TODO: 04/05/2017 audio move bottom to exit full screen -// MediaPlayerHelper.playWithDelay(this, R.raw.exit_full_screen, new MediaPlayerHelper.MediaPlayerListener() { -// @Override -// public void onCompletion() { + // TODO: 04/05/2017 audios en/sw Slide down from outside the screen + MediaPlayerHelper.playWithDelay(this, R.raw.slide_down_from_outside_the_screen, new MediaPlayerHelper.MediaPlayerListener() { + @Override + public void onCompletion() { showExitFullScreenAnimation(); -// } -// }); + } + }); } /** diff --git a/app/src/main/res/raw/slide_down_from_outside_the_screen.wav b/app/src/main/res/raw/slide_down_from_outside_the_screen.wav new file mode 100644 index 0000000000000000000000000000000000000000..f8e6c01f89707791669ed776da61eec19a5d0137 GIT binary patch literal 73964 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

feYT!7_^u*~+1hv_wGvFYz-tjx5_ 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 Date: Fri, 19 May 2017 00:31:24 +0200 Subject: [PATCH 04/13] Updated margin top of handView --- .../res/layout/activity_exit_full_screen.xml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/res/layout/activity_exit_full_screen.xml b/app/src/main/res/layout/activity_exit_full_screen.xml index 9abff97..f1ac211 100644 --- a/app/src/main/res/layout/activity_exit_full_screen.xml +++ b/app/src/main/res/layout/activity_exit_full_screen.xml @@ -7,16 +7,16 @@ android:background="@color/light_blue" tools:context="org.literacyapp.startguide.content.swipe.ExitFullScreenActivity"> - + - - \ No newline at end of file + + \ No newline at end of file From f525d449939cc9f5138b0be0c08debd9c060e7d0 Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 20 May 2017 01:07:29 +0200 Subject: [PATCH 05/13] Disabled hideOnTouch --- app/src/main/res/layout/activity_exit_full_screen.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_exit_full_screen.xml b/app/src/main/res/layout/activity_exit_full_screen.xml index f1ac211..6f30a6b 100644 --- a/app/src/main/res/layout/activity_exit_full_screen.xml +++ b/app/src/main/res/layout/activity_exit_full_screen.xml @@ -2,6 +2,7 @@ + android:layout_marginTop="-70dp" + app:hideOnTouch="false"/> \ No newline at end of file From e5edaaa4e45e2b8f4dd61664077b62d147204b2f Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 20 May 2017 01:26:55 +0200 Subject: [PATCH 06/13] Hide handView when slide down detected --- .../startguide/content/swipe/ExitFullScreenActivity.java | 4 ++++ .../src/main/java/org/literacyapp/handgesture/HandView.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java index 647acc3..a39010d 100644 --- a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java +++ b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java @@ -91,6 +91,10 @@ private void showExitFullScreenAnimation() { } private void onGestureDetected() { + mHandView.stopAnimation(); + } + + private void navigateToFinal() { finish(); Intent intent = new Intent(this, FinalActivity.class); startActivity(intent); diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index d5f1ba0..3699bd1 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -110,6 +110,11 @@ public void startAnimation(int idAnimResource) { mAnimationHelper.animateView(this, mAnimationDelay); } + public void stopAnimation() { + mHideOnTouch = true; + onTouchEvent(null); + } + private void startGesture(HandGesture handGesture) { mDetectTouchEvent = false; this.handGesture = handGesture; From ef2cf7d03bc3fcace414ff7e2c116a71fd945885 Mon Sep 17 00:00:00 2001 From: gsc Date: Mon, 22 May 2017 23:04:02 +0200 Subject: [PATCH 07/13] Added bottom bar --- .../content/swipe/ExitFullScreenActivity.java | 19 ++++++ app/src/main/res/drawable/ic_back.xml | 10 +++ app/src/main/res/drawable/ic_home.xml | 10 +++ app/src/main/res/drawable/ic_recents.xml | 10 +++ .../res/layout/activity_exit_full_screen.xml | 64 +++++++++++++++--- .../res/raw/and_touch_the_arrow_below.wav | Bin 0 -> 67404 bytes 6 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/drawable/ic_back.xml create mode 100644 app/src/main/res/drawable/ic_home.xml create mode 100644 app/src/main/res/drawable/ic_recents.xml create mode 100644 app/src/main/res/raw/and_touch_the_arrow_below.wav diff --git a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java index a39010d..6056b7c 100644 --- a/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java +++ b/app/src/main/java/org/literacyapp/startguide/content/swipe/ExitFullScreenActivity.java @@ -16,6 +16,8 @@ public class ExitFullScreenActivity extends Activity { private HandView mHandView; + private HandView mHandViewBottom; + private View mBottomBar; private View mDecorView; @Override @@ -24,6 +26,9 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_exit_full_screen); mHandView = (HandView) findViewById(R.id.hand_view); + mHandViewBottom = (HandView) findViewById(R.id.hand_view_bottom); + mBottomBar = findViewById(R.id.bottom_bar); + mDecorView = getWindow().getDecorView(); hideSystemBars(); @@ -92,6 +97,20 @@ private void showExitFullScreenAnimation() { private void onGestureDetected() { mHandView.stopAnimation(); + mHandView.setVisibility(View.GONE); + showBottomAnimation(); + } + + private void showBottomAnimation() { + mBottomBar.setVisibility(View.VISIBLE); + + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + mHandViewBottom.setVisibility(View.VISIBLE); + mHandViewBottom.startAnimation(); + } + }, 500); } private void navigateToFinal() { diff --git a/app/src/main/res/drawable/ic_back.xml b/app/src/main/res/drawable/ic_back.xml new file mode 100644 index 0000000..6539ff1 --- /dev/null +++ b/app/src/main/res/drawable/ic_back.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_home.xml b/app/src/main/res/drawable/ic_home.xml new file mode 100644 index 0000000..2717408 --- /dev/null +++ b/app/src/main/res/drawable/ic_home.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/drawable/ic_recents.xml b/app/src/main/res/drawable/ic_recents.xml new file mode 100644 index 0000000..6826ba4 --- /dev/null +++ b/app/src/main/res/drawable/ic_recents.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/activity_exit_full_screen.xml b/app/src/main/res/layout/activity_exit_full_screen.xml index 6f30a6b..0bf1395 100644 --- a/app/src/main/res/layout/activity_exit_full_screen.xml +++ b/app/src/main/res/layout/activity_exit_full_screen.xml @@ -8,17 +8,59 @@ android:background="@color/light_blue" tools:context="org.literacyapp.startguide.content.swipe.ExitFullScreenActivity"> - + + + - + + - \ No newline at end of file + android:layout_toRightOf="@id/back" + android:layout_marginLeft="50dp" + android:src="@drawable/ic_home"/> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/raw/and_touch_the_arrow_below.wav b/app/src/main/res/raw/and_touch_the_arrow_below.wav new file mode 100644 index 0000000000000000000000000000000000000000..987c392961c75c80332531924779b59d401d7cd2 GIT binary patch literal 67404 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 Z^IGeqOP5jTQO^rWl`Le;8vc$sp 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 Date: Fri, 26 May 2017 22:52:26 +0200 Subject: [PATCH 08/13] Added bottom animation --- app/src/main/AndroidManifest.xml | 1 - .../content/swipe/ExitFullScreenActivity.java | 63 ++++++++++++++----- .../res/layout/activity_exit_full_screen.xml | 7 ++- .../org/literacyapp/handgesture/HandView.java | 9 +++ .../handgesture/HandViewListener.java | 7 +++ 5 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 handgesture/src/main/java/org/literacyapp/handgesture/HandViewListener.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fc803c7..6c442a6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -25,7 +25,6 @@ android:noHistory="true"/> + app:animationType="moveDown" + app:hideOnTouch="false" + app:repeatAnimation="false"/> \ No newline at end of file diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index 3699bd1..e8dd750 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -27,6 +27,8 @@ public class HandView extends RelativeLayout implements HandGestureListener { private AnimationHelper mAnimationHelper; private HandGesture handGesture; + private HandViewListener mHandViewListener; + private int mAnimationType; private boolean mHideOnTouch = true; private boolean mRepeatAnimation = true; @@ -65,6 +67,10 @@ private void init(Context context, AttributeSet attrs) { } } + public void setHandViewListener(HandViewListener listener) { + mHandViewListener = listener; + } + @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return super.onInterceptTouchEvent(ev); @@ -140,6 +146,9 @@ private void endTouch() { @Override protected void onAnimationEnd() { super.onAnimationEnd(); + if (mHandViewListener != null) { + mHandViewListener.onAnimationEnd(); + } if (handGesture != null && mRepeatAnimation) { startGesture(handGesture); } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandViewListener.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandViewListener.java new file mode 100644 index 0000000..8e44335 --- /dev/null +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandViewListener.java @@ -0,0 +1,7 @@ +package org.literacyapp.handgesture; + + +public interface HandViewListener { + + void onAnimationEnd(); +} From 4f1d552c47013ab2263471fa529813b0e302da76 Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 27 May 2017 20:29:48 +0200 Subject: [PATCH 09/13] Added custom translation --- .../startguide/TestGestureActivity.java | 3 ++ .../main/res/layout/activity_test_gesture.xml | 11 +++++++ .../handgesture/AnimationHelper.java | 13 ++++++++ .../literacyapp/handgesture/Constants.java | 2 ++ .../org/literacyapp/handgesture/Gestures.java | 15 +++++++-- .../org/literacyapp/handgesture/HandView.java | 31 +++++++++++++++---- handgesture/src/main/res/values/attrs.xml | 6 ++++ 7 files changed, 73 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/literacyapp/startguide/TestGestureActivity.java b/app/src/main/java/org/literacyapp/startguide/TestGestureActivity.java index 4f13d2f..46db49e 100644 --- a/app/src/main/java/org/literacyapp/startguide/TestGestureActivity.java +++ b/app/src/main/java/org/literacyapp/startguide/TestGestureActivity.java @@ -24,5 +24,8 @@ protected void onCreate(Bundle savedInstanceState) { HandView mPressAndHold = (HandView) findViewById(R.id.press_and_hold); mPressAndHold.startAnimation(PRESS_AND_HOLD); + + HandView mTranslation = (HandView) findViewById(R.id.translation); + mTranslation.startAnimation(); } } diff --git a/app/src/main/res/layout/activity_test_gesture.xml b/app/src/main/res/layout/activity_test_gesture.xml index 8741c07..8f25b55 100644 --- a/app/src/main/res/layout/activity_test_gesture.xml +++ b/app/src/main/res/layout/activity_test_gesture.xml @@ -2,6 +2,7 @@ @@ -26,4 +27,14 @@ android:layout_margin="30dp" android:layout_below="@id/single_tap" /> + + diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java index 6e26a0c..09b85f9 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java @@ -5,6 +5,7 @@ import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.ScaleAnimation; +import android.view.animation.TranslateAnimation; import static org.literacyapp.handgesture.Constants.DEFAULT_ANIMATION_DELAY; import static org.literacyapp.handgesture.Constants.MILLISECONDS; @@ -26,6 +27,18 @@ public class AnimationHelper implements Animation.AnimationListener { public AnimationHelper(Context context, int idAnim, HandGestureListener handGestureListener) { mAnimation = AnimationUtils.loadAnimation(context, idAnim); + + initAnimationListeners(handGestureListener); + } + + public AnimationHelper(int translateX, int translateY, HandGestureListener handGestureListener) { + mAnimation = new TranslateAnimation(0, translateX, 0, translateY); + mAnimation.setDuration(DEFAULT_ANIMATION_DELAY*MILLISECONDS);// TODO: 27/05/2017 custom animation duration + + initAnimationListeners(handGestureListener); + } + + private void initAnimationListeners(HandGestureListener handGestureListener) { mAnimation.setAnimationListener(this); mHandGestureListener = handGestureListener; diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java b/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java index d31c65e..584fdf8 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java @@ -11,4 +11,6 @@ public class Constants { public static final long SCALE_DURATION = 500; //milliseconds public static final float SCALE_FACTOR = 0.9f; + + public static final int TRANSLATION = 7;// TODO: 27/05/2017 move to Gestures } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/Gestures.java b/handgesture/src/main/java/org/literacyapp/handgesture/Gestures.java index 735fdae..240346c 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/Gestures.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/Gestures.java @@ -11,6 +11,7 @@ public class Gestures { public static HandGesture SINGLE_TAP = HandGesture.SINGLE_TAP; public static HandGesture DOUBLE_TAP = HandGesture.DOUBLE_TAP; public static HandGesture PRESS_AND_HOLD = HandGesture.PRESS_AND_HOLD; + public static HandGesture TRANSLATION = HandGesture.TRANSLATION; protected enum HandGesture { MOVE_UP(R.anim.slide_up), @@ -19,20 +20,30 @@ protected enum HandGesture { MOVE_RIGHT(R.anim.slide_right), SINGLE_TAP(0), DOUBLE_TAP(0), - PRESS_AND_HOLD(0); + PRESS_AND_HOLD(0), + TRANSLATION(true); private int idAnim; + private boolean customTranslation = false; HandGesture(int idAnim) { this.idAnim = idAnim; } + HandGesture(boolean translation) { + this.customTranslation = translation; + } + public int getAnimationResource() { return idAnim; } public boolean isTranslation() { - return idAnim > 0; + return (idAnim > 0) || customTranslation; + } + + public boolean isCustomTranslation() { + return customTranslation; } } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index e8dd750..4616ed5 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -34,6 +34,9 @@ public class HandView extends RelativeLayout implements HandGestureListener { private boolean mRepeatAnimation = true; //Delay in seconds private int mAnimationDelay; + private int mTranslateX; + private int mTranslateY; + //Flag for double touch gesture private boolean firstTouch = true; private boolean mDetectTouchEvent; @@ -63,6 +66,11 @@ private void init(Context context, AttributeSet attrs) { mRepeatAnimation = typedArray.getBoolean(R.styleable.HandView_repeatAnimation, mRepeatAnimation); mAnimationDelay = typedArray.getInt(R.styleable.HandView_animationDelay, 1); + if (Constants.TRANSLATION == mAnimationType) { + mTranslateX = typedArray.getInt(R.styleable.HandView_translateX, 0); + mTranslateY = typedArray.getInt(R.styleable.HandView_translateY, 0); + } + typedArray.recycle(); } } @@ -91,10 +99,12 @@ public void startAnimation() { if (mAnimationType >= 0) { HandGesture gesture = Gestures.getHandGesture(mAnimationType); - if (gesture.isTranslation()) { - startAnimation(Gestures.getAnimationResource(mAnimationType)); - } else { + if (!gesture.isTranslation()) { startGesture(gesture); + } else if (gesture.isCustomTranslation()) { + startCustomAnimation(); + } else { + startAnimation(Gestures.getAnimationResource(mAnimationType)); } } else { Log.e(getClass().getName(), "Animation type not set"); @@ -102,10 +112,12 @@ public void startAnimation() { } public void startAnimation(HandGesture handAnimation) { - if (handAnimation.isTranslation()) { - startAnimation(handAnimation.getAnimationResource()); - } else { + if (!handAnimation.isTranslation()) { startGesture(handAnimation); + } else if (handAnimation.isCustomTranslation()) { + startCustomAnimation(); + } else { + startAnimation(handAnimation.getAnimationResource()); } } @@ -116,6 +128,13 @@ public void startAnimation(int idAnimResource) { mAnimationHelper.animateView(this, mAnimationDelay); } + private void startCustomAnimation() { + mDetectTouchEvent = false; + mAnimationHelper = new AnimationHelper(mTranslateX, mTranslateY, this); + mAnimationHelper.setRepeatMode(mRepeatAnimation); + mAnimationHelper.animateView(this, mAnimationDelay); + } + public void stopAnimation() { mHideOnTouch = true; onTouchEvent(null); diff --git a/handgesture/src/main/res/values/attrs.xml b/handgesture/src/main/res/values/attrs.xml index c6ae6c6..fc83e35 100644 --- a/handgesture/src/main/res/values/attrs.xml +++ b/handgesture/src/main/res/values/attrs.xml @@ -13,6 +13,7 @@ + @@ -20,5 +21,10 @@ + + + + + \ No newline at end of file From eb218fdc3b99b46934dd30291d06972ad3ec8e36 Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 27 May 2017 21:29:01 +0200 Subject: [PATCH 10/13] Duration of custom translation --- app/src/main/res/layout/activity_test_gesture.xml | 3 ++- .../java/org/literacyapp/handgesture/AnimationHelper.java | 4 ++-- .../src/main/java/org/literacyapp/handgesture/HandView.java | 4 +++- handgesture/src/main/res/values/attrs.xml | 4 +++- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/src/main/res/layout/activity_test_gesture.xml b/app/src/main/res/layout/activity_test_gesture.xml index 8f25b55..7e83263 100644 --- a/app/src/main/res/layout/activity_test_gesture.xml +++ b/app/src/main/res/layout/activity_test_gesture.xml @@ -35,6 +35,7 @@ android:layout_below="@id/press_and_hold" app:animationType="translation" app:translateX="300" - app:translateY="-100"/> + app:translateY="-100" + app:duration="2.5"/> diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java index 09b85f9..cab8d66 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/AnimationHelper.java @@ -31,9 +31,9 @@ public AnimationHelper(Context context, int idAnim, HandGestureListener handGest initAnimationListeners(handGestureListener); } - public AnimationHelper(int translateX, int translateY, HandGestureListener handGestureListener) { + public AnimationHelper(int translateX, int translateY, float duration, HandGestureListener handGestureListener) { mAnimation = new TranslateAnimation(0, translateX, 0, translateY); - mAnimation.setDuration(DEFAULT_ANIMATION_DELAY*MILLISECONDS);// TODO: 27/05/2017 custom animation duration + mAnimation.setDuration((long) (duration * MILLISECONDS)); initAnimationListeners(handGestureListener); } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index 4616ed5..975bf5e 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -36,6 +36,7 @@ public class HandView extends RelativeLayout implements HandGestureListener { private int mAnimationDelay; private int mTranslateX; private int mTranslateY; + private float mTranslationDuration; //Flag for double touch gesture private boolean firstTouch = true; @@ -69,6 +70,7 @@ private void init(Context context, AttributeSet attrs) { if (Constants.TRANSLATION == mAnimationType) { mTranslateX = typedArray.getInt(R.styleable.HandView_translateX, 0); mTranslateY = typedArray.getInt(R.styleable.HandView_translateY, 0); + mTranslationDuration = typedArray.getFloat(R.styleable.HandView_duration, 1); } typedArray.recycle(); @@ -130,7 +132,7 @@ public void startAnimation(int idAnimResource) { private void startCustomAnimation() { mDetectTouchEvent = false; - mAnimationHelper = new AnimationHelper(mTranslateX, mTranslateY, this); + mAnimationHelper = new AnimationHelper(mTranslateX, mTranslateY, mTranslationDuration, this); mAnimationHelper.setRepeatMode(mRepeatAnimation); mAnimationHelper.animateView(this, mAnimationDelay); } diff --git a/handgesture/src/main/res/values/attrs.xml b/handgesture/src/main/res/values/attrs.xml index fc83e35..896dd7c 100644 --- a/handgesture/src/main/res/values/attrs.xml +++ b/handgesture/src/main/res/values/attrs.xml @@ -22,9 +22,11 @@ - + + + \ No newline at end of file From 160e5d58a6f3a824bba19d97fef26389a8a55502 Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 27 May 2017 21:30:14 +0200 Subject: [PATCH 11/13] Added custom translation to readme file --- handgesture/README.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/handgesture/README.md b/handgesture/README.md index 5e82624..fc64423 100644 --- a/handgesture/README.md +++ b/handgesture/README.md @@ -2,7 +2,7 @@ ### HandView attributes -**animationType**: `moveUp`, `moveDown`, `moveLeft`, `moveRight`, `singleTouch`, `doubleTouch`, `pressAndHold` +**animationType**: `moveUp`, `moveDown`, `moveLeft`, `moveRight`, `singleTouch`, `doubleTouch`, `pressAndHold`, `translation` **hideOnTouch**: Hide view when touching screen. Default: `true` @@ -10,6 +10,12 @@ **animationDelay**: Animation delay in seconds. Default: 1 second +**translateX** (only for ```animationType="translation"```): Translation in X coordinate from initial hand position. + +**translatey** (only for ```animationType="translation"```): Translation in Y coordinate from initial hand position. + +**duration** (only for ```animationType="translation"```): Duration of hand translation in seconds. Default: 1 second. + ``` +``` +``` +HandView mHandView = (HandView) findViewById(R.id.hand_view); +mHandView.startAnimation(); +``` \ No newline at end of file From 5053a721d3dcc04efaf633ace672694373b65462 Mon Sep 17 00:00:00 2001 From: gsc Date: Sat, 27 May 2017 21:43:32 +0200 Subject: [PATCH 12/13] Deleted constant Translation --- .../src/main/java/org/literacyapp/handgesture/Constants.java | 2 -- .../src/main/java/org/literacyapp/handgesture/HandView.java | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java b/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java index 584fdf8..d31c65e 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/Constants.java @@ -11,6 +11,4 @@ public class Constants { public static final long SCALE_DURATION = 500; //milliseconds public static final float SCALE_FACTOR = 0.9f; - - public static final int TRANSLATION = 7;// TODO: 27/05/2017 move to Gestures } diff --git a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java index 975bf5e..af0c603 100644 --- a/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java +++ b/handgesture/src/main/java/org/literacyapp/handgesture/HandView.java @@ -67,7 +67,7 @@ private void init(Context context, AttributeSet attrs) { mRepeatAnimation = typedArray.getBoolean(R.styleable.HandView_repeatAnimation, mRepeatAnimation); mAnimationDelay = typedArray.getInt(R.styleable.HandView_animationDelay, 1); - if (Constants.TRANSLATION == mAnimationType) { + if (mAnimationType == Gestures.TRANSLATION.ordinal()) { mTranslateX = typedArray.getInt(R.styleable.HandView_translateX, 0); mTranslateY = typedArray.getInt(R.styleable.HandView_translateY, 0); mTranslationDuration = typedArray.getFloat(R.styleable.HandView_duration, 1); From 771268c46ee60ac536b2809786b447844ba0db61 Mon Sep 17 00:00:00 2001 From: gsc Date: Mon, 29 May 2017 00:15:15 +0200 Subject: [PATCH 13/13] Detect exit full screen gesture --- app/src/main/AndroidManifest.xml | 2 +- .../{swipe => }/ExitFullScreenActivity.java | 16 +++++++++++++--- .../content/swipe/SwipeRightLeftActivity.java | 1 + .../res/layout/activity_exit_full_screen.xml | 8 ++++---- 4 files changed, 19 insertions(+), 8 deletions(-) rename app/src/main/java/org/literacyapp/startguide/content/{swipe => }/ExitFullScreenActivity.java (89%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6c442a6..ff9bdf1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -24,7 +24,7 @@ android:name=".content.swipe.SwipeRightLeftActivity" android:noHistory="true"/> + tools:context="org.literacyapp.startguide.content.ExitFullScreenActivity">