TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #353 · 22.05

Третий сезон ❤️☠️🤖, пожалуй, всё ещё уступает первому, но вышел существенно лучше второго. Вообще, я посмотрел в сети, и, оказывается, к первому сезону привлекли 11 разных стран для разработки, а ко второму и третьему только по 4 страны, а большинство эпизодов делали США. То есть проект начинался, как международный, но потом изначальные авторы почти целиком забрали его себе. Ударило ли по качеству именно это — сложно сказать — но признак не самый хороший. Во втором сезоне мне запомнилась буквально пара эпизодов. Его проблема была в том, что он короткий, недосказанный, и не с такими интересными идеями. Третий сезон двинулся в сторону улучшения, но всё равно на его фоне некоторые серии из первого сезона, которые казались чисто проходными, внезапно обрели глубину и интересность. Далее пройдусь по эпизодам без спойлеров. «Three Robots: Exit Strategies» (три робота) Продолжение короткой зарисовки из первой части, где человечество погибло в результате войны с роботами, и роботы ходят по руинам и рассуждают с шутками о всяких жизненных вещах. Есть очень классные язвительные подколки в сторону людей и их недостатков, я бы с удовольствием посмотрел ещё несколько эпизодов в этой вселенной. «Bad Travelling» (про гигантского краба) Очень крутая серия, в моём личном рейтинге лучшая в сезоне. Это то, за что я в целом ценю весь проект: тут есть и экшен, и нагнетание атмосферы, и острые социальные высказывания, и крутой неоднозначный герой, чью мотивацию ты понимаешь полностью только к концу. «The Very Pulse of the Machine» (про космонавток на Ио) Ну такое себе. Подобную тему можно было, на мой взгляд, раскрыть гораздо круче. А здесь что-то полу-наркоманское. Посмотрел без особого удовольствия, но и перемотать не хотелось. «Night of the Mini Dead» (зомби в миниатюре) По сюжету совершенно ничего интересного, вся серия держится на визуальном стиле: миниатюрная кукольная анимация (представьте себе Гранд Макет, в котором сняли покадровый фильм, передвигая фигурки). Интересно, потому что необычно, но я бы такое ожидал скорее в формате ролика на ютубе, а не в высокобюджетном проекте от крупной студии. «Kill Team Kill» (про медведя) Классический экшен-эпизод, где просто драка без какой-либо сюжетной мысли. Пару таких серий мы видели в первом сезоне: про ограбление колонны («Blindspot») и про мехов против пришельцев («Suits»). Но в первом сезоне был более интересный сеттинг, а здесь, на мой взгляд, нет. С мехами куда круче и эффектнее смотрится. «Swarm» (рой в космосе) Пожалуй, вторая по интересности серия в моём личном рейтинге. Очень классный сюжет, очень классная задумка, хочется посмотреть что-то более длинное с этой тематикой. Концовку объяснили не слишком хорошо, и приходится строить собственные теории, но в остальном шикарно. «Mason's Rats» (война с крысами) Тоже офигенная идея, классный экшен, жёсткий чёрный юмор, и тоже как будто не хватило времени, я бы сделал минут на 10-15 дольше, чуть помедленнее подавая события. Но однозначно один из лучших эпизодов сезона. «In Vaulted Halls Entombed» (солдаты в пещере) Классический эпизод-ужастик, мы это видели в первой части в серии «Sucker of Souls» (про дракулу). Там, кстати, тоже пещера, и вообще довольно похоже всё. В общем, вся серия как визуализация какой-нибудь одной статьи про SCP — сюжета считайте нет, но криповенько и со вкусом. «Jibaro» (танцующая девушка в озере) Это, кажется, то ли экранизация японского театра Кабуки, то ли что-то похожее. Вся серия вычурно театральная, причем даже не в нашем привычном европейском стиле. Она немая, держится на костюмах и движениях, сюжет ясен только в общих чертах. Мне вот совершенно не зашло, на очень большого любителя. Но, я думаю, есть люди, которые от неё в восторге. Тем не менее, насколько место таким экспериментам в как бы фантастическом сериале — для меня вопрос спорный. Ждём ещё пару лет.#fiction

Hashtags

Резултати

Намерени 16 подобни публикации

Търсене: #androidjetpack

当前筛选 #androidjetpack清除筛选
Android Broadcast

@android_broadcast · Post #9495 · 11.09.2025 г., 06:14

🚀 Вышел Room 2.8.0 Самая важная (она и единственная) фича свежего релиза - получение SupportSQLiteDatabase, являющегося оберткой над RoomDatabase с SQLiteDriver. Честно, не знаю кому это пригодится, поэтому будет полезно узнать от вас в комментариях практический опыт. Менее масштабные, но всё же важные изменения: 👉 minSdk подняли с 21 до 23 👉 Добавили поддержку KMP таргетов: watchOS и tvOS 🛠 Исправили баги #android#jetpack#androidjetpack

