Automated import from //branches/cupcake/...@142098,142098
diff --git a/res/drawable-finger/appwidget_bg.9.png b/res/drawable-finger/appwidget_bg.9.png
index 8930c08..7bec3c7 100644
--- a/res/drawable-finger/appwidget_bg.9.png
+++ b/res/drawable-finger/appwidget_bg.9.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_inner.9.png b/res/drawable-finger/appwidget_inner.9.png
index 157afcf..4e60c5b 100644
--- a/res/drawable-finger/appwidget_inner.9.png
+++ b/res/drawable-finger/appwidget_inner.9.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_inner_dither.xml b/res/drawable-finger/appwidget_inner_dither.xml
new file mode 100644
index 0000000..bcbbba2
--- /dev/null
+++ b/res/drawable-finger/appwidget_inner_dither.xml
@@ -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
index 0000000..dd7537f
--- /dev/null
+++ b/res/drawable-finger/appwidget_led0.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led1.png b/res/drawable-finger/appwidget_led1.png
new file mode 100644
index 0000000..7e03413
--- /dev/null
+++ b/res/drawable-finger/appwidget_led1.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led2.png b/res/drawable-finger/appwidget_led2.png
new file mode 100644
index 0000000..ee09602
--- /dev/null
+++ b/res/drawable-finger/appwidget_led2.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led3.png b/res/drawable-finger/appwidget_led3.png
new file mode 100644
index 0000000..3bd8c3d
--- /dev/null
+++ b/res/drawable-finger/appwidget_led3.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led4.png b/res/drawable-finger/appwidget_led4.png
new file mode 100644
index 0000000..80d9ab8
--- /dev/null
+++ b/res/drawable-finger/appwidget_led4.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led5.png b/res/drawable-finger/appwidget_led5.png
new file mode 100644
index 0000000..49c5f04
--- /dev/null
+++ b/res/drawable-finger/appwidget_led5.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_led_anim.xml b/res/drawable-finger/appwidget_led_anim.xml
new file mode 100644
index 0000000..58ae196
--- /dev/null
+++ b/res/drawable-finger/appwidget_led_anim.xml
@@ -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>
diff --git a/res/drawable-finger/appwidget_next_focused.png b/res/drawable-finger/appwidget_next_focused.png
index 90548f7..fc80cf2 100644
--- a/res/drawable-finger/appwidget_next_focused.png
+++ b/res/drawable-finger/appwidget_next_focused.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_next_normal.png b/res/drawable-finger/appwidget_next_normal.png
index 072499e..01e350b 100644
--- a/res/drawable-finger/appwidget_next_normal.png
+++ b/res/drawable-finger/appwidget_next_normal.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_next_pressed.png b/res/drawable-finger/appwidget_next_pressed.png
index 0b6dd31..b4cfc37 100644
--- a/res/drawable-finger/appwidget_next_pressed.png
+++ b/res/drawable-finger/appwidget_next_pressed.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_pause_focused.png b/res/drawable-finger/appwidget_pause_focused.png
index 920e16d..dc8cdf3 100644
--- a/res/drawable-finger/appwidget_pause_focused.png
+++ b/res/drawable-finger/appwidget_pause_focused.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_pause_normal.png b/res/drawable-finger/appwidget_pause_normal.png
index a40e247..7ac0f75 100644
--- a/res/drawable-finger/appwidget_pause_normal.png
+++ b/res/drawable-finger/appwidget_pause_normal.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_pause_pressed.png b/res/drawable-finger/appwidget_pause_pressed.png
index 03ad69b..56df573 100644
--- a/res/drawable-finger/appwidget_pause_pressed.png
+++ b/res/drawable-finger/appwidget_pause_pressed.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_play_focused.png b/res/drawable-finger/appwidget_play_focused.png
index 5d9bc3a..9f85b29 100644
--- a/res/drawable-finger/appwidget_play_focused.png
+++ b/res/drawable-finger/appwidget_play_focused.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_play_normal.png b/res/drawable-finger/appwidget_play_normal.png
index f812874..3a6ffb7 100644
--- a/res/drawable-finger/appwidget_play_normal.png
+++ b/res/drawable-finger/appwidget_play_normal.png
Binary files differ
diff --git a/res/drawable-finger/appwidget_play_pressed.png b/res/drawable-finger/appwidget_play_pressed.png
index 02dbeca..f14055a 100644
--- a/res/drawable-finger/appwidget_play_pressed.png
+++ b/res/drawable-finger/appwidget_play_pressed.png
Binary files 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
index 0000000..24288d2
--- /dev/null
+++ b/res/drawable-land-finger/appwidget_bg.9.png
Binary files differ
diff --git a/res/layout-finger/album_appwidget.xml b/res/layout-finger/album_appwidget.xml
index dc89460..7c2c409 100644
--- a/res/layout-finger/album_appwidget.xml
+++ b/res/layout-finger/album_appwidget.xml
@@ -15,82 +15,89 @@
-->
<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_next"
- android:layout_width="wrap_content"
- 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"
- />
-
<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: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="35dip"
+ android:layout_height="fill_parent"
+ android:layout_alignParentRight="true"
+ android:src="@drawable/appwidget_next"
+ android:background="@android:color/transparent"
+ android:scaleType="center"
+ />
+
+ <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>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 0a20c8b..9a7806a 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -15,6 +15,7 @@
-->
<resources>
- <color name="appwidget_text">#ffffffff</color>
+ <color name="appwidget_text">#ff000000</color>
+ <color name="appwidget_shadow">#ffffffff</color>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 855b443..a6f51c6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -279,8 +279,5 @@
<!-- 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>
diff --git a/src/com/android/music/MediaAppWidgetProvider.java b/src/com/android/music/MediaAppWidgetProvider.java
index e7b1e3e..3bef910 100644
--- a/src/com/android/music/MediaAppWidgetProvider.java
+++ b/src/com/android/music/MediaAppWidgetProvider.java
@@ -71,6 +71,7 @@
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 @@
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);