Skip to content

Dynamic Island v1.6.1 · Динамический остров

Choose a tag to compare

@github-actions github-actions released this 25 Oct 07:01
5f2bfe1

🇬🇧 English

⚠️ New signing key. The old key became public, so since 1.6.1 the app is signed with a new one. If you have 1.6.0 or older, the update won't install over it: uninstall the old version once, install 1.6.1, then turn accessibility and notification access back on. After that, updates install over the top as before.

🌍 English

  • The app and the island speak English: every screen and island banner ("Charging", "Do Not Disturb", "Silent", "Paid", "Hold near reader"…), the alarm, player, navigation, calls and the update card. The wording matches the promo video; long English labels shrink a little instead of running into the camera.
  • Features → General → Language («Функции → Общие → Язык»): System default (Russian if the phone is in Russian, otherwise English), Русский or English. It switches right away, no restart needed.
  • The app name and the accessibility service description follow the phone's language. If a navigation app sends Russian units, the English island shows them in English too: "4.2 km", "12 min".
  • With a 12-hour clock, AM/PM is smaller than the digits, like on iPhone, so alarm and clock times don't stretch the capsule.

⬇️ Updates right in the island

  • Like in the video: "Version is available" with Later and Update, percent and a ring while it downloads, and after installing — "Updated" with What's new and Done.
  • If the APK is already downloaded but the installer didn't open (a permission is needed), the button becomes Install and installs the downloaded file without downloading it again. A download error shows in full right on the card, and a long caption shrinks a little instead of being cut off.
  • Try it («Проверка») has an Update demo: the card, running percent and "Updated", nothing is downloaded.
  • An update download no longer stops when you leave the About screen, and Install installs only the downloaded file of that very version.