Android Broadcast

@android_broadcast · Post #9971 · 23.04.2026 г., 15:14

⚙️Jetpack Compose 1.11 — стабильный релиз! 🚀 Что нового: 👉 Визуальная отладка переходов Shared Elements 👉 Переработанная поддержка трекпадов — теперь работают как мышь и распознают жесты 👉 Preview Wrappers для более быстрой работы с превью 👉 Host Defaults для KMP-проектов 👉 Testing APIs v2 для корутин 👉 Экспериментальные API: Styles, MediaQuery, Grid, FlexBox Подробности по каждому пункту — отдельными постами в @compose_broadcast #Compose#Android#AndroidJetpack

Android Broadcast

@android_broadcast · Post #9526 · 25.09.2025 г., 08:07

🚀Вышла новая Jetpack библиотека - Security State Provider (пока в статусе Альфа) Основная цель библиотеки — предоставить действительные (actionable) данные о состоянии безопасности устройства и его компонентов, в частности: 👉 Версии обновляемых компонентов (updateable system components). 👉 Наличие применённых исправлений безопасности (security patches / applied fixes). 👉 Общий “security state” — то есть агрегированное представление безопасности системы. То есть, библиотека даёт вам API, чтобы “спросить у Android”: насколько актуальна система, есть ли уязвимости, какие компоненты нуждаются в обновлении. Она не заменяет шифрование/криптографию (как, скажем, security-crypto), но с дополняет стек безопасности: помогает принимать решения на основании состояния платформы. #android#androidjetpack#безопасность

Android Broadcast

@android_broadcast · Post #9525 · 25.09.2025 г., 07:40

🤖Вышел Jetpack Window 1.5.0 Что нового: 👉WindowSizeClass появились разделения для больших (Large - от 1200 до 1600) и очень больших (XLarge - более 1600 dp) экранов 👉 Получение WindowMetrics теперь работает с Application Context, а не только с UI Context 👉 Добавили API для автоматического сохранения и восстановления статуса встраивания Activity при перезапуске процесса 👉 Удалили экспериментальное API WindowInsets #android#androidjetpack#jetpackupdate

Android Broadcast

@android_broadcast · Post #9655 · 06.11.2025 г., 09:45

🚀Вышел Core SplashScreen 1.2.0 Что нового: 🌙 Добавлен атрибут isLightTheme для тем SplashScreen — можно корректно выбирать оформление под светлую/тёмную тему 🖼 Иконка загрузки теперь корректно подтягивается через AppCompatResources (улучшена поддержка ресурсов и векторных изображений) 👉 Убрали ручное объявление обращения к новым API — теперь всё автоматически моделируется при сборке с AGP ≥ 7.3 и R8 ≥ 3.3 🐘 Для AGP 8.1 и выше — всё работает “из коробки” без дополнительных настроек ⚙️ (рекомендуется обновление до этой версии AGP или выше) #android#jetpack#androidjetpack#jetpackupdate

Android Broadcast

@android_broadcast · Post #9574 · 20.10.2025 г., 10:06

🤖Как проверить, какие комбинации фичей поддерживает камера смартфона Современные смартфоны умеют снимать с HDR, 120 FPS и стабилизацией, но вот какая комбинация этих фич реально доступна — загадка. Например, стабилизация часто работает только при 1080p, а 60 FPS не всегда доступны в 4K. С выходом Jetpack CameraX 1.5 появилось API GroupableFeature и новые параметры для SessionConfig, которые позволяют из кода проверить, какие функции камера может использовать одновременно. // Пример проверки неподдерживаемых комбинаций val unsupportedFeatures = mutableSetOf<GroupableFeature>() val appFeatureOptions = setOf(HDR_HLG10, FPS_60, PREVIEW_STABILIZATION) appFeatureOptions .filterNot { it in currentFeatures } .filter { featureOption -> cameraInfo.isFeatureGroupSupported( SessionConfig( useCases = useCases, requiredFeatureGroup = currentFeatures + featureOption ) ) } .forEach { unsupportedFeatures.add(it) } Так можно заранее отсеять неподдерживаемые сочетания — например, когда HDR и стабилизация не работают вместе при 60 FPS 🎥 Подробнее в статье (EN) #android#camerax#Jetpack#androidjetpack

Android Broadcast

@android_broadcast · Post #9993 · 19.05.2026 г., 06:17

