Squall Line Software's Closed Source Projects: Issueshttps://css.squallline.com/https://css.squallline.com/favicon.ico?16519839502012-09-28T05:20:22ZSquall Line Software's Closed Source Projects
Redmine Widgets - Bug #246 (Closed): widget is hosed on jellybeanhttps://css.squallline.com/issues/2462012-09-28T05:20:22ZTony Ciavarella
<p>The damn widget options thing works but the widget never appears on the home screen in jellybean flavors. Fix it!</p> Sleepmeter - Bug #238 (Closed): time sensitive statistics update can crash the damn thinghttps://css.squallline.com/issues/2382012-07-17T15:57:06ZTony Ciavarella
<p>As reported in the android market:</p>
<p>java.lang.NullPointerException<br />at com.squalllinesoftware.android.applications.sleepmeter.lh.run(StatisticsElement.java:1937)<br />at android.os.Handler.handleCallback(Handler.java:605)<br />at android.os.Handler.dispatchMessage(Handler.java:92)<br />at android.os.Looper.loop(Looper.java:137)<br />at android.app.ActivityThread.main(ActivityThread.java:4514)<br />at java.lang.reflect.Method.invokeNative(Native Method)<br />at java.lang.reflect.Method.invoke(Method.java:511)<br />at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)<br />at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)<br />at dalvik.system.NativeStart.main(Native Method)</p> Widgets - Bug #229 (Closed): widget should use the content provider instead of looking into app's...https://css.squallline.com/issues/2292012-05-13T00:45:54ZTony Ciavarella
<p>It is dangerous for the widget to look directly into the app's sleep history database because when the schema is upgraded on one but not the other, the damn database version gets downgraded and upgraded repeatedly. That really freaking sucks and makes a terrible mess of things.</p>
<p>Using the content provider avoids all the evils.</p> Sleepmeter - Bug #227 (Closed): DatabaseHelper can waste all the damn space on a damn devicehttps://css.squallline.com/issues/2272012-05-09T06:07:06ZTony Ciavarella
<p>The backup thing in DatabaseHelper can end up using all the damn space on a device if it gets confused during a database upgrade. It will just keep creating backups forever.</p> Sleepmeter - Bug #226 (Closed): changelog display can crash the silly apphttps://css.squallline.com/issues/2262012-05-06T23:57:01ZTony Ciavarella
<p>From Paid 2.2.0:<br />android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@40544bc0 is not valid; is your activity running?<br />at android.view.ViewRoot.setView(ViewRoot.java:536)<br />at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:203)<br />at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:117)<br />at android.view.Window$LocalWindowManager.addView(Window.java:424)<br />at android.app.Dialog.show(Dialog.java:241)<br />at com.squalllinesoftware.android.libraries.atk.i.a(VersionChecker.java:250)<br />at com.squalllinesoftware.android.libraries.atk.i.a(VersionChecker.java:99)<br />at com.squalllinesoftware.android.applications.sleepmeter.cv.run(HouseKeeper.java:90)<br />at android.os.Handler.handleCallback(Handler.java:587)<br />at android.os.Handler.dispatchMessage(Handler.java:92)<br />at android.os.Looper.loop(Looper.java:130)<br />at android.app.ActivityThread.main(ActivityThread.java:3691)<br />at java.lang.reflect.Method.invokeNative(Native Method)<br />at java.lang.reflect.Method.invoke(Method.java:507)<br />at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)<br />at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)<br />at dalvik.system.NativeStart.main(Native Method)</p>
<p>From Free 2.2.0:<br />android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4053ff78 is not valid; is your activity running?<br />at android.view.ViewRoot.setView(ViewRoot.java:527)<br />at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)<br />at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)<br />at android.view.Window$LocalWindowManager.addView(Window.java:424)<br />at android.app.Dialog.show(Dialog.java:241)<br />at com.squalllinesoftware.android.libraries.atk.i.a(VersionChecker.java:250)<br />at com.squalllinesoftware.android.libraries.atk.i.a(VersionChecker.java:99)<br />at com.squalllinesoftware.android.applications.sleepmeter.cv.run(HouseKeeper.java:90)<br />at android.os.Handler.handleCallback(Handler.java:587)<br />at android.os.Handler.dispatchMessage(Handler.java:92)<br />at android.os.Looper.loop(Looper.java:130)<br />at android.app.ActivityThread.main(ActivityThread.java:3683)<br />at java.lang.reflect.Method.invokeNative(Native Method)<br />at java.lang.reflect.Method.invoke(Method.java:507)<br />at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)<br />at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)<br />at dalvik.system.NativeStart.main(Native Method)</p> Sleepmeter - Bug #209 (Closed): orientation change seems to spawn a 2nd version of the apphttps://css.squallline.com/issues/2092012-04-16T05:13:30ZTony Ciavarella
<p>After the fancy UI update, orientation changes seem to spawn a 2nd version of the silly app.</p> Sleepmeter - Bug #178 (Closed): don't crash when restoring the life spent trying to sleep statistichttps://css.squallline.com/issues/1782011-12-11T15:10:46ZTony Ciavarella
<p>From the android market:<br />java.lang.NullPointerException<br />at com.squalllinesoftware.android.applications.sleepmeter.b.an.a(LifeSpentTryingToSleepPercentStatistic.java:48)<br />at com.squalllinesoftware.android.applications.sleepmeter.ae.a(StatisticsItemStat.java:30)<br />at com.squalllinesoftware.android.applications.sleepmeter.ab.getView(StatisticsAdapter.java:82)<br />at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220)<br />at android.widget.AbsListView.obtainView(AbsListView.java:1430)<br />at android.widget.ListView.makeAndAddView(ListView.java:1745)<br />at android.widget.ListView.fillUp(ListView.java:700)<br />at android.widget.ListView.correctTooHigh(ListView.java:1367)<br />at android.widget.ListView.fillSpecific(ListView.java:1305)<br />at android.widget.ListView.layoutChildren(ListView.java:1576)<br />at android.widget.AbsListView.onLayout(AbsListView.java:1260)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)<br />at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)<br />at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1254)<br />at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1130)<br />at android.widget.LinearLayout.onLayout(LinearLayout.java:1047)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.widget.FrameLayout.onLayout(FrameLayout.java:338)<br />at android.view.View.layout(View.java:7176)<br />at android.view.ViewRoot.performTraversals(ViewRoot.java:1164)<br />at android.view.ViewRoot.handleMessage(ViewRoot.java:1889)<br />at android.os.Handler.dispatchMessage(Handler.java:99)<br />at android.os.Looper.loop(Looper.java:130)<br />at android.app.ActivityThread.main(ActivityThread.java:3683)<br />at java.lang.reflect.Method.invokeNative(Native Method)<br />at java.lang.reflect.Method.invoke(Method.java:507)<br />at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)<br />at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)<br />at dalvik.system.NativeStart.main(Native Method)</p> Sleepmeter - Bug #151 (Closed): when entering holes on the record tab, automatic adjustment of th...https://css.squallline.com/issues/1512011-09-22T02:01:29ZTony Ciavarella
<p>The following crash reports were submitted via the android market against sleepmeter free 1.7.1:</p>
<pre>
java.lang.IllegalArgumentException: current should be >= start and <= end
at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
at android.widget.TimePicker.updateHourDisplay(TimePicker.java:330)
at android.widget.TimePicker.setCurrentHour(TimePicker.java:278)
at android.app.TimePickerDialog.<init>(TimePickerDialog.java:113)
at android.app.TimePickerDialog.<init>(TimePickerDialog.java:76)
at com.squalllinesoftware.android.applications.sleepmeter.ch.<init>(Unknown Source)
at com.squalllinesoftware.android.applications.sleepmeter.es.onClick(Unknown Source)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8816)
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: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:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
</pre>
<pre>
java.lang.IllegalArgumentException: current should be >= start and <= end
at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
at android.widget.TimePicker.updateHourDisplay(TimePicker.java:330)
at android.widget.TimePicker.setIs24HourView(TimePicker.java:289)
at android.app.TimePickerDialog.<init>(TimePickerDialog.java:115)
at android.app.TimePickerDialog.<init>(TimePickerDialog.java:76)
at com.squalllinesoftware.android.applications.sleepmeter.ch.<init>(Unknown Source)
at com.squalllinesoftware.android.applications.sleepmeter.er.onClick(Unknown Source)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8817)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:4914)
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)
</pre>
<p>Some sleuthing has lead to the realization that the automatic other hole end adjustment introduced in r575 is to blame because it can result in negative times and times beyond 24 hours.</p> Sleepmeter - Bug #146 (New): CPU usage of widget package goes through the roof in emulator upon s...https://css.squallline.com/issues/1462011-09-12T06:51:06ZTony Ciavarella
<p>It seems to be allocating tons of memory and using a crapload of CPU when a new sleep period is saved in Sleepmeter. Need to figure out why that is.</p>
<p>The memory usage is evidenced by dalvik spewing lots of GC logs indicating it is cleaning up tens of thousands of objects and several megabytes worth of memory.</p>
<p>It might have something to do with the 21 widgets I had on the emulator, but it doesn't seem like that should matter.</p> Sleepmeter - Bug #106 (Closed): fix android 2.3 date parsing in CSV importshttps://css.squallline.com/issues/1062011-04-20T00:40:17ZTony Ciavarella
<p>Seems the fucks at google changed the fucking date format output and parser in android 2.3. The fucking thing won't parse the old fucking format any longer either.</p>
In 2.3, it looks like this:
<ul>
<li>Tuesday, April 19, 2011 7:00:00 AM GMT+00:00</li>
</ul>
Whereas in <= 2.2 it looked like this:
<ul>
<li>Tuesday, April 19, 2011 7:00:00 AM GMT+0000</li>
</ul>
In the Greek locale, they fucked it up even worse:<br />In 2.3:
<ul>
<li>Δευτέρα, 18 Απριλίου 2011 6:55:00 π.μ. GMT+03:00</li>
<li>Κυριακή, 17 Απριλίου 2011 10:35:00 μ.μ. GMT+03:00</li>
</ul>
Prior:
<ul>
<li>Παρασκευή, 15 Απριλίου 2011 5:45:00 ΠΜ GMT+0300</li>
<li>Πέμπτη, 14 Απριλίου 2011 11:40:00 ΜΜ GMT+0300</li>
</ul> Sleepmeter - Bug #103 (Closed): sleepbot data importer broken for dd/mm/yy and yy/mm/dd date formatshttps://css.squallline.com/issues/1032011-04-05T08:33:27ZTony Ciavarella
It seems that SleepBot lets one configure the date format with the following options:
<ul>
<li>month/day/year</li>
<li>day/month/year</li>
<li>year/month/day</li>
</ul>
<p>Sleepmeter needs to be able to import the crap no matter which format is chosen.</p> Sleepmeter - Bug #101 (Closed): home to exit sleepmeter screws up the widget's ability to send ne...https://css.squallline.com/issues/1012011-03-21T04:11:38ZTony Ciavarella
<p>For some reason, if you use home to exit sleepmeter, the widget can't send new sleep periods to sleepmeter it keeps using the old period on the record tab.</p>
<p>This was reported by Christi C. <...>.</p> Sleepmeter - Bug #85 (Closed): holes, aids, and quality are screwed up when importing free into paidhttps://css.squallline.com/issues/852011-02-07T06:46:23ZTony Ciavarella
<p>This is really terrible... holes, aids, and quality are screwed up when importing free into paid.</p> Sleepmeter - Bug #72 (Closed): quick rotation seems to crash edit mode record tabhttps://css.squallline.com/issues/722011-01-11T23:16:22ZTony Ciavarella
<p>Quickly rotating the record tab in edit mode seems to repeatably produce a NPE. It never seems to happen in add mode, only edit mode triggers the problem.</p>
<p>The NPE leaves the following stack trace:</p>
<p>Uncaught handler: thread main exiting due to uncaught exception<br />java.lang.RuntimeException: Unable to pause activity {com.squalllinesoftware.android.applications.sleepmeter.paid/com.squalllinesoftware.android.applications.sleepmeter.DataEntryActivity}: java.lang.NullPointerException<br /> at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3059)<br /> at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3016)<br /> at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3473)<br /> at android.app.ActivityThread.access$2200(ActivityThread.java:116)<br /> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1798)<br /> at android.os.Handler.dispatchMessage(Handler.java:99)<br /> at android.os.Looper.loop(Looper.java:123)<br /> at android.app.ActivityThread.main(ActivityThread.java:4203)<br /> at java.lang.reflect.Method.invokeNative(Native Method)<br /> at java.lang.reflect.Method.invoke(Method.java:521)<br /> at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)<br /> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)<br /> at dalvik.system.NativeStart.main(Native Method)<br />Caused by: java.lang.NullPointerException<br /> at com.squalllinesoftware.android.applications.sleepmeter.DataEntryActivity.onSaveInstanceState(DataEntryActivity.java:727)<br /> at android.app.Activity.performSaveInstanceState(Activity.java:1020)<br /> at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1256)<br /> at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3041)<br /> ... 12 more</p> Sleepmeter - Bug #54 (Closed): preference screens with multiple instances of the same custom pref...https://css.squallline.com/issues/542010-12-23T20:55:15ZTony Ciavarella
<p>On the Record Settings preference screen there are 3 instances of TimeOfDayPreference. When any of them changes, they seem to reorganize themselves randomly. It appears that this is due to the ListActivity trying to reuse the 3 Views in a different order than was originally specified.</p>
<p>I'm not exactly sure how to fix it. More information can be found at these locations:<br /><a class="external" href="http://stackoverflow.com/questions/3928444">http://stackoverflow.com/questions/3928444</a><br /><a class="external" href="http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html">http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html</a></p>