Skip to content

Releases: IamCanincan/Opticon

v1.1.1

Choose a tag to compare

@IamCanincan IamCanincan released this 14 Oct 22:36

v1.1.1

这一版都在图标上:形状、强制取色的剪影、以及图标加载的速度。

图标裁圆

  • 内切基准从「整块画布」换成「图案实际占的那块」:自带透明边的图标不再被一圈透明围着,圆内是满的。真机上满幅的那 59/61 张逐位不变。
  • 「裁不动」的那一类(按圆裁下去图案只剩不到六成:宽幅式、空心环、铃铛、十字)改成不硬裁 —— 整幅缩进圆里、圆内补一层白底。「图案完整」优先于「块头一样大」。

强制取色的单色合成

  • 剪影现在跟着裁圆走:判据吃的是裁圆调整之后的那一张,与屏幕上的是同一张图,不再有两套账。
  • 极性判据接上了裁圆自己的判决:一张"整块大色块 + 上面的镂空细节"的图标(例:一本书挂着书签),现在整本书成墨、书签是洞,不再反过来。

图标加载

  • 压好的剪影按图标内容缓存(内存一层 + 桌面自己的缓存目录一层)。真机账,用这个发布包量的:一次重启从 1594 次现压降到 0 次,前 40 / 120 / 300 张图标上屏 6.2 / 20.6 / 63.5 秒 → 1.4 / 2.9 / 5.7 秒。
  • ⚠ 升级本模块后重启桌面的那一次会慢一些(那两百来张要现压一遍),之后就快了。这层缓存按内容 + 装机身份自动作废,不需要手动清;界面里的「清除桌面图标缓存」按钮管的是桌面自己那份渲染结果。

界面

  • 「关于」「图标」页把三路功能说全了(原来只写了两路);LSPosed 列表里那一行也压回一行放得下的长度。

已知取舍

  • 宽幅式 / 五角星式这类外缘先顶到圆边的形状,块头会比实心的小一档 —— 这是几何决定的,要抹平就得裁掉外缘,那与"图案要完整"冲突,已评估、不做。

签名与 v1.1.0 一致(CN=Opticon Release),可直接覆盖安装。要求:已 Root + LSPosed(或兼容 LibXposed API 102 的框架),Android 8.0 及以上。

两组数都在同一台机、同一个桌面上量:装机后第一下重启(冷)现压 222 张;第二下(热)现压 0 张 / 命中 1030 次,其中磁盘读 377 次、零条损坏文件。

Opticon v1.1.0

Choose a tag to compare

@IamCanincan IamCanincan released this 14 Oct 04:54

变更

图标单色化:合成引擎整条重写(对比度模型)

  • 核心问题从「这像素是什么颜色」换成「这个像素与它周围那块底差多少」——底是局部底色场(8×8 拟合、双线性插值),距离是 CIELAB ΔE76(整数查表,SelfTest 对公开参考值核过,偏差 <0.6)。渐变底、拼色底(高德/饿了么/云闪付一类)、透明底各自有专门支路,「同一图标内颜色太相近画成白块/黑块」这一族病从产生机制上消掉。
  • 参照色改为传播(离它最近的那块底),按格子取造成浓度跳级与抗锯齿混色误判的两处一并修掉。
  • 中缝按位置吸收:两侧底色 ΔE 拉得开的细缝整条吸收,均匀底上的 1px 细线不再被误吃。

这一个月新落的刀

  • carrierPocket:与「交成底的自己」同色、却被交成墨的承载面口袋整袋抹掉(易班蓝气泡块一类),Lab 粗桶合并底族 + 洪泛 + 扫尾 + 软边,判据台 62 张 22 张开火逐张人工过目。
  • 盘刀 / 膜刀 / SepTone / 同色族对账抬回 / 粗块桥接:真机语料一张一张喂出来的形状与浓度修补,各自带「开火条件 + 不响也要报 0」的日志。

量具

  • 离线判据台从 7 闸长到 14 闸:单调性审计、对表(人画单色层)、兼容性台、肉眼账、换支账(四档边长全扫)、源尺寸账、无对岸半灰账……每闸都有基线与红线,本版在四档全扫全绿后收版;真机验收过五张开火图标。

说明

  • 应用图标单色合成 + 强制裁圆 + 通知小图标修复,一个模块两个功能。
  • 需要 LSPosed / Vector 框架,并在框架里勾选作用域、重启设备后生效。

附件

  • Opticon-v1.1.0-release.apk sha256:9bb8e30847badbb0519b74459c0446e450001854068c7c0d36b18705ac47635d

安装

  1. 安装下面的 APK
  2. 在 LSPosed / Vector(或其它支持 LibXposed API 102 的框架)里启用模块,并按 App 内「模块」页的清单勾选作用域
  3. 重启设备(框架不会热加载模块)

从旧版覆盖安装时,桌面图标缓存可能仍显示上一次渲染的结果 —— 在 App 的「图标」页点「清除缓存并重启桌面」即可重建。

Opticon v1.0.3

Choose a tag to compare

@IamCanincan IamCanincan released this 22 Sep 09:07

变更

  • 修复:点「清除缓存并重启桌面 / 重启 SystemUI / 重启其他进程」后弹出的提示(Snackbar)被底部悬浮导航栏挡住、截断的问题。现在提示会显示在底栏上方,完整可见。

说明

  • 应用图标强制裁圆 + 通知小图标修复,一个模块两个功能。
  • 需要 LSPosed / Vector 框架,并在框架里勾选作用域、重启设备后生效。

Opticon 1.0.2

Choose a tag to compare

@IamCanincan IamCanincan released this 22 Sep 08:07

界面

  • 底部导航改成悬浮药丸,四格:图标 / 通知 / 模块 / 关于 —— 选中项展开文字,未选中只留图标
  • 支持左右滑动切页,和点底栏双向联动
  • 配色跟随系统取色(Material You 壁纸取色;Android 12 以下用内置品牌配色)
  • 圆角、卡片、动效统一到 Material 3 Expressive,动效参数取自主题的 MotionScheme
  • 作用域清单改用分段按钮(必选 + 推荐 / 全部)左右切换
  • 「关于」页新增隐私说明

桌面图标

  • 底板颜色不再写死:默认品牌淡粉;Android 12+ 改用系统主题色的淡档,跟着壁纸走
  • 图标形状与字形(Oi)不变

稳定性

  • 配置读取加异常兜底:读失败退回上一次的值,不再可能影响图标加载或通知处理
  • 修掉一处并发隐患:单色判定用的取样对象在多线程下可能出现 NPE / 像素缓冲越界
  • hook 判重集合换成线程安全实现

安装

  1. 安装下面的 APK
  2. 在 LSPosed / Vector(或其它支持 LibXposed API 102 的框架)里启用模块,
    并按 App 内「模块」页的清单勾选作用域
  3. 重启设备(框架不会热加载模块)

从旧版覆盖安装时,桌面图标缓存可能仍显示上一次渲染的结果 ——
在 App 的「图标」页点「清除缓存并重启桌面」即可重建。