A better shadow value to cover more devices, handle TV theme override.

b/21736005

Change-Id: Idf987de51f96fa353c22e9a67fdd1c4ec4108f95
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShadowTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShadowTests.java
index 878d5ae..2061023 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShadowTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShadowTests.java
@@ -27,23 +27,28 @@
 public class ShadowTests extends ActivityTestBase {
     @SmallTest
     public void testShadowLayout() {
+        int shadowColorValue = 0xDB;
+        // Android TV theme overrides shadow opacity to be darker.
+        if (getActivity().getOnTv()) {
+            shadowColorValue = 0xBB;
+        }
+        SamplePointVerifier verifier = new SamplePointVerifier(
+                new Point[] {
+                        // view area
+                        new Point(25, 64),
+                        new Point(64, 64),
+                        // shadow area
+                        new Point(25, 65),
+                        new Point(64, 65)
+                },
+                new int[] {
+                        Color.WHITE,
+                        Color.WHITE,
+                        Color.rgb(shadowColorValue, shadowColorValue, shadowColorValue),
+                        Color.rgb(shadowColorValue, shadowColorValue, shadowColorValue),
+                });
         createTest()
                 .addLayout(R.layout.simple_shadow_layout, null, true/* HW only */)
-                .runWithVerifier(
-                new SamplePointVerifier(
-                        new Point[] {
-                                // view area
-                                new Point(25, 64),
-                                new Point(64, 64),
-                                // shadow area
-                                new Point(25, 65),
-                                new Point(64, 65)
-                        },
-                        new int[] {
-                                Color.WHITE,
-                                Color.WHITE,
-                                Color.rgb(222, 222, 222),
-                                Color.rgb(222, 222, 222),
-                        }));
+                .runWithVerifier(verifier);
     }
 }
\ No newline at end of file
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
index 4bd513a..041fcdd 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
@@ -17,6 +17,7 @@
 
 import android.annotation.Nullable;
 import android.app.Activity;
+import android.content.res.Configuration;
 import android.graphics.Point;
 import android.os.Bundle;
 import android.os.Handler;
@@ -38,12 +39,19 @@
 
     private Handler mHandler;
     private View mView;
+    private boolean mOnTv;
 
     public void onCreate(Bundle bundle){
         super.onCreate(bundle);
         getWindow().getDecorView().setSystemUiVisibility(
                 View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN);
         mHandler = new RenderSpecHandler();
+        int uiMode = getResources().getConfiguration().uiMode;
+        mOnTv = (uiMode & Configuration.UI_MODE_TYPE_TELEVISION) == Configuration.UI_MODE_TYPE_TELEVISION;
+    }
+
+    public boolean getOnTv() {
+        return mOnTv;
     }
 
     public Point enqueueRenderSpecAndWait(int layoutId, CanvasClient canvasClient, String webViewUrl,