diff --git a/build.gradle b/build.gradle
index 4872fdf..d09744f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:1.5.0'
+ classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 122a0dc..85d1614 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Dec 28 10:00:20 PST 2015
+#Thu Jun 15 11:14:36 MYT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
diff --git a/materialintro/build.gradle b/materialintro/build.gradle
index 876f9ab..0a07783 100644
--- a/materialintro/build.gradle
+++ b/materialintro/build.gradle
@@ -1,12 +1,12 @@
apply plugin: 'com.android.library'
android {
- compileSdkVersion 23
- buildToolsVersion "23.0.2"
+ compileSdkVersion 25
+ buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 14
- targetSdkVersion 23
+ targetSdkVersion 25
versionCode 1
versionName "1.0"
}
@@ -21,7 +21,6 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.1.1'
- compile 'com.android.support:cardview-v7:23.1.0'
+ compile 'com.android.support:appcompat-v7:25.3.1'
+ compile 'com.android.support:cardview-v7:25.3.1'
}
diff --git a/materialintro/src/androidTest/java/co/mobiwise/materialintro/ApplicationTest.java b/materialintro/src/androidTest/java/co/mobiwise/materialintro/ApplicationTest.java
deleted file mode 100644
index 6dd7113..0000000
--- a/materialintro/src/androidTest/java/co/mobiwise/materialintro/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package co.mobiwise.materialintro;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/materialintro/src/main/AndroidManifest.xml b/materialintro/src/main/AndroidManifest.xml
index 9324cc5..4f8d371 100644
--- a/materialintro/src/main/AndroidManifest.xml
+++ b/materialintro/src/main/AndroidManifest.xml
@@ -1,12 +1,3 @@
-
-
-
-
-
+
diff --git a/materialintro/src/main/java/co/mobiwise/materialintro/MaterialIntroConfiguration.java b/materialintro/src/main/java/co/mobiwise/materialintro/MaterialIntroConfiguration.java
index b244b03..984423b 100644
--- a/materialintro/src/main/java/co/mobiwise/materialintro/MaterialIntroConfiguration.java
+++ b/materialintro/src/main/java/co/mobiwise/materialintro/MaterialIntroConfiguration.java
@@ -21,6 +21,8 @@ public class MaterialIntroConfiguration {
private boolean dismissOnTouch;
+ private boolean dismissOnBackPress;
+
private int colorTextViewInfo;
private boolean isDotViewEnabled;
@@ -96,6 +98,14 @@ public void setDismissOnTouch(boolean dismissOnTouch) {
this.dismissOnTouch = dismissOnTouch;
}
+ public boolean isDismissOnBackPress() {
+ return dismissOnBackPress;
+ }
+
+ public void setDismissOnBackPress(boolean dismissOnBackPress) {
+ this.dismissOnBackPress = dismissOnBackPress;
+ }
+
public int getColorTextViewInfo() {
return colorTextViewInfo;
}
diff --git a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java
index 2f5afe2..6b646e4 100644
--- a/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java
+++ b/materialintro/src/main/java/co/mobiwise/materialintro/view/MaterialIntroView.java
@@ -14,6 +14,7 @@
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
@@ -130,6 +131,7 @@ public class MaterialIntroView extends RelativeLayout {
* Dismiss on touch any position
*/
private boolean dismissOnTouch;
+ private boolean dismissOnBackPress;
/**
* Info dialog view
@@ -259,6 +261,7 @@ private void init(Context context) {
isReady = false;
isFadeAnimationEnabled = true;
dismissOnTouch = false;
+ dismissOnBackPress = false;
isLayoutCompleted = false;
isInfoEnabled = false;
isDotViewEnabled = false;
@@ -419,6 +422,9 @@ public void onAnimationStart() {
});
else
setVisibility(VISIBLE);
+ if (dismissOnBackPress) {
+ requestFocus();
+ }
}
}, delayMillis);
@@ -573,6 +579,10 @@ private void setDismissOnTouch(boolean dismissOnTouch) {
this.dismissOnTouch = dismissOnTouch;
}
+ private void setDismissOnBackPress(boolean dismissOnBackPress) {
+ this.dismissOnBackPress = dismissOnBackPress;
+ }
+
private void setFocusGravity(FocusGravity focusGravity) {
this.focusGravity = focusGravity;
}
@@ -606,6 +616,11 @@ private void enableDotView(boolean isDotViewEnabled){
this.isDotViewEnabled = isDotViewEnabled;
}
+ private void enableDismissOnBackPress() {
+ setFocusableInTouchMode(true);
+ setFocusable(true);
+ }
+
public void setConfiguration(MaterialIntroConfiguration configuration) {
if (configuration != null) {
@@ -615,6 +630,7 @@ public void setConfiguration(MaterialIntroConfiguration configuration) {
this.colorTextViewInfo = configuration.getColorTextViewInfo();
this.isDotViewEnabled = configuration.isDotViewEnabled();
this.dismissOnTouch = configuration.isDismissOnTouch();
+ this.dismissOnBackPress = configuration.isDismissOnBackPress();
this.colorTextViewInfo = configuration.getColorTextViewInfo();
this.focusType = configuration.getFocusType();
this.focusGravity = configuration.getFocusGravity();
@@ -710,6 +726,11 @@ public Builder dismissOnTouch(boolean dismissOnTouch) {
return this;
}
+ public Builder dismissOnBackPress(boolean dismissOnBackPress) {
+ materialIntroView.setDismissOnBackPress(dismissOnBackPress);
+ return this;
+ }
+
public Builder setUsageId(String materialIntroViewId) {
materialIntroView.setUsageId(materialIntroViewId);
return this;
@@ -774,6 +795,10 @@ public MaterialIntroView build() {
}
materialIntroView.setShape(shape);
+
+ if (materialIntroView.dismissOnBackPress) {
+ materialIntroView.enableDismissOnBackPress();
+ }
return materialIntroView;
}
@@ -784,4 +809,15 @@ public MaterialIntroView show() {
}
+ @Override
+ public boolean dispatchKeyEvent(KeyEvent event) {
+ if (dismissOnBackPress && event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
+ if (event.getAction() == KeyEvent.ACTION_UP) {
+ dismiss();
+ }
+ return true;
+ }
+ return super.dispatchKeyEvent(event);
+ }
+
}
diff --git a/materialintro/src/test/java/co/mobiwise/materialintro/ExampleUnitTest.java b/materialintro/src/test/java/co/mobiwise/materialintro/ExampleUnitTest.java
deleted file mode 100644
index 450589b..0000000
--- a/materialintro/src/test/java/co/mobiwise/materialintro/ExampleUnitTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package co.mobiwise.materialintro;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * To work on unit tests, switch the Test Artifact in the Build Variants view.
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/sample/build.gradle b/sample/build.gradle
index ea5e823..28cba87 100644
--- a/sample/build.gradle
+++ b/sample/build.gradle
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 23
- buildToolsVersion "23.0.2"
+ compileSdkVersion 25
+ buildToolsVersion "25.0.3"
defaultConfig {
applicationId "co.mobiwise.sample"
minSdkVersion 14
- targetSdkVersion 23
+ targetSdkVersion 25
versionCode 1
versionName "1.0"
}
@@ -21,10 +21,8 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
- testCompile 'junit:junit:4.12'
- compile 'com.android.support:appcompat-v7:23.1.1'
- compile 'com.android.support:design:23.1.1'
- //compile 'com.github.iammert:MaterialIntroView:1.5.1'
+ compile 'com.android.support:appcompat-v7:25.3.1'
+ compile 'com.android.support:design:25.3.1'
compile project(':materialintro')
compile 'com.squareup.picasso:picasso:2.5.2'
}
diff --git a/sample/src/androidTest/java/co/mobiwise/sample/ApplicationTest.java b/sample/src/androidTest/java/co/mobiwise/sample/ApplicationTest.java
deleted file mode 100644
index a9f85ac..0000000
--- a/sample/src/androidTest/java/co/mobiwise/sample/ApplicationTest.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package co.mobiwise.sample;
-
-import android.app.Application;
-import android.test.ApplicationTestCase;
-
-/**
- * Testing Fundamentals
- */
-public class ApplicationTest extends ApplicationTestCase {
- public ApplicationTest() {
- super(Application.class);
- }
-}
\ No newline at end of file
diff --git a/sample/src/test/java/co/mobiwise/sample/ExampleUnitTest.java b/sample/src/test/java/co/mobiwise/sample/ExampleUnitTest.java
deleted file mode 100644
index 3f152c8..0000000
--- a/sample/src/test/java/co/mobiwise/sample/ExampleUnitTest.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package co.mobiwise.sample;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * To work on unit tests, switch the Test Artifact in the Build Variants view.
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file