Skip to content

Posts from the ‘Android’ Category

Nexus Dreams (Added daydream support in Nexus Live Wallpaper)

Sep 3 13
by mat

To celebrate getting over 3 million downloads, I pushed another update to my livewallpaper. This update adds supports for “dreams”. A dream in android is similar to a screensaver that is optionally display while a device is either charging, docked or both. It looks like the image below:

Nexus Dreams

Nexus Dreams

To turn on dreams on your device go to settings, display, daydreams.

Nexus Dreams

Nexus Dreams

You can download Nexus Revamped from the Google play store below:

Free Version

Android app on Google Play

Pro Version

Android app on Google Play

I’ll be attending droidcon again this year ^_^

Aug 20 11
by mat
RadioActive Android

Droidcon was awesome last year, so naturally I will be attending again this year. It was a great oppertunity to “network” and meet lots of like minded android developers, it also gave me the chance to meet lots of interesting companies (start-up software companies, app/game studios, phone providers, hardware specialists) which I may be even more interested in this year as I will be looking for employment soon.

Along with all of this come the additional benefits of: pizza, beer, competitions (there were an insane amount of competitions last year), freebies, and more free beer!

For those of you unfamiliar with droidcon here is an excerpt from their website:

Droidcon London 2011 is Europe’s largest conference that exclusively covers Android development and applications. The conference will take place in London on 6th-7th October 2011.

Droidcon London 2011 has grown tremendously since last year, in line with the exponential interest in the Android platform. This year, upward of 600 Android enthusiasts will rub shoulders with the premier experts in the field to dig into every aspect of Android and its ever-growing ecosystem. High on the agenda this time around are Android for the Tablet, Android in the Enterprise, Android for Games, Android for business, Augmented Reality, multi-mobile and a whole lot more.

The first day will be community led with a full-day Barcamp and Democamp. The second day will be conference day, with presentations from some of the world’s foremost Android experts, including two Google Developer Advocates Richard Hyndman and Nick Butcher, Mark Murphy (CommonsWare), Al Sutton, and Kieran Gutteridge (I’ve not had the pleasure of meeting the other speakers yet). A full list of presenters is available here.

You can register via the Droidcon London 2011 site: (http://www.droidcon.co.uk)

Follow Droidcon London 2011 on Twitter: @DroidconUK tags: #droidconUK #droidcon

Follow Droidcon London 2011 on Facebook: http://www.facebook.com/groups/droidconuk/

Nexus Revamped updates (1.98.14)

Jul 23 11
by mat

Wallpaper has now past 600,000 downloads ^_^ and thought I should blog about the recent changes.

I made a promo image for the wallpapers that should be visible on the market place any time now. I have limited art skills so this is the best I could come up with:

Nexus Revamped promo image

Nexus Revamped promo image

Jazz-hands (multi-touch)

I managed to fix a bug with multi-touch in my code, thanks to this question on stackoverflow. This now means that my wallpaper will work with up to 10 fingers or “jazz-hands”. This also fixes some of the crashes that were occurring on devices with 3.1 and up.

Save / load themes

I’ve also added the option for users to save their own themes so that if you have a few you like you don’t have to keep changing all the settings back and forth. This is also a step towards the next update I have planned whereby users can upload/download themes with a rating system and all the junk.

Save custom themes

Save custom themes

Better tablet / honeycomb support
I’ve added several improvements for large screen devices / tablets, the whole wallpaper is scaled effectively so that it no longer is just a giant zoomed in version of the phone wallpaper, and multiple more graphical changes to improve usability.

Nexus Revamped on a xoom

Nexus Revamped on a xoom

Android Market Links
Either click the following android market links (in android phone) or search the market for nexus revamped.
Pro Version
Nexus Revamped Pro Live Wallpaper (com.stealthcopter.nexusrevampedpro)

qr

Free Version

The free version is the same as the pro version but with some of the fancier features are missing, and some non-intrusive adverts. Both versions are fully supported.

Nexus Revamped Live Wallpaper (com.stealthcopter.nexusrevamped)

qr

Full changelog (since last blog post at version 1.98.01)

1.98.14

  • Bug Fix: Multi-touch force close bug fixed
  • Improved: Due to above bug fix, multi-touch now supports more fingers. This is great for tablets with ‘jazz hands’ support (more than 5 fingers!)
  • Added: Ability to save custom themes (Preset > User)
  • Added: Red Grid theme
  • Improved: Thumbnail images in preset menu scaled to screensize

1.98.12

  • Added: New & exciting Color changer dialog!
  • Added: Loads of new textures, try adding a background tint to make these more personal!
  • Added: German translation (thanks Steven!)
  • Added: Danish translation (thanks Johan!)
  • Added: Russian translation (thanks Dmitry!)
  • Added: Licence information
  • Improved: Transparent theme consistent throughout all settings now
  • Improved: Wallpaper changes scale based on screensize to better suit tablets etc.
  • Improved: Honeycomb background was a bit shoddy, fixed!
  • Improved: Icons/gfx more suitable for range of screensizes
  • Improved: Background tints are applied once on bitmaps rather than every frame, saving cpu time :)
  • Removed: Some unused functions and boring code
  • Bug Fix: Appearance bug in changelog fixed (doh!)

1.98.10

  • Added: Spanish translation (thanks Hector!)
  • Added: Swedish translation (thanks Joar!)
  • Added: Preset option for quick setting of common themes
  • Help me: if you want to add translations please email me!
  • Added: Added a cool carbon fibre background option!
  • Added: Differentiation between market places
  • Bug Fix: When configuring livewallpaper via launcher pro or similar some settings were not automatically updated
  • Bug Fix: Email in the about section will actually fill in my email address, surprise nobody spotted this sooner! Also added some information into each email to help me with issues.

1.98.09

  • Bug Fix: Minor bug in revert to default settings
  • Bug Fix: Minor bug in open application from market or settings

1.98.08

  • Added: Power saver in the reactions menu, can make the wallpaper static when battery reaches a certain percentage.
  • Added: Norwegian translation added (thanks Dan!)
  • Added: Obfuscation for improved efficiency and to help decrease piracy
  • Bug Fix: Glow size was forgotten on screen power off

1.98.07

  • Added: Particle scaling, like the Nexus S live wallpaper
  • Improved: Got sexy transparent menus working again, enjoy!
  • Improved: Dialogs look better on small screens and with different orientations; some screens are now scrollable in the next version this will be replaced with a better solution :)
  • Moved: Disable analytics is now in advanced menu
  • Bug Fix: Fixed a FC bug
  • Bug Fix: Using a custom background then renaming the file will no longer cause a FC

1.98.05

  • Added: Option to display FPS on screen (Advanced > FPS)
  • Added: Rotation on battery level
  • Bug fix: Memory leak from using custom backgrounds fixed (hopefully)
  • Bug fix: When Multi-touch option was disabled normal touch would not function
  • Improved: Code backend made more efficient by combining some classes
  • Added: Cool new background called “The Grid”

Portal 2 Soundboard (with honeycomb support!)

May 20 11
by mat

Following on from the success of my portal soundboard I developed a Portal 2 soundboard. I also took this opportunity to modernise my soundboard code by adding in honeycomb support for the actionbar and better scaling of resources. The actionbar now contains all the tabs with the menu accessible from the far right button creating a much more natural honeycomb experience:

Portal 2 Soundboard running on motorola xoom (honeycomb actionbar support)

Portal 2 Soundboard running on motorola xoom (honeycomb actionbar support)

And on pre-honeycomb devices:

Portal 2 Soundboard running on Nexus one

Portal 2 Soundboard running on Nexus one

Download Links
https://market.android.com/details?id=com.stealthcopter.portal2

Portal 2 soundboard is now 42nd in free entertainment apps in the android market, woop!

Portal 2 soundboard is now 42nd in free entertainment apps in the android market, woop!

Alarm Clock Plugin for Sony Ericsson LiveView uploaded to market

Apr 22 11
by mat

Following my previous two posts about Sony Ericssons LiveView (Quick Review and SDK & development) I have released my Alarm Clock Plugin for Sony Ericsson LiveView!

Find it on the android market:
https://market.android.com/details?id=com.stealthcopter.liveview.plugins.alarmclock

Would love some feedback from anyone with a LiveView, there must be someone else out there who has one right?

Sony Ericsson LiveView Alarm Clock Plugin

Sony Ericsson LiveView Alarm Clock Plugin