🚀Jetpack Telecom 1.1.0 добавил то, чего не хватало VoIP-приложениям с самого начала — историю звонков прямо в системном дайлере. До этого момента пропущенный звонок в Telegram или любом другом VoIP-приложении требовал переключиться в само приложение, найти вкладку с историей и перезвонить оттуда. Теперь это можно делать прямо из нативного дайлера Android. Работает через два новых механизма. Первый — интеграция лога звонков. Приложение регистрирует звонки через TelecomManager.addCall, и они автоматически попадают в системную историю. Для обратного звонка нужно зарегистрировать intent-фильтр на TelecomManager.ACTION_CALL_BACK и правильно обработать EXTRA_UUID, который система отдаёт вместе с вызовом. UUID генерирует CallControlScope.getCallId в момент регистрации звонка — его и нужно хранить, чтобы потом разрезолвить детали вызова. Второй механизм — исключение из лога. Не каждый звонок стоит светить в системной истории, и теперь это явно контролируется через флаг isLogExcluded = true в CallAttributesCompat. Например, эфемерные или приватные звонки можно просто не записывать. ‼️ ВАЖНО: фичи доступны только на Android 16.1 (SDK 36.1) и выше. Кроме того, нативные дайлеры используют package allowlist для контроля того, какие VoIP-приложения отображаются в истории. Роллаут идёт поэтапно, первым подключился Google Meet. Для локального тестирования Google рекомендует Telecom Sample Dialer из platform-samples. Меня радует сам вектор: Google последовательно закрывает разрыв между VoIP и нативной телефонией. Жаль, что allowlist пока ограничивает возможности сторонних приложений. Печально то, что это делают так поздно, когда звонки не по телефону делают уже 5–10 лет. 🔗 Источник: android-developers.googleblog.com #Android#Telecom#AndroidJetpack

Android Broadcast

@android_broadcast · Post #9809 · 19.01.2026 г., 11:53

🚀Google взялась за упрощение Picture‑in‑Picture PiP на Android долго был зоопарком: разный API на версиях, разный UI‑стейт, много if (SDK_INT…) и бойлерплейта. Новая Jetpack‑библиотека androidx.core:core-pip как раз и создана, чтобы это спрятать: она выравнивает вызовы PiP между версиями Android, даёт единый способ задавать параметры (особенно для видео/плееров), объединяет разрозненные колбэки состояния PiP и уменьшает количество кода за счёт готовых пресетов действий для типовых сценариев. Требования: обновляем Activity Чтобы всё это заработало, мало просто подключить core-pip — нужно обновиться до свежей Activity 1.13.0 (пока в альфе). В этой версии есть новые API для отслеживания состояния PiP (PictureInPictureUiStateCompat и слушатели), на которых удобно строить логику поведения UI, когда окно уходит в PiP или, например, «прячется» в угол. // Пример кода: реагируем на состояние PiP class PlayerActivity : ComponentActivity() { private val pipUiStateListener = Consumer<PictureInPictureUiStateCompat> { state -> if (state.isStashed) { /* спрятать контролы плеера */ } else { /* показать контролы плеера */ } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... инициализация UI / плеера ... addOnPictureInPictureUiStateChangedListener(pipUiStateListener) } override fun onDestroy() { removeOnPictureInPictureUiStateChangedListener(pipUiStateListener) super.onDestroy() } } 🔗 Подробности про библиотека в документации #Android#AndroidDev#AndroidJetpack#PIP

Android Broadcast

@android_broadcast · Post #9654 · 06.11.2025 г., 09:40

🚀 Вышел SavedState 1.4.0 — теперь с поддержкой nullable типов Saved State — это библиотека Jetpack, которая помогает сохранять и восстанавливать состояние при пересоздании, например из-за изменений конфигурации в Android или при выгрузке процесса системой. Поддерживает Kotlin Multiplatform Вышел androidx.savedstate:1.4.0, и в этом обновлении основное внимание уделено улучшению API. Ключевое изменение - добавлена нативная поддержка nullable типов в SavedStateRegistryOwner.saved, а также в функциях encodeToSavedState() и decodeFromSavedState() — теперь можно напрямую сохранять и восстанавливать null-значения без костылей. // Теперь это работает корректно без дополнительных проверок. var name: String? by savedState(saved = "name", default = null) #android#jetpack#kotlin#kmp#jetpackupdate#androidjetpack

Android Broadcast

@android_broadcast · Post #9572 · 18.10.2025 г., 11:35

