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

Commit 9272943b authored by Steven Ng's avatar Steven Ng
Browse files

Move GradientColorWallpaper feature flag gating from resource to Java

We planned to enable GradientColorWallpaper at runtime rather than build time.

Test: manual
Flag: android.app.enable_connected_displays_wallpaper
Bug: 384519696
Change-Id: I16da95a99f9df553f5910c99d74408274e7d870c
parent 8dd4d541
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -548,7 +548,6 @@
                android:exported="true" />

        <service android:name=".wallpapers.GradientColorWallpaper"
            android:featureFlag="android.app.enable_connected_displays_wallpaper"
            android:singleUser="true"
            android:permission="android.permission.BIND_WALLPAPER"
            android:exported="true" />
+16 −0
Original line number Diff line number Diff line
@@ -16,11 +16,14 @@

package com.android.systemui.wallpapers

import android.app.Flags
import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Rect
import android.graphics.RectF
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.service.wallpaper.WallpaperService.Engine
import android.testing.TestableLooper.RunWithLooper
import android.view.Surface
@@ -37,6 +40,7 @@ import org.mockito.Mockito.spy
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.any
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyZeroInteractions
import org.mockito.kotlin.whenever

@SmallTest
@@ -70,6 +74,18 @@ class GradientColorWallpaperTest : SysuiTestCase() {
    }

    @Test
    @DisableFlags(Flags.FLAG_ENABLE_CONNECTED_DISPLAYS_WALLPAPER)
    fun onSurfaceRedrawNeeded_flagDisabled_shouldNotDrawInCanvas() {
        val engine = createGradientColorWallpaperEngine()
        engine.onCreate(surfaceHolder)

        engine.onSurfaceRedrawNeeded(surfaceHolder)

        verifyZeroInteractions(canvas)
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_CONNECTED_DISPLAYS_WALLPAPER)
    fun onSurfaceRedrawNeeded_shouldDrawInCanvas() {
        val engine = createGradientColorWallpaperEngine()
        engine.onCreate(surfaceHolder)
+10 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.systemui.wallpapers

import android.app.Flags
import android.graphics.Canvas
import android.graphics.Paint
import android.service.wallpaper.WallpaperService
@@ -26,7 +27,15 @@ import androidx.core.graphics.toRectF
/** A wallpaper that shows a static gradient color image wallpaper. */
class GradientColorWallpaper : WallpaperService() {

    override fun onCreateEngine(): Engine = GradientColorWallpaperEngine()
    override fun onCreateEngine(): Engine =
        if (Flags.enableConnectedDisplaysWallpaper()) {
            GradientColorWallpaperEngine()
        } else {
            EmptyWallpaperEngine()
        }

    /** Empty engine used when the feature flag is disabled. */
    inner class EmptyWallpaperEngine : Engine()

    inner class GradientColorWallpaperEngine : Engine() {
        init {