Fix action bar background not wide enough on tablets

Change-Id: I82e444dc913429c77c768afada24e10c12c79160
Fix: 37475599
Test: make RunSettingsRoboTests
This commit is contained in:
Fan Zhang
2017-04-18 14:29:51 -07:00
parent 526185c89b
commit a006c6de81
2 changed files with 7 additions and 6 deletions

View File

@@ -25,6 +25,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.UserHandle; import android.os.UserHandle;
import android.support.annotation.IntDef; import android.support.annotation.IntDef;
@@ -220,9 +221,8 @@ public class AppHeaderController {
Log.w(TAG, "No actionbar, cannot style actionbar."); Log.w(TAG, "No actionbar, cannot style actionbar.");
return this; return this;
} }
final Drawable appHeaderBackground = actionBar.setBackgroundDrawable(
mAppHeader.findViewById(R.id.app_snippet).getBackground(); new ColorDrawable(Utils.getColorAttr(activity, android.R.attr.colorSecondary)));
actionBar.setBackgroundDrawable(appHeaderBackground);
actionBar.setElevation(0); actionBar.setElevation(0);
return this; return this;

View File

@@ -33,7 +33,7 @@ import android.content.Intent;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.graphics.drawable.Drawable; import android.graphics.drawable.ColorDrawable;
import android.os.UserHandle; import android.os.UserHandle;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@@ -323,10 +323,11 @@ public class AppHeaderControllerTest {
mController.styleActionBar(mActivity); mController.styleActionBar(mActivity);
verify(actionBar).setElevation(0); 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 @Test
public void initAppHeaderController_appHeaderNull_useFragmentContext() { public void initAppHeaderController_appHeaderNull_useFragmentContext() {
mController = new AppHeaderController(mContext, mFragment, null); mController = new AppHeaderController(mContext, mFragment, null);