diff --git a/app.te b/app.te index 8b8eed954d7b19574add9047c20d03b28f1677cf..3c0a88b945ee93c9e289eb82df2d41b586c8f03a 100644 --- a/app.te +++ b/app.te @@ -104,6 +104,9 @@ allow appdomain wallpaper_file:file { getattr read write }; # Read/write cached ringtones (opened by system). allow appdomain ringtone_file:file { getattr read write }; +# Read ShortcutManager icon files (opened by system). +allow appdomain shortcut_manager_icons:file { getattr read }; + # Write to /data/anr/traces.txt. allow appdomain anr_data_file:dir search; allow appdomain anr_data_file:file { open append }; diff --git a/file.te b/file.te index 876ff36a6944ab79615c16a225b5b2509c4f472c..6f32aeb50b32a9b314afe551da15d28726715dbe 100644 --- a/file.te +++ b/file.te @@ -168,6 +168,8 @@ type cache_recovery_file, file_type, mlstrustedobject; type efs_file, file_type; # Type for wallpaper file. type wallpaper_file, file_type, data_file_type, mlstrustedobject; +# Type for shortcut manager icon file. +type shortcut_manager_icons, file_type, data_file_type, mlstrustedobject; # /mnt/asec type asec_apk_file, file_type, data_file_type, mlstrustedobject; # Elements of asec files (/mnt/asec) that are world readable diff --git a/file_contexts b/file_contexts index 543391dabb3ff410cac4787a78239857b4fe9f0a..a3cebbf476c3e3c9c05b0d888b97c3677b82c61c 100644 --- a/file_contexts +++ b/file_contexts @@ -330,6 +330,10 @@ # Ringtone files /data/system_de/[0-9]+/ringtones(/.*)? u:object_r:ringtone_file:s0 +# ShortcutManager icons, e.g. +# /data/system_ce/0/shortcut_service/bitmaps/com.example.app/1457472879282.png +/data/system_ce/[0-9]+/shortcut_service/bitmaps(/.*)? u:object_r:shortcut_manager_icons:s0 + ############################# # efs files # diff --git a/system_server.te b/system_server.te index 7602ec67527c9248a17f62b4b97f45a6557672ee..c8364e25d84325a7ebe2231f4fa88f7eb3028063 100644 --- a/system_server.te +++ b/system_server.te @@ -300,6 +300,12 @@ allow system_server system_data_file:file relabelfrom; allow system_server wallpaper_file:file relabelto; allow system_server wallpaper_file:file { rw_file_perms unlink }; + +# ShortcutManager icons +allow system_server system_data_file:dir relabelfrom; +allow system_server shortcut_manager_icons:dir { create_dir_perms relabelto }; +allow system_server shortcut_manager_icons:file create_file_perms; + # Manage ringtones. allow system_server ringtone_file:dir { create_dir_perms relabelto }; allow system_server ringtone_file:file create_file_perms;