blob: f48c24e3e1bde83101d1329c0758651099ba305a [file] [log] [blame]
// Rule: NestedScrollingWidgets
//
// Description: Checks whether a scrolling widget has nested scrolling widgets.
//
// Conditions:
// - The node is a scrolling widget
// - The node has a descendant who is also a scrolling widget
def widgets = ["ScrollView", "ListView", "GridView"]
if (node.name() in widgets && node.all().any{ it.name() in widgets }) {
analysis << "The vertically scrolling ${node.name()} should not contain another " +
"vertically scrolling widget"
}
widgets = ["HorizontalScrollView", "Gallery"]
if (node.name() in widgets && node.all().any{ it.name() in widgets }) {
analysis << "The horizontally scrolling ${node.name()} should not contain another " +
"horizontally scrolling widget"
}