mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-21 11:38:36 +00:00
Move large screen check to wrapper.
This commit is contained in:
committed by
Jeffrey Starke
parent
cbfdc4b57a
commit
3352ebaa06
@@ -23,7 +23,7 @@ import org.thoughtcrime.securesms.jobs.ConversationShortcutUpdateJob
|
||||
import org.thoughtcrime.securesms.util.ConfigurationUtil
|
||||
import org.thoughtcrime.securesms.util.Debouncer
|
||||
import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import org.thoughtcrime.securesms.window.WindowSizeClass
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
@@ -53,7 +53,7 @@ open class ConversationActivity : PassphraseRequiredActivity(), VoiceNoteMediaCo
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
|
||||
if (RemoteConfig.largeScreenUi) {
|
||||
if (WindowSizeClass.isLargeScreenSupportEnabled()) {
|
||||
startActivity(
|
||||
MainActivity.clearTop(this).apply {
|
||||
action = ConversationIntents.ACTION
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.thoughtcrime.securesms.megaphone.Megaphone
|
||||
import org.thoughtcrime.securesms.megaphone.Megaphones
|
||||
import org.thoughtcrime.securesms.notifications.profiles.NotificationProfile
|
||||
import org.thoughtcrime.securesms.stories.Stories
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import org.thoughtcrime.securesms.window.WindowSizeClass
|
||||
|
||||
@OptIn(ExperimentalMaterial3AdaptiveApi::class)
|
||||
class MainNavigationViewModel(
|
||||
@@ -120,7 +120,7 @@ class MainNavigationViewModel(
|
||||
* "default" location to that specified, and we will route the user there when the navigator is set.
|
||||
*/
|
||||
override fun goTo(location: MainNavigationDetailLocation) {
|
||||
if (!RemoteConfig.largeScreenUi) {
|
||||
if (!WindowSizeClass.isLargeScreenSupportEnabled()) {
|
||||
goToLegacyDetailLocation?.invoke(location)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -1180,12 +1180,11 @@ object RemoteConfig {
|
||||
)
|
||||
|
||||
/** Whether to allow different WindowSizeClasses to be used to determine screen layout */
|
||||
val largeScreenUi: Boolean by remoteValue(
|
||||
val largeScreenUi: Boolean by remoteBoolean(
|
||||
key = "android.largeScreenUI",
|
||||
hotSwappable = false
|
||||
) { value ->
|
||||
value.asBoolean(false) && SignalStore.internal.largeScreenUi
|
||||
}
|
||||
hotSwappable = false,
|
||||
defaultValue = false
|
||||
)
|
||||
|
||||
@JvmStatic
|
||||
@get:JvmName("useMessageSendRestFallback")
|
||||
|
||||
@@ -95,7 +95,7 @@ enum class WindowSizeClass(
|
||||
fun isPortrait(): Boolean = !isLandscape()
|
||||
|
||||
fun isSplitPane(): Boolean {
|
||||
return if (RemoteConfig.largeScreenUi && SignalStore.internal.forceSplitPaneOnCompactLandscape) {
|
||||
return if (isLargeScreenSupportEnabled() && SignalStore.internal.forceSplitPaneOnCompactLandscape) {
|
||||
this != COMPACT_PORTRAIT
|
||||
} else {
|
||||
this.navigation != Navigation.BAR
|
||||
@@ -120,8 +120,12 @@ enum class WindowSizeClass(
|
||||
return getSizeClassForOrientationAndSystemSizeClass(orientation, windowSizeClass)
|
||||
}
|
||||
|
||||
fun isLargeScreenSupportEnabled(): Boolean {
|
||||
return RemoteConfig.largeScreenUi && SignalStore.internal.largeScreenUi
|
||||
}
|
||||
|
||||
fun isForcedCompact(): Boolean {
|
||||
return !RemoteConfig.largeScreenUi
|
||||
return !isLargeScreenSupportEnabled()
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
||||
Reference in New Issue
Block a user