-
Notifications
You must be signed in to change notification settings - Fork 0
/
Constants.ts
128 lines (119 loc) · 2.87 KB
/
Constants.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/**
* Created by Evan on 10/17/2016.
*/
class Constants{
static VALID_VIEW_TYPES: string[] = [
"Layout",
"ActionMenuView",
"AutoCompleteTextView",
"Button",
"CalendarView",
"CheckBox",
"CheckedTextView",
"Chronometer",
"DatePicker",
"DigitalClock",
"EditText",
"ExpandableListView",
"FrameLayout",
"Gallery",
"GridLayout",
"GridView",
"HorizontalScrollView",
"ImageButton",
"ImageSwitcher",
"ImageView",
"LinearLayout",
"ListPopupWindow",
"ListView",
"MediaController",
"MultiAutoCompleteTextView",
"NumberPicker",
"OverScroller",
"PopupMenu",
"PopupWindow",
"ProgressBar",
"QuickContactBadge",
"RadioButton",
"RadioGroup",
"RatingBar",
"RelativeLayout",
"RemoteViews",
"Scroller",
"ScrollView",
"SearchView",
"SeekBar",
"SlidingDrawer",
"Space",
"Spinner",
"StackView",
"Switch",
"TabHost",
"TableLayout",
"TableRow",
"TabWidget",
"TextClock",
"TextSwitcher",
"TextView",
"TimePicker",
"Toast",
"ToggleButton",
"Toolbar",
"TwoLineListItem",
"View",
"VideoView",
"ViewAnimator",
"ViewFlipper",
"ViewSwitcher",
"ZoomButton",
"PercentRelativeLayout"
];
static ROOT_FILTERS: [string, string][] = [
["PercentRelativeLayout", "android.support.percent.PercentRelativeLayout"],
["Layout", ""]
];
static LAYOUT_METHODS: string[] = [
"addChild",
"setMatchParent",
"setWrapContent"
];
static INDEPENDENT_METHODS: string[] = [
"GenerateIds",
"Colorify"
];
public static isValidType(type: string): boolean{
for(var entry of this.VALID_VIEW_TYPES){
if(entry == type){
return true;
}
}
return false;
}
public static hasRootFilter(type: string): boolean{
for(var entry of this.ROOT_FILTERS){
if(entry[0] == type){
return true;
}
}
return false;
}
public static getRootFilter(type: string): string{
for(var entry of this.ROOT_FILTERS){
if(entry[0] == type){
return entry[1];
}
}
}
static getRootTag(type: string): string {
for(var entry of this.VALID_VIEW_TYPES){
if(entry == type){
if(Constants.hasRootFilter(type)){
return Constants.getRootFilter(type);
}
else{
return entry;
}
}
}
}
}