OSDN Git Service

Automated import from //branches/donutburger/...@142100,142100
authorJeffrey Sharkey <>
Wed, 25 Mar 2009 04:27:02 +0000 (21:27 -0700)
committerThe Android Open Source Project <initial-contribution@android.com>
Wed, 25 Mar 2009 04:27:02 +0000 (21:27 -0700)
24 files changed:
res/drawable-finger/appwidget_bg.9.png
res/drawable-finger/appwidget_inner.9.png
res/drawable-finger/appwidget_inner_dither.xml [new file with mode: 0644]
res/drawable-finger/appwidget_led0.png [new file with mode: 0644]
res/drawable-finger/appwidget_led1.png [new file with mode: 0644]
res/drawable-finger/appwidget_led2.png [new file with mode: 0644]
res/drawable-finger/appwidget_led3.png [new file with mode: 0644]
res/drawable-finger/appwidget_led4.png [new file with mode: 0644]
res/drawable-finger/appwidget_led5.png [new file with mode: 0644]
res/drawable-finger/appwidget_led_anim.xml [new file with mode: 0644]
res/drawable-finger/appwidget_next_focused.png
res/drawable-finger/appwidget_next_normal.png
res/drawable-finger/appwidget_next_pressed.png
res/drawable-finger/appwidget_pause_focused.png
res/drawable-finger/appwidget_pause_normal.png
res/drawable-finger/appwidget_pause_pressed.png
res/drawable-finger/appwidget_play_focused.png
res/drawable-finger/appwidget_play_normal.png
res/drawable-finger/appwidget_play_pressed.png
res/drawable-land-finger/appwidget_bg.9.png [new file with mode: 0644]
res/layout-finger/album_appwidget.xml
res/values/colors.xml
res/values/strings.xml
src/com/android/music/MediaAppWidgetProvider.java

index 8930c08..7bec3c7 100644 (file)
Binary files a/res/drawable-finger/appwidget_bg.9.png and b/res/drawable-finger/appwidget_bg.9.png differ
index 157afcf..4e60c5b 100644 (file)
Binary files a/res/drawable-finger/appwidget_inner.9.png and b/res/drawable-finger/appwidget_inner.9.png differ
diff --git a/res/drawable-finger/appwidget_inner_dither.xml b/res/drawable-finger/appwidget_inner_dither.xml
new file mode 100644 (file)
index 0000000..bcbbba2
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<nine-patch xmlns:android="http://schemas.android.com/apk/res/android"
+    android:src="@drawable/appwidget_inner"
+    android:dither="true"
+/>
diff --git a/res/drawable-finger/appwidget_led0.png b/res/drawable-finger/appwidget_led0.png
new file mode 100644 (file)
index 0000000..dd7537f
Binary files /dev/null and b/res/drawable-finger/appwidget_led0.png differ
diff --git a/res/drawable-finger/appwidget_led1.png b/res/drawable-finger/appwidget_led1.png
new file mode 100644 (file)
index 0000000..7e03413
Binary files /dev/null and b/res/drawable-finger/appwidget_led1.png differ
diff --git a/res/drawable-finger/appwidget_led2.png b/res/drawable-finger/appwidget_led2.png
new file mode 100644 (file)
index 0000000..ee09602
Binary files /dev/null and b/res/drawable-finger/appwidget_led2.png differ
diff --git a/res/drawable-finger/appwidget_led3.png b/res/drawable-finger/appwidget_led3.png
new file mode 100644 (file)
index 0000000..3bd8c3d
Binary files /dev/null and b/res/drawable-finger/appwidget_led3.png differ
diff --git a/res/drawable-finger/appwidget_led4.png b/res/drawable-finger/appwidget_led4.png
new file mode 100644 (file)
index 0000000..80d9ab8
Binary files /dev/null and b/res/drawable-finger/appwidget_led4.png differ
diff --git a/res/drawable-finger/appwidget_led5.png b/res/drawable-finger/appwidget_led5.png
new file mode 100644 (file)
index 0000000..49c5f04
Binary files /dev/null and b/res/drawable-finger/appwidget_led5.png differ
diff --git a/res/drawable-finger/appwidget_led_anim.xml b/res/drawable-finger/appwidget_led_anim.xml
new file mode 100644 (file)
index 0000000..58ae196
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<animation-list
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:oneshot="false">
+    <item android:drawable="@drawable/appwidget_led1" android:duration="500" />
+    <item android:drawable="@drawable/appwidget_led3" android:duration="500" />
+    <item android:drawable="@drawable/appwidget_led2" android:duration="500" />
+    <item android:drawable="@drawable/appwidget_led5" android:duration="500" />
+    <item android:drawable="@drawable/appwidget_led4" android:duration="500" />
+    <item android:drawable="@drawable/appwidget_led3" android:duration="500" />
+</animation-list>
index 90548f7..fc80cf2 100644 (file)
Binary files a/res/drawable-finger/appwidget_next_focused.png and b/res/drawable-finger/appwidget_next_focused.png differ
index 072499e..01e350b 100644 (file)
Binary files a/res/drawable-finger/appwidget_next_normal.png and b/res/drawable-finger/appwidget_next_normal.png differ
index 0b6dd31..b4cfc37 100644 (file)
Binary files a/res/drawable-finger/appwidget_next_pressed.png and b/res/drawable-finger/appwidget_next_pressed.png differ
index 920e16d..dc8cdf3 100644 (file)
Binary files a/res/drawable-finger/appwidget_pause_focused.png and b/res/drawable-finger/appwidget_pause_focused.png differ
index a40e247..7ac0f75 100644 (file)
Binary files a/res/drawable-finger/appwidget_pause_normal.png and b/res/drawable-finger/appwidget_pause_normal.png differ
index 03ad69b..56df573 100644 (file)
Binary files a/res/drawable-finger/appwidget_pause_pressed.png and b/res/drawable-finger/appwidget_pause_pressed.png differ
index 5d9bc3a..9f85b29 100644 (file)
Binary files a/res/drawable-finger/appwidget_play_focused.png and b/res/drawable-finger/appwidget_play_focused.png differ
index f812874..3a6ffb7 100644 (file)
Binary files a/res/drawable-finger/appwidget_play_normal.png and b/res/drawable-finger/appwidget_play_normal.png differ
index 02dbeca..f14055a 100644 (file)
Binary files a/res/drawable-finger/appwidget_play_pressed.png and b/res/drawable-finger/appwidget_play_pressed.png differ
diff --git a/res/drawable-land-finger/appwidget_bg.9.png b/res/drawable-land-finger/appwidget_bg.9.png
new file mode 100644 (file)
index 0000000..24288d2
Binary files /dev/null and b/res/drawable-land-finger/appwidget_bg.9.png differ
index dc89460..7c2c409 100644 (file)
 -->
 
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/album_appwidget"
     android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
