Skip to content
Snippets Groups Projects
Unverified Commit 9eae40b4 authored by Chilja Gossow's avatar Chilja Gossow Committed by GitHub
Browse files

Show keyboard (EXPOSUREAPP-4397) #1937


* show keyboard on default
start with capital letter

* show keyboard on default
start with capital letter

Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
Co-authored-by: default avatarRalf Gehrer <ralfgehrer@users.noreply.github.com>
parent dfdbd20d
No related branches found
No related tags found
No related merge requests found
...@@ -80,7 +80,8 @@ ...@@ -80,7 +80,8 @@
android:name=".contactdiary.ui.ContactDiaryActivity" android:name=".contactdiary.ui.ContactDiaryActivity"
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/AppTheme.ContactDiary" /> android:theme="@style/AppTheme.ContactDiary"
android:windowSoftInputMode="adjustResize|stateAlwaysHidden"/>
</application> </application>
......
...@@ -9,6 +9,8 @@ import androidx.core.widget.doAfterTextChanged ...@@ -9,6 +9,8 @@ import androidx.core.widget.doAfterTextChanged
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.contactdiary.util.hideKeyboard
import de.rki.coronawarnapp.contactdiary.util.showKeyboard
import de.rki.coronawarnapp.databinding.ContactDiaryLocationBottomSheetFragmentBinding import de.rki.coronawarnapp.databinding.ContactDiaryLocationBottomSheetFragmentBinding
import de.rki.coronawarnapp.util.DialogHelper import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.di.AutoInject
...@@ -51,7 +53,7 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment( ...@@ -51,7 +53,7 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment(
} }
} }
binding.contactDiaryLocationBottomSheetCloseButton.buttonIcon.setOnClickListener { binding.contactDiaryLocationBottomSheetCloseButton.setOnClickListener {
viewModel.closePressed() viewModel.closePressed()
} }
...@@ -69,6 +71,8 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment( ...@@ -69,6 +71,8 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment(
} }
} }
binding.contactDiaryLocationBottomSheetTextInputEditText.showKeyboard()
viewModel.shouldClose.observe2(this) { viewModel.shouldClose.observe2(this) {
dismiss() dismiss()
} }
...@@ -79,6 +83,11 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment( ...@@ -79,6 +83,11 @@ class ContactDiaryLocationBottomSheetDialogFragment : BottomSheetDialogFragment(
} }
} }
override fun onPause() {
super.onPause()
hideKeyboard()
}
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null
......
...@@ -9,6 +9,8 @@ import androidx.core.widget.doAfterTextChanged ...@@ -9,6 +9,8 @@ import androidx.core.widget.doAfterTextChanged
import androidx.navigation.fragment.navArgs import androidx.navigation.fragment.navArgs
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.contactdiary.util.hideKeyboard
import de.rki.coronawarnapp.contactdiary.util.showKeyboard
import de.rki.coronawarnapp.databinding.ContactDiaryPersonBottomSheetFragmentBinding import de.rki.coronawarnapp.databinding.ContactDiaryPersonBottomSheetFragmentBinding
import de.rki.coronawarnapp.util.DialogHelper import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.di.AutoInject
...@@ -51,7 +53,7 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(), ...@@ -51,7 +53,7 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(),
} }
} }
binding.contactDiaryPersonBottomSheetCloseButton.buttonIcon.setOnClickListener { binding.contactDiaryPersonBottomSheetCloseButton.setOnClickListener {
viewModel.closePressed() viewModel.closePressed()
} }
...@@ -69,6 +71,8 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(), ...@@ -69,6 +71,8 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(),
} }
} }
binding.contactDiaryPersonBottomSheetTextInputEditText.showKeyboard()
viewModel.shouldClose.observe2(this) { viewModel.shouldClose.observe2(this) {
dismiss() dismiss()
} }
...@@ -79,6 +83,11 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(), ...@@ -79,6 +83,11 @@ class ContactDiaryPersonBottomSheetDialogFragment : BottomSheetDialogFragment(),
} }
} }
override fun onPause() {
super.onPause()
hideKeyboard()
}
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null
......
package de.rki.coronawarnapp.contactdiary.util package de.rki.coronawarnapp.contactdiary.util
import android.content.Context
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import androidx.fragment.app.Fragment
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
fun ViewPager2.registerOnPageChangeCallback(cb: (position: Int) -> Unit) { fun ViewPager2.registerOnPageChangeCallback(cb: (position: Int) -> Unit) {
...@@ -9,3 +13,15 @@ fun ViewPager2.registerOnPageChangeCallback(cb: (position: Int) -> Unit) { ...@@ -9,3 +13,15 @@ fun ViewPager2.registerOnPageChangeCallback(cb: (position: Int) -> Unit) {
} }
}) })
} }
fun EditText.showKeyboard() = post {
if (requestFocus()) context.inputMethodManager.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
}
fun Fragment.hideKeyboard() {
context?.inputMethodManager?.hideSoftInputFromWindow(activity?.currentFocus?.windowToken, 0)
view?.clearFocus()
}
private val Context.inputMethodManager
get() = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
...@@ -5,17 +5,17 @@ ...@@ -5,17 +5,17 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<include <ImageView
android:id="@+id/contact_diary_location_bottom_sheet_close_button" android:id="@+id/contact_diary_location_bottom_sheet_close_button"
layout="@layout/include_button_icon" android:layout_width="@dimen/circle_icon_big"
android:layout_width="wrap_content" android:layout_height="@dimen/circle_icon_big"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal" android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_small" android:layout_marginTop="@dimen/spacing_small"
app:icon="@{@drawable/ic_close}" android:src="@drawable/ic_close"
app:iconDescription="@{@string/accessibility_close}" android:contentDescription="@string/accessibility_close"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
style="@style/buttonIcon" />
<TextView <TextView
android:id="@+id/contact_diary_location_bottom_sheet_title" android:id="@+id/contact_diary_location_bottom_sheet_title"
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
android:id="@+id/contact_diary_location_bottom_sheet_text_input_edit_text" android:id="@+id/contact_diary_location_bottom_sheet_text_input_edit_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="text" android:inputType="textCapWords"
android:imeOptions="actionDone"/> android:imeOptions="actionDone"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
......
...@@ -5,17 +5,17 @@ ...@@ -5,17 +5,17 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<include <ImageView
android:id="@+id/contact_diary_person_bottom_sheet_close_button" android:id="@+id/contact_diary_person_bottom_sheet_close_button"
layout="@layout/include_button_icon" android:layout_width="@dimen/circle_icon_big"
android:layout_width="wrap_content" android:layout_height="@dimen/circle_icon_big"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_normal" android:layout_marginStart="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_small" android:layout_marginTop="@dimen/spacing_small"
app:icon="@{@drawable/ic_close}" android:src="@drawable/ic_close"
app:iconDescription="@{@string/accessibility_close}" android:contentDescription="@string/accessibility_close"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent"
style="@style/buttonIcon" />
<TextView <TextView
android:id="@+id/contact_diary_person_bottom_sheet_title" android:id="@+id/contact_diary_person_bottom_sheet_title"
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
android:id="@+id/contact_diary_person_bottom_sheet_text_input_edit_text" android:id="@+id/contact_diary_person_bottom_sheet_text_input_edit_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="text" android:inputType="textCapWords"
android:imeOptions="actionDone"/> android:imeOptions="actionDone"/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment