eliotcougar 6400d33b87 UI/UX: Preserve asset-editor drafts during recompose (#6193)
* Preserve asset-editor drafts and handle the keyboard

Keep the asset name, URL, and delete-confirmation visibility in saveable Compose state so activity recreation does not discard an unfinished edit. Key the state by asset identity and initial field values.

Make the form vertically scrollable, consume the Scaffold padding, and apply IME padding so its fields remain reachable when the keyboard reduces the available height. Extract these presentation changes from local/talkback-all-10 without changing accessibility labels, deletion wording, or asset-save validation order.

* Resize the asset editor when the keyboard opens

Declare stateUnchanged|adjustResize for UserAssetUrlActivity, matching the other editor activities. Without an explicit resize policy, opening the IME in landscape pans the entire window and moves the toolbar Save action off-screen despite the scrollable Compose form.

Verified on Android 13 Pixel 6a: rotate with an unsaved draft, reopen the landscape keyboard, scroll between fields, edit the first field, save without hiding the keyboard, and reopen persisted values. Portrait keyboard and Save also pass. Debug assembly succeeded.
2026-09-14 16:53:35 +03:00
2026-08-29 15:59:49 +08:00
2026-08-21 10:21:03 +08:00
2026-08-29 15:59:49 +08:00
2026-08-29 15:59:49 +08:00
2023-11-17 14:15:29 +08:00
2026-08-29 15:59:49 +08:00
.
2023-01-12 14:35:38 +08:00
2026-07-01 20:20:39 +08:00

v2rayNG

A V2Ray client for Android, support Xray core and v2fly core

API Kotlin Version GitHub commit activity CodeFactor GitHub Releases Chat on Telegram


Download / 下载

Download the latest release here:

在这里下载最新版本:

https://github.com/2dust/v2rayNG/releases

Tip

v2rayNG is the mobile version. For the desktop version, please visit the v2rayN
v2rayNG 是手机版,电脑版请访问 v2rayN

https://github.com/2dust/v2rayN


Geoip and Geosite

  • geoip.dat and geosite.dat files are in Android/data/com.v2ray.ang/files/assets (path may differ on some Android device)
  • download feature will get enhanced version in this repo (note: it needs a working proxy)
  • latest official domain list and ip list can be imported manually
  • possible to use a third-party dat file in the same folder, like h2y

More in our wiki

Geoip 与 Geosite

  • geoip.dat 和 geosite.dat 文件位于 Android/data/com.v2ray.ang/files/assets(部分设备路径可能不同)
  • 下载功能将获取该 仓库 中的增强版本(注意:此功能需要一个可用的代理)
  • 最新官方 域名列表 和 IP 列表 可手动导入
  • 也可在同一文件夹中使用第三方 dat 文件,例如 h2y

更多内容请见我们的 wiki


Development guide / 开发指南

Note

  • Android project under the V2rayNG folder can be compiled directly in Android Studio, or using the Gradle wrapper. But the v2ray core inside the aar is (probably) outdated.
  • The aar can be compiled from the Golang project AndroidLibV2rayLite or AndroidLibXrayLite. For a quick start, read the guides for Go Mobile and Makefiles for Go Developers.
  • v2rayNG can run on Android Emulators. For WSA, VPN permission needs to be granted via appops set [package name] ACTIVATE_VPN allow.

提示

  • V2rayNG 文件夹下的 Android 项目可直接在 Android Studio 中编译,或使用 Gradle wrapper 编译。但 aar 内置的 v2ray core(可能)已过时。
  • aar 可由 Golang 项目 AndroidLibV2rayLite 或 AndroidLibXrayLite 编译而成。快速入门可参考 Go Mobile 指南和 Makefiles for Go Developers。
  • v2rayNG 可在 Android 模拟器上运行。对于 WSA,需要通过 appops set [package name] ACTIVATE_VPN allow 授予 VPN 权限。

GPG Verification / GPG 签名校验

Release files are signed with GPG to verify authenticity and integrity, helping prevent mirror, ISP, or CDN hijacking.

发布文件已使用 GPG 签名,可用于校验文件真实性与完整性,预防镜像站、运营商或 CDN 劫持。

Fingerprint / 公钥指纹

7694 5E9F 3E9A 168F 8070 F195 805D 661C
134D FAF6 8903 C199 463C 31E5 AE90 3AE0

Community / 社区

Telegram Group / Telegram 群组:

https://t.me/v2rayN

Telegram Channel / Telegram 频道:

https://t.me/github_2dust

S
Description
No description provided
Readme GPL-3.0
37 MiB
Languages
Kotlin 95.5%
HTML 4.2%
Shell 0.3%