Google может разрешить пользователям управлять скрытой корзиной Android в Android 12

Мы обнаружили в Android 12 доказательства того, что Google позволит пользователям управлять скрытой корзиной Android для удаленных элементов.

Google I/O 2021 стартует 18 мая следующего месяца, и на этом мероприятии мы ожидаем, что Google объявит обо всех функциях, которые появятся в Андроид 12. Перед началом мероприятия мы собрали как можно больше информации о последнем выпуске ОС из двух общедоступных предварительных версий для разработчиков. На днях мы тоже получили руки на невыпущенной сборке Android 12 и продемонстрировал множество небольших функциональных и дизайнерских изменений, которые мы смогли найти. Изучив фреймворк и системные приложения, мы обнаружили код, который предполагает, что Google может использовать скрытую функцию корзины/корзины Android в настройках хранилища.

Разборка APK часто может предсказать функции, которые могут появиться в будущем обновлении приложения, но возможно, что любая из упомянутых здесь функций может не появиться в будущем выпуске. Это связано с тем, что эти функции в настоящее время не реализованы в текущей сборке и могут быть отключены разработчиками в любое время в будущей сборке.

В прошлом году Google выпустила Android 11, в которой были внесены серьезные изменения в способ доступа приложений к хранилищу устройства. Эти изменения, которые Google называет «Scoped Storage», значительно ограничивают объем доступа к хранилищу, которое приложение может получить по умолчанию. Хотя некоторые приложения, такие как файловые менеджеры может запросить широкий доступ к хранилищу устройства, другие приложения должны использовать альтернативные API для добавления, открытия, редактирования или удаления файлов в хранилище. Один из этих API называется API медиамагазина, а также предоставляет доступ к распространенным медиафайлам, таким как аудио, видео и изображения. MediaStore на самом деле существует уже некоторое время, но Google добавил новую функцию в API с выпуском Android 11: разгром.

Приложения, использующие MediaStore API, могут не удалять файл, а отправлять его в корзину, чтобы дать пользователям возможность восстановить файл позже. Большинство настольных операционных систем имеют аналогичную функцию, но сам Android 11 не предоставляет общесистемную папку «Корзина» или «Корзина», в которой перечислены все файлы, которые были удалены. Вместо этого приложения, имеющие доступ к редактированию удаленных файлов или запрашивающие согласие пользователя, могут отображать элементы из скрытой корзины, и мы обнаружили доказательства того, что собственное приложение Google Files by Google готовится добавить такую ​​функцию.

Скрытая папка «Корзина» в приложении «Файлы от Google».

Однако с Android 12 похоже, что Google работает над добавлением новой записи в «Настройки»> «Хранилище», чтобы показать, сколько места для хранения занимают все удаленные элементы. Нажатие на эту запись запустит фрагмент, показывающий количество файлов, которые были удалены из корзины, а также позволяет пользователю очистить корзину, но точка входа обычно недоступна, поскольку Google жестко запрограммировал ее для ЛОЖЬ. Тем не менее, благодаря небольшим усилиям и помощи от XDA Закари Вандер, нам удалось получить точку входа и диалоговое окно.

Хотя пользователи могут очистить корзину отсюда, мы не знаем, смогут ли пользователи восстановить их через эту точку входа. Предстоящий Функция корзины в Files by Google тем не менее, позволит пользователям просматривать, восстанавливать или безвозвратно удалять элементы из корзины. Мы не удивимся, если Google планирует развернуть новую функцию в Files by Google одновременно с Android. 12, хотя технически функция Files by Google Trash на самом деле не требует, чтобы Android 12 был установлен.

Элементы корзины на Android в настоящее время скрыты от большинства файловых менеджеров, поскольку перед ними стоит символ «.». в имени файла, как понимает Android, файл следует считать скрытым. Эти скрытые испорченные файлы хранятся в том же каталоге, где они изначально находились, а не перемещаются в общесистемную папку «Корзина/Корзина». Судя по тому, что нам известно, не похоже, что Google планирует добавить настоящую корзину/корзину. в Android 12, но похоже, что Google планирует, по крайней мере, сделать Корзину более заметной особенность. Одна проблема заключается в том, что приложения должны использовать MediaStore API, чтобы помечать файлы как «удаленные», поэтому некоторые приложения будут продолжать постоянно удалять файлы или использовать собственную корзину, не позволяя пользователям просматривать и восстанавливать их в одном легкодоступном расположение.

Спасибо PNF Software за предоставление нам лицензии на использование JEB-декомпилятор, профессиональный инструмент обратного проектирования для приложений Android.