Share My Creation Stopeet - Phone Addiction Manager

Finally!
I get to release my first android app. It is called Stopeet - Phone Addiction Manager. It helps you track the time spent on your phone and helps you set limits. It is far from perfect, but I hope people will find it useful regardless of its imperfections.

It took a very long time than I expected (though I took a long break working on it because of work) but I am happy I finally got it out.
Thanks to everyone on the B4A forum that made it possible, your libraries, answers to my questions and overall help helped me achieve this. 7months ago, I would not have believed it if I was told I will be able to code an android app...but here I am today :)

A very special thanks to Erel too. You have made something so useful and I B4x tools get the exposure it deserves.
Also special thanks to Aghajari, Lcoders for helping wrap a library I used for this, you are awesome.

It is now on play store:
Stopeet - Phone Addiction Manager


I will really appreciate your feedback guys.

Stopeet.jpg
usage of all apps.jpg
usage limit.jpg
Googleplay listing.jpg
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
Crash report:

java.lang.ClassCastException: android.graphics.drawable.AdaptiveIconDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
at com.marvo.stopeet.usagedata._monitor_getusagedata(usagedata.java:184)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:196)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:176)
at com.aghajari.monitor.AXMonitor$1.getUsageData(AXMonitor.java:91)
at bot.box.appusage.presenter.UsagePresenter$1.onAppDataFetch(UsagePresenter.java:34)
at bot.box.appusage.delegate.FetchAppUsageDelegate.onPostExecute(FetchAppUsageDelegate.java:46)
at bot.box.appusage.delegate.FetchAppUsageDelegate.onPostExecute(FetchAppUsageDelegate.java:16)
at android.os.AsyncTask.finish(AsyncTask.java:755)
at android.os.AsyncTask.access$900(AsyncTask.java:192)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
** Service (notificationservice) Start **
 

Marvel

Active Member
Licensed User
Crash report:

java.lang.ClassCastException: android.graphics.drawable.AdaptiveIconDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
at com.marvo.stopeet.usagedata._monitor_getusagedata(usagedata.java:184)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:196)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:176)
at com.aghajari.monitor.AXMonitor$1.getUsageData(AXMonitor.java:91)
at bot.box.appusage.presenter.UsagePresenter$1.onAppDataFetch(UsagePresenter.java:34)
at bot.box.appusage.delegate.FetchAppUsageDelegate.onPostExecute(FetchAppUsageDelegate.java:46)
at bot.box.appusage.delegate.FetchAppUsageDelegate.onPostExecute(FetchAppUsageDelegate.java:16)
at android.os.AsyncTask.finish(AsyncTask.java:755)
at android.os.AsyncTask.access$900(AsyncTask.java:192)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
** Service (notificationservice) Start **

Did it cause the application to crash? I couldn't get the adaptive icons of some apps so I just try to catch the error and move on. Surprisingly it still displays the icons
 
Top