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

Commit 4ba78b6f authored by Behnam Heydarshahi's avatar Behnam Heydarshahi
Browse files

add all configs for new tiles

Fixes: 335239152
Test: manual. device should boot properly.
Flag: aconfig com.android.systemui.qs_new_tiles DEVELOPMENT

Change-Id: Iaac266ed8cc0d563b54682f31b9dc1c3646f32b6
parent f8cf5ad7
Loading
Loading
Loading
Loading
+15 −0
Original line number Original line Diff line number Diff line
@@ -112,6 +112,7 @@ interface QSAccessibilityModule {
        const val COLOR_INVERSION_TILE_SPEC = "inversion"
        const val COLOR_INVERSION_TILE_SPEC = "inversion"
        const val FONT_SCALING_TILE_SPEC = "font_scaling"
        const val FONT_SCALING_TILE_SPEC = "font_scaling"
        const val REDUCE_BRIGHTNESS_TILE_SPEC = "reduce_brightness"
        const val REDUCE_BRIGHTNESS_TILE_SPEC = "reduce_brightness"
        const val ONE_HANDED_TILE_SPEC = "onehanded"


        @Provides
        @Provides
        @IntoMap
        @IntoMap
@@ -241,5 +242,19 @@ interface QSAccessibilityModule {
                    mapper,
                    mapper,
                )
                )
            else StubQSTileViewModel
            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 Original line Diff line number Diff line
@@ -20,8 +20,6 @@ import android.app.Activity
import android.content.pm.PackageManager
import android.content.pm.PackageManager
import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.ControlsMetricsLoggerImpl
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.ControlsBindingController
import com.android.systemui.controls.controller.ControlsBindingControllerImpl
import com.android.systemui.controls.controller.ControlsBindingControllerImpl
import com.android.systemui.controls.controller.ControlsController
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.panels.SelectedComponentRepositoryImpl
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsDialogManagerImpl
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.ControlActionCoordinator
import com.android.systemui.controls.ui.ControlActionCoordinatorImpl
import com.android.systemui.controls.ui.ControlActionCoordinatorImpl
import com.android.systemui.controls.ui.ControlsActivity
import com.android.systemui.controls.ui.ControlsActivity
import com.android.systemui.controls.ui.ControlsUiController
import com.android.systemui.controls.ui.ControlsUiController
import com.android.systemui.controls.ui.ControlsUiControllerImpl
import com.android.systemui.controls.ui.ControlsUiControllerImpl
import com.android.systemui.dagger.SysUISingleton
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.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.DeviceControlsTile
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.Binds
import dagger.BindsOptionalOf
import dagger.BindsOptionalOf
import dagger.Module
import dagger.Module
@@ -75,6 +79,22 @@ abstract class ControlsModule {
        fun providesControlsFeatureEnabled(pm: PackageManager): Boolean {
        fun providesControlsFeatureEnabled(pm: PackageManager): Boolean {
            return pm.hasSystemFeature(PackageManager.FEATURE_CONTROLS)
            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
    @Binds
+24 −0
Original line number Original line Diff line number Diff line
@@ -35,6 +35,11 @@ import com.android.systemui.dreams.complication.dagger.ComplicationComponent;
import com.android.systemui.dreams.homecontrols.DreamActivityProvider;
import com.android.systemui.dreams.homecontrols.DreamActivityProvider;
import com.android.systemui.dreams.homecontrols.DreamActivityProviderImpl;
import com.android.systemui.dreams.homecontrols.DreamActivityProviderImpl;
import com.android.systemui.dreams.homecontrols.HomeControlsDreamService;
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.res.R;
import com.android.systemui.touch.TouchInsetManager;
import com.android.systemui.touch.TouchInsetManager;


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


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


    /**
    /**
     * Provides the dream component
     * Provides the dream component
@@ -168,6 +175,23 @@ public interface DreamModule {
        return resources.getString(R.string.app_label);
        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 */
    /** Provides activity for dream service */
    @Binds
    @Binds
    DreamActivityProvider bindActivityProvider(DreamActivityProviderImpl impl);
    DreamActivityProvider bindActivityProvider(DreamActivityProviderImpl impl);
+24 −0
Original line number Original line Diff line number Diff line
@@ -16,10 +16,16 @@


package com.android.systemui.qrcodescanner.dagger
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.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.QRCodeScannerTile
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.Binds
import dagger.Module
import dagger.Module
import dagger.Provides
import dagger.multibindings.IntoMap
import dagger.multibindings.IntoMap
import dagger.multibindings.StringKey
import dagger.multibindings.StringKey


@@ -31,4 +37,22 @@ interface QRCodeScannerModule {
    @IntoMap
    @IntoMap
    @StringKey(QRCodeScannerTile.TILE_SPEC)
    @StringKey(QRCodeScannerTile.TILE_SPEC)
    fun bindQRCodeScannerTile(qrCodeScannerTile: QRCodeScannerTile): QSTileImpl<*>
    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 Original line Diff line number Diff line
@@ -60,6 +60,7 @@ sealed class TileSpec private constructor(open val spec: String) {


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