Merge "Expose selector draw condition for test"

This commit is contained in:
Evan Rosky
2018-01-25 00:08:03 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 1 deletions

View File

@@ -1036,6 +1036,10 @@ package android.view.autofill {
package android.widget {
public abstract class AbsListView extends android.widget.AdapterView implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
method public final boolean shouldDrawSelector();
}
public class CalendarView extends android.widget.FrameLayout {
method public boolean getBoundsForDate(long, android.graphics.Rect);
}

View File

@@ -19,6 +19,7 @@ package android.widget;
import android.annotation.ColorInt;
import android.annotation.DrawableRes;
import android.annotation.NonNull;
import android.annotation.TestApi;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
@@ -2744,13 +2745,21 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
}
private void drawSelector(Canvas canvas) {
if (!mSelectorRect.isEmpty()) {
if (shouldDrawSelector()) {
final Drawable selector = mSelector;
selector.setBounds(mSelectorRect);
selector.draw(canvas);
}
}
/**
* @hide
*/
@TestApi
public final boolean shouldDrawSelector() {
return !mSelectorRect.isEmpty();
}
/**
* Controls whether the selection highlight drawable should be drawn on top of the item or
* behind it.