Git Product home page Git Product logo

contractiontimer's People

Contributors

ianhanniballake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

contractiontimer's Issues

ANR keyDispatchingTimedOut in MainActivity

Per Android Market, ANR during keyDispatchingTimedOut in MainActivity:

DALVIK THREADS:
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x4001d8c0 self=0xccc8
| sysTid=3027 nice=0 sched=0/0 cgrp=default handle=-1345017816
| schedstat=( 4726989740 5692626957 8043 )
at android.os.BinderProxy.transact(Native Method)
at android.view.IWindowSession$Stub$Proxy.finishKey(IWindowSession.java:625)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1836)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)

"DispatcherThread" prio=5 tid=18 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448e0f60 self=0x2e33d0
| sysTid=3101 nice=0 sched=0/0 cgrp=default handle=2944416
| schedstat=( 671387 72174071 16 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448e2028> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at android.os.HandlerThread.run(HandlerThread.java:60)

"Binder Thread #4" prio=5 tid=15 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x4489a800 self=0x2a2908
| sysTid=3042 nice=0 sched=0/0 cgrp=default handle=2757632
| schedstat=( 24505618 780090335 253 )
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #3" prio=5 tid=14 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x4485b370 self=0x2a0c20
| sysTid=3041 nice=0 sched=0/0 cgrp=default handle=2209120
| schedstat=( 22613521 782165526 264 )
at dalvik.system.NativeStart.run(Native Method)

"ModernAsyncTask #5" prio=5 tid=13 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448abe18 self=0x29e430
| sysTid=3040 nice=10 sched=0/0 cgrp=bg_non_interactive handle=2210768
| schedstat=( 16540523 97985687255 179 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448783b0> (a java.lang.VMThread)
    at java.lang.Thread.parkFor(Thread.java:1535)
    at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
    at sun.misc.Unsafe.park(Unsafe.java:317)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:131)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
    at java.lang.Thread.run(Thread.java:1096)

"ModernAsyncTask #4" prio=5 tid=11 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448af960 self=0x23eeb0
| sysTid=3037 nice=10 sched=0/0 cgrp=bg_non_interactive handle=2346544
| schedstat=( 61950681 106664367671 195 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448afad8> (a java.lang.VMThread)
    at java.lang.Thread.parkFor(Thread.java:1535)
    at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
    at sun.misc.Unsafe.park(Unsafe.java:317)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:131)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
    at java.lang.Thread.run(Thread.java:1096)

"ModernAsyncTask #3" prio=5 tid=10 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448af6c8 self=0x23e568
| sysTid=3036 nice=10 sched=0/0 cgrp=bg_non_interactive handle=2346480
| schedstat=( 39031973 27762176527 282 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448af840> (a java.lang.VMThread)
    at java.lang.Thread.parkFor(Thread.java:1535)
    at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
    at sun.misc.Unsafe.park(Unsafe.java:317)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:131)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
    at java.lang.Thread.run(Thread.java:1096)

"ModernAsyncTask #2" prio=5 tid=9 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448af3d8 self=0x23cbe8
| sysTid=3035 nice=10 sched=0/0 cgrp=bg_non_interactive handle=2346280
| schedstat=( 29571537 115789184570 205 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448af550> (a java.lang.VMThread)
    at java.lang.Thread.parkFor(Thread.java:1535)
    at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
    at sun.misc.Unsafe.park(Unsafe.java:317)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:131)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
    at java.lang.Thread.run(Thread.java:1096)

"ModernAsyncTask #1" prio=5 tid=8 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x448af080 self=0x23c9e0
| sysTid=3034 nice=10 sched=0/0 cgrp=bg_non_interactive handle=2345760
| schedstat=( 27832028 27618194586 258 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x448af2b8> (a java.lang.VMThread)
    at java.lang.Thread.parkFor(Thread.java:1535)
    at java.lang.LangAccessImpl.parkFor(LangAccessImpl.java:48)
    at sun.misc.Unsafe.park(Unsafe.java:317)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:131)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1001)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
    at java.lang.Thread.run(Thread.java:1096)

"AsyncQueryWorker" prio=5 tid=7 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x4489b430 self=0x21b5a0
| sysTid=3033 nice=0 sched=0/0 cgrp=default handle=2209504
| schedstat=( 382965090 1021209718 317 )
at java.lang.Object.wait(Native Method)

  • waiting on <0x4489b658> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at android.os.HandlerThread.run(HandlerThread.java:60)

