v1.0.17
🏗️ Project Architecture
RepoStore follows a modular structure to separate UI concerns from low-level Git logic:
1. app Module (The UI Layer)
- Activity:
MainActivity.kthandles the primary landing and navigation. - UI Components: Located in
com.samyak.repostore.ui.*. - Searchable Language Dialog: Managed by
LanguageDialogHelper.kt. This component uses aMaterialAlertDialogto dynamically build a list of locales fromassets.localesand provides real-time filtering viaTextWatcher.
2. GitCore Module (The Logic Layer)
- Serves as the backbone for all Git-related tasks.
- Encapsulates logic for cloning, status checks, and data management.
- Designed to be reusable across other Android Git clients.
🌍 Localization & Multi-Language Support
One of RepoStore's most robust features is its support for over 80 languages.
- Dynamic Locale Loading: Locales are loaded from
context.assets.locales. - Hinglish Implementation: Special logic in
LanguageDialogHelperhandles Hinglish (Hindi in Latin script) as a first-class citizen, ensuring it is displayed correctly and is searchable by both its native and English names. - Resource Management: Each supported language has its own
values-xxfolder, withstrings.xmlcontaining the translated resources.
🚀 Fastlane & Metadata Management
The project implements Fastlane for efficient lifecycle management:
- Metadata Automation: Localized descriptions, changelogs, and promotional text are stored in
fastlane/metadata/android/. - Screenshots: High-quality UI screenshots are categorized by locale, improving the app's presentation on various digital stores.
- Changelog Tracking: Each build version's changes are tracked in locale-specific text files (
fastlane/metadata/android/xx-XX/changelogs/).
🛠️ Key Components & Latest Additions
LanguageDialogHelper.kt
- Search & Filter: Uses a
ListViewand a custom adapter to allow users to quickly find their language. - Theme-Aware: Fully integrates with Material 3 themes, automatically adjusting colors and strokes for focused states.
RepoStoreApp.kt
- Handles the application's global state and early initializations.
📈 Future Roadmap
- Further optimization of
GitCorefor faster background operations. - Enhanced analytics for repository usage patterns.
- Expanded localization coverage for minority regional languages.
Full Changelog: v1.0.14...v1.0.17