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

Commit d1a800ce authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Flag new default tiles and default large tiles

Test: manual, reset tiles
Fixes: 404501518
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Change-Id: Icd0dcf4b388b959d4262c6b3a4f52ee87d9fd262
parent f592160b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -105,6 +105,11 @@
        internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.v33.SafetyCenterQsTileService)
    </string>

    <!-- The default tiles to display in QuickSettings with the new UI -->
    <string name="quick_settings_tiles_new_default" translatable="false">
        internet,bt,dnd,cast,flashlight,airplane,rotation,wallet,alarm,controls,screenrecord,battery
    </string>

    <!-- The class path of the Safety Quick Settings Tile -->
    <string name="safety_quick_settings_tile_class" translatable="false">
        com.android.permissioncontroller.permission.service.v33.SafetyCenterQsTileService
+5 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.provider.Settings;
import androidx.annotation.NonNull;

import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.qs.flags.QsInCompose;
import com.android.systemui.res.R;

import java.util.ArrayList;
@@ -41,7 +42,10 @@ public interface QSHost {
    static List<String> getDefaultSpecs(Resources res) {
        final ArrayList<String> tiles = new ArrayList();

        final String defaultTileList = res.getString(R.string.quick_settings_tiles_default);
        int resource = QsInCompose.isEnabled() ? R.string.quick_settings_tiles_new_default
                : R.string.quick_settings_tiles_default;

        final String defaultTileList = res.getString(resource);

        tiles.addAll(Arrays.asList(defaultTileList.split(",")));
        return tiles;
+3 −1
Original line number Diff line number Diff line
@@ -16,10 +16,12 @@

package com.android.systemui.qs.dagger;

import com.android.systemui.qs.panels.dagger.PanelsModule;

import dagger.Module;

/**
 * Module for QS dependencies for AOSP inclusion
 */
@Module(includes = { QSModuleBase.class})
@Module(includes = { PanelsModule.class, QSModuleBase.class })
public interface QSModule { }
+0 −2
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import com.android.systemui.qs.ReduceBrightColorsController
import com.android.systemui.qs.ReduceBrightColorsControllerImpl
import com.android.systemui.qs.composefragment.dagger.QSFragmentComposeModule
import com.android.systemui.qs.external.QSExternalModule
import com.android.systemui.qs.panels.dagger.PanelsModule
import com.android.systemui.qs.pipeline.dagger.QSPipelineModule
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.base.ui.model.QSTilesModule
@@ -40,7 +39,6 @@ import dagger.multibindings.Multibinds
    includes =
        [
            MediaModule::class,
            PanelsModule::class,
            QSFragmentComposeModule::class,
            QSExternalModule::class,
            QSFlagsModule::class,
+2 −77
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 * Copyright (C) 2025 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -16,90 +16,15 @@

package com.android.systemui.qs.panels.dagger

import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.LogBufferFactory
import com.android.systemui.qs.panels.data.repository.DefaultLargeTilesRepository
import com.android.systemui.qs.panels.data.repository.DefaultLargeTilesRepositoryImpl
import com.android.systemui.qs.panels.domain.interactor.EditTilesResetInteractor
import com.android.systemui.qs.panels.domain.interactor.SizedTilesResetInteractor
import com.android.systemui.qs.panels.domain.startable.QSPanelsCoreStartable
import com.android.systemui.qs.panels.shared.model.GridLayoutType
import com.android.systemui.qs.panels.shared.model.InfiniteGridLayoutType
import com.android.systemui.qs.panels.shared.model.PaginatedGridLayoutType
import com.android.systemui.qs.panels.shared.model.PanelsLog
import com.android.systemui.qs.panels.ui.compose.GridLayout
import com.android.systemui.qs.panels.ui.compose.PaginatableGridLayout
import com.android.systemui.qs.panels.ui.compose.PaginatedGridLayout
import com.android.systemui.qs.panels.ui.compose.infinitegrid.InfiniteGridLayout
import com.android.systemui.qs.panels.ui.viewmodel.IconTilesViewModel
import com.android.systemui.qs.panels.ui.viewmodel.IconTilesViewModelImpl
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.multibindings.ClassKey
import dagger.multibindings.IntoMap
import dagger.multibindings.IntoSet
import javax.inject.Named

@Module
@Module(includes = [PanelsModuleBase::class])
interface PanelsModule {
    @Binds
    fun bindDefaultLargeTilesSpecsRepository(
        impl: DefaultLargeTilesRepositoryImpl
    ): DefaultLargeTilesRepository

    @Binds
    fun bindEditTilesResetInteractor(impl: SizedTilesResetInteractor): EditTilesResetInteractor

    @Binds fun bindIconTilesViewModel(impl: IconTilesViewModelImpl): IconTilesViewModel

    @Binds
    @PaginatedBaseLayoutType
    fun bindPaginatedBaseGridLayout(impl: InfiniteGridLayout): PaginatableGridLayout

    @Binds @Named("Default") fun bindDefaultGridLayout(impl: PaginatedGridLayout): GridLayout

    @Binds
    @IntoMap
    @ClassKey(QSPanelsCoreStartable::class)
    fun bindQSPanelsCoreStartable(impl: QSPanelsCoreStartable): CoreStartable

    companion object {
        @Provides
        @SysUISingleton
        @PanelsLog
        fun providesPanelsLog(factory: LogBufferFactory): LogBuffer {
            return factory.create("PanelsLog", 50)
        }

        @Provides
        @IntoSet
        fun provideGridLayout(gridLayout: InfiniteGridLayout): Pair<GridLayoutType, GridLayout> {
            return Pair(InfiniteGridLayoutType, gridLayout)
        }

        @Provides
        @IntoSet
        fun providePaginatedGridLayout(
            gridLayout: PaginatedGridLayout
        ): Pair<GridLayoutType, GridLayout> {
            return Pair(PaginatedGridLayoutType, gridLayout)
        }

        @Provides
        fun provideGridLayoutMap(
            entries: Set<@JvmSuppressWildcards Pair<GridLayoutType, GridLayout>>
        ): Map<GridLayoutType, GridLayout> {
            return entries.toMap()
        }

        @Provides
        fun provideGridLayoutTypes(
            entries: Set<@JvmSuppressWildcards Pair<GridLayoutType, GridLayout>>
        ): Set<GridLayoutType> {
            return entries.map { it.first }.toSet()
        }
    }
}
Loading