1. Call Durations:
every minutes of calls will be count (outgoing calls only). total calls duration will be readable from web.
2. USSD Blocker:
Any USSD or Balance updates USSD popup needs to be store and count first for calculation (its need to read balance update from web) then any USSD have to be removed from screen by App after 2 second.
3. sim selector for calls:
mobile has 2 sim, app will read operator names (eg. gp, robi, blink, tt whatever) and store names in app database like sim 1 have (GP or any) and sim 2 have (robi or any). sim will switch calls with integreted built-in dialer based on minutes. its like sim selector before calls based on minutes. (sim 1 is primary and sim 2 is secondary)
First Starts | New Installtions:
case 1: app will flash | delete phone calls log and sms inbox if confirm and its own recods on its first starts or new installations.
case 2: app will get time from phone for its own calculations and store in its own database.
case 3: app will check bluetooth status. if status is off app will automatically on/run it. bluetooth will be always on.
case 4: app will flash database,sms inbox , calls log after 23 hours 59 min 59 second based on gmt +6 00:00:00 time and phone will be rebooted.
case 5: app will display its own started time.
case 6: app will be running in background all time. it will be start automatically if phone is rebooted.
case 7: app will change primary sim after spicific N time later.
case 1: app will allow sim 1 (one) to make call if it is first call.
case 2: app will check any ussd pop up available or not in the screen. if available then app will force it remove|clean/cancel.
case 3: app will allow to call prefix wise. (need manual input, default is operator to operator) e.g.: 018 - robi, 016 airtel. ...
case 4: app will check outgoing call durations of both sim from its own database and sim with lower durations will allow to make calls and sim will be pre selected and waits untill call is made.
case 1: app will read every ussd pop up at the end of calls and stores in its own database.
case 2: app will remove balance update popup from screen after 2 seconds of stores records in database.
case 3: app will look into calls log and will sum of total durations of outgoing calls separately by sim and will display updates durations in app screen.
case 5: app will mark every sms in inbox as read.
case 6: app will push updates on web api (php) (total durations and running balance's of each sim)
case 7: app will check total durations of last called sim to stop sim if it reached its maximum allowed minutes.
case 8: app will stop bluetooth for 1 (one) minutes after each end of calls and after 1 (one) minutes app will start bluetooth again.
(double check bluetooth status, need status is on)