From 7e2a10d904ce52bde6e887b9c257709729f39613 Mon Sep 17 00:00:00 2001 From: Daniel Sandler Date: Thu, 5 Nov 2009 15:06:55 -0500 Subject: 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 . --- AndroidManifest.xml | 2 +- res/layout/live_wallpaper_content.xml | 41 +++++++--- res/values/styles.xml | 20 ++--- .../wallpaper/livepicker/BubbleTextView.java | 95 ---------------------- .../livepicker/LiveWallpaperPickActivity.java | 19 ++++- 5 files changed, 55 insertions(+), 122 deletions(-) delete mode 100644 src/com/android/wallpaper/livepicker/BubbleTextView.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 4dea1fc..9fd1077 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -33,7 +33,7 @@ + android:theme="@android:style/Theme.Wallpaper.NoTitleBar"> 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" > + + + + + + - - - 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 mWallpaperIntents; private ArrayList 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()) { -- cgit v1.2.3