"Binder Thread #2" prio=5 tid=6 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x4485b9b0 self=0x119788
| sysTid=3032 nice=0 sched=0/0 cgrp=default handle=1252536
| schedstat=( 39642325 794708265 366 )
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #1" prio=5 tid=5 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44856600 self=0x128528
| sysTid=3031 nice=0 sched=0/0 cgrp=default handle=1174184
| schedstat=( 36773682 777954112 301 )
at dalvik.system.NativeStart.run(Native Method)

"Compiler" daemon prio=5 tid=4 VMWAIT
| group="system" sCount=1 dsCount=0 s=N obj=0x448552a0 self=0x127268
| sysTid=3030 nice=0 sched=0/0 cgrp=default handle=1204416
| schedstat=( 1078399656 1448822028 6446 )
at dalvik.system.NativeStart.run(Native Method)

"Signal Catcher" daemon prio=5 tid=3 RUNNABLE
| group="system" sCount=0 dsCount=0 s=N obj=0x448551e8 self=0x125ed0
| sysTid=3029 nice=0 sched=0/0 cgrp=default handle=1187528
| schedstat=( 90942383 729736333 165 )
at dalvik.system.NativeStart.run(Native Method)

"HeapWorker" daemon prio=5 tid=2 VMWAIT
| group="system" sCount=1 dsCount=0 s=N obj=0x4314cc20 self=0x124bd0
| sysTid=3028 nice=0 sched=0/0 cgrp=default handle=1187464
| schedstat=( 145874027 802734373 265 )
at dalvik.system.NativeStart.run(Native Method)

NullPointerException Crash

In version 1.3.3:

java.lang.NullPointerException
at com.ianhanniballake.contractiontimer.ui.ContractionListFragment$1.run(ContractionListFragment.java:174)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3806)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)

NullPointerException during GoogleAnalyticsTracker.dispatch()

Per Android Market crash report:

java.lang.RuntimeException: Unable to pause activity {com.ianhanniballake.contractiontimer/com.ianhanniballake.contractiontimer.ui.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3567)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3524)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4037)
at android.app.ActivityThread.access$2400(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.google.android.apps.analytics.GoogleAnalyticsTracker.dispatch(Unknown Source)
at com.ianhanniballake.contractiontimer.service.AnalyticTrackingActivity.onPause(AnalyticTrackingActivity.java:33)
at android.app.Activity.performPause(Activity.java:3883)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1332)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3554)
... 12 more

ANR Executing service ControlAppWidgetService

Per Android Market, ANR during execution of ControlAppWidgetService:

DALVIK THREADS:
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x40020ba0 self=0xcdd0
| sysTid=1330 nice=0 sched=0/0 cgrp=unknown handle=-1345025984
at com.android.server.SystemServer.init1(Native Method)
at com.android.server.SystemServer.main(SystemServer.java:645)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)

"Thread-280" prio=5 tid=61 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44c40658 self=0x57e188
| sysTid=5387 nice=0 sched=0/0 cgrp=unknown handle=3298408
at java.lang.Object.wait(Native Method)

  • waiting on <0x44de74f0> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:114)

"android.hardware.SensorManager$SensorThread" prio=5 tid=31 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44af27a0 self=0x343f48
| sysTid=4801 nice=-8 sched=0/0 cgrp=unknown handle=2235808
at android.hardware.SensorManager.sensors_data_poll(Native Method)
at android.hardware.SensorManager$SensorThread$SensorThreadRunnable.run(SensorManager.java:389)
at java.lang.Thread.run(Thread.java:1096)

"Binder Thread #16" prio=5 tid=57 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44bceaf0 self=0x40d2f8
| sysTid=2992 nice=0 sched=0/0 cgrp=unknown handle=2910392
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #15" prio=5 tid=59 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44f0bfe0 self=0x4cd930
| sysTid=2793 nice=0 sched=0/0 cgrp=unknown handle=4246936
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #14" prio=5 tid=58 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44e5eca0 self=0x4cfc68
| sysTid=2777 nice=0 sched=0/0 cgrp=unknown handle=5826304
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #13" prio=5 tid=56 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44db5ee8 self=0x44d3b8
| sysTid=2765 nice=0 sched=0/0 cgrp=unknown handle=5259560
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #12" prio=5 tid=55 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44e2ae48 self=0x3624a8
| sysTid=1829 nice=0 sched=0/0 cgrp=unknown handle=3548264
at dalvik.system.NativeStart.run(Native Method)

