Split System category

Splitting System category in
Settings > Storage into "Android 14"
and "Temporary system files".

Android 14 is calculated as
StorageStatsManager#getTotalBytes - (size of /data partition).
Basically it's the size of all partitions
except for the userdata. It also includes
the storage rounding which we do to display
a nice round storage size (128GB, 256GB, etc).

Temporary System Files serves as "Everything else"
category that represents all the used storage
that didn't fall under any other category.
It's the same as how currently "System" category works.

Bug: 309801699
Test: atest StorageItemPreferenceControllerTest
Test: atest StorageCacheHelperTest
Change-Id: Ifae5819bf1d7a1a675df1fa67bd6dcdfa074b584
This commit is contained in:
alukin
2024-03-12 16:30:24 +00:00
parent c35fc38be9
commit f4329ada00
10 changed files with 201 additions and 25 deletions

View File

@@ -61,19 +61,31 @@
android:title="@string/storage_documents_and_other"
android:icon="@drawable/ic_folder_vd_theme_24"
android:order="106"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_system"
android:title="@string/storage_system"
android:icon="@drawable/ic_system_update"
android:order="107"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_trash"
android:title="@string/storage_trash"
android:icon="@drawable/ic_trash_can"
android:order="108"/>
<!-- Preference order 100~200 are 'ONLY' for storage category preferences above. -->
android:order="107"/>
<!-- Preference order 100~200 are 'ONLY' for storage category
preferences that are sorted by size. -->
<PreferenceCategory
android:key="storage_category_splitter"
android:title="@string/storage_system_label"
android:order="201"
settings:searchable="false">
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_system"
android:title="@string/storage_os_name"
android:icon="@drawable/ic_android_vd_theme_24"
android:order="202"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="temporary_files"
android:title="@string/storage_temporary_files"
android:icon="@drawable/ic_database_vd_theme_24"
android:order="203"/>
</PreferenceCategory>
<PreferenceCategory
android:key="pref_non_current_users"
android:title="@string/storage_other_users"
android:order="201" />
android:order="204" />
</PreferenceScreen>

View File

@@ -80,19 +80,31 @@
android:title="@string/storage_documents_and_other"
android:icon="@drawable/ic_folder_vd_theme_24"
android:order="106"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_system"
android:title="@string/storage_system"
android:icon="@drawable/ic_system_update"
android:order="107"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_trash"
android:title="@string/storage_trash"
android:icon="@drawable/ic_trash_can"
android:order="108"/>
<!-- Preference order 100~200 are 'ONLY' for storage category preferences above. -->
android:order="107"/>
<!-- Preference order 100~200 are 'ONLY' for storage category
preferences that are sorted by size. -->
<PreferenceCategory
android:key="storage_category_splitter"
android:title="@string/storage_system_label"
android:order="201"
settings:searchable="false">
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_system"
android:title="@string/storage_os_name"
android:icon="@drawable/ic_android_vd_theme_24"
android:order="202"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="temporary_files"
android:title="@string/storage_temporary_files"
android:icon="@drawable/ic_database_vd_theme_24"
android:order="203"/>
</PreferenceCategory>
<PreferenceCategory
android:key="pref_non_current_users"
android:title="@string/storage_other_users"
android:order="201" />
android:order="204" />
</PreferenceScreen>