Skip to content

Commit 978cbe2

Browse files
committed
fix: apply proper system bar colors in contact activities
Refs: #415
1 parent f8e1089 commit 978cbe2

File tree

3 files changed

+116
-12
lines changed

3 files changed

+116
-12
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Fixed
9+
- Fixed invisible navigation bars in contact viewer ([#415])
810

911
## [1.4.0] - 2025-10-29
1012
### Changed
@@ -104,6 +106,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
104106
[#321]: https://github.com/FossifyOrg/Contacts/issues/321
105107
[#339]: https://github.com/FossifyOrg/Contacts/issues/339
106108
[#360]: https://github.com/FossifyOrg/Contacts/issues/360
109+
[#415]: https://github.com/FossifyOrg/Contacts/issues/415
107110

108111
[Unreleased]: https://github.com/FossifyOrg/Contacts/compare/1.4.0...HEAD
109112
[1.4.0]: https://github.com/FossifyOrg/Contacts/compare/1.3.0...1.4.0

app/src/main/kotlin/org/fossify/contacts/activities/ContactActivity.kt

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ import android.graphics.drawable.ColorDrawable
1010
import android.graphics.drawable.Drawable
1111
import android.media.RingtoneManager
1212
import android.net.Uri
13-
import android.provider.ContactsContract.CommonDataKinds.*
13+
import android.provider.ContactsContract.CommonDataKinds.BaseTypes
14+
import android.provider.ContactsContract.CommonDataKinds.Email
15+
import android.provider.ContactsContract.CommonDataKinds.Event
16+
import android.provider.ContactsContract.CommonDataKinds.Im
17+
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal
1418
import android.widget.ImageView
1519
import android.widget.TextView
1620
import com.bumptech.glide.Glide
@@ -23,7 +27,17 @@ import com.bumptech.glide.request.RequestOptions
2327
import com.bumptech.glide.request.target.Target
2428
import org.fossify.commons.dialogs.ConfirmationDialog
2529
import org.fossify.commons.dialogs.RadioGroupDialog
26-
import org.fossify.commons.extensions.*
30+
import org.fossify.commons.extensions.beGone
31+
import org.fossify.commons.extensions.beVisible
32+
import org.fossify.commons.extensions.getContrastColor
33+
import org.fossify.commons.extensions.getNameLetter
34+
import org.fossify.commons.extensions.getProperBackgroundColor
35+
import org.fossify.commons.extensions.insetsController
36+
import org.fossify.commons.extensions.launchSendSMSIntent
37+
import org.fossify.commons.extensions.realScreenSize
38+
import org.fossify.commons.extensions.sendEmailIntent
39+
import org.fossify.commons.extensions.setNavigationBarAppearance
40+
import org.fossify.commons.extensions.showErrorToast
2741
import org.fossify.commons.helpers.ContactsHelper
2842
import org.fossify.commons.helpers.letterBackgroundColors
2943
import org.fossify.commons.models.RadioItem
@@ -32,13 +46,21 @@ import org.fossify.contacts.R
3246
import org.fossify.contacts.extensions.shareContacts
3347

3448
abstract class ContactActivity : SimpleActivity() {
35-
protected val PICK_RINGTONE_INTENT_ID = 1500
36-
protected val INTENT_SELECT_RINGTONE = 600
49+
companion object {
50+
protected const val PICK_RINGTONE_INTENT_ID = 1500
51+
protected const val INTENT_SELECT_RINGTONE = 600
52+
}
3753

3854
protected var contact: Contact? = null
3955
protected var originalRingtone: String? = null
4056
protected var currentContactPhotoPath = ""
4157

58+
override fun onResume() {
59+
super.onResume()
60+
window.insetsController().isAppearanceLightStatusBars = false
61+
window.setNavigationBarAppearance(getProperBackgroundColor())
62+
}
63+
4264
override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {
4365
super.onActivityResult(requestCode, resultCode, resultData)
4466
if (requestCode == PICK_RINGTONE_INTENT_ID && resultCode == RESULT_OK && resultData != null && resultData.dataString != null) {

app/src/main/kotlin/org/fossify/contacts/activities/EditContactActivity.kt

Lines changed: 87 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,112 @@ import android.net.Uri
1212
import android.os.Bundle
1313
import android.os.Handler
1414
import android.provider.ContactsContract.CommonDataKinds
15-
import android.provider.ContactsContract.CommonDataKinds.*
15+
import android.provider.ContactsContract.CommonDataKinds.Im
16+
import android.provider.ContactsContract.CommonDataKinds.Note
17+
import android.provider.ContactsContract.CommonDataKinds.Phone
18+
import android.provider.ContactsContract.CommonDataKinds.StructuredName
19+
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal
20+
import android.provider.ContactsContract.CommonDataKinds.Website
1621
import android.provider.MediaStore
1722
import android.telephony.PhoneNumberUtils
18-
import android.view.View
1923
import android.view.WindowManager
2024
import android.widget.EditText
2125
import android.widget.ImageView
22-
import android.widget.RelativeLayout
2326
import android.widget.TextView
2427
import androidx.core.content.ContextCompat
25-
import androidx.core.view.WindowInsetsCompat
2628
import androidx.core.widget.doAfterTextChanged
2729
import org.fossify.commons.dialogs.ConfirmationAdvancedDialog
2830
import org.fossify.commons.dialogs.RadioGroupDialog
2931
import org.fossify.commons.dialogs.SelectAlarmSoundDialog
30-
import org.fossify.commons.extensions.*
31-
import org.fossify.commons.helpers.*
32+
import org.fossify.commons.extensions.applyColorFilter
33+
import org.fossify.commons.extensions.beGone
34+
import org.fossify.commons.extensions.beInvisible
35+
import org.fossify.commons.extensions.beVisible
36+
import org.fossify.commons.extensions.beVisibleIf
37+
import org.fossify.commons.extensions.checkAppSideloading
38+
import org.fossify.commons.extensions.getCachePhoto
39+
import org.fossify.commons.extensions.getContactPublicUri
40+
import org.fossify.commons.extensions.getContactUriRawId
41+
import org.fossify.commons.extensions.getDateTimeFromDateString
42+
import org.fossify.commons.extensions.getDefaultAlarmSound
43+
import org.fossify.commons.extensions.getEmptyContact
44+
import org.fossify.commons.extensions.getFilenameFromPath
45+
import org.fossify.commons.extensions.getLookupUriRawId
46+
import org.fossify.commons.extensions.getPhoneNumberTypeText
47+
import org.fossify.commons.extensions.getProperPrimaryColor
48+
import org.fossify.commons.extensions.getProperTextColor
49+
import org.fossify.commons.extensions.getPublicContactSource
50+
import org.fossify.commons.extensions.getVisibleContactSources
51+
import org.fossify.commons.extensions.hasContactPermissions
52+
import org.fossify.commons.extensions.hideKeyboard
53+
import org.fossify.commons.extensions.isVisible
54+
import org.fossify.commons.extensions.launchActivityIntent
55+
import org.fossify.commons.extensions.normalizePhoneNumber
56+
import org.fossify.commons.extensions.onGlobalLayout
57+
import org.fossify.commons.extensions.showErrorToast
58+
import org.fossify.commons.extensions.showKeyboard
59+
import org.fossify.commons.extensions.toInt
60+
import org.fossify.commons.extensions.toast
61+
import org.fossify.commons.extensions.updateTextColors
62+
import org.fossify.commons.extensions.value
63+
import org.fossify.commons.extensions.viewBinding
64+
import org.fossify.commons.helpers.CONTACT_ID
65+
import org.fossify.commons.helpers.ContactsHelper
66+
import org.fossify.commons.helpers.DEFAULT_ADDRESS_TYPE
67+
import org.fossify.commons.helpers.DEFAULT_EMAIL_TYPE
68+
import org.fossify.commons.helpers.DEFAULT_EVENT_TYPE
69+
import org.fossify.commons.helpers.DEFAULT_IM_TYPE
70+
import org.fossify.commons.helpers.DEFAULT_PHONE_NUMBER_TYPE
71+
import org.fossify.commons.helpers.IS_PRIVATE
72+
import org.fossify.commons.helpers.PERMISSION_READ_CONTACTS
73+
import org.fossify.commons.helpers.PERMISSION_WRITE_CONTACTS
74+
import org.fossify.commons.helpers.PHOTO_ADDED
75+
import org.fossify.commons.helpers.PHOTO_CHANGED
76+
import org.fossify.commons.helpers.PHOTO_REMOVED
77+
import org.fossify.commons.helpers.PHOTO_UNCHANGED
78+
import org.fossify.commons.helpers.SAVE_DISCARD_PROMPT_INTERVAL
79+
import org.fossify.commons.helpers.SHOW_ADDRESSES_FIELD
80+
import org.fossify.commons.helpers.SHOW_CONTACT_SOURCE_FIELD
81+
import org.fossify.commons.helpers.SHOW_EMAILS_FIELD
82+
import org.fossify.commons.helpers.SHOW_EVENTS_FIELD
83+
import org.fossify.commons.helpers.SHOW_FIRST_NAME_FIELD
84+
import org.fossify.commons.helpers.SHOW_GROUPS_FIELD
85+
import org.fossify.commons.helpers.SHOW_IMS_FIELD
86+
import org.fossify.commons.helpers.SHOW_MIDDLE_NAME_FIELD
87+
import org.fossify.commons.helpers.SHOW_NICKNAME_FIELD
88+
import org.fossify.commons.helpers.SHOW_NOTES_FIELD
89+
import org.fossify.commons.helpers.SHOW_ORGANIZATION_FIELD
90+
import org.fossify.commons.helpers.SHOW_PHONE_NUMBERS_FIELD
91+
import org.fossify.commons.helpers.SHOW_PREFIX_FIELD
92+
import org.fossify.commons.helpers.SHOW_RINGTONE_FIELD
93+
import org.fossify.commons.helpers.SHOW_STRUCTURED_ADDRESSES_FIELD
94+
import org.fossify.commons.helpers.SHOW_SUFFIX_FIELD
95+
import org.fossify.commons.helpers.SHOW_SURNAME_FIELD
96+
import org.fossify.commons.helpers.SHOW_WEBSITES_FIELD
97+
import org.fossify.commons.helpers.SILENT
98+
import org.fossify.commons.helpers.SMT_PRIVATE
99+
import org.fossify.commons.helpers.ensureBackgroundThread
32100
import org.fossify.commons.models.PhoneNumber
33101
import org.fossify.commons.models.RadioItem
34-
import org.fossify.commons.models.contacts.*
102+
import org.fossify.commons.models.contacts.Address
103+
import org.fossify.commons.models.contacts.Contact
35104
import org.fossify.commons.models.contacts.Email
36105
import org.fossify.commons.models.contacts.Event
106+
import org.fossify.commons.models.contacts.Group
107+
import org.fossify.commons.models.contacts.IM
37108
import org.fossify.commons.models.contacts.Organization
38109
import org.fossify.commons.views.MyAutoCompleteTextView
39110
import org.fossify.contacts.R
40111
import org.fossify.contacts.adapters.AutoCompleteTextViewAdapter
41-
import org.fossify.contacts.databinding.*
112+
import org.fossify.contacts.databinding.ActivityEditContactBinding
113+
import org.fossify.contacts.databinding.ItemEditAddressBinding
114+
import org.fossify.contacts.databinding.ItemEditEmailBinding
115+
import org.fossify.contacts.databinding.ItemEditGroupBinding
116+
import org.fossify.contacts.databinding.ItemEditImBinding
117+
import org.fossify.contacts.databinding.ItemEditPhoneNumberBinding
118+
import org.fossify.contacts.databinding.ItemEditStructuredAddressBinding
119+
import org.fossify.contacts.databinding.ItemEditWebsiteBinding
120+
import org.fossify.contacts.databinding.ItemEventBinding
42121
import org.fossify.contacts.dialogs.CustomLabelDialog
43122
import org.fossify.contacts.dialogs.ManageVisibleFieldsDialog
44123
import org.fossify.contacts.dialogs.MyDatePickerDialog

0 commit comments

Comments
 (0)