summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@google.com>2009-11-05 15:06:55 -0500
committerDaniel Sandler <dsandler@google.com>2009-11-05 15:06:55 -0500
commit7e2a10d904ce52bde6e887b9c257709729f39613 (patch)
tree1e8551b61413f97332d417580be6fe12456b785d
parentdf807b99f41a1fe3237c13e52fd36482df4eb92b (diff)
downloadandroid_packages_wallpapers_LivePicker-7e2a10d904ce52bde6e887b9c257709729f39613.tar.gz
android_packages_wallpapers_LivePicker-7e2a10d904ce52bde6e887b9c257709729f39613.tar.bz2
android_packages_wallpapers_LivePicker-7e2a10d904ce52bde6e887b9c257709729f39613.zip
Revised live wallpaper picker metadata display.
Replace the small BubbleView at the bottom with a block of music-video-style text, showing: Title Author Description Other minor changes to match final UI specification. Part of the fix for http://b/2235307 .
-rw-r--r--AndroidManifest.xml2
-rw-r--r--res/layout/live_wallpaper_content.xml41
-rw-r--r--res/values/styles.xml20
-rw-r--r--src/com/android/wallpaper/livepicker/BubbleTextView.java95
-rw-r--r--src/com/android/wallpaper/livepicker/LiveWallpaperPickActivity.java19
5 files changed, 55 insertions, 122 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4dea1fc..9fd1077 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -33,7 +33,7 @@
<activity android:name="LiveWallpaperPickActivity"
android:icon="@drawable/ic_launcher_appwidget"
android:label="@string/live_wallpaper_picker_title"
- android:theme="@android:style/Theme.Wallpaper">
+ android:theme="@android:style/Theme.Wallpaper.NoTitleBar">
<intent-filter>
<action android:name="android.service.wallpaper.LIVE_WALLPAPER_CHOOSER" />
<action android:name="android.intent.action.SET_WALLPAPER" />
diff --git a/res/layout/live_wallpaper_content.xml b/res/layout/live_wallpaper_content.xml
index d9b3add..3809a35 100644
--- a/res/layout/live_wallpaper_content.xml
+++ b/res/layout/live_wallpaper_content.xml
@@ -20,6 +20,36 @@
android:layout_height="fill_parent"
>
+ <RelativeLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dip"
+ android:layout_marginLeft="6dip"
+ >
+ <TextView android:id="@+id/title"
+ style="@style/WallpaperTitle"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ />
+ <TextView android:id="@+id/author"
+ style="@style/WallpaperTitle"
+ android:layout_below="@id/title"
+ android:textSize="14dip"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dip"
+ />
+ <TextView android:id="@+id/synopsis"
+ style="@style/WallpaperTitle"
+ android:layout_below="@id/author"
+ android:textSize="14dip"
+ android:ems="15"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dip"
+ />
+ </RelativeLayout>
+
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="0px"
@@ -43,17 +73,6 @@
/>
</FrameLayout>
- <com.android.wallpaper.livepicker.BubbleTextView
- style="@style/WorkspaceIcon"
- android:id="@+id/title"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:visibility="gone"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_marginBottom="4dip"
- />
-
<Gallery android:id="@+id/gallery"
android:gravity="fill"
android:layout_width="fill_parent"
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 6e67ae0..82b1707 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -18,19 +18,13 @@
-->
<resources>
- <style name="WorkspaceIcon">
- <item name="android:textSize">13dip</item>
- <item name="android:singleLine">true</item>
- <item name="android:ellipsize">marquee</item>
+ <style name="WallpaperTitle">
+ <item name="android:textSize">20dip</item>
<item name="android:shadowColor">#FF000000</item>
- <item name="android:shadowRadius">2.0</item>
- <item name="android:textColor">#FFF</item>
- <item name="android:gravity">center_horizontal</item>
- <item name="android:layout_width">fill_parent</item>
- <item name="android:layout_height">fill_parent</item>
- <item name="android:paddingTop">4dip</item>
- <item name="android:paddingBottom">4dip</item>
- <item name="android:paddingLeft">8dip</item>
- <item name="android:paddingRight">8dip</item>
+ <item name="android:shadowRadius">2.5</item>
+ <item name="android:shadowDx">0</item>
+ <item name="android:shadowDy">0</item>
+ <item name="android:textColor">#FFFFFFFF</item>
+ <item name="android:gravity">left</item>
</style>
</resources>
diff --git a/src/com/android/wallpaper/livepicker/BubbleTextView.java b/src/com/android/wallpaper/livepicker/BubbleTextView.java
deleted file mode 100644
index 5b1bf80..0000000
--- a/src/com/android/wallpaper/livepicker/BubbleTextView.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2008 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.
- */
-
-package com.android.wallpaper.livepicker;
-
-import android.widget.TextView;
-import android.content.Context;
-import android.util.AttributeSet;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.RectF;
-import android.graphics.drawable.Drawable;
-import android.text.Layout;
-
-/**
- * TextView that draws a bubble behind the text. "Borrowed" from Launcher.
- */
-public class BubbleTextView extends TextView {
- static final float CORNER_RADIUS = 8.0f;
- static final float PADDING_H = 5.0f;
- static final float PADDING_V = 1.0f;
-
- private final RectF mRect = new RectF();
- private Paint mPaint;
-
- private boolean mBackgroundSizeChanged;
- private float mCornerRadius;
- private float mPaddingH;
- private float mPaddingV;
-
- public BubbleTextView(Context context) {
- super(context);
- init();
- }
-
- public BubbleTextView(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
-
- public BubbleTextView(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs, defStyle);
- init();
- }
-
- private void init() {
- setBackgroundDrawable(null);
-
- mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- mPaint.setColor(getContext().getResources().getColor(R.color.bubble_dark_background));
-
- final float scale = getContext().getResources().getDisplayMetrics().density;
- mCornerRadius = CORNER_RADIUS * scale;
- mPaddingH = PADDING_H * scale;
- //noinspection PointlessArithmeticExpression
- mPaddingV = PADDING_V * scale;
- }
-
- @Override
- protected boolean setFrame(int left, int top, int right, int bottom) {
- if (mLeft != left || mRight != right || mTop != top || mBottom != bottom) {
- mBackgroundSizeChanged = true;
- }
- return super.setFrame(left, top, right, bottom);
- }
-
- @Override
- public void draw(Canvas canvas) {
- final Layout layout = getLayout();
- final RectF rect = mRect;
- final int left = getCompoundPaddingLeft();
- final int top = getExtendedPaddingTop();
-
- rect.set(left + layout.getLineLeft(0) - mPaddingH,
- top + layout.getLineTop(0) - mPaddingV,
- Math.min(left + layout.getLineRight(0) + mPaddingH, mScrollX + mRight - mLeft),
- top + layout.getLineBottom(0) + mPaddingV);
- canvas.drawRoundRect(rect, mCornerRadius, mCornerRadius, mPaint);
-
- super.draw(canvas);
- }
-}
diff --git a/src/com/android/wallpaper/livepicker/LiveWallpaperPickActivity.java b/src/com/android/wallpaper/livepicker/LiveWallpaperPickActivity.java
index 6bb1777..b93b01c 100644
--- a/src/com/android/wallpaper/livepicker/LiveWallpaperPickActivity.java
+++ b/src/com/android/wallpaper/livepicker/LiveWallpaperPickActivity.java
@@ -28,6 +28,7 @@ import android.content.ServiceConnection;
import android.content.pm.ComponentInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.content.res.Resources.NotFoundException;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.Bitmap;
@@ -42,6 +43,7 @@ import android.service.wallpaper.IWallpaperEngine;
import android.service.wallpaper.IWallpaperService;
import android.service.wallpaper.WallpaperService;
import android.service.wallpaper.WallpaperSettingsActivity;
+import android.text.Html;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
@@ -78,6 +80,8 @@ public class LiveWallpaperPickActivity extends Activity implements
private Button mConfigureButton;
private TextView mWallpaperTitle;
+ private TextView mWallpaperAuthor;
+ private TextView mWallpaperSynopsis;
private ArrayList<Intent> mWallpaperIntents;
private ArrayList<WallpaperInfo> mWallpaperInfos;
@@ -299,7 +303,8 @@ public class LiveWallpaperPickActivity extends Activity implements
mConfigureButton.setOnClickListener(this);
mWallpaperTitle = (TextView)findViewById(R.id.title);
- mWallpaperTitle.setVisibility(View.GONE);
+ mWallpaperAuthor = (TextView)findViewById(R.id.author);
+ mWallpaperSynopsis = (TextView)findViewById(R.id.synopsis);
// Set default return data
setResult(RESULT_CANCELED);
@@ -352,8 +357,18 @@ public class LiveWallpaperPickActivity extends Activity implements
: View.GONE);
findViewById(R.id.set).setEnabled(true);
- findViewById(R.id.title).setVisibility(View.VISIBLE);
mWallpaperTitle.setText(mSelectedInfo.loadLabel(mPackageManager).toString());
+ try {
+ mWallpaperAuthor.setText(mSelectedInfo.loadAuthor(mPackageManager).toString());
+ } catch (NotFoundException e) {
+ mWallpaperAuthor.setText("");
+ }
+ try {
+ String htmlText = mSelectedInfo.loadDescription(mPackageManager).toString();
+ mWallpaperSynopsis.setText(Html.fromHtml(htmlText));
+ } catch (NotFoundException e) {
+ mWallpaperSynopsis.setText("");
+ }
WallpaperConnection conn = new WallpaperConnection(mSelectedIntent);
if (conn.connect()) {