# ๐Ÿ“ฑ Task List for SimpleLogUpload (Android App) ## ๐Ÿงญ Project Goals - Follow **MVC** architectural pattern - Allow users to upload files manually or via **Android share intent** - Automatically **zip uncompressed files** before upload - Show and manage a **local history** of uploaded files - Display the **upload code** from server after successful upload - Support configuration for: - Max download count - Expiry time (max 24 hours) --- ## ๐Ÿ› ๏ธ Core Features to Implement ### ๐Ÿ”— Share Integration - [ ] Add `` in `AndroidManifest.xml` for ACTION_SEND and ACTION_SEND_MULTIPLE - [ ] Handle incoming shared files in `MainActivity` or a new controller - [ ] Automatically start the upload process from shared intent ### ๐Ÿ“ฆ Zip Before Upload - [ ] Detect if selected/shared file is already a `.zip` - [ ] If not zipped, compress it to `.zip` format - [ ] Use the zipped version for upload ### ๐Ÿ“œ Upload History - [ ] Create a local database or use SharedPreferences to log: - File name - Upload time - Server-returned code - Max downloads & expiry - [ ] Add new UI to list previously uploaded files - [ ] Allow copy of upload code and option to delete history entry ### โฌ†๏ธ Upload Enhancements - [x] Replace TinyURL logic with server-provided 6-digit alphanumeric code - [x] Display this code to the user after upload - [x] Validate file size before upload (max 2GB, increased from 16MB) - [x] Add retry logic and better error messages --- ## โœ… Existing Features (Audit) - [x] File selection and upload via UI - [x] Background upload using JobService - [x] Upload progress shown to user - [x] Uses SharedPreferences for config - [x] HTTP cleartext traffic support for server communication - [x] Support for large file uploads (up to 2GB) --- ## ๐Ÿงช Testing Scenarios - [ ] Manual upload with various file types - [ ] Share intent upload flow - [ ] Zip logic works on large files - [x] Network disruptions (offline/retry handling) - [ ] UI responsiveness on phones and tablets --- ## ๐Ÿงผ Code Quality - [x] Ensure MVC separation in all components - [ ] Add unit tests for: - Zip utility - Upload manager - History storage - Share intent handler - [x] Improve logs for debugging failures --- ## ๐Ÿš€ Future Ideas - [ ] Dark mode UI - [ ] Multi-file upload - [ ] Upload status notification with retry option