Bug 1403653 - Part 2 - Split out conversion from ColorRes to ColorInt into separate function. r?nechen
MozReview-Commit-ID: 8tDBT7kR9XF
--- a/mobile/android/base/java/org/mozilla/gecko/util/WindowUtil.java
+++ b/mobile/android/base/java/org/mozilla/gecko/util/WindowUtil.java
@@ -2,58 +2,64 @@
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.util;
import android.app.Activity;
import android.os.Build;
+import android.support.annotation.ColorInt;
import android.support.annotation.ColorRes;
import android.support.v4.content.ContextCompat;
import android.view.View;
import android.view.Window;
import org.mozilla.gecko.R;
public class WindowUtil {
public static void setTabsTrayStatusBarColor(final Activity activity) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return;
}
- setStatusBarColor(activity, R.color.status_bar_bg_color_tabs_tray, true);
+ setStatusBarColorRes(activity, R.color.status_bar_bg_color_tabs_tray, true);
}
public static void setStatusBarColor(final Activity activity, final boolean isPrivate) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return;
}
- final int colorResId;
+ final @ColorRes int colorResId;
final boolean isDarkTheme;
if (HardwareUtils.isTablet()) {
colorResId = R.color.status_bar_bg_color_tablet;
isDarkTheme = true;
} else {
colorResId = isPrivate ? R.color.status_bar_bg_color_private : R.color.status_bar_bg_color;
isDarkTheme = isPrivate;
}
- setStatusBarColor(activity, colorResId, isDarkTheme);
+ setStatusBarColorRes(activity, colorResId, isDarkTheme);
}
- public static void setStatusBarColor(final Activity activity, @ColorRes final int colorResId,
+ public static void setStatusBarColorRes(final Activity activity, final @ColorRes int colorResId,
+ final boolean isDarkTheme) {
+ final int backgroundColor = ContextCompat.getColor(activity, colorResId);
+ setStatusBarColor(activity, backgroundColor, isDarkTheme);
+ }
+
+ public static void setStatusBarColor(final Activity activity, final @ColorInt int backgroundColor,
final boolean isDarkTheme) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
return;
}
final Window window = activity.getWindow();
- final int backgroundColor = ContextCompat.getColor(activity, colorResId);
window.setStatusBarColor(backgroundColor);
final View view = window.getDecorView();
int flags = view.getSystemUiVisibility();
if (isDarkTheme) {
flags &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
} else {
flags |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;