Sony Ericsson LiveView SDK and my Alarm Clock Plugin

Apr 14 11
by mat

So as I mentioned in a previous post I recently got a Sony Ericson LiveView watch, I decided to download the SDK and have a go at writing a plugin for use with the watch. The SDK is easy to use (developer world) and the examples and documentation (available here) is very clear and easy to understand. Unfortunately there is no emulator so you will have to go to the trouble of owning one of these devices if you want to test your app on it.

There are two types of plugins.
1. Announce plug-in

Announce plug-ins can send announcements to the LiveView™ device. This is done in
the same way as the predefined announce features, like Facebook and Twitter.

Gmail Plugin Emails

Gmail Plugin Emails

The SDK Announce plugin (helloWorldPlugin) example is very simple and and mostly contains code scheduling a timer to send events to the phone along. This is a single class which is supported by a small number of helper classes and the plugin only contains a few things foreign to a typical android application:

Just extend the class provided by the SDK for plugins:

public class HelloWorldService extends AbstractPluginService {

Send updates to the phone using the following function:

mLiveViewAdapter.sendAnnounce(mPluginId, mMenuIcon, header, body, System.currentTimeMillis(), "http://en.wikipedia.org/wiki/Hello_world_program");

Where:
mPluginId – identifies which app send the update
mMenuIcon – the icon the update will appear with
header – the title (IE: email subject)
body – the main text (IE: email text)
timestamp – timestamp of the announcement
link – action to perform when user clicks at end of message (event to occur on phone). This is interpreted by overriding the function below:

@Override
	protected void openInPhone(String openInPhoneAction) {
		Log.d(PluginConstants.LOG_TAG, "openInPhone: " + openInPhoneAction);
		
		// Open in browser.
		final Uri uri = Uri.parse(openInPhoneAction);
		final Intent browserIntent = new Intent();
		browserIntent.setData(uri);
		browserIntent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");
		browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		startActivity(browserIntent);
}

2. Sandbox

The sandbox plug-in can take complete control of the LiveView™ device by sending
images to it and control its ability to vibrate and display different colors on the LED. All
user activities are propagated to the plug-in, so that it can take appropriate actions.

Contact Call Plugin

Contact Call Plugin

We extend the same class however this time we say yes when we are asked if we are a sandbox plugin:

    @Override
	protected boolean isSandboxPlugin() {
        return true;
    }

So now rather than using sendAnnounce to send text to the liveview we directly send images. Below is a function used that draws some text to a bitmap and then sends it to be displayed.

    public static void sendTextBitmap(LiveViewAdapter liveView, int pluginId, String text, int bitmapSizeX, int fontSize) {
        // Empty bitmap and link the canvas to it
        Bitmap bitmap = null;
        try {
            bitmap = Bitmap.createBitmap(bitmapSizeX, fontSize, Bitmap.Config.RGB_565);
        }
        catch(IllegalArgumentException  e) {
            return;
        }
        
        Canvas canvas = new Canvas(bitmap);

        // Set the text properties in the canvas
        TextPaint textPaint = new TextPaint();
        textPaint.setTextSize(fontSize);
        textPaint.setColor(Color.WHITE);

        // Create the text layout and draw it to the canvas
        Layout textLayout = new StaticLayout(text, textPaint, bitmapSizeX, Layout.Alignment.ALIGN_CENTER, 1, 1, false);
        textLayout.draw(canvas);
        
        try
        { 
            liveView.sendImageAsBitmap(pluginId, centerX(bitmap), centerY(bitmap), bitmap);
        } catch(Exception e) {
            Log.d(PluginConstants.LOG_TAG, "Failed to send bitmap", e);
        }
    }

So we can create a similar function drawing whatever we want to a bitmap and then passing it onto the screen.

Only one thing left (I think). Intercepting button presses:

@Override
	protected void button(String buttonType, boolean doublepress, boolean longpress) {
          ....
         }

Where the the following buttons are defined:

