diff options
author | Adam Powell <adamp@google.com> | 2013-10-07 12:58:42 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2013-10-07 16:14:17 -0700 |
commit | 31049d76c55b18a6d9993f0d9687598740b16014 (patch) | |
tree | 79bf629079bfc443f3c00597912e415d92636200 | |
parent | dbc31105bda3591d64e4d3e2abb3b3eaf857222e (diff) | |
download | frameworks_base-31049d76c55b18a6d9993f0d9687598740b16014.zip frameworks_base-31049d76c55b18a6d9993f0d9687598740b16014.tar.gz frameworks_base-31049d76c55b18a6d9993f0d9687598740b16014.tar.bz2 |
Use SCREEN Xfermode for keyguard badges; update SeekBar
Plumb through the necessary API features through Drawables and
ImageView but leave it hidden for now pending future API review and
plumbing through the rest of the framework Drawable implementations.
Update SeekBar assets used for keyguard transport control.
Set selected status directly instead of finding views by id.
Bug 10531608
Bug 10784913
Change-Id: Ia38bd04ad1bc26e9e6da1dda8a374c9ba3ceccb3
50 files changed, 106 insertions, 17 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index 3e53b91..9e35a23 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -27,6 +27,7 @@ import android.graphics.Matrix; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; +import android.graphics.Xfermode; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; @@ -73,6 +74,7 @@ public class ImageView extends View { // these are applied to the drawable private ColorFilter mColorFilter; + private Xfermode mXfermode; private int mAlpha = 255; private int mViewAlphaScale = 256; private boolean mColorMod = false; @@ -1125,6 +1127,18 @@ public class ImageView extends View { } /** + * @hide Candidate for future API inclusion + */ + public final void setXfermode(Xfermode mode) { + if (mXfermode != mode) { + mXfermode = mode; + mColorMod = true; + applyColorMod(); + invalidate(); + } + } + + /** * Returns the active color filter for this ImageView. * * @return the active color filter for this ImageView @@ -1200,6 +1214,7 @@ public class ImageView extends View { if (mDrawable != null && mColorMod) { mDrawable = mDrawable.mutate(); mDrawable.setColorFilter(mColorFilter); + mDrawable.setXfermode(mXfermode); mDrawable.setAlpha(mAlpha * mViewAlphaScale >> 8); } } diff --git a/graphics/java/android/graphics/drawable/BitmapDrawable.java b/graphics/java/android/graphics/drawable/BitmapDrawable.java index 5ceab36..98e3386 100644 --- a/graphics/java/android/graphics/drawable/BitmapDrawable.java +++ b/graphics/java/android/graphics/drawable/BitmapDrawable.java @@ -28,6 +28,7 @@ import android.graphics.Paint; import android.graphics.PixelFormat; import android.graphics.Rect; import android.graphics.Shader; +import android.graphics.Xfermode; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.LayoutDirection; @@ -531,6 +532,14 @@ public class BitmapDrawable extends Drawable { } /** + * @hide Candidate for future API inclusion + */ + public void setXfermode(Xfermode xfermode) { + mBitmapState.mPaint.setXfermode(xfermode); + invalidateSelf(); + } + + /** * A mutable BitmapDrawable still shares its Bitmap with any other Drawable * that comes from the same resource. * diff --git a/graphics/java/android/graphics/drawable/Drawable.java b/graphics/java/android/graphics/drawable/Drawable.java index 8135716..8a3d940 100644 --- a/graphics/java/android/graphics/drawable/Drawable.java +++ b/graphics/java/android/graphics/drawable/Drawable.java @@ -17,6 +17,7 @@ package android.graphics.drawable; import android.graphics.Insets; +import android.graphics.Xfermode; import android.os.Trace; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -428,6 +429,15 @@ public abstract class Drawable { public abstract void setColorFilter(ColorFilter cf); /** + * @hide Consider for future API inclusion + */ + public void setXfermode(Xfermode mode) { + // Base implementation drops it on the floor for compatibility. Whee! + // TODO: For this to be included in the API proper, all framework drawables need impls. + // For right now only BitmapDrawable has it. + } + + /** * Specify a color and porterduff mode to be the colorfilter for this * drawable. */ diff --git a/packages/Keyguard/res/drawable-hdpi/progress_bg_holo_light.9.png b/packages/Keyguard/res/drawable-hdpi/progress_bg_holo_light.9.png Binary files differnew file mode 100644 index 0000000..2d79280 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/progress_bg_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-hdpi/progress_primary_holo_light.9.png b/packages/Keyguard/res/drawable-hdpi/progress_primary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..543cb85 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/progress_primary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-hdpi/progress_secondary_holo_light.9.png b/packages/Keyguard/res/drawable-hdpi/progress_secondary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..4497058 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/progress_secondary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_control_disabled_holo.png b/packages/Keyguard/res/drawable-hdpi/scrubber_control_disabled_holo.png Binary files differnew file mode 100644 index 0000000..ba77899 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_control_disabled_holo.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_control_focused_holo.png b/packages/Keyguard/res/drawable-hdpi/scrubber_control_focused_holo.png Binary files differnew file mode 100644 index 0000000..539ee22 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_control_focused_holo.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_control_normal_holo.png b/packages/Keyguard/res/drawable-hdpi/scrubber_control_normal_holo.png Binary files differnew file mode 100644 index 0000000..9a4ea2f --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_control_normal_holo.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_control_pressed_holo.png b/packages/Keyguard/res/drawable-hdpi/scrubber_control_pressed_holo.png Binary files differnew file mode 100644 index 0000000..e6b11de --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_control_pressed_holo.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_primary_holo.9.png b/packages/Keyguard/res/drawable-hdpi/scrubber_primary_holo.9.png Binary files differnew file mode 100644 index 0000000..822e8d11 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_primary_holo.9.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_secondary_holo.9.png b/packages/Keyguard/res/drawable-hdpi/scrubber_secondary_holo.9.png Binary files differnew file mode 100644 index 0000000..be4253e --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_secondary_holo.9.png diff --git a/packages/Keyguard/res/drawable-hdpi/scrubber_track_holo_light.9.png b/packages/Keyguard/res/drawable-hdpi/scrubber_track_holo_light.9.png Binary files differnew file mode 100644 index 0000000..2334e14 --- /dev/null +++ b/packages/Keyguard/res/drawable-hdpi/scrubber_track_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/progress_bg_holo_light.9.png b/packages/Keyguard/res/drawable-mdpi/progress_bg_holo_light.9.png Binary files differnew file mode 100644 index 0000000..ff40433 --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/progress_bg_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/progress_primary_holo_light.9.png b/packages/Keyguard/res/drawable-mdpi/progress_primary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..d5f874d --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/progress_primary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/progress_secondary_holo_light.9.png b/packages/Keyguard/res/drawable-mdpi/progress_secondary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..f027007 --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/progress_secondary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_control_disabled_holo.png b/packages/Keyguard/res/drawable-mdpi/scrubber_control_disabled_holo.png Binary files differnew file mode 100644 index 0000000..981facd --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_control_disabled_holo.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_control_focused_holo.png b/packages/Keyguard/res/drawable-mdpi/scrubber_control_focused_holo.png Binary files differnew file mode 100644 index 0000000..d432f42 --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_control_focused_holo.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_control_normal_holo.png b/packages/Keyguard/res/drawable-mdpi/scrubber_control_normal_holo.png Binary files differnew file mode 100644 index 0000000..7bb749e --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_control_normal_holo.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_control_pressed_holo.png b/packages/Keyguard/res/drawable-mdpi/scrubber_control_pressed_holo.png Binary files differnew file mode 100644 index 0000000..43d826e --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_control_pressed_holo.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_primary_holo.9.png b/packages/Keyguard/res/drawable-mdpi/scrubber_primary_holo.9.png Binary files differnew file mode 100644 index 0000000..98ac428 --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_primary_holo.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_secondary_holo.9.png b/packages/Keyguard/res/drawable-mdpi/scrubber_secondary_holo.9.png Binary files differnew file mode 100644 index 0000000..d8b563b --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_secondary_holo.9.png diff --git a/packages/Keyguard/res/drawable-mdpi/scrubber_track_holo_light.9.png b/packages/Keyguard/res/drawable-mdpi/scrubber_track_holo_light.9.png Binary files differnew file mode 100644 index 0000000..47c5dd9 --- /dev/null +++ b/packages/Keyguard/res/drawable-mdpi/scrubber_track_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/progress_bg_holo_light.9.png b/packages/Keyguard/res/drawable-xhdpi/progress_bg_holo_light.9.png Binary files differnew file mode 100644 index 0000000..dff0939 --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/progress_bg_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/progress_primary_holo_light.9.png b/packages/Keyguard/res/drawable-xhdpi/progress_primary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..60b8198 --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/progress_primary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/progress_secondary_holo_light.9.png b/packages/Keyguard/res/drawable-xhdpi/progress_secondary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..11b31be --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/progress_secondary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_control_disabled_holo.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_disabled_holo.png Binary files differnew file mode 100644 index 0000000..ffe913d --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_disabled_holo.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_control_focused_holo.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_focused_holo.png Binary files differnew file mode 100644 index 0000000..2fccb8f --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_focused_holo.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_control_normal_holo.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_normal_holo.png Binary files differnew file mode 100644 index 0000000..a638501 --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_normal_holo.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_control_pressed_holo.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_pressed_holo.png Binary files differnew file mode 100644 index 0000000..f0e65ea --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_control_pressed_holo.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_primary_holo.9.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_primary_holo.9.png Binary files differnew file mode 100644 index 0000000..04f6ae3 --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_primary_holo.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_secondary_holo.9.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_secondary_holo.9.png Binary files differnew file mode 100644 index 0000000..7fef98d --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_secondary_holo.9.png diff --git a/packages/Keyguard/res/drawable-xhdpi/scrubber_track_holo_light.9.png b/packages/Keyguard/res/drawable-xhdpi/scrubber_track_holo_light.9.png Binary files differnew file mode 100644 index 0000000..a712169 --- /dev/null +++ b/packages/Keyguard/res/drawable-xhdpi/scrubber_track_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/kg_add_widget_pressed.png b/packages/Keyguard/res/drawable-xxhdpi/kg_add_widget_pressed.png Binary files differnew file mode 100644 index 0000000..0c0838b --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/kg_add_widget_pressed.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/progress_bg_holo_light.9.png b/packages/Keyguard/res/drawable-xxhdpi/progress_bg_holo_light.9.png Binary files differnew file mode 100644 index 0000000..60a8e22 --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/progress_bg_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/progress_primary_holo_light.9.png b/packages/Keyguard/res/drawable-xxhdpi/progress_primary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..18384d3 --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/progress_primary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/progress_secondary_holo_light.9.png b/packages/Keyguard/res/drawable-xxhdpi/progress_secondary_holo_light.9.png Binary files differnew file mode 100644 index 0000000..82eb615 --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/progress_secondary_holo_light.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_disabled_holo.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_disabled_holo.png Binary files differnew file mode 100644 index 0000000..d1ac7ae --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_disabled_holo.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_focused_holo.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_focused_holo.png Binary files differnew file mode 100644 index 0000000..58a2976 --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_focused_holo.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_normal_holo.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_normal_holo.png Binary files differnew file mode 100644 index 0000000..6f696fd --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_normal_holo.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_pressed_holo.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_pressed_holo.png Binary files differnew file mode 100644 index 0000000..faae4e3 --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_control_pressed_holo.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_primary_holo.9.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_primary_holo.9.png Binary files differnew file mode 100644 index 0000000..82c2b7e --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_primary_holo.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_secondary_holo.9.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_secondary_holo.9.png Binary files differnew file mode 100644 index 0000000..800d95e --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_secondary_holo.9.png diff --git a/packages/Keyguard/res/drawable-xxhdpi/scrubber_track_holo_light.9.png b/packages/Keyguard/res/drawable-xxhdpi/scrubber_track_holo_light.9.png Binary files differnew file mode 100644 index 0000000..9991f7f --- /dev/null +++ b/packages/Keyguard/res/drawable-xxhdpi/scrubber_track_holo_light.9.png diff --git a/packages/Keyguard/res/drawable/scrubber_control_selector_holo.xml b/packages/Keyguard/res/drawable/scrubber_control_selector_holo.xml new file mode 100644 index 0000000..d09b1a5 --- /dev/null +++ b/packages/Keyguard/res/drawable/scrubber_control_selector_holo.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2013 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. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false" android:drawable="@drawable/scrubber_control_disabled_holo" /> + <item android:state_pressed="true" android:drawable="@drawable/scrubber_control_pressed_holo" /> + <item android:state_selected="true" android:drawable="@drawable/scrubber_control_focused_holo" /> + <item android:drawable="@drawable/scrubber_control_normal_holo" /> +</selector> diff --git a/packages/Keyguard/res/drawable/scrubber_progress_horizontal_holo_light.xml b/packages/Keyguard/res/drawable/scrubber_progress_horizontal_holo_light.xml new file mode 100644 index 0000000..f07c742 --- /dev/null +++ b/packages/Keyguard/res/drawable/scrubber_progress_horizontal_holo_light.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2013 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. +--> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:id="@android:id/background" + android:drawable="@drawable/scrubber_track_holo_light" /> + <item android:id="@android:id/secondaryProgress"> + <scale android:scaleWidth="100%" + android:drawable="@drawable/scrubber_secondary_holo" /> + </item> + <item android:id="@android:id/progress"> + <scale android:scaleWidth="100%" + android:drawable="@drawable/scrubber_primary_holo" /> + </item> +</layer-list> diff --git a/packages/Keyguard/res/layout/keyguard_transport_control_view.xml b/packages/Keyguard/res/layout/keyguard_transport_control_view.xml index 81c7425..a0b59a7 100644 --- a/packages/Keyguard/res/layout/keyguard_transport_control_view.xml +++ b/packages/Keyguard/res/layout/keyguard_transport_control_view.xml @@ -75,7 +75,8 @@ <SeekBar android:id="@+id/transient_seek_bar" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + style="@style/Widget.TransportControl.SeekBar" /> <TextView android:id="@+id/transient_seek_time_elapsed" android:layout_width="wrap_content" diff --git a/packages/Keyguard/res/values/styles.xml b/packages/Keyguard/res/values/styles.xml index 44f560f..9fd8f31 100644 --- a/packages/Keyguard/res/values/styles.xml +++ b/packages/Keyguard/res/values/styles.xml @@ -68,4 +68,18 @@ <item name="android:textSize">@dimen/widget_big_font_size</item> </style> + <style name="Widget.TransportControl.SeekBar" parent="@android:style/Widget.Holo.SeekBar"> + <item name="android:indeterminateOnly">false</item> + <item name="android:progressDrawable">@drawable/scrubber_progress_horizontal_holo_light</item> + <item name="android:indeterminateDrawable">@drawable/scrubber_progress_horizontal_holo_light</item> + <item name="android:minHeight">13dip</item> + <item name="android:maxHeight">13dip</item> + <item name="android:thumb">@drawable/scrubber_control_selector_holo</item> + <item name="android:thumbOffset">16dip</item> + <item name="android:focusable">true</item> + <item name="android:paddingStart">16dip</item> + <item name="android:paddingEnd">16dip</item> + <item name="android:mirrorForRtl">true</item> + </style> + </resources> diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java index 2acc87d..3e42c14 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardStatusView.java @@ -43,8 +43,6 @@ public class KeyguardStatusView extends GridLayout { private TextView mAlarmStatusView; - private final int MARQUEE_VIEWS[] = { R.id.alarm_status }; - private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() { @Override @@ -83,12 +81,7 @@ public class KeyguardStatusView extends GridLayout { private void setEnableMarquee(boolean enabled) { if (DEBUG) Log.v(TAG, (enabled ? "Enable" : "Disable") + " transport text marquee"); - for (int i = 0; i < MARQUEE_VIEWS.length; i++) { - View v = findViewById(MARQUEE_VIEWS[i]); - if (v != null) { - v.setSelected(enabled); - } - } + if (mAlarmStatusView != null) mAlarmStatusView.setSelected(enabled); } @Override diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java index 945a0a7..ca4892d 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java @@ -22,6 +22,8 @@ import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.media.MediaMetadataEditor; @@ -84,8 +86,6 @@ public class KeyguardTransportControlView extends FrameLayout { private AudioManager mAudioManager; private RemoteController mRemoteController; - private int MARQUEE_VIEWS[] = { R.id.title, R.id.artist_album }; - private ImageView mBadge; private boolean mSeekEnabled; @@ -264,12 +264,8 @@ public class KeyguardTransportControlView extends FrameLayout { private void setEnableMarquee(boolean enabled) { if (DEBUG) Log.v(TAG, (enabled ? "Enable" : "Disable") + " transport text marquee"); - for (int i = 0; i < MARQUEE_VIEWS.length; i++) { - View v = findViewById(MARQUEE_VIEWS[i]); - if (v != null) { - v.setSelected(enabled); - } - } + if (mTrackTitle != null) mTrackTitle.setSelected(enabled); + if (mTrackArtistAlbum != null) mTrackTitle.setSelected(enabled); } @Override @@ -334,6 +330,7 @@ public class KeyguardTransportControlView extends FrameLayout { final ColorMatrix cm = new ColorMatrix(); cm.setSaturation(0); mBadge.setColorFilter(new ColorMatrixColorFilter(cm)); + mBadge.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SCREEN)); mBadge.setImageAlpha(0xef); } |