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

Commit 4be6018e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "add all configs for new tiles" into main

parents 0552660d 4ba78b6f
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ interface QSAccessibilityModule {
        const val COLOR_INVERSION_TILE_SPEC = "inversion"
        const val FONT_SCALING_TILE_SPEC = "font_scaling"
        const val REDUCE_BRIGHTNESS_TILE_SPEC = "reduce_brightness"
        const val ONE_HANDED_TILE_SPEC = "onehanded"

        @Provides
        @IntoMap
@@ -241,5 +242,19 @@ interface QSAccessibilityModule {
                    mapper,
                )
            else StubQSTileViewModel

        @Provides
        @IntoMap
        @StringKey(ONE_HANDED_TILE_SPEC)
        fun provideOneHandedTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =
            QSTileConfig(
                tileSpec = TileSpec.create(ONE_HANDED_TILE_SPEC),
                uiConfig =
                    QSTileUIConfig.Resource(
                        iconRes = com.android.internal.R.drawable.ic_qs_one_handed_mode,
                        labelRes = R.string.quick_settings_onehanded_label,
                    ),
                instanceId = uiEventLogger.getNewInstanceId(),
            )
    }
}
+22 −2
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ import android.app.Activity
import android.content.pm.PackageManager
import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.ControlsMetricsLoggerImpl
import com.android.systemui.controls.settings.ControlsSettingsRepository
import com.android.systemui.controls.settings.ControlsSettingsRepositoryImpl
import com.android.systemui.controls.controller.ControlsBindingController
import com.android.systemui.controls.controller.ControlsBindingControllerImpl
import com.android.systemui.controls.controller.ControlsController
@@ -40,14 +38,20 @@ import com.android.systemui.controls.panels.SelectedComponentRepository
import com.android.systemui.controls.panels.SelectedComponentRepositoryImpl
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsDialogManagerImpl
import com.android.systemui.controls.settings.ControlsSettingsRepository
import com.android.systemui.controls.settings.ControlsSettingsRepositoryImpl
import com.android.systemui.controls.ui.ControlActionCoordinator
import com.android.systemui.controls.ui.ControlActionCoordinatorImpl
import com.android.systemui.controls.ui.ControlsActivity
import com.android.systemui.controls.ui.ControlsUiController
import com.android.systemui.controls.ui.ControlsUiControllerImpl
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.DeviceControlsTile
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig
import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig
import dagger.Binds
import dagger.BindsOptionalOf
import dagger.Module
@@ -75,6 +79,22 @@ abstract class ControlsModule {
        fun providesControlsFeatureEnabled(pm: PackageManager): Boolean {
            return pm.hasSystemFeature(PackageManager.FEATURE_CONTROLS)
        }

        const val DEVICE_CONTROLS_SPEC = "controls"

        @Provides
        @IntoMap
        @StringKey(DEVICE_CONTROLS_SPEC)
        fun provideDeviceControlsTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =
                QSTileConfig(
                        tileSpec = TileSpec.create(DEVICE_CONTROLS_SPEC),
                        uiConfig =
                        QSTileUIConfig.Resource(
                                iconRes = com.android.systemui.res.R.drawable.controls_icon,
                                labelRes = com.android.systemui.res.R.string.quick_controls_title
                        ),
                        instanceId = uiEventLogger.getNewInstanceId(),
                )
    }

    @Binds
+24 −0
Original line number Diff line number Diff line
@@ -36,6 +36,11 @@ import com.android.systemui.dreams.complication.dagger.ComplicationComponent;
import com.android.systemui.dreams.homecontrols.DreamActivityProvider;
import com.android.systemui.dreams.homecontrols.DreamActivityProviderImpl;
import com.android.systemui.dreams.homecontrols.HomeControlsDreamService;
import com.android.systemui.qs.QsEventLogger;
import com.android.systemui.qs.pipeline.shared.TileSpec;
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig;
import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy;
import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig;
import com.android.systemui.res.R;
import com.android.systemui.touch.TouchInsetManager;

@@ -44,6 +49,7 @@ import dagger.Module;
import dagger.Provides;
import dagger.multibindings.ClassKey;
import dagger.multibindings.IntoMap;
import dagger.multibindings.StringKey;

import java.util.Optional;
import java.util.concurrent.Executor;
@@ -70,6 +76,7 @@ public interface DreamModule {
    String DREAM_SUPPORTED = "dream_supported";
    String DREAM_OVERLAY_WINDOW_TITLE = "dream_overlay_window_title";
    String HOME_CONTROL_PANEL_DREAM_COMPONENT = "home_control_panel_dream_component";
    String DREAM_TILE_SPEC = "dream";

    /**
     * Provides the dream component
@@ -178,6 +185,23 @@ public interface DreamModule {
        return resources.getString(R.string.app_label);
    }

    /** Provides config for the dream tile */
    @Provides
    @IntoMap
    @StringKey(DREAM_TILE_SPEC)
    static QSTileConfig provideDreamTileConfig(QsEventLogger uiEventLogger) {
        TileSpec tileSpec = TileSpec.create(DREAM_TILE_SPEC);
        return new QSTileConfig(tileSpec,
                new QSTileUIConfig.Resource(
                        R.drawable.ic_qs_screen_saver,
                        R.string.quick_settings_screensaver_label),
                uiEventLogger.getNewInstanceId(),
                tileSpec.getSpec(),
                QSTilePolicy.NoRestrictions.INSTANCE
                );
    }


    /** Provides activity for dream service */
    @Binds
    DreamActivityProvider bindActivityProvider(DreamActivityProviderImpl impl);
+24 −0
Original line number Diff line number Diff line
@@ -16,10 +16,16 @@

package com.android.systemui.qrcodescanner.dagger

import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.QRCodeScannerTile
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig
import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig
import com.android.systemui.res.R
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.multibindings.IntoMap
import dagger.multibindings.StringKey

@@ -31,4 +37,22 @@ interface QRCodeScannerModule {
    @IntoMap
    @StringKey(QRCodeScannerTile.TILE_SPEC)
    fun bindQRCodeScannerTile(qrCodeScannerTile: QRCodeScannerTile): QSTileImpl<*>

    companion object {
        const val QR_CODE_SCANNER_TILE_SPEC = "qr_code_scanner"

        @Provides
        @IntoMap
        @StringKey(QR_CODE_SCANNER_TILE_SPEC)
        fun provideQRCodeScannerTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =
            QSTileConfig(
                tileSpec = TileSpec.create(QR_CODE_SCANNER_TILE_SPEC),
                uiConfig =
                    QSTileUIConfig.Resource(
                        iconRes = R.drawable.ic_qr_code_scanner,
                        labelRes = R.string.qr_code_scanner_title,
                    ),
                instanceId = uiEventLogger.getNewInstanceId(),
            )
    }
}
+1 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ sealed class TileSpec private constructor(open val spec: String) {

    companion object {
        /** Create a [TileSpec] from the string [spec]. */
        @JvmStatic
        fun create(spec: String): TileSpec {
            return if (TextUtils.isEmpty(spec)) {
                Invalid
Loading