  • PluginConstants.BUTTON_UP
  • PluginConstants.BUTTON_DOWN
  • PluginConstants.BUTTON_LEFT
  • PluginConstants.BUTTON_RIGHT
  • PluginConstants.BUTTON_SELECT

and we can see if the were tapped or held down with the boolean longpress. Note that we cannot detect longpresses of select as that will exit your plugin and the power button at all as that controls the screen.

My Attempt at a plugin: Alarm Clock
So I thought given that this thing is pretty much a watch, it would be useful to be able to set an alarm with it.

Plugin Icon

Plugin Icon


12hr clock (select sets alarm)

12hr clock (select sets alarm)


24hr clock

24hr clock

Unfortunately I don’t think it is possible to set the alarm programatically in android in versions prior to gingerbread (posted a stackoverflow question about it). So the user base is very limited, only users with gingerbread and higher with a LiveView will be able to use it so I don’t expect a massive response. Also I have no idea if this will work with non-stock alarm clock apps as I’m not aware of any manufacturers modification of gingerbread as of yet.

The LiveView application on the phone handles links to all the shared preferences for the plugins (they’re mandatory just for the enable/disable option) but an example is included in all the examples and it is very simple to just add more options to the preferences.xml and grab them in the code.

LiveView plugin settings

LiveView plugin settings

Alarm set via plugin

Alarm set via plugin

Conc
If you want more info please read the documentation linked at the start of this post. I will probably release the liveview alarm clock plugin onto the market soon, but I don’t expect the reception to be that good as it will only work on a few phones / tablets. Anyway I had fun programming for mine, enjoy!

Sony Ericsson LiveView Watch (Quick Review)

Apr 14 11
by mat

So about a week ago I decided to treat myself to a Sony Ericsson LiveView. It’s basically a watch with a 128×128 pixel screen that can display images/text sent from the phone. There are a few builtin apps that use this to send information to the phone (text messages etc.) and also an SDK is avaliable for developers to make further use of this device. Anyway here is a quick review of the device, I’ll post again soon with information about the SDK and developing a plugin.

Sony Ericsson LiveView Watch

Sony Ericsson LiveView Watch

Bluetooth connection
Well this is the major downfall of the device, it cannot hold a bluetooth connection very well with my phones (Nexus One and Desire HD) and constantly requires you to pull your phone out of your pocket to scan for bluetooth devices, pair with it, disconnect and reconnect in the LiveView program, restart your phone, or turn watch off and on in pairing mode.

LiveView lost connection

LiveView lost connection

This problem was significantly worse before installing the firmware update onto the LiveView (something which I strongly suggest as now it is only half as buggy). However the firmware update for this LiveView will only work on a Windows machine boo!!!

I’ve checked around a few forums and found that the bluetooth connection issues seem to be phone specific with the sony ericsson phones performing much better.

Builtin apps

  • Text messages – shows text messages you have received
  • Find phone – plays a sound on phone so you can find it… would be useful if I didn’t have to find my phone first to accept the pairing request!
  • RSS – not tested this, obvious what it does though
  • Missed calls – shows any missed calls you’ve had
  • Music control – volume control, next/prev, play/pause and sometimes displays current track name/artist

Plugins
There is a fairly complete list of plugins avaliable for liveview on the sony ericsson blog: blogs.sonyericsson.com. There aren’t too many apps available so it’s quite easy for devs to find something that hasn’t been done before with the liveview.

All the ones I’ve tried are quite good and function well but are perhaps not as ascetically pleasing as they could have been but I’m not going to complain about that.

Ones I’ve tried:

  • Gmail – Alerts you to new gmails and lets you read a snippet
  • Calendar plugin – Monthly view and agenda
  • Contact call – Browse contacts and intiate a call, I managed to accidentally call someone using this leading to much hilarity…
  • Binary clock – A binary clock, quite fun for geeks

Update issues
Most of the functions in the watch are for updates; tweets, text messages, emails etc… Unfortunatly many of these ‘plugins’ do not update properly, only showing updates that occurred whilst the watch was actively connected which means according to LiveView the last text I receive was 4 days ago… but I have had several since then… don’t think it would be very hard to fetch this information.

Lack of update for 4 days

Lack of update for 4 days

Just as a watch
So I decided I’d give this device a chance of working solely as a watch for a day.

The battery life quite good, still shows a full battery icon after 9 hours, which isn’t that shocking as the screen is only turned on when you want to know the time and it seldom requires to use bluetooth. I do wonder if it actually keeps track of the time onboard or if it keeps syncing (I suspect it doesn’t sync due to battery life and troubles syncing when using functions).

Conclusion
I’ve really tried hard to like this device but it really isn’t making it easy for me. I would recommend it if:

