Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 1727dd2a authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé
Browse files

Add feature flag for Material 3 navigation drawer

parent 43f4f059
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2,9 +2,12 @@ package app.k9mail.featureflag

import app.k9mail.core.featureflag.FeatureFlag
import app.k9mail.core.featureflag.FeatureFlagFactory
import app.k9mail.core.featureflag.FeatureFlagKey

class K9FeatureFlagFactory : FeatureFlagFactory {
    override fun createFeatureCatalog(): List<FeatureFlag> {
        return emptyList()
        return listOf(
            FeatureFlag(FeatureFlagKey("material3_navigation_drawer"), false),
        )
    }
}
+4 −1
Original line number Diff line number Diff line
@@ -2,9 +2,12 @@ package net.thunderbird.android.featureflag

import app.k9mail.core.featureflag.FeatureFlag
import app.k9mail.core.featureflag.FeatureFlagFactory
import app.k9mail.core.featureflag.FeatureFlagKey

class TbFeatureFlagFactory : FeatureFlagFactory {
    override fun createFeatureCatalog(): List<FeatureFlag> {
        return emptyList()
        return listOf(
            FeatureFlag(FeatureFlagKey("material3_navigation_drawer"), false),
        )
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import androidx.fragment.app.commitNow
import app.k9mail.core.android.common.compat.BundleCompat
import app.k9mail.core.android.common.contact.CachingRepository
import app.k9mail.core.android.common.contact.ContactRepository
import app.k9mail.core.featureflag.FeatureFlagKey
import app.k9mail.core.featureflag.FeatureFlagProvider
import app.k9mail.core.ui.legacy.designsystem.atom.icon.Icons
import app.k9mail.feature.launcher.FeatureLauncherActivity
import app.k9mail.feature.navigation.drawer.LegacyDrawer
@@ -93,6 +95,7 @@ open class MessageList :
    private val messagingController: MessagingController by inject()
    private val contactRepository: ContactRepository by inject()
    private val coreResourceProvider: CoreResourceProvider by inject()
    private val featureFlagProvider: FeatureFlagProvider by inject()

    private lateinit var actionBar: ActionBar
    private var searchView: SearchView? = null
@@ -579,6 +582,16 @@ open class MessageList :
            return
        }

        featureFlagProvider.provide(FeatureFlagKey("material3_navigation_drawer"))
            .onEnabled {
                TODO()
            }
            .onDisabledOrUnavailable {
                initializeLegacyDrawer(savedInstanceState)
            }
    }

    private fun initializeLegacyDrawer(savedInstanceState: Bundle?) {
        navigationDrawer = LegacyDrawer(
            parent = this,
            savedInstanceState = savedInstanceState,