Files
simplefileupload-android/TASK.md
2025-04-14 22:40:14 -04:00

2.4 KiB

📱 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 <intent-filter> 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

  • Replace TinyURL logic with server-provided 6-digit alphanumeric code
  • Display this code to the user after upload
  • Validate file size before upload (max 2GB, increased from 16MB)
  • Add retry logic and better error messages

Existing Features (Audit)

  • File selection and upload via UI
  • Background upload using JobService
  • Upload progress shown to user
  • Uses SharedPreferences for config
  • HTTP cleartext traffic support for server communication
  • 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
  • Network disruptions (offline/retry handling)
  • UI responsiveness on phones and tablets

🧼 Code Quality

  • Ensure MVC separation in all components
  • Add unit tests for:
    • Zip utility
    • Upload manager
    • History storage
    • Share intent handler
  • Improve logs for debugging failures
  • Ensure compatibility with Android 14+ (API 34)

🚀 Future Ideas

  • Dark mode UI
  • Multi-file upload
  • Upload status notification with retry option