diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SiteCreationActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SiteCreationActivity.java index c0d406b2be4b..1b2bebb0b299 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SiteCreationActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SiteCreationActivity.java @@ -112,7 +112,8 @@ private void launchHelpshift(HelpshiftHelper.Tag origin) { private enum SiteCreationBackStackMode { NORMAL, MODAL, - FINISH_OK + FINISH_OK, + FINISH_DISMISS } private SiteCreationBackStackMode getSiteCreationBackStackMode() { @@ -120,14 +121,14 @@ private SiteCreationBackStackMode getSiteCreationBackStackMode() { (SiteCreationCreatingFragment) getSupportFragmentManager() .findFragmentByTag(SiteCreationCreatingFragment.TAG); - if (siteCreationCreatingFragment == null) { + if (siteCreationCreatingFragment == null || siteCreationCreatingFragment.canGoBack()) { return SiteCreationBackStackMode.NORMAL; } else if (siteCreationCreatingFragment.isInModalMode()) { return SiteCreationBackStackMode.MODAL; } else if (siteCreationCreatingFragment.isCreationSucceeded()) { return SiteCreationBackStackMode.FINISH_OK; } else { - return SiteCreationBackStackMode.NORMAL; + return SiteCreationBackStackMode.FINISH_DISMISS; } } @@ -144,6 +145,9 @@ public void onBackPressed() { setResult(RESULT_OK); finish(); break; + case FINISH_DISMISS: + finish(); + break; } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationBaseFormFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationBaseFormFragment.java index 299dcbb56972..a1451e02b75d 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationBaseFormFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationBaseFormFragment.java @@ -78,10 +78,13 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { } } - protected void showHomeButton(boolean visible) { + protected void showHomeButton(boolean visible, boolean isCloseButton) { ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar(); if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(visible); + if (isCloseButton) { + actionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp); + } } } diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationCreatingFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationCreatingFragment.java index 2a7a086b17a0..dcf6f29dcfbd 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationCreatingFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SiteCreationCreatingFragment.java @@ -16,6 +16,7 @@ import org.wordpress.android.R; import org.wordpress.android.analytics.AnalyticsTracker; import org.wordpress.android.ui.accounts.signup.SiteCreationService.SiteCreationState; +import org.wordpress.android.ui.accounts.signup.SiteCreationService.SiteCreationStep; import org.wordpress.android.util.AppLog; import org.wordpress.android.util.AppLog.T; import org.wordpress.android.util.AutoForeground.ServiceEventConnection; @@ -29,8 +30,6 @@ public class SiteCreationCreatingFragment extends SiteCreationBaseFormFragment SiteCreationStep.NEW_SITE.ordinal(); + } } private static class SiteCreationNotification { @@ -183,6 +188,10 @@ public static void clearSiteCreationServiceState() { clearServiceState(SiteCreationState.class); } + public static SiteCreationState getState() { + return getState(SiteCreationState.class); + } + public SiteCreationService() { super(new SiteCreationState(SiteCreationStep.IDLE, null)); } diff --git a/libs/login/WordPressLoginFlow/build.gradle b/libs/login/WordPressLoginFlow/build.gradle index b7bc77a5e230..e8e091b8a2ac 100644 --- a/libs/login/WordPressLoginFlow/build.gradle +++ b/libs/login/WordPressLoginFlow/build.gradle @@ -32,7 +32,7 @@ android { } dependencies { - compile ('org.wordpress:utils:1.20.0-beta5') { + compile ('org.wordpress:utils:1.20.0-beta6') { exclude group: "com.mcxiaoke.volley" } diff --git a/libs/utils/WordPressUtils/build.gradle b/libs/utils/WordPressUtils/build.gradle index c45934362e85..014e57bf94a5 100644 --- a/libs/utils/WordPressUtils/build.gradle +++ b/libs/utils/WordPressUtils/build.gradle @@ -34,7 +34,7 @@ android { buildToolsVersion "25.0.3" defaultConfig { - versionName "1.20.0-beta5" + versionName "1.20.0-beta6" minSdkVersion 15 targetSdkVersion 25 } diff --git a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/AutoForeground.java b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/AutoForeground.java index 6c98fd80a9a2..14d462b6ee59 100644 --- a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/AutoForeground.java +++ b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/AutoForeground.java @@ -89,8 +89,14 @@ public boolean isForeground() { return mIsForeground; } - protected StateClass getState() { - return EventBus.getDefault().getStickyEvent(mStateClass); + @Nullable + private StateClass getState() { + return getState(mStateClass); + } + + @Nullable + protected static StateClass getState(Class stateClass) { + return EventBus.getDefault().getStickyEvent(stateClass); } @Nullable