Skip to content

Commit dbdd22b

Browse files
rtibblesclaude
andcommitted
Add Gradle project with Chaquopy-based Android app
Replace the python-for-android/kivy build system with a standard Gradle project using Chaquopy for Python integration. This is the core of the architecture migration. Build system: - Gradle wrapper (8.11.1), root and app build files - Chaquopy plugin for embedding Python in the Android app - Updated .gitignore, requirements.txt, pyproject.toml Java application layer: - App, WebViewActivity, KolibriWebChromeClient for WebView-based UI - KolibriServerService/ViewModel for managing the Kolibri HTTP server - KolibriEnvironmentSetup for Python environment configuration - WorkController/WorkControllerService for background task orchestration - Worker classes (BaseTaskWorker, ForegroundWorker, BackgroundWorker) - Task management (Task, TaskWorkerImpl, WorkerImpl, Observable/Observer) - Notification system (Builder, Manager, NotificationRef, Notifier) - Utility classes (AuthUtils, ContextUtil, NetworkUtils, ShareUtils) Python application layer: - main.py entry point for Kolibri server lifecycle - taskworker.py and task_reconciler.py for background task execution - auth.py for authentication token generation - Kolibri plugin and settings modules - monkey_patch_zeroconf.py for Android compatibility Android resources: - WebView layout with animated splash screen - Kolibri logo vector drawable with wing-flap animation - Notification icons, themes, colors - Network security config, file provider paths - Localized HTML content for loading/error screens Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 83aa736 commit dbdd22b

100 files changed

Lines changed: 12275 additions & 41 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 53 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,64 @@
1-
# A generated source file
2-
src/strings.py
1+
# Generated source files
2+
app/src/main/python/strings.py
3+
app/src/main/res/values-*/strings.xml
4+
5+
# Temporary files
36
tmpenv
4-
tar
5-
python-for-android/build/
6-
python-for-android/packages/**
7-
python-for-android/dists/kolibri/_python*
8-
python-for-android/dists/kolibri/.gradle
9-
python-for-android/dists/kolibri/build
10-
python-for-android/dists/kolibri/gradle/*
11-
python-for-android/dists/kolibri/jni
12-
python-for-android/dists/kolibri/libs
13-
python-for-android/dists/kolibri/templates
14-
python-for-android/dists/kolibri/obj
15-
python-for-android/dists/kolibri/src/res_initial
16-
python-for-android/dists/kolibri/src/main/assets/private.tar
17-
python-for-android/dists/kolibri/webview_includes
18-
python-for-android/dists/kolibri/*.*
19-
python-for-android/dists/kolibri/gradlew
20-
python-for-android/dists/kolibri/src/main/res/*/html_content.xml
21-
python-for-android/dists/kolibri/src/main/res/values-*/strings.xml
22-
!python-for-android/dists/kolibri/build.gradle
23-
!python-for-android/dists/kolibri/gradle.properties
24-
25-
# File format for signing key
7+
tmphome/
8+
9+
# Kolibri tar files and extracted source
10+
tar/
11+
tar/extracted/
12+
13+
# File format for signing keys
2614
*.jks
15+
*.keystore
2716

28-
# output folder
17+
# Output folder
2918
dist/
3019

20+
# Version code file
21+
.version-code
22+
23+
# Python
3124
__pycache__
3225
*.pyc
33-
build_docker
34-
bin/
35-
build.log
36-
tmphome/
37-
android_root/
3826

27+
# Android build artifacts
28+
android_root/
3929
*.apk
30+
bin/
31+
build/
32+
.gradle/
33+
.cxx
34+
.externalNativeBuild
35+
captures/
36+
local.properties
37+
38+
# IDE
39+
.idea/
40+
.vscode/
41+
*.iml
42+
.DS_Store
43+
44+
# Claude Code sandbox artifacts
45+
.bash_profile
46+
.bashrc
47+
.profile
48+
.zprofile
49+
.zshrc
50+
.gitconfig
51+
.ripgreprc
52+
.mcp.json
53+
.claude/
54+
HEAD
55+
config
56+
hooks/
57+
objects/
58+
refs/
59+
60+
# Environment
4061
.env
41-
.version-code
42-
*.keystore
4362
.envrc
44-
.idea/
63+
build_docker
64+
build.log

0 commit comments

Comments
 (0)