From a006c6de81b3aa348ee0d94ae69283fb733dc183 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 18 Apr 2017 14:29:51 -0700 Subject: [PATCH] Fix action bar background not wide enough on tablets Change-Id: I82e444dc913429c77c768afada24e10c12c79160 Fix: 37475599 Test: make RunSettingsRoboTests --- .../android/settings/applications/AppHeaderController.java | 6 +++--- .../settings/applications/AppHeaderControllerTest.java | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/applications/AppHeaderController.java b/src/com/android/settings/applications/AppHeaderController.java index 29acaa49a6f..0cfd024cc82 100644 --- a/src/com/android/settings/applications/AppHeaderController.java +++ b/src/com/android/settings/applications/AppHeaderController.java @@ -25,6 +25,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.ResolveInfo; +import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.UserHandle; import android.support.annotation.IntDef; @@ -220,9 +221,8 @@ public class AppHeaderController { Log.w(TAG, "No actionbar, cannot style actionbar."); return this; } - final Drawable appHeaderBackground = - mAppHeader.findViewById(R.id.app_snippet).getBackground(); - actionBar.setBackgroundDrawable(appHeaderBackground); + actionBar.setBackgroundDrawable( + new ColorDrawable(Utils.getColorAttr(activity, android.R.attr.colorSecondary))); actionBar.setElevation(0); return this; diff --git a/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java index 030978f5880..bff94a46a49 100644 --- a/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java @@ -33,7 +33,7 @@ import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.PackageInfo; import android.content.pm.ResolveInfo; -import android.graphics.drawable.Drawable; +import android.graphics.drawable.ColorDrawable; import android.os.UserHandle; import android.support.v7.preference.Preference; import android.view.LayoutInflater; @@ -323,10 +323,11 @@ public class AppHeaderControllerTest { mController.styleActionBar(mActivity); verify(actionBar).setElevation(0); - verify(actionBar).setBackgroundDrawable(any(Drawable.class)); + // Enforce a color drawable as background here, as image based drawables might not be + // wide enough to cover entire action bar. + verify(actionBar).setBackgroundDrawable(any(ColorDrawable.class)); } - @Test public void initAppHeaderController_appHeaderNull_useFragmentContext() { mController = new AppHeaderController(mContext, mFragment, null);