"[email protected]@44dd7e68" daemon prio=5 tid=54 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d4cbe8 self=0x2e7ac8
| sysTid=1782 nice=0 sched=0/0 cgrp=unknown handle=3957400
at java.lang.Object.wait(Native Method)

  • waiting on <0x44cb5518> (a java.lang.ref.ReferenceQueue)
    at java.lang.Object.wait(Object.java:326)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:107)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:80)
    at org.apache.http.impl.conn.tsccm.RefQueueWorker.run(RefQueueWorker.java:102)
    at java.lang.Thread.run(Thread.java:1096)

"Binder Thread #11" prio=5 tid=53 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d92010 self=0x2e6b08
| sysTid=1532 nice=0 sched=0/0 cgrp=unknown handle=3533568
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #10" prio=5 tid=52 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d8e5f0 self=0x35de88
| sysTid=1531 nice=0 sched=0/0 cgrp=unknown handle=3530224
at dalvik.system.NativeStart.run(Native Method)

"NetworkLocationProvider" prio=5 tid=51 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44c4c0c0 self=0x2d6b80
| sysTid=1519 nice=10 sched=0/0 cgrp=unknown handle=44368
at java.lang.Object.wait(Native Method)

  • waiting on <0x44c0b4c0> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at com.google.android.location.NetworkLocationProvider.run(NetworkLocationProvider.java:1099)
    at java.lang.Thread.run(Thread.java:1096)

"Binder Thread #9" prio=5 tid=50 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d317c0 self=0x3a0628
| sysTid=1517 nice=0 sched=0/0 cgrp=unknown handle=3231576
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #8" prio=5 tid=49 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d68920 self=0x366d10
| sysTid=1514 nice=0 sched=0/0 cgrp=unknown handle=3749952
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #7" prio=5 tid=48 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d77528 self=0x3a7da0
| sysTid=1512 nice=0 sched=0/0 cgrp=unknown handle=3833096
at dalvik.system.NativeStart.run(Native Method)

"Thread-51" prio=5 tid=47 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d5c788 self=0x39e090
| sysTid=1501 nice=0 sched=0/0 cgrp=unknown handle=3793360
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d5c020> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:288)
    at com.google.common.async.AsyncHttpRequestFactory.run((null):-1)
    at com.google.common.lang.ThreadFactory$ThreadImpl.run((null):-1)

"Thread-50" prio=5 tid=46 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d5c4c0 self=0x39d6c0
| sysTid=1500 nice=0 sched=0/0 cgrp=unknown handle=3784552
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d5c020> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:288)
    at com.google.common.async.AsyncHttpRequestFactory.run((null):-1)
    at com.google.common.lang.ThreadFactory$ThreadImpl.run((null):-1)

"Thread-49" prio=5 tid=45 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d5c1b8 self=0x39cc98
| sysTid=1497 nice=0 sched=0/0 cgrp=unknown handle=3783984
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d5c020> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:288)
    at com.google.common.async.AsyncHttpRequestFactory.run((null):-1)
    at com.google.common.lang.ThreadFactory$ThreadImpl.run((null):-1)

"Thread-48" prio=5 tid=44 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d5bae8 self=0x39c2c8
| sysTid=1496 nice=0 sched=0/0 cgrp=unknown handle=3783704
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d5b6c8> (a java.lang.Object)
    at java.lang.Object.wait(Object.java:288)
    at com.google.common.task.TaskRunner.waitForSomethingToDo((null):-1)
    at com.google.common.task.TaskRunner.run((null):-1)
    at com.google.common.lang.ThreadFactory$ThreadImpl.run((null):-1)

"Binder Thread #6" prio=5 tid=43 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d4ab20 self=0x396558
| sysTid=1483 nice=0 sched=0/0 cgrp=unknown handle=3761432
at dalvik.system.NativeStart.run(Native Method)

"Binder Thread #5" prio=5 tid=42 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44d4aa60 self=0x395800
| sysTid=1482 nice=0 sched=0/0 cgrp=unknown handle=3757840
at dalvik.system.NativeStart.run(Native Method)

