Add Android native port for OpenLessAdd Android native port for OpenLess#447
Add Android native port for OpenLessAdd Android native port for OpenLess#447HKLHaoBin wants to merge 3 commits into
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
…droid-port) Co-authored-by: Cursor <cursoragent@cursor.com>
在 FloatingTriggerService 而非 MicBubbleView 中跟踪手势开始时间,以确保长按检测的准确性。此前,MicBubbleView 中的 downAt 时间戳可能会过期,导致 ACTION_UP 时协调器行为异常。同时增加了适当的 ACTION_CANCEL 处理,用于重置手势状态,防止过时的计时数据影响后续手势。
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
|
@claude 应该不会对现有代码造成破坏性更改吧?如果没有的话,就可以合并了,帮我审查一下。 |
|
@claude 这个安卓版主要关注以下几点:
|
|
Claude finished @appergb's task in 2m 2s —— View job Android 端口 PR 审查结果审查任务清单
1. 主要更改内容这个 PR 在仓库中新增了一个完全独立的
现有文件唯一修改: 2. 是否会破坏现有代码?不会。 这是一个纯增量 PR,所有 57 个 Android 相关文件均为新增,0 个删除。
3. 是否影响其他平台?不影响。 macOS / Windows / Linux 桌面端完全隔离:
需要关注的问题问题 1:release 构建静默回退 debug 签名( 当传入 建议:当 问题 2:模式按钮 alpha 值未恢复(
问题 3:build-tools 版本硬编码(
问题 4: 这是开发过程中的临时笔记文件,建议从 PR 中移除。 注意事项:Android 版没有任何自动化测试,目前仅靠手工验证(模拟器)。CI 也不会自动构建 Android APK(无 Gradle / Android CI job)。这些在 PR 描述中已说明为已知遗留工作。 结论:合并安全,不会破坏桌面端任何现有功能。上述问题 1 和 2 建议在合并前或后续 PR 中修复,问题 3、4 属于改进建议。 |
User description
from #278
User description
Summary
This PR adds a native Android port of OpenLess under
openless-android/.The Android implementation ports the desktop dictation pipeline into Java/Android-native components, including:
Included
openless-android/Validation
Verified locally with:
.\build.ps1.\verify.ps1Also completed one emulator validation round for:
Notes
This is a large additive PR because the Android port is introduced as a new directory rather than modifying the existing desktop implementation.
Known remaining work is mainly around:
PR Type
Enhancement, Documentation
Description
Android port with build/verify/deploy scripts and version sync
Main dictation flow: floating trigger, mic recording, streaming ASR
Polish, translation, and IME insertion with clipboard fallback
History, dictionary, settings, Q&A, and error detail screens
Diagram Walkthrough
File Walkthrough
3 files
PowerShell build script for APK generationADB deployment script for device installVersion sync script from desktop app1 files
APK verification script checking signing and permissions15 files
Main UI with dictation, history, settings, and tools sectionsQ&A panel with voice question and streaming answersLLM and ASR configuration validation utilitiesSettings screen for providers and preferencesDictionary management for hotwordsForeground service for floating dictation triggerDetail view for individual history entriesLLM model listing activityAudio recording and PCM buffer managementStreaming ASR via Volcengine WebSocketWhisper-compatible ASR via HTTPPolish/translation using OpenAI-compatible APIIME and clipboard insertion helperPersistent dictation history storageSecure settings storage with Android Keystore1 files
Error detail screen for troubleshooting36 files
PR Type
Enhancement, Documentation
Description
Adds native Android OpenLess app
Implements dictation, QA, and IME flows
Adds build, verify, deploy scripts
Documents release, QA, port status
Diagram Walkthrough
File Walkthrough
6 files
Add Android APK build pipelineValidate APK metadata and permissionsInstall and launch Android buildsDerive Android version from desktopDeclare Android permissions and componentsAdjust release workflow indexing28 files
Build Android dictation home screenAdd conversational QA panel UIPersist Android settings securelyDefine ASR provider interfaceAdd Android settings screenManage dictionary entries on AndroidRun floating trigger overlay serviceShow detailed history recordsCoordinate native dictation flowList available LLM modelsAdd lightweight websocket clientCentralize prompt templatesImplement Volcengine ASR clientImplement LLM polish and translateStream audio into ASR sessionsPersist and score hotwordsAdd provider validation helpersStore Android dictation historyReport Android permission readinessCapture microphone audio streamsEncode Volcengine websocket framesStore secrets in Android KeystoreImplement Whisper-compatible transcriptionAdd Android IME insertion pathInsert text with clipboard fallbackTrack QA conversation stateEncode audio to WAV formatAdd Android launcher foreground asset5 files
Document Android port progressExplain Android build and usageAdd Android QA checklistDocument Android release stepsPrepare store submission checklist1 files
Present structured Android errors17 files