From 7cf654ec194971c084f770102e37febd308ddfb5 Mon Sep 17 00:00:00 2001 From: Piotr Zawadzki Date: Thu, 4 May 2017 15:35:04 +0200 Subject: [PATCH] * Fixed an issue where tab navigation should be disabled when using 'tabs' stepper feedback & disabled tab navigation attribute (issue #105). * Updated Android Support Library to 25.3.1 * Updated library version to 3.2.1 --- README.md | 2 +- build.gradle | 2 +- gradle.properties | 2 +- .../com/stepstone/stepper/StepperLayout.java | 16 ++++++++++------ .../feedback/TabsStepperFeedbackType.java | 5 ++++- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 9217eae..c53abff 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ Moreover, you can find there other examples, e.g. how to persist state on rotati ### Download (from JCenter) ```groovy -compile 'com.stepstone.stepper:material-stepper:3.2.0' +compile 'com.stepstone.stepper:material-stepper:3.2.1' ``` ### Create layout in XML diff --git a/build.gradle b/build.gradle index 8b3daab..c6a865a 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ configure(allprojects) { androidTargetSdkVersion = 25 androidCompileSdkVersion = 25 androidBuildToolsVersion = "25.0.2" - androidSupportLibraryVersion = "25.2.0" + androidSupportLibraryVersion = "25.3.1" junitVersion = "4.12" mockitoVersion = "1.10.19" diff --git a/gradle.properties b/gradle.properties index b0502bf..215a591 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,4 +19,4 @@ POM_GROUP_ID=com.stepstone.stepper POM_ARTIFACT_ID=material-stepper -POM_VERSION=3.2.0 \ No newline at end of file +POM_VERSION=3.2.1 \ No newline at end of file diff --git a/material-stepper/src/main/java/com/stepstone/stepper/StepperLayout.java b/material-stepper/src/main/java/com/stepstone/stepper/StepperLayout.java index 09d7ab9..89a8c74 100644 --- a/material-stepper/src/main/java/com/stepstone/stepper/StepperLayout.java +++ b/material-stepper/src/main/java/com/stepstone/stepper/StepperLayout.java @@ -539,20 +539,24 @@ public void updateErrorFlag(boolean hasError) { } /** - * Shows a progress indicator. This does not have to be a progress bar and it depends on chosen stepper feedback types. + * Shows a progress indicator if not already shown. This does not have to be a progress bar and it depends on chosen stepper feedback types. * @param progressMessage optional progress message if supported by the selected types */ public void showProgress(@NonNull String progressMessage) { - mInProgress = true; - mStepperFeedbackType.showProgress(progressMessage); + if (!mInProgress) { + mStepperFeedbackType.showProgress(progressMessage); + mInProgress = true; + } } /** - * Hides the progress indicator. + * Hides the progress indicator if visible. */ public void hideProgress() { - mInProgress = false; - mStepperFeedbackType.hideProgress(); + if (mInProgress) { + mInProgress = false; + mStepperFeedbackType.hideProgress(); + } } /** diff --git a/material-stepper/src/main/java/com/stepstone/stepper/internal/feedback/TabsStepperFeedbackType.java b/material-stepper/src/main/java/com/stepstone/stepper/internal/feedback/TabsStepperFeedbackType.java index d5a0ed0..3153027 100644 --- a/material-stepper/src/main/java/com/stepstone/stepper/internal/feedback/TabsStepperFeedbackType.java +++ b/material-stepper/src/main/java/com/stepstone/stepper/internal/feedback/TabsStepperFeedbackType.java @@ -38,6 +38,8 @@ public class TabsStepperFeedbackType implements StepperFeedbackType { private final float mProgressMessageTranslationWhenHidden; + private boolean mTabNavigationEnabled; + private TextView mProgressMessageTextView; private View mTabs; @@ -54,6 +56,7 @@ public TabsStepperFeedbackType(@NonNull StepperLayout stepperLayout) { @Override public void showProgress(@NonNull String progressMessage) { + mTabNavigationEnabled = mStepperLayout.isTabNavigationEnabled(); setTabNavigationEnabled(false); mProgressMessageTextView.setText(progressMessage); mProgressMessageTextView.animate() @@ -70,7 +73,7 @@ public void showProgress(@NonNull String progressMessage) { @Override public void hideProgress() { - setTabNavigationEnabled(true); + setTabNavigationEnabled(mTabNavigationEnabled); mProgressMessageTextView.animate() .setStartDelay(0)