"Thread-45" prio=5 tid=41 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d32e30 self=0x390048
| sysTid=1461 nice=0 sched=0/0 cgrp=unknown handle=3735024
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d33e08> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at com.google.android.gsf.Gservices$1.run(Gservices.java:78)

"GpsLocationProvider" prio=5 tid=40 TIMED_WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d27c60 self=0x384438
| sysTid=1457 nice=10 sched=0/0 cgrp=unknown handle=3687800
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d28700> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:326)
    at android.os.MessageQueue.next(MessageQueue.java:142)
    at android.os.Looper.loop(Looper.java:110)
    at com.android.internal.location.GpsLocationProvider$GpsLocationProviderThread.run(GpsLocationProvider.java:1671)

"DHCP Handler Thread" prio=5 tid=39 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d056e8 self=0x37dc60
| sysTid=1445 nice=0 sched=0/0 cgrp=unknown handle=3649360
at java.lang.Object.wait(Native Method)

  • waiting on <0x44d06250> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at android.os.HandlerThread.run(HandlerThread.java:60)

"WifiWatchdogThread" prio=5 tid=38 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44ce6380 self=0x371ad8
| sysTid=1435 nice=0 sched=0/0 cgrp=unknown handle=3299088
at java.lang.Object.wait(Native Method)

  • waiting on <0x44ce65a0> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at com.android.server.WifiWatchdogService$WifiWatchdogThread.run(WifiWatchdogService.java:999)

"WifiMonitor" prio=5 tid=37 NATIVE
| group="main" sCount=1 dsCount=0 s=N obj=0x44cb6c18 self=0x36f2e0
| sysTid=1433 nice=0 sched=0/0 cgrp=unknown handle=3601440
at android.net.wifi.WifiNative.waitForEvent(Native Method)
at android.net.wifi.WifiMonitor$MonitorThread.run(WifiMonitor.java:172)

"ThrottleService" prio=5 tid=36 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d11140 self=0x365e50
| sysTid=1418 nice=0 sched=0/0 cgrp=unknown handle=3563408
at java.lang.Object.wait(Native Method)

  • waiting on <0x44ca96f8> (a android.os.MessageQueue)
    at java.lang.Object.wait(Object.java:288)
    at android.os.MessageQueue.next(MessageQueue.java:146)
    at android.os.Looper.loop(Looper.java:110)
    at android.os.HandlerThread.run(HandlerThread.java:60)

"LocationManagerService" prio=5 tid=35 WAIT
| group="main" sCount=1 dsCount=0 s=N obj=0x44d0dd38 self=0x362c38
| sysTid=1417 nice=10 sched=0/0 cgrp=unknown handle=3550584
at java.lang.Object.wait(Native Method)

  • waiting...

Keep Screen On does not work after closing/reopening

While the Keep Screen On option appears to work when you first enable it, closing and reopening the application causes it to not keep the screen on - you need to manually disable and re-enable the option for it to work again.

Share Button does not enable on first launch

On pre-Gingerbread devices, the share buttons do not enable even if you have contractions in the last hour.

One time fix of entering the application and immediately hitting the back button to exit the application. This seems to fix the issue for all future runs.

Add 'Share' functionality

Per this example, add a 'share' button to the application which would allow users to send a list of contractions along with the average duration and frequency.

Crash: Rotating Screen while contraction is running

Started a contraction, then rotated the phone from landscape to portrait:

java.lang.NullPointerException
at com.ianhanniballake.contractiontimer.ui.ContractionListFragment$1.run(ContractionListFragment.java:174)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3821)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)

Add Ongoing Notifications

Add an option for ongoing notifications to allow users to quickly get back into the application.

On Honeycomb+ devices, notification should have quick toggle button for starting/stopping contractions.

Replace ContextMenu with CAB in v11+

Replace the floating context menu (triggered by long click) with a Contextual Action Bar (CAB) on v11+ devices.

Multiple contractions should be selected by long clicking on one, then clicking on multiple others. Only available option would be delete.

Single contractions should have PopupMenu with options previously found in floating context menu (add/edit note and delete).

Crash on Deleting Contractions

Per the user crash report: sucks forclose every time I deleted a contraction

Seems to be an issue with the Context being null when attempting to call the Analytics startSession.

