| // Rule: MergeRootFrameLayout |
| // |
| // Description: Checks whether the root node of the XML document can be |
| // replaced with a <merge /> tag. |
| // |
| // Conditions: |
| // - The node is the root of the document |
| // - The node is a FrameLayout |
| // - The node is fill_parent in both orientation *or* it has no layout_gravity |
| // - The node does not have a background nor a foreground |
| // - The node does not have padding |
| |
| if (node.isRoot() && node.is("FrameLayout") && !node.'@android:background' && |
| !node.'@android:foreground' && ((node.isWidthFillParent() && |
| node.isHeightFillParent()) || !node.'@android:layout_gravity') && |
| !node.hasPadding()) { |
| analysis << "The root-level <FrameLayout/> can be replaced with <merge/>" |
| } |