API 참조

App

기기 및 앱 정보 가져오기, 클립보드 설정, 앱 재실행, 기기 수준 설정 관리를 수행합니다. 즐겨찾기 폴더 뮤테이션은 Files 섹션에 문서화되어 있습니다.

타입 정의

bash
type App {
  usbConnected: Boolean!
  urlToken: String!              # current session token
  httpPort: Int!
  httpsPort: Int!
  appDir: String!
  deviceName: String!
  battery: Int!                  # battery level 0–100
  appVersion: Int!               # versionCode
  osVersion: Int!                # Android SDK level e.g. 35
  channel: String!               # "github" | "google"
  permissions: [String!]!        # granted API permissions
  audios: [PlaylistAudio!]!      # current playlist
  audioMode: MediaPlayMode!      # REPEAT | REPEAT_ONE | SHUFFLE
  audioCurrent: String!          # path of the playing track
  sdcardPath: String!
  usbDiskPaths: [String!]!
  internalStoragePath: String!
  downloadsDir: String!
  developerMode: Boolean!
  favoriteFolders: [FavoriteFolder!]!
}

type FavoriteFolder {
  rootPath: String!
  fullPath: String!
  alias: String              # optional display alias, nullable
}

type TempValue {
  key: String!
  value: String!
}

type DeviceInfo {
  # Hardware + OS info: manufacturer, model, sdkInt, buildChannel, etc.
  # Fields are platform-dependent; see PlainApp source for the full list.
}

type Battery {
  level: Int!                # 0–100
  status: BatteryStatus!     # CHARGING | DISCHARGING | FULL | NOT_CHARGING
  health: BatteryHealth!
  plugged: BatteryPlugged!
  temperature: Int!          # tenths of a degree Celsius
  voltage: Int!              # millivolts
}

enum BatteryStatus   { CHARGING DISCHARGING FULL NOT_CHARGING UNKNOWN }
enum BatteryHealth   { GOOD OVERHEAT DEAD OVER_VOLTAGE UNSPECIFIED_FAILURE UNKNOWN COLD }
enum BatteryPlugged  { AC USB WIRELESS NONE }

작업

query

app

단일 쿼리로 모든 기기 및 앱 상태를 가져옵니다.

bash
query GetApp {
  app {
    usbConnected urlToken httpPort httpsPort appDir deviceName
    battery appVersion osVersion channel permissions
    audios { title path duration } audioMode audioCurrent
    sdcardPath usbDiskPaths internalStoragePath downloadsDir developerMode
    favoriteFolders { rootPath fullPath alias }
  }
}
query

deviceInfo

하드웨어 및 OS 정보 (제조사, 모델, SDK 레벨 등)를 가져옵니다.

bash
query GetDeviceInfo {
  deviceInfo { manufacturer model sdkInt buildChannel }
}
query

battery

현재 배터리 잔량, 충전 상태, 상태, 전압을 가져옵니다.

bash
query GetBattery {
  battery { level status health plugged temperature voltage }
}
mutation

setTempValue

서버 메모리에 임시 키/값 쌍을 설정합니다. HTTP 서버가 재시작될 때 지워집니다.

bash
mutation SetTempValue($key: String!, $value: String!) {
  setTempValue(key: $key, value: $value) { key value }
}
mutation

relaunchApp

기기에서 PlainApp 프로세스를 다시 시작합니다.

bash
mutation RelaunchApp {
  relaunchApp
}
mutation

openAccessibilitySettings

기기에서 Android 접근성 설정 화면을 엽니다. sendScreenMirrorControl이 제스처를 디스패치하기 전에 필요합니다.

bash
mutation OpenAccessibilitySettings {
  openAccessibilitySettings
}
mutation

openWebSettings

기기에서 PlainApp web-UI 설정 화면 (비밀번호, 2FA 등)을 엽니다.

bash
mutation OpenWebSettings {
  openWebSettings
}
mutation

setClip

기기 클립보드를 주어진 텍스트로 설정합니다.

bash
mutation SetClip($text: String!) {
  setClip(text: $text)
}
mutation

updateDeviceName

web UI에 표시되고 페어링된 peers에 브로드캐스트되는 기기 표시 이름을 변경합니다.

bash
mutation UpdateDeviceName($name: String!) {
  updateDeviceName(name: $name)
}