  • You’re a developer with a sony ericsson phone
  • Or the fun of writing an app will overwhelm the annoyance of constantly repairing

I wouldn’t recommend it if:

  • You’re an end user, looking for a cool watch
  • You’re need to rely on your watch to function
  • You want your watch to have all the standard functions
  • You don’t like re-pairing bluetooth devices repeatedly

Next
In my next post I’ll talk about the LiveView SDK and creating a LiveView plugin.

Received a box of 16 dead zebra android collectibles from funky peanut

Apr 11 11
by mat

As we end the first financial year for Stealthcopter Technologies the staff are treated (for tax purposes) to a box of 16 dead zebra collectibles.

Box of 16 dead zebra android collectibles

Box of 16 dead zebra android collectibles


16 dead zebra android collectibles unboxed

16 dead zebra android collectibles unboxed

The Cupcake one actually smells of cupcakes!!! amazing!

We actually ordered the last box (sorry!) of 16 from funkypeanut.co.uk for just over £100 including delivery, singles are still available though. There were actually some issues with paypal when checking out for this, but the admin of the store sent an email shortly afterwards to sort it out manually, great customer service!

I think android should have optional permissions with explanations

Mar 26 11
by mat

It’s great that the android market now allows a much larger description however most people will still not read the description, this becomes especially problematic when it comes to explanations for usage of permissions.

Below shows the explanation in the market of why my live wallpaper requests full internet permission:

Internet permission explanation in android market for nexus revamped live wallpaper

Internet permission explanation in android market for nexus revamped live wallpaper

And this image shows one user complaining about the permission in the reviews:

Complaining about permissions in review without reading description

Complaining about permissions in review without reading description

This combined with the inability to respond to comments to explain how the commenter is an idiot (something the amazon app store allows) can severely hinder your applications downloads, as sales are strongly influenced to the ratings of the last three comments.

Solution

