Skip to content

Releases: Andrea-lyz/ColorOS-Assistant-Restore

v1.0.8

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:15

ColorOS 唤语 v1.0.8 (versionCode 10)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

中文

  • 吸收社区 PR #3(@zopulus)的 ColorOS 17 补充修复:Build final 字段改用 jdk.internal.misc.Unsafe 写入(Android 17 拒绝普通反射写入,且静态字段接口已从 sun.misc.Unsafe 移除);Google 应用身份伪装覆盖整包所有进程;ContextualSearchManagerService.isContextualSearchAvailable 对可信调用方放行;隐藏手势条启动时补写按压范围,重启后无需重新开关一次;voice_interaction_service 为空时按声明补全。

English

  • Additional ColorOS 17 fixes ported from community PR #3 by @zopulus: Build final fields are written through jdk.internal.misc.Unsafe (Android 17 rejects plain reflective writes and the static-field natives left sun.misc.Unsafe); the Google app identity spoof now covers every process of that package; ContextualSearchManagerService.isContextualSearchAvailable answers true for trusted callers; the gesture handle bootstraps its press range when the bar was hidden at boot, so no re-toggle is needed after a reboot; an empty voice_interaction_service is filled from the VoiceInteractionService the assistant package declares.

Changes since v1.0.7

  • fix(cos17): port the remaining upstream fixes from community PR #3 (2f40230)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.8.apk
sha256: 67a18c256404568001998531b1490cb491df33686d452d7739ca06b0b0075ac0

v1.0.7

Choose a tag to compare

@github-actions github-actions released this 12 Oct 10:51

ColorOS 唤语 v1.0.7 (versionCode 9)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

中文

  • 适配 ColorOS 17(Android 17,V17.0.0.103):助理派发链路(AssistManager.startAssist$1 / startAssistInternal(Context, ...))、桌面底角手势规则(ab.n.c)与一圈即搜 AIDL(ContextualSearchConfig)按新签名解析。
  • 「解除页面级手势限制」在 Android 17 上灰显:系统不再提供页面级屏蔽位,此项仅在 ColorOS 16 生效。
  • 新增「双击电源键改用 Google 钱包」(默认关):双击电源键打开系统快捷钱包界面(Google 钱包刷卡),替代 ColorOS 钱包;需保持系统「双击电源键唤起快捷服务」开启。

English

  • ColorOS 17 (Android 17, V17.0.0.103) support: assistant dispatch (AssistManager.startAssist$1 / startAssistInternal(Context, ...)), the launcher corner-gesture contract (ab.n.c) and the Circle to Search AIDL (ContextualSearchConfig) now resolve against the new signatures.
  • “Unblock page-level gestures” is greyed out on Android 17, where the system no longer applies that block; the option remains for ColorOS 16.
  • New option “double-press power uses Google Wallet” (off by default): the double press opens the system quick-access wallet screen (Google Wallet) instead of the ColorOS wallet; keep the system “double press for quick service” switch on.

Changes since v1.0.6

No previous tag 'v1.0.6' found; listing the most recent 30 commits.

  • feat: ColorOS 17 support and Google Wallet double-press (0b6be6b)
  • fix(handle): give the gesture bar its own strip back to the nav bar window (121ba8a)
  • ci: put the preinstalled SDK tools on PATH (43cf442)
  • ci: stop using android-actions/setup-android (62c1182)
  • feat(handle): keep the gesture-handle long press with a hidden bar (3ab9898)
  • feat(icon): redesign AssistRestore launcher artwork (bfe4602)
  • ci(release): tag the LSP mirror as versionCode-versionName (7e1d549)
  • ci(release): mirror each release to the Xposed-Modules-Repo metadata repository (bb9c479)
  • refactor!: move the module to io.github.andrea_lyz.assistrestore (54814b7)
  • perf(release): enable R8 and resource shrinking (c33a63f)
  • fix(ci): vendor the libxposed API sources so the repository builds on its own (0c9ddd3)
  • Initial release: ColorOS 唤语 (AssistRestore) v1.0.0 (e1fa38d)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.7.apk
sha256: 74df45d2820678cbab0756a73c7e8885dcee8d0775db5c6adb6ae9440cd54fb3

v1.0.4

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:22

ColorOS 唤语 v1.0.4 (versionCode 6)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