+    android:layout_height="wrap_content"
+    android:background="@drawable/appwidget_bg"
     >
 
-    <FrameLayout
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:layout_centerVertical="true"
-        android:layout_marginLeft="9dip"
-        android:layout_marginRight="10dip"
-        android:background="@drawable/appwidget_bg"
-        >
-
-        <LinearLayout
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:background="@drawable/appwidget_inner"
-            >
-
-            <TextView
-                android:id="@+id/title"
-                android:layout_width="fill_parent"
-                android:layout_height="0dip"
-                android:layout_weight="1"
-                android:gravity="bottom|left"
-                android:textColor="@color/appwidget_text"
-                android:textStyle="bold"
-                android:textSize="11sp"
-                android:singleLine="true"
-                android:ellipsize="marquee"
-                android:fadingEdge="horizontal"
-                />
-
-            <TextView
-                android:id="@+id/artist"
-                android:layout_width="fill_parent"
-                android:layout_height="0dip"
-                android:layout_weight="1"
-                android:gravity="top|left"
-                android:textColor="@color/appwidget_text"
-                android:textSize="11dip"
-                android:singleLine="true"
-                android:ellipsize="marquee"
-                android:fadingEdge="horizontal"
-                />
-
-        </LinearLayout>
-
-    </FrameLayout>
+    <ImageButton
+        android:id="@+id/control_play"
+        android:layout_width="48dip"
+        android:layout_height="fill_parent"
+        android:src="@drawable/appwidget_play"
+        android:background="@android:color/transparent"
+        android:scaleType="center"
+        />
 
     <ImageButton
         android:id="@+id/control_next"
-        android:layout_width="wrap_content"
+        android:layout_width="35dip"
         android:layout_height="fill_parent"
         android:layout_alignParentRight="true"
-        android:layout_centerVertical="true"
-        android:paddingRight="25dip"
-        android:paddingLeft="10dip"
         android:src="@drawable/appwidget_next"
         android:background="@android:color/transparent"
+        android:scaleType="center"
         />
 