Вот реальная история, как знание механики работы ViewModel спасло мне вечер 👇 У меня приложение на Compose и Jetpack Navigation 3 (работает на основе состояния Back Stack). Экран «Навигатор файлов» открывает папки рекурсивно: по сути это тот же экран, но с другими данными. Все данные — из одной и той же ViewModel.❗️Баг: при переходе в папку навигация срабатывает, UI не меняется. Современные ИИ подсказали общие вещи, но не помогли — промты, видимо, подвели (тут мне ещё надо прокачать знания) 🙂 Вспомнил ключевой факт про архитектуру: 👉 Все ViewModel живут в ViewModelStore. 👉 В пределах одного ViewModelStoreOwner (Activity/Fragment/NavBackStackEntry) получение ViewModel по умолчанию идёт по типу. 👉 Если нужно несколько экземпляров одного типа на одном owner’е — используем key. Решение в одну строку — привязать ключ к ViewModel, связанный с текущей папкой: @Composable fun FileNavigator( folderId: Id, modifier: Modifier = Modifier, ) { // новый folderId → новый экземпляр ViewModel → новый UI-стейт val viewModel: FileNavigatorViewModel = viewModel( key = "files(rootId='$folderId')" ) // ... } Мини-чеклист, если ловите такой баг 👉 Один экран используется повторно с разными параметрами? → Нужен key. 👉 Меняется route, но owner тот же? → key обязателен. 👉 Используете Hilt/Koin? → У этих функций тоже есть параметр key (hiltViewModel(key=...), koinViewModel(key=...)). 👉 key должен детерминированно зависеть от входных данных (например, folderId). 👉 При навигации назад убедитесь, что ViewModel освобождается ожидаемо. Ещё нюанс - если у вас сложная иерархия графов, проверьте, к какому ViewModelStoreOwner вы реально привязаны. Рекомендую посмотреть мои видео по теме: 📹Разбор Jetpack Navigation 3 🪙Полный разбор Jetpack ViewModel в Android и Kotlin Multiplatform #android#compose#androidjetpack#viewmodel#архитектура

Android Broadcast

@android_broadcast · Post #9588 · 23.10.2025 г., 10:19

🚀Вышел Jetpack WorkManager 2.11.0 Что важного в новой версии: ❗️ minSdk: 23 (Marshmallow). Lollipop (API 21–22) больше не поддерживается. 🎉 Новое API: setRemoteSessionTimeoutMillis() в Configuration.Builder — задаёт время жизни сессии RemoteWorkManager после последнего использования. class App : Application(), Configuration.Provider { override fun getWorkManagerConfiguration(): Configuration { return Configuration.Builder() // Сколько живёт RemoteWorkManager-сессия после последнего использования .setRemoteSessionTimeoutMillis(TimeUnit.MINUTES.toMillis(5)) .build() } } 🎉 Тестирование: TestDriver.stopRunningWorkWithReason(...) — можно останавливать выполняющуюся работу с указанием причины. Зачем: удобно эмулировать внешние условия (остановку системой/приложением) и проверять, что код корректно реагирует на «принудительное завершение». // Arrange val request = OneTimeWorkRequestBuilder<MyWorker>().build() WorkManager.getInstance(context).enqueue(request).result.get() // Act val testDriver = WorkManagerTestInitHelper.getTestDriver(context)!! testDriver.stopRunningWorkWithReason( request.id, /* reason */ 0 // укажите код причины, например ваш тестовый/константу из проекта ) // Assert — далее проверяете ожидаемое состояние 🛠 Также сделали исправление багов #android#jetpack#workmanager#jetpackupdate#androidjetpack

Android Broadcast

@android_broadcast · Post #9708 · 01.12.2025 г., 06:36

‼️Google отменяет Compose Material Icons С релизом Compose Material 3 — версии 1.4.0 Google сделала радикальный шаг: библиотека androidx.compose.material.icons исключена из Material3 и больше не рекомендуется к использованию. Что произошло 👉 Material Icons удалены из актуального релиза Material3 1.4.0 👉 Поддержка библиотеки прекращена 👉 Можно подключить вручную, но это временная мера для тех, кто не успел мигрировать ❌ Основная причина отказа - негативное влияние на скорость сборки. Библиотека Material Icons тащит весь огромный набор иконок. Это ощутимо увеличивает build time крупных Android и Compose Multiplatform проектов. Google предлагает переходить на Vector Drawable XML в Android или Compose Multiplatform ресурсах. Скачивайте иконки с вкладки Android на странице Material Symbols и храните в ресурсах проекта Преимущества использования Material Symbole: ✔️ актуальный набор иконок ✔️ минимальный вес и отсутствие лишних зависимостей ✔️ предсказуемое время сборки ✔️ лучший контроль над ресурсами проекта ❗️ Обновлений библиотеки Material Icons не будет! Источник - официальная документация Android Jepack Благодарю подписчика Evgeny F. за то, что обратил внимание на изменение. #Android#AndroidJetpack#Material3#Compose#CMP

12
ПредишнаСтр. 1 от 2Следваща