• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2022 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15import {AdbConnectionOverWebsocket} from '../adb_connection_over_websocket';
16import {
17  OnTargetChangeCallback,
18  TargetInfo,
19} from '../recording_interfaces_v2';
20import {AndroidTarget} from './android_target';
21
22export class AndroidWebsocketTarget extends AndroidTarget {
23  constructor(
24      private serialNumber: string, websocketUrl: string,
25      onTargetChange: OnTargetChangeCallback) {
26    super(
27        new AdbConnectionOverWebsocket(serialNumber, websocketUrl),
28        onTargetChange);
29  }
30
31  getInfo(): TargetInfo {
32    return {
33      targetType: 'ANDROID',
34      // 'androidApiLevel' will be populated after ADB authorization.
35      androidApiLevel: this.androidApiLevel,
36      dataSources: this.dataSources || [],
37      name: this.serialNumber + ' WebSocket',
38    };
39  }
40}
41