Skip to content
CLXV11Public

About

High-performance native Android code editor and mobile IDE engine built with Kotlin and Jetpack Compose. Features syntax highlighting for 16+ languages, live web runner, REPL console, and local SAF storage.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

ECODE

High-Performance Native Android Code Editor & Mobile IDE Engine


Technical Specifications

Parameter Architecture Specification
Runtime Target Android 7.0 (Nougat, API 24) through Android 16 (Vanilla Ice Cream / Baklava, API 36)
Language & Toolchain Kotlin 2.0+ / Kotlin Symbol Processing (KSP) / Coroutines Flow
User Interface Modern Jetpack Compose (Material Design 3) with full edge-to-edge support
Storage Architecture Android Storage Access Framework (SAF) Document & Tree Provider
Rendering Pipeline Hardware-accelerated Canvas with dynamic line virtualization and viewport clipping
Execution Sandbox Integrated WebKit WebView runtime with bi-directional JavaScript console bridge
Local Verification Automated JVM Unit Tests, Robolectric Tests, and GitHub Actions CI/CD Pipeline

Community & Direct Developer Channels

Join the official developer channels for updates, discussions, bug reports, and direct contact:

Channel Handle / Server Direct Link
Telegram Channel @EPCD11 t.me/EPCD11
Discord Server Community Support discord.gg/FkssmYFY

Supported Languages & Official Emblems

ECODE features custom vector renderers designed to replicate official language branding:

Python Kotlin JavaScript TypeScript HTML5 CSS3 React Java C++ C# Rust Go PHP Ruby Swift Dart SQL Markdown JSON Shell C Assembly Sass Vue.js Angular Lua R GraphQL YAML Docker


Architectural Blueprint

+--------------------------------------------------------------------------+
|                        Android 7.0 - 16 Runtime                          |
+--------------------------------------------------------------------------+
                                    |
                                    v
+--------------------------------------------------------------------------+
|                       Jetpack Compose UI (M3)                            |
|                                                                          |
|   +------------------------------------------------------------------+   |
|   |  TopAppBar: Active Language Pill / Run / Save / Overflow Menu    |   |
|   +------------------------------------------------------------------+   |
|   |  EditorTabBar: Dirty Tracking / Scrollable Multi-Tab Container   |   |
|   +------------------------------------------------------------------+   |
|   |  CodeEditorView: Canvas Line Numbers / Syntax Spans / Selection  |   |
|   +------------------------------------------------------------------+   |
|   |  SearchReplaceBar: Regex / Case-Sensitive / Token Matcher        |   |
|   +------------------------------------------------------------------+   |
|   |  EditorBottomBar: Undo / Redo / Indent / Tab / Quick Symbols Bar |   |
|   +------------------------------------------------------------------+   |
|   |  EditorStatusBar: Line & Column / Storage State / Auto-Save      |   |
|   +------------------------------------------------------------------+   |
|   |  FileExplorerDrawer: Scoped SAF Trees / Internal Workspace       |   |
+--------------------------------------------------------------------------+
                                    |
                                    v
+--------------------------------------------------------------------------+
|                     State Management & ViewModels                        |
|                                                                          |
|   - EditorViewModel (StateFlow<EditorUiState>, Intent Dispatchers)       |
|   - AutoSaveManager (Debounced Coroutine File I/O Engine)               |
|   - PhysicalKeyManager (Hardware Keyboard Shortcut Routing)              |
+--------------------------------------------------------------------------+
                                    |
                                    v
+--------------------------------------------------------------------------+
|                        Engine Core & Services                            |
|                                                                          |
|   - MultiLanguageLexer (High-Speed Regex Tokenizer & Span Assembler)     |
|   - WebRunnerContentBuilder (HTML/CSS/JS Sandbox Payload Compiler)       |
|   - SafStorageManager (Document Trees, MIME Detection, Encoding)         |
|   - WebConsoleBridge (Two-Way JavaScript Log & REPL Evaluator)           |
+--------------------------------------------------------------------------+

Functional Capabilities

