Create Android Phone Dialer App using Flutter and Kotlin
Budget: $250 – $750 USD
I'm looking to build an Android Phone Dialer app that replaces the stock phone dialer app on Android devices. The backend Telephony code should be written in Kotlin and the frontend UI should be written in Flutter. The development environment requirements are Android Studio for the project IDE using the latest version of Flutter which is 2.10.3 supporting null safety.
This project should leverage off of the open source project Simple Dialer (https://github.com/SimpleMobileTools/Simple-Dialer). This is a complete phone dialer app but the UI is written in Native Android. Based on that, the scope of this project consists of the following:
1.) Create a new Flutter project that you will use to move all the Simple-Dialer Kotlin code into to provide all the Telephony capabilities (making phone call, answering phone call, blocking phone calls)
2.) DO NOT move any resources or Kotlin code to the Flutter project that is specific to the Simple Dialer UI (e.g. files in app/src/main/res such as drawable, layout, localized strings, menu)
FLUTTER UI
I need a few different screens in Flutter UI as outlined below. I don't need the full interface as you see if you install the Simple Dialer app. This app is much more basic. The Flutter UI will need to talk to the Kotlin code and vice versa using the Method Channel in Flutter (https://docs.flutter.dev/development/platform-integration/platform-channels).
1.) Main screen that will list a few hard-coded contacts (I don't need a contact interface; just create a class with contact name and phone number)
a). clicking the contact will dial the phone number (transition UI to step #2 below)
2.) Phone screen to display outgoing call (see attachment)
3.) Phone screen to display incoming call. When the incoming call is accepted it should transition to the outgoing call screen in #2 above. Or better yet you can make the incoming/outgoing call screen handle buth types of calls.
4.) Call history screen to display all the recent incoming and outgoing calls
MANAGE BLOCKED NUMBERS
In the Simple Dialer app, in the Settings there is a menu item call "Manage blocked numbers". I need this feature, but I need it to work in the opposite way. All calls should be blocked except for calls that originate from one of the hard-coded contacts (same as the ones in FLUTTER UI #1). If renaming some of the Kotlin code to better identify that is is only allowing incoming calls from the hard-coded contacts, I am okay with that.
You should definitely install the Simple Dialer app (or build from source code) and go over the source code.
Please ask any questions for clarity before posting a bid. I'm looking for the winning bidder to be able to start on this right away.
This project should leverage off of the open source project Simple Dialer (https://github.com/SimpleMobileTools/Simple-Dialer). This is a complete phone dialer app but the UI is written in Native Android. Based on that, the scope of this project consists of the following:
1.) Create a new Flutter project that you will use to move all the Simple-Dialer Kotlin code into to provide all the Telephony capabilities (making phone call, answering phone call, blocking phone calls)
2.) DO NOT move any resources or Kotlin code to the Flutter project that is specific to the Simple Dialer UI (e.g. files in app/src/main/res such as drawable, layout, localized strings, menu)
FLUTTER UI
I need a few different screens in Flutter UI as outlined below. I don't need the full interface as you see if you install the Simple Dialer app. This app is much more basic. The Flutter UI will need to talk to the Kotlin code and vice versa using the Method Channel in Flutter (https://docs.flutter.dev/development/platform-integration/platform-channels).
1.) Main screen that will list a few hard-coded contacts (I don't need a contact interface; just create a class with contact name and phone number)
a). clicking the contact will dial the phone number (transition UI to step #2 below)
2.) Phone screen to display outgoing call (see attachment)
3.) Phone screen to display incoming call. When the incoming call is accepted it should transition to the outgoing call screen in #2 above. Or better yet you can make the incoming/outgoing call screen handle buth types of calls.
4.) Call history screen to display all the recent incoming and outgoing calls
MANAGE BLOCKED NUMBERS
In the Simple Dialer app, in the Settings there is a menu item call "Manage blocked numbers". I need this feature, but I need it to work in the opposite way. All calls should be blocked except for calls that originate from one of the hard-coded contacts (same as the ones in FLUTTER UI #1). If renaming some of the Kotlin code to better identify that is is only allowing incoming calls from the hard-coded contacts, I am okay with that.
You should definitely install the Simple Dialer app (or build from source code) and go over the source code.
Please ask any questions for clarity before posting a bid. I'm looking for the winning bidder to be able to start on this right away.