-    <ImageButton
-        android:id="@+id/control_play"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentBottom="true"
-        android:paddingLeft="16dip"
-        android:paddingRight="10dip"
-        android:paddingBottom="3dip"
-        android:paddingTop="10dip"
-        android:src="@drawable/appwidget_play"
-        android:background="@android:color/transparent"
-        />
+    <RelativeLayout
+        android:id="@+id/album_appwidget"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+        android:layout_toRightOf="@id/control_play"
+        android:layout_toLeftOf="@id/control_next"
+        android:background="@drawable/appwidget_inner_dither"
+        >
+
+        <com.android.server.status.AnimatedImageView
+            android:id="@+id/led"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="5dip"
+            android:layout_marginRight="10dip"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentRight="true"
+            android:src="@drawable/appwidget_led0"
+            />
+
+        <ImageView
+            android:visibility="invisible"
+            android:id="@+id/anchor"
+            android:layout_width="0dip"
+            android:layout_height="7dip"
+            android:layout_centerVertical="true"
+            />
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignBottom="@id/anchor"
+            android:layout_marginLeft="10dip"
+            android:layout_marginRight="20dip"
+            android:textColor="@color/appwidget_text"
+            android:textStyle="bold"
+            android:textSize="18sp"
+            android:singleLine="true"
+            android:fadingEdge="horizontal"
+            android:fadingEdgeLength="20dip"
+            android:ellipsize="none"
+            />
+
+        <TextView
+            android:id="@+id/artist"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/anchor"
+            android:layout_marginLeft="10dip"
+            android:layout_marginRight="40dip"
+            android:textColor="@color/appwidget_text"
+            android:textSize="14sp"
+            android:singleLine="true"
+            android:fadingEdge="horizontal"
+            android:fadingEdgeLength="20dip"
+            android:ellipsize="none"
+            />
+
+    </RelativeLayout>
 
 </RelativeLayout>
index 0a20c8b..9a7806a 100644 (file)
@@ -15,6 +15,7 @@
 -->
 
 <resources>
-    <color name="appwidget_text">#ffffffff</color>
+    <color name="appwidget_text">#ff000000</color>
+    <color name="appwidget_shadow">#ffffffff</color>
 </resources>
 
index 855b443..a6f51c6 100644 (file)
 
     <!-- Title for track number in music gadget -->
     <string name="gadget_track">Track <xliff:g id="track_number">%d</xliff:g></string>
-
-    <!-- Mixes together track number and track title in music gadget -->
-    <string name="gadget_track_num_title" translatable="false"><xliff:g id="track_number">%d</xliff:g>. <xliff:g id="track_title">%s</xliff:g></string>
 </resources>
 
index e7b1e3e..3bef910 100644 (file)
@@ -71,6 +71,7 @@ public class MediaAppWidgetProvider extends AppWidgetProvider {
         final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.album_appwidget);
         
         views.setTextViewText(R.id.title, res.getText(R.string.emptyplaylist));
+        views.setTextViewText(R.id.artist, null);
 
         linkButtons(context, views, false /* not playing */);
         pushUpdate(context, appWidgetIds, views);
@@ -116,30 +117,32 @@ public class MediaAppWidgetProvider extends AppWidgetProvider {
         final RemoteViews views = new RemoteViews(service.getPackageName(), R.layout.album_appwidget);
         
         final int track = service.getQueuePosition() + 1;
-        final String titleName = service.getTrackName();
-        final String artistName = service.getArtistName();
+        CharSequence titleName = service.getTrackName();
+        CharSequence artistName = service.getArtistName();
         
         // Format title string with track number, or show SD card message
-        CharSequence titleString = "";
         String status = Environment.getExternalStorageState();
-        if (titleName != null) {
-            titleString = res.getString(R.string.gadget_track_num_title, track, titleName);
-        } else if (status.equals(Environment.MEDIA_SHARED) ||
+        if (status.equals(Environment.MEDIA_SHARED) ||
                 status.equals(Environment.MEDIA_UNMOUNTED)) {
-            titleString = res.getText(R.string.sdcard_busy_title);
+            titleName = res.getText(R.string.sdcard_busy_title);
         } else if (status.equals(Environment.MEDIA_REMOVED)) {
-            titleString = res.getText(R.string.sdcard_missing_title);
-        } else {
-            titleString = res.getText(R.string.emptyplaylist);
+            titleName = res.getText(R.string.sdcard_missing_title);
+        } else if (titleName == null) {
+            titleName = res.getText(R.string.emptyplaylist);
         }
         
-        views.setTextViewText(R.id.title, titleString);
+        views.setTextViewText(R.id.title, titleName);
         views.setTextViewText(R.id.artist, artistName);
         
         // Set correct drawable for pause state
         final boolean playing = service.isPlaying();
-        views.setImageViewResource(R.id.control_play, playing ?
-                R.drawable.appwidget_pause : R.drawable.appwidget_play);
+        if (playing) {
+            views.setImageViewResource(R.id.control_play, R.drawable.appwidget_pause);
+            views.setImageViewResource(R.id.led, R.drawable.appwidget_led_anim);
+        } else {
+            views.setImageViewResource(R.id.control_play, R.drawable.appwidget_play);
+            views.setImageViewResource(R.id.led, R.drawable.appwidget_led0);
+        }
 
         // Link actions buttons to intents
         linkButtons(service, views, playing);