in facebook-core/src/main/java/com/facebook/appevents/codeless/internal/ViewHierarchy.kt [219:254]
fun getClassTypeBitmask(view: View): Int {
var bitmask = 0
if (view is ImageView) {
bitmask = bitmask or (1 shl IMAGEVIEW_BITMASK)
}
if (view.isClickable) {
bitmask = bitmask or (1 shl CLICKABLE_VIEW_BITMASK)
}
if (isAdapterViewItem(view)) {
bitmask = bitmask or (1 shl ADAPTER_VIEW_ITEM_BITMASK)
}
if (view is TextView) {
bitmask = bitmask or (1 shl LABEL_BITMASK)
bitmask = bitmask or (1 shl TEXTVIEW_BITMASK)
if (view is Button) {
bitmask = bitmask or (1 shl BUTTON_BITMASK)
if (view is Switch) {
bitmask = bitmask or (1 shl SWITCH_BITMASK)
} else if (view is CheckBox) {
bitmask = bitmask or (1 shl CHECKBOX_BITMASK)
}
}
if (view is EditText) {
bitmask = bitmask or (1 shl INPUT_BITMASK)
}
} else if (view is Spinner || view is DatePicker) {
bitmask = bitmask or (1 shl PICKER_BITMASK)
} else if (view is RatingBar) {
bitmask = bitmask or (1 shl RATINGBAR_BITMASK)
} else if (view is RadioGroup) {
bitmask = bitmask or (1 shl RADIO_GROUP_BITMASK)
} else if (view is ViewGroup && isRCTButton(view, RCTRootViewReference.get())) {
bitmask = bitmask or (1 shl REACT_NATIVE_BUTTON_BITMASK)
}
return bitmask
}