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