Skip to content

Commit 1f82323

Browse files
authored
Fix site creation illegal state (#21670)
* Only call showKeyboard when true * Only call showKeyboard when requestFocus succeeded * Minor formatting change * Removed force showing of keyboard * Renamed showKeyboard to focusSearch
1 parent 32501d0 commit 1f82323

File tree

3 files changed

+3
-17
lines changed

3 files changed

+3
-17
lines changed

WordPress/src/main/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsFragment.kt

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package org.wordpress.android.ui.sitecreation.domains
22

33
import android.content.Context
44
import android.os.Bundle
5-
import android.os.Handler
6-
import android.os.Looper
75
import android.text.Editable
86
import android.text.TextWatcher
97
import android.view.View
@@ -29,7 +27,6 @@ import org.wordpress.android.ui.sitecreation.misc.OnHelpClickedListener
2927
import org.wordpress.android.ui.sitecreation.misc.SiteCreationHeaderUiState
3028
import org.wordpress.android.ui.sitecreation.misc.SiteCreationSearchInputUiState
3129
import org.wordpress.android.ui.utils.UiHelpers
32-
import org.wordpress.android.util.ActivityUtils
3330
import org.wordpress.android.util.DisplayUtilsWrapper
3431
import javax.inject.Inject
3532

@@ -148,7 +145,6 @@ class SiteCreationDomainsFragment : SiteCreationBaseFormFragment() {
148145
private val progressBar = rootView.findViewById<View>(R.id.progress_bar)
149146
private val clearAllLayout = rootView.findViewById<View>(R.id.clear_all_layout)
150147
private val divider = rootView.findViewById<View>(R.id.divider)
151-
private val showKeyboardHandler = Handler(Looper.getMainLooper())
152148

153149
var onTextChanged: ((String) -> Unit)? = null
154150

@@ -192,24 +188,14 @@ class SiteCreationDomainsFragment : SiteCreationBaseFormFragment() {
192188
uiHelpers.updateVisibility(progressBar, uiState.showProgress)
193189
uiHelpers.updateVisibility(clearAllLayout, uiState.showClearButton)
194190
uiHelpers.updateVisibility(divider, uiState.showDivider)
195-
showKeyboard(uiState.showKeyboard)
196-
}
197-
198-
private fun showKeyboard(shouldShow: Boolean) {
199-
if (shouldShow) {
191+
if (uiState.focusSearch) {
200192
searchInput.requestFocus()
201-
/**
202-
* This workaround handles the case where the SiteCreationDomainsFragment appears after the
203-
* DesignPreviewFragment dismisses and the keyboard fails to appear
204-
*/
205-
showKeyboardHandler.postDelayed({ ActivityUtils.showKeyboard(searchInput) }, SHOW_KEYBOARD_DELAY)
206193
}
207194
}
208195
}
209196

210197
companion object {
211198
const val TAG = "site_creation_domains_fragment_tag"
212-
const val SHOW_KEYBOARD_DELAY = 200L
213199

214200
fun newInstance(screenTitle: String): SiteCreationDomainsFragment {
215201
val fragment = SiteCreationDomainsFragment()

WordPress/src/main/java/org/wordpress/android/ui/sitecreation/domains/SiteCreationDomainsViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ private fun createSearchInputUiState(
397397
showProgress = showProgress,
398398
showClearButton = showClearButton,
399399
showDivider = showDivider,
400-
showKeyboard = true
400+
focusSearch = true
401401
)
402402
}
403403

WordPress/src/main/java/org/wordpress/android/ui/sitecreation/misc/SiteCreationSearchInputUiState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ data class SiteCreationSearchInputUiState(
77
val showProgress: Boolean,
88
val showClearButton: Boolean,
99
val showDivider: Boolean,
10-
val showKeyboard: Boolean
10+
val focusSearch: Boolean
1111
)

0 commit comments

Comments
 (0)