Skip to content

Commit 135391a

Browse files
Merge pull request #25 from TheByteArray/chore/1.3.1-lts
1.3.1-lts
2 parents 1caffdc + 4c1f9e8 commit 135391a

Some content is hidden

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

45 files changed

+918
-219
lines changed

.fdroidignore

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# F-Droid ignore file
2+
# Files and directories that F-Droid should ignore during build
3+
4+
# GitHub Actions
5+
.github/
6+
7+
# IDE files
8+
.idea/
9+
*.iml
10+
.vscode/
11+
12+
# Play Store specific files
13+
fastlane/
14+
distribution/
15+
16+
# Documentation (not needed for build)
17+
images/
18+
*.md
19+
!README.md
20+
21+
# Temporary files
22+
*.tmp
23+
*.bak
24+
*~
25+
26+
# OS generated files
27+
.DS_Store
28+
.DS_Store?
29+
._*
30+
.Spotlight-V100
31+
.Trashes
32+
ehthumbs.db
33+
Thumbs.db
34+
35+
# Git files
36+
.git/
37+
.gitignore
38+
.gitattributes
39+
40+
# Signed APKs (if any)
41+
*.apk
42+
*.aab
43+
44+
# Keystore files
45+
*.jks
46+
*.keystore
47+
48+
# Local configuration files
49+
local.properties

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.3.1-lts] - 2024-12-30
9+
10+
### Added
11+
- Support for multiple audio and video format conversions (FLAC, ALAC, MP3, WAV, AAC, OGG, M4A, AIFF, OPUS, WMA, MKA, SPX)
12+
- Flexible bitrate selection (64k to 1024k)
13+
- Video-to-audio conversion capability
14+
- Modern Material Design 3 UI with Jetpack Compose
15+
- FFmpeg integration for high-quality conversions
16+
- Foreground service for conversion progress tracking
17+
- Notification system for conversion status
18+
- Custom save location support
19+
- Metadata editing capabilities
20+
- Cover art management
21+
- Bengali (bn) localization support
22+
23+
### Changed
24+
- Improved boolean extra handling in ViewModel
25+
- Enhanced lifecycle-aware state observation with collectAsStateWithLifecycle
26+
- Optimized conversion service performance
27+
28+
### Fixed
29+
- Resolved boolean extra handling issues in AppViewModel
30+
- Improved resource management for better performance
31+
32+
### Removed
33+
- Unused test code cleanup
34+
35+
## Previous Versions
36+
37+
### [1.3.0] - 2024-11-15
38+
- Added video-to-audio conversion support
39+
- Enhanced UI with better navigation
40+
- Improved conversion stability
41+
42+
### [1.2.0] - 2024-10-01
43+
- Added metadata editing features
44+
- Implemented cover art support
45+
- Enhanced notification system
46+
47+
### [1.1.0] - 2024-09-01
48+
- Added custom save location
49+
- Improved bitrate selection
50+
- Enhanced UI design
51+
52+
### [1.0.0] - 2024-08-01
53+
- Initial release
54+
- Basic audio conversion functionality
55+
- Support for common audio formats
56+
- Simple and intuitive UI

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
# Contributing to ConvertIt
33

