summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-08-22 16:39:23 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-08-22 16:39:23 +0000
commitef49e8af7ceb2357cc2c0a9cc0d955abafd72126 (patch)
tree63e236dee8c4373ea7392f39b5a496746d35405b
parent0e7c8232d9b57b649ebe76d98f25ec60963c03f0 (diff)
parentd9c22e3134d84a382edf36a91fc1c3c979f0f5e8 (diff)
downloadcts-oreo-r2-release.tar.gz
release-request-e0486a9a-e8f3-4d59-b812-06bc609da6d2-for-git_oc-r2-release-4283242 snap-temp-L10000000095597457android-8.0.0_r29oreo-r2-release
Change-Id: I73f18dce4806ed065e692dcdca30a03ac5f55f59
-rw-r--r--tests/leanbackjank/app/Android.mk2
-rw-r--r--tests/leanbackjank/app/proguard.flags1
-rw-r--r--tests/leanbackjank/app/res/values/dimens.xml21
-rw-r--r--tests/leanbackjank/app/src/android/leanbackjank/app/presenter/CardPresenter.java33
-rw-r--r--tests/leanbackjank/app/src/android/leanbackjank/app/ui/MainFragment.java14
5 files changed, 60 insertions, 11 deletions
diff --git a/tests/leanbackjank/app/Android.mk b/tests/leanbackjank/app/Android.mk
index 0328fdf444f..beeacdd651b 100644
--- a/tests/leanbackjank/app/Android.mk
+++ b/tests/leanbackjank/app/Android.mk
@@ -47,4 +47,6 @@ LOCAL_AAPT_FLAGS := \
--extra-packages android.support.v17.leanback \
--extra-packages android.support.v7.recyclerview
+LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+
include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/leanbackjank/app/proguard.flags b/tests/leanbackjank/app/proguard.flags
new file mode 100644
index 00000000000..0674e77454d
--- /dev/null
+++ b/tests/leanbackjank/app/proguard.flags
@@ -0,0 +1 @@
+-dontobfuscate \ No newline at end of file
diff --git a/tests/leanbackjank/app/res/values/dimens.xml b/tests/leanbackjank/app/res/values/dimens.xml
new file mode 100644
index 00000000000..30792fd21ea
--- /dev/null
+++ b/tests/leanbackjank/app/res/values/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2017 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
+ -->
+
+<resources>
+ <dimen name="shadow_unfocused_z">0dp</dimen>
+ <dimen name="shadow_focused_z">10dp</dimen>
+</resources> \ No newline at end of file
diff --git a/tests/leanbackjank/app/src/android/leanbackjank/app/presenter/CardPresenter.java b/tests/leanbackjank/app/src/android/leanbackjank/app/presenter/CardPresenter.java
index bedbc5d93a3..4e6b55d2fff 100644
--- a/tests/leanbackjank/app/src/android/leanbackjank/app/presenter/CardPresenter.java
+++ b/tests/leanbackjank/app/src/android/leanbackjank/app/presenter/CardPresenter.java
@@ -17,11 +17,15 @@
package android.leanbackjank.app.presenter;
import android.graphics.drawable.Drawable;
+import android.net.Uri;
import android.support.v17.leanback.widget.ImageCardView;
import android.support.v17.leanback.widget.Presenter;
import android.view.ViewGroup;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.resource.drawable.GlideDrawable;
+import com.bumptech.glide.request.RequestListener;
+import com.bumptech.glide.request.target.Target;
import android.leanbackjank.app.R;
import android.leanbackjank.app.model.Movie;
@@ -46,25 +50,17 @@ public class CardPresenter extends Presenter {
ImageCardView cardView = new ImageCardView(parent.getContext()) {
@Override
public void setSelected(boolean selected) {
- updateCardBackgroundColor(this, selected);
+ findViewById(R.id.info_field).setBackgroundColor(
+ selected ? sSelectedBackgroundColor : sDefaultBackgroundColor);
super.setSelected(selected);
}
};
cardView.setFocusable(true);
cardView.setFocusableInTouchMode(true);
- updateCardBackgroundColor(cardView, false);
return new ViewHolder(cardView);
}
- private static void updateCardBackgroundColor(ImageCardView view, boolean selected) {
- int color = selected ? sSelectedBackgroundColor : sDefaultBackgroundColor;
- // Both background colors should be set because the view's background is temporarily visible
- // during animations.
- view.setBackgroundColor(color);
- view.findViewById(R.id.info_field).setBackgroundColor(color);
- }
-
@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
Movie movie = (Movie) item;
@@ -73,10 +69,27 @@ public class CardPresenter extends Presenter {
cardView.setTitleText(movie.getTitle());
cardView.setContentText(movie.getStudio());
cardView.setMainImageDimensions(CARD_WIDTH, CARD_HEIGHT);
+ cardView.setBackgroundColor(sDefaultBackgroundColor);
+
Glide.with(viewHolder.view.getContext())
.load(R.drawable.gradation)
.centerCrop()
.error(mDefaultCardImage)
+ .listener(new RequestListener<Integer, GlideDrawable>() {
+ @Override
+ public boolean onException(Exception e, Integer i, Target<GlideDrawable> target,
+ boolean b) {
+ return false;
+ }
+
+ @Override
+ public boolean onResourceReady(GlideDrawable glideDrawable, Integer i,
+ Target<GlideDrawable> target, boolean b, boolean b1) {
+ // Remove the background color to reduce overdraw.
+ cardView.setBackground(null);
+ return false;
+ }
+ })
.into(cardView.getMainImageView());
}
diff --git a/tests/leanbackjank/app/src/android/leanbackjank/app/ui/MainFragment.java b/tests/leanbackjank/app/src/android/leanbackjank/app/ui/MainFragment.java
index 399681ce107..ee04924bb73 100644
--- a/tests/leanbackjank/app/src/android/leanbackjank/app/ui/MainFragment.java
+++ b/tests/leanbackjank/app/src/android/leanbackjank/app/ui/MainFragment.java
@@ -15,6 +15,7 @@
package android.leanbackjank.app.ui;
import android.content.Intent;
+import android.content.res.Resources;
import android.content.res.Resources.Theme;
import android.leanbackjank.app.IntentKeys;
import android.leanbackjank.app.R;
@@ -32,6 +33,7 @@ import android.support.v17.leanback.widget.ListRow;
import android.support.v17.leanback.widget.ListRowPresenter;
import android.support.v17.leanback.widget.Presenter;
import android.support.v17.leanback.widget.PresenterSelector;
+import android.support.v17.leanback.widget.ShadowOverlayHelper;
import android.util.DisplayMetrics;
import android.view.View;
@@ -166,7 +168,17 @@ public class MainFragment extends BrowseFragment {
}
public void buildRowAdapterItems(HashMap<String, List<Movie>> data) {
- mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
+ ListRowPresenter listRowPresenter = new ListRowPresenter() {
+ @Override
+ protected ShadowOverlayHelper.Options createShadowOverlayOptions() {
+ Resources res = getResources();
+ ShadowOverlayHelper.Options options = new ShadowOverlayHelper.Options();
+ options.dynamicShadowZ(res.getDimension(R.dimen.shadow_unfocused_z),
+ res.getDimension(R.dimen.shadow_focused_z));
+ return options;
+ }
+ };
+ mRowsAdapter = new ArrayObjectAdapter(listRowPresenter);
CardPresenter cardPresenter = new CardPresenter();
int i = 0;