Files
simple-notes-sync/android
inventory69 1a6617a4ec chore(quality): resolve all detekt findings for v1.8.1 release
Changes:
- UpdateChangelogSheet.kt: Remove 3 unused imports (Intent, Uri, withStyle)
- NoteEditorScreen.kt: Extract DRAGGING_ELEVATION_DP and AUTO_SCROLL_DELAY_MS constants
- NoteEditorScreen.kt: Add @Suppress("LongParameterList") to DraggableChecklistItem
- NoteEditorViewModel.kt: Refactor loadNote() into loadExistingNote(), loadChecklistData(), initNewNote()
- NoteEditorViewModel.kt: Extract parseSortOption() utility for safe enum parsing
- NoteEditorViewModel.kt: Fix NestedBlockDepth and SwallowedException findings
- ChecklistPreviewHelper.kt: Suppress SwallowedException for intentional fallback
- NoteWidgetActions.kt: Suppress SwallowedException for intentional fallback
- NoteWidgetContent.kt: Suppress SwallowedException in ChecklistCompactView + ChecklistFullView
- SyncWorker.kt: Suppress LongMethod on doWork() (linear flow, debug logging)
- detekt.yml: Update maxIssues from 100 to 0, update version comment

All 12 detekt findings resolved. Build compiles clean, 0 lint errors.
2026-02-11 11:22:10 +01:00
..

Simple Notes - Android App

🚧 Development Setup

Voraussetzungen

  • Android Studio Hedgehog (2023.1.1) oder neuer
  • JDK 17
  • Android SDK 34
  • Min SDK 24

Projekt in Android Studio öffnen

# In Android Studio:
# File → New → New Project
# Template: Empty Views Activity
# 
# Settings:
# Name: Simple Notes
# Package: com.example.simplenotes
# Save location: /home/liq/gitProjects/simple-notes-sync/android/
# Language: Kotlin
# Minimum SDK: API 24
# Build configuration: Kotlin DSL

Dependencies

Siehe ANDROID_GUIDE.md in project-docs für vollständige build.gradle.kts:

Hauptabhängigkeiten:

  • Sardine Android (WebDAV Client)
  • Kotlin Coroutines
  • Gson (JSON)
  • WorkManager (Background Sync)
  • Material Design Components

Projektstruktur

android/
└── app/
    └── src/
        └── main/
            ├── AndroidManifest.xml
            ├── java/com/example/simplenotes/
            │   ├── MainActivity.kt
            │   ├── NoteEditorActivity.kt
            │   ├── SettingsActivity.kt
            │   ├── models/
            │   │   ├── Note.kt
            │   │   └── SyncStatus.kt
            │   ├── storage/
            │   │   └── NotesStorage.kt
            │   ├── sync/
            │   │   ├── WebDavSyncService.kt
            │   │   ├── WifiSyncReceiver.kt
            │   │   ├── SyncWorker.kt
            │   │   └── ConflictResolver.kt
            │   ├── adapters/
            │   │   └── NotesAdapter.kt
            │   └── utils/
            │       ├── DeviceIdGenerator.kt
            │       ├── NotificationHelper.kt
            │       ├── Extensions.kt
            │       └── Constants.kt
            └── res/
                ├── layout/
                ├── values/
                └── drawable/

📖 Development Guide

Vollständige Code-Beispiele und Implementation:

🏗️ Build

# Debug Build
./gradlew assembleDebug

# Release Build
./gradlew assembleRelease

# Install on connected device
./gradlew installDebug

🧪 Testing

# Run unit tests
./gradlew test

# Run instrumented tests
./gradlew connectedAndroidTest

📝 TODO

  • Projekt in Android Studio erstellen
  • Dependencies einrichten
  • Models implementieren (Note.kt, SyncStatus.kt)
  • Storage Layer (NotesStorage.kt)
  • UI Layouts erstellen
  • Activities implementieren
  • Sync Service (WebDavSyncService.kt)
  • WLAN Detection (WifiSyncReceiver.kt)
  • WorkManager Setup (SyncWorker.kt)
  • Notifications (NotificationHelper.kt)
  • Error Handling
  • Testing

Next Step: Projekt in Android Studio erstellen und Code aus ANDROID_GUIDE.md übernehmen.