| Index: base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| diff --git a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| index 3df7b923a322265079b550209763384cdc168988..76d73967d49c891b45f4552ea388c0c86cf9f5d4 100644
|
| --- a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| +++ b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| @@ -349,6 +349,7 @@ public class ApiCompatibilityUtils {
|
|
|
| /**
|
| * @see android.view.Window#setStatusBarColor(int color).
|
| + * TODO(ianwen): remove this method after downstream rolling.
|
| */
|
| public static void setStatusBarColor(Activity activity, int statusBarColor) {
|
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
| @@ -365,6 +366,22 @@ public class ApiCompatibilityUtils {
|
| }
|
|
|
| /**
|
| + * @see android.view.Window#setStatusBarColor(int color).
|
| + */
|
| + public static void setStatusBarColor(Window window, int statusBarColor) {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
| + // If both system bars are black, we can remove these from our layout,
|
| + // removing or shrinking the SurfaceFlinger overlay required for our views.
|
| + if (statusBarColor == Color.BLACK && window.getNavigationBarColor() == Color.BLACK) {
|
| + window.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
| + } else {
|
| + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
| + }
|
| + window.setStatusBarColor(statusBarColor);
|
| + }
|
| + }
|
| +
|
| + /**
|
| * @see android.content.res.Resources#getDrawable(int id).
|
| */
|
| @SuppressWarnings("deprecation")
|
|
|