1. Code Editor Engine

  • Syntax tokenization covering programming languages, config files, and markup.
  • Synchronized line numbering rendered on Canvas with zero scroll friction.
  • Delimiter pairing for brackets, braces, parentheses, and quote wrappers.
  • State-preserving Undo/Redo historical buffer stack.
  • Regex Find & Replace with case sensitivity, whole-word matching, and occurrence counters.

2. Live Web Runner & Console REPL

  • Zero-latency sandbox execution for HTML, CSS, JavaScript, SVG, and Markdown.
  • Two-way bridge intercepting console.log, console.info, console.warn, and console.error.
  • Interactive REPL terminal input bar for real-time JavaScript statement evaluation.
  • Responsive preview viewports: Fullscreen, Desktop (1280px), Tablet (768px), and Mobile (375px).

3. Native Storage Access Framework (SAF)

  • Full compliance with Android Scoped Storage policies (zero broad storage permissions).
  • Open single documents (ACTION_OPEN_DOCUMENT) and complete directory trees (ACTION_OPEN_DOCUMENT_TREE).
  • Background auto-save with configurable debounce intervals (5s, 10s, 30s, 60s).
  • Encoding detection supporting UTF-8, UTF-8 with BOM, UTF-16, and ASCII.

4. Visual Themes & True AMOLED Pitch Black

  • Pure AMOLED mode (#000000) for zero battery draw on OLED/AMOLED pixels.
  • Monokai Dark (#272822) with pastel syntax accents.
  • One Dark Pro (#21252B) with balanced typography.
  • Dracula Night (#282A36) with high-chroma violet accents.
  • GitHub Light (#FFFFFF) for high ambient daylight readability.

Hardware Keyboard Shortcuts

Combination Target Action
Ctrl + S Save active file to storage
Ctrl + F Toggle Find bar
Ctrl + H Toggle Find and Replace bar
Ctrl + G Open line jump dialog
Ctrl + W Close current tab session
Ctrl + R Execute code in Web Runner
Ctrl + Z Undo last edit
Ctrl + Y Redo last reverted edit
Ctrl + , Open Settings dialog

GitHub Actions Automated APK Pipeline

A containerized, reproducible build workflow is implemented at .github/workflows/build-apk.yml.

Pipeline Features

  1. Automated Triggers: Runs on all push and pull_request events to main and master.
  2. Version Tagging: Pushing a tag (git tag v1.0.0) automatically compiles and publishes a GitHub Release with APK binaries attached.
  3. Manual Execution: Dispatched manually from the Actions tab with configurable options:
    • Variant: debug, release, or both.
    • Unit tests: toggle test suite execution before packaging.
    • Release creation: direct release drafting toggle.
  4. Artifact Retention: Automatically uploads ECODE-debug.apk and SHA256SUMS.txt with a 14-day retention window.

Local Build & Installation

Requirements

  • JDK 21 (Temurin, OpenJDK, or Zulu)
  • Android SDK with Platform 36 and Build-Tools 36.0.0
  • Bash terminal (Linux, macOS, or WSL on Windows)

Compilation Commands

# 1. Clone repository
git clone https://github.com/amialhnina/ECODE.git
cd ECODE

# 2. Grant executable permissions to Gradle wrapper
chmod +x gradlew

# 3. Execute unit and Robolectric tests
./gradlew :app:testDebugUnitTest

# 4. Assemble debug APK
./gradlew :app:assembleDebug

# 5. Output binary path:
# app/build/outputs/apk/debug/app-debug.apk

Security & Offline Architecture

  • No Remote Tracking: Zero analytics SDKs, trackers, or telemetries.
  • Local Isolation: All files, projects, and editor buffers remain completely on the local device.
  • Least Privilege: Only the bare minimum Android system permissions are requested.
  • Offline Reliability: Fully functional without requiring an active internet connection.

License

This project is licensed under the Apache License 2.0. Full terms and conditions are available in the LICENSE file.

About

High-performance native Android code editor and mobile IDE engine built with Kotlin and Jetpack Compose. Features syntax highlighting for 16+ languages, live web runner, REPL console, and local SAF storage.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages