Skip to content

Commit

Permalink
Use setSystemBarsColors() in fragments
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinBoulongne committed Jan 23, 2024
1 parent a088526 commit 8436edc
Show file tree
Hide file tree
Showing 29 changed files with 103 additions and 103 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import androidx.activity.result.ActivityResult
import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.infomaniak.lib.core.utils.SnackbarUtils.showSnackbar
import com.infomaniak.lib.core.utils.safeBinding
Expand All @@ -36,16 +37,14 @@ import com.infomaniak.mail.data.LocalSettings.AccentColor
import com.infomaniak.mail.databinding.FragmentNewAccountBinding
import com.infomaniak.mail.di.IoDispatcher
import com.infomaniak.mail.di.MainDispatcher
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.LoginUtils
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.CoroutineDispatcher
import javax.inject.Inject

@AndroidEntryPoint
class NewAccountFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundColor
class NewAccountFragment : Fragment() {

private var binding: FragmentNewAccountBinding by safeBinding()
private val introViewModel: IntroViewModel by activityViewModels()
Expand Down Expand Up @@ -82,6 +81,7 @@ class NewAccountFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors(statusBarColor = R.color.backgroundColor)

selectIllustrationAccordingToTheme()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,6 @@ import com.infomaniak.lib.core.R as RCore
@AndroidEntryPoint
class ThreadListFragment : TwoPaneFragment(), SwipeRefreshLayout.OnRefreshListener {

override val statusBarColor = R.color.backgroundHeaderColor

private var _binding: FragmentThreadListBinding? = null
val binding get() = _binding!! // This property is only valid between onCreateView and onDestroyView

Expand Down Expand Up @@ -131,6 +129,10 @@ class ThreadListFragment : TwoPaneFragment(), SwipeRefreshLayout.OnRefreshListen
navigateFromNotificationToNewMessage()

super.onViewCreated(view, savedInstanceState)
setSystemBarsColors(
statusBarColor = R.color.backgroundHeaderColor,
navigationBarColor = if (mainViewModel.isMultiSelectOn) R.color.elevatedBackground else R.color.backgroundColor,
)

threadListViewModel.deleteSearchData()
bindAlertToViewLifecycle(descriptionDialog)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import com.infomaniak.mail.R
import com.infomaniak.mail.data.cache.mailboxContent.FolderController
import com.infomaniak.mail.data.models.thread.Thread
import com.infomaniak.mail.ui.MainViewModel
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.ui.main.NoAnimSlidingPaneLayout
import com.infomaniak.mail.ui.main.search.SearchFragment
import com.infomaniak.mail.ui.main.thread.ThreadFragment
Expand All @@ -42,7 +41,7 @@ import com.infomaniak.mail.utils.safeNavigateToNewMessageActivity
import com.infomaniak.mail.utils.updateNavigationBarColor
import javax.inject.Inject

abstract class TwoPaneFragment : BaseFragment() {
abstract class TwoPaneFragment : Fragment() {

val mainViewModel: MainViewModel by activityViewModels()
val twoPaneViewModel: TwoPaneViewModel by activityViewModels()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,6 @@ import kotlinx.coroutines.launch
@AndroidEntryPoint
class MenuDrawerFragment : MenuFoldersFragment(), MailboxListFragment {

override val statusBarColor = null

private var binding: FragmentMenuDrawerBinding by safeBinding()
private val menuDrawerViewModel: MenuDrawerViewModel by viewModels()

Expand All @@ -81,6 +79,7 @@ class MenuDrawerFragment : MenuFoldersFragment(), MailboxListFragment {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors(statusBarColor = null)

displayVersion()
setupListeners()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,19 @@ package com.infomaniak.mail.ui.main.menu

import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.recyclerview.widget.RecyclerView
import com.infomaniak.mail.R
import com.infomaniak.mail.data.cache.mailboxContent.FolderController
import com.infomaniak.mail.ui.MainViewModel
import com.infomaniak.mail.ui.alertDialogs.InputAlertDialog
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.bindAlertToViewLifecycle
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
abstract class MenuFoldersFragment : BaseFragment() {
abstract class MenuFoldersFragment : Fragment() {

@Inject
lateinit var defaultFolderAdapter: FolderAdapter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,13 @@ import com.infomaniak.mail.data.models.Folder.FolderRole
import com.infomaniak.mail.databinding.FragmentMoveBinding
import com.infomaniak.mail.utils.handleEditorSearchAction
import com.infomaniak.mail.utils.setOnClearTextClickListener
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class MoveFragment : MenuFoldersFragment() {

override val statusBarColor = R.color.backgroundHeaderColor

private var binding: FragmentMoveBinding by safeBinding()
private val navigationArgs: MoveFragmentArgs by navArgs()
private val moveViewModel: MoveViewModel by viewModels()
Expand All @@ -74,6 +73,8 @@ class MoveFragment : MenuFoldersFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

setupListeners()
setupFolderAdapters()
setupCreateFolderDialog()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,19 +51,14 @@ import com.infomaniak.mail.ui.main.NoAnimSlidingPaneLayout
import com.infomaniak.mail.ui.main.folder.TwoPaneFragment
import com.infomaniak.mail.ui.main.search.SearchFolderAdapter.SearchFolderElement
import com.infomaniak.mail.ui.main.thread.ThreadFragment
import com.infomaniak.mail.utils.*
import com.infomaniak.mail.utils.RealmChangesBinding.Companion.bindResultsChangeToAdapter
import com.infomaniak.mail.utils.addStickyDateDecoration
import com.infomaniak.mail.utils.getLocalizedNameOrAllFolders
import com.infomaniak.mail.utils.handleEditorSearchAction
import com.infomaniak.mail.utils.setOnClearTextClickListener
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class SearchFragment : TwoPaneFragment() {

override val statusBarColor = R.color.backgroundColor

private var _binding: FragmentSearchBinding? = null
private val binding get() = _binding!! // This property is only valid between onCreateView and onDestroyView

Expand Down Expand Up @@ -104,6 +99,7 @@ class SearchFragment : TwoPaneFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors(statusBarColor = R.color.backgroundColor)

searchViewModel.executePendingSearch()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.isGone
import androidx.fragment.app.Fragment
import com.google.android.material.color.DynamicColors
import com.infomaniak.lib.core.utils.context
import com.infomaniak.lib.core.utils.safeBinding
Expand All @@ -32,14 +33,12 @@ import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.LocalSettings.AccentColor
import com.infomaniak.mail.data.LocalSettings.AccentColor.*
import com.infomaniak.mail.databinding.FragmentAccentColorSettingBinding
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class AccentColorSettingFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class AccentColorSettingFragment : Fragment() {

private var binding: FragmentAccentColorSettingBinding by safeBinding()

Expand All @@ -52,6 +51,7 @@ class AccentColorSettingFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding.radioGroup) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

setSystemAccentUi()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.mail.MatomoMail.trackEvent
import com.infomaniak.mail.R
Expand All @@ -29,14 +30,12 @@ import com.infomaniak.mail.data.LocalSettings.ExternalContent
import com.infomaniak.mail.data.LocalSettings.ExternalContent.ALWAYS
import com.infomaniak.mail.data.LocalSettings.ExternalContent.ASK_ME
import com.infomaniak.mail.databinding.FragmentExternalContentSettingBinding
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class ExternalContentSettingFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class ExternalContentSettingFragment : Fragment() {

private var binding: FragmentExternalContentSettingBinding by safeBinding()

Expand All @@ -49,6 +48,7 @@ class ExternalContentSettingFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding.radioGroup) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

initBijectionTable(
R.id.always to ALWAYS,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.infomaniak.lib.applock.Utils.isKeyguardSecure
import com.infomaniak.lib.applock.Utils.silentlyReverseSwitch
Expand All @@ -36,17 +37,15 @@ import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.models.FeatureFlag
import com.infomaniak.mail.databinding.FragmentSettingsBinding
import com.infomaniak.mail.ui.MainViewModel
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.animatedNavigation
import com.infomaniak.mail.utils.launchSyncAutoConfigActivityForResult
import com.infomaniak.mail.utils.observeNotNull
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class SettingsFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class SettingsFragment : Fragment() {

private var binding: FragmentSettingsBinding by safeBinding()
private val mainViewModel: MainViewModel by activityViewModels()
Expand All @@ -60,6 +59,8 @@ class SettingsFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

setupMailboxesAdapter()
setupListeners()
setSubtitlesInitialState()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,20 @@ import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatDelegate.setDefaultNightMode
import androidx.core.view.isGone
import androidx.fragment.app.Fragment
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.mail.MatomoMail.trackEvent
import com.infomaniak.mail.R
import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.LocalSettings.Theme
import com.infomaniak.mail.data.LocalSettings.Theme.*
import com.infomaniak.mail.databinding.FragmentThemeSettingBinding
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class ThemeSettingFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class ThemeSettingFragment : Fragment() {

private var binding: FragmentThemeSettingBinding by safeBinding()

Expand All @@ -51,6 +50,7 @@ class ThemeSettingFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding.radioGroup) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

setSystemThemeVisibility()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,19 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.mail.MatomoMail.trackEvent
import com.infomaniak.mail.R
import com.infomaniak.mail.data.LocalSettings
import com.infomaniak.mail.data.LocalSettings.ThreadDensity.*
import com.infomaniak.mail.databinding.FragmentThreadListDensitySettingBinding
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class ThreadListDensitySettingFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class ThreadListDensitySettingFragment : Fragment() {

private var binding: FragmentThreadListDensitySettingBinding by safeBinding()

Expand All @@ -47,6 +46,8 @@ class ThreadListDensitySettingFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

initUi()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.mail.MatomoMail.trackEvent
Expand All @@ -31,15 +32,13 @@ import com.infomaniak.mail.data.LocalSettings.ThreadMode.CONVERSATION
import com.infomaniak.mail.data.LocalSettings.ThreadMode.MESSAGE
import com.infomaniak.mail.databinding.FragmentThreadModeSettingBinding
import com.infomaniak.mail.ui.alertDialogs.DescriptionAlertDialog
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.utils.bindAlertToViewLifecycle
import com.infomaniak.mail.utils.setSystemBarsColors
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint
class ThreadModeSettingFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class ThreadModeSettingFragment : Fragment() {

@Inject
lateinit var localSettings: LocalSettings
Expand All @@ -56,6 +55,7 @@ class ThreadModeSettingFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) = with(binding.radioGroup) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

initBijectionTable(
R.id.conversationMode to CONVERSATION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,17 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.navArgs
import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.mail.R
import com.infomaniak.mail.databinding.FragmentMailboxSettingsBinding
import com.infomaniak.mail.ui.main.BaseFragment
import com.infomaniak.mail.ui.main.settings.ItemSettingView
import com.infomaniak.mail.utils.animatedNavigation
import com.infomaniak.mail.utils.notYetImplemented
import com.infomaniak.mail.utils.setSystemBarsColors

class MailboxSettingsFragment : BaseFragment() {

override val statusBarColor = R.color.backgroundHeaderColor
class MailboxSettingsFragment : Fragment() {

private var binding: FragmentMailboxSettingsBinding by safeBinding()
private val navigationArgs: MailboxSettingsFragmentArgs by navArgs()
Expand All @@ -43,6 +42,8 @@ class MailboxSettingsFragment : BaseFragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setSystemBarsColors()

binding.root.setTitle(navigationArgs.mailboxEmail)
setSubtitlesInitialState()
setupListeners()
Expand Down
Loading

0 comments on commit 8436edc

Please sign in to comment.