diff --git a/demokit/app/AndroidManifest.xml b/demokit/app/AndroidManifest.xml
index 9523587..22dadd6 100644
--- a/demokit/app/AndroidManifest.xml
+++ b/demokit/app/AndroidManifest.xml
@@ -15,9 +15,14 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-      package="com.google.DemoKit">
+      package="com.google.DemoKit"
+      android:versionCode="1"
+      android:versionName="1.0">
+
+  <uses-sdk android:targetSdkVersion="11"></uses-sdk>
 
     <application android:label="DemoKit"
+            android:icon="@drawable/icon"
             android:hardwareAccelerated="true">
         <uses-library android:name="com.android.future.usb.accessory" />
 
@@ -38,4 +43,4 @@
 
         </activity>
     </application>
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/demokit/app/res/drawable-hdpi/droid_off.png b/demokit/app/res/drawable-hdpi/droid_off.png
new file mode 100644
index 0000000..c908bf8
--- /dev/null
+++ b/demokit/app/res/drawable-hdpi/droid_off.png
Binary files differ
diff --git a/demokit/app/res/drawable-hdpi/droid_on.png b/demokit/app/res/drawable-hdpi/droid_on.png
new file mode 100644
index 0000000..0bd2390
--- /dev/null
+++ b/demokit/app/res/drawable-hdpi/droid_on.png
Binary files differ
diff --git a/demokit/app/res/drawable-hdpi/icon.png b/demokit/app/res/drawable-hdpi/icon.png
index 8074c4c..0496e35 100644
--- a/demokit/app/res/drawable-hdpi/icon.png
+++ b/demokit/app/res/drawable-hdpi/icon.png
Binary files differ
diff --git a/demokit/app/res/drawable-ldpi/droid_off.png b/demokit/app/res/drawable-ldpi/droid_off.png
new file mode 100644
index 0000000..75a1bf6
--- /dev/null
+++ b/demokit/app/res/drawable-ldpi/droid_off.png
Binary files differ
diff --git a/demokit/app/res/drawable-ldpi/droid_on.png b/demokit/app/res/drawable-ldpi/droid_on.png
new file mode 100644
index 0000000..41dd449
--- /dev/null
+++ b/demokit/app/res/drawable-ldpi/droid_on.png
Binary files differ
diff --git a/demokit/app/res/drawable-ldpi/icon.png b/demokit/app/res/drawable-ldpi/icon.png
index 1095584..ee36e96 100644
--- a/demokit/app/res/drawable-ldpi/icon.png
+++ b/demokit/app/res/drawable-ldpi/icon.png
Binary files differ
diff --git a/demokit/app/res/drawable-mdpi/droid_off.png b/demokit/app/res/drawable-mdpi/droid_off.png
new file mode 100644
index 0000000..e7fcabf
--- /dev/null
+++ b/demokit/app/res/drawable-mdpi/droid_off.png
Binary files differ
diff --git a/demokit/app/res/drawable-mdpi/droid_on.png b/demokit/app/res/drawable-mdpi/droid_on.png
new file mode 100644
index 0000000..121f517
--- /dev/null
+++ b/demokit/app/res/drawable-mdpi/droid_on.png
Binary files differ
diff --git a/demokit/app/res/drawable-mdpi/icon.png b/demokit/app/res/drawable-mdpi/icon.png
index 8074c4c..b01345c 100644
--- a/demokit/app/res/drawable-mdpi/icon.png
+++ b/demokit/app/res/drawable-mdpi/icon.png
Binary files differ
diff --git a/demokit/app/res/layout/main.xml b/demokit/app/res/layout/main.xml
index ec6f61f..4becaa0 100644
--- a/demokit/app/res/layout/main.xml
+++ b/demokit/app/res/layout/main.xml
@@ -8,15 +8,15 @@
             <TextView android:id="@+id/textView17" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/buttons" android:layout_marginRight="8dip"></TextView>
             <LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:verticalScrollbarPosition="right" android:layout_width="match_parent" android:layout_gravity="fill_horizontal">
                 <TextView android:id="@+id/textView1" android:layout_height="wrap_content" android:layout_width="match_parent" android:text="@string/button1" android:layout_gravity="center_vertical" android:layout_marginRight="8dip"></TextView>