4-
Thank you for contributing to [ConvertIt](https://github.com/CodeWithTamim/Convertit)!
4+
Thank you for contributing to [ConvertIt](https://github.com/CodeWithTamim/Convertit)! This project is available on multiple platforms including Google Play Store and F-Droid.
55

66
## Getting Started
77

F-DROID.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# F-Droid Publication Guide
2+
3+
This document contains information about ConvertIt's F-Droid publication and build process.
4+
5+
## About F-Droid
6+
7+
F-Droid is a catalog of FOSS (Free and Open Source Software) applications for the Android platform. F-Droid makes it easy to browse, install, and keep track of updates on your device.
8+
9+
## F-Droid Metadata
10+
11+
The F-Droid metadata for ConvertIt is located in the metadata/ directory:
12+
13+
- metadata/com.nasahacker.convertit.yml - Main F-Droid metadata file
14+
- metadata/en-US/ - English metadata and screenshots
15+
- fastlane/metadata/android/ - Fastlane-compatible metadata structure
16+
17+
## Build Requirements
18+
19+
### Dependencies
20+
21+
ConvertIt uses the following key dependencies:
22+
23+
- FFmpeg Kit: For audio/video conversion (included as AAR)
24+
- TagLib: For metadata handling (included as AAR)
25+
- Jetpack Compose: For UI
26+
- Material Design 3: For modern UI components
27+
28+
### Build Configuration
29+
30+
The app is configured to build with:
31+
32+
- Minimum SDK: 21 (Android 5.0)
33+
- Target SDK: 36
34+
- Kotlin: 2.1.20
35+
- Gradle: 8.10.1
36+
- Java: 11
37+
38+
### F-Droid Build Process
39+
40+
F-Droid builds the app from source using the configuration in metadata/com.nasahacker.convertit.yml. The build process:
41+
42+
1. Clones the repository at the specified commit/tag
43+
2. Sets up the build environment with required dependencies
44+
3. Runs the Gradle build with F-Droid's signing keys
45+
4. Verifies the build meets F-Droid's guidelines
46+
47+
## Publishing Process
48+
49+
### Manual Submission
50+
51+
1. Fork the F-Droid Data repository (https://gitlab.com/fdroid/fdroiddata)
52+
2. Add the metadata file (metadata/com.nasahacker.convertit.yml) to the forked repository
53+
3. Submit a merge request to the F-Droid Data repository
54+
4. Wait for F-Droid maintainers to review and approve
55+
56+
### Automated Updates
57+
58+
Once published, F-Droid can automatically detect new releases using:
59+
60+
- AutoUpdateMode: Version - Automatically updates to new version tags
61+
- UpdateCheckMode: Tags - Checks for new Git tags
62+
63+
## F-Droid Guidelines Compliance
64+
65+
ConvertIt complies with F-Droid guidelines by:
66+
67+
### Privacy Friendly
68+
- No tracking or analytics
69+
- No advertising
70+
- No data collection
71+
- No network permissions for core functionality
72+
73+
### Open Source
74+
- Apache 2.0 license
75+
- Full source code available
76+
- No proprietary dependencies in core functionality
77+
78+
### Security
79+
- No unnecessary permissions
80+
- No background network activity
81+
- All processing done locally
82+
83+
### Build Reproducibility
84+
- Standard Gradle build system
85+
- No custom build scripts
86+
- All dependencies specified in build files
87+
88+
## Anti-Features
89+
90+
ConvertIt has no anti-features according to F-Droid criteria:
91+
92+
- No Ads
93+
- No Tracking
94+
- No Non-Free Network Services
95+
- No Non-Free Dependencies (core functionality)
96+
- No Promotional Content
97+
98+
## Support
99+
100+
For F-Droid specific issues:
101+
102+
- Check the F-Droid Forum (https://forum.f-droid.org/)
103+
- Report issues to our GitHub Issues (https://github.com/TheByteArray/ConvertIt/issues)
104+
- Contact F-Droid maintainers for build-related problems
105+
106+
## Links
107+
108+
- F-Droid App Page: Will be available after publication
109+
- Source Code: https://github.com/TheByteArray/ConvertIt
110+
- Issue Tracker: https://github.com/TheByteArray/ConvertIt/issues
111+
- F-Droid Guidelines: https://f-droid.org/docs/Inclusion_Policy/

F-DROID_READY.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# F-Droid Ready - ConvertIt
2+
3+
ConvertIt has been prepared for F-Droid publication. This document summarizes all the changes and additions made to ensure F-Droid compliance.
4+
5+
## What's Been Added
6+
7+
### Core F-Droid Files
8+
- metadata/com.nasahacker.convertit.yml - Main F-Droid metadata file
9+
- .fdroidignore - Files to exclude from F-Droid builds
10+
- CHANGELOG.md - Version history following Keep a Changelog format
11+
- F-DROID.md - F-Droid specific documentation
12+
- FDROID_SUBMISSION.md - Submission documentation
13+
14+
### Metadata Structure
15+
```
16+
metadata/
17+
├── com.nasahacker.convertit.yml # Main F-Droid config
18+
└── en-US/
19+
├── categories.txt # App category (Multimedia)
20+
├── changelog.txt # Version changelog
21+
├── full_description.txt # Detailed app description
22+
├── short_description.txt # Brief summary
23+
├── summary.txt # One-line summary
24+
├── website.txt # Project website
25+
├── source-code.txt # Source code URL
26+
├── issue-tracker.txt # Bug tracker URL
27+
└── images/
28+
├── icon.png # App icon
29+
└── phoneScreenshots/ # Screenshots
30+
```
31+
32+
### Fastlane Structure
33+
```
34+
fastlane/metadata/android/
35+
└── en-US/ # English metadata
36+
├── title.txt
37+
├── short_description.txt
38+
├── full_description.txt
39+
└── images/
40+
├── icon.png
41+
└── phoneScreenshots/
42+
```
43+
44+
## F-Droid Compliance Checklist
45+
46+
### License & Legal
47+
- Apache-2.0 license (F-Droid compatible)
48+
- LICENSE file present in root
49+
- All source files include license headers
50+
- No legal issues or patent concerns
51+
52+
### Privacy & Security
53+
- No tracking or analytics
54+
- No advertising networks
55+
- No data collection
56+
- No unnecessary permissions
57+
- All processing done locally
58+
- No network requests for core features
59+
60+
### Build System
61+
- Standard Gradle build system
62+
- No proprietary build tools
63+
- Reproducible builds
64+
- No signing keys in repository
65+
- All dependencies properly declared
66+
67+
### Source Code
68+
- Complete source code available
69+
- Public GitHub repository
70+
- No obfuscated code
71+
- Clean code structure
72+
73+
### Documentation
74+
- Comprehensive README
75+
- Contribution guidelines
76+
- Security policy
77+
- F-Droid specific documentation
78+
79+
### Metadata
80+
- Complete app description
81+
- Screenshots in correct format
82+
- Proper categorization
83+
- Version history
84+
- Bitcoin donation address included
85+
86+
## Key Features for F-Droid
87+
88+
- 100% Ad-Free: No advertisements or commercial tracking
89+
- Privacy-First: All conversions happen locally on device
90+
- Open Source: Full source code available under Apache-2.0
91+
- No Network Dependency: Works completely offline
92+
- Modern Architecture: Built with Kotlin, Compose, Material Design 3
93+
- Multi-Format Support: 12+ audio formats supported
94+
- Video to Audio: Extract audio from video files
95+
- Metadata Editing: Full tag and cover art support
96+
97+
## Submission Process
98+
99+
The project is ready for F-Droid submission:
100+
101+
1. Fork F-Droid Data Repository
102+
2. Add metadata file (metadata/com.nasahacker.convertit.yml)
103+
3. Submit merge request with proper documentation
104+
4. Wait for review and approval
105+
106+
### Expected Timeline
107+
- Initial Review: 1-2 weeks
108+
- Build Testing: 3-7 days
109+
- Publication: 1-3 days after approval
110+
- Auto-Updates: Configured for new Git tags
111+
112+
## Distribution Channels
113+
114+
After F-Droid publication, ConvertIt will be available on:
115+
116+
1. Google Play Store - Existing distribution
117+
2. F-Droid - FOSS app store (pending submission)
118+
3. GitHub Releases - Direct APK downloads
119+
120+
## Maintenance
121+
122+
### Auto-Updates
123+
- F-Droid will automatically detect new versions via Git tags
124+
- AutoUpdateMode: Version configured
125+
- UpdateCheckMode: Tags enabled
126+
- No manual intervention needed for updates
127+
128+
### Monitoring
129+
- Monitor F-Droid build logs for issues
130+
- Respond to user feedback on F-Droid
131+
- Keep metadata updated as needed
132+
133+
## Support
134+
135+
For F-Droid related questions:
136+
- F-Droid Forum: https://forum.f-droid.org/
137+
- Project Issues: https://github.com/TheByteArray/ConvertIt/issues
138+
139+
140+
ConvertIt is now fully prepared for F-Droid publication. The app meets all F-Droid guidelines and includes comprehensive metadata for the review process.

0 commit comments

Comments
 (0)