Add Android native port for OpenLessAdd Android native port for OpenLess#447
Open
HKLHaoBin wants to merge 3 commits into
Open
Add Android native port for OpenLessAdd Android native port for OpenLess#447HKLHaoBin wants to merge 3 commits into
HKLHaoBin 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:
|
Collaborator
|
@claude 应该不会对现有代码造成破坏性更改吧?如果没有的话,就可以合并了,帮我审查一下。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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