Skip to content
umermalik129Public

About

Fake SMS, notification and call logs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Fake Me

Android app that adds records to the phone's own databases with any sender, date and content: SMS into the real inbox/sent folder, calls into the real call history, plus custom notifications and a WhatsApp look-alike. Everything stays on the device.

What each type does

Type Where it lands Needs
SMS The phone's SMS database (shows in Google Messages etc.) Fake Me set as default SMS app while writing
Call The phone's call history (shows in the Phone app's Recents) Call-log permission (runtime dialog)
Notification A real notification in the shade Notification permission
WhatsApp WhatsApp-style notification + in-app chat only Nothing; Android does not allow writing into WhatsApp

Past dates are written immediately. Future dates are armed with AlarmManager and written at that exact moment (survives reboot). Records that could not be written (role or permission missing) are kept as "Not on device" and can be retried from the home banner.

Default SMS app flow

Android only lets the default SMS app insert messages. The app explains this, requests the role through the system dialog, writes, and shows a "Switch back" banner that opens the default-apps settings. While Fake Me holds the role, genuine incoming texts are stored and notified so nothing is lost (MMS is not handled; switch back when done).

Project layout

app/src/main/java/com/technatix/fakeme
  FakeMeApp.kt              Application + dependency container (appContainer)
  MainActivity.kt           Edge-to-edge host, notification permission, deep link from notifications
  data/                     Room entities (FakeMessage, Sender), DAO, database, FakeMeRepository
  domain/RepeatRule.kt      Bulk-date rules and RepeatExpander (pure Kotlin, unit tested)
  device/                   SmsWriter (SMS provider), CallLogWriter (call log),
                            SmsDeliverReceiver / MmsReceiver / HeadlessSmsSendService (role eligibility)
  notifications/            FakeNotifier, MessageDeliverer (device write + notify), NotificationScheduler,
                            NotificationAlarmReceiver, BootReceiver
  ui/components             DeviceAccess (role/permission flow), bubbles, call row, status chips, pickers
  ui/home                   Messages / Calls / Notifications / Senders tabs and banners
  ui/create                 Create/edit form + CreateMessageViewModel
  ui/conversation           Conversation screen + ViewModel
  ui/navigation, ui/theme

Build

./gradlew :app:assembleDebug
./gradlew :app:testDebugUnitTest
./gradlew :app:installDebug      # to a connected phone

Min SDK 26, target SDK 37. Note: the default-SMS role and the call-log permission are restricted on Google Play; this app is intended for personal/sideloaded use.

About

Fake SMS, notification and call logs.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages