Skip to content

DDOneApps/FakeCall

Repository files navigation

FakeCall

GitHub stars GitHub forks GitHub issues Downloads Crowdin

GitHub license

An open-source Android application to simulate incoming calls, featuring a modern Material 3 UI with dynamic Monet support.

Overview

Ever wanted to get that Feature of old Samsung phones to simulate an incoming call with audio on the originial phone app? Introducing FakeCall. Unlike other apps that merely mock a UI, this app integrates directly with the Android Telecom Framework to provide an indistinguishable calling experience. It has many features to make the call as real as possible.

Caution

This app won't work on Android 17 as of now! This is because of google deprecating/changing Provider settings constantly. Please help getting heard by google by going to this android issue and pressing +1.

Features

  • Original Dialer: FakeCall uses your real Phone app to simulate the incoming Call by creating a Phone Account in android's TelecomManager
  • Customizable: The app lets you customize the name of the fake phone account in the settings to match your real service provider.
  • Schedule: Set exact Timers for when the call should come in
  • Audio Support: You can upload audio files that play when the call is answered
  • Call History: Simulated calls are being shown in call history
  • IVR Mode: assign audio files to keys and make sub-menus
  • Recording: record microphone audio of a Fake call
  • Automation API: trigger calls from Tasker, MacroDroid, or ADB via a broadcast intent
  • Accessibility Shortcut: schedule a fake call from the system accessibility button using saved defaults
  • Quick Trigger Presets: save up to 5 presets and expose them as launcher app actions + Quick Settings tiles

Automation API

FakeCall exposes a broadcast receiver for automation apps.

Action

com.upnp.fakeCall.TRIGGER

Extras

  • caller_name (String, optional)
  • caller_number (String, optional)
  • delay (Int, optional, seconds)

If one or more extras are omitted, FakeCall falls back to the saved Automation & Quick Trigger Defaults from Settings.

ADB example (recommended, package-targeted, no -n needed)

adb shell am broadcast -a com.upnp.fakeCall.TRIGGER -p com.upnp.fakeCall --es caller_name "Boss" --es caller_number "+49123456789" --ei delay 30

Windows cmd.exe (single line)

adb shell am broadcast -a com.upnp.fakeCall.TRIGGER -p com.upnp.fakeCall --es caller_name "Boss" --es caller_number "+49123456789" --ei delay 30

Explicit component fallback

adb shell am broadcast -n com.upnp.fakeCall/.ExternalTriggerReceiver -a com.upnp.fakeCall.TRIGGER --es caller_name "Boss" --es caller_number "+49123456789" --ei delay 30

For Tasker, MacroDroid, etc. set:

  • Action: com.upnp.fakeCall.TRIGGER
  • Package: com.upnp.fakeCall

Accessibility Quick Trigger

Enable the FakeCall accessibility service and assign it to the system accessibility button or shortcut. When invoked, it schedules a fake call using the saved quick-trigger defaults from Settings and shows a short confirmation toast.

You can configure these defaults inside:

Settings -> Automation & Quick Trigger Defaults

You can also save up to five quick trigger presets from the same section:

  • presets appear as launcher app actions (long-press the app icon)
  • presets are available as Quick Settings tiles (FakeCall Preset 1 ... FakeCall Preset 5)

Screenshots

Screenshot 1 Main screen

Screenshot 3 Call interface

Tech Stack

Mobile Development:

Kotlin

Android

Jetpack Compose

Build System:

Gradle

UI/UX:

Material 3

Dynamic Color

Star History

Star History Chart

Project Structure

FakeCall/
├── .github/          # GitHub related files (e.g., issue templates, workflows) - TODO: If applicable
├── .idea/            # IntelliJ/Android Studio project configuration files
├── app/              # Main Android application module
│   ├── build.gradle.kts # Module-level Gradle build script (Kotlin DSL)
│   ├── src/          # Source code and resources
│   │   ├── main/     # Main source set (Kotlin code, resources, manifest)
│   │   └── androidTest/ # Android UI test source set
│   └── ...           # Other module files
├── build.gradle.kts  # Top-level Gradle build script (Kotlin DSL)
├── gradle/           # Gradle wrapper files
├── gradlew           # Gradle wrapper script (for Unix/macOS)
├── gradlew.bat       # Gradle wrapper script (for Windows)
├── gradle.properties # Global Gradle properties
├── settings.gradle.kts # Gradle settings file (defines project modules)
├── .gitignore        # Specifies intentionally untracked files to ignore
└── README.md         # This README file

Contributing

We welcome contributions to FakeCall!

If you want to help translating, do it Here via crowdin

License

This Project is licenced under GNU General Public License. Read it Here

Acknowledgments

  • AI for helping me with my poor kotlin knowledge.
  • NLL Apps for telling me how this project could be implemented. (Reddit)

Support

  • If you encounter any bugs or have feature requests, please open an issue on GitHub Issues.

☕️ If you want to support me, you can do it via monero: 42eQ1sZtR1USUcGRwc4hiTLNvL7q8U9XSCVVtuhRFKKREpevd4F1X3aN8X4UzkqNTy3n4BsfUooLvj1ydjpem5Ee9SRA2dZ 9a569a26-b6f7-4425-84b6-0584a914ae54

⭐ Star this repo if you find it helpful!

Made with ❤️(and AI 🤖)

About

An Open Source App to simulate incoming calls on Android. Designed in Material 3 UI with Monet support

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages