03
Dec
redbeandroid

Normally I rip apart APKs looking for news-worthy items and unreleased features, but I've covered everything that's currently out, so this teardown session is going to be a little different. During my usual digging for features, I've stumbled across a surprising amount of unused files, movie references, and canceled beta assets. I've always thought it was a shame that no one knows about them, so today we'll be exploring all the crazy leftover files that ship on our phones and tablets. If you've ever checked out the deleted scenes section of a DVD, this article will be right up your alley.

I'll be jumping from app to app and cover anything that doesn't show up during normal usage. I don't stand a chance of knowing every nook and cranny of Android, so when I inevitably cover something that is actually used in Android, just yell at me in the comments and I'll change it. All of these discoveries are from a bone-stock Galaxy Nexus or Nexus 4. I won't have an explanation for a lot of this stuff, so be sure to leave your conspiracy theories (or enlightening explanations, if you happen to be a Googler <3) in the comments. We've got a wild ride ahead of us, so let's get to it.

System UI

2012-10-08-16.36

The System UI is what draws the on-screen system buttons, power menu, status bar, and notification panel. It also houses a bunch of stuff will never pop up while using Android. Just look at all this:

jandycane

This is called "jandycane.png," and should give you an idea of the craziness that is in store for us. Your guess as to why this is there is as good as mine. This is a sugary snack that starts with "J," so maybe this was the internal, made-up codename for Android 4.1, before they settled on Jelly Bean. I could see needing to call it something before an official name was picked, so they went with something that couldn't possibly be right, and someone drew up a quick logo.

original

Update: Kevin from TeslaCoil Software (of Widget Locker and Nova Launcher fame) points out that the Jandycane will show up in the Bean Flicker easter egg, but only 0.1% of the time. Which explains why I could never find it.

Steve Palacios from the comments is apparently pretty lucky, he managed to score a screenshot. Thanks guys!

All this proves that, yes, it was a fake logo for the OS, and they threw it in with the real logos just for fun.

qs_coming_soon_thumb7_thumb

I can't help but notice that this is a hand-drawn (or, you know, Wacom-drawn) image, and a placeholder, so it has a lot in common with the "Future Site of Quick Settings" image I found in our alpha Nexus 4 dump. I wonder if they were made by the same artist, and if hand-drawn placeholders are a standard thing for the Android Team. The red Jelly Bean logo has a hand-drawn look, too.

Capture (2)

Speaking of Quick Settings, there's an unused tile hiding in the code. There are images and xml for a clock tile with moving clock hands! That would be really neat. This was probably cut because the Googlers realized a clock tile wouldn't be particularly useful. I propose they rework this idea and use it for the alarm Quick Settings tile. It could show the actual alarm time instead of a generic time.

Oh, and remember how our leaked alpha build allowed you to double swipe down to open Quick Settings?

<string name="status_bar_help_text">"Access them anytime by swiping down.
Swipe down again for system controls."</string>

Getting to Quick Settings would have been much easier with one hand. Bring back the double swipe down, Google!

arrow_dashed

This guy is called "arrow_dashed.png." There are references to it in an XML file called "status_bar_help.xml," so apparently it was going to teach you how to open the status bar. It came with some text, too:

<string name="status_bar_help_title">Notifications appear here</string>

When you first start up Android, there are a few tutorials that show you how to open the app drawer and launch an app, but a tutorial showing you how to use the notification panel never comes up. This arrow probably got cut because it was part of the double swipe down explanation. When that got cut, so did this.

123redbeandroid

System UI also houses image files of the red Jelly Bean in various states of construction. These are named "readbean[0-2]", and "redbeanandroid". These guys are probably used for the Bean Flicker Easter egg, but the interesting thing is that these are the only colors.

Update: Android Engineer Daniel Sandler points out on Google+ that they actually only need a red bean for the bean flinger. They can Chroma key things on-the-fly and swap the red out for other colors. How cool is that?

hd_onhd_off

These buttons are labeled, predictably, "hd_on" and hd_off." They would probably be in reference to playing video, but the System UI has no business playing video. YouTube is the only thing with an HD button, but that button looks totally different from these. Interestingly, these actually have code that makes the button work. There's an "HD.xml" file for swapping from the red one to the white one when you press it - it's just not implemented anywhere. Again, what is this doing in the SystemUI?

Update: The HD buttons were actually the beta UI for 3.2's Android Compatibility Mode, which lets you choose to blow up an app or stretch it for tablets. Thanks Kevin!

ic_daydreamsic_dreamsic_launcher_dreams

Daydreams is a new Android 4.2 feature, which is basically a collection of screensavers. The only interface for it is buried in the display settings, yet these 3 picture files ship in Android. These guys are called "ic_daydreams.png," "ic_dreams.png," and "ic_launcher_dreams.png." The pillow is named as if it were a launcher icon, but there isn't an app icon for Daydreams, it only launches automatically or from settings. Daydreams actually comes with an app icon, and it doesn't look like the pillow, it's a rainbow and some clouds.

Calendar

calendar_widget_preview

Since Honeycomb, widgets have had preview thumbnails instead of icons, and Google had a bit of fun with this one. This is visible on a phone, but it's kind of hard to see, so it's here now.

Capture

And speaking of time machines, this is "other_preferences.xml" from the Calendar, and it is all kinds of weird. For starters, it has multiple references to TARDIS, Dr. Who's time-traveling police box (time travel in a calendar app! Get it?) and second, it has an orphaned bit of black text that never made it inside a tag. Shouldn't a compiler some kind of error checking catch this?

The strings.xml file has an entry that just says "<string name="tardis">TARDIS</string>," which is referenced in the above xml file. As for the other strings; "Copy_db" translates to "Send database," and "do_not_check" translates to "Do NOT check ->" complete with the little ASCII arrow and everything. It probably pointed to the check box. Cute.

Google+

wm_2012-10-10 16.53.57Untitled-1

Google+ has some interesting notification icons. Now when I say "Google+" notifications, I don't mean system notifications, I mean the notifications within the app, like in the left picture. There are files for a "coffee mug" notification and a mail notification.

The coffee mug must be someone at Google messing around, but it's actually referenced in the notification code:

<ImageView android:id="@id/notification_count_overflow" android:background="@drawable/badge_red" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/ic_notification_coffeemug" android:scaleType="center" />

It says it has something to do with G+'s notification overflow, but G+ doesn't have a notification overflow, it shows your last 50 notifications and just stops.

2012 - 1

Update: Thanks to Dwala, who posted a picture of the coffee mug in action. It pops up when you get over 99 notifications.

The Mail icon is just all kinds of interesting. Is this some kind of future feature, or just a junk file? There are images and code to flip the mail notification from white to grey, for read and unread, and that's it.

Gallery/Camera

The Gallery and Camera are actually 1 APK. So they get 1 section.

Capture1

Whoever made the string file was a little ambitious. It has entries for ISO, Exposure, Aperture, and Focal Length; all things you would normally only see on a DSLR or high-end point and shoot. Maybe they saw things like the Galaxy Camera coming.

Update: D4niel pointed out in the comments that a few of these are actually in the details section of a photo. Thanks!

2012-12-03 17.32.26

The 4.2 Camera introduced us to Photo Spheres, a way to take a 360 degree panorama. It's easy to screw up a Photo Sphere if you don't know the all the tricks. Google is aware of this, because, at some point, there were plans for a cute little introduction to Photospheres. For some reason, they never released it!

help_1help_2help_3help_4help_5help_6help_7help_8

These little guys are called "help_[1-8]"and show you all the things needed to make a great Photo Sphere. It bothers me that these never made it out the door, because they're very helpful, and very cute.

Of course, there is a bit of beta cruft that would need to be removed from these images. Photo Sphere's code name was apparently "Lightcycle," and you can see the Arc Reactor-esque logo emblazoned on the little bugdroid's chest in the last image. The Tron-theming didn't just extend to the codename, either - Photo Sphere used to have a different UI.

bargrayunlitarrow_leftarrow_rightbarbluelit

glow8orange2glow8green80_loadingglow8red80warningglow8upload80glow8blue

MY EYES! This is bright - way too bright. I'm glad they got reeled in. I can't even imagine this on something like a hyper-saturated Galaxy Nexus screen. You would need sunglasses. My guess is that the left and right arrows would guide you through the Photo Sphere process, the green hourglass was for processing the panorama, the red circle is for when something breaks, and the up arrow was for uploading it. The rest is anyone's guess. The names for these are not the slightest bit helpful. They are all descriptive of what they are (glow8orange2.png) and not what they were for.

filtershow_border_film2.9

This thing is called "filtershow_border_film2.9.png." "Filtershow" is the name of all the files for the Gallery editor, and "borders" are literally polaroid-style borders you can put around your pictures. Apparently this used to be one of those photo borders. Again we see a lightcycle reference: "LIGHTCYCLE EX34," which is pretty interesting. Any ideas as to what "EX34" refers to?

Untitled-2

There is also some old text from before the final redesign. "Tracking" and "Alignment" probably have to do with lining it up vertically and keeping track of the panning. It sounds like the beta version of Photo Sphere was a lot fussier than it is now.

Untitled-21

The shipping camera viewfinder overlay is a circle, so that means these two are unused.

Untitled-0

There is also this awesome "Google Confidential" label. This is easily my favorite discovery, because it is aimed directly at people like me, who are out to spoil all of Google's secrets. Your label has no power over me, Google!

(Please don't send another take down request, I love you guys. <3)

Google Earth

icon_dev

Yes, the Death Star is in Google Earth, and it's called "icon_dev.png." Considering the regular Google Earth launcher icon is called "icon.png," it's safe to say this is what the dev version uses as its app icon. According to the strings file, the name changes, too. It's called "Earth Dev." I wonder what the developer version of Google Earth does.

Maps

wm_pre-cretaceous Maps iconwm_ancient Maps iconwm_historic Maps icon0current maps

Ok, follow me on this one. Here are the various Maps icons throughout Android's history, going all the way back to the blackberry clone days. Take a look at all of them. Now, tell me, what the hell is this?

icon45x45

This is called "icon45x45.png" and, well, it looks like an app icon. As far as I can see, Google has never used this publicly, so why is it in here? Who made it? Was it ever used? The icon perspective would place it around the Android 1.0 design era.

search_measles_large

I'm pretty sure these dots are used as spot markers for search results, but that's not the point of pointing them out. It's their names that are noteworthy. Google calls them "Search Measles." These guys are "search_measles_large.png," and there's a few other sizes. I just thought that was funny.

spicybowl_example_red_ring

This little bit of Google Maps is called "spicybowl_example_red_ring.png," and I'm pretty sure it isn't used anywhere. Ideas? Anyone?

Update: Guest came through with this image of the red ring. You see it when you first opt in to Google+ Local. Thanks!

original

I have managed to figure out that "Spicybowl" is the internal codename for Google+ Local (formerly Google Places), which makes all these "spicy" files a lot easier to figure out:

Capture3

Anything that says "migration" or "optin" has to do with the switchover from Google Places to Google+ Local, but I think a lot of this is unused. The one file, "spicy_optin_dogfood_dialog.xml" is particularly interesting ("Dogfood" refers to the internal testing of a product), but considering we all have already opted in to Google+ Local, my guess is that it's just really old.

Untitled-12012-12-01 20.36.53

A few of the spicybowl files are for "filters" and there are even image files that go along with them. There's a filter for "Wishlists," which has the exact same icon as the Play Store, and presumably would be a way to save places you want to go to. There's also "Experts" (people who review a lot of places), and "Circles" filters. The only filters I can think of in Google+ Local are the search filters pictured on the right, but those are text-only, and don't include experts or circles. I guess these files would be for filtering reviews at some point, but then "wishlists" doesn't make any sense. Either way, this stuff is very old, so I wouldn't expect them to be implemented any time soon, if ever.

Live Wallpaper

seethru_thumb

All the Live Wallpapers come with thumbnail previews, and this is one that ships with Android. It's called "seethru_thumb.png" and it's referenced in a file called "Walkaround.xml." This was a "clear" wallpaper. It would fire up the camera and use the video feed as your background. There's stuff in the strings file, too.

<string name="wallpaper_walkaround">See Through</string>
<string name="wallpaper_walkaround_author">Google</string>
<string name="wallpaper_walkaround_desc">See through your phone and walk around without risking accidents.</string>

Do a little Googling and you'll actually find source code for it. This would probably drain your battery in a few seconds, and you still wouldn't be able to "walk around without risking accidents," because, really, how much stuff do you do on your home screen?

Settings

Arrays.xml is the file that powers many of the list popups in Android, like when you jump into the display settings and pick a screen timeout, each of those choices is in the array file.

Settings has a rather interesting set of options that I'm pretty sure aren't accessible anywhere, check this out:

<string-array name="user_content_ratings_entries">
<item>Ascended being</item>
<item>Human</item>
<item>Neanderthal</item>
<item>Chimp</item>
<item>Monkey</item>
</string-array>

Anyone want to take a swing as to what this is for? I have no idea.

The other thing in settings I really enjoy is that all the encryption settings strings are labeled as "crypt_keeper."

Google Search

The packed-in version of Google Search on Jelly Bean is often called "Velvet.apk," so that must have been an early codename.

Now - Majel

And speaking of codenames, remember when Google Now was called "Project Majel"? The references are still alive and kicking in the code. A lot of things are still called "Majel." So far we've had references to Star Trek, Star Wars, Tron, and Dr. Who.

Apparently, at some point, Google Now planned on asking you how accurate its traffic predictions were. I found this in the strings file:

<string name="did_not_take_this_commute">Did not take this commute</string>
<string name="traffic_reported_correct">Traffic reported correctly</string>
<string name="traffic_heavier_than_reported">Traffic was heavier then reported</string>
<string name="traffic_lighter_than_reported">Traffic was lighter then reported</string>

So far as I can tell, this never happens.

<string name="punt_message">"That didn't work out. Do you want to ask Google?"</string>

This one's also a little weird. Doesn't every query ask Google by default? This must be a leftover beta string.

Wallet

Capture.4PNG

Finally, we have this from the Google Wallet team. They must really have a thing for Starbucks, because all the large sized images are referred to as "venti." If you're keeping track, this is the second coffee reference. The Googlers are a caffeinated bunch.

That's all the crazy stuff I could find. I hope you enjoyed it. If anyone has an explanation for some of the more "out there" stuff, I'd love to hear it.

Ron Amadeo
Ron loves everything related to technology, design, and Google. He always wants to talk about "the big picture" and what's next for Android, and he's not afraid to get knee-deep in an APK for some details. Expect a good eye for detail, lots of research, and some lamenting about how something isn't designed well enough.
  • Jonathan Mallett

    The TARDIS is not a phone booth, it's a police box :)

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      oh, right, the phone booth is bill and ted. =P

    • http://pixelsw.im/ Steve Heinrich

      Yeah!

    • LazarusDark

      what the heck is a police box? I always thought it was a phone booth...

      • Al McDowall

        Like a phone booth, but only for use by police. And quite old, hasn't been used for quite a long time now.

        • Matthew Fry

          Actually it was a box that locked from the inside with a phone to the police. Seemingly, to protect the potential victim of a violent act.

  • Mack

    The Jandycane actually shows up every now and then when viewing the "Bean Flinger" Jellybean easter egg.

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      I read that, but I could NEVER get it to show up. Either way, the name is interesting.

      • Max Barlow

        I saw this for the first time 2 days ago

        • Steve Palacios

          I found Jandycane! Just have to flick enough, is a simple physics exercise; the imgs are randomly pulled in and the Jandycane is in there.

      • http://www.theandroidsite.com benmarvin

        Maybe you didn't flick the bean enough!

      • Mack

        I've seen it show up once on my Nexus 7. Haha even took a screenshot of it because I thought my device was special or something.

    • Jorge Ivan Sanchez Gonzalez

      Yeah that's true

  • http://twitter.com/GitMuny Ciroc Obama

    This is one of the nerdiest things I have ever read. I loved every word of it.

  • JonJJon

    There was this advert a while back now for something like BBC radio or something, which had people walking around with headphones on with a sucker on the end of the wire. They put it onto the forehead of people they walked past to listen to "their music". I kinda want something like this to exist so I can walk up to the Android Googlers and pop it on each of their heads to find out what on earth goes on for this sort of stuff to be created and thought up etc ;-P

  • John

    Fun read. Thanks for this Ron!

  • Joey Heck

    Love your teardowns!

  • http://www.facebook.com/profile.php?id=1569417452 Tyler Watthanaphand

    The jellycane is actually an easter egg in the easter egg (tap version number so many times) it appears after several minutes.

  • http://twitter.com/DasErdbeer DasErdbeer

    I think that Jeny Kane was the "in house" name for 4.2 - it would get confusing if they actually used Jelly Bean for both.

  • http://twitter.com/IamPeePay Tomáš Petrík

    Traffic was heavier/lighter THEN reported? I suppose you say THAN in English... Interesting, either somebody at Google was not good at English, or it is another intended pun we know nothing about.

  • http://www.facebook.com/cole.mickens Cole Mickens

    Wait, what did they send a takedown notice for in the past?

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      They asked us to take down the download links for our leaked 4.2 stuff, like Gmail and the keyboard. It was their unreleased code, so they're totally justified in requesting that.

      The take down comment was just a joke, because I'm flaunting their Google Confidential logo. Google is nice to us.

    • IncCo

      for the pre-released .apk of Gmail v.4.2 that came out today.

  • Gobelet

    The human->monkey array must be settings for the monkey, a development tool from the Android SDK that pokes around automatically in your application. It clicks, drags, and tap everywhere on the screen at random and super fast. It most likely would be a "speed" level for it.

  • D4niel

    "[I]t has an orphaned bit of black text that never made it inside a tag. Shouldn't a complier catch this?"

    Well, no. That's just an XML file. It doesn't go through the compiler. It just gets packaged up with the compiled Java files, images and other things that go into the finished APK. Should lint ( http://tools.android.com/tips/lint ) have said something about it? Maybe.

    "It has entries for ISO, Exposure, Aperture, and Focal Length; all things you would normally only see on a DSLR or high-end point and shoot."

    These are all used, currently. On my Galaxy Nexus (running bone stock 4.2.1), each of these labels are used in Gallery. View a photo taken by the phone. Menu -> Details. There you go.

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      Ah, cool, thanks, I'll update.

  • http://pixelsw.im/ Steve Heinrich

    I love these articles. It's like you take the time to do what I wish I had time to do. Thanks for feeding the Android freak inside of me/all of us.

  • VoiceofSky

    There is a reason (regardless of the reason) behind everything Google does haha.. LOVE IT!. :)-

  • Kimberly Moore

    In G+ if you get a certain number of notifications (more than 99, but not sure exactly), both on mobile and desktop, the notification number changes to a coffee mug.

    I haven't had it happen to me, but I've seen a couple friends post screengrabs.

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      Really? Ok we're going to try and amass 99 notifications on the AP G+ account.

      • Jameslepable

        Good luck ;-)

  • mrsbelpit

    I'm positively desperate to know what that coffee mug notification is for.

  • NoUsernamesFree

    I've never seen the candy cane before while paying with the Easter Egg. Loaded it up determined to play until I saw it. Within 10 seconds, a wild Jandycane appeared: http://db.tt/XN2nGF0n

  • kevin_TeslaCoil

    Nice teardown as always. I've noticed some of these while digging through AOSP before.

    1) Jandycane is part of the bean flinger but only .1% of the time:

    static float LUCKY = 0.001f;
    ...
    private void pickBean() {
    ...
    if (randfrange(0,1) <= LUCKY) {
    beanId = R.drawable.jandycane;
    }
    ...
    (AOSP src/com/android/systemui/BeanBag.java)

    That's also where they recolor the beans.

    2) HD buttons were part of a "really crappy UI for toggling compat mode" (Honeycomb 3.2's app zoom/compatibility thing)

    3) Ascended being and their Neanderthal friends looks to be part of the multiple user support, the idea being restricting settings and user management for lesser users.

    • Aerinx

      I tried the easter egg for the first time and i got the jandycane at the first try XD

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      YOU sir, are awesome. I'll update everything.

      • http://twitter.com/havens1515 Randroid

        The grammar Nazi in me has to point out that (in the picture) it should be "You're awesome", not "Your"

        • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

          He's a dog. Give him a break.

    • Duncan Booth

      Did you perhaps mean that only 0.1% of the beans are Jandycanes? If there are 50 beans on the screen then that means you get it about one screen in 20.

      • kevin_TeslaCoil

        Err yeah I said that poorly/wrong. 0.1% of the "beans" are Jandycanes, not 0.1% of the screens include a Jandycane.

  • Cédric Tremblay

    That sure was a satisfying read.

    And goddammit, they should have left the idiot-proof illustrated guide to Photo Spheres because I sure as hell wasn't doing it right.

    • http://twitter.com/havens1515 Randroid

      Agreed. When I took photospheres I would rotate my body and move the phone, but by the animation provided, It looks like you should be rotating the phone and moving your body.

      • Cédric Tremblay

        Same thing I was doing.
        I'm going to try that tripod stuff, see if it actually makes any difference.

  • Mikel Sigler

    Two finger swipe down pulls up quick settings for me on stock 4.2.1 on my 16gb nexus 4. Did i read that wrong or was it supposed to be removed at some point?

  • blunden

    The codename for Photo Sphere explains the name of liblightcycle.so, the lib it uses.

  • DermAPr

    "spicybowl_example_red_ring.png" SPOTTED!

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      OHHHH. Fantastic, thanks! If you want me to credit a name other than "guest" just say so. =P

  • Pankaja

    "because, really, how much stuff do you do on your home screen?"
    Remember the 4.2 transparency bug? What if it wasn't a bug?

  • Danial Samy

    The old Google Maps icon is the one they use for Blackberry and Java Based phones that use Google Maps. http://www.google.com/mobile/blackberry/

    Also, the clock toggle in QuickSettings can be seen in action (with moving hour and minute hand) on many AOSP ROMs, such as AOKP.

  • Casen Brashear

    I got jandycane to appear instantly in my AOKP version... Couldn't get it in Jelly Bean though.

  • Douglas Adams

    I have double swipe working on 4.2.1 - didn't check earlier but it's there now :-)

  • Josh Rahn

    The jandycane showed up the first time i looked at bean flicker in ICS. I was like WTF?!?! This shouldn't be here...Awesome article as always. Keep up the good work!

  • HellG

    "Your label has no power over me, Google!

    (Please don't send another take down request, I love you guys. <3)"
    That made my day, great article Ron, as always :D

  • kthicks66

    I've seen the elusive jandycane...once...

  • Javier Bastardo

    This was a cool journey all the way down to the article, thanks for digging and sharing all of these!

  • Dan

    The google maps icon is almost identical to one that's used on the web.

    http://www.associazionearc.eu/2010/12/su-flickr-tutte-le-foto-in-concorso/

    They're not quite identical, but obviously have the same dna.

  • Greg Bissell

    The moving clock in 4.2 notifications has been implemented in AOKP

  • Ellis Green

    Just popping in to say that the mystery Google Maps icon is the one used for WebOS on the Palm Pre.

  • Varun Bhatt

    I am a little late to this party, but the maps icon you ask about is used for the Google maps app on my Symbian based Nokia e63

  • Husni Abdul-Rahman

    Check this.....DA candy cane and half a jellybean.... My phone should see a doctor.

  • Lashek Powell

    Where can I download the Cid bean flinger daydream apk