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 {CdkAccordionModule} from '@angular/cdk/accordion'; 18import {ClipboardModule} from '@angular/cdk/clipboard'; 19import {DragDropModule} from '@angular/cdk/drag-drop'; 20import {CdkMenuModule} from '@angular/cdk/menu'; 21import {OverlayModule} from '@angular/cdk/overlay'; 22import {ScrollingModule} from '@angular/cdk/scrolling'; 23import {CommonModule} from '@angular/common'; 24import {HttpClientModule} from '@angular/common/http'; 25import {CUSTOM_ELEMENTS_SCHEMA, ErrorHandler, NgModule} from '@angular/core'; 26import {FormsModule, ReactiveFormsModule} from '@angular/forms'; 27import {MatButtonModule} from '@angular/material/button'; 28import {MatButtonToggleModule} from '@angular/material/button-toggle'; 29import {MatCardModule} from '@angular/material/card'; 30import {MatCheckboxModule} from '@angular/material/checkbox'; 31import {MatPseudoCheckboxModule} from '@angular/material/core'; 32import {MatDialogModule} from '@angular/material/dialog'; 33import {MatDividerModule} from '@angular/material/divider'; 34import {MatFormFieldModule} from '@angular/material/form-field'; 35import {MatGridListModule} from '@angular/material/grid-list'; 36import {MatIconModule} from '@angular/material/icon'; 37import {MatInputModule} from '@angular/material/input'; 38import {MatListModule} from '@angular/material/list'; 39import {MatProgressBarModule} from '@angular/material/progress-bar'; 40import {MatProgressSpinnerModule} from '@angular/material/progress-spinner'; 41import {MatRadioModule} from '@angular/material/radio'; 42import {MatSelectModule} from '@angular/material/select'; 43import {MatSliderModule} from '@angular/material/slider'; 44import {MatSnackBarModule} from '@angular/material/snack-bar'; 45import {MatTableModule} from '@angular/material/table'; 46import {MatTabsModule} from '@angular/material/tabs'; 47import {MatToolbarModule} from '@angular/material/toolbar'; 48import {MatTooltipModule} from '@angular/material/tooltip'; 49import {BrowserModule, Title} from '@angular/platform-browser'; 50import {BrowserAnimationsModule} from '@angular/platform-browser/animations'; 51import {CollapsedSectionsComponent} from 'viewers/components/collapsed_sections_component'; 52import {CollapsibleSectionTitleComponent} from 'viewers/components/collapsible_section_title_component'; 53import {CoordinatesTableComponent} from 'viewers/components/coordinates_table_component'; 54import {HierarchyComponent} from 'viewers/components/hierarchy_component'; 55import {HierarchyTreeNodeDataViewComponent} from 'viewers/components/hierarchy_tree_node_data_view_component'; 56import {ImeAdditionalPropertiesComponent} from 'viewers/components/ime_additional_properties_component'; 57import {LogComponent} from 'viewers/components/log_component'; 58import {PropertiesComponent} from 'viewers/components/properties_component'; 59import {PropertiesTableComponent} from 'viewers/components/properties_table_component'; 60import {PropertyTreeNodeDataViewComponent} from 'viewers/components/property_tree_node_data_view_component'; 61import {RectsComponent} from 'viewers/components/rects/rects_component'; 62import {SearchBoxComponent} from 'viewers/components/search_box_component'; 63import {SelectWithFilterComponent} from 'viewers/components/select_with_filter_component'; 64import {SurfaceFlingerPropertyGroupsComponent} from 'viewers/components/surface_flinger_property_groups_component'; 65import {TransformMatrixComponent} from 'viewers/components/transform_matrix_component'; 66import {TreeComponent} from 'viewers/components/tree_component'; 67import {TreeNodeComponent} from 'viewers/components/tree_node_component'; 68import {UserOptionsComponent} from 'viewers/components/user_options_component'; 69import {ViewerInputMethodComponent} from 'viewers/components/viewer_input_method_component'; 70import {ViewCapturePropertyGroupsComponent} from 'viewers/components/view_capture_property_groups_component'; 71import {ViewerInputComponent} from 'viewers/viewer_input/viewer_input_component'; 72import {ViewerJankCujsComponent} from 'viewers/viewer_jank_cujs/viewer_jank_cujs_component'; 73import {ViewerMediaBasedComponent} from 'viewers/viewer_media_based/viewer_media_based_component'; 74import {ProtologScrollDirective} from 'viewers/viewer_protolog/scroll_strategy/protolog_scroll_directive'; 75import {ViewerProtologComponent} from 'viewers/viewer_protolog/viewer_protolog_component'; 76import {ActiveSearchComponent} from 'viewers/viewer_search/active_search_component'; 77import {SearchListComponent} from 'viewers/viewer_search/search_list_component'; 78import {ViewerSearchComponent} from 'viewers/viewer_search/viewer_search_component'; 79import {ViewerSurfaceFlingerComponent} from 'viewers/viewer_surface_flinger/viewer_surface_flinger_component'; 80import {TransactionsScrollDirective} from 'viewers/viewer_transactions/scroll_strategy/transactions_scroll_directive'; 81import {ViewerTransactionsComponent} from 'viewers/viewer_transactions/viewer_transactions_component'; 82import {TransitionsScrollDirective} from 'viewers/viewer_transitions/scroll_strategy/transitions_scroll_directive'; 83import {ViewerTransitionsComponent} from 'viewers/viewer_transitions/viewer_transitions_component'; 84import {ViewerViewCaptureComponent} from 'viewers/viewer_view_capture/viewer_view_capture_component'; 85import {ViewerWindowManagerComponent} from 'viewers/viewer_window_manager/viewer_window_manager_component'; 86import {AppComponent} from './components/app_component'; 87import { 88 MatDrawer, 89 MatDrawerContainer, 90 MatDrawerContent, 91} from './components/bottomnav/bottom_drawer_component'; 92import {CollectTracesComponent} from './components/collect_traces_component'; 93import {LoadProgressComponent} from './components/load_progress_component'; 94import {ShortcutsComponent} from './components/shortcuts_component'; 95import {SnackBarComponent} from './components/snack_bar_component'; 96import {DefaultTimelineRowComponent} from './components/timeline/expanded-timeline/default_timeline_row_component'; 97import {ExpandedTimelineComponent} from './components/timeline/expanded-timeline/expanded_timeline_component'; 98import {TransitionTimelineComponent} from './components/timeline/expanded-timeline/transition_timeline_component'; 99import {MiniTimelineComponent} from './components/timeline/mini-timeline/mini_timeline_component'; 100import {SliderComponent} from './components/timeline/mini-timeline/slider_component'; 101import {TimelineComponent} from './components/timeline/timeline_component'; 102import {TraceConfigComponent} from './components/trace_config_component'; 103import {TraceViewComponent} from './components/trace_view_component'; 104import {UploadTracesComponent} from './components/upload_traces_component'; 105import {WarningDialogComponent} from './components/warning_dialog_component'; 106import {WdpSetupComponent} from './components/wdp_setup_component'; 107import {WinscopeProxySetupComponent} from './components/winscope_proxy_setup_component'; 108import {GlobalErrorHandler} from './global_error_handler'; 109 110@NgModule({ 111 declarations: [ 112 AppComponent, 113 ViewerWindowManagerComponent, 114 ViewerSurfaceFlingerComponent, 115 ViewerInputComponent, 116 ViewerInputMethodComponent, 117 ViewerProtologComponent, 118 ViewerJankCujsComponent, 119 ViewerTransactionsComponent, 120 ViewerMediaBasedComponent, 121 ViewerTransitionsComponent, 122 ViewerViewCaptureComponent, 123 ViewerSearchComponent, 124 CollectTracesComponent, 125 UploadTracesComponent, 126 WinscopeProxySetupComponent, 127 WdpSetupComponent, 128 TraceConfigComponent, 129 HierarchyComponent, 130 PropertiesComponent, 131 RectsComponent, 132 TraceViewComponent, 133 TreeComponent, 134 TreeNodeComponent, 135 HierarchyTreeNodeDataViewComponent, 136 PropertyTreeNodeDataViewComponent, 137 SurfaceFlingerPropertyGroupsComponent, 138 TransformMatrixComponent, 139 PropertiesTableComponent, 140 ImeAdditionalPropertiesComponent, 141 CoordinatesTableComponent, 142 TimelineComponent, 143 MiniTimelineComponent, 144 ExpandedTimelineComponent, 145 DefaultTimelineRowComponent, 146 TransitionTimelineComponent, 147 SnackBarComponent, 148 MatDrawer, 149 MatDrawerContent, 150 MatDrawerContainer, 151 LoadProgressComponent, 152 SliderComponent, 153 ProtologScrollDirective, 154 TransactionsScrollDirective, 155 TransitionsScrollDirective, 156 ViewCapturePropertyGroupsComponent, 157 SelectWithFilterComponent, 158 ShortcutsComponent, 159 CollapsedSectionsComponent, 160 CollapsibleSectionTitleComponent, 161 UserOptionsComponent, 162 LogComponent, 163 WarningDialogComponent, 164 SearchBoxComponent, 165 SearchListComponent, 166 ActiveSearchComponent, 167 ], 168 imports: [ 169 BrowserModule, 170 HttpClientModule, 171 CommonModule, 172 MatCardModule, 173 MatButtonModule, 174 MatGridListModule, 175 FormsModule, 176 MatListModule, 177 MatCheckboxModule, 178 MatDividerModule, 179 MatIconModule, 180 MatProgressSpinnerModule, 181 MatProgressBarModule, 182 MatFormFieldModule, 183 MatInputModule, 184 MatSelectModule, 185 BrowserAnimationsModule, 186 HttpClientModule, 187 MatSliderModule, 188 MatRadioModule, 189 MatTooltipModule, 190 MatToolbarModule, 191 MatTabsModule, 192 MatSnackBarModule, 193 ScrollingModule, 194 DragDropModule, 195 ClipboardModule, 196 ReactiveFormsModule, 197 CdkMenuModule, 198 MatDialogModule, 199 MatTableModule, 200 OverlayModule, 201 CdkAccordionModule, 202 MatButtonToggleModule, 203 MatPseudoCheckboxModule, 204 ], 205 providers: [Title, {provide: ErrorHandler, useClass: GlobalErrorHandler}], 206 schemas: [CUSTOM_ELEMENTS_SCHEMA], 207 bootstrap: [AppComponent], 208}) 209export class AppModule {} 210