Skip to content

Commit 1a4ad8d

Browse files
committed
Avoid reapplying insets (remove extra paddings)
1 parent a25a3e5 commit 1a4ad8d

File tree

1 file changed

+38
-16
lines changed

1 file changed

+38
-16
lines changed

app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ import android.telephony.PhoneNumberUtils
1818
import android.view.View
1919
import android.view.ViewGroup
2020
import 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
2225
import androidx.core.content.ContextCompat
2326
import androidx.core.view.WindowInsetsCompat
2427
import androidx.core.widget.doAfterTextChanged
@@ -40,16 +43,29 @@ import com.simplemobiletools.contacts.pro.dialogs.CustomLabelDialog
4043
import com.simplemobiletools.contacts.pro.dialogs.ManageVisibleFieldsDialog
4144
import com.simplemobiletools.contacts.pro.dialogs.MyDatePickerDialog
4245
import 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
4553
import 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

5470
class 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

Comments
 (0)