diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/tv/ITvInputClient.aidl | 3 | ||||
-rw-r--r-- | core/java/android/tv/ITvInputSessionCallback.aidl | 3 | ||||
-rw-r--r-- | core/java/android/tv/TvInputManager.java | 66 | ||||
-rw-r--r-- | core/java/android/tv/TvInputService.java | 65 | ||||
-rw-r--r-- | core/java/android/tv/TvView.java | 19 | ||||
-rw-r--r-- | core/java/android/widget/AbsListView.java | 35 | ||||
-rw-r--r-- | core/res/res/color/btn_default_quantum_dark.xml | 4 | ||||
-rw-r--r-- | core/res/res/color/btn_default_quantum_light.xml | 4 | ||||
-rw-r--r-- | core/res/res/drawable/item_background_borderless_quantum.xml (renamed from core/res/res/drawable/list_selector_quantum.xml) | 7 | ||||
-rw-r--r-- | core/res/res/drawable/item_background_quantum.xml | 7 | ||||
-rw-r--r-- | core/res/res/values/attrs.xml | 11 | ||||
-rw-r--r-- | core/res/res/values/colors_quantum.xml | 10 | ||||
-rw-r--r-- | core/res/res/values/public.xml | 1 | ||||
-rw-r--r-- | core/res/res/values/styles_quantum.xml | 40 | ||||
-rw-r--r-- | core/res/res/values/themes.xml | 3 | ||||
-rw-r--r-- | core/res/res/values/themes_quantum.xml | 22 |
16 files changed, 228 insertions, 72 deletions
diff --git a/core/java/android/tv/ITvInputClient.aidl b/core/java/android/tv/ITvInputClient.aidl index ac83356..ef89c68 100644 --- a/core/java/android/tv/ITvInputClient.aidl +++ b/core/java/android/tv/ITvInputClient.aidl @@ -17,6 +17,7 @@ package android.tv; import android.content.ComponentName; +import android.os.Bundle; import android.tv.ITvInputSession; import android.view.InputChannel; @@ -29,4 +30,6 @@ oneway interface ITvInputClient { void onSessionCreated(in String inputId, IBinder token, in InputChannel channel, int seq); void onAvailabilityChanged(in String inputId, boolean isAvailable); void onSessionReleased(int seq); + void onSessionEvent(in String name, in Bundle args, int seq); + void onVideoSizeChanged(int width, int height, int seq); } diff --git a/core/java/android/tv/ITvInputSessionCallback.aidl b/core/java/android/tv/ITvInputSessionCallback.aidl index a2bd0d7..e27b8bf 100644 --- a/core/java/android/tv/ITvInputSessionCallback.aidl +++ b/core/java/android/tv/ITvInputSessionCallback.aidl @@ -16,6 +16,7 @@ package android.tv; +import android.os.Bundle; import android.tv.ITvInputSession; /** @@ -25,4 +26,6 @@ import android.tv.ITvInputSession; */ oneway interface ITvInputSessionCallback { void onSessionCreated(ITvInputSession session); + void onSessionEvent(in String name, in Bundle args); + void onVideoSizeChanged(int width, int height); } diff --git a/core/java/android/tv/TvInputManager.java b/core/java/android/tv/TvInputManager.java index dfa84f8..d0c2ca6 100644 --- a/core/java/android/tv/TvInputManager.java +++ b/core/java/android/tv/TvInputManager.java @@ -18,6 +18,7 @@ package android.tv; import android.graphics.Rect; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Looper; @@ -85,6 +86,29 @@ public final class TvInputManager { */ public void onSessionReleased(Session session) { } + + /** + * This is called at the beginning of the playback of a channel and later when the size of + * the video has been changed. + * + * @param session A {@link TvInputManager.Session} associated with this callback + * @param width the width of the video + * @param height the height of the video + * @hide + */ + public void onVideoSizeChanged(Session session, int width, int height) { + } + + /** + * This is called when a custom event has been sent from this session. + * + * @param session A {@link TvInputManager.Session} associated with this callback + * @param eventType The type of the event. + * @param eventArgs Optional arguments of the event. + * @hide + */ + public void onSessionEvent(Session session, String eventType, Bundle eventArgs) { + } } private static final class SessionCallbackRecord { @@ -116,6 +140,24 @@ public final class TvInputManager { } }); } + + public void postVideoSizeChanged(final int width, final int height) { + mHandler.post(new Runnable() { + @Override + public void run() { + mSessionCallback.onVideoSizeChanged(mSession, width, height); + } + }); + } + + public void postSessionEvent(final String eventType, final Bundle eventArgs) { + mHandler.post(new Runnable() { + @Override + public void run() { + mSessionCallback.onSessionEvent(mSession, eventType, eventArgs); + } + }); + } } /** @@ -196,6 +238,30 @@ public final class TvInputManager { } @Override + public void onVideoSizeChanged(int width, int height, int seq) { + synchronized (mSessionCallbackRecordMap) { + SessionCallbackRecord record = mSessionCallbackRecordMap.get(seq); + if (record == null) { + Log.e(TAG, "Callback not found for seq " + seq); + return; + } + record.postVideoSizeChanged(width, height); + } + } + + @Override + public void onSessionEvent(String eventType, Bundle eventArgs, int seq) { + synchronized (mSessionCallbackRecordMap) { + SessionCallbackRecord record = mSessionCallbackRecordMap.get(seq); + if (record == null) { + Log.e(TAG, "Callback not found for seq " + seq); + return; + } + record.postSessionEvent(eventType, eventArgs); + } + } + + @Override public void onAvailabilityChanged(String inputId, boolean isAvailable) { synchronized (mTvInputListenerRecordsMap) { List<TvInputListenerRecord> records = mTvInputListenerRecordsMap.get(inputId); diff --git a/core/java/android/tv/TvInputService.java b/core/java/android/tv/TvInputService.java index cb0142f..03d24db 100644 --- a/core/java/android/tv/TvInputService.java +++ b/core/java/android/tv/TvInputService.java @@ -23,6 +23,7 @@ import android.content.Intent; import android.graphics.PixelFormat; import android.graphics.Rect; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; @@ -156,6 +157,7 @@ public abstract class TvInputService extends Service { private boolean mOverlayViewEnabled; private IBinder mWindowToken; private Rect mOverlayFrame; + private ITvInputSessionCallback mSessionCallback; public TvInputSessionImpl() { mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); @@ -188,6 +190,52 @@ public abstract class TvInputService extends Service { } /** + * Dispatches an event to the application using this session. + * + * @param eventType The type of the event. + * @param eventArgs Optional arguments of the event. + * @hide + */ + public void dispatchSessionEvent(final String eventType, final Bundle eventArgs) { + if (eventType == null) { + throw new IllegalArgumentException("eventType should not be null."); + } + mHandler.post(new Runnable() { + @Override + public void run() { + try { + if (DEBUG) Log.d(TAG, "dispatchSessionEvent(" + eventType + ")"); + mSessionCallback.onSessionEvent(eventType, eventArgs); + } catch (RemoteException e) { + Log.w(TAG, "error in sending event (event=" + eventType + ")"); + } + } + }); + } + + /** + * Sends the change on the size of the video. This is expected to be called at the + * beginning of the playback and later when the size has been changed. + * + * @param width The width of the video. + * @param height The height of the video. + * @hide + */ + public void dispatchVideoSizeChanged(final int width, final int height) { + mHandler.post(new Runnable() { + @Override + public void run() { + try { + if (DEBUG) Log.d(TAG, "dispatchVideoSizeChanged"); + mSessionCallback.onVideoSizeChanged(width, height); + } catch (RemoteException e) { + Log.w(TAG, "error in dispatchVideoSizeChanged"); + } + } + }); + } + + /** * Called when the session is released. */ public abstract void onRelease(); @@ -394,9 +442,7 @@ public abstract class TvInputService extends Service { mWindowManager.removeView(mOverlayView); mOverlayView = null; } - if (DEBUG) { - Log.d(TAG, "create overlay view(" + frame + ")"); - } + if (DEBUG) Log.d(TAG, "create overlay view(" + frame + ")"); mWindowToken = windowToken; mOverlayFrame = frame; if (!mOverlayViewEnabled) { @@ -431,9 +477,7 @@ public abstract class TvInputService extends Service { * @param frame A new position of the overlay view. */ void relayoutOverlayView(Rect frame) { - if (DEBUG) { - Log.d(TAG, "relayout overlay view(" + frame + ")"); - } + if (DEBUG) Log.d(TAG, "relayoutOverlayView(" + frame + ")"); mOverlayFrame = frame; if (!mOverlayViewEnabled || mOverlayView == null) { return; @@ -449,9 +493,7 @@ public abstract class TvInputService extends Service { * Removes the current overlay view. */ void removeOverlayView(boolean clearWindowToken) { - if (DEBUG) { - Log.d(TAG, "remove overlay view(" + mOverlayView + ")"); - } + if (DEBUG) Log.d(TAG, "removeOverlayView(" + mOverlayView + ")"); if (clearWindowToken) { mWindowToken = null; mOverlayFrame = null; @@ -498,6 +540,10 @@ public abstract class TvInputService extends Service { mOverlayView.getViewRootImpl().dispatchInputEvent(event, receiver); return Session.DISPATCH_IN_PROGRESS; } + + private void setSessionCallback(ITvInputSessionCallback callback) { + mSessionCallback = callback; + } } private final class ServiceHandler extends Handler { @@ -517,6 +563,7 @@ public abstract class TvInputService extends Service { // Failed to create a session. cb.onSessionCreated(null); } else { + sessionImpl.setSessionCallback(cb); ITvInputSession stub = new ITvInputSessionWrapper(TvInputService.this, sessionImpl, channel); cb.onSessionCreated(stub); diff --git a/core/java/android/tv/TvView.java b/core/java/android/tv/TvView.java index 59b6386..2d31701 100644 --- a/core/java/android/tv/TvView.java +++ b/core/java/android/tv/TvView.java @@ -18,6 +18,7 @@ package android.tv; import android.content.Context; import android.graphics.Rect; +import android.os.Bundle; import android.os.Handler; import android.text.TextUtils; import android.tv.TvInputManager.Session; @@ -379,5 +380,23 @@ public class TvView extends SurfaceView { mExternalCallback.onSessionReleased(session); } } + + @Override + public void onVideoSizeChanged(Session session, int width, int height) { + if (DEBUG) { + Log.d(TAG, "onVideoSizeChanged(" + width + ", " + height + ")"); + } + if (mExternalCallback != null) { + mExternalCallback.onVideoSizeChanged(session, width, height); + } + } + + @Override + public void onSessionEvent(TvInputManager.Session session, String eventType, + Bundle eventArgs) { + if (mExternalCallback != null) { + mExternalCallback.onSessionEvent(session, eventType, eventArgs); + } + } } } diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java index c9eb130..9a46052 100644 --- a/core/java/android/widget/AbsListView.java +++ b/core/java/android/widget/AbsListView.java @@ -2495,17 +2495,25 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } /** - * Positions the selector in a way that mimics keyboard focus. If the - * selector drawable supports hotspots, this manages the focus hotspot. + * Positions the selector in a way that mimics keyboard focus. */ void positionSelectorLikeFocus(int position, View sel) { + // If we're changing position, update the visibility since the selector + // is technically being detached from the previous selection. + final Drawable selector = mSelector; + final boolean manageState = selector != null && mSelectorPosition != position + && position != INVALID_POSITION; + if (manageState) { + selector.setVisible(false, false); + } + positionSelector(position, sel); - final Drawable selector = mSelector; - if (selector != null && position != INVALID_POSITION) { + if (manageState) { final Rect bounds = mSelectorRect; final float x = bounds.exactCenterX(); final float y = bounds.exactCenterY(); + selector.setVisible(getVisibility() == VISIBLE, false); selector.setHotspot(x, y); } } @@ -2520,8 +2528,18 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te if (sel instanceof SelectionBoundsAdjuster) { ((SelectionBoundsAdjuster)sel).adjustListItemSelectionBounds(selectorRect); } - positionSelector(selectorRect.left, selectorRect.top, selectorRect.right, - selectorRect.bottom); + + // Adjust for selection padding. + selectorRect.left -= mSelectionLeftPadding; + selectorRect.top -= mSelectionTopPadding; + selectorRect.right += mSelectionRightPadding; + selectorRect.bottom += mSelectionBottomPadding; + + // Update the selector drawable. + final Drawable selector = mSelector; + if (selector != null) { + selector.setBounds(selectorRect); + } final boolean isChildViewEnabled = mIsChildViewEnabled; if (sel.isEnabled() != isChildViewEnabled) { @@ -2532,11 +2550,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te } } - private void positionSelector(int l, int t, int r, int b) { - mSelectorRect.set(l - mSelectionLeftPadding, t - mSelectionTopPadding, r - + mSelectionRightPadding, b + mSelectionBottomPadding); - } - @Override protected void dispatchDraw(Canvas canvas) { int saveCount = 0; diff --git a/core/res/res/color/btn_default_quantum_dark.xml b/core/res/res/color/btn_default_quantum_dark.xml index f2e772d..ec0f140 100644 --- a/core/res/res/color/btn_default_quantum_dark.xml +++ b/core/res/res/color/btn_default_quantum_dark.xml @@ -15,6 +15,6 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:alpha="0.5" android:color="@color/quantum_grey_700"/> - <item android:color="@color/quantum_grey_700"/> + <item android:state_enabled="false" android:alpha="0.5" android:color="@color/button_quantum_dark"/> + <item android:color="@color/button_quantum_dark"/> </selector> diff --git a/core/res/res/color/btn_default_quantum_light.xml b/core/res/res/color/btn_default_quantum_light.xml index de1bd2c..9536d24 100644 --- a/core/res/res/color/btn_default_quantum_light.xml +++ b/core/res/res/color/btn_default_quantum_light.xml @@ -15,6 +15,6 @@ --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:alpha="0.5" android:color="@color/quantum_grey_300"/> - <item android:color="@color/quantum_grey_300"/> + <item android:state_enabled="false" android:alpha="0.5" android:color="@color/button_quantum_light"/> + <item android:color="@color/button_quantum_light"/> </selector> diff --git a/core/res/res/drawable/list_selector_quantum.xml b/core/res/res/drawable/item_background_borderless_quantum.xml index 6cd59e5..c2a1c127 100644 --- a/core/res/res/drawable/list_selector_quantum.xml +++ b/core/res/res/drawable/item_background_borderless_quantum.xml @@ -15,8 +15,5 @@ --> <ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:tint="?attr/colorControlHighlight"> - <item android:id="@id/mask"> - <color android:color="@color/white" /> - </item> -</ripple> + android:tint="?attr/colorControlHighlight" + android:pinned="true" /> diff --git a/core/res/res/drawable/item_background_quantum.xml b/core/res/res/drawable/item_background_quantum.xml index c2a1c127..039ca51 100644 --- a/core/res/res/drawable/item_background_quantum.xml +++ b/core/res/res/drawable/item_background_quantum.xml @@ -15,5 +15,8 @@ --> <ripple xmlns:android="http://schemas.android.com/apk/res/android" - android:tint="?attr/colorControlHighlight" - android:pinned="true" /> + android:tint="?attr/colorControlHighlight"> + <item android:id="@id/mask"> + <color android:color="@color/white" /> + </item> +</ripple>
\ No newline at end of file diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 5fec907..c0286f1 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -890,9 +890,12 @@ with the appearance of a singel button broken into segments. --> <attr name="segmentedButtonStyle" format="reference" /> - <!-- Background drawable for standalone items that need focus/pressed states. --> + <!-- Background drawable for bordered standalone items that need focus/pressed states. --> <attr name="selectableItemBackground" format="reference" /> + <!-- Background drawable for borderless standalone items that need focus/pressed states. --> + <attr name="selectableItemBackgroundBorderless" format="reference" /> + <!-- Style for buttons without an explicit border, often used in groups. --> <attr name="borderlessButtonStyle" format="reference" /> @@ -4658,11 +4661,11 @@ <!-- Drawable used to show animated touch feedback. --> <declare-styleable name="RippleDrawable"> - <!-- The tint to use for feedback ripples. This attribute is required. --> + <!-- The tint to use for ripple effects. This attribute is required. --> <attr name="tint" /> - <!-- Specifies the Porter-Duff blending mode used to apply the tint. The default vlaue is src_atop, which draws over the opaque parts of the drawable. --> + <!-- Specifies the Porter-Duff blending mode used to apply the tint. The default value is src_atop, which draws over the opaque parts of the drawable. --> <attr name="tintMode" /> - <!-- Whether to pin feedback ripples to the center of the drawable. Default value is false. --> + <!-- Whether to pin ripple effects to the center of the drawable. Default value is false. --> <attr name="pinned" format="boolean" /> </declare-styleable> diff --git a/core/res/res/values/colors_quantum.xml b/core/res/res/values/colors_quantum.xml index 556463e..976930c 100644 --- a/core/res/res/values/colors_quantum.xml +++ b/core/res/res/values/colors_quantum.xml @@ -16,8 +16,14 @@ <!-- Colors specific to Quantum themes. --> <resources> - <color name="background_quantum_dark">#ff303030</color> - <color name="background_quantum_light">@color/white</color> + <color name="background_quantum_dark">#ff414042</color> + <color name="background_quantum_light">#fff1f2f2</color> + + <color name="ripple_quantum_dark">#30ffffff</color> + <color name="ripple_quantum_light">#30000000</color> + + <color name="button_quantum_dark">#ff5a595b</color> + <color name="button_quantum_light">#ffd6d7d7</color> <color name="bright_foreground_quantum_dark">@color/white</color> <color name="bright_foreground_quantum_light">@color/black</color> diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 2d5477c..e9a2f9f 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2178,6 +2178,7 @@ <public type="attr" name="contentInsetLeft" /> <public type="attr" name="contentInsetRight" /> <public type="attr" name="paddingMode" /> + <public type="attr" name="selectableItemBackgroundBorderless" /> <public-padding type="dimen" name="l_resource_pad" end="0x01050010" /> diff --git a/core/res/res/values/styles_quantum.xml b/core/res/res/values/styles_quantum.xml index 6943533..b55edf8 100644 --- a/core/res/res/values/styles_quantum.xml +++ b/core/res/res/values/styles_quantum.xml @@ -405,7 +405,9 @@ please see styles_device_defaults.xml. <item name="textColor">?attr/textColorPrimary</item> <item name="minHeight">48dip</item> <item name="minWidth">96dip</item> - <item name="stateListAnimator">@anim/button_state_list_anim_quantum</item> + + <!-- TODO: Turn this back on when we support inset drawable outlines. --> + <!-- <item name="stateListAnimator">@anim/button_state_list_anim_quantum</item> --> </style> <!-- Small bordered ink button --> @@ -434,7 +436,6 @@ please see styles_device_defaults.xml. <item name="background">@drawable/btn_toggle_quantum</item> <item name="textOn">@string/capital_on</item> <item name="textOff">@string/capital_off</item> - <item name="textAppearance">?attr/textAppearanceSmall</item> <item name="minHeight">48dip</item> </style> @@ -468,34 +469,29 @@ please see styles_device_defaults.xml. <item name="paddingEnd">8dp</item> </style> - <style name="Widget.Quantum.CheckedTextView" parent="Widget.CheckedTextView"> - <item name="drawablePadding">4dip</item> - </style> - + <style name="Widget.Quantum.CheckedTextView" parent="Widget.CheckedTextView" /> <style name="Widget.Quantum.TextSelectHandle" parent="Widget.TextSelectHandle"/> <style name="Widget.Quantum.TextSuggestionsPopupWindow" parent="Widget.TextSuggestionsPopupWindow"/> <style name="Widget.Quantum.AbsListView" parent="Widget.AbsListView"/> <style name="Widget.Quantum.AutoCompleteTextView" parent="Widget.AutoCompleteTextView"> - <item name="dropDownSelector">@drawable/list_selector_quantum</item> + <item name="dropDownSelector">?attr/listChoiceBackgroundIndicator</item> <item name="popupBackground">@drawable/popup_background_quantum</item> </style> <style name="Widget.Quantum.CompoundButton" parent="Widget.CompoundButton"/> <style name="Widget.Quantum.CompoundButton.CheckBox" parent="Widget.CompoundButton.CheckBox"> - <item name="background">?attr/selectableItemBackground</item> - <item name="drawablePadding">4dip</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> </style> <style name="Widget.Quantum.CompoundButton.RadioButton" parent="Widget.CompoundButton.RadioButton"> - <item name="background">?attr/selectableItemBackground</item> - <item name="drawablePadding">4dip</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> </style> <style name="Widget.Quantum.CompoundButton.Star" parent="Widget.CompoundButton.Star"> <item name="button">@drawable/btn_star_quantum</item> - <item name="background">?attr/selectableItemBackground</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> </style> <style name="Widget.Quantum.CompoundButton.Switch"> @@ -507,7 +503,7 @@ please see styles_device_defaults.xml. <item name="textOff"></item> <item name="switchMinWidth">4dip</item> <item name="switchPadding">4dip</item> - <item name="background">?attr/selectableItemBackground</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> </style> <style name="Widget.Quantum.EditText" parent="Widget.EditText"/> @@ -586,7 +582,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.PopupWindow" parent="Widget.PopupWindow"/> <style name="Widget.Quantum.PopupWindow.ActionMode"> - <item name="popupBackground">@color/black</item> + <item name="popupBackground">@drawable/popup_background_quantum</item> <item name="popupAnimationStyle">@style/Animation.PopupWindow.ActionMode</item> </style> @@ -626,7 +622,7 @@ please see styles_device_defaults.xml. <item name="paddingStart">16dip</item> <item name="paddingEnd">16dip</item> <item name="mirrorForRtl">true</item> - <item name="background">?attr/selectableItemBackground</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> </style> <style name="Widget.Quantum.RatingBar" parent="Widget.RatingBar"> @@ -653,7 +649,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.Spinner" parent="Widget.Spinner.DropDown"> <item name="background">@drawable/spinner_background_quantum</item> - <item name="dropDownSelector">@drawable/list_selector_quantum</item> + <item name="dropDownSelector">?attr/listChoiceBackgroundIndicator</item> <item name="popupBackground">@drawable/popup_background_quantum</item> <item name="dropDownVerticalOffset">0dip</item> <item name="dropDownHorizontalOffset">0dip</item> @@ -712,7 +708,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.QuickContactBadgeSmall.WindowLarge" parent="Widget.QuickContactBadgeSmall.WindowLarge"/> <style name="Widget.Quantum.ListPopupWindow" parent="Widget.ListPopupWindow"> - <item name="dropDownSelector">@drawable/list_selector_quantum</item> + <item name="dropDownSelector">?attr/listChoiceBackgroundIndicator</item> <item name="popupBackground">@drawable/popup_background_quantum</item> <item name="popupAnimationStyle">@style/Animation.Quantum.Popup</item> <item name="dropDownVerticalOffset">0dip</item> @@ -809,7 +805,7 @@ please see styles_device_defaults.xml. </style> <style name="Widget.Quantum.MediaRouteButton"> - <item name="background">?attr/selectableItemBackground</item> + <item name="background">?attr/selectableItemBackgroundBorderless</item> <item name="externalRouteEnabledDrawable">@drawable/ic_media_route_quantum</item> <item name="minWidth">56dp</item> <item name="minHeight">48dp</item> @@ -879,12 +875,7 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.Light.ListView" parent="Widget.Quantum.ListView"/> <style name="Widget.Quantum.Light.ListView.White" parent="Widget.Quantum.ListView.White"/> <style name="Widget.Quantum.Light.PopupWindow" parent="Widget.Quantum.PopupWindow"/> - - <style name="Widget.Quantum.Light.PopupWindow.ActionMode"> - <item name="popupBackground">@color/white</item> - <item name="popupAnimationStyle">@style/Animation.PopupWindow.ActionMode</item> - </style> - + <style name="Widget.Quantum.Light.PopupWindow.ActionMode" parent="Widget.Quantum.PopupWindow.ActionMode"/> <style name="Widget.Quantum.Light.ProgressBar" parent="Widget.Quantum.ProgressBar"/> <style name="Widget.Quantum.Light.ProgressBar.Horizontal" parent="Widget.Quantum.ProgressBar.Horizontal"/> <style name="Widget.Quantum.Light.ProgressBar.Small" parent="Widget.Quantum.ProgressBar.Small"/> @@ -894,7 +885,6 @@ please see styles_device_defaults.xml. <style name="Widget.Quantum.Light.ProgressBar.Small.Inverse" parent="Widget.Quantum.ProgressBar.Small.Inverse"/> <style name="Widget.Quantum.Light.ProgressBar.Large.Inverse" parent="Widget.Quantum.ProgressBar.Large.Inverse"/> <style name="Widget.Quantum.Light.SeekBar" parent="Widget.Quantum.SeekBar"/> - <style name="Widget.Quantum.Light.RatingBar" parent="Widget.Quantum.RatingBar" /> <style name="Widget.Quantum.Light.RatingBar.Indicator" parent="Widget.RatingBar.Indicator"> diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml index 41f4ff8..648660b 100644 --- a/core/res/res/values/themes.xml +++ b/core/res/res/values/themes.xml @@ -124,6 +124,7 @@ please see themes_device_defaults.xml. <item name="buttonStyleToggle">@android:style/Widget.Button.Toggle</item> <item name="selectableItemBackground">@android:drawable/item_background</item> + <item name="selectableItemBackgroundBorderless">?android:attr/selectableItemBackground</item> <item name="borderlessButtonStyle">?android:attr/buttonStyle</item> <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_dark</item> @@ -1032,6 +1033,7 @@ please see themes_device_defaults.xml. <item name="mediaRouteButtonStyle">@android:style/Widget.Holo.MediaRouteButton</item> <item name="selectableItemBackground">@android:drawable/item_background_holo_dark</item> + <item name="selectableItemBackgroundBorderless">?android:attr/selectableItemBackground</item> <item name="borderlessButtonStyle">@android:style/Widget.Holo.Button.Borderless</item> <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_dark</item> @@ -1372,6 +1374,7 @@ please see themes_device_defaults.xml. <item name="mediaRouteButtonStyle">@android:style/Widget.Holo.Light.MediaRouteButton</item> <item name="selectableItemBackground">@android:drawable/item_background_holo_light</item> + <item name="selectableItemBackgroundBorderless">?android:attr/selectableItemBackground</item> <item name="borderlessButtonStyle">@android:style/Widget.Holo.Light.Button.Borderless</item> <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_light</item> diff --git a/core/res/res/values/themes_quantum.xml b/core/res/res/values/themes_quantum.xml index 47ba764..7d6bbdf 100644 --- a/core/res/res/values/themes_quantum.xml +++ b/core/res/res/values/themes_quantum.xml @@ -101,6 +101,7 @@ please see themes_device_defaults.xml. <item name="mediaRouteButtonStyle">@style/Widget.Quantum.MediaRouteButton</item> <item name="selectableItemBackground">@drawable/item_background_quantum</item> + <item name="selectableItemBackgroundBorderless">@drawable/item_background_borderless_quantum</item> <item name="borderlessButtonStyle">@style/Widget.Quantum.Button.Borderless</item> <item name="homeAsUpIndicator">@drawable/ic_ab_back_quantum</item> @@ -125,8 +126,7 @@ please see themes_device_defaults.xml. <item name="listChoiceIndicatorSingle">@drawable/btn_radio_quantum_anim</item> <item name="listChoiceIndicatorMultiple">@drawable/btn_check_quantum_anim</item> - <item name="listChoiceBackgroundIndicator">@drawable/list_selector_quantum</item> - + <item name="listChoiceBackgroundIndicator">?attr/selectableItemBackground</item> <item name="activatedBackgroundIndicator">@drawable/activated_background_quantum</item> <item name="listDividerAlertDialog">@drawable/list_divider_quantum</item> @@ -308,7 +308,7 @@ please see themes_device_defaults.xml. <item name="actionModePopupWindowStyle">@style/Widget.Quantum.PopupWindow.ActionMode</item> <item name="actionBarWidgetTheme">@style/ThemeOverlay.Quantum.ActionBarWidget</item> <item name="actionBarTheme">@null</item> - <item name="actionBarItemBackground">@drawable/item_background_quantum</item> + <item name="actionBarItemBackground">?attr/selectableItemBackgroundBorderless</item> <item name="actionModeCutDrawable">@drawable/ic_menu_cut_quantum</item> <item name="actionModeCopyDrawable">@drawable/ic_menu_copy_quantum</item> @@ -378,8 +378,8 @@ please see themes_device_defaults.xml. <item name="colorControlNormal">?attr/textColorSecondary</item> <item name="colorControlActivated">?attr/colorPrimary</item> - <item name="colorControlHighlight">#30ffffff</item> + <item name="colorControlHighlight">@color/ripple_quantum_dark</item> <item name="colorButtonNormal">@color/btn_default_quantum_dark</item> </style> @@ -446,6 +446,7 @@ please see themes_device_defaults.xml. <item name="mediaRouteButtonStyle">@style/Widget.Quantum.Light.MediaRouteButton</item> <item name="selectableItemBackground">@drawable/item_background_quantum</item> + <item name="selectableItemBackgroundBorderless">@drawable/item_background_borderless_quantum</item> <item name="borderlessButtonStyle">@style/Widget.Quantum.Light.Button.Borderless</item> <item name="homeAsUpIndicator">@drawable/ic_ab_back_quantum</item> @@ -470,8 +471,7 @@ please see themes_device_defaults.xml. <item name="listChoiceIndicatorSingle">@drawable/btn_radio_quantum_anim</item> <item name="listChoiceIndicatorMultiple">@drawable/btn_check_quantum_anim</item> - <item name="listChoiceBackgroundIndicator">@drawable/list_selector_quantum</item> - + <item name="listChoiceBackgroundIndicator">?attr/selectableItemBackground</item> <item name="activatedBackgroundIndicator">@drawable/activated_background_quantum</item> <item name="expandableListPreferredItemPaddingLeft">40dip</item> @@ -655,7 +655,7 @@ please see themes_device_defaults.xml. <item name="actionModePopupWindowStyle">@style/Widget.Quantum.Light.PopupWindow.ActionMode</item> <item name="actionBarWidgetTheme">@style/ThemeOverlay.Quantum.ActionBarWidget</item> <item name="actionBarTheme">@null</item> - <item name="actionBarItemBackground">@drawable/item_background_quantum</item> + <item name="actionBarItemBackground">?attr/selectableItemBackgroundBorderless</item> <item name="actionModeCutDrawable">@drawable/ic_menu_cut_quantum</item> <item name="actionModeCopyDrawable">@drawable/ic_menu_copy_quantum</item> @@ -721,8 +721,8 @@ please see themes_device_defaults.xml. <item name="colorControlNormal">?attr/textColorSecondary</item> <item name="colorControlActivated">?attr/colorPrimary</item> - <item name="colorControlHighlight">#30000000</item> + <item name="colorControlHighlight">@color/ripple_quantum_light</item> <item name="colorButtonNormal">@color/btn_default_quantum_light</item> </style> @@ -770,7 +770,8 @@ please see themes_device_defaults.xml. <item name="fastScrollPreviewBackgroundLeft">@drawable/fastscroll_label_left_holo_light</item> <item name="fastScrollPreviewBackgroundRight">@drawable/fastscroll_label_right_holo_light</item> - <item name="colorButtonNormal">@color/quantum_grey_100</item> + <item name="colorControlHighlight">@color/ripple_quantum_light</item> + <item name="colorButtonNormal">@color/btn_default_quantum_light</item> </style> <!-- Theme overlay that replaces colors with their dark versions but preserves @@ -805,7 +806,8 @@ please see themes_device_defaults.xml. <item name="fastScrollPreviewBackgroundLeft">@drawable/fastscroll_label_left_holo_dark</item> <item name="fastScrollPreviewBackgroundRight">@drawable/fastscroll_label_right_holo_dark</item> - <item name="colorButtonNormal">@color/quantum_grey_700</item> + <item name="colorControlHighlight">@color/ripple_quantum_dark</item> + <item name="colorButtonNormal">@color/btn_default_quantum_dark</item> </style> <!-- Theme overlay that replaces the activated control color (which by default |