本次更新

  • 长按手势条只触发助理,页面不再同时长按。 国内固件的手势条不是可触摸窗口:OplusNavigationHandle 只是画线的 View,导航栏窗口的 touchableRegion 为空,底部这条按压实际被页面收走;页面自己的长按 500ms 就触发,而手势条 800ms 才判定,于是助理和页面长按会同时发生。模块现在把这一条交还导航栏窗口:用 ViewRootImpl.setTouchableRegion 把可触摸区设为手势条自身(约 480×88px,尺寸取自 OEM 的 navigation_gesture_view_width 与 bottom_gesture_area_height),页面不再收到这条区域里的按压。
  • 隐藏手势条时同样生效。 隐藏手势条会让 OEM 把该窗口 alpha 置 0,WindowManager 会把完全透明的窗口剔除出输入分发(inputConfig=NOT_VISIBLE),区域随即失效。模块在窗口参数生成与实时开关两处把 alpha 保持为 0.01:窗口留在输入链路里、画面上依然不可见。
  • 输入法弹起时这一条会交还键盘,底部那排按键不受影响。

已在真机(ColorOS 16 / PJZ110)验证:手势条显示与隐藏两种状态下,底部中央 1.8 秒长按的分发目标都是 NavigationBar_displayId_0,应用窗口不在触摸列表里;同一次按压助理照常触发,从手势条往上滑回桌面也仍然正常。

What's changed

  • Holding the gesture handle only summons the assistant. The bar is not a touchable window on China builds: OplusNavigationHandle is a plain View, the navigation bar window ships an empty touchable region, and the page received the press and fired its own long press at 500 ms while the bar only decides at 800 ms. The module now hands that strip back to the navigation bar window through ViewRootImpl.setTouchableRegion, sized from the OEM's own navigation_gesture_view_width and bottom_gesture_area_height (about 480x88 px).
  • It also holds with the gesture bar hidden. Hiding the bar sets that window's alpha to 0, and WindowManager drops a fully transparent window from input dispatch (inputConfig=NOT_VISIBLE), which made the region useless. Both places that write that alpha now keep it at 0.01, so the window stays in the input pipeline while remaining invisible on screen.
  • While the keyboard is up the strip goes back to the keyboard, so its bottom row keeps receiving touches.

Verified on a real device (ColorOS 16 / PJZ110) with the bar shown and hidden: a 1.8 s press at the bottom centre is routed to NavigationBar_displayId_0 and the app window is not a touch target, the assistant still fires for that press, and swiping up from the bar still reaches home.

Changes since v1.0.3

  • fix(handle): give the gesture bar its own strip back to the nav bar window (121ba8a)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.4.apk
sha256: f0840f785dd06367a01b10c5cf25dc734317a6cedcbbda2e166f1a949fb8394f

v1.0.3

Choose a tag to compare

@github-actions github-actions released this 14 Sep 22:01

ColorOS 唤语 v1.0.3 (versionCode 5)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

本次更新

  • 隐藏手势条后长按依然可用。 ColorOS 隐藏手势条时会顺带把手势条从触摸链路里摘掉:SideGestureDetector 只在 !NavBarUtils.isSideGestureBarHide() 时才把底部中央的触摸转发给 OplusNavigationHandle,于是长按完全没有反应,绑在手势条上的助理入口一起失效。模块现在只对这一个调用方把该判定回答为 false,手势条的隐藏状态、导航栏窗口透明度,以及 QS 特殊模式、截屏采样区域等其它读同一标志的功能都保持原样。「高级」页新增「隐藏手势条时保持长按」,默认开启;该入口选择「小布识屏」或「全部关闭」时不生效,保持 OEM 行为。
  • 「高级」页新增「隐藏桌面图标」。 桌面入口改到 activity-alias 上,入口 Activity 保留 MAIN + INFO 过滤器——也就是没有桌面入口时 getLaunchIntentForPackage 解析到的那一个,因此隐藏图标后仍可从 LSPosed 模块页或系统设置的应用详情打开本应用。默认关闭。

已在真机(ColorOS 16 / PJZ110)验证:隐藏手势条后,底部原位置长按照常唤出配置的目标(日志 hidden_gesture_bar_handle_unblocked → gesture_handle_long_press)。

What's changed

  • The gesture-handle long press survives hiding the gesture bar. ColorOS removes the handle from the touch chain as soon as the bar is hidden: SideGestureDetector forwards the bottom-area touch to OplusNavigationHandle only while !NavBarUtils.isSideGestureBarHide(), so the long press went dead and every assistant entry bound to the handle with it. The module now answers that single caller with false; the bar stays hidden, the navigation-bar window stays transparent, and the QS special-mode provider, the sampling-region check and every other reader of the flag keep the OEM value. New switch on the advanced page, on by default; skipped when the handle entry is set to OEM screen recognition or fully off.
  • New "hide the launcher icon" switch on the advanced page. The launcher entry moves to an activity alias, and the entry activity keeps a MAIN + INFO filter - the one getLaunchIntentForPackage resolves when no launcher entry is enabled - so the app stays reachable from LSPosed and from the system app-info page from while the icon is hidden. Off by default.

