Archive for the ‘Mobile’ Category

Android Native Libraries In Root Context

November 14th, 2013 Comments off

As usual, I am jumping around from one side project to the next, always looking for the next shiny object. A repeat of a Broadcom networking bug on my new HTC One, lead me to want to be able to dig into the underlying network packets. There are a number of pieces to this project that are completely new to me, including building native code libraries (libpcap) and executing code as a root user on-device to allow libpcap to access the low-level networking stack.
Read more…

Categories: Android, Mobile, Software Development Tags:

Debugging Titanium Android Native Modules

August 8th, 2013 Comments off

Recently, I’ve been playing a bit with the Appcelerator Titanium Platform. In particular, I’ve been working on a native Android module for Titanium. In their documentation, they state:

The best way to debug your Android modules right now is a bit old fashioned. When there is a problem or unexpected behavior in your module, use log statements to trace through your code’s execution.

Read more…

Categories: Android, Appcelerator Titanium Tags:

Pinpointing Android LocationManagerService Battery Drain

September 10th, 2012 Comments off

Recently, I was seeing severe battery drain on my Samsung Galaxy SII. Using the most awesome BetterBatteryStats application I was able to see that my phone was not being able to go into deep sleep due to WakeLocks from the LocationManagerService. Android’s LocationManagerService, is responsible for managing LocationProviders and issues location updates and alerts. If applications are requesting location updates too frequently, the LocationManagerService may be forced to keep the phone awake to provide those updates.
Read more…

Categories: Android, Mobile Tags:

Android Analog Clock Collection

May 28th, 2012 Comments off

While I haven’t entirely given up on my Android Clock Widget project, it has definitely stalled out for the time being. I have some potential ideas on how to move that project forward, but between work and coaching soccer I just don’t have much time at the moment to play around. In the meantime, I wanted a nice analog clock on my phone’s homescreen. While looking around the Google Play store, I came across the awesome Analog Clock Collection. For anyone looking for an analog clock widget, I’d recommend taking a look.

Categories: Android, Miscellaneous Tags:

Still Deadlocked

March 11th, 2012 Comments off

Wow… three months since my last post about my Android Clock Widget Project. While I’ve failed to bring stability to the clock selector during that time, I have figured out that the problem is not actually due to a deadlock. Instead, it appears that my project is tickling a bug in the Dalvik VM’s garbage collector.

Read more…

Categories: Android, Clock, Java Tags:


December 27th, 2011 Comments off

I recently started spending more time on my Android Clock Widget Project. I’ve implemented some much needed caching of the SVG definitions, speeding performance of clock rendering substantially. In addition, I’ve been working on building a nice graphical clock selector. Unfortunately, this selector is causing me lots of frustration due to a race condition that keeps deadlocking the application’s UI thread.
Read more…

Categories: Android, Mobile Tags:

Relinking Android Market Applications

November 2nd, 2011 Comments off

When I initially set up my Samsung Captivate, I used my work email as the primary email address for the device. This caused my Android Market applications to be associated with my work email. When Google started allowing multiple accounts, I added my personal GMail account to the device and managed to get a confusing mix of installed applications associated with each account. After being frustrated with this for a while, I decided I needed to fix this.

Read more…

Categories: Android Tags:

Clock Widget Project

September 4th, 2011 Comments off

In my last post about inertia I mentioned that I had started to take a look at Android App Widgets. I’ve long had the idea that it would be interesting to create a widget capable of consuming themes for MacSlow’s Cairo Clock project. This very cool analog clock uses a set of SVG graphics to theme the clock in such a way that it can be scaled to various sizes. While I’m not there quite yet, the ultimate goal is that the widget is capable of rendering all of the themes found at
Read more…

Categories: AndEngine, Android, Clock Tags:


July 30th, 2011 2 comments

Inertia is the resistance of any physical object to a change in its state of motion or rest, or the tendency of an object to resist any change in its motion.

For me, this also describes my tendencies toward side projects like my Pingus project. When I last worked on Pingus a couple of months ago, I updated the underlying AndEngine libraries and found a ton of breaking changes. I put Pingus on the shelf until I had more time to look at the breakage and how to solve it. The AndEngine changes are pretty significant and I’m going to need to rethink portions of Pingus in order to get things running correctly again.

Read more…

Supporting Extra Large Screens in Android

May 11th, 2011 Comments off

In my last Android Pingus post I mentioned that I was interested in getting Pingus running full screen on my Motorola Xoom. It was clear from Android Market applications that it was possible to run applications across a wide range of Android versions with full screen support for extra large screens, but it was not entirely obvious to me how to actually accomplish that.

In reading the Android supports-screen documentation, it is clear that it is necessary to set the xlargeScreens attribute to true. However, the xlargeScreens attribute is not supported below API level 9. Trying to shoehorn that attribute into my project that was attempting to support back to API level 5, resulted in the following error.
Read more…