lifting the live location sharing build flag to the config along with debug toggle
This commit is contained in:
parent
f14aabcd22
commit
012485b8e3
|
@ -37,6 +37,8 @@ object Config {
|
||||||
*/
|
*/
|
||||||
const val ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS = true
|
const val ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS = true
|
||||||
|
|
||||||
|
const val ENABLE_LOCATION_SHARING = true
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum length of voice messages in milliseconds.
|
* The maximum length of voice messages in milliseconds.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -160,7 +160,6 @@ android {
|
||||||
// This *must* only be set in trusted environments.
|
// This *must* only be set in trusted environments.
|
||||||
buildConfigField "Boolean", "handleCallAssertedIdentityEvents", "false"
|
buildConfigField "Boolean", "handleCallAssertedIdentityEvents", "false"
|
||||||
|
|
||||||
buildConfigField "Boolean", "enableLocationSharing", "true"
|
|
||||||
buildConfigField "String", "mapTilerKey", "\"fU3vlMsMn4Jb6dnEIFsx\""
|
buildConfigField "String", "mapTilerKey", "\"fU3vlMsMn4Jb6dnEIFsx\""
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
|
@ -70,6 +70,11 @@ class DebugFeaturesStateFactory @Inject constructor(
|
||||||
key = DebugFeatureKeys.allowExternalUnifiedPushDistributors,
|
key = DebugFeatureKeys.allowExternalUnifiedPushDistributors,
|
||||||
factory = VectorFeatures::allowExternalUnifiedPushDistributors
|
factory = VectorFeatures::allowExternalUnifiedPushDistributors
|
||||||
),
|
),
|
||||||
|
createBooleanFeature(
|
||||||
|
label = "Enable Live Location Sharing",
|
||||||
|
key = DebugFeatureKeys.liveLocationSharing,
|
||||||
|
factory = VectorFeatures::isLocationSharingEnabled
|
||||||
|
),
|
||||||
createBooleanFeature(
|
createBooleanFeature(
|
||||||
label = "Force usage of OpusEncoder library",
|
label = "Force usage of OpusEncoder library",
|
||||||
key = DebugFeatureKeys.forceUsageOfOpusEncoder,
|
key = DebugFeatureKeys.forceUsageOfOpusEncoder,
|
||||||
|
|
|
@ -67,6 +67,9 @@ class DebugVectorFeatures(
|
||||||
override fun isScreenSharingEnabled(): Boolean = read(DebugFeatureKeys.screenSharing)
|
override fun isScreenSharingEnabled(): Boolean = read(DebugFeatureKeys.screenSharing)
|
||||||
?: vectorFeatures.isScreenSharingEnabled()
|
?: vectorFeatures.isScreenSharingEnabled()
|
||||||
|
|
||||||
|
override fun isLocationSharingEnabled(): Boolean = read(DebugFeatureKeys.liveLocationSharing)
|
||||||
|
?: vectorFeatures.isLocationSharingEnabled()
|
||||||
|
|
||||||
override fun forceUsageOfOpusEncoder(): Boolean = read(DebugFeatureKeys.forceUsageOfOpusEncoder)
|
override fun forceUsageOfOpusEncoder(): Boolean = read(DebugFeatureKeys.forceUsageOfOpusEncoder)
|
||||||
?: vectorFeatures.forceUsageOfOpusEncoder()
|
?: vectorFeatures.forceUsageOfOpusEncoder()
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ interface VectorFeatures {
|
||||||
fun isOnboardingCombinedLoginEnabled(): Boolean
|
fun isOnboardingCombinedLoginEnabled(): Boolean
|
||||||
fun allowExternalUnifiedPushDistributors(): Boolean
|
fun allowExternalUnifiedPushDistributors(): Boolean
|
||||||
fun isScreenSharingEnabled(): Boolean
|
fun isScreenSharingEnabled(): Boolean
|
||||||
|
fun isLocationSharingEnabled(): Boolean
|
||||||
fun forceUsageOfOpusEncoder(): Boolean
|
fun forceUsageOfOpusEncoder(): Boolean
|
||||||
fun shouldStartDmOnFirstMessage(): Boolean
|
fun shouldStartDmOnFirstMessage(): Boolean
|
||||||
fun isNewAppLayoutEnabled(): Boolean
|
fun isNewAppLayoutEnabled(): Boolean
|
||||||
|
@ -45,6 +46,7 @@ class DefaultVectorFeatures : VectorFeatures {
|
||||||
override fun isOnboardingCombinedLoginEnabled() = true
|
override fun isOnboardingCombinedLoginEnabled() = true
|
||||||
override fun allowExternalUnifiedPushDistributors(): Boolean = Config.ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS
|
override fun allowExternalUnifiedPushDistributors(): Boolean = Config.ALLOW_EXTERNAL_UNIFIED_PUSH_DISTRIBUTORS
|
||||||
override fun isScreenSharingEnabled(): Boolean = true
|
override fun isScreenSharingEnabled(): Boolean = true
|
||||||
|
override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING
|
||||||
override fun forceUsageOfOpusEncoder(): Boolean = false
|
override fun forceUsageOfOpusEncoder(): Boolean = false
|
||||||
override fun shouldStartDmOnFirstMessage(): Boolean = false
|
override fun shouldStartDmOnFirstMessage(): Boolean = false
|
||||||
override fun isNewAppLayoutEnabled(): Boolean = false
|
override fun isNewAppLayoutEnabled(): Boolean = false
|
||||||
|
|
|
@ -67,7 +67,6 @@ import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import com.vanniktech.emoji.EmojiPopup
|
import com.vanniktech.emoji.EmojiPopup
|
||||||
import im.vector.app.BuildConfig
|
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.animations.play
|
import im.vector.app.core.animations.play
|
||||||
import im.vector.app.core.dialogs.ConfirmationDialogBuilder
|
import im.vector.app.core.dialogs.ConfirmationDialogBuilder
|
||||||
|
@ -125,6 +124,7 @@ import im.vector.app.core.utils.startInstallFromSourceIntent
|
||||||
import im.vector.app.core.utils.toast
|
import im.vector.app.core.utils.toast
|
||||||
import im.vector.app.databinding.DialogReportContentBinding
|
import im.vector.app.databinding.DialogReportContentBinding
|
||||||
import im.vector.app.databinding.FragmentTimelineBinding
|
import im.vector.app.databinding.FragmentTimelineBinding
|
||||||
|
import im.vector.app.features.VectorFeatures
|
||||||
import im.vector.app.features.analytics.extensions.toAnalyticsInteraction
|
import im.vector.app.features.analytics.extensions.toAnalyticsInteraction
|
||||||
import im.vector.app.features.analytics.plan.Interaction
|
import im.vector.app.features.analytics.plan.Interaction
|
||||||
import im.vector.app.features.analytics.plan.MobileScreen
|
import im.vector.app.features.analytics.plan.MobileScreen
|
||||||
|
@ -275,7 +275,8 @@ class TimelineFragment @Inject constructor(
|
||||||
private val callManager: WebRtcCallManager,
|
private val callManager: WebRtcCallManager,
|
||||||
private val audioMessagePlaybackTracker: AudioMessagePlaybackTracker,
|
private val audioMessagePlaybackTracker: AudioMessagePlaybackTracker,
|
||||||
private val shareIntentHandler: ShareIntentHandler,
|
private val shareIntentHandler: ShareIntentHandler,
|
||||||
private val clock: Clock
|
private val clock: Clock,
|
||||||
|
private val vectorFeatures: VectorFeatures,
|
||||||
) :
|
) :
|
||||||
VectorBaseFragment<FragmentTimelineBinding>(),
|
VectorBaseFragment<FragmentTimelineBinding>(),
|
||||||
TimelineEventController.Callback,
|
TimelineEventController.Callback,
|
||||||
|
@ -1559,7 +1560,7 @@ class TimelineFragment @Inject constructor(
|
||||||
attachmentTypeSelector = AttachmentTypeSelectorView(vectorBaseActivity, vectorBaseActivity.layoutInflater, this@TimelineFragment)
|
attachmentTypeSelector = AttachmentTypeSelectorView(vectorBaseActivity, vectorBaseActivity.layoutInflater, this@TimelineFragment)
|
||||||
attachmentTypeSelector.setAttachmentVisibility(
|
attachmentTypeSelector.setAttachmentVisibility(
|
||||||
AttachmentTypeSelectorView.Type.LOCATION,
|
AttachmentTypeSelectorView.Type.LOCATION,
|
||||||
BuildConfig.enableLocationSharing
|
vectorFeatures.isLocationSharingEnabled(),
|
||||||
)
|
)
|
||||||
attachmentTypeSelector.setAttachmentVisibility(
|
attachmentTypeSelector.setAttachmentVisibility(
|
||||||
AttachmentTypeSelectorView.Type.POLL, !isThreadTimeLine()
|
AttachmentTypeSelectorView.Type.POLL, !isThreadTimeLine()
|
||||||
|
|
Loading…
Reference in New Issue