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

Commit f69d2cde authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Flag new default tiles and default large tiles" into main

parents d645fe6b d1a800ce
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