Commit graph

11 commits

Author SHA1 Message Date
avi
76f2f88a61 build: add release signing config and Zapstore publish config
- release signing reads keystore/keystore.properties (git-ignored)
- zapstore.yaml publishes the app via local APK source
2026-08-14 16:27:10 -05:00
avi
6b6f242edb refactor: rename package to lostmyphone.app
Move off the reserved com.example placeholder namespace to the app's own
package identifier.
2026-08-14 16:19:54 -05:00
avi
c0d15761db feat: Murine-inspired dark, minimal UI
Restyle both screens into a dark card-based Material3 look: near-black
background, rounded surface cards, muted uppercase section labels, tonal
buttons, and a filled accent Save button. Update MainActivity DND status
colors to the new palette.
2026-08-07 14:42:13 -05:00
avi
611c78776e security: disable backups and don't log SMS bodies
- android:allowBackup=false so config (trigger, sound URIs, duration) is not
  extractable via adb backup or auto-restored to another device.
- SmsReceiver no longer logs received message body/sender (could contain
  sensitive content); uses generic debug logs instead.
2026-08-07 14:00:40 -05:00
avi
4a04052845 feat: configurable ring volume
Adds a volume slider (1-100% of the alarm stream) to Settings. RingService
plays at the configured percentage instead of always maxing STREAM_ALARM.
2026-08-07 13:46:20 -05:00
avi
e83c7c3344 feat: add Stop action to the ringing notification
Lets the user silence the ring early from the notification instead of waiting
out the full configured duration. ACTION_STOP stops playback, restores
volume/focus, and removes the foreground notification.
2026-08-07 13:44:26 -05:00
avi
5e5d53ab9b fix: play through the alarm stream so the ring cuts through DND
DND silences the media stream by default, so playback on STREAM_MUSIC was
invisible during DND even though the notification showed. Switch to
STREAM_ALARM + USAGE_ALARM, which DND exempts by default, and restore/force
the alarm stream volume instead of media.
2026-08-07 13:37:29 -05:00
avi
63791b9f5e feat: configurable ring settings screen
Adds a Settings screen (SettingsActivity) where the user configures:
- the SMS trigger phrase (replaces hardcoded RING_NOW/PLAY_SONG)
- the sound: system ringtone (with picker) or a picked audio file
- the play duration (5-300s, replaces the fixed 30s)

Values persist via RingConfig (SharedPreferences). SmsReceiver matches the
configured phrase; RingService plays the stored Uri for the configured length.
Removes the old MediaStore by-name song search and its hardcoded duration.
2026-08-07 13:31:29 -05:00
avi
6d05e22259 fix: remove invalid protectionLevel on RECEIVE_SMS uses-permission
protectionLevel only applies to app-defined <permission> elements. On a
<uses-permission> it misclassifies RECEIVE_SMS so the system never offers
the runtime grant dialog.
2026-08-07 13:16:40 -05:00
avi
597a189637 fix: get the app building
- settings.gradle.kts: add dependencyResolutionManagement repositories so app deps resolve
- activity_main.xml: move help text with raw quotes to a string resource (commands_help)
- RingService.kt: import NotificationChannel and PendingIntent
- gradle wrapper: add gradlew + gradle-wrapper.jar, regenerate properties
- add .gitignore for build outputs and local.properties
2026-08-07 09:47:47 -05:00
avi
220dd85ed3 checkpoint: Lost My Phone app - SMS triggers, DND override, mediaPlayback FGS 2026-08-06 16:24:28 -05:00