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

Commit 54a2708a authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Add SpaEnvironment.isSpaExpressiveEnabled" into main

parents d94e59ba b225b815
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ val androidTop: String = File(rootDir, "../../../../..").canonicalPath

allprojects {
    extra["androidTop"] = androidTop
    extra["jetpackComposeVersion"] = "1.8.0-alpha08"
    extra["jetpackComposeVersion"] = "1.8.0-beta02"
}

subprojects {
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
#

[versions]
agp = "8.8.0"
agp = "8.8.1"
dexmaker-mockito = "2.28.3"
jvm = "21"
kotlin = "2.0.21"
+2 −3
Original line number Diff line number Diff line
@@ -51,16 +51,15 @@ android {

dependencies {
    api(project(":SettingsLibColor"))
    api(project(":SettingsLib:SettingsTheme"))
    api("androidx.appcompat:appcompat:1.7.0")
    api("androidx.compose.material3:material3:1.4.0-alpha05")
    api("androidx.compose.material3:material3:1.4.0-alpha08")
    api("androidx.compose.material:material-icons-extended")
    api("androidx.compose.runtime:runtime-livedata:$jetpackComposeVersion")
    api("androidx.compose.ui:ui-tooling-preview:$jetpackComposeVersion")
    api("androidx.graphics:graphics-shapes-android:1.0.1")
    api("androidx.lifecycle:lifecycle-livedata-ktx")
    api("androidx.lifecycle:lifecycle-runtime-compose")
    api("androidx.navigation:navigation-compose:2.9.0-alpha04")
    api("androidx.navigation:navigation-compose:2.9.0-alpha06")
    api("com.github.PhilJay:MPAndroidChart:v3.1.0-alpha")
    api("com.google.android.material:material:1.13.0-alpha08")
    debugApi("androidx.compose.ui:ui-tooling:$jetpackComposeVersion")
+15 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.content.Context
import android.util.Log
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import com.android.settingslib.spa.framework.util.SystemProperties

private const val TAG = "SpaEnvironment"

@@ -50,9 +51,7 @@ object SpaEnvironmentFactory {
        Log.d(TAG, "resetForPreview")
    }

    fun isReady(): Boolean {
        return spaEnvironment != null
    }
    fun isReady(): Boolean = spaEnvironment != null

    val instance: SpaEnvironment
        get() {
@@ -60,6 +59,14 @@ object SpaEnvironmentFactory {
                throw UnsupportedOperationException("Spa environment is not set")
            return spaEnvironment!!
        }

    /**
     * Optional instance of SpaEnvironment.
     *
     * Useful when there is fallback logic.
     */
    val optionalInstance: SpaEnvironment?
        get() = spaEnvironment
}

abstract class SpaEnvironment(context: Context) {
@@ -81,6 +88,11 @@ abstract class SpaEnvironment(context: Context) {
    // Specify provider authorities for debugging purpose.
    open val searchProviderAuthorities: String? = null

    /** Specify whether expressive design is enabled. */
    open val isSpaExpressiveEnabled by lazy {
        SystemProperties.getBoolean("is_expressive_design_enabled", false)
    }

    // TODO: add other environment setup here.
    companion object {
        /**
+2 −4
Original line number Diff line number Diff line
@@ -21,8 +21,7 @@ import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import com.android.settingslib.spa.framework.util.SystemProperties
import com.android.settingslib.widget.theme.flags.Flags
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory

/**
 * The Material 3 Theme for Settings.
@@ -44,6 +43,5 @@ fun SettingsTheme(content: @Composable () -> Unit) {
}

val isSpaExpressiveEnabled by lazy {
    SystemProperties.getBoolean("is_expressive_design_enabled", false) ||
        Flags.isExpressiveDesignEnabled()
    SpaEnvironmentFactory.optionalInstance?.isSpaExpressiveEnabled ?: false
}
Loading