mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-17 19:58:57 +03:00
Re-adds feature flag
This commit is contained in:
parent
91b4918526
commit
468c7b600c
5 changed files with 21 additions and 1 deletions
|
@ -85,6 +85,11 @@ class DebugFeaturesStateFactory @Inject constructor(
|
|||
key = DebugFeatureKeys.startDmOnFirstMsg,
|
||||
factory = VectorFeatures::shouldStartDmOnFirstMessage
|
||||
),
|
||||
createBooleanFeature(
|
||||
label = "Enable New App Layout",
|
||||
key = DebugFeatureKeys.newAppLayoutEnabled,
|
||||
factory = VectorFeatures::isNewAppLayoutEnabled
|
||||
),
|
||||
createBooleanFeature(
|
||||
label = "Enable New Device Management",
|
||||
key = DebugFeatureKeys.newDeviceManagementEnabled,
|
||||
|
|
|
@ -76,6 +76,9 @@ class DebugVectorFeatures(
|
|||
override fun shouldStartDmOnFirstMessage(): Boolean = read(DebugFeatureKeys.startDmOnFirstMsg)
|
||||
?: vectorFeatures.shouldStartDmOnFirstMessage()
|
||||
|
||||
override fun isNewAppLayoutEnabled(): Boolean = read(DebugFeatureKeys.newAppLayoutEnabled)
|
||||
?: vectorFeatures.isNewAppLayoutEnabled()
|
||||
|
||||
override fun isNewDeviceManagementEnabled(): Boolean = read(DebugFeatureKeys.newDeviceManagementEnabled)
|
||||
?: vectorFeatures.isNewDeviceManagementEnabled()
|
||||
|
||||
|
@ -138,5 +141,6 @@ object DebugFeatureKeys {
|
|||
val screenSharing = booleanPreferencesKey("screen-sharing")
|
||||
val forceUsageOfOpusEncoder = booleanPreferencesKey("force-usage-of-opus-encoder")
|
||||
val startDmOnFirstMsg = booleanPreferencesKey("start-dm-on-first-msg")
|
||||
val newAppLayoutEnabled = booleanPreferencesKey("new-app-layout-enabled")
|
||||
val newDeviceManagementEnabled = booleanPreferencesKey("new-device-management-enabled")
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ interface VectorFeatures {
|
|||
fun isLocationSharingEnabled(): Boolean
|
||||
fun forceUsageOfOpusEncoder(): Boolean
|
||||
fun shouldStartDmOnFirstMessage(): Boolean
|
||||
fun isNewAppLayoutEnabled(): Boolean
|
||||
fun isNewDeviceManagementEnabled(): Boolean
|
||||
}
|
||||
|
||||
|
@ -49,5 +50,6 @@ class DefaultVectorFeatures : VectorFeatures {
|
|||
override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING
|
||||
override fun forceUsageOfOpusEncoder(): Boolean = false
|
||||
override fun shouldStartDmOnFirstMessage(): Boolean = false
|
||||
override fun isNewAppLayoutEnabled(): Boolean = true
|
||||
override fun isNewDeviceManagementEnabled(): Boolean = false
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ import im.vector.app.R
|
|||
import im.vector.app.core.di.DefaultSharedPreferences
|
||||
import im.vector.app.core.resources.BuildMeta
|
||||
import im.vector.app.core.time.Clock
|
||||
import im.vector.app.features.VectorFeatures
|
||||
import im.vector.app.features.disclaimer.SHARED_PREF_KEY
|
||||
import im.vector.app.features.home.ShortcutsHandler
|
||||
import im.vector.app.features.homeserver.ServerUrlsRepository
|
||||
|
@ -39,6 +40,7 @@ class VectorPreferences @Inject constructor(
|
|||
private val context: Context,
|
||||
private val clock: Clock,
|
||||
private val buildMeta: BuildMeta,
|
||||
private val vectorFeatures: VectorFeatures,
|
||||
) {
|
||||
|
||||
companion object {
|
||||
|
@ -1151,7 +1153,8 @@ class VectorPreferences @Inject constructor(
|
|||
* Indicates whether or not new app layout is enabled.
|
||||
*/
|
||||
fun isNewAppLayoutEnabled(): Boolean {
|
||||
return defaultPrefs.getBoolean(SETTINGS_LABS_NEW_APP_LAYOUT_KEY, getDefault(R.bool.settings_labs_new_app_layout_default))
|
||||
return vectorFeatures.isNewAppLayoutEnabled() &&
|
||||
defaultPrefs.getBoolean(SETTINGS_LABS_NEW_APP_LAYOUT_KEY, getDefault(R.bool.settings_labs_new_app_layout_default))
|
||||
}
|
||||
|
||||
fun showLiveSenderInfo(): Boolean {
|
||||
|
|
|
@ -27,6 +27,7 @@ import im.vector.app.R
|
|||
import im.vector.app.core.preference.VectorSwitchPreference
|
||||
import im.vector.app.features.MainActivity
|
||||
import im.vector.app.features.MainActivityArgs
|
||||
import im.vector.app.features.VectorFeatures
|
||||
import im.vector.app.features.analytics.plan.MobileScreen
|
||||
import im.vector.app.features.home.room.threads.ThreadsManager
|
||||
import org.matrix.android.sdk.api.settings.LightweightSettingsStorage
|
||||
|
@ -39,6 +40,7 @@ class VectorSettingsLabsFragment :
|
|||
@Inject lateinit var vectorPreferences: VectorPreferences
|
||||
@Inject lateinit var lightweightSettingsStorage: LightweightSettingsStorage
|
||||
@Inject lateinit var threadsManager: ThreadsManager
|
||||
@Inject lateinit var vectorFeatures: VectorFeatures
|
||||
|
||||
override var titleRes = R.string.room_settings_labs_pref_title
|
||||
override val preferenceXmlRes = R.xml.vector_settings_labs
|
||||
|
@ -72,6 +74,10 @@ class VectorSettingsLabsFragment :
|
|||
true
|
||||
}
|
||||
}
|
||||
|
||||
findPreference<VectorSwitchPreference>(VectorPreferences.SETTINGS_LABS_NEW_APP_LAYOUT_KEY)?.let { pref ->
|
||||
pref.isVisible = vectorFeatures.isNewAppLayoutEnabled()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue