am 30db282f: am 22de7c4c: Fix style warnings in RenderSessionImpl [DO NOT MERGE]

* commit '30db282f2a3692f8c98cb3bdbb0534ad348d1bd7':
  Fix style warnings in RenderSessionImpl [DO NOT MERGE]
This commit is contained in:
Deepanshu Gupta
2014-05-13 01:54:59 +00:00
committed by Android Git Automerger

View File

@@ -106,11 +106,10 @@ import java.util.Map;
/** /**
* Class implementing the render session. * Class implementing the render session.
* * <p/>
* A session is a stateful representation of a layout file. It is initialized with data coming * A session is a stateful representation of a layout file. It is initialized with data coming
* through the {@link Bridge} API to inflate the layout. Further actions and rendering can then * through the {@link Bridge} API to inflate the layout. Further actions and rendering can then
* be done on the layout. * be done on the layout.
*
*/ */
public class RenderSessionImpl extends RenderAction<SessionParams> { public class RenderSessionImpl extends RenderAction<SessionParams> {
@@ -177,7 +176,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
@Override @Override
public Result init(long timeout) { public Result init(long timeout) {
Result result = super.init(timeout); Result result = super.init(timeout);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
return result; return result;
} }
@@ -202,6 +201,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
// FIXME: find those out, and possibly add them to the render params // FIXME: find those out, and possibly add them to the render params
boolean hasSystemNavBar = true; boolean hasSystemNavBar = true;
boolean hasNavigationBar = true; boolean hasNavigationBar = true;
//noinspection ConstantConditions
IWindowManager iwm = new IWindowManagerImpl(getContext().getConfiguration(), IWindowManager iwm = new IWindowManagerImpl(getContext().getConfiguration(),
metrics, Surface.ROTATION_0, metrics, Surface.ROTATION_0,
hasSystemNavBar, hasNavigationBar); hasSystemNavBar, hasNavigationBar);
@@ -235,10 +235,9 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
BridgeContext context = getContext(); BridgeContext context = getContext();
boolean isRtl = Bridge.isLocaleRtl(params.getLocale()); boolean isRtl = Bridge.isLocaleRtl(params.getLocale());
int layoutDirection = isRtl ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR; int layoutDirection = isRtl ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR;
ActionBarLayout actionBar = null;
// the view group that receives the window background. // the view group that receives the window background.
ViewGroup backgroundView = null; ViewGroup backgroundView;
if (mWindowIsFloating || params.isForceNoDecor()) { if (mWindowIsFloating || params.isForceNoDecor()) {
backgroundView = mViewRoot = mContentRoot = new FrameLayout(context); backgroundView = mViewRoot = mContentRoot = new FrameLayout(context);
@@ -272,7 +271,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
NavigationBar navigationBar = createNavigationBar(context, NavigationBar navigationBar = createNavigationBar(context,
hardwareConfig.getDensity(), isRtl, params.isRtlSupported()); hardwareConfig.getDensity(), isRtl, params.isRtlSupported());
topLayout.addView(navigationBar); topLayout.addView(navigationBar);
} catch (XmlPullParserException e) { } catch (XmlPullParserException ignored) {
} }
} }
@@ -328,7 +327,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
StatusBar statusBar = createStatusBar(context, hardwareConfig.getDensity(), StatusBar statusBar = createStatusBar(context, hardwareConfig.getDensity(),
layoutDirection, params.isRtlSupported()); layoutDirection, params.isRtlSupported());
topLayout.addView(statusBar); topLayout.addView(statusBar);
} catch (XmlPullParserException e) { } catch (XmlPullParserException ignored) {
} }
} }
@@ -345,20 +344,16 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
// if the theme says no title/action bar, then the size will be 0 // if the theme says no title/action bar, then the size will be 0
if (mActionBarSize > 0) { if (mActionBarSize > 0) {
try { ActionBarLayout actionBar = createActionBar(context, params);
actionBar = createActionBar(context, params); backgroundLayout.addView(actionBar);
backgroundLayout.addView(actionBar); actionBar.createMenuPopup();
actionBar.createMenuPopup(); mContentRoot = actionBar.getContentRoot();
mContentRoot = actionBar.getContentRoot();
} catch (XmlPullParserException e) {
}
} else if (mTitleBarSize > 0) { } else if (mTitleBarSize > 0) {
try { try {
TitleBar titleBar = createTitleBar(context, TitleBar titleBar = createTitleBar(context,
hardwareConfig.getDensity(), params.getAppLabel()); hardwareConfig.getDensity(), params.getAppLabel());
backgroundLayout.addView(titleBar); backgroundLayout.addView(titleBar);
} catch (XmlPullParserException e) { } catch (XmlPullParserException ignored) {
} }
} }
@@ -380,7 +375,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
NavigationBar navigationBar = createNavigationBar(context, NavigationBar navigationBar = createNavigationBar(context,
hardwareConfig.getDensity(), isRtl, params.isRtlSupported()); hardwareConfig.getDensity(), isRtl, params.isRtlSupported());
topLayout.addView(navigationBar); topLayout.addView(navigationBar);
} catch (XmlPullParserException e) { } catch (XmlPullParserException ignored) {
} }
} }
@@ -405,7 +400,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
postInflateProcess(view, params.getProjectCallback()); postInflateProcess(view, params.getProjectCallback());
// get the background drawable // get the background drawable
if (mWindowBackground != null && backgroundView != null) { if (mWindowBackground != null) {
Drawable d = ResourceHelper.getDrawable(mWindowBackground, context); Drawable d = ResourceHelper.getDrawable(mWindowBackground, context);
backgroundView.setBackground(d); backgroundView.setBackground(d);
} }
@@ -482,6 +477,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
// first measure the full layout, with EXACTLY to get the size of the // first measure the full layout, with EXACTLY to get the size of the
// content as it is inside the decor/dialog // content as it is inside the decor/dialog
@SuppressWarnings("deprecation")
Pair<Integer, Integer> exactMeasure = measureView( Pair<Integer, Integer> exactMeasure = measureView(
mViewRoot, mContentRoot.getChildAt(0), mViewRoot, mContentRoot.getChildAt(0),
mMeasuredScreenWidth, MeasureSpec.EXACTLY, mMeasuredScreenWidth, MeasureSpec.EXACTLY,
@@ -489,6 +485,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
// now measure the content only using UNSPECIFIED (where applicable, based on // now measure the content only using UNSPECIFIED (where applicable, based on
// the rendering mode). This will give us the size the content needs. // the rendering mode). This will give us the size the content needs.
@SuppressWarnings("deprecation")
Pair<Integer, Integer> result = measureView( Pair<Integer, Integer> result = measureView(
mContentRoot, mContentRoot.getChildAt(0), mContentRoot, mContentRoot.getChildAt(0),
mMeasuredScreenWidth, widthMeasureSpecMode, mMeasuredScreenWidth, widthMeasureSpecMode,
@@ -564,7 +561,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
mCanvas.setDensity(hardwareConfig.getDensity().getDpiValue()); mCanvas.setDensity(hardwareConfig.getDensity().getDpiValue());
} }
if (freshRender && newImage == false) { if (freshRender && !newImage) {
Graphics2D gc = mImage.createGraphics(); Graphics2D gc = mImage.createGraphics();
gc.setComposite(AlphaComposite.Src); gc.setComposite(AlphaComposite.Src);
@@ -610,6 +607,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
* @param heightMode the MeasureSpec mode to use for the height. * @param heightMode the MeasureSpec mode to use for the height.
* @return the measured width/height if measuredView is non-null, null otherwise. * @return the measured width/height if measuredView is non-null, null otherwise.
*/ */
@SuppressWarnings("deprecation") // For the use of Pair
private Pair<Integer, Integer> measureView(ViewGroup viewToMeasure, View measuredView, private Pair<Integer, Integer> measureView(ViewGroup viewToMeasure, View measuredView,
int width, int widthMode, int height, int heightMode) { int width, int widthMode, int height, int heightMode) {
int w_spec = MeasureSpec.makeMeasureSpec(width, widthMode); int w_spec = MeasureSpec.makeMeasureSpec(width, widthMode);
@@ -640,7 +638,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
BridgeContext context = getContext(); BridgeContext context = getContext();
// find the animation file. // find the animation file.
ResourceValue animationResource = null; ResourceValue animationResource;
int animationId = 0; int animationId = 0;
if (isFrameworkAnimation) { if (isFrameworkAnimation) {
animationResource = context.getRenderResources().getFrameworkResource( animationResource = context.getRenderResources().getFrameworkResource(
@@ -730,7 +728,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
// add it to the parentView in the correct location // add it to the parentView in the correct location
Result result = addView(parentView, child, index); Result result = addView(parentView, child, index);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
return result; return result;
} }
@@ -800,13 +798,13 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
public void run() { public void run() {
Result result = moveView(previousParent, newParentView, childView, index, Result result = moveView(previousParent, newParentView, childView, index,
params); params);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
listener.done(result); listener.done(result);
} }
// ready to do the work, acquire the scene. // ready to do the work, acquire the scene.
result = acquire(250); result = acquire(250);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
listener.done(result); listener.done(result);
return; return;
} }
@@ -864,7 +862,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
} }
Result result = moveView(previousParent, newParentView, childView, index, layoutParams); Result result = moveView(previousParent, newParentView, childView, index, layoutParams);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
return result; return result;
} }
@@ -998,7 +996,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
} }
Result result = removeView(parent, childView); Result result = removeView(parent, childView);
if (result.isSuccess() == false) { if (!result.isSuccess()) {
return result; return result;
} }
@@ -1026,7 +1024,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
private void findBackground(RenderResources resources) { private void findBackground(RenderResources resources) {
if (getParams().isBgColorOverridden() == false) { if (!getParams().isBgColorOverridden()) {
mWindowBackground = resources.findItemInTheme("windowBackground", mWindowBackground = resources.findItemInTheme("windowBackground",
true /*isFrameworkAttr*/); true /*isFrameworkAttr*/);
if (mWindowBackground != null) { if (mWindowBackground != null) {
@@ -1043,7 +1041,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
boolean windowFullscreen = getBooleanThemeValue(resources, boolean windowFullscreen = getBooleanThemeValue(resources,
"windowFullscreen", false /*defaultValue*/); "windowFullscreen", false /*defaultValue*/);
if (windowFullscreen == false && mWindowIsFloating == false) { if (!windowFullscreen && !mWindowIsFloating) {
// default value // default value
mStatusBarSize = DEFAULT_STATUS_BAR_HEIGHT; mStatusBarSize = DEFAULT_STATUS_BAR_HEIGHT;
@@ -1097,7 +1095,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
boolean windowNoTitle = getBooleanThemeValue(resources, boolean windowNoTitle = getBooleanThemeValue(resources,
"windowNoTitle", false /*defaultValue*/); "windowNoTitle", false /*defaultValue*/);
if (windowNoTitle == false) { if (!windowNoTitle) {
// default size of the window title bar // default size of the window title bar
mTitleBarSize = DEFAULT_TITLE_BAR_HEIGHT; mTitleBarSize = DEFAULT_TITLE_BAR_HEIGHT;
@@ -1124,7 +1122,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
} }
private void findNavigationBar(RenderResources resources, DisplayMetrics metrics) { private void findNavigationBar(RenderResources resources, DisplayMetrics metrics) {
if (hasSoftwareButtons() && mWindowIsFloating == false) { if (hasSoftwareButtons() && !mWindowIsFloating) {
// default value // default value
mNavigationBarSize = 48; // ?? mNavigationBarSize = 48; // ??
@@ -1138,15 +1136,12 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
int shortSize = hardwareConfig.getScreenHeight(); int shortSize = hardwareConfig.getScreenHeight();
// compute in dp // compute in dp
int shortSizeDp = shortSize * DisplayMetrics.DENSITY_DEFAULT / hardwareConfig.getDensity().getDpiValue(); int shortSizeDp = shortSize * DisplayMetrics.DENSITY_DEFAULT /
hardwareConfig.getDensity().getDpiValue();
if (shortSizeDp < 600) { // 0-599dp: "phone" UI with bar on the side
// 0-599dp: "phone" UI with bar on the side // 600+dp: "tablet" UI with bar on the bottom
barOnBottom = false; barOnBottom = shortSizeDp >= 600;
} else {
// 600+dp: "tablet" UI with bar on the bottom
barOnBottom = true;
}
} }
if (barOnBottom) { if (barOnBottom) {
@@ -1197,13 +1192,15 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
} }
/** /**
* Post process on a view hierachy that was just inflated. * Post process on a view hierarchy that was just inflated.
* <p/>At the moment this only support TabHost: If {@link TabHost} is detected, look for the * <p/>
* At the moment this only supports TabHost: If {@link TabHost} is detected, look for the
* {@link TabWidget}, and the corresponding {@link FrameLayout} and make new tabs automatically * {@link TabWidget}, and the corresponding {@link FrameLayout} and make new tabs automatically
* based on the content of the {@link FrameLayout}. * based on the content of the {@link FrameLayout}.
* @param view the root view to process. * @param view the root view to process.
* @param projectCallback callback to the project. * @param projectCallback callback to the project.
*/ */
@SuppressWarnings("deprecation") // For the use of Pair
private void postInflateProcess(View view, IProjectCallback projectCallback) private void postInflateProcess(View view, IProjectCallback projectCallback)
throws PostInflateException { throws PostInflateException {
if (view instanceof TabHost) { if (view instanceof TabHost) {
@@ -1306,7 +1303,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
"TabHost requires a TabWidget with id \"android:id/tabs\".\n"); "TabHost requires a TabWidget with id \"android:id/tabs\".\n");
} }
if ((v instanceof TabWidget) == false) { if (!(v instanceof TabWidget)) {
throw new PostInflateException(String.format( throw new PostInflateException(String.format(
"TabHost requires a TabWidget with id \"android:id/tabs\".\n" + "TabHost requires a TabWidget with id \"android:id/tabs\".\n" +
"View found with id 'tabs' is '%s'", v.getClass().getCanonicalName())); "View found with id 'tabs' is '%s'", v.getClass().getCanonicalName()));
@@ -1315,12 +1312,14 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
v = tabHost.findViewById(android.R.id.tabcontent); v = tabHost.findViewById(android.R.id.tabcontent);
if (v == null) { if (v == null) {
// TODO: see if we can fake tabs even without the FrameLayout (same below when the framelayout is empty) // TODO: see if we can fake tabs even without the FrameLayout (same below when the frameLayout is empty)
//noinspection SpellCheckingInspection
throw new PostInflateException( throw new PostInflateException(
"TabHost requires a FrameLayout with id \"android:id/tabcontent\"."); "TabHost requires a FrameLayout with id \"android:id/tabcontent\".");
} }
if ((v instanceof FrameLayout) == false) { if (!(v instanceof FrameLayout)) {
//noinspection SpellCheckingInspection
throw new PostInflateException(String.format( throw new PostInflateException(String.format(
"TabHost requires a FrameLayout with id \"android:id/tabcontent\".\n" + "TabHost requires a FrameLayout with id \"android:id/tabcontent\".\n" +
"View found with id 'tabcontent' is '%s'", v.getClass().getCanonicalName())); "View found with id 'tabcontent' is '%s'", v.getClass().getCanonicalName()));
@@ -1328,7 +1327,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
FrameLayout content = (FrameLayout)v; FrameLayout content = (FrameLayout)v;
// now process the content of the framelayout and dynamically create tabs for it. // now process the content of the frameLayout and dynamically create tabs for it.
final int count = content.getChildCount(); final int count = content.getChildCount();
// this must be called before addTab() so that the TabHost searches its TabWidget // this must be called before addTab() so that the TabHost searches its TabWidget
@@ -1346,13 +1345,13 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
} }
}); });
tabHost.addTab(spec); tabHost.addTab(spec);
return;
} else { } else {
// for each child of the framelayout, add a new TabSpec // for each child of the frameLayout, add a new TabSpec
for (int i = 0 ; i < count ; i++) { for (int i = 0 ; i < count ; i++) {
View child = content.getChildAt(i); View child = content.getChildAt(i);
String tabSpec = String.format("tab_spec%d", i+1); String tabSpec = String.format("tab_spec%d", i+1);
int id = child.getId(); int id = child.getId();
@SuppressWarnings("deprecation")
Pair<ResourceType, String> resource = projectCallback.resolveResourceId(id); Pair<ResourceType, String> resource = projectCallback.resolveResourceId(id);
String name; String name;
if (resource != null) { if (resource != null) {
@@ -1578,8 +1577,7 @@ public class RenderSessionImpl extends RenderAction<SessionParams> {
/** /**
* Creates the action bar. Also queries the project callback for missing information. * Creates the action bar. Also queries the project callback for missing information.
*/ */
private ActionBarLayout createActionBar(BridgeContext context, SessionParams params) private ActionBarLayout createActionBar(BridgeContext context, SessionParams params) {
throws XmlPullParserException {
ActionBarLayout actionBar = new ActionBarLayout(context, params); ActionBarLayout actionBar = new ActionBarLayout(context, params);
actionBar.setLayoutParams(new LinearLayout.LayoutParams( actionBar.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));