Verified on a real device (ColorOS 16 / PJZ110): with the gesture bar hidden, the long press at the usual bottom position still wakes the configured target (hidden_gesture_bar_handle_unblocked followed by gesture_handle_long_press).

Changes since v1.0.2

  • ci: put the preinstalled SDK tools on PATH (43cf442)
  • ci: stop using android-actions/setup-android (62c1182)
  • feat(handle): keep the gesture-handle long press with a hidden bar (3ab9898)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.3.apk
sha256: b6c301a17aa29acc7cbd27a9362bbb7e51aae5215cadfd0f35dc5227ee96cd22

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 14 Sep 09:26

ColorOS 唤语 v1.0.2

中文

ColorOS 唤语(AssistRestore)在 ColorOS 国内版上还原 AOSP 数字助理入口。本版本不改变助理派发逻辑,主要更新启动器图标与图标资源包。

更新内容

  • 重新设计活力清新的启动器图标:用开放的助理入口、返回信号带和珊瑚色星芒表达“重新连接系统默认助理”。
  • 更新 Android 自适应图标、圆形图标、Material You 单色图标及 mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi 回退资源。
  • 提供 Play Store 1024px、512px 普通/圆形图标和标准图标资源 ZIP。
  • 助理入口行为、配置项、LSPosed 作用域和兼容性要求保持不变。

兼容与安装

  • ColorOS 国内版固件;已知验证基线为 ColorOS 16 / V16.1.0 / PJZ110 / regionmark=CN。
  • 需要 KernelSU、Magisk 或其他 Root 方案,以及支持 libxposed API 102 的 LSPosed 等框架。
  • 安装 APK 后,在 LSPosed 中启用模块并勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox 四个作用域。
  • 本次为图标资源更新,不需要改变既有配置;升级后如启动器缓存旧图标,可重新加载启动器或等待系统刷新图标缓存。

验证

  • GitHub Actions run 34827723382 完成正式 Release 构建。
  • 正式签名 APK 校验通过。
  • APK SHA-256:484c548f2ef55a9998a2c9e021ef52aa85b39176a634d88d3abffe786eb83db7
  • 本次未进行新增设备行为验证;功能行为沿用 v1.0.1。

发布资产

  • AssistRestore_v1.0.2.apk:正式签名模块 APK。
  • AssistRestore_v1.0.2.apk.sha256:APK SHA-256 校验文件。
  • AssistRestore-android-icon-v2.zip:标准 Android 图标资源包,包含自适应图标、单色主题图标、密度回退资源、Play Store 导出和预览图。

English

ColorOS AssistRestore restores AOSP digital-assistant entry points on China-region ColorOS builds. This release keeps the assistant dispatch behavior unchanged and updates the launcher artwork and its resource package.

Changes

  • Redesigned the launcher icon with a lively, fresh mark combining an open assistant gateway, a returning signal ribbon, and a coral spark.
  • Updated the Android adaptive icon, round icon, Material You monochrome icon, and mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi fallback resources.
  • Added Play Store 1024px, 512px regular/round exports and the standard icon resource ZIP.
  • Assistant behavior, settings, LSPosed scopes, and compatibility requirements remain unchanged.

Compatibility and installation

  • China-region ColorOS firmware; the known validation baseline is ColorOS 16 / V16.1.0 / PJZ110 / regionmark=CN.
  • Requires KernelSU, Magisk, or another root solution and an LSPosed-class framework supporting libxposed API 102.
  • After installing the APK, enable the module in LSPosed and select system, com.android.systemui, com.android.launcher, and com.google.android.googlequicksearchbox.
  • This is an icon-resource update and does not require configuration changes. If the launcher keeps the old icon, reload the launcher or wait for its icon cache to refresh.

Verification

  • GitHub Actions run 34827723382 completed the formal release build.
  • The release APK signature verification passed.
  • APK SHA-256: 484c548f2ef55a9998a2c9e021ef52aa85b39176a634d88d3abffe786eb83db7
  • No new on-device behavior validation was performed for this release; runtime behavior carries over from v1.0.1.

Release assets

  • AssistRestore_v1.0.2.apk: formally signed module APK.
  • AssistRestore_v1.0.2.apk.sha256: APK SHA-256 checksum file.
  • AssistRestore-android-icon-v2.zip: standard Android icon resource package with adaptive icons, themed monochrome assets, density fallbacks, Play Store exports, and previews.

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 08:50

ColorOS 唤语 v1.0.1 (versionCode 3)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