-                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/redball" android:id="@+id/button1Image"></ImageView>
+                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/droid_off" android:id="@+id/button1Image"></ImageView>
             </LinearLayout>
             <LinearLayout android:id="@+id/linearLayout5" android:layout_width="wrap_content" android:layout_height="wrap_content">
                 <TextView android:layout_width="wrap_content" android:id="@+id/textView2" android:layout_height="wrap_content" android:text="@string/button2" android:layout_gravity="center_vertical" android:layout_marginRight="8dip"></TextView>
-                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/redball" android:id="@+id/button2Image"></ImageView>
+                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/droid_off" android:id="@+id/button2Image"></ImageView>
             </LinearLayout>
             <LinearLayout android:id="@+id/linearLayout6" android:layout_width="wrap_content" android:layout_height="wrap_content">
                 <TextView android:layout_width="wrap_content" android:id="@+id/textView3" android:layout_height="wrap_content" android:text="@string/button3" android:layout_gravity="center_vertical" android:layout_marginRight="8dip"></TextView>
-                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/redball" android:id="@+id/button3Image"></ImageView>
+                <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/droid_off" android:id="@+id/button3Image"></ImageView>
             </LinearLayout>
         </TableRow>
         <TableRow android:id="@+id/tableRow14" android:layout_width="wrap_content" android:layout_height="wrap_content">
diff --git a/demokit/app/src/com/google/DemoKit/DemoKitActivity.java b/demokit/app/src/com/google/DemoKit/DemoKitActivity.java
index f141cc9..7a4e3ff 100644
--- a/demokit/app/src/com/google/DemoKit/DemoKitActivity.java
+++ b/demokit/app/src/com/google/DemoKit/DemoKitActivity.java
@@ -72,8 +72,8 @@
     ImageView mCap;
 
 
-    Drawable redball;
-    Drawable greenball;
+    Drawable mSwitchOff;
+    Drawable mSwitchOn;
 
     private static final int MESSAGE_SWITCH = 1;
     private static final int MESSAGE_TEMPERATURE = 2;
@@ -213,8 +213,8 @@
 
         mCap = (ImageView)findViewById(R.id.cap);
 
-        redball =   getResources().getDrawable(R.drawable.redball);
-        greenball = getResources().getDrawable(R.drawable.greenball);
+        mSwitchOff =   getResources().getDrawable(R.drawable.droid_off);
+        mSwitchOn = getResources().getDrawable(R.drawable.droid_on);
 
     }
 
@@ -355,13 +355,13 @@
                 case MESSAGE_SWITCH:
                     SwitchMsg o = (SwitchMsg)msg.obj;
                     if (o.getSw() == 0)
-                        mButton1Image.setImageDrawable(o.getState() != 0 ? greenball : redball);
+                        mButton1Image.setImageDrawable(o.getState() != 0 ? mSwitchOn : mSwitchOff);
                     else if (o.getSw() == 1)
-                        mButton2Image.setImageDrawable(o.getState() != 0 ? greenball : redball);
+                        mButton2Image.setImageDrawable(o.getState() != 0 ? mSwitchOn : mSwitchOff);
                     else if (o.getSw() == 2)
-                        mButton3Image.setImageDrawable(o.getState() != 0 ? greenball : redball);
+                        mButton3Image.setImageDrawable(o.getState() != 0 ? mSwitchOn : mSwitchOff);
                     else if (o.getSw() == 3)
-                        mCap.setImageDrawable(o.getState() != 0 ? greenball : redball);
+                        mCap.setImageDrawable(o.getState() != 0 ? mSwitchOn : mSwitchOff);
                     break;
 
                 case MESSAGE_TEMPERATURE:
