
Ранее на этой неделе мы сообщали, что практически все, что мы «видели» в Fuchsia, теперь исчезло, поскольку пользовательский интерфейс «Armadillo» был удален. Вместо него у нас остались только ссылки на три других «оболочки» или пользовательских интерфейса, которые Google держит закрытыми. Однако один из них, «Dragonglass», может дать больше ответов, чем мы первоначально предполагали.
На этой неделе, после того как мы поделились тремя кодовыми названиями, которые, по нашему мнению, связаны с закрытыми пользовательскими оболочками для Fuchsia — Dugonglass, Dragonglass и Flamingo — источник сообщил нам, что это не первый раз, когда мы сталкиваемся с кодовым названием «Dragonglass».
Dragonglass в приложении Google
В июне наши Абнер и Дилан провели анализ APK для приложения Google версии 8.6. В этой версии они обнаружили несколько альтернативных строк с метками «dragonglass» и «non_dragonglass». Вот пример фрагмента в формах «non_dragonglass» и «dragonglass».
«Voice Match настроен. Теперь вы можете включить персонализированные результаты, чтобы использовать свой голос для доступа к вашему календарю, контактам, напоминаниям и многому другому на этом устройстве.
Вы можете отключить персонализированные результаты в настройках Ассистента.»
«Voice Match настроен. Теперь вы можете включить персонализированные результаты, чтобы использовать свой голос для доступа к вашему календарю, контактам, напоминаниям и многому другому на этом устройстве.
Персонализированные результаты, а также персональные рекомендации YouTube могут появляться — без необходимости спрашивать — на главном экране и в виде уведомлений. Обратите внимание, что любопытные посторонние также могут касаться этих результатов и взаимодействовать с ними.
Вы можете отключить персонализированные результаты в настройках Ассистента.»
С добавлением рекомендаций YouTube и возможностью «любопытных посторонних» кажется очевидным, что это было сделано в рамках подготовки к первому смарт-дисплею от Ассистента, который появился примерно месяц спустя. Чтобы первоначально проверить это предположение, мы настроили Voice Match на Google Home Hub и убедились, что получили правильный текст.
Чтобы точно знать, какие функции приложение Google считает Dragonglass, а какие нет, мы декомпилировали приложение и отследили, когда используются строки Dragonglass. Функция ниже используется как единственный определитель того, является ли устройство Dragonglass. Мы переименовали некоторые элементы, чтобы их было легче читать.
Проще говоря: если устройство называет себя смарт-дисплеем, или если устройство Ассистента может иметь несколько пользователей и оснащено дисплеем, то это Dragonglass. По данным приложения Google, это означает, что все современные смарт-дисплеи Ассистента являются устройствами Dragonglass.
Dragonglass в Fuchsia и Chromium
Учитывая новый контекст, что кодовое название «Dragonglass» напрямую связано со смарт-дисплеями, давайте рассмотрим, что мы знаем о Dragonglass в связи с Fuchsia. Dragonglass упоминалось в комментариях к общедоступным изменениям кода Fuchsia всего четыре раза, что не дает нам много информации.
В одном изменении кода, касающемся замены слов «user shell» на «session shell», член команды Fuchsia спрашивает, тестировался ли Dragonglass с учетом существенных изменений.
В другом изменении (которое в итоге было отменено) сотрудник Google небрежно включает Dragonglass в список из трех элементов, один из которых, «Ermine», мы знаем как «session shell» и временную замену Armadillo. Это позволяет предположить, что Dragonglass также является «session shell» для Fuchsia.
Совсем недавно Dragonglass упоминалось как нечто, что можно скомпилировать как отдельный программный компонент и запустить на Estelle (одном из двух кодовых названий для Google Home Hub).
[…] теперь, когда у меня есть полностью скомпилированный бинарный файл dragonglass из google3, мы можем развернуть его на реальном устройстве, Estelle, и проверить, запускается ли он. Я ожидаю, что это произойдет после нашего возвращения с праздников.
Моя текущая теория заключается в том, что Dragonglass — это название пользовательского интерфейса смарт-дисплеев Google на всех платформах. Это подтверждается комментарием в Chromium, где разработчик использует фразу «Dragonglass UI» в отношении изменения Chromecast.
Один интерфейс, три платформы
Что еще неясно, так это то, как построен Dragonglass. На данный момент мы знаем, что большинство современных смарт-дисплеев работают на Android Things, в то время как Home Hub вместо этого работает на платформе Google Cast. Добавьте Fuchsia, и у нас есть три совершенно разные платформы, которые, похоже, используют одно и то же приложение / пользовательский интерфейс.
Каким-то образом Google создал это единое приложение Dragonglass для корректной работы на всех трех платформах. Это непростая задача, поскольку Fuchsia, не основанная на Linux, *очень* отличается от двух других платформ. Кроме того, поскольку он должен *выглядеть* одинаково, вполне возможно, что Google сможет заменить одну версию Dragonglass (например, версию Google Cast на Home Hub) на версию Fuchsia с минимальными или отсутствующими заметными изменениями на поверхности.
Это, конечно, беспрецедентно и не является наиболее вероятным шагом Google, но это интересная пища для размышлений.
Благодаря JEB Decompiler, используемому выше, который также используется в некоторых анализах APK.
Дилан внес вклад в эту статью.
Fuchsia Friday — это нерегулярная серия, в которой мы углубляемся в исходный код Fuchsia и интерпретируем, что текущее состояние ОС может означать для готового продукта. Вся информация в этой статье является предположением, основанным на доступной информации, и может быть изменена.