中文

  • 包名变更为 io.github.andrea_lyz.assistrestore。这是一个新的应用身份,不会原地覆盖旧版:请在 LSPosed 中为新包重新勾选作用域,旧的 io.github.andrealtb.assistrestore 可以停用或卸载。模块自身的配置也会从零开始。
  • 新增 Xposed-Modules-Repo 元数据仓库,并在发布流程中自动镜像:本版同时发布到 LSP 仓库。
  • 功能与 1.0.0 相同:长按电源键、长按手势条、底角内滑三个入口各自独立唤醒所选助理,支持一圈即搜、页面级手势放开、Google 应用冻结豁免,安装包保持 R8 压缩后的体积。

English

  • The package is renamed to io.github.andrea_lyz.assistrestore. That is a new app identity, so it does not upgrade over the previous install: enable the scope for the new package in LSPosed and disable or uninstall the old io.github.andrealtb.assistrestore. The module settings start from scratch.
  • Added the Xposed-Modules-Repo metadata repository and automatic mirroring in the release workflow, so this version is published to the LSP repository as well.
  • Same behaviour as 1.0.0: the power-button long press, gesture-handle long press and bottom-corner swipe each wake the assistant you choose, with Circle to Search, page-level gesture unblocking and a Google app freeze exemption, at the same R8-reduced download size.

Changes since v1.0.0

  • ci(release): tag the LSP mirror as versionCode-versionName (7e1d549)
  • ci(release): mirror each release to the Xposed-Modules-Repo metadata repository (bb9c479)
  • refactor!: move the module to io.github.andrea_lyz.assistrestore (54814b7)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.1.apk
sha256: 0374f0b6d11c5b0e995958c3a2b81b83edf98be5055d595a08f9396baf54e29d

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 00:05

ColorOS 唤语 v1.0.0 (versionCode 2)

在 ColorOS 国内版上还原 AOSP 数字助理行为:长按电源键、长按手势条、底角内滑各自独立唤醒所选助理。

中文

ColorOS 国内版把「唤醒数字助理」的三个入口写死到自家小布助手,并让这些路径绕开 AOSP 的助理分派。本模块只接管被改写的那几个分派点,把请求交还给系统当前设置的默认助理应用,不替换系统的助理栈。

  • 三个入口:长按电源键、长按手势条、底角内滑,各自可单独选择唤醒目标,也可单独关闭。
  • 唤醒目标:跟随系统默认助理 / 一圈即搜 / 小布识屏(仅长按手势条)/ 小布助手 / 自定义组件。
  • 附加能力:补齐一圈即搜所需的 CTS 链路并可在 Google 应用内伪装机型、解除设置等页面的底角手势限制、长按手势条不再白唤醒识屏服务、在系统冻结决策处豁免 Google 应用。
  • 本次发布开启 R8 与资源压缩,安装包体积由 10.6 MB 降至约 1.1 MB。

安装:安装 APK 后在 LSPosed 中启用模块,作用域勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox,然后重启设备。

English

China-region ColorOS hard-codes the three ways of summoning the assistant to its own app and bypasses the AOSP assistant dispatch on each path. This module only reconnects those rewritten dispatch points so each request reaches the assistant configured in the system, without replacing the system assistant stack.

  • Three entries: power-button long press, gesture-handle long press and bottom-corner swipe. Each one has its own wake target and can be disabled separately.
  • Targets: follow the system default assistant, Circle to Search, OEM screen recognition (gesture handle only), OEM assistant, or a custom component.
  • Extras: the CTS chain and Google app device spoofing that Circle to Search needs, page-level corner gesture unblocking, no more useless screen-recognition pre-bind, and a freeze exemption for the Google app.
  • This release enables R8 and resource shrinking, cutting the APK from 10.6 MB to about 1.1 MB.

Install: install the APK, enable the module in LSPosed with the scopes system, com.android.systemui, com.android.launcher and com.google.android.googlequicksearchbox, then reboot.

Changes since v1.0.0

No previous tag 'v1.0.0' found; listing the most recent 30 commits.

  • perf(release): enable R8 and resource shrinking (c33a63f)
  • fix(ci): vendor the libxposed API sources so the repository builds on its own (0c9ddd3)
  • Initial release: ColorOS 唤语 (AssistRestore) v1.0.0 (e1fa38d)

Requirements

ColorOS 国内版固件,KernelSU 或 Magisk,LSPosed 等 libxposed API 102 框架。作用域需勾选 system、com.android.systemui、com.android.launcher、com.google.android.googlequicksearchbox。

Verification

AssistRestore_v1.0.0.apk
sha256: c91701636beed85310020593af36517836609e1fcd3d6f72431ce8d3df997539