  • Allow developers to add explanations to certain permissions so that users can understand why your app might (optionally) need access to your contacts, use the internet, or send an text message etc…
  • Allow developers to specifiy which permissions are optional giving the user the ability to deny an applications access some permission. This could be handled automatically in android with a popup box saying an app is trying to use an optional permission would you like to allow etc… similar to how the super user stuff works in rooted phones, or the background data/gps etc…

Would love to hear other developer’s opinions or alternate ideas!

Manufacturer and handset market share in an android app with google analytics

Mar 13 11
by mat

So I really love statistics… I recently added google analytics to my android app (Nexus Revamped Live Wallpaper) in order to try and improve the app by seeing what devices people were using and what options they were selecting. Below shows the phone manufacturer and handset share with pie charts to make it fun!

Make Frequency
HTC 26321
Samsung 21158
Motorola 18928
Sony 9014
LG 5893
HUAWEI 2104
Dell 549
ZTE 295
Archos 246
Sharp 229
Acer 162
Other 1463

Phone Frequency Phone Frequency
motorola DROIDX 6560 HUAWEI Huawei_8100-9 24
HTC PC36100 5547 LGE LG-LU3100 21
samsung GT-I9000 4332 Huawei U8220/Pulse 21
Samsung SPH-D700 3969 HUAWEI U8100 20
HTC Desire HD 3593 HTC Vanilla Tazz 20
HTC HTC Desire 2934 Samsung GT-I5500B 20
Sony Ericsson E15i 2546 HTC GSBv1.8.1 ERIS 19
HTC ADR6300 2526 samsung SHW-M180S 19
motorola MB860 2504 samsung GT-P1000N 18
HTC Nexus One 2456 SE X10minipro 18
motorola MB525 2402 ZTE Blade 18
Samsung SGH-T959 2348 samsung SGH-I987 18
HTC HTC Glacier 2230 SHARP SH-03C 17
samsung SAMSUNG-SGH-I897 2199 HTC nonsensikal froyo 17
HTC T-Mobile G2 1964 samsung SC-01C 17
Sony Ericsson X10i 1951 ZTE MTC 916 17
Motorola Droid 1822 HTC HTC Desire CDMA 17
Samsung SCH-I500 1690 archos A43 16
motorola DROID2 1470 FIH CBW Blaze 16
motorola DROID2 GLOBAL 1352 LGE LU2300 15
Sony Ericsson E10i 1299 LGE LG-LU3700 15
Sony Ericsson U20i 1280 lge LG-P990 15
LGE VM670 1261 archos A70H 15
LGE LS670 1158 archos A32 15
Samsung GT-S5830 1047 LGE LG-KU3700 15
samsung Nexus S 1043 Sony Ericsson Sony Ericsson X8 14
HTC PG06100 815 Huawei U8220 14
HUAWEI HUAWEI-M860 782 archos A70S 14
HUAWEI M860 778 Samsung SGH-I897 14
Sony Ericsson X10a 685 Acer Stream 14
motorola Milestone 658 nvidia Adam 14
LGE LG-P500 640 HUAWEI u8800 13
Samsung SGH-T959V 627 HUAWEI Ivy 12
HTC HTC Vision 619 nvidia Vega with Original_Ganjamans Rom Add-On 12
LGE Ally 594 HUAWEI U8110 12
HTC HTC Legend 491 HUAWEI C8500 12
HTC HTC HD2 488 PANTECH IM-A720L 12
Dell Inc. Dell Streak 464 SK telesys SK-S100 12
HTC PB99400 463 DELL XCD35 11
LGE GT540 441 Samsung GT-I5500M 11
Samsung GT-S5570 438 Samsung GT-S5830L 11
LGE LG-P509 426 Dell Inc. Dell Streak 7 11
samsung GT-P1000 406 Commtiva Z71 11
LGE LG-MS690 391 Sony Ericsson U20i(rooted by SS 10
LogicPD LogicPD Zoom2 358 samsung SHW-M130L 10
samsung SHW-M110S 348 HTC FroShedYo V10-ERIS 9
Sony Ericsson E10a 336 HUAWEI U8230 9
Sony Ericsson E15a 311 motorola XT701 9
samsung GT-I9000M 308 HTC X10i-TripNRaVeR 9
Samsung GT-I5500 306 samsung SHW-M180L 9
Sony Ericsson U20a 292 semc X10i TripNMiUI 9
motorola MB520 282 HTC Evo 9
Sony Ericsson SO-01B 272 Dell Inc. 001DL 9
KYOCERA Corporation Zio 272 Sony-Ericsson X8 9
HTC HTC Aria 257 FIH CSL_Spice_MI700 8
LGE Vortex 256 LGE KH5200 8
motorola DROID PRO 254 HTC Plain Biff Dream 8
motorola MB611 241 Samsung Vibrant 8
Samsung SCH-I400 234 Samsung GT-I9000 7
motorola MotoA953 229 HTC ERIS GSBv2.0 7
meizu meizu_m9 219 samsung SGH-I897 7
HUAWEI Ideos 199 HTC GSBv1.7-ERIS 7
samsung SAMSUNG-SGH-I896 190 HTC HD2 7
HTC HERO200 186 malata GTablet-TnT-Lite 7
archos A101IT 186 HTC U20i 7
samsung SC-02B 184 PANTECH SKY IM-A600S 7
LGE LG-P500h 180 malata VEGAn-TAB 7
Motorola Xoom 178 infotm deb 6
samsung SGH-T959D 175 HUAWEI Ideos S7 6
motorola A953 164 ZTE Optimus San Francisco 5
HTC HTC Dream 154 Samsung SAMSUNG-SGH-I997 5
HTC HTC Magic 154 Acer Acer Liquid 5
HTC HTC Hero 154 motorola AOSP on Morrison (EU 5
SHARP IS03 141 PANTECH IM-A690L 5
HTC Hero 137 HTC Eris FroshedYo v11 5
HTC T-Mobile myTouch 3G Slide 130 HTC HTC Aria A6380 5
HTC HTC click 127 HUAWEI RBM2 5
ZTE ZTE-BLADE 126 HTC cyanogenMod6.1 by Neopeek 4
SE X10i 125 HTC Incredible 4
HTC Liberty 117 HTC FRG83 by Neopeek 4
samsung SPH-P100 111 Micromax Micromax A60 4
Acer Liquid 110 Samsung SPH-M900 4
Motorola A854 108 HTC AOSP Hero Androbin 4
samsung GT-I9000T 105 motorola MB200 4
HTC HTC Magic/Dream 102 HTC docomo HT-03A 4
HUAWEI Vodafone 845 100 samsung GT-P1000R 4
Samsung SCH-R910 98 HTC GSBv1.8 ERIS 4
motorola MotoroiX 98 FIH Commtiva-N700 4
samsung GT-I9000B 96 FIH JellyBean 4
samsung SCH-I800 95 HTC X06HT 4
garmin-asus Garmin-Asus A10 94 HTC Sony Ericsson Xperia X10 Mini Pro 4
motorola MB508 92 nvidia VEGAn-TAB-v1.0.0b5.1.1 4
Samsung GT-I5500L 92 motorola Dext 3
LGE GT540f 92 LGE LG Optimus V 3
LGE LG-C710h 87 samsung GT-I5500L 3
LGE LG-US670 86 HUAWEI U8220 3
motorola Milestone XT720 76 FIH TESTTEL Mod1.11 3
Samsung Nexus S 74 FIH CSL_Spice_MI300 3
motorola MB511 74 HTC Plain Biff Magic 3
SHARP SBM003SH 71 unknown Android 3
Samsung GT-I5700 70 HTC ERIS 3
HUAWEI Pulse 67 unknown generic_x86 3
motorola MB502 67 HTC GBRider Cronos v1.0 2
FIH Motorola-XT502 65 HTC Gingerbread on Sapphire 2
HTC HTC Wildfire 65 HTC Chromatic Dream 2
HTC HTC Incredible 62 ZTE a5 2
samsung GT-I5800 61 Sony Ericsson R800i 2
Samsung GT-I5503 60 FIH Boston 2
HUAWEI Comet 56 TOSHIBA TOSHIBA_FOLIO_AND_A 2
HTC HTC Liberty 55 FIH ViewPad7 2
motorola XT720 55 samsung SHW-M190S 2
Dell Inc. Dell Venue 54 HTC T-Mobile G1 2
LGE AS740 53 bn NookColor 2
HTC HTC Hero CDMA 52 PANTECH IM-A690S 2
Motorola Milestone 50 FIH FIH-F0X 2
HTC Ginger Tazz 48 Verizon Motorola Nook Color (zoom2 2
ZTE Orange San Francisco 46 HUAWEI Turkcell T10 1
Samsung SHW-M100S 46 motorola MotoMB511 1
samsung GT-I9003 45 LGE LG-LU3000 1
motorola ME525 45 Sony Ericsson Xperia.X8 1
ZTE ZTE Blade 44 unknown MB200 1
HTC Legend 43 htc T-Mobile G1 1
samsung GT-I5801 42 HUAWEI U8500 1
HTC Dream/Sapphire 39 FIH V-T100 1
LGE US740 39 motorola ME811 1
Samsung GT-S5670 38 ZTE Beeline M2 1
PANTECH IM-A710K 38 HTC Yoshi Mod MM1 on 32b 1
unknown imx51_bbg 38 Samsung GT-I5510 1
ZTE V9 35 HUAWEI UM840 1
HTC HTC Gratia A6380 35 PANTECH IS06 1
Acer Liquid Metal 33 Sony Ericsson SK17i 1
SE X10mini 33 samsung GT-I5500B 1
samsung SGH-T849 33 ZTE ZTE-C R750 1
Samsung GT-I5503T 29 samsung YP-GB1 1
LGE LG-SU370 29 HUAWEI S7 1
HTC HTC Sapphire 29 motorola Motorola XT720 1
PANTECH SKY IM-A650S 29 TOSHIBA TOSHIBA_AC_AND_AZ 1
HTC HTC Incredible S 29 unknown Android on HTC Kaiser 1
Motorola A853 28 samsung GT-P1000M 1
Samsung SHW-M240S 28 SonyEricsson X10i 1
LGE LG-SU660 27 Motorola Motorola-XT502 1
unknown LogicPD Zoom2 27 HUAWEI IDEOS X5 1
motorola A853 Milestone 26 CCI Cosmo 1
HTC GSBv1.9 ERIS 25 HUAWEI Pulse Mini MG Mod 1
LG GW620 25 FIH WellcoM-A99 1
telechips MID7015A 25