Skip to content

Android has a sense of humor

June 2, 2012

Brian

According to Google, “Each major release of Android has a method or constant whose name is amusing or just silly.”  Here are three I’ve come across:

Nyandroid

For some time now, the Eclipse ADT Plugin has contained a logcat tab.  This provides a (mostly) nicer way to view logs than executing “adb logcat” at the command line.  This was not good enough for one developer, who opened an issue in Android’s bug tracker with the following text:

I would like the LogCat icon to be modified to a cat.
It would entertain me while developing and debugging.

For those not in the know, NyanCat gained a great deal of popularity on Youtube last year, and the original video now has 75 million views.  Google came through, and as the first developers downloaded ADT version 14.0.0, they noticed the new, nyancat-inspired icon.

ActivityManager.isUserAMonkey()

Yes, there’s a method in the Android SDK that will tell you if the current user is a monkey.  It’s not quite what you think.  Android includes a testing tool called “UI/Application Exerciser Monkey” that generates random interactions with your app as a sort of idiot test.  I’ve found program defects with this tool that I don’t think I ever would have come across otherwise.  isUserAMonkey() lets you know if “the user interface is currently being messed with by a monkey.”

Log.WTF()

In Android 2.2 (FroYo), the Android team introduced a new logging level higher than the previously-highest level, “e” (for error).  According to the SDK documentation, WTF stands for “What a Terrible Failure” and is reserved for reality checks for conditions that should never ever happen.  Depending on one’s development settings, a WTF() message may terminate an app immediately after it is output to the log.

I’ve always appreciated running into these.  I know there are more (see fyiWillBeAdvancedByHostKThx) but I’m sure I’m missing a lot.  Does anyone else know any good jokes hiding inside the Android SDK?

4 Comments

Post a comment
  1. September 4, 2012

    My favorites are the constants defined in the SensorManager class to handle the Accelerometer information. You need to divide the sensor’s value by a constant according to the local gravity. You’ll find of course the Earth, Moon and Mars’ gravity (who knows, we could use a phone on the Moon or Mars soon).
    But there are also constants for the Death Star as well as the Island from Lost (the value starts with 4 8 15 16 23

    • September 4, 2012

      I think I remember seeing those too. Clearly Google is planning to expand into interplanetary travel.

      I think the Death Star must be based on naive mass calculations; it definitely had enough gravity for people to walk around normally inside it. There has to be some kind of magic tech they’re missing.

  2. Leon #
    February 1, 2013

    For those fans of Hitchiker’s Guide to the Galaxy… Something that was in Android from very early on, in the definition of event log constants in /system/etc/event.logtags

    42 answer (to life the universe etc|3)

  3. Veronica #
    December 11, 2013

    Although I don’t have much experience with coding or Android SDK, I still find it very entertaining post. Thanks for sharing guys, it made my day this morning 🙂

Leave a reply to Brian Cancel reply