MediaRouter: Remove white lines around artwork

- Use fitXY for ImageView for artwork to remove vertical white lines.
  Reference:
    http://www.techrepublic.com/article/clear-up-ambiguity-about-android-image-view-scale-types-with-this-guide/
- Change setMaxHeight with setLayoutParam to remove horizontal lines.

Change-Id: I2c93141c2a64a57f74491464fe8bc3aa8163151f
diff --git a/v7/mediarouter/res/layout/mr_controller_material_dialog_b.xml b/v7/mediarouter/res/layout/mr_controller_material_dialog_b.xml
index 9d1c412..9b9d05c 100644
--- a/v7/mediarouter/res/layout/mr_controller_material_dialog_b.xml
+++ b/v7/mediarouter/res/layout/mr_controller_material_dialog_b.xml
@@ -51,7 +51,7 @@
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:adjustViewBounds="true"
-                   android:scaleType="fitCenter"
+                   android:scaleType="fitXY"
                    android:background="?attr/colorPrimary"
                    android:layout_gravity="top"
                    android:visibility="gone" />
diff --git a/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java b/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
index 63875b7..65bf0e7 100644
--- a/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
+++ b/v7/mediarouter/src/android/support/v7/app/MediaRouteControllerDialog.java
@@ -350,10 +350,9 @@
                     mVolumeGroupList.setVisibility(View.VISIBLE);
                     mVolumeGroupList.setAdapter(
                             new VolumeGroupAdapter(getContext(), getGroup().getRoutes()));
-                    ViewGroup.LayoutParams lp = mVolumeGroupList.getLayoutParams();
-                    lp.height = MediaRouteDialogHelper.getControllerVolumeGroupListHeight(
-                            getContext(), mVolumeGroupList.getAdapter().getCount());
-                    mVolumeGroupList.setLayoutParams(lp);
+                    setLayoutHeight(mVolumeGroupList,
+                            MediaRouteDialogHelper.getControllerVolumeGroupListHeight(
+                                    getContext(), mVolumeGroupList.getAdapter().getCount()));
                 } else {
                     mGroupExpandCollapseButton.setImageDrawable(expandGroupDrawable);
                     mVolumeGroupList.setVisibility(View.GONE);
@@ -561,8 +560,7 @@
                 }
             }
         }
-        mDefaultControlLayout.setLayoutParams(new LinearLayout.LayoutParams(
-                LinearLayout.LayoutParams.FILL_PARENT, height));
+        setLayoutHeight(mDefaultControlLayout, height);
     }
 
     private boolean isVolumeControlAvailable() {
@@ -593,18 +591,28 @@
         if (mArtView.getVisibility() == View.GONE) {
             if (decorView.getMeasuredHeight() + desiredArtHeight <= displayMetrics.heightPixels) {
                 mArtView.setVisibility(View.VISIBLE);
-                mArtView.setMaxHeight(desiredArtHeight);
+                setLayoutHeight(mArtView, desiredArtHeight);
+                mArtView.setScaleType(art.getWidth() >= art.getHeight()
+                        ? ImageView.ScaleType.FIT_XY : ImageView.ScaleType.FIT_CENTER);
             }
         } else {
             if (decorView.getMeasuredHeight() - mArtView.getMeasuredHeight() + desiredArtHeight
                     <= displayMetrics.heightPixels) {
-                mArtView.setMaxHeight(desiredArtHeight);
+                setLayoutHeight(mArtView, desiredArtHeight);
+                mArtView.setScaleType(art.getWidth() >= art.getHeight()
+                        ? ImageView.ScaleType.FIT_XY : ImageView.ScaleType.FIT_CENTER);
             } else {
                 mArtView.setVisibility(View.GONE);
             }
         }
     }
 
+    private static void setLayoutHeight(View view, int height) {
+        ViewGroup.LayoutParams lp = view.getLayoutParams();
+        lp.height = height;
+        view.setLayoutParams(lp);
+    }
+
     private static void setVolumeSliderColor(Context context, SeekBar volumeSlider, int color) {
         volumeSlider.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_IN);
         if (Build.VERSION.SDK_INT >= 16) {
@@ -843,7 +851,7 @@
             if (art != null && art.getWidth() < art.getHeight()) {
                 // Portrait art requires background color.
                 Palette palette = new Palette.Builder(art).maximumColorCount(1).generate();
-                mBackgroundColor = (palette.getSwatches() == null)
+                mBackgroundColor = palette.getSwatches().isEmpty()
                         ? 0 : palette.getSwatches().get(0).getRgb();
             }
             return art;