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

Commit cd78645f authored by Chris Antol's avatar Chris Antol
Browse files

Provide DeviceState hint text for Storage

Bug: 406566979
Test: none
Flag: com.android.settings.flags.device_state
Change-Id: I05ce8d77f1ce2aaccb8a0405f01d46ad8c5be152
parent 818bad90
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -164,7 +164,7 @@ class DeviceStateAppFunctionService : AppFunctionService() {
                        localized = metadata.getPreferenceTitle(applicationContext).toString()
                    ),
                    jsonValue = jsonValue,
                    hintText = config?.hintText ?: ""
                    hintText = config?.hintText(englishContext, metadata)
                )
            )
        }
+92 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.appfunctions

import android.content.Context
import com.android.settings.accessibility.ColorAndMotionScreen
import com.android.settings.accessibility.VibrationIntensityScreen
import com.android.settings.accessibility.VibrationScreen
@@ -42,10 +43,12 @@ import com.android.settings.network.tether.TetherScreen
import com.android.settings.notification.SoundScreen
import com.android.settings.security.LockScreenPreferenceScreen
import com.android.settings.spa.app.catalyst.AllAppsScreen
import com.android.settings.spa.app.catalyst.AppInfoStorageScreen
import com.android.settings.spa.app.catalyst.AppStorageAppListScreen
import com.android.settings.supervision.SupervisionDashboardScreen
import com.android.settings.supervision.SupervisionPinManagementScreen
import com.android.settingslib.metadata.PreferenceHierarchyGenerator
import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.getPreferenceSummary

enum class DeviceStateCategory(val functionId: String) {
    UNCATEGORIZED("getUncategorizedDeviceState"),
@@ -74,7 +77,8 @@ data class DeviceStateItemConfig(
    val enabled: Boolean = true,
    val settingKey: String,
    val settingScreenKey: String,
    val hintText: String = "",
    // TODO hint text should come from a "description" field, which currently only exists on Screens
    val hintText: (Context, PreferenceMetadata) -> String? = { _, _ -> null },
)

/**
@@ -548,4 +552,90 @@ fun getDeviceStateItemList() = listOf(
        settingKey = "vibrate_on",
        settingScreenKey = VibrationScreen.KEY
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = AppInfoStorageScreen.KEY,
        settingScreenKey =  AppStorageAppListScreen.KEY,
        hintText = { context, metadata ->
            metadata.extras(context)?.getString(AppInfoStorageScreen.KEY_EXTRA_PACKAGE_NAME)
        }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_SUMMARY_USED,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage currently used" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_SUMMARY_TOTAL,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_FREE_UP_SPACE,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { context, metadata -> metadata.getPreferenceSummary(context).toString() }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_APPS,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by apps" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_GAMES,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by games" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_DOCUMENTS,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by document files" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_VIDEOS,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by video files" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_AUDIO,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by audio files" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_IMAGES,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by image files" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_TRASH,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by files in trash" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_OTHER,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by other files" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_SYSTEM,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by the operating system" }
    ),
    DeviceStateItemConfig(
        enabled = true,
        settingKey = StoragePreferenceScreen.KEY_PREF_TEMP,
        settingScreenKey = StoragePreferenceScreen.KEY,
        hintText = { _, _ -> "Total device storage used by temporary system files" }
    ),
)
+27 −13
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ class StoragePreferenceScreen(

        // Storage Used
        +StoragePreference(
            "storage_summary_used",
            KEY_SUMMARY_USED,
            0,
            { null },
            { null },
@@ -89,7 +89,7 @@ class StoragePreferenceScreen(

        // Storage Total
        +StoragePreference(
            "storage_summary_total",
            KEY_SUMMARY_TOTAL,
            0,
            { null },
            { null },
@@ -104,7 +104,7 @@ class StoragePreferenceScreen(

        // Free up space
        +StoragePreference(
            "free_up_space",
            KEY_FREE_UP_SPACE,
            R.string.storage_free_up_space_title,
            { c ->
                Intent(StorageManager.ACTION_MANAGE_STORAGE).apply {
@@ -116,7 +116,7 @@ class StoragePreferenceScreen(

        // Apps
        +StoragePreference(
            "pref_apps",
            KEY_PREF_APPS,
            R.string.storage_apps,
            { c ->
                Intent("android.intent.action.MANAGE_PACKAGE_STORAGE")
@@ -129,7 +129,7 @@ class StoragePreferenceScreen(

        // Trash
        +StoragePreference(
            "pref_trash",
            KEY_PREF_TRASH,
            R.string.storage_trash,
            { c ->
                val intent = Intent("android.settings.VIEW_TRASH")
@@ -148,7 +148,7 @@ class StoragePreferenceScreen(

        // Images
        +StoragePreference(
            "pref_images",
            KEY_PREF_IMAGES,
            R.string.storage_images,
            { c ->
                Intent(Intent.ACTION_VIEW).apply {
@@ -162,7 +162,7 @@ class StoragePreferenceScreen(

        // Games
        +StoragePreference(
            "pref_games",
            KEY_PREF_GAMES,
            R.string.storage_games,
            {
                // TODO no intent for games storage exposed
@@ -175,7 +175,7 @@ class StoragePreferenceScreen(

        // Documents
        +StoragePreference(
            "pref_documents",
            KEY_PREF_DOCUMENTS,
            R.string.storage_documents,
            { c ->
                Intent(Intent.ACTION_VIEW).apply {
@@ -189,7 +189,7 @@ class StoragePreferenceScreen(

        // Other
        +StoragePreference(
            "pref_other",
            KEY_PREF_OTHER,
            R.string.storage_other,
            { c ->
                Intent(Intent.ACTION_VIEW).apply {
@@ -203,7 +203,7 @@ class StoragePreferenceScreen(

        // Audio
        +StoragePreference(
            "pref_audio",
            KEY_PREF_AUDIO,
            R.string.storage_audio,
            { c ->
                Intent(Intent.ACTION_VIEW).apply {
@@ -217,7 +217,7 @@ class StoragePreferenceScreen(

        // Video
        +StoragePreference(
            "pref_videos",
            KEY_PREF_VIDEOS,
            R.string.storage_videos,
            { c ->
                Intent(Intent.ACTION_VIEW).apply {
@@ -231,7 +231,7 @@ class StoragePreferenceScreen(

        // System - OS
        +StoragePreference(
            "pref_system",
            KEY_PREF_SYSTEM,
            0,
            { null },
            {
@@ -244,7 +244,7 @@ class StoragePreferenceScreen(

        // System - Temp
        +StoragePreference(
            "temporary_files",
            KEY_PREF_TEMP,
            R.string.storage_temporary_files,
            { null },
            {
@@ -342,5 +342,19 @@ class StoragePreferenceScreen(

    companion object {
        const val KEY = "storage_dashboard_fragment"

        const val KEY_SUMMARY_USED = "storage_summary_used"
        const val KEY_SUMMARY_TOTAL = "storage_summary_total"
        const val KEY_FREE_UP_SPACE = "free_up_space"
        const val KEY_PREF_APPS = "pref_apps"
        const val KEY_PREF_GAMES = "pref_games"
        const val KEY_PREF_DOCUMENTS = "pref_documents"
        const val KEY_PREF_VIDEOS = "pref_videos"
        const val KEY_PREF_AUDIO = "pref_audio"
        const val KEY_PREF_IMAGES = "pref_images"
        const val KEY_PREF_TRASH = "pref_trash"
        const val KEY_PREF_OTHER = "pref_other"
        const val KEY_PREF_SYSTEM = "pref_system"
        const val KEY_PREF_TEMP = "temporary_files"
    }
}