java.lang.NullPointerException
at android.content.ComponentName.(ComponentName.java:75)
at android.content.Intent.(Intent.java:2893)
at com.ianhanniballake.contractiontimer.analytics.AnalyticsManagerService.a(Unknown Source)
at com.ianhanniballake.contractiontimer.ui.ContractionListFragment.b(Unknown Source)
at android.support.v4.app.l.b(Unknown Source)
at android.support.v4.app.FragmentActivity.onMenuItemSelected(Unknown Source)
at com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback.onMenuItemSelected(PhoneWindow.java:2935)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:160)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:885)
at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:137)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:882)
at android.widget.AdapterView.performItemClick(AdapterView.java:284)
at android.widget.ListView.performItemClick(ListView.java:3561)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:1831)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
at dalvik.system.NativeStart.main(Native Method)

InstantiationException Crash on Rotating Note Dialog

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ianhanniballake.contractiontimer/com.ianhanniballake.contractiontimer.ui.MainActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.ianhanniballake.contractiontimer.ui.NoteDialogFragment: make sure class name exists, is public, and has an empty constructor that is public
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3242)
at android.app.ActivityThread.access$1600(ActivityThread.java:132)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1037)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4196)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.ianhanniballake.contractiontimer.ui.NoteDialogFragment: make sure class name exists, is public, and has an empty constructor that is public
at android.support.v4.app.Fragment.instantiate(Fragment.java:393)
at android.support.v4.app.FragmentState.instantiate(Fragment.java:94)
at android.support.v4.app.FragmentManagerImpl.restoreAllState(FragmentManager.java:1657)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:430)
at com.ianhanniballake.contractiontimer.ui.MainActivity.onCreate(MainActivity.java:93)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
... 12 more
Caused by: java.lang.InstantiationException: com.ianhanniballake.contractiontimer.ui.NoteDialogFragment
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1409)
at android.support.v4.app.Fragment.instantiate(Fragment.java:382)
... 18 more

IllegalStateException Crash

Crash on attempted reload of ContractionControlsFragment.

java.lang.IllegalStateException: Fragment ContractionControlsFragment{46350d98} not attached to Activity
at android.support.v4.app.Fragment.getLoaderManager(Fragment.java:739)
at com.ianhanniballake.contractiontimer.ui.ContractionControlsFragment.reload(ContractionControlsFragment.java:175)
at com.ianhanniballake.contractiontimer.ui.ContractionControlsFragment$2.onUpdateComplete(ContractionControlsFragment.java:84)
at android.content.AsyncQueryHandler.handleMessage(AsyncQueryHandler.java:352)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)

Add an Application Icon

Utilizing the general icon design guidelines for Android applications and the launcher application design guidelines, create a new launcher icon in the three sizes:

  • High density screen (hdpi): 72 x 72 px
  • Medium density screen (mdpi): 48 x 48 px
  • Low density screen (ldpi): 36 x 36 px

(Note that there is a further requirement for a 512x512 px for Marketplace requirements - creating a launcher icon that scales to this size is highly preferred, although there is a separate issue).

Create a xhdpi Application Icon

With Ice Cream Sandwich, xhdpi devices such as the Galaxy Nexus are appearing. To ensure the best looking Application Icons, a xhdpi (96x96px) application icon is needed.

Display live duration for ongoing contractions

Currently, the duration for an ongoing contraction (started, but not ended) is blank until it ends. Would be more helpful to users if it had a live timer which would display the current elapsed time.

Crash on First Load

Crash on Release 1.7.1:

java.lang.NullPointerException
at com.ianhanniballake.contractiontimer.actionbar.ActionBarHelperBase.void addActionItemCompatFromMenuItem(android.view.MenuItem)(Unknown Source)
at com.ianhanniballake.contractiontimer.actionbar.ActionBarFragmentActivity.boolean onCreateOptionsMenu(android.view.Menu)(Unknown Source)
at com.ianhanniballake.contractiontimer.ui.MainActivity.boolean onCreateOptionsMenu(android.view.Menu)(Unknown Source)
at android.app.Activity.onCreatePanelMenu(Activity.java:2217)
at android.support.v4.app.FragmentActivity.boolean onCreatePanelMenu(int,android.view.Menu)(Unknown Source)
at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:376)
at com.android.internal.policy.impl.PhoneWindow.onKeyDownPanel(PhoneWindow.java:626)
at com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1419)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1900)
at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2563)
at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2538)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1870)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3806)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.