Skip to content

Commit b2046fa

Browse files
Add canDisplayOnlyOnePane()
1 parent 11db4a8 commit b2046fa

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

app/src/main/java/com/infomaniak/mail/ui/main/folder/TwoPaneFragment.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ import com.infomaniak.mail.ui.main.thread.ThreadFragment
3939
import com.infomaniak.mail.utils.AttachmentIntentUtils
4040
import com.infomaniak.mail.utils.UiUtils.FULLY_SLID
4141
import com.infomaniak.mail.utils.UiUtils.progressivelyColorSystemBars
42-
import com.infomaniak.mail.utils.canDisplayBothPanes
4342
import com.infomaniak.mail.utils.safeNavigateToNewMessageActivity
4443
import com.infomaniak.mail.utils.setSystemBarsColors
4544
import javax.inject.Inject
@@ -188,7 +187,9 @@ abstract class TwoPaneFragment : Fragment() {
188187
// TODO: When we'll add the feature of swiping between Threads, we'll need to check if this function is still needed.
189188
private fun updateDrawerLockMode() {
190189
if (this is ThreadListFragment) {
191-
(requireActivity() as MainActivity).setDrawerLockMode(isLocked = twoPaneViewModel.isThreadOpen && !canDisplayBothPanes())
190+
(requireActivity() as MainActivity).setDrawerLockMode(
191+
isLocked = twoPaneViewModel.isInThreadInPhoneMode(requireContext()),
192+
)
192193
}
193194
}
194195
}

app/src/main/java/com/infomaniak/mail/ui/main/folder/TwoPaneViewModel.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import com.infomaniak.mail.data.models.message.Message
3232
import com.infomaniak.mail.data.models.thread.Thread
3333
import com.infomaniak.mail.ui.newMessage.NewMessageActivityArgs
3434
import com.infomaniak.mail.utils.Utils.runCatchingRealm
35-
import com.infomaniak.mail.utils.canDisplayBothPanes
35+
import com.infomaniak.mail.utils.canDisplayOnlyOnePane
3636
import dagger.hilt.android.lifecycle.HiltViewModel
3737
import javax.inject.Inject
3838

@@ -94,7 +94,7 @@ class TwoPaneViewModel @Inject constructor(
9494
)
9595
}
9696

97-
fun isInThreadInPhoneMode(context: Context): Boolean = isThreadOpen && !context.canDisplayBothPanes()
97+
fun isInThreadInPhoneMode(context: Context): Boolean = isThreadOpen && context.canDisplayOnlyOnePane()
9898

9999
data class NavData(
100100
@IdRes val resId: Int,

app/src/main/java/com/infomaniak/mail/utils/Extensions.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,10 @@ fun Date.isLastWeek(): Boolean {
159159
//region UI
160160
fun Context.isInPortrait(): Boolean = resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
161161

162+
private fun Context.canDisplayBothPanes(): Boolean = resources.getBoolean(R.bool.canDisplayBothPanes)
162163
fun Fragment.canDisplayBothPanes(): Boolean = requireContext().canDisplayBothPanes()
163-
fun Context.canDisplayBothPanes(): Boolean = resources.getBoolean(R.bool.canDisplayBothPanes)
164+
fun Context.canDisplayOnlyOnePane(): Boolean = !canDisplayBothPanes()
165+
fun Fragment.canDisplayOnlyOnePane(): Boolean = requireContext().canDisplayOnlyOnePane()
164166

165167
fun View.toggleChevron(
166168
isCollapsed: Boolean,

0 commit comments

Comments
 (0)