🗂️ The app, reorganized

  • Four labeled tabs: Home, Features, Appearance and About («Главная», «Функции», «Оформление», «О приложении»). Settings are separate from the version, help and links.
  • Home keeps just the essentials: the live preview, Island on («Остров включён»), Permissions («Разрешения») in one row (all granted or what's missing) and Try it («Проверка»). While the accessibility service is off, a "Turn on the island" card with a button and instructions sits at the top.
  • Try it shows every demo on one screen as tiles: event, ring mode, message, call, timer, alarm, payment, navigation and update (alarm and update are new).
  • Features — what the island shows (cards, notifications, events, lyrics), controls (gestures, Behavior, system banners) and general (language, resetting settings).
  • Appearance — position and size, color and Liquid Glass, island expansion and effects.
  • About — the icon, version and whether an update is out, update checks, What's new at any time, instructions, navigation diagnostics, GitHub and About the island («Об острове»).
  • New screens: Behavior («Поведение»: when to show the island, collapsing, haptics, turning the screen on) and Notifications («Уведомления»: everything about messages in the island, including the button color). Dynamic cards and Events are now tidy sectioned lists without extra words.

🔔 Notification banner — sized like the system one

  • Width, margins and sizes now match an Android heads-up notification: 16 dp from the screen edges, a 40 dp avatar, 15 sp name, 14 sp text, 14 sp buttons, a smaller counter and reply field.
  • In iPhone island style: the app icon and name sit to the left of the camera and "now" with a bell to the right, and the notification itself starts below the status bar — at the same height as the system one, not right against the camera. The height follows the status bar and how far the island is lowered in Position.
  • Text grows with Android's font size without breaking the banner: the name and buttons are shortened with an ellipsis, the text takes up to three lines.

💬 Replying from the island works

  • Tapping the keyboard no longer closes the reply field: before, the very first letter collapsed the banner, so you couldn't reply at all.
  • The input closes when you hide the keyboard (Back), swipe the banner up, or tap outside the island while there's no keyboard. While a reply is open, Back closes the input instead of doing nothing.
  • The banner can't be swiped away by accident when your finger slides a little while tapping "Reply" — the swipe-up threshold is twice as large.
  • If a reply fails to send, you see "Не удалось отправить ответ" ("Couldn't send the reply") and the field keeps your text.
  • Your own reply no longer comes back to the island as a new banner when the messenger adds it to the notification.

🌙 Alarm — new

  • When you set an alarm, the island shows a banner: a small sleep dial, "Wake up 7:30" and how much sleep is left — "sleep 8 h 15 min".
  • 12 hours before the alarm it appears in the island: a moon on the left, the wake-up time on the right. Expanded — a sleep dial like iPhone's Sleep schedule: 24 hours around a circle, an arc from now to the alarm shifting from night indigo to morning orange, a moon and an alarm at its ends, the sleep left in the middle; next to it the large alarm time, "Wake up · tomorrow" and "Sleep — 8 h 15 min". A tap opens the Clock alarms.
  • The alarm comes from the system — it works with any Clock app, even with its notifications off. In the daytime "Wake up" and "sleep" become "Alarm" and "in". The expanded idle island shows the next alarm under the date.
  • Turn off separately: Dynamic cards → Alarm («Динамические карточки → Будильник») and Events → Alarm set («События → Будильник поставлен»).

⏱️ Clock timer and stopwatch without notifications

  • If Clock's notifications are off, Android gives them to no one. Now the island watches the Clock screen itself while it's open: tap Start — the timer or stopwatch is in the island right away and keeps running after you leave the app; Pause — it freezes with a pause icon; Reset or delete — it disappears. Without a tap the timer is recognized by its moving digits: a stopwatch within a fraction of a second, a timer within a second.
  • The island doesn't keep walking the whole Clock screen: it remembers the time labels and refreshes only them, and gets screen changes and taps only while Clock is open — the app doesn't lag.
  • If Clock's notifications are on, the island still takes the timer from them.
  • Buttons like the island's own timer: the expanded island shows pause/resume and reset for the Clock timer and stopwatch, and they control Clock itself. With Clock's notifications on, the island taps the notification's buttons — instantly and without opening the app. With them off, it opens Clock for a moment, finds the button by its label or id, checks whether the timer is really running (so a round toggle button isn't pressed the wrong way), taps it and brings you back; while a timer runs Reset isn't shown, so the island pauses it first.
  • Pausing from the island no longer "bounces back": the island knows it pressed Pause and doesn't take the last step of the digits while Clock was stopping as the stopwatch running; when paused it shows exactly the time Clock shows. A stopwatch with fractions of a second is seen as paused almost instantly.
  • Pausing from the island also sticks when the island briefly opens Clock: Clock reports the tap with the button's new label ("Resume"), and the island took that for Start — Clock was paused while the time in the island kept running. Now the island recognises its own tap and goes back only once Clock has actually stopped.
  • Inactive ones don't linger: a paused, reset, deleted or finished Clock timer or stopwatch leaves the island — a pause stays visible for 3 seconds, and a reset or delete in Clock is noticed even as you leave the app.
  • Less delay: the island also recognizes a Clock button by its id (Google Clock's round button), and reads the Clock screen one last time as you leave — a timer started right before leaving isn't lost.
  • "Set a timer" from a voice assistant, widget or another app can go to the island: "Dynamic Island" now appears in the chooser, and the timer starts right in it, without Clock.
  • System banners now has a tip: choose "Silent" and "Minimize" for Clock's notifications instead of turning them off completely, then everything works instantly.

💳 Payments: only when you pay with the phone

  • "Pay · Hold near reader" appears only on a phone payment screen — T-Pay, SberPay, Mir Pay, Yandex Pay, Google Wallet and others: the island waits for "Hold your phone up to the terminal" or Google's payment window, not just an open bank app. The island asks the system which apps can pay over NFC, so any bank works, not only known ones.
  • The banner stays until you pay or leave the app — before, it disappeared after 5 seconds in T-Pay. Android's NFC "Pay with…?" question doesn't count as leaving. Swipe it up to dismiss; it also goes away when the screen turns off and, just in case, after 3 minutes.
  • To get it right when you open a bank app, as before, turn on Events → Hint when opening a bank («События → Подсказка при открытии банка», off by default).
  • "Paid" with the amount appears as soon as the wallet (Mir Pay, Google Wallet, Samsung Wallet) shows its check mark and amount — no waiting for the bank's notification, which often comes later or never. Before, the "Pay" banner went away and the amount never showed. In bank apps the amount counts if it appeared after the payment screen, next to "Paid" or while the "Hold your phone" hint is still visible; the transaction history isn't taken for a payment.
  • "Paid" understands notifications from any bank and bank SMS (900, T-Bank, VTB and others); the same payment from the screen and from a notification isn't shown twice. An amount like "*1234. 89.99 RUB" is read correctly.
  • Like in the video: NFC waves spread from the island while it waits for the reader, and on "Paid" it bounces and a ring and sparks burst out.

🎬 The island as in the promo video

  • Icons are the same simple shapes as in the video: bolt, phone, moon, hourglass, bell, flashlight, headphones, Wi-Fi, plane, navigation arrow, player buttons.
  • Animations as in the video: the island morphs with a spring and a slight overshoot, old content fades out with a blur, new content appears from 90% size. The default Duration (35%) matches the video exactly; the slider still speeds things up and slows them down.
  • Full-width events: icon and name on the left, the value in color on the right — "Charging 68%" with a battery, "Headphones 80%" with a ring, "Wi-Fi Connected", "Do Not Disturb On". Long names shrink a little instead of an ellipsis.
  • Capsule: timer — hourglass and large time, call — phone, time and a green wave, navigation — arrow and bold "300 m", Silent — at full size.
  • Incoming call — avatar, "Incoming call" and the name, two round buttons; the green one breathes.
  • Navigation: a banner with the arrow, distance, street and arrival time; expanded — a circle with the arrow, the distance large and an Open button.
  • Player: bigger artwork, the lyrics as one line that fills with white as it's sung, a thin bar and three buttons.
  • Flashlight: a square card with a yellow flashlight in a glow and "Flashlight · 80%"; swipe to change brightness.
  • Reply: the send button sits next to the field; after sending — "Sent ✓" and to whom.
  • Updates right in the island: "Version available", what's new and Later / Update buttons — percent and a ring while it downloads; after installing — "Updated ✓".

✨ Effects — each one is a setting

  • A new Appearance → Animations → Effects section («Оформление → Анимации → Эффекты»): blur on change, live equalizer (turn it off and the bars stand still, which saves power), shake of the ring-mode pill and the timer bell, payment waves (NFC waves and the Paid burst). Reduce effects («Уменьшить эффекты») still turns everything off at once, and the section has its own Reset.
  • New artwork glow: a soft halo in the artwork's color around the island while music plays. You can see it on the island preview in settings too. Off by default.
  • Battery saving («Экономия заряда», off by default): when Android's battery saver is on, the island skips live effects by itself.

🧭 Behavior

  • Features → Behavior («Функции → Поведение»): Collapse the expanded island («Сворачивать раскрытый остров») — by itself after 5, 10, 20 or 30 seconds without a touch (by default only by tapping outside or swiping up); Second activity alongside («Вторая активность рядом») — the small circle with the second activity next to the capsule can be turned off.
  • Features → Notifications («Функции → Уведомления»): From the open app («Из открытого приложения») — also show notifications from the app that's on screen; Text lines («Строк текста») in the banner — from 1 to 6 (it was always 3).

🔋 Battery

  • While the screen is off, the island doesn't wake up: the time in its timers and clocks, Clock screen reading and the lyrics search wait until the screen turns on.
  • The alarm in the island is checked exactly twice — when it's 12 hours away and when it rings — instead of every half a minute.
  • The sleep dial in the capsule no longer pulses its glow: before, it could redraw the island every frame for hours.
  • The equalizer, the payment icon, the flashlight dot and the answer button now just redraw instead of rebuilding the island every frame; with Reduce effects the flashlight and call animations don't spin for nothing.
  • A payment app's screen is read only while it's open and can pay over NFC, and no more often than every 0.4 s.
  • Unused icons and code were removed.

⚡ Animations without delay

  • Animation speed is still set by the Duration setting, and animations start right away: the island content, the ring-mode pill, event icons and the Paid check no longer wait before starting, and banners follow each other almost without a pause.
  • Unlock shows as soon as the lock screen goes away, not when the system message arrives.

⚙️ Everything follows the settings

  • Event display («Показ событий») moved to Appearance → Island expansion («Оформление → Раскрытие острова»), next to duration and elasticity, and resets with them. It now sets the time of all banners: a message without buttons stays 2 s longer, with buttons 4.5 s, alarm and navigation 2 s, "Paid" 0.9 s, the update banner 3.5 s. A paused Clock timer or stopwatch leaves after the same time.
  • New switches: Features → Behavior → Turn on the screen («Включать экран») for a ringing timer, alarm or incoming call; Dynamic cards → Clock buttons («Кнопки для «Часов»», off — the island's buttons just open Clock) and Timer from assistant («Таймер от помощника», off — the island isn't offered when asked to set a timer).

🔒 Security

  • A new signing key is kept only in GitHub secrets, not in the code; the build checks that the APK is signed with exactly this key. This way nobody can pass off their own build as an island update.
  • The "Set a timer" command starts a timer in the island only from apps Android allows to set alarms and timers (the assistant, Clock, widgets) — not from any app.
  • The update installs only the island itself: if the downloaded file holds a different app, the installer won't open.
  • The service description and the Permissions screen say exactly what of the data the island reads goes online: only the song title and artist, to find lyrics.
  • GitHub build: code and dependencies build without write access to the repository, the release is published in a separate step without third-party actions, test APKs are kept for a week.

🔗 Small things

  • Added an easter egg.
  • The Single tap button is gone from Dynamic cards («Динамические карточки») — single tap is set in Gestures («Жесты»).
  • Every setting was checked: each toggle changes exactly what it shows and affects the island.
  • About → GitHub page («О приложении → Страница GitHub») with the GitHub icon — opens the project's main page.
  • The Liquid Glass label is now «Экспериментальный» ("Experimental").

🔕 System banners

  • A new Features → System banners screen («Функции → Системные плашки»): the dialer, Clock, System UI (battery) and Android System (USB charging) — a tap opens their notification settings, right on the needed channel if the island has already seen it. Turn off "Pop on screen" there: the notification stays in the shade, and only the island shows the event on screen. Messenger notifications aren't affected.
  • With the system banner off, the island turns the screen on: for an incoming call, a Clock alarm or timer and its own timer. While it rings the screen stays on; if you turn it off with the power button, the island won't wake the phone again until the next alert.

🔒 Lock screen

  • On a locked phone the island behaves like the notification shade: no "Reply" or "Mark as read" buttons, and if the system hides notification content — only the app name and "Содержимое скрыто" ("Content hidden"). "Secret" notifications aren't shown there at all. The reply field closes when the screen turns off.

🐞 Fixes

  • Paid no longer shows up for "payment failed", "amount due", "don't forget to pay", "will be charged", "Payment due" or notifications without an amount. Amounts like "500р" are now recognized.
  • The keyboard no longer counts as the open app: while you type in a messenger, its own messages aren't duplicated in the island, the player card doesn't come back, and navigator screen reading doesn't stop.
  • Timer rings on time with the screen off — a system alarm wakes the phone. When the timer rings, the screen turns on and stays on until you stop it; the power button stops the alarm, like on iPhone.
  • Updates are checked in the background every 6 hours, as promised, and a banner on the island tells you about a new version (tap opens the app). A failed check without internet is retried sooner; a partly downloaded or damaged APK doesn't open in the installer.
  • USB: a cable from a computer shows one "Charging" banner, without a second "USB" one.
  • Bluetooth: a device whose type can't be read is no longer called "Headphones".
  • Battery and memory: the artwork color isn't recomputed on every pause, regular notifications from delivery apps aren't parsed as navigation, and navigation diagnostics keep only the latest entries.

Install: download DynamicIsland.apk below and open it on your phone. A new version installs over the old one, your settings are kept. Coming from 1.6.0 or older: uninstall the old version first — once, because the app now has a new signing key.


🇷🇺 Русский

⚠️ Новый ключ подписи. Старый ключ оказался в открытом доступе, поэтому с 1.6.1 приложение подписано новым. Если у вас стоит 1.6.0 или старше, обновление поверх не встанет: один раз удалите старую версию и установите 1.6.1, затем снова включите спец. возможности и доступ к уведомлениям. Дальше обновления ставятся поверх, как раньше.

🌍 Английский язык

  • Приложение и остров — на английском: все экраны и плашки острова («Charging», «Do Not Disturb», «Silent», «Paid», «Hold near reader»…), будильник, плеер, навигатор, звонок и карточка обновления. Подписи — как в промо-ролике; длинные английские надписи чуть уменьшаются, а не заезжают на камеру.
  • «Функции → Общие → Язык»: «Как в системе» (по умолчанию: русский, если телефон на русском, иначе английский), «Русский» или «English». Меняется сразу, без перезапуска.
  • Название приложения и описание службы в спец. возможностях — на языке телефона. Если навигатор присылает русские единицы, в английском острове они тоже английские: «4.2 km», «12 min».
  • В 12-часовом формате «AM»/«PM» мельче цифр, как на iPhone: время будильника и часов не распирает капсулу.

⬇️ Обновление прямо в острове

  • Как в ролике: «Доступна версия» с кнопками «Позже» и «Обновить», пока качается — проценты и кольцо, после установки — «Обновлено» с «Что нового» и «Готово».
  • Если APK уже скачан, а установка не открылась (нужно разрешение), кнопка становится «Установить» и ставит скачанный файл без новой загрузки. Ошибка загрузки видна прямо на карточке целиком; длинная подпись чуть уменьшается, а не обрезается.
  • В «Проверке» — пример «Обновление»: карточка, бегущие проценты и «Обновлено», ничего не скачивается.
  • Загрузка обновления не обрывается, если уйти с экрана «О приложении», а «Установить» ставит только скачанный файл этой самой версии.

🗂️ Приложение по-новому

  • Четыре вкладки с подписями: «Главная», «Функции», «Оформление» и «О приложении». Настройки — отдельно от версии, помощи и ссылок.
  • Главная — только главное: живой пример, «Остров включён», «Разрешения» одной строкой (всё включено или чего не хватает) и «Проверка». Пока служба спец. возможностей выключена, сверху карточка «Включите остров» с кнопкой и инструкцией.
  • «Проверка» — все примеры на одном экране плитками: событие, режим звука, сообщение, звонок, таймер, будильник, оплата, навигатор и обновление (новые примеры — будильник и обновление).
  • Функции — что показывает остров (карточки, уведомления, события, текст песен), управление (жесты, «Поведение», системные плашки) и общее (язык, сброс настроек).
  • Оформление — положение и размер, цвет и Liquid Glass, раскрытие острова и эффекты.
  • О приложении — значок, версия и есть ли обновление, проверка обновлений, «Что нового» в любой момент, инструкция, диагностика навигации, GitHub и «Об острове».
  • Новые экраны: «Поведение» (когда показывать остров, сворачивание, виброотклик, включение экрана) и «Уведомления» (всё о сообщениях в острове, вместе с цветом кнопок). «Динамические карточки» и «События» — аккуратными списками по разделам, без лишних слов.

🔔 Плашка уведомления — по меркам системной

  • Ширина, отступы и размеры теперь как у всплывающего уведомления Android: по 16 dp от краёв экрана, аватар 40 dp, имя 15 sp, текст 14 sp, кнопки 14 sp, счётчик и строка ответа меньше.
  • В стиле острова iPhone: по бокам от камеры — значок и название приложения и «сейчас» с колокольчиком, а само уведомление начинается под строкой состояния — на той же высоте, что системное, а не вплотную к камере. Высота считается от строки состояния и от того, на сколько остров опущен в «Положении».
  • Текст растёт вместе с размером шрифта Android и не ломает плашку: имя и кнопки сокращаются многоточием, текст — до трёх строк.

💬 Ответ из острова работает

  • Нажатия на клавиатуру больше не закрывают строку ответа: раньше первая же буква сворачивала плашку, и ответить было невозможно.
  • Ввод закрывается, когда вы прячете клавиатуру («Назад»), смахиваете плашку вверх или касаетесь мимо острова, пока клавиатуры нет. Пока открыт ответ, «Назад» закрывает ввод, а не пропадает впустую.
  • Плашку нельзя случайно смахнуть, чуть сдвинув палец при нажатии «Ответить», — порог свайпа вверх стал вдвое больше.
  • Если ответ не ушёл, появляется «Не удалось отправить ответ», а строка с текстом остаётся.
  • Ваш собственный ответ больше не приходит в остров новой плашкой, когда мессенджер дописывает его в уведомление.

🌙 Будильник — новое

  • Когда ставите будильник, остров показывает плашку: маленький циферблат сна, «Подъём 7:30» и сколько осталось спать — «сон 8 ч 15 мин».
  • За 12 часов до будильника он появляется в острове: слева луна, справа время подъёма. Раскрытый — циферблат сна, как в «Режиме сна» iPhone: 24 часа по кругу, дуга от «сейчас» до будильника переливается из ночного индиго в утренний оранжевый, на концах луна и будильник, в середине — сколько осталось спать; рядом крупное время, «Подъём · завтра» и «Сон — 8 ч 15 мин». Нажатие открывает будильники «Часов».
  • Будильник берётся из системы — работает с любыми «Часами», даже если их уведомления выключены. Днём вместо «Подъём» и «сон» — «Будильник» и «через». В раскрытом пустом острове под датой — ближайший будильник.
  • Выключаются отдельно: «Динамические карточки → Будильник» и «События → Будильник поставлен».

⏱️ Таймер и секундомер «Часов» без уведомлений

  • Если у «Часов» выключены уведомления, Android их никому не отдаёт. Теперь остров сам следит за экраном «Часов», пока они открыты: нажали «Старт» — таймер или секундомер сразу в острове и идёт дальше, когда вы выйдете из приложения; «Пауза» — замирает со значком паузы; «Сброс» или удаление — исчезает. Без нажатия таймер узнаётся по ходу цифр: секундомер — за долю секунды, таймер — за секунду.
  • Остров не обходит весь экран «Часов» постоянно: он запоминает надписи со временем и обновляет только их, а изменения экрана и нажатия получает лишь пока «Часы» открыты — приложение не тормозит.
  • Если уведомления «Часов» включены, остров по-прежнему берёт таймер из них.
  • Кнопки, как у своего таймера: в раскрытом острове у таймера и секундомера «Часов» — пауза/продолжить и сброс, и они управляют самими «Часами». Если уведомления «Часов» включены, остров нажимает кнопки уведомления — мгновенно и не открывая приложение. Если выключены — на мгновение открывает «Часы», находит кнопку по подписи или по её id, смотрит, идёт ли таймер на самом деле (чтобы круглая кнопка-переключатель не сработала наоборот), нажимает и возвращает вас назад; пока таймер идёт, «Сброса» не видно — остров сначала ставит паузу.
  • Пауза из острова больше не «отскакивает»: остров сам знает, что нажал «Пауза», и не принимает последний шаг цифр, пока «Часы» вставали, за ход секундомера; на паузе встаёт ровно на время, которое показывают «Часы». Пауза секундомера с долями секунды замечается почти сразу.
  • Пауза из острова держится и тогда, когда остров на миг открывает «Часы»: те сообщают о нажатии уже с новой подписью кнопки («Продолжить»), и остров принимал это за «Старт» — в «Часах» пауза, а время в плашке шло дальше. Теперь своё нажатие остров узнаёт сам, а назад возвращает, только когда «Часы» уже встали.
  • Неактивные не висят: таймер или секундомер на паузе, сброшенный, удалённый или закончившийся убирается из острова — пауза видна 3 секунды, сброс и удаление в «Часах» замечаются и при уходе из приложения.
  • Меньше задержки: остров узнаёт кнопку «Часов» и по её id (круглая кнопка Google Часов), а уходя из «Часов», читает их экран в последний раз — таймер, запущенный перед самым уходом, не теряется.
  • «Поставь таймер» от голосового помощника, виджета или другого приложения можно отдать острову: в списке выбора появился «Динамический остров» — таймер сразу запускается в нём, без «Часов».
  • В «Системных плашках» — совет: выбрать для уведомлений «Часов» «Без звука» и «Свернуть» вместо полного выключения, тогда всё работает мгновенно.

💳 Оплата: только когда платите телефоном

  • «Оплата · К терминалу» появляется только на экране оплаты телефоном — T-Pay, SberPay, Mir Pay, Яндекс Пэй, Google Кошелёк и другие: остров ждёт «Поднесите телефон к терминалу» или окно оплаты Google, а не просто открытый банк. Какие приложения умеют платить по NFC, остров узнаёт у системы — подходит любой банк, не только известные.
  • Подсказка держится, пока вы не заплатите или не выйдете из приложения — раньше в T-Pay она пропадала через 5 секунд. Системный вопрос NFC «Оплатить через…?» уходом не считается. Убрать её можно свайпом вверх; сама она уходит, когда гаснет экран, и на всякий случай через 3 минуты.
  • Как раньше, сразу при открытии банка, — «События → Подсказка при открытии банка» (по умолчанию выключено).
  • «Оплачено» с суммой показывается, как только кошелёк (Mir Pay, Google Кошелёк, Samsung Wallet) показал у себя галочку и сумму, — не дожидаясь уведомления банка, которое часто приходит позже или не приходит вовсе. Раньше плашка «Оплата» уходила, а сумма так и не появлялась. У банков сумма засчитывается, если она появилась после экрана оплаты и рядом «Оплачено» или ещё видна подсказка «Поднесите телефон»; история операций за оплату не принимается.
  • «Оплачено» понимает уведомления любых банков и СМС банков (900, Т-Банк, ВТБ и другие); одна и та же оплата с экрана и из уведомления не показывается дважды. Сумма вида «*1234. 89.99 RUB» читается правильно.
  • Как в ролике: пока ждём терминал, от острова расходятся волны NFC, а на «Оплачено» он подпрыгивает и от него разлетаются кольцо и искры.

🎬 Остров как в промо-ролике

  • Значки — те же простые фигуры, что в ролике: молния, трубка, месяц, песочные часы, колокольчик, фонарик, наушники, Wi-Fi, самолёт, стрелка навигатора, кнопки плеера.
  • Анимации — как в ролике: остров перетекает пружиной с лёгким перелётом, старое содержимое тает с размытием, новое проявляется из 90% размера. «Длительность» по умолчанию (35%) — ровно как в ролике; ползунок по-прежнему ускоряет и замедляет.
  • События во всю ширину: значок и название слева, значение цветом справа — «Зарядка 68%» с батарейкой, «Наушники 80%» с кольцом, «Wi-Fi Подключён», «Не беспокоить Вкл». Длинные названия чуть уменьшаются вместо многоточия.
  • Капсула: таймер — песочные часы и время крупно, звонок — трубка, время и зелёная волна, навигатор — стрелка и «300 м» жирным, «Без звука» — в полный размер.
  • Входящий звонок — аватар, «Входящий вызов» и имя, две круглые кнопки; зелёная «дышит».
  • Навигатор: плашка со стрелкой, расстоянием, улицей и временем прибытия; раскрытый — круг со стрелкой, расстояние крупно и кнопка «Открыть».
  • Плеер: обложка побольше, текст песни одной строкой, которая заливается белым по мере пения, тонкая полоса и три кнопки.
  • Фонарик: квадратная карточка с жёлтым фонариком в свечении и «Фонарик · 80%»; яркость — провести пальцем.
  • Ответ: кнопка отправки рядом со строкой, после отправки — «Отправлено ✓» и кому.
  • Обновление прямо в острове: «Доступна версия», что нового и кнопки «Позже» и «Обновить» — пока качается, проценты и кольцо; после установки — «Обновлено ✓».

✨ Эффекты — каждый настраивается

  • Новый раздел «Оформление → Анимации → Эффекты»: размытие при смене содержимого, живой эквалайзер (выключите — полоски встанут ровно, так экономнее), вздрагивание пилюли режима звука и колокольчика таймера, волны оплаты (волны NFC и вспышка «Оплачено»). «Уменьшить эффекты» по-прежнему выключает всё сразу, у раздела есть «Сброс».
  • Новое свечение обложки: мягкий ореол цвета обложки вокруг острова, пока играет музыка. Видно и на примере острова в настройках. По умолчанию выключено.
  • Экономия заряда (по умолчанию выключено): в режиме энергосбережения Android остров сам обходится без живых эффектов.

🧭 Поведение

  • «Функции → Поведение»: «Сворачивать раскрытый остров» — сам через 5, 10, 20 или 30 секунд без касаний (по умолчанию — только касанием мимо или свайпом вверх); «Вторая активность рядом» — кружок со второй активностью у капсулы можно выключить.
  • «Функции → Уведомления»: «Из открытого приложения» — показывать и уведомления приложения, которое сейчас на экране; «Строк текста» в плашке — от 1 до 6 (было всегда 3).

🔋 Батарея

  • Пока экран погашен, остров не просыпается: время в его таймерах и часах, чтение экрана «Часов» и поиск текста песни ждут, когда экран включат.
  • Будильник в острове проверяется ровно дважды — когда до него остаётся 12 часов и когда он звонит, а не каждые полминуты.
  • Циферблат сна в капсуле больше не мигает свечением: раньше он мог часами перерисовывать остров на каждом кадре.
  • Эквалайзер, значок оплаты, точка фонарика и кнопка ответа на звонок теперь только перерисовываются, а не пересобирают остров на каждом кадре; с «Уменьшить эффекты» анимации фонарика и звонка не крутятся впустую.
  • Экран приложения оплаты читается, только пока оно открыто и умеет платить по NFC, и не чаще раза в 0,4 с.
  • Убраны неиспользуемые значки и код.

⚡ Анимации без задержки

  • Скорость анимаций по-прежнему задаётся настройкой «Длительность», а начинаются они сразу: содержимое острова, пилюля режима звука, значки событий и галочка «Оплачено» больше не ждут перед стартом, плашки идут одна за другой почти без паузы.
  • Разблокировка показывается, как только уходит экран блокировки, а не когда дойдёт сообщение системы.

⚙️ Всё — от настроек

  • «Показ событий» переехал в «Оформление → Раскрытие острова» (к длительности и упругости) и сбрасывается вместе с ними. От него теперь считается время всех плашек: сообщение без кнопок видно на 2 с дольше, с кнопками — на 4,5 с, будильник и навигатор — на 2 с, «Оплачено» — на 0,9 с, обновление — на 3,5 с. Таймер или секундомер «Часов» на паузе убирается через то же время.
  • Новые переключатели: «Функции → Поведение → Включать экран» (при сигнале таймера, будильника и входящем вызове), «Динамические карточки → Кнопки для «Часов»» (выключено — кнопки острова просто открывают «Часы») и «Таймер от помощника» (выключено — остров не предлагается, когда просят поставить таймер).

🔒 Безопасность

  • Новый ключ подписи хранится только в секретах GitHub, а не в коде; сборка проверяет, что APK подписан именно им. Так никто не сможет выдать свою сборку за обновление острова.
  • Таймер в острове по команде «Поставь таймер» запускают только приложения, которым Android разрешил ставить будильники и таймеры (помощник, «Часы», виджеты), — не любое приложение.
  • Обновление ставит только сам остров: если в скачанном файле другое приложение, установка не откроется.
  • Описание службы и экран «Разрешения» точно говорят, что из прочитанного уходит в интернет: только название песни и исполнитель — для поиска текста.
  • Сборка на GitHub: код и зависимости собираются без права записи в репозиторий, релиз выпускается отдельным шагом без сторонних действий, тестовые APK хранятся неделю.

🔗 Мелочи

  • Добавлена пасхалка.
  • Кнопка «Одиночное нажатие» убрана из «Динамических карточек» — это нажатие настраивается в «Жестах».
  • Проверены все настройки: каждый переключатель меняет ровно то, что показывает, и действует на остров.
  • «О приложении» → «Страница GitHub» со значком GitHub — открывает главную страницу проекта.
  • Метка у Liquid Glass теперь «Экспериментальный».

🔕 Системные плашки

  • Новый экран «Функции → Системные плашки»: звонилка, «Часы», «Системный интерфейс» (батарея) и «Система Android» (зарядка через USB) — нажатие открывает их настройки уведомлений, сразу нужный канал, если остров его уже видел. Там выключаются «Всплывающие уведомления»: уведомление остаётся в шторке, а на экране событие показывает только остров. Уведомления мессенджеров не затрагиваются.
  • Раз системная плашка выключена, экран включает остров: при входящем вызове, при сигнале будильника или таймера «Часов» и своего таймера. Пока звонит, экран не гаснет; если выключить его кнопкой питания, остров больше не будит телефон до следующего звонка.

🔒 Экран блокировки

  • На заблокированном телефоне остров ведёт себя как шторка: без кнопок «Ответить» и «Пометить прочитанным», а если в системе скрыто содержимое уведомлений — только название приложения и «Содержимое скрыто». «Секретные» уведомления там не показываются вовсе. Строка ответа закрывается, когда гаснет экран.

🐞 Исправления

  • «Оплачено» больше не появляется на «Оплата не прошла», «К оплате», «Не забудьте оплатить», «будет списано», «Payment due» и уведомления без суммы. Сумма вида «500р» теперь распознаётся.
  • Клавиатура больше не считается открытым приложением: пока вы печатаете в мессенджере, его же сообщения не дублируются в острове, карточка плеера не возвращается, а чтение экрана навигатора не останавливается.
  • Таймер звонит вовремя и при погашенном экране — телефон будит системный будильник. Когда таймер звонит, экран включается и не гаснет, пока звонок не выключат; кнопка питания выключает звонок, как на iPhone.
  • Обновления проверяются в фоне раз в 6 часов, как и обещано, а о новой версии сообщает плашка на острове (нажатие открывает приложение). Неудачная проверка без интернета повторяется раньше; недокачанный или повреждённый APK не открывается на установку.
  • USB: кабель от компьютера показывает одну плашку «Зарядка», без второй «USB».
  • Bluetooth: устройство, тип которого не прочитать, больше не называется «Наушники».
  • Батарея и память: цвет обложки не пересчитывается на каждой паузе, обычные уведомления приложений доставки не разбираются как навигация, диагностика навигации хранит только последние записи.

Установка: скачайте DynamicIsland.apk ниже и откройте на телефоне. Новая версия ставится поверх старой, настройки сохраняются. С версии 1.6.0 и старше: сначала удалите старую версию — один раз, потому что у приложения новый ключ подписи.