Revert "LayoutLib: Fix true transparency in status bar."

This reverts commit 4eb298a941.

Even though this is techinically closer to what the framework does, the
fix is not complete. As a result, it looks worse when using AppCompat
themes. Revert the change for the release.

Change-Id: I67c1002ea17dee7234d78e2d13aab876467bd70f
This commit is contained in:
Deepanshu Gupta
2015-11-17 11:42:42 -08:00
parent 42a893b50b
commit 4ea74d2960
4 changed files with 12 additions and 16 deletions

View File

@@ -33,7 +33,6 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserException;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Bitmap_Delegate; import android.graphics.Bitmap_Delegate;
@@ -228,18 +227,16 @@ abstract class CustomBar extends LinearLayout {
* Find the background color for this bar from the theme attributes. Only relevant to StatusBar * Find the background color for this bar from the theme attributes. Only relevant to StatusBar
* and NavigationBar. * and NavigationBar.
* <p/> * <p/>
* Returns null if not found. * Returns 0 if not found.
* *
* @param colorAttrName the attribute name for the background color * @param colorAttrName the attribute name for the background color
* @param translucentAttrName the attribute name for the translucency property of the bar. * @param translucentAttrName the attribute name for the translucency property of the bar.
* *
* @throws NumberFormatException if color resolved to an invalid string. * @throws NumberFormatException if color resolved to an invalid string.
*/ */
@Nullable protected int getBarColor(@NonNull String colorAttrName, @NonNull String translucentAttrName) {
protected Integer getBarColor(@NonNull String colorAttrName,
@NonNull String translucentAttrName) {
if (!Config.isGreaterOrEqual(mSimulatedPlatformVersion, LOLLIPOP)) { if (!Config.isGreaterOrEqual(mSimulatedPlatformVersion, LOLLIPOP)) {
return null; return 0;
} }
RenderResources renderResources = getContext().getRenderResources(); RenderResources renderResources = getContext().getRenderResources();
// First check if the bar is translucent. // First check if the bar is translucent.
@@ -254,11 +251,10 @@ abstract class CustomBar extends LinearLayout {
if (transparent) { if (transparent) {
return getColor(renderResources, colorAttrName); return getColor(renderResources, colorAttrName);
} }
return null; return 0;
} }
@Nullable private static int getColor(RenderResources renderResources, String attr) {
private static Integer getColor(RenderResources renderResources, String attr) {
// From ?attr/foo to @color/bar. This is most likely an ItemResourceValue. // From ?attr/foo to @color/bar. This is most likely an ItemResourceValue.
ResourceValue resource = renderResources.findItemInTheme(attr, true); ResourceValue resource = renderResources.findItemInTheme(attr, true);
// Form @color/bar to the #AARRGGBB // Form @color/bar to the #AARRGGBB
@@ -279,7 +275,7 @@ abstract class CustomBar extends LinearLayout {
} }
} }
} }
return null; return 0;
} }
private ResourceValue getResourceValue(String reference) { private ResourceValue getResourceValue(String reference) {

View File

@@ -65,8 +65,8 @@ public class NavigationBar extends CustomBar {
super(context, orientation, getShortestWidth(context)>= 600 ? LAYOUT_600DP_XML : LAYOUT_XML, super(context, orientation, getShortestWidth(context)>= 600 ? LAYOUT_600DP_XML : LAYOUT_XML,
"navigation_bar.xml", simulatedPlatformVersion); "navigation_bar.xml", simulatedPlatformVersion);
Integer color = getBarColor(ATTR_COLOR, ATTR_TRANSLUCENT); int color = getBarColor(ATTR_COLOR, ATTR_TRANSLUCENT);
setBackgroundColor(color == null ? 0xFF000000 : color); setBackgroundColor(color == 0 ? 0xFF000000 : color);
// Cannot access the inside items through id because no R.id values have been // Cannot access the inside items through id because no R.id values have been
// created for them. // created for them.

View File

@@ -71,9 +71,8 @@ public class StatusBar extends CustomBar {
// FIXME: use FILL_H? // FIXME: use FILL_H?
setGravity(Gravity.START | Gravity.TOP | Gravity.RIGHT); setGravity(Gravity.START | Gravity.TOP | Gravity.RIGHT);
Integer color = getBarColor(ATTR_COLOR, ATTR_TRANSLUCENT); int color = getBarColor(ATTR_COLOR, ATTR_TRANSLUCENT);
setBackgroundColor( setBackgroundColor(color == 0 ? Config.getStatusBarColor(simulatedPlatformVersion) : color);
color == null ? Config.getStatusBarColor(simulatedPlatformVersion) : color);
// Cannot access the inside items through id because no R.id values have been // Cannot access the inside items through id because no R.id values have been
// created for them. // created for them.

View File

@@ -421,7 +421,8 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
gc.setComposite(AlphaComposite.Src); gc.setComposite(AlphaComposite.Src);
gc.setColor(new Color(0x00000000, true)); gc.setColor(new Color(0x00000000, true));
gc.fillRect(0, 0, mMeasuredScreenWidth, mMeasuredScreenHeight); gc.fillRect(0, 0,
mMeasuredScreenWidth, mMeasuredScreenHeight);
// done // done
gc.dispose(); gc.dispose();