Android Video Clip Pinning Feature

via Freelancer ·

Budget / Salary₹12,500–37,500
TypeFreelance project
LocationRemote
Posted1 hour ago
I’m adding a small yet important interaction to my Android app: when a user performs a long-press on any video clip, that clip should become “pinned.” A pinned clip must stay on the device indefinitely, while every unpinned clip should be automatically removed exactly one hour after it was created or downloaded.

What I already have
• The app already plays and lists video clips; you’ll be working inside an existing Android project.
• Current codebase is in Kotlin, but clean Java is acceptable if you keep the modules consistent.

What I need from you
• Detect a long-press gesture on each clip thumbnail or list item and toggle its pinned state visually (e.g., overlay icon or colour change).
• Persist the pinned flag locally so it survives app restarts.
• Schedule background deletion of unpinned clips one hour after their timestamp; this must run reliably even if the user closes the app or reboots the phone (WorkManager or an equivalent Android-friendly solution is fine).
• Write clear, concise comments plus a short README explaining where you touched the code and how to extend the retention window if needed.
• Deliver the updated source files and instructions for building the APK.

Acceptance criteria
1. Long-press pins or unpins a clip instantly and updates the UI.
2. Pinned clips are never deleted by the automated cleanup task.
3. Unpinned clips are deleted one hour after creation with no manual action required.
4. All functionality works on Android 8.0 (API 26) and above, with no foreground service notification showing during deletion.

If you’re comfortable with gesture handling, local data persistence, and background work on Android, this should be a straightforward task. Let me know if anything is unclear and I’ll provide the existing repository link.
javascript mobile app development android kotlin android app development android sdk android ui design
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.