@@ -18,7 +18,10 @@ import android.telephony.PhoneNumberUtils
1818import android.view.View
1919import android.view.ViewGroup
2020import android.view.WindowManager
21- import android.widget.*
21+ import android.widget.EditText
22+ import android.widget.ImageView
23+ import android.widget.RelativeLayout
24+ import android.widget.TextView
2225import androidx.core.content.ContextCompat
2326import androidx.core.view.WindowInsetsCompat
2427import androidx.core.widget.doAfterTextChanged
@@ -40,16 +43,29 @@ import com.simplemobiletools.contacts.pro.dialogs.CustomLabelDialog
4043import com.simplemobiletools.contacts.pro.dialogs.ManageVisibleFieldsDialog
4144import com.simplemobiletools.contacts.pro.dialogs.MyDatePickerDialog
4245import com.simplemobiletools.contacts.pro.dialogs.SelectGroupsDialog
43- import com.simplemobiletools.contacts.pro.extensions.*
44- import com.simplemobiletools.contacts.pro.helpers.*
46+ import com.simplemobiletools.contacts.pro.extensions.config
47+ import com.simplemobiletools.contacts.pro.extensions.getCachePhotoUri
48+ import com.simplemobiletools.contacts.pro.extensions.showContactSourcePicker
49+ import com.simplemobiletools.contacts.pro.helpers.ADD_NEW_CONTACT_NUMBER
50+ import com.simplemobiletools.contacts.pro.helpers.IS_FROM_SIMPLE_CONTACTS
51+ import com.simplemobiletools.contacts.pro.helpers.KEY_EMAIL
52+ import com.simplemobiletools.contacts.pro.helpers.KEY_NAME
4553import kotlinx.android.synthetic.main.activity_edit_contact.*
46- import kotlinx.android.synthetic.main.item_edit_address.view.*
47- import kotlinx.android.synthetic.main.item_edit_email.view.*
48- import kotlinx.android.synthetic.main.item_edit_group.view.*
49- import kotlinx.android.synthetic.main.item_edit_im.view.*
50- import kotlinx.android.synthetic.main.item_edit_phone_number.view.*
51- import kotlinx.android.synthetic.main.item_edit_website.view.*
52- import kotlinx.android.synthetic.main.item_event.view.*
54+ import kotlinx.android.synthetic.main.item_edit_address.view.contact_address
55+ import kotlinx.android.synthetic.main.item_edit_address.view.contact_address_type
56+ import kotlinx.android.synthetic.main.item_edit_email.view.contact_email
57+ import kotlinx.android.synthetic.main.item_edit_email.view.contact_email_type
58+ import kotlinx.android.synthetic.main.item_edit_group.view.contact_group
59+ import kotlinx.android.synthetic.main.item_edit_group.view.contact_group_remove
60+ import kotlinx.android.synthetic.main.item_edit_im.view.contact_im
61+ import kotlinx.android.synthetic.main.item_edit_im.view.contact_im_type
62+ import kotlinx.android.synthetic.main.item_edit_phone_number.view.contact_number
63+ import kotlinx.android.synthetic.main.item_edit_phone_number.view.contact_number_type
64+ import kotlinx.android.synthetic.main.item_edit_phone_number.view.default_toggle_icon
65+ import kotlinx.android.synthetic.main.item_edit_website.view.contact_website
66+ import kotlinx.android.synthetic.main.item_event.view.contact_event
67+ import kotlinx.android.synthetic.main.item_event.view.contact_event_remove
68+ import kotlinx.android.synthetic.main.item_event.view.contact_event_type
5369
5470class EditContactActivity : ContactActivity () {
5571 private val INTENT_TAKE_PHOTO = 1
@@ -87,12 +103,7 @@ class EditContactActivity : ContactActivity() {
87103 }
88104
89105 contact_wrapper.systemUiVisibility = View .SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
90- onApplyWindowInsets {
91- val insets = it.getInsets(WindowInsetsCompat .Type .ime())
92- contact_scrollview.run {
93- setPadding(paddingLeft, paddingTop, paddingRight, insets.bottom)
94- }
95- }
106+ setupInsets()
96107 setupMenu()
97108
98109 val action = intent.action
@@ -296,6 +307,17 @@ class EditContactActivity : ContactActivity() {
296307 }
297308 }
298309
310+ private fun setupInsets () {
311+ contact_wrapper.setOnApplyWindowInsetsListener { _, insets ->
312+ val windowInsets = WindowInsetsCompat .toWindowInsetsCompat(insets)
313+ val imeInsets = windowInsets.getInsets(WindowInsetsCompat .Type .ime())
314+ contact_scrollview.run {
315+ setPadding(paddingLeft, paddingTop, paddingRight, imeInsets.bottom)
316+ }
317+ insets
318+ }
319+ }
320+
299321 private fun setupMenu () {
300322 (contact_appbar.layoutParams as RelativeLayout .LayoutParams ).topMargin = statusBarHeight
301323 contact_toolbar.menu.apply {
0 commit comments