xref: /aosp_15_r20/development/tools/winscope/src/app/app_module.ts (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1/*
2 * Copyright (C) 2022 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17import {ClipboardModule} from '@angular/cdk/clipboard';
18import {DragDropModule} from '@angular/cdk/drag-drop';
19import {CdkMenuModule} from '@angular/cdk/menu';
20import {OverlayModule} from '@angular/cdk/overlay';
21import {ScrollingModule} from '@angular/cdk/scrolling';
22import {CommonModule} from '@angular/common';
23import {HttpClientModule} from '@angular/common/http';
24import {CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, NgModule} from '@angular/core';
25import {FormsModule, ReactiveFormsModule} from '@angular/forms';
26import {MatButtonModule} from '@angular/material/button';
27import {MatCardModule} from '@angular/material/card';
28import {MatCheckboxModule} from '@angular/material/checkbox';
29import {MatDialogModule} from '@angular/material/dialog';
30import {MatDividerModule} from '@angular/material/divider';
31import {MatFormFieldModule} from '@angular/material/form-field';
32import {MatGridListModule} from '@angular/material/grid-list';
33import {MatIconModule} from '@angular/material/icon';
34import {MatInputModule} from '@angular/material/input';
35import {MatListModule} from '@angular/material/list';
36import {MatProgressBarModule} from '@angular/material/progress-bar';
37import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
38import {MatRadioModule} from '@angular/material/radio';
39import {MatSelectModule} from '@angular/material/select';
40import {MatSliderModule} from '@angular/material/slider';
41import {MatSnackBarModule} from '@angular/material/snack-bar';
42import {MatTableModule} from '@angular/material/table';
43import {MatTabsModule} from '@angular/material/tabs';
44import {MatToolbarModule} from '@angular/material/toolbar';
45import {MatTooltipModule} from '@angular/material/tooltip';
46import {BrowserModule, Title} from '@angular/platform-browser';
47import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
48import {CollapsedSectionsComponent} from 'viewers/components/collapsed_sections_component';
49import {CollapsibleSectionTitleComponent} from 'viewers/components/collapsible_section_title_component';
50import {CoordinatesTableComponent} from 'viewers/components/coordinates_table_component';
51import {HierarchyComponent} from 'viewers/components/hierarchy_component';
52import {HierarchyTreeNodeDataViewComponent} from 'viewers/components/hierarchy_tree_node_data_view_component';
53import {ImeAdditionalPropertiesComponent} from 'viewers/components/ime_additional_properties_component';
54import {LogComponent} from 'viewers/components/log_component';
55import {PropertiesComponent} from 'viewers/components/properties_component';
56import {PropertiesTableComponent} from 'viewers/components/properties_table_component';
57import {PropertyTreeNodeDataViewComponent} from 'viewers/components/property_tree_node_data_view_component';
58import {RectsComponent} from 'viewers/components/rects/rects_component';
59import {SearchBoxComponent} from 'viewers/components/search_box_component';
60import {SelectWithFilterComponent} from 'viewers/components/select_with_filter_component';
61import {SurfaceFlingerPropertyGroupsComponent} from 'viewers/components/surface_flinger_property_groups_component';
62import {TransformMatrixComponent} from 'viewers/components/transform_matrix_component';
63import {TreeComponent} from 'viewers/components/tree_component';
64import {TreeNodeComponent} from 'viewers/components/tree_node_component';
65import {UserOptionsComponent} from 'viewers/components/user_options_component';
66import {ViewerInputMethodComponent} from 'viewers/components/viewer_input_method_component';
67import {ViewCapturePropertyGroupsComponent} from 'viewers/components/view_capture_property_groups_component';
68import {ViewerInputComponent} from 'viewers/viewer_input/viewer_input_component';
69import {ViewerJankCujsComponent} from 'viewers/viewer_jank_cujs/viewer_jank_cujs_component';
70import {ViewerMediaBasedComponent} from 'viewers/viewer_media_based/viewer_media_based_component';
71import {ProtologScrollDirective} from 'viewers/viewer_protolog/scroll_strategy/protolog_scroll_directive';
72import {ViewerProtologComponent} from 'viewers/viewer_protolog/viewer_protolog_component';
73import {SearchListComponent} from 'viewers/viewer_search/search_list_component';
74import {ViewerSearchComponent} from 'viewers/viewer_search/viewer_search_component';
75import {ViewerSurfaceFlingerComponent} from 'viewers/viewer_surface_flinger/viewer_surface_flinger_component';
76import {TransactionsScrollDirective} from 'viewers/viewer_transactions/scroll_strategy/transactions_scroll_directive';
77import {ViewerTransactionsComponent} from 'viewers/viewer_transactions/viewer_transactions_component';
78import {TransitionsScrollDirective} from 'viewers/viewer_transitions/scroll_strategy/transitions_scroll_directive';
79import {ViewerTransitionsComponent} from 'viewers/viewer_transitions/viewer_transitions_component';
80import {ViewerViewCaptureComponent} from 'viewers/viewer_view_capture/viewer_view_capture_component';
81import {ViewerWindowManagerComponent} from 'viewers/viewer_window_manager/viewer_window_manager_component';
82import {AdbProxyComponent} from './components/adb_proxy_component';
83import {AppComponent} from './components/app_component';
84import {
85  MatDrawer,
86  MatDrawerContainer,
87  MatDrawerContent,
88} from './components/bottomnav/bottom_drawer_component';
89import {CollectTracesComponent} from './components/collect_traces_component';
90import {LoadProgressComponent} from './components/load_progress_component';
91import {ShortcutsComponent} from './components/shortcuts_component';
92import {SnackBarComponent} from './components/snack_bar_component';
93import {DefaultTimelineRowComponent} from './components/timeline/expanded-timeline/default_timeline_row_component';
94import {ExpandedTimelineComponent} from './components/timeline/expanded-timeline/expanded_timeline_component';
95import {TransitionTimelineComponent} from './components/timeline/expanded-timeline/transition_timeline_component';
96import {MiniTimelineComponent} from './components/timeline/mini-timeline/mini_timeline_component';
97import {SliderComponent} from './components/timeline/mini-timeline/slider_component';
98import {TimelineComponent} from './components/timeline/timeline_component';
99import {TraceConfigComponent} from './components/trace_config_component';
100import {TraceViewComponent} from './components/trace_view_component';
101import {UploadTracesComponent} from './components/upload_traces_component';
102import {WarningDialogComponent} from './components/warning_dialog_component';
103import {WebAdbComponent} from './components/web_adb_component';
104import {GlobalErrorHandler} from './global_error_handler';
105
106@NgModule({
107  declarations: [
108    AppComponent,
109    ViewerWindowManagerComponent,
110    ViewerSurfaceFlingerComponent,
111    ViewerInputComponent,
112    ViewerInputMethodComponent,
113    ViewerProtologComponent,
114    ViewerJankCujsComponent,
115    ViewerTransactionsComponent,
116    ViewerMediaBasedComponent,
117    ViewerTransitionsComponent,
118    ViewerViewCaptureComponent,
119    ViewerSearchComponent,
120    CollectTracesComponent,
121    UploadTracesComponent,
122    AdbProxyComponent,
123    WebAdbComponent,
124    TraceConfigComponent,
125    HierarchyComponent,
126    PropertiesComponent,
127    RectsComponent,
128    TraceViewComponent,
129    TreeComponent,
130    TreeNodeComponent,
131    HierarchyTreeNodeDataViewComponent,
132    PropertyTreeNodeDataViewComponent,
133    SurfaceFlingerPropertyGroupsComponent,
134    TransformMatrixComponent,
135    PropertiesTableComponent,
136    ImeAdditionalPropertiesComponent,
137    CoordinatesTableComponent,
138    TimelineComponent,
139    MiniTimelineComponent,
140    ExpandedTimelineComponent,
141    DefaultTimelineRowComponent,
142    TransitionTimelineComponent,
143    SnackBarComponent,
144    MatDrawer,
145    MatDrawerContent,
146    MatDrawerContainer,
147    LoadProgressComponent,
148    SliderComponent,
149    ProtologScrollDirective,
150    TransactionsScrollDirective,
151    TransitionsScrollDirective,
152    ViewCapturePropertyGroupsComponent,
153    SelectWithFilterComponent,
154    ShortcutsComponent,
155    CollapsedSectionsComponent,
156    CollapsibleSectionTitleComponent,
157    UserOptionsComponent,
158    LogComponent,
159    WarningDialogComponent,
160    SearchBoxComponent,
161    SearchListComponent,
162  ],
163  imports: [
164    BrowserModule,
165    HttpClientModule,
166    CommonModule,
167    MatCardModule,
168    MatButtonModule,
169    MatGridListModule,
170    FormsModule,
171    MatListModule,
172    MatCheckboxModule,
173    MatDividerModule,
174    MatIconModule,
175    MatProgressSpinnerModule,
176    MatProgressBarModule,
177    MatFormFieldModule,
178    MatInputModule,
179    MatSelectModule,
180    BrowserAnimationsModule,
181    HttpClientModule,
182    MatSliderModule,
183    MatRadioModule,
184    MatTooltipModule,
185    MatToolbarModule,
186    MatTabsModule,
187    MatSnackBarModule,
188    ScrollingModule,
189    DragDropModule,
190    ClipboardModule,
191    ReactiveFormsModule,
192    CdkMenuModule,
193    MatDialogModule,
194    MatTableModule,
195    OverlayModule,
196  ],
197  providers: [Title, {provide: ErrorHandler, useClass: GlobalErrorHandler}],
198  schemas: [CUSTOM_ELEMENTS_SCHEMA],
199  bootstrap: [AppComponent],
200})
201export class AppModule {}
202