├── .github
└── workflows
│ ├── Archive-CN.yml
│ └── Archive-SG.yml
├── .gitignore
├── AgoraScan
├── CHANGELOG.md
├── FillSecret.sh
├── Flat-Test-Info.plist
├── Flat.xcodeproj
├── project.pbxproj
└── xcshareddata
│ └── xcschemes
│ ├── Flat-DEV.xcscheme
│ ├── Flat-NOSIGN.xcscheme
│ ├── Flat-PROD.xcscheme
│ ├── Flat_Debug_Test.xcscheme
│ ├── Flat_Release_Test.xcscheme
│ ├── Flint-PROD.xcscheme
│ ├── Flint_DEV.xcscheme
│ └── Flint_Release_Test.xcscheme
├── Flat
├── Api
│ ├── Core
│ │ ├── AnyRequest.swift
│ │ ├── ApiError.swift
│ │ ├── ApiProvider.swift
│ │ ├── EmptyResponse.swift
│ │ ├── Encode&Decode
│ │ │ ├── AnyCodingKey.swift
│ │ │ ├── AnyEncodable.swift
│ │ │ ├── AnyKeyDecodable.swift
│ │ │ ├── ParameterEncoder.swift
│ │ │ └── URLEncoder.swift
│ │ ├── Extension
│ │ │ ├── JSONDecoder+AnyKeyDecodable.swift
│ │ │ ├── JSONDecoder+Extension.swift
│ │ │ ├── JSONEncoder+Extension.swift
│ │ │ └── URLRequest+Extension.swift
│ │ ├── FlatServerError.swift
│ │ ├── Generator.swift
│ │ ├── Generators
│ │ │ ├── AgoraRequestGenerator.swift
│ │ │ └── FlatRequestGenerator.swift
│ │ ├── Method.swift
│ │ ├── Multipart
│ │ │ ├── HTTPHeaders.swift
│ │ │ └── MultipartFormData.swift
│ │ ├── Request.swift
│ │ ├── Request
│ │ │ ├── AgoraRequest.swift
│ │ │ └── FlatRequest.swift
│ │ ├── ResponseDataHandler.swift
│ │ ├── ResponseDataHandlers
│ │ │ ├── AgoraResponseDataHandler.swift
│ │ │ ├── FlatResponse.swift
│ │ │ └── FlatResponseDataHandler.swift
│ │ └── Task.swift
│ └── Requests
│ │ ├── Agora
│ │ ├── HistoryMessageRequest.swift
│ │ └── HistoryMessageSourceRequest.swift
│ │ └── Flat
│ │ ├── Auth
│ │ ├── AppleBindingRequest.swift
│ │ ├── AppleLoginRequest.swift
│ │ ├── AuthProcessRequest.swift
│ │ ├── BindListRequest.swift
│ │ ├── BindingEmailRequest.swift
│ │ ├── BindingPhoneRequest.swift
│ │ ├── PasswordLoginRequest.swift
│ │ ├── PhoneSMSLoginRequest.swift
│ │ ├── PrepareAvatarUploadRequest.swift
│ │ ├── RebindingPhoneRequest.swift
│ │ ├── RemoveBindingRequest.swift
│ │ ├── ResetPasswordRequest.swift
│ │ ├── SMSRequest.swift
│ │ ├── SetAuthUuidRequest.swift
│ │ ├── SetBindingAuthUUIDRequest.swift
│ │ ├── SignUpRequest.swift
│ │ ├── UpdatePasswordRequest.swift
│ │ ├── UploadAvatarFinishRequest.swift
│ │ ├── UserRenameRequest.swift
│ │ ├── WechatAuthCallbackRequest.swift
│ │ └── WechatBindingRequest.swift
│ │ ├── CancelRoomHistoryRequest copy.swift
│ │ ├── CancelUploadRequest.swift
│ │ ├── Cancelation
│ │ ├── AccountCancelationRequest.swift
│ │ └── AccountCancelationValidateRequest.swift
│ │ ├── Classroom
│ │ ├── TempPhotoFinishRequest.swift
│ │ └── TempPhotoStartRequest.swift
│ │ ├── CreateRoomRequest.swift
│ │ ├── FinishConvertRequest.swift
│ │ ├── GetConfigRequest.swift
│ │ ├── JoinRoomRequest.swift
│ │ ├── MemberRequest.swift
│ │ ├── MessageCensorRequest.swift
│ │ ├── PrepareUploadRequest.swift
│ │ ├── Record
│ │ ├── RecordAcquireRequest.swift
│ │ ├── RecordQueryRequest.swift
│ │ ├── StartRecordReqeust.swift
│ │ ├── StopRecordRequest.swift
│ │ ├── UpdateLayoutRequest.swift
│ │ └── UpdateRecordEndTimeRequest.swift
│ │ ├── RecordDetailRequest.swift
│ │ ├── RemoveFilesRequest.swift
│ │ ├── RenameFileRequest.swift
│ │ ├── RoomCancelRequest.swift
│ │ ├── RoomHistoryRequest.swift
│ │ ├── RoomListRequest.swift
│ │ ├── RoomStatusUpdateRequest.swift
│ │ ├── StartConvertRequest.swift
│ │ ├── StorageCreateDirectoryRequest.swift
│ │ ├── StorageListRequest.swift
│ │ ├── StorageMoveFileRequest.swift
│ │ ├── UploadFinishRequest.swift
│ │ └── VideoDataCollectionReqeust.swift
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── icon-1024.png
│ │ ├── icon-20-ipad.png
│ │ ├── icon-20@2x-ipad.png
│ │ ├── icon-20@2x.png
│ │ ├── icon-20@3x.png
│ │ ├── icon-29-ipad.png
│ │ ├── icon-29.png
│ │ ├── icon-29@2x-ipad.png
│ │ ├── icon-29@2x.png
│ │ ├── icon-29@3x.png
│ │ ├── icon-40.png
│ │ ├── icon-40@2x 1.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-40@3x.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ └── icon-83.5@2x.png
│ ├── ClassRoom
│ │ ├── Contents.json
│ │ ├── chat.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组备份 12.pdf
│ │ │ └── 编组备份 13.pdf
│ │ ├── classroom_cloud.imageset
│ │ │ ├── Contents.json
│ │ │ ├── cloudOutlined 1.pdf
│ │ │ └── cloudOutlined.pdf
│ │ ├── classroom_more.imageset
│ │ │ ├── Contents.json
│ │ │ ├── more@2x.png
│ │ │ └── more@3x.png
│ │ ├── classroom_record.imageset
│ │ │ ├── Contents.json
│ │ │ ├── record 1.pdf
│ │ │ └── record.pdf
│ │ ├── classroom_setting.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 5.pdf
│ │ │ └── 编组 6.pdf
│ │ ├── classroom_take_photo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── record 1.pdf
│ │ │ └── record.pdf
│ │ ├── disconnect_speak.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形备份 25@2x(33).png
│ │ │ └── 矩形备份 25@3x(33).png
│ │ ├── invite.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 1262.pdf
│ │ │ └── 编组备份 10.pdf
│ │ ├── message_ban.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 2@2x.png
│ │ │ └── 编组 2@3x.png
│ │ ├── network-bad.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 446-2.pdf
│ │ ├── network-good.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 446-1.pdf
│ │ ├── network-great.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 446.pdf
│ │ ├── raisehand_normal.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 1191@2x 1.png
│ │ │ ├── Group 1191@3x 1.png
│ │ │ ├── Group 1273@2x.png
│ │ │ ├── Group 1273@3x.png
│ │ │ ├── Group 1739.png
│ │ │ ├── Group 1739@2x.png
│ │ │ ├── Group 1740.png
│ │ │ └── Group 1740@2x.png
│ │ ├── raisehand_selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 1190.png
│ │ │ ├── Group 1190@2x 1.png
│ │ │ ├── Group 1190@2x 2.png
│ │ │ ├── Group 1190@2x.png
│ │ │ ├── Group 1190@3x.png
│ │ │ ├── Group 1191.png
│ │ │ ├── Group 1191@2x.png
│ │ │ └── Group 1191@3x.png
│ │ ├── raisehand_small_icon.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 1697.pdf
│ │ ├── send_message.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形备份 16@2x.png
│ │ │ └── 矩形备份 16@3x.png
│ │ ├── statusbar_onstage_user.imageset
│ │ │ ├── Contents.json
│ │ │ └── userGroup.pdf
│ │ ├── teach_icon.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 965@2x 1.png
│ │ │ ├── Group 965@2x.png
│ │ │ ├── Group 965@3x 1.png
│ │ │ └── Group 965@3x.png
│ │ ├── users.imageset
│ │ │ ├── Contents.json
│ │ │ ├── userGroup 1.pdf
│ │ │ └── userGroup.pdf
│ │ ├── whiteboard_bg_#064D6D.imageset
│ │ │ ├── Contents.json
│ │ │ └── whiteboard_bg_blue.pdf
│ │ ├── whiteboard_bg_#446550.imageset
│ │ │ ├── Contents.json
│ │ │ └── whiteboard_bg_green.pdf
│ │ ├── whiteboard_bg_#49585F.imageset
│ │ │ ├── Contents.json
│ │ │ └── whiteboard_bg_gray.pdf
│ │ └── whiteboard_bg_default.imageset
│ │ │ ├── Contents.json
│ │ │ └── whiteboard_bg_default.pdf
│ ├── ClassroomType
│ │ ├── BigClass.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 912@2x.png
│ │ │ └── Group 912@3x.png
│ │ ├── Contents.json
│ │ ├── OneToOne.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 911@2x.png
│ │ │ └── Group 911@3x.png
│ │ └── SmallClass.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 908@2x.png
│ │ │ └── Group 908@3x.png
│ ├── CloudStorage
│ │ ├── Contents.json
│ │ ├── Upload
│ │ │ ├── Contents.json
│ │ │ ├── status
│ │ │ │ ├── Contents.json
│ │ │ │ ├── upload_cancel.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── 矩形备份 24@2x(2).png
│ │ │ │ │ └── 矩形备份 24@3x(2).png
│ │ │ │ ├── upload_reupload.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── 矩形备份 44@2x.png
│ │ │ │ │ └── 矩形备份 44@3x.png
│ │ │ │ └── upload_success.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── 编组@2x.png
│ │ │ │ │ └── 编组@3x.png
│ │ │ ├── upload_audio.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── Group 857.pdf
│ │ │ ├── upload_doc.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── file.pdf
│ │ │ ├── upload_image.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── fileImage.pdf
│ │ │ └── upload_video.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── record.pdf
│ │ ├── cloud_file_more.imageset
│ │ │ ├── Contents.json
│ │ │ └── moreVertical.pdf
│ │ ├── create_directory.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 1038.pdf
│ │ ├── edit.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形备份 24@2x.png
│ │ │ └── 矩形备份 24@3x.png
│ │ ├── listInClassRoom
│ │ │ ├── Contents.json
│ │ │ ├── arrowRight.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── arrowRight@2x.png
│ │ │ │ └── arrowRight@3x.png
│ │ │ ├── cloud_storage_selection.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── circleCheckOutlined@2x.png
│ │ │ │ └── circleCheckOutlined@3x.png
│ │ │ ├── storage_add.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Group 1220@2x.png
│ │ │ │ └── Group 1220@3x.png
│ │ │ ├── storage_add_small.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── pages备份 4@2x.png
│ │ │ │ └── pages备份 4@3x.png
│ │ │ ├── storage_directory.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── file.pdf
│ │ │ ├── storage_type_doc.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── fileWord@2x.png
│ │ │ │ └── fileWord@3x.png
│ │ │ ├── storage_type_img.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── fileImage@2x.png
│ │ │ │ └── fileImage@3x.png
│ │ │ ├── storage_type_music.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── fileAudio@2x.png
│ │ │ │ └── fileAudio@3x.png
│ │ │ ├── storage_type_pdf.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── fileOnenote@2x.png
│ │ │ │ └── fileOnenote@3x.png
│ │ │ ├── storage_type_ppt.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── 编组 5备份 11@2x.png
│ │ │ │ └── 编组 5备份 11@3x.png
│ │ │ └── storage_type_video.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── fileVideo@2x.png
│ │ │ │ └── fileVideo@3x.png
│ │ └── upload_list.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组备份 7@2x.png
│ │ │ └── 编组备份 7@3x.png
│ ├── Common
│ │ ├── Contents.json
│ │ ├── camera.imageset
│ │ │ ├── Contents.json
│ │ │ ├── camera@2x.png
│ │ │ └── camera@3x.png
│ │ ├── checklist_normal.imageset
│ │ │ ├── Contents.json
│ │ │ └── 矩形.pdf
│ │ ├── checklist_selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── 编组 21.pdf
│ │ ├── circle.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 椭圆形备份 3@2x.png
│ │ │ └── 椭圆形备份 3@3x.png
│ │ ├── command.imageset
│ │ │ ├── Contents.json
│ │ │ └── general.pdf
│ │ ├── common_camera_off.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 806.pdf
│ │ ├── common_camera_on.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 946.pdf
│ │ ├── common_mic_off.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 951.pdf
│ │ ├── common_mic_on.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 947.pdf
│ │ ├── microphone.imageset
│ │ │ ├── Contents.json
│ │ │ ├── microphone@2x.png
│ │ │ └── microphone@3x.png
│ │ ├── record.imageset
│ │ │ ├── Contents.json
│ │ │ ├── record@2x.png
│ │ │ └── record@3x.png
│ │ ├── triangle_down.imageset
│ │ │ ├── Contents.json
│ │ │ ├── down@2x.png
│ │ │ └── down@3x.png
│ │ ├── triangle_rt.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形@2x(13).png
│ │ │ └── 矩形@3x(13).png
│ │ └── video_area.imageset
│ │ │ ├── Contents.json
│ │ │ ├── record@2x.png
│ │ │ └── record@3x.png
│ ├── Contents.json
│ ├── Empty
│ │ ├── Contents.json
│ │ ├── cloud_empty.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2190@2x.png
│ │ │ ├── Group 2190@3x.png
│ │ │ ├── Group 2194@2x.png
│ │ │ └── Group 2194@3x.png
│ │ ├── history_empty.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2191@2x.png
│ │ │ ├── Group 2191@3x.png
│ │ │ ├── Group 2193@2x.png
│ │ │ └── Group 2193@3x.png
│ │ ├── message_empty.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2171@2x-1.png
│ │ │ ├── Group 2171@2x.png
│ │ │ ├── Group 2171@3x-1.png
│ │ │ └── Group 2171@3x.png
│ │ └── room_empty.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2192@2x.png
│ │ │ ├── Group 2192@3x.png
│ │ │ ├── Group 2195@2x.png
│ │ │ └── Group 2195@3x.png
│ ├── FlintIcon.appiconset
│ │ ├── Contents.json
│ │ ├── icon-1024.png
│ │ ├── icon-20-ipad.png
│ │ ├── icon-20@2x 1.png
│ │ ├── icon-20@2x-ipad.png
│ │ ├── icon-20@3x.png
│ │ ├── icon-29-ipad.png
│ │ ├── icon-29.png
│ │ ├── icon-29@2x-ipad.png
│ │ ├── icon-29@2x.png
│ │ ├── icon-29@3x.png
│ │ ├── icon-40.png
│ │ ├── icon-40@2x 1.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-40@3x.png
│ │ ├── icon-57.png
│ │ ├── icon-57@2x.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ └── icon-83.5@2x 1.png
│ ├── Home
│ │ ├── Contents.json
│ │ ├── history.imageset
│ │ │ ├── Contents.json
│ │ │ ├── time@2x.png
│ │ │ └── time@3x.png
│ │ ├── right.imageset
│ │ │ ├── Contents.json
│ │ │ ├── right@2x.png
│ │ │ └── right@3x.png
│ │ ├── room_calendar.imageset
│ │ │ ├── Contents.json
│ │ │ ├── calendar@2x.png
│ │ │ └── calendar@3x.png
│ │ ├── room_create.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 22@2x.png
│ │ │ └── 编组 22@3x.png
│ │ └── room_join.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 37@2x.png
│ │ │ └── 编组 37@3x.png
│ ├── Login
│ │ ├── Contents.json
│ │ ├── arrow_down.imageset
│ │ │ ├── Contents.json
│ │ │ ├── arrow_down@2x.png
│ │ │ └── arrow_down@3x.png
│ │ ├── close-bold.imageset
│ │ │ ├── Contents.json
│ │ │ ├── previous备份 23@2x.png
│ │ │ └── previous备份 23@3x.png
│ │ ├── email_icon.imageset
│ │ │ ├── Contents.json
│ │ │ ├── whiteboard@2x.png
│ │ │ └── whiteboard@3x.png
│ │ ├── login_apple.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 411@2x.png
│ │ │ └── Group 411@3x.png
│ │ ├── login_compact_bg.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2117@2x.png
│ │ │ ├── Group 2117@3x.png
│ │ │ ├── Group 2119@2x.png
│ │ │ ├── Group 2119@3x.png
│ │ │ ├── 文案配图@2x-1.png
│ │ │ ├── 文案配图@2x.png
│ │ │ ├── 文案配图@3x-1.png
│ │ │ └── 文案配图@3x.png
│ │ ├── login_default_avatar.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 872@2x.png
│ │ │ └── Group 872@3x.png
│ │ ├── login_github.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 411@2x.png
│ │ │ └── Group 411@3x.png
│ │ ├── login_google.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 413@2x.png
│ │ │ └── Group 413@3x.png
│ │ ├── login_icon.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 27@2x.png
│ │ │ └── Group 27@3x.png
│ │ ├── login_pad.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 2111.pdf
│ │ │ ├── Group 2118.pdf
│ │ │ ├── Group 2119.pdf
│ │ │ └── Group 2120.pdf
│ │ ├── login_wechat.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 412@2x.png
│ │ │ └── Group 412@3x.png
│ │ ├── no_secure_keyboard.imageset
│ │ │ ├── Contents.json
│ │ │ ├── show@2x.png
│ │ │ └── show@3x.png
│ │ ├── password_icon.imageset
│ │ │ ├── Contents.json
│ │ │ ├── whiteboard@2x.png
│ │ │ └── whiteboard@3x.png
│ │ ├── secure_keyboard.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 4@2x.png
│ │ │ └── Group 4@3x.png
│ │ └── veryfication.imageset
│ │ │ ├── Contents.json
│ │ │ ├── whiteboard-1.png
│ │ │ └── whiteboard.png
│ ├── NaviBar
│ │ ├── Contents.json
│ │ └── arrowLeft.imageset
│ │ │ ├── Contents.json
│ │ │ └── 路径 11备份 5.pdf
│ ├── Replay
│ │ ├── Contents.json
│ │ ├── close.imageset
│ │ │ ├── Contents.json
│ │ │ └── close (2).png
│ │ ├── pause.imageset
│ │ │ ├── Contents.json
│ │ │ └── 矩形备份 19 (1).pdf
│ │ └── play.imageset
│ │ │ ├── Contents.json
│ │ │ └── 矩形备份 19.pdf
│ ├── RoomInfo
│ │ ├── Contents.json
│ │ ├── delete_room.imageset
│ │ │ ├── Contents.json
│ │ │ ├── delete@2x.png
│ │ │ └── delete@3x.png
│ │ ├── room_copy.imageset
│ │ │ ├── Contents.json
│ │ │ ├── copy@2x.png
│ │ │ └── copy@3x.png
│ │ ├── room_info_detail.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形备份 24@2x(2).png
│ │ │ └── 矩形备份 24@3x(2).png
│ │ ├── room_number.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 4.png
│ │ │ ├── 编组 4@2x.png
│ │ │ └── 编组 4@3x.png
│ │ ├── room_status.imageset
│ │ │ ├── Contents.json
│ │ │ ├── previous备份 27.png
│ │ │ ├── previous备份 27@2x.png
│ │ │ └── previous备份 27@3x.png
│ │ ├── room_time.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组 10.png
│ │ │ ├── 编组 10@2x.png
│ │ │ └── 编组 10@3x.png
│ │ └── room_type.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 编组备份 10.png
│ │ │ ├── 编组备份 10@2x.png
│ │ │ └── 编组备份 10@3x.png
│ ├── Rtc
│ │ ├── Contents.json
│ │ ├── camera_off.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 806.pdf
│ │ ├── camera_on.imageset
│ │ │ ├── Contents.json
│ │ │ └── camera.pdf
│ │ ├── expand.imageset
│ │ │ ├── Contents.json
│ │ │ └── videoUnfold.pdf
│ │ ├── layout_reset.imageset
│ │ │ ├── Contents.json
│ │ │ └── record.pdf
│ │ ├── mic_off.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 951.pdf
│ │ ├── mic_on.imageset
│ │ │ ├── Contents.json
│ │ │ └── microphone.pdf
│ │ ├── microphone_volume.imageset
│ │ │ ├── Contents.json
│ │ │ ├── microphone@2x.png
│ │ │ └── microphone@3x.png
│ │ ├── mute_all.imageset
│ │ │ ├── Contents.json
│ │ │ └── microphone.pdf
│ │ ├── narrow.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形备份 24@2x(1).png
│ │ │ └── 矩形备份 24@3x(1).png
│ │ ├── rewards.imageset
│ │ │ ├── Contents.json
│ │ │ └── record (1).pdf
│ │ ├── silence.imageset
│ │ │ ├── Contents.json
│ │ │ └── 编组 4.pdf
│ │ ├── whiteboard_permission_off.imageset
│ │ │ ├── Contents.json
│ │ │ └── record.pdf
│ │ └── whiteboard_permission_on.imageset
│ │ │ ├── Contents.json
│ │ │ └── record.pdf
│ ├── Setting
│ │ ├── Contents.json
│ │ ├── about_us.imageset
│ │ │ ├── Contents.json
│ │ │ └── userGroup.pdf
│ │ ├── binding_types
│ │ │ ├── Contents.json
│ │ │ ├── account_apple.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── 编组 2@2x-1.png
│ │ │ │ └── 编组 2@3x-1.png
│ │ │ ├── account_email.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── whiteboard@2x.png
│ │ │ │ └── whiteboard@3x.png
│ │ │ ├── account_github.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── 编组 2@2x.png
│ │ │ │ └── 编组 2@3x.png
│ │ │ ├── account_google.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── 编组 2@2x-2.png
│ │ │ │ └── 编组 2@3x-2.png
│ │ │ ├── account_phone.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── phone@2x.png
│ │ │ │ └── phone@3x.png
│ │ │ └── account_wechat.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Group 875@2x.png
│ │ │ │ └── Group 875@3x.png
│ │ ├── cancellation.imageset
│ │ │ ├── Contents.json
│ │ │ └── logoff.pdf
│ │ ├── export.imageset
│ │ │ ├── Contents.json
│ │ │ └── exit.pdf
│ │ ├── language.imageset
│ │ │ ├── Contents.json
│ │ │ └── language.pdf
│ │ ├── logout.imageset
│ │ │ ├── Contents.json
│ │ │ └── exit.pdf
│ │ ├── message.imageset
│ │ │ ├── Contents.json
│ │ │ ├── invite备份@2x(2).png
│ │ │ └── invite备份@3x(2).png
│ │ ├── personal_collect.imageset
│ │ │ ├── Contents.json
│ │ │ ├── exit@2x.png
│ │ │ └── exit@3x.png
│ │ ├── profile.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 1321.pdf
│ │ ├── rocket.imageset
│ │ │ ├── Contents.json
│ │ │ └── Group 1272.pdf
│ │ ├── security.imageset
│ │ │ ├── Contents.json
│ │ │ ├── security@2x.png
│ │ │ └── security@3x.png
│ │ ├── setting.imageset
│ │ │ ├── Contents.json
│ │ │ └── 编组 5.pdf
│ │ ├── theme.imageset
│ │ │ ├── Contents.json
│ │ │ └── theme.pdf
│ │ ├── third_share.imageset
│ │ │ ├── Contents.json
│ │ │ ├── exit@2x-1.png
│ │ │ └── exit@3x-1.png
│ │ ├── update_password.imageset
│ │ │ ├── Contents.json
│ │ │ ├── whiteboard@2x.png
│ │ │ └── whiteboard@3x.png
│ │ ├── update_version.imageset
│ │ │ ├── Contents.json
│ │ │ └── circleInfoOutlined.pdf
│ │ └── videoCollect.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Frame@2x.png
│ │ │ └── Frame@3x.png
│ ├── SideBar
│ │ ├── Contents.json
│ │ ├── side_bar_fold.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Group 425@2x.png
│ │ │ └── Group 425@3x.png
│ │ ├── side_cloud.imageset
│ │ │ ├── Contents.json
│ │ │ ├── cloud.png
│ │ │ ├── cloud@2x.png
│ │ │ └── cloud@3x.png
│ │ ├── side_cloud_filled.imageset
│ │ │ ├── Contents.json
│ │ │ ├── cloudFilled.png
│ │ │ ├── cloudFilled@2x.png
│ │ │ └── cloudFilled@3x.png
│ │ ├── side_home.imageset
│ │ │ ├── Contents.json
│ │ │ ├── home.png
│ │ │ ├── home@2x.png
│ │ │ └── home@3x.png
│ │ └── side_home_filled.imageset
│ │ │ ├── Contents.json
│ │ │ ├── homeFilled.png
│ │ │ ├── homeFilled@2x.png
│ │ │ └── homeFilled@3x.png
│ ├── Split
│ │ ├── Contents.json
│ │ └── split_empty.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Union@2x.png
│ │ │ └── Union@3x.png
│ ├── Whiteboard
│ │ ├── Contents.json
│ │ ├── hideSide.imageset
│ │ │ ├── Contents.json
│ │ │ └── hideSide.pdf
│ │ ├── scene_new.imageset
│ │ │ ├── Contents.json
│ │ │ └── 编组 11.pdf
│ │ ├── scene_next.imageset
│ │ │ ├── Contents.json
│ │ │ └── previous备份 20.pdf
│ │ ├── scene_previous.imageset
│ │ │ ├── Contents.json
│ │ │ └── previous备份 18.pdf
│ │ ├── small_arr_down.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形@2x(16).png
│ │ │ └── 矩形@3x(16).png
│ │ ├── small_arr_top.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形@2x(14).png
│ │ │ └── 矩形@3x(14).png
│ │ ├── subops_more.imageset
│ │ │ ├── Contents.json
│ │ │ ├── 矩形@2x(13).png
│ │ │ └── 矩形@3x(13).png
│ │ ├── whiteboard_apps.imageset
│ │ │ ├── Contents.json
│ │ │ ├── apps@2x.png
│ │ │ └── apps@3x.png
│ │ ├── whiteboard_arrow-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── arrowBolded 1.pdf
│ │ │ └── arrowBolded.pdf
│ │ ├── whiteboard_arrow.imageset
│ │ │ ├── Contents.json
│ │ │ ├── arrow 1.pdf
│ │ │ └── arrow.pdf
│ │ ├── whiteboard_clean.imageset
│ │ │ ├── Contents.json
│ │ │ ├── clean 1.pdf
│ │ │ └── clean.pdf
│ │ ├── whiteboard_clicker-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── clickFilled 1.pdf
│ │ │ └── clickFilled.pdf
│ │ ├── whiteboard_clicker.imageset
│ │ │ ├── Contents.json
│ │ │ ├── click 1.pdf
│ │ │ └── click.pdf
│ │ ├── whiteboard_ellipse-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── circleBolded 1.pdf
│ │ │ └── circleBolded.pdf
│ │ ├── whiteboard_ellipse.imageset
│ │ │ ├── Contents.json
│ │ │ ├── circle 1.pdf
│ │ │ └── circle.pdf
│ │ ├── whiteboard_eraser-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── eraserFilled (1).pdf
│ │ │ └── eraserFilled@2x.png
│ │ ├── whiteboard_eraser.imageset
│ │ │ ├── Contents.json
│ │ │ ├── eraser 1.pdf
│ │ │ └── eraser@2x.png
│ │ ├── whiteboard_pencil-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pencilFilled 1.pdf
│ │ │ └── pencilFilled.pdf
│ │ ├── whiteboard_pencil.imageset
│ │ │ ├── Contents.json
│ │ │ ├── pencil 1.pdf
│ │ │ └── pencil.pdf
│ │ ├── whiteboard_pencilEraser-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── eraserFilled 1.pdf
│ │ │ └── eraserFilled.pdf
│ │ ├── whiteboard_pencilEraser.imageset
│ │ │ ├── Contents.json
│ │ │ ├── eraser 1.pdf
│ │ │ └── eraser.pdf
│ │ ├── whiteboard_rectangle-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── rectangle Bolded 1.pdf
│ │ │ └── rectangle Bolded.pdf
│ │ ├── whiteboard_rectangle.imageset
│ │ │ ├── Contents.json
│ │ │ ├── rectangle 1.pdf
│ │ │ └── rectangle.pdf
│ │ ├── whiteboard_redo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── undo 1.pdf
│ │ │ └── undo.pdf
│ │ ├── whiteboard_remove_selection.imageset
│ │ │ ├── Contents.json
│ │ │ ├── delete 1.pdf
│ │ │ └── delete.pdf
│ │ ├── whiteboard_selector-selected.imageset
│ │ │ ├── Contents.json
│ │ │ ├── selectorFilled 1.pdf
│ │ │ └── selectorFilled.pdf
│ │ ├── whiteboard_selector.imageset
│ │ │ ├── Contents.json
│ │ │ ├── selector 1.pdf
│ │ │ └── selector.pdf
│ │ ├── whiteboard_shape_pentagram-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── starBolded.pdf
│ │ ├── whiteboard_shape_pentagram.imageset
│ │ │ ├── Contents.json
│ │ │ └── star.pdf
│ │ ├── whiteboard_shape_rhombus-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── rhombusBolded.pdf
│ │ ├── whiteboard_shape_rhombus.imageset
│ │ │ ├── Contents.json
│ │ │ └── rhombus.pdf
│ │ ├── whiteboard_shape_speechBalloon-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── balloonBolded.pdf
│ │ ├── whiteboard_shape_speechBalloon.imageset
│ │ │ ├── Contents.json
│ │ │ └── balloon.pdf
│ │ ├── whiteboard_shape_triangle-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── triangleBolded.pdf
│ │ ├── whiteboard_shape_triangle.imageset
│ │ │ ├── Contents.json
│ │ │ └── triangle.pdf
│ │ ├── whiteboard_straight-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── lineBolded.pdf
│ │ ├── whiteboard_straight.imageset
│ │ │ ├── Contents.json
│ │ │ └── line.pdf
│ │ ├── whiteboard_text-selected.imageset
│ │ │ ├── Contents.json
│ │ │ └── textFilled.pdf
│ │ ├── whiteboard_text.imageset
│ │ │ ├── Contents.json
│ │ │ └── text.pdf
│ │ └── whiteboard_undo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── redo 1.pdf
│ │ │ └── redo.pdf
│ ├── apps
│ │ ├── Contents.json
│ │ ├── apps_Countdown.imageset
│ │ │ ├── Contents.json
│ │ │ └── clock.pdf
│ │ ├── apps_Dice.imageset
│ │ │ ├── Contents.json
│ │ │ └── dot.pdf
│ │ ├── apps_GeoGebra.imageset
│ │ │ ├── Contents.json
│ │ │ └── geo.pdf
│ │ ├── apps_MindMap.imageset
│ │ │ ├── Contents.json
│ │ │ └── pipeline.pdf
│ │ ├── apps_Monaco.imageset
│ │ │ ├── Contents.json
│ │ │ └── code.pdf
│ │ ├── apps_Quill.imageset
│ │ │ ├── Contents.json
│ │ │ └── text.pdf
│ │ ├── apps_Selector.imageset
│ │ │ ├── Contents.json
│ │ │ └── question.pdf
│ │ └── save_whiteboard.imageset
│ │ │ ├── Contents.json
│ │ │ └── download.pdf
│ └── lottie
│ │ ├── Contents.json
│ │ ├── img_0.imageset
│ │ ├── Contents.json
│ │ └── img_0.png
│ │ └── img_1.imageset
│ │ ├── Contents.json
│ │ └── img_1.png
├── Base.lproj
│ └── LaunchScreen.storyboard
├── EnvConfigs
│ ├── Develop.xcconfig
│ ├── Env+Whiteboard.swift
│ ├── Env.swift
│ ├── Flint_Develop.xcconfig
│ ├── Flint_Release.xcconfig
│ ├── Local.xcconfig
│ └── Release.xcconfig
├── Extensions
│ ├── Array
│ │ └── Array+Extension.swift
│ ├── ConvinceInit
│ │ └── ConvinceInit.swift
│ ├── Date
│ │ └── Date+Extension.swift
│ ├── Global.swift
│ ├── ImportExtensions.swift
│ ├── MethodExchange.swift
│ ├── Rx
│ │ ├── AlertProvider.swift
│ │ ├── Observable+Extension.swift
│ │ ├── UITextfield+Rx.swift
│ │ └── UIViewController+Rx.swift
│ ├── String
│ │ ├── AttributedString.swift
│ │ ├── String+Empty.swift
│ │ ├── String+Error.swift
│ │ ├── String+ReguarExpression.swift
│ │ ├── String+SplitSpecificLength.swift
│ │ ├── String+regex.swift
│ │ └── StringLocalize.swift
│ ├── UIButton
│ │ └── UIButton+Spacing.swift
│ ├── UIColor
│ │ ├── UIColor+Extension.swift
│ │ └── UIColor+Level.swift
│ ├── UIImage
│ │ ├── UIImage+Appliance.swift
│ │ ├── UIImage+Circle.swift
│ │ ├── UIImage+Color.swift
│ │ ├── UIImage+ColorPicker.swift
│ │ ├── UIImage+Compose.swift
│ │ └── UIImage+tintColor.swift
│ ├── UIScrollView
│ │ └── UIScrollView+Centerize.swift
│ ├── UITableView
│ │ └── UITableView+loadedAll.swift
│ ├── UITraitCollection
│ │ └── UITraitCollection.swift
│ ├── UIView
│ │ ├── CACornerMask+Extension.swift
│ │ ├── UIButton+loading.swift
│ │ ├── UIView+Badge.swift
│ │ ├── UIView+DidLayoutBlock.swift
│ │ ├── UIView+FlatLoading.swift
│ │ ├── UIView+LoopForSuperView.swift
│ │ ├── UIView+NibProperty.swift
│ │ ├── UIView+TableViewHeader.swift
│ │ ├── UIView+seperatorLine.swift
│ │ ├── UIViewController+Activity.swift
│ │ ├── UIViewController+Alert.swift
│ │ └── UIViewController+Toast.swift
│ └── ViewController
│ │ ├── TopViewController.swift
│ │ ├── TraitUpdateHandler.swift
│ │ ├── UIViewController+PopOver.swift
│ │ ├── UIViewController+Present.swift
│ │ ├── UIViewController+SafaArea.swift
│ │ └── UIViewController+screenSize.swift
├── FlatDebug.entitlements
├── FlatFlint_Debug.entitlements
├── FlatFlint_Release.entitlements
├── FlatNon_Sign.entitlements
├── FlatRelease.entitlements
├── Info.plist
├── Launch
│ ├── AppDelegate.swift
│ ├── AvatarNickNameSettingViewController.swift
│ ├── ClassroomSceneDelegate.swift
│ ├── LaunchItem
│ │ ├── AuthLaunch
│ │ │ ├── GithubLogin.swift
│ │ │ ├── GoogleLogin.swift
│ │ │ ├── WeChatLogin.swift
│ │ │ ├── WebLinkBindingItem.swift
│ │ │ ├── WebLinkLoginItem.swift
│ │ │ └── WechatBinding.swift
│ │ ├── DefaultLaunchItems
│ │ │ ├── FileShareLaunchItem.swift
│ │ │ ├── JoinRoomLaunchItem.swift
│ │ │ └── ReplayLaunchItem.swift
│ │ ├── LaunchCoordinator.swift
│ │ └── LaunchItem.swift
│ ├── RegularSideBarViewController.swift
│ ├── SceneDelegate.swift
│ ├── SceneManager.swift
│ └── Theme.swift
├── Models
│ ├── Agora
│ │ └── AgoraMessage.swift
│ └── Flat
│ │ ├── ClassRoomType+AgoraVideoSteamType.swift
│ │ ├── ClassRoomType.swift
│ │ ├── DeviceState.swift
│ │ ├── FlatRegion.swift
│ │ ├── JoinRoomInfo.swift
│ │ ├── Message.swift
│ │ ├── RecordDetailInfo.swift
│ │ ├── RoomBasicInfo.swift
│ │ ├── RoomPlayInfo.swift
│ │ ├── RoomStartStatus.swift
│ │ ├── RoomUser.swift
│ │ ├── ShareScreenInfo.swift
│ │ ├── UploadInfo.swift
│ │ └── User.swift
├── Modules
│ ├── Base
│ │ ├── BaseNavigationViewController.swift
│ │ ├── EmptySplitSecondaryViewController.swift
│ │ ├── MainContainer.swift
│ │ ├── MainSplitViewController.swift
│ │ ├── MainTabBarController.swift
│ │ └── Popover
│ │ │ ├── PopOverPresentationStyleAdaptor.swift
│ │ │ └── UIViewController+PopoverDismissDetect.swift
│ ├── ClassRoom
│ │ ├── ClassRoomViewController.swift
│ │ ├── ClassRoomViewModel.swift
│ │ ├── ClassroomConfig.swift
│ │ ├── ClassroomCoordinator.swift
│ │ ├── ClassroomFactory.swift
│ │ ├── ClassroomFastboard
│ │ │ ├── ClassRoomSyncedStore.swift
│ │ │ ├── FastboardViewController.swift
│ │ │ ├── ScenePreviewCell.swift
│ │ │ ├── SyncedStoreMultiDelegate.swift
│ │ │ ├── WhiteboardAppsCell.swift
│ │ │ ├── WhiteboardAppsViewController.swift
│ │ │ └── WhiteboardScenesListViewController.swift
│ │ ├── ClassroomLayout
│ │ │ ├── ClassRoomLayoutRatioConfig.swift
│ │ │ └── VideoLayout
│ │ │ │ ├── VideoDraggingCanvasProvider.swift
│ │ │ │ ├── VideoLayoutStore.swift
│ │ │ │ └── VideoLayoutStoreImp.swift
│ │ ├── ClassroomRecording
│ │ │ └── RecordModel.swift
│ │ ├── ClassroomSetting
│ │ │ └── ClassRoomSettingViewController.swift
│ │ ├── ClassroomState
│ │ │ ├── ClassroomStateHandler.swift
│ │ │ ├── ClassroomStateHandlerImp.swift
│ │ │ └── ClassroomStateMock.swift
│ │ ├── ClassroomStatusBar
│ │ │ └── ClassroomStatusBar.swift
│ │ ├── ClassroomUsers
│ │ │ ├── ClassRoomUsersViewController.swift
│ │ │ └── RoomUserRxSectionData.swift
│ │ ├── ClassroomViewController+ImagePicker.swift
│ │ ├── ClassroomViewController+rtcHideDragging.swift
│ │ ├── RaiseHand
│ │ │ ├── RaiseHandListViewController.swift
│ │ │ └── RaiseHandTableViewCell.swift
│ │ ├── Rtc
│ │ │ ├── Extension
│ │ │ │ ├── CGImage+isDark.swift
│ │ │ │ ├── CGRect+diff.swift
│ │ │ │ └── MTLTexture+CGImage.swift
│ │ │ ├── Rtc+audioMixer.swift
│ │ │ ├── Rtc.swift
│ │ │ ├── RtcViewController+Dragger.swift
│ │ │ ├── RtcViewController.swift
│ │ │ ├── RtcViewModel.swift
│ │ │ └── View
│ │ │ │ ├── AgoraCanvasContainer.swift
│ │ │ │ ├── InnerPermissionControlView.swift
│ │ │ │ ├── PopMenuView.swift
│ │ │ │ ├── RtcItemContentView.swift
│ │ │ │ ├── RtcItemVideoContainer.swift
│ │ │ │ └── RtcVideoItemView.swift
│ │ └── Rtm
│ │ │ ├── AgoraRtm.swift
│ │ │ ├── AgoraRtmChannelImp.swift
│ │ │ ├── Chat
│ │ │ ├── ChatViewController.swift
│ │ │ └── ChatViewModel.swift
│ │ │ ├── Command
│ │ │ ├── CommandCoder
│ │ │ │ ├── CommandDecoder.swift
│ │ │ │ └── CommandEncoder.swift
│ │ │ ├── RoomExpireInfo.swift
│ │ │ └── RtmCommandType.swift
│ │ │ ├── RtmChannelProvider.swift
│ │ │ └── RtmProvider.swift
│ ├── CloudStorage
│ │ ├── CloudStorageDisplayViewController.swift
│ │ ├── CloudStorageInClassViewController.swift
│ │ ├── CloudStorageTableViewCell.swift
│ │ ├── CloudStorageViewController.swift
│ │ ├── CustomAVPlayerViewController.swift
│ │ ├── CustomPreviewViewController.swift
│ │ ├── Model
│ │ │ └── StorageFileModel.swift
│ │ ├── Preview
│ │ │ ├── AnyPreview.swift
│ │ │ └── Kingfisher+fetchDiskCachePath.swift
│ │ ├── Upload
│ │ │ ├── ConvertService.swift
│ │ │ ├── ExportService.swift
│ │ │ ├── UploadService.swift
│ │ │ ├── UploadTaskTableViewCell.swift
│ │ │ ├── UploadTaskTableViewCell.xib
│ │ │ ├── UploadTasksViewController.swift
│ │ │ ├── UploadType.swift
│ │ │ └── UploadUtility.swift
│ │ └── WKWebViewController.swift
│ ├── Generic
│ │ └── PageContainer
│ │ │ └── PageListContainer.swift
│ ├── Home
│ │ ├── CameraMicToggleView.swift
│ │ ├── CameraPreviewView.swift
│ │ ├── CreateClassRoomViewController.swift
│ │ ├── DeviceAutorizationHelper.swift
│ │ ├── HistoryJoinRoomPickerViewController.swift
│ │ ├── HistoryViewController.swift
│ │ ├── HomeViewController.swift
│ │ ├── JoinRoomInputAccessView.swift
│ │ ├── JoinRoomViewController.swift
│ │ ├── RoomDetailViewController.swift
│ │ ├── RoomDetailViewController.xib
│ │ ├── RoomOperation
│ │ │ └── RoomOperation.swift
│ │ └── String+RoomUuid.swift
│ ├── Invite
│ │ └── InviteViewController.swift
│ ├── Language
│ │ ├── Bundle+Language.swift
│ │ ├── Language.swift
│ │ ├── LocaleManager.swift
│ │ └── XIBLocalizeable.swift
│ ├── Log
│ │ ├── AlibabaLogHandler.swift
│ │ ├── SBLogHandler.swift
│ │ ├── SensetiveLogFilter.swift
│ │ └── logger.swift
│ ├── Login
│ │ ├── AccountCodeAuthView.swift
│ │ ├── AccountTextfield.swift
│ │ ├── Agreement.swift
│ │ ├── AgreementCheckView.swift
│ │ ├── AppleLogin.swift
│ │ ├── Base.lproj
│ │ │ └── LoginViewController.xib
│ │ ├── CompactLoginBackgroundView.swift
│ │ ├── CountryCodePicker.swift
│ │ ├── ForceBindPhoneViewController.swift
│ │ ├── LoginBackgroundView.swift
│ │ ├── LoginViewController+Debug.swift
│ │ ├── LoginViewController.swift
│ │ ├── PasswordAuthView.swift
│ │ ├── PasswordRepeatView.swift
│ │ ├── PasswordTextfield.swift
│ │ ├── PrivacyAlertViewController.swift
│ │ ├── PrivacyAlertViewController.xib
│ │ ├── ResetPasswordViewController.swift
│ │ ├── SMSAuthView.swift
│ │ ├── SignUpInputView.swift
│ │ ├── SignUpViewController.swift
│ │ ├── VerifyCodeTextfield.swift
│ │ ├── en.lproj
│ │ │ ├── LoginViewController.strings
│ │ │ └── LoginViewController.xib
│ │ └── zh-Hans.lproj
│ │ │ └── LoginViewController.strings
│ ├── Profile
│ │ ├── AppleBinding.swift
│ │ ├── ProfileTableViewCell.swift
│ │ ├── ProfileUpdate.swift
│ │ └── ProfileViewController.swift
│ ├── Replay
│ │ ├── MixReplayViewController.swift
│ │ ├── MixReplayViewModel.swift
│ │ ├── RecordSelectionListViewController.swift
│ │ ├── ReplayOverlay.swift
│ │ ├── ReplayPlaybackSpeedListViewController.swift
│ │ └── VideoPreviewView.swift
│ ├── Setting
│ │ ├── About
│ │ │ ├── AboutUsViewController.swift
│ │ │ └── AboutUsViewController.xib
│ │ ├── BindEmailViewController.swift
│ │ ├── BindPhoneViewController.swift
│ │ ├── CancellationViewController.swift
│ │ ├── ContactUs
│ │ │ ├── Base.lproj
│ │ │ │ └── ContactUsViewController.xib
│ │ │ ├── ContactUsViewController.swift
│ │ │ ├── en.lproj
│ │ │ │ └── ContactUsViewController.strings
│ │ │ └── zh-Hans.lproj
│ │ │ │ └── ContactUsViewController.strings
│ │ ├── SecurityViewController.swift
│ │ ├── SetNewPasswordViewController.swift
│ │ ├── SettingTableViewCell.swift
│ │ ├── SettingTableViewCell.xib
│ │ ├── SettingViewController.swift
│ │ └── UpdatePasswordViewController.swift
│ ├── Shortcuts
│ │ ├── AppDelegate+keyboard.swift
│ │ ├── ClassRoomViewController+keyboard.swift
│ │ ├── Interface
│ │ │ ├── ApplianceShortcutItem.swift
│ │ │ ├── ClassroomKeyboardRespondable.swift
│ │ │ └── GlobalKeyboardShortcutRespondable.swift
│ │ ├── PreferenceTableViewCell.swift
│ │ ├── PreferenceViewController.swift
│ │ └── WhiteboardStyleViewController.swift
│ ├── StoreReview
│ │ └── RatingManager.swift
│ ├── Stores
│ │ ├── AuthStore.swift
│ │ └── UserDevicePreferredStatusStore.swift
│ ├── UIComponents
│ │ ├── Alert
│ │ │ ├── FlatCompactAlertController.swift
│ │ │ ├── FlatCustomAlertSetable.swift
│ │ │ └── FlatPopoverAlertController.swift
│ │ ├── Button
│ │ │ ├── FlatGeneralCrossButton.swift
│ │ │ ├── SpringButton.swift
│ │ │ └── UIButton+CheckBox.swift
│ │ ├── Label
│ │ │ └── BorderLabelView.swift
│ │ └── Share
│ │ │ └── ShareManager.swift
│ └── Views
│ │ ├── Cells
│ │ ├── ChatNoticeTableViewCell.swift
│ │ ├── ChatTableViewCell.swift
│ │ ├── ClassRoomSettingTableViewCell.swift
│ │ ├── ClassRoomSettingTableViewCell.xib
│ │ ├── RoomTableViewCell.swift
│ │ ├── RoomTableViewCell.xib
│ │ └── RoomUserTableViewCell.swift
│ │ ├── DashLine
│ │ └── DashLineView.swift
│ │ ├── Tabbar
│ │ └── HomeTabBar.swift
│ │ └── Textfield
│ │ └── BottomLineTextfield.swift
├── Vendor
│ ├── WechatOpenSDK-XCFramework.xcframework
│ │ ├── Info.plist
│ │ ├── PrivacyInfo.xcprivacy
│ │ ├── README.txt
│ │ ├── ios-arm64_armv7
│ │ │ ├── Headers
│ │ │ │ ├── WXApi.h
│ │ │ │ ├── WXApiObject.h
│ │ │ │ └── WechatAuthSDK.h
│ │ │ └── libWechatOpenSDK.a
│ │ └── ios-arm64_i386_x86_64-simulator
│ │ │ ├── Headers
│ │ │ ├── WXApi.h
│ │ │ ├── WXApiObject.h
│ │ │ └── WechatAuthSDK.h
│ │ │ └── libWechatOpenSDK.a
│ └── rtm_v2.2.1
│ │ ├── commits
│ │ ├── libs
│ │ └── AgoraRtmKit.xcframework
│ │ │ ├── Info.plist
│ │ │ ├── ios-arm64_armv7
│ │ │ └── AgoraRtmKit.framework
│ │ │ │ ├── AgoraRtmKit
│ │ │ │ ├── Headers
│ │ │ │ ├── AgoraRtmBase.h
│ │ │ │ ├── AgoraRtmClientKit.h
│ │ │ │ ├── AgoraRtmEnumerates.h
│ │ │ │ ├── AgoraRtmKit.h
│ │ │ │ ├── AgoraRtmObjects.h
│ │ │ │ ├── IAgoraRtmClient.h
│ │ │ │ ├── IAgoraRtmLock.h
│ │ │ │ ├── IAgoraRtmPresence.h
│ │ │ │ ├── IAgoraRtmStorage.h
│ │ │ │ └── IAgoraStreamChannel.h
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Modules
│ │ │ │ └── module.modulemap
│ │ │ │ └── PrivacyInfo.xcprivacy
│ │ │ ├── ios-arm64_x86_64-simulator
│ │ │ └── AgoraRtmKit.framework
│ │ │ │ ├── AgoraRtmKit
│ │ │ │ ├── Headers
│ │ │ │ ├── AgoraRtmBase.h
│ │ │ │ ├── AgoraRtmClientKit.h
│ │ │ │ ├── AgoraRtmEnumerates.h
│ │ │ │ ├── AgoraRtmKit.h
│ │ │ │ ├── AgoraRtmObjects.h
│ │ │ │ ├── IAgoraRtmClient.h
│ │ │ │ ├── IAgoraRtmLock.h
│ │ │ │ ├── IAgoraRtmPresence.h
│ │ │ │ ├── IAgoraRtmStorage.h
│ │ │ │ └── IAgoraStreamChannel.h
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Modules
│ │ │ │ └── module.modulemap
│ │ │ │ └── PrivacyInfo.xcprivacy
│ │ │ ├── macos-arm64_x86_64
│ │ │ └── AgoraRtmKit.framework
│ │ │ │ ├── AgoraRtmKit
│ │ │ │ ├── Headers
│ │ │ │ ├── Modules
│ │ │ │ ├── Resources
│ │ │ │ └── Versions
│ │ │ │ ├── A
│ │ │ │ ├── AgoraRtmKit
│ │ │ │ ├── Headers
│ │ │ │ │ ├── AgoraRtmBase.h
│ │ │ │ │ ├── AgoraRtmClientKit.h
│ │ │ │ │ ├── AgoraRtmEnumerates.h
│ │ │ │ │ ├── AgoraRtmKit.h
│ │ │ │ │ ├── AgoraRtmObjects.h
│ │ │ │ │ ├── IAgoraRtmClient.h
│ │ │ │ │ ├── IAgoraRtmLock.h
│ │ │ │ │ ├── IAgoraRtmPresence.h
│ │ │ │ │ ├── IAgoraRtmStorage.h
│ │ │ │ │ └── IAgoraStreamChannel.h
│ │ │ │ ├── Modules
│ │ │ │ │ └── module.modulemap
│ │ │ │ └── Resources
│ │ │ │ │ └── Info.plist
│ │ │ │ └── Current
│ │ │ ├── xros-arm64
│ │ │ └── AgoraRtmKit.framework
│ │ │ │ ├── AgoraRtmKit
│ │ │ │ ├── Headers
│ │ │ │ ├── AgoraRtmBase.h
│ │ │ │ ├── AgoraRtmClientKit.h
│ │ │ │ ├── AgoraRtmEnumerates.h
│ │ │ │ ├── AgoraRtmKit.h
│ │ │ │ ├── AgoraRtmObjects.h
│ │ │ │ ├── IAgoraRtmClient.h
│ │ │ │ ├── IAgoraRtmLock.h
│ │ │ │ ├── IAgoraRtmPresence.h
│ │ │ │ ├── IAgoraRtmStorage.h
│ │ │ │ └── IAgoraStreamChannel.h
│ │ │ │ ├── Info.plist
│ │ │ │ ├── Modules
│ │ │ │ └── module.modulemap
│ │ │ │ └── PrivacyInfo.xcprivacy
│ │ │ └── xros-arm64_x86_64-simulator
│ │ │ └── AgoraRtmKit.framework
│ │ │ ├── AgoraRtmKit
│ │ │ ├── Headers
│ │ │ ├── AgoraRtmBase.h
│ │ │ ├── AgoraRtmClientKit.h
│ │ │ ├── AgoraRtmEnumerates.h
│ │ │ ├── AgoraRtmKit.h
│ │ │ ├── AgoraRtmObjects.h
│ │ │ ├── IAgoraRtmClient.h
│ │ │ ├── IAgoraRtmLock.h
│ │ │ ├── IAgoraRtmPresence.h
│ │ │ ├── IAgoraRtmStorage.h
│ │ │ └── IAgoraStreamChannel.h
│ │ │ ├── Info.plist
│ │ │ ├── Modules
│ │ │ └── module.modulemap
│ │ │ └── PrivacyInfo.xcprivacy
│ │ ├── package_size_report.txt
│ │ └── spec
├── bridgingHeader.h
├── en.lproj
│ ├── LaunchScreen.strings
│ ├── Localizable.strings
│ └── Main.strings
├── loading.json
├── loading_dark.json
├── reward.json
├── reward.mp3
├── whiteboard_rebuild.bundle
│ └── foo
└── zh-Hans.lproj
│ ├── LaunchScreen.strings
│ ├── Localizable.strings
│ └── Main.strings
├── Flat_Test
├── ApiErrorLocalizeTest.swift
├── EnvTest.swift
├── LogSensetiveTest.swift
├── RegexTest.swift
└── RoomUuidTest.swift
├── LICENSE
├── Podfile
├── Podfile.lock
├── README-zh.md
├── README.md
├── archive.sh
├── art
├── flat-logo.png
└── flat-showcase.png
├── blackduck.sh
├── export_release.plist
├── export_release_sg.plist
├── rebuild_whiteboard_bridge.sh
├── test.log
├── test.sh
└── upload.sh
/AgoraScan:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/AgoraScan
--------------------------------------------------------------------------------
/FillSecret.sh:
--------------------------------------------------------------------------------
1 | KEY=$1
2 | VALUE=$2
3 | FILE=$3
4 |
5 | echo "$KEY = $VALUE" >> $FILE
--------------------------------------------------------------------------------
/Flat-Test-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Flat/Api/Core/EmptyResponse.swift:
--------------------------------------------------------------------------------
1 | //
2 | // EmptyDecodable.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/13.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct EmptyResponse: Codable {}
12 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Encode&Decode/AnyCodingKey.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnyCodingKey.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/21.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnyCodingKey: CodingKey {
12 | var stringValue: String
13 |
14 | init?(stringValue: String) {
15 | self.stringValue = stringValue
16 | }
17 |
18 | var intValue: Int?
19 |
20 | init?(intValue: Int) {
21 | self.intValue = intValue
22 | stringValue = intValue.description
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Encode&Decode/AnyEncodable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnyEncodable.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AnyEncodable: Encodable {
12 | private let encodable: Encodable
13 |
14 | public init(_ encodable: Encodable) {
15 | self.encodable = encodable
16 | }
17 |
18 | func encode(to encoder: Encoder) throws {
19 | try encodable.encode(to: encoder)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Encode&Decode/ParameterEncoder.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ParameterEncoder.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol ParameterEncoder {
12 | func encode(request: URLRequest, _ parameters: [String: Any]) throws -> URLRequest
13 | }
14 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Extension/JSONDecoder+AnyKeyDecodable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // JSONDecoder+AnyKeyDecodable.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension JSONDecoder {
12 | func setAnyCodingKey(_ key: String) {
13 | userInfo[anyCodingKeyIdentifier] = AnyCodingKey(stringValue: key)!
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Method.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Method.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum HttpMethod: String {
12 | case get = "GET"
13 | case post = "POST"
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Request/AgoraRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol AgoraRequest: Request {}
12 |
13 | extension AgoraRequest {
14 | var method: HttpMethod { .post }
15 | var decoder: JSONDecoder { .agoraDecoder }
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Request/FlatRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FlatRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol FlatRequest: Request {}
12 |
13 | extension FlatRequest {
14 | var method: HttpMethod { .post }
15 | var decoder: JSONDecoder { .flatDecoder }
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Core/ResponseDataHandlers/FlatResponse.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BaseResponse.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/13.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct FlatResponse: Decodable {
12 | let status: Int
13 | let data: T
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Api/Core/Task.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Task.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Task {
12 | case requestPlain
13 | case requestJSONEncodable(encodable: Encodable)
14 | case requestURLEncodable(parameters: [String: Any])
15 | case requestCustomJSONEncodable(encodable: Encodable, customEncoder: JSONEncoder)
16 | case requestCustomURLEncodable(parameters: [String: Any], customEncoder: ParameterEncoder)
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/AuthProcessRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AuthProcessRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AuthProcessRequest: FlatRequest {
12 | let uuid: String
13 |
14 | var path: String { "/v1/login/process" }
15 | var task: Task { .requestJSONEncodable(encodable: ["authUUID": uuid]) }
16 | let responseType = User.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/BindingEmailRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BindingEmailRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct BindingEmailRequest: FlatRequest {
12 | let email: String
13 | let code: String
14 |
15 | var path: String { "/v1/user/binding/platform/email" }
16 | var task: Task { .requestJSONEncodable(encodable: ["email": email, "code": code]) }
17 | let responseType = EmptyResponse.self
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/BindingPhoneRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // BindingPhoneRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct BindingPhoneRequest: FlatRequest {
12 | let phone: String
13 | let code: String
14 |
15 | var path: String { "/v1/user/bindingPhone" }
16 | var task: Task { .requestJSONEncodable(encodable: ["phone": phone, "code": code]) }
17 | let responseType = EmptyResponse.self
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/PhoneSMSLoginRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // PhoneLoginRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct PhoneSMSLoginRequest: FlatRequest {
12 | let phone: String
13 | let code: String
14 |
15 | var path: String { "/v1/login/phone" }
16 | var task: Task { .requestJSONEncodable(encodable: ["phone": phone, "code": code]) }
17 | let responseType = User.self
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/RebindingPhoneRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RebindingPhoneRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct RebindingPhoneRequest: FlatRequest {
12 | let phone: String
13 | let code: String
14 |
15 | var path: String { "/v2/user/rebind-phone" }
16 | var task: Task { .requestJSONEncodable(encodable: ["phone": phone, "code": code]) }
17 | let responseType = User.self
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/SetAuthUuidRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SetAuthUuidRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/13.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SetAuthUuidRequest: FlatRequest {
12 | let uuid: String
13 |
14 | var task: Task { .requestJSONEncodable(encodable: ["authUUID": uuid]) }
15 | var path: String { "/v1/login/set-auth-uuid" }
16 | let responseType = EmptyResponse.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/SetBindingAuthUUIDRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // SetAuthUuidRequest.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/13.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct SetBindingAuthUUIDRequest: FlatRequest {
12 | let uuid: String
13 |
14 | var task: Task { .requestJSONEncodable(encodable: ["authUUID": uuid]) }
15 | var path: String { "/v1/user/binding/set-auth-uuid" }
16 | let responseType = EmptyResponse.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/UploadAvatarFinishRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UploadFinishRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/8.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct UploadAvatarFinishRequest: FlatRequest {
12 | let fileUUID: String
13 | var path: String { "/v2/user/upload-avatar/finish" }
14 | var task: Task { .requestJSONEncodable(encodable: ["fileUUID": fileUUID]) }
15 | let responseType = EmptyResponse.self
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Auth/UserRenameRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UserRenameRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/7/12.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct UserRenameRequest: FlatRequest {
12 | let name: String
13 |
14 | var task: Task { .requestJSONEncodable(encodable: ["newUserName": name]) }
15 | var path: String { "/v2/user/rename" }
16 | let responseType = EmptyResponse.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/CancelRoomHistoryRequest copy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CancelRoomHistoryRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/2/9.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct CancelRoomHistoryRequest: FlatRequest {
12 | let roomUUID: String
13 |
14 | var path: String { "/v1/room/cancel/history" }
15 | var method: HttpMethod { .post }
16 | var task: Task { .requestJSONEncodable(encodable: ["roomUUID": roomUUID]) }
17 | let responseType = EmptyResponse.self
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/CancelUploadRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CancelUploadRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/9.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct CancelUploadRequest: FlatRequest {
12 | let fileUUIDs: [String]
13 | var path: String { "/v1/cloud-storage/upload/cancel" }
14 | var task: Task { .requestJSONEncodable(encodable: ["fileUUIDs": fileUUIDs]) }
15 | let responseType = EmptyResponse.self
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Cancelation/AccountCancelationRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AccountCancelationRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/21.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AccountCancelationRequest: FlatRequest {
12 | var path: String { "/v1/user/deleteAccount" }
13 | var task: Task { .requestPlain }
14 | let responseType = EmptyResponse.self
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/Classroom/TempPhotoFinishRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TempPhotoStartRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2023/5/30.
6 | // Copyright © 2023 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct TempPhotoFinishRequest: FlatRequest {
12 | let fileUUID: String
13 | var path: String { "/v2/temp-photo/upload/finish" }
14 | var task: Task { .requestJSONEncodable(encodable: ["fileUUID": fileUUID]) }
15 | let responseType = EmptyResponse.self
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/FinishConvertRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // FinishConvertRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/10.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct FinishConvertRequest: FlatRequest {
12 | let fileUUID: String
13 |
14 | var path: String { "/v2/cloud-storage/convert/finish" }
15 | var task: Task { .requestJSONEncodable(encodable: ["fileUUID": fileUUID]) }
16 | let responseType = EmptyResponse.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/RemoveFilesRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RemoveFilesRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/8.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct RemoveFilesRequest: FlatRequest {
12 | let fileUUIDs: [String]
13 | var path: String { "/v2/cloud-storage/delete" }
14 | var task: Task { .requestJSONEncodable(encodable: ["uuids": fileUUIDs]) }
15 | let responseType = EmptyResponse.self
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/RenameFileRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RenameFileRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/10.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct RenameFileRequest: FlatRequest {
12 | let fileName: String
13 | let fileUUID: String
14 | var path: String { "/v2/cloud-storage/rename" }
15 | var task: Task { .requestJSONEncodable(encodable: ["newName": fileName, "fileUUID": fileUUID]) }
16 | let responseType = EmptyResponse.self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/RoomHistoryRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RoomHistoryRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/11/1.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct RoomHistoryRequest: FlatRequest {
12 | let page: Int
13 |
14 | var path: String { "/v1/room/list/history" }
15 | var task: Task { .requestURLEncodable(parameters: ["page": page]) }
16 | let responseType = [RoomBasicInfo].self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/RoomListRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RoomListRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/19.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct RoomListRequest: FlatRequest {
12 | let page: Int
13 |
14 | var path: String { "/v1/room/list/all" }
15 | var task: Task { .requestURLEncodable(parameters: ["page": page]) }
16 | let responseType = [RoomBasicInfo].self
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/StorageMoveFileRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // StorageMoveFileRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/11/1.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct StorageMoveFileRequest: FlatRequest, Encodable {
12 | let targetDirectoryPath: String
13 | let uuids: [String]
14 |
15 | var path: String { "/v2/cloud-storage/move" }
16 | var task: Task { .requestJSONEncodable(encodable: self) }
17 | var responseType: EmptyResponse.Type { EmptyResponse.self }
18 | }
19 |
--------------------------------------------------------------------------------
/Flat/Api/Requests/Flat/UploadFinishRequest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UploadFinishRequest.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/8.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct UploadFinishRequest: FlatRequest, Encodable {
12 | let fileUUID: String
13 | var path: String { "/v2/cloud-storage/upload/finish" }
14 | var task: Task { .requestJSONEncodable(encodable: self) }
15 | var responseType: EmptyResponse.Type { EmptyResponse.self }
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/chat.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组备份 12.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "编组备份 13.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_cloud.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "cloudOutlined.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "cloudOutlined 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_more.imageset/more@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/classroom_more.imageset/more@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_more.imageset/more@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/classroom_more.imageset/more@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_record.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "record 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_setting.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组 5.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "编组 6.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/classroom_take_photo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "record 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/disconnect_speak.imageset/矩形备份 25@2x(33).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/disconnect_speak.imageset/矩形备份 25@2x(33).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/disconnect_speak.imageset/矩形备份 25@3x(33).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/disconnect_speak.imageset/矩形备份 25@3x(33).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/invite.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 1262.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "编组备份 10.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/message_ban.imageset/编组 2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/message_ban.imageset/编组 2@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/message_ban.imageset/编组 2@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/message_ban.imageset/编组 2@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/network-bad.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 446-2.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/network-good.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 446-1.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/network-great.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 446.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1191@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1191@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1191@3x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1191@3x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1273@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1273@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1273@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1273@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1739.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1739.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1739@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1739@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1740.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1740.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1740@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_normal.imageset/Group 1740@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x 2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x 2.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1190@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/raisehand_selected.imageset/Group 1191@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/raisehand_small_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 1697.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/send_message.imageset/矩形备份 16@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/send_message.imageset/矩形备份 16@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/send_message.imageset/矩形备份 16@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/send_message.imageset/矩形备份 16@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/statusbar_onstage_user.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "userGroup.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@3x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@3x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassRoom/teach_icon.imageset/Group 965@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/users.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "userGroup.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "userGroup 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/whiteboard_bg_#064D6D.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "whiteboard_bg_blue.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/whiteboard_bg_#446550.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "whiteboard_bg_green.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/whiteboard_bg_#49585F.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "whiteboard_bg_gray.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassRoom/whiteboard_bg_default.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "whiteboard_bg_default.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/BigClass.imageset/Group 912@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/BigClass.imageset/Group 912@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/BigClass.imageset/Group 912@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/BigClass.imageset/Group 912@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/OneToOne.imageset/Group 911@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/OneToOne.imageset/Group 911@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/OneToOne.imageset/Group 911@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/OneToOne.imageset/Group 911@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/SmallClass.imageset/Group 908@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/SmallClass.imageset/Group 908@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/ClassroomType/SmallClass.imageset/Group 908@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/ClassroomType/SmallClass.imageset/Group 908@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_cancel.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "矩形备份 24@2x(2).png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "矩形备份 24@3x(2).png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_cancel.imageset/矩形备份 24@2x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_cancel.imageset/矩形备份 24@2x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_cancel.imageset/矩形备份 24@3x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_cancel.imageset/矩形备份 24@3x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_reupload.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "矩形备份 44@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "矩形备份 44@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_reupload.imageset/矩形备份 44@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_reupload.imageset/矩形备份 44@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_reupload.imageset/矩形备份 44@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_reupload.imageset/矩形备份 44@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_success.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_success.imageset/编组@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_success.imageset/编组@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_success.imageset/编组@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/Upload/status/upload_success.imageset/编组@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/upload_audio.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 857.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/upload_doc.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "file.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/upload_image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "fileImage.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/Upload/upload_video.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/cloud_file_more.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "moreVertical.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/create_directory.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 1038.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/edit.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "矩形备份 24@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "矩形备份 24@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/edit.imageset/矩形备份 24@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/edit.imageset/矩形备份 24@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/edit.imageset/矩形备份 24@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/edit.imageset/矩形备份 24@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/arrowRight.imageset/arrowRight@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/arrowRight.imageset/arrowRight@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/arrowRight.imageset/arrowRight@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/arrowRight.imageset/arrowRight@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/cloud_storage_selection.imageset/circleCheckOutlined@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/cloud_storage_selection.imageset/circleCheckOutlined@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/cloud_storage_selection.imageset/circleCheckOutlined@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/cloud_storage_selection.imageset/circleCheckOutlined@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 1220@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 1220@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add.imageset/Group 1220@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add.imageset/Group 1220@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add.imageset/Group 1220@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add.imageset/Group 1220@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add_small.imageset/pages备份 4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add_small.imageset/pages备份 4@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add_small.imageset/pages备份 4@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_add_small.imageset/pages备份 4@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_directory.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "file.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_doc.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "fileWord@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "fileWord@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_doc.imageset/fileWord@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_doc.imageset/fileWord@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_doc.imageset/fileWord@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_doc.imageset/fileWord@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_img.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "fileImage@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "fileImage@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_img.imageset/fileImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_img.imageset/fileImage@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_img.imageset/fileImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_img.imageset/fileImage@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_music.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "fileAudio@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "fileAudio@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_music.imageset/fileAudio@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_music.imageset/fileAudio@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_music.imageset/fileAudio@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_music.imageset/fileAudio@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_pdf.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "fileOnenote@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "fileOnenote@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_pdf.imageset/fileOnenote@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_pdf.imageset/fileOnenote@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_pdf.imageset/fileOnenote@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_pdf.imageset/fileOnenote@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_ppt.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 5备份 11@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 5备份 11@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_ppt.imageset/编组 5备份 11@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_ppt.imageset/编组 5备份 11@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_ppt.imageset/编组 5备份 11@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_ppt.imageset/编组 5备份 11@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_video.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "fileVideo@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "fileVideo@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_video.imageset/fileVideo@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_video.imageset/fileVideo@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_video.imageset/fileVideo@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/listInClassRoom/storage_type_video.imageset/fileVideo@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/upload_list.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组备份 7@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组备份 7@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/upload_list.imageset/编组备份 7@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/upload_list.imageset/编组备份 7@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/CloudStorage/upload_list.imageset/编组备份 7@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/CloudStorage/upload_list.imageset/编组备份 7@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/camera.imageset/camera@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/camera.imageset/camera@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/camera.imageset/camera@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/camera.imageset/camera@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/checklist_normal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "矩形.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/checklist_normal.imageset/矩形.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/checklist_normal.imageset/矩形.pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/checklist_selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组 21.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/checklist_selected.imageset/编组 21.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/checklist_selected.imageset/编组 21.pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/circle.imageset/椭圆形备份 3@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/circle.imageset/椭圆形备份 3@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/circle.imageset/椭圆形备份 3@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/circle.imageset/椭圆形备份 3@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/command.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "general.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/common_camera_off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 806.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/common_camera_on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 946.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/common_mic_off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 951.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/common_mic_on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 947.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/microphone.imageset/microphone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/microphone.imageset/microphone@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/microphone.imageset/microphone@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/microphone.imageset/microphone@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/record.imageset/record@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/record.imageset/record@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/record.imageset/record@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/record.imageset/record@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/triangle_down.imageset/down@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/triangle_down.imageset/down@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/triangle_down.imageset/down@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/triangle_down.imageset/down@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/triangle_rt.imageset/矩形@2x(13).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/triangle_rt.imageset/矩形@2x(13).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/triangle_rt.imageset/矩形@3x(13).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/triangle_rt.imageset/矩形@3x(13).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/video_area.imageset/record@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/video_area.imageset/record@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Common/video_area.imageset/record@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Common/video_area.imageset/record@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2190@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2190@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2190@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2190@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2194@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2194@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2194@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/cloud_empty.imageset/Group 2194@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2191@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2191@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2191@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2191@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2193@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2193@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2193@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/history_empty.imageset/Group 2193@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@2x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@3x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/message_empty.imageset/Group 2171@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2192@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2192@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2192@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2192@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2195@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2195@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2195@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Empty/room_empty.imageset/Group 2195@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@2x-ipad.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/FlintIcon.appiconset/icon-83.5@2x 1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/FlintIcon.appiconset/icon-83.5@2x 1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/history.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "time@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "time@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | },
22 | "properties" : {
23 | "template-rendering-intent" : "template"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/history.imageset/time@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/history.imageset/time@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/history.imageset/time@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/history.imageset/time@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/right.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "right@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "right@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/right.imageset/right@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/right.imageset/right@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/right.imageset/right@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/right.imageset/right@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_calendar.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "calendar@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "calendar@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_calendar.imageset/calendar@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_calendar.imageset/calendar@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_calendar.imageset/calendar@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_calendar.imageset/calendar@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_create.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 22@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 22@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_create.imageset/编组 22@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_create.imageset/编组 22@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_create.imageset/编组 22@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_create.imageset/编组 22@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_join.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 37@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 37@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_join.imageset/编组 37@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_join.imageset/编组 37@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Home/room_join.imageset/编组 37@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Home/room_join.imageset/编组 37@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/arrow_down.imageset/arrow_down@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/arrow_down.imageset/arrow_down@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/arrow_down.imageset/arrow_down@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/arrow_down.imageset/arrow_down@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/close-bold.imageset/previous备份 23@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/close-bold.imageset/previous备份 23@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/close-bold.imageset/previous备份 23@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/close-bold.imageset/previous备份 23@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/email_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "whiteboard@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "whiteboard@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/email_icon.imageset/whiteboard@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/email_icon.imageset/whiteboard@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/email_icon.imageset/whiteboard@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/email_icon.imageset/whiteboard@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_apple.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 411@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 411@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_apple.imageset/Group 411@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_apple.imageset/Group 411@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_apple.imageset/Group 411@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_apple.imageset/Group 411@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2117@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2117@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2117@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2117@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2119@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2119@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2119@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/Group 2119@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@2x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@3x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_compact_bg.imageset/文案配图@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_default_avatar.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 872@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 872@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_default_avatar.imageset/Group 872@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_default_avatar.imageset/Group 872@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_default_avatar.imageset/Group 872@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_default_avatar.imageset/Group 872@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_github.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 411@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 411@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_github.imageset/Group 411@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_github.imageset/Group 411@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_github.imageset/Group 411@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_github.imageset/Group 411@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_google.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 413@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 413@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_google.imageset/Group 413@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_google.imageset/Group 413@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_google.imageset/Group 413@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_google.imageset/Group 413@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 27@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 27@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_icon.imageset/Group 27@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_icon.imageset/Group 27@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_icon.imageset/Group 27@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_icon.imageset/Group 27@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_wechat.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 412@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 412@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_wechat.imageset/Group 412@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_wechat.imageset/Group 412@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/login_wechat.imageset/Group 412@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/login_wechat.imageset/Group 412@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/no_secure_keyboard.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "show@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "show@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/no_secure_keyboard.imageset/show@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/no_secure_keyboard.imageset/show@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/no_secure_keyboard.imageset/show@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/no_secure_keyboard.imageset/show@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/password_icon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "whiteboard@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "whiteboard@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/password_icon.imageset/whiteboard@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/password_icon.imageset/whiteboard@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/password_icon.imageset/whiteboard@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/password_icon.imageset/whiteboard@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/secure_keyboard.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 4@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 4@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/secure_keyboard.imageset/Group 4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/secure_keyboard.imageset/Group 4@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/secure_keyboard.imageset/Group 4@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/secure_keyboard.imageset/Group 4@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/veryfication.imageset/whiteboard-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/veryfication.imageset/whiteboard-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Login/veryfication.imageset/whiteboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Login/veryfication.imageset/whiteboard.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/NaviBar/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/NaviBar/arrowLeft.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "路径 11备份 5.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/close.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "close (2).png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "author" : "xcode",
19 | "version" : 1
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/close.imageset/close (2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Replay/close.imageset/close (2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/pause.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "矩形备份 19 (1).pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/pause.imageset/矩形备份 19 (1).pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Replay/pause.imageset/矩形备份 19 (1).pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/play.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "矩形备份 19.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Replay/play.imageset/矩形备份 19.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Replay/play.imageset/矩形备份 19.pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/delete_room.imageset/delete@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/delete_room.imageset/delete@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/delete_room.imageset/delete@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/delete_room.imageset/delete@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_copy.imageset/copy@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_copy.imageset/copy@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_copy.imageset/copy@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_copy.imageset/copy@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_info_detail.imageset/矩形备份 24@2x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_info_detail.imageset/矩形备份 24@2x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_info_detail.imageset/矩形备份 24@3x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_info_detail.imageset/矩形备份 24@3x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_number.imageset/编组 4@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_status.imageset/previous备份 27@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_time.imageset/编组 10@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/RoomInfo/room_type.imageset/编组备份 10@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/camera_off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 806.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/camera_on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "camera.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/expand.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "videoUnfold.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/layout_reset.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/mic_off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 951.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/mic_on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "microphone.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/microphone_volume.imageset/microphone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Rtc/microphone_volume.imageset/microphone@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/microphone_volume.imageset/microphone@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Rtc/microphone_volume.imageset/microphone@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/mute_all.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "microphone.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/narrow.imageset/矩形备份 24@2x(1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Rtc/narrow.imageset/矩形备份 24@2x(1).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/narrow.imageset/矩形备份 24@3x(1).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Rtc/narrow.imageset/矩形备份 24@3x(1).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/rewards.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record (1).pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/silence.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组 4.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/whiteboard_permission_off.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Rtc/whiteboard_permission_on.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "record.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/about_us.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "userGroup.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_apple.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 2@2x-1.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 2@3x-1.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_apple.imageset/编组 2@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_apple.imageset/编组 2@2x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_apple.imageset/编组 2@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_apple.imageset/编组 2@3x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_email.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "whiteboard@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "whiteboard@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_email.imageset/whiteboard@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_email.imageset/whiteboard@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_email.imageset/whiteboard@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_email.imageset/whiteboard@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_github.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 2@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 2@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_github.imageset/编组 2@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_github.imageset/编组 2@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_github.imageset/编组 2@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_github.imageset/编组 2@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_google.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "编组 2@2x-2.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "编组 2@3x-2.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_google.imageset/编组 2@2x-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_google.imageset/编组 2@2x-2.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_google.imageset/编组 2@3x-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_google.imageset/编组 2@3x-2.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_phone.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "phone@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "phone@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_phone.imageset/phone@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_phone.imageset/phone@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_phone.imageset/phone@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_phone.imageset/phone@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_wechat.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Group 875@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Group 875@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_wechat.imageset/Group 875@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_wechat.imageset/Group 875@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/binding_types/account_wechat.imageset/Group 875@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/binding_types/account_wechat.imageset/Group 875@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/cancellation.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "logoff.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/export.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "exit.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/language.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "language.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/logout.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "exit.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/message.imageset/invite备份@2x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/message.imageset/invite备份@2x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/message.imageset/invite备份@3x(2).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/message.imageset/invite备份@3x(2).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/personal_collect.imageset/exit@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/personal_collect.imageset/exit@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/personal_collect.imageset/exit@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/personal_collect.imageset/exit@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/profile.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 1321.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/rocket.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "Group 1272.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/security.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "security@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "security@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/security.imageset/security@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/security.imageset/security@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/security.imageset/security@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/security.imageset/security@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/setting.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组 5.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/theme.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "theme.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/third_share.imageset/exit@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/third_share.imageset/exit@2x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/third_share.imageset/exit@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/third_share.imageset/exit@3x-1.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/update_password.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "whiteboard@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "whiteboard@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/update_password.imageset/whiteboard@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/update_password.imageset/whiteboard@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/update_password.imageset/whiteboard@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/update_password.imageset/whiteboard@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/update_version.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "circleInfoOutlined.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/videoCollect.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "Frame@2x.png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "Frame@3x.png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/videoCollect.imageset/Frame@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/videoCollect.imageset/Frame@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Setting/videoCollect.imageset/Frame@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Setting/videoCollect.imageset/Frame@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_bar_fold.imageset/Group 425@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_bar_fold.imageset/Group 425@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_bar_fold.imageset/Group 425@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_bar_fold.imageset/Group 425@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud.imageset/cloud@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_cloud_filled.imageset/cloudFilled@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home.imageset/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home.imageset/home.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home.imageset/home@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home.imageset/home@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home.imageset/home@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home.imageset/home@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/SideBar/side_home_filled.imageset/homeFilled@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Split/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Split/split_empty.imageset/Union@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Split/split_empty.imageset/Union@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Split/split_empty.imageset/Union@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Split/split_empty.imageset/Union@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/hideSide.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "hideSide.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/hideSide.imageset/hideSide.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/hideSide.imageset/hideSide.pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/scene_new.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "编组 11.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/scene_next.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "previous备份 20.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/scene_previous.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "previous备份 18.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/small_arr_down.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "filename" : "矩形@2x(16).png",
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "filename" : "矩形@3x(16).png",
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "author" : "xcode",
20 | "version" : 1
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/small_arr_down.imageset/矩形@2x(16).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/small_arr_down.imageset/矩形@2x(16).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/small_arr_down.imageset/矩形@3x(16).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/small_arr_down.imageset/矩形@3x(16).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/small_arr_top.imageset/矩形@2x(14).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/small_arr_top.imageset/矩形@2x(14).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/small_arr_top.imageset/矩形@3x(14).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/small_arr_top.imageset/矩形@3x(14).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/subops_more.imageset/矩形@2x(13).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/subops_more.imageset/矩形@2x(13).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/subops_more.imageset/矩形@3x(13).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/subops_more.imageset/矩形@3x(13).png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_apps.imageset/apps@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/whiteboard_apps.imageset/apps@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_apps.imageset/apps@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/whiteboard_apps.imageset/apps@3x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_arrow-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "arrowBolded.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "arrowBolded 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_arrow.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "arrow.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "arrow 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_clean.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "clean.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "clean 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_clicker-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "clickFilled.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "clickFilled 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_clicker.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "click.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "click 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_ellipse-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "circleBolded.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "circleBolded 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_ellipse.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "circle.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "circle 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "eraserFilled@2x.png",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "eraserFilled (1).pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser-selected.imageset/eraserFilled@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser-selected.imageset/eraserFilled@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "eraser@2x.png",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "eraser 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser.imageset/eraser@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/Whiteboard/whiteboard_eraser.imageset/eraser@2x.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_pencil-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "pencilFilled.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "pencilFilled 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_pencil.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "pencil.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "pencil 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_pencilEraser-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "eraserFilled.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "eraserFilled 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_pencilEraser.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "eraser.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "eraser 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_rectangle-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "rectangle Bolded.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "rectangle Bolded 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_rectangle.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "rectangle.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "rectangle 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_redo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "undo.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "undo 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_remove_selection.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "delete.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "delete 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_selector-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "selectorFilled.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "selectorFilled 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_selector.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "selector.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "selector 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_pentagram-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "starBolded.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_pentagram.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "star.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_rhombus-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "rhombusBolded.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_rhombus.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "rhombus.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_speechBalloon-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "balloonBolded.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_speechBalloon.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "balloon.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_triangle-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "triangleBolded.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_shape_triangle.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "triangle.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_straight-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "lineBolded.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_straight.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "line.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_text-selected.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "textFilled.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_text.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "text.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | },
12 | "properties" : {
13 | "template-rendering-intent" : "template"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/Whiteboard/whiteboard_undo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "redo.pdf",
5 | "idiom" : "universal"
6 | },
7 | {
8 | "filename" : "redo 1.pdf",
9 | "idiom" : "iphone"
10 | }
11 | ],
12 | "info" : {
13 | "author" : "xcode",
14 | "version" : 1
15 | },
16 | "properties" : {
17 | "template-rendering-intent" : "template"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Countdown.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "clock.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Dice.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "dot.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_GeoGebra.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "geo.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_MindMap.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "pipeline.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Monaco.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "code.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Monaco.imageset/code.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/apps/apps_Monaco.imageset/code.pdf
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Quill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "text.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/apps_Selector.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "question.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/apps/save_whiteboard.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "download.pdf",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/lottie/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/lottie/img_0.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "img_0.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/lottie/img_0.imageset/img_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/lottie/img_0.imageset/img_0.png
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/lottie/img_1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "img_1.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Flat/Assets.xcassets/lottie/img_1.imageset/img_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Assets.xcassets/lottie/img_1.imageset/img_1.png
--------------------------------------------------------------------------------
/Flat/EnvConfigs/Env+Whiteboard.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Env+Whiteboard.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2023/8/21.
6 | // Copyright © 2023 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Env {
12 | var createWhiteboardRegion: FlatRegion {
13 | FlatRegion(rawValue: value(for: "CREATE_WHITEBOARD_REGION") as String) ?? .CN_HZ
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Extensions/Array/Array+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Array+Extension.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/11/9.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Array where Element: Equatable {
12 | func removeDuplicate() -> [Element] {
13 | var new: [Element] = []
14 | for item in self {
15 | if !new.contains(item) {
16 | new.append(item)
17 | }
18 | }
19 | return new
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Flat/Extensions/ConvinceInit/ConvinceInit.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ConvinceInit.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/8/31.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension UIEdgeInsets {
12 | init(inset: CGFloat) {
13 | self.init(top: inset, left: inset, bottom: inset, right: inset)
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Extensions/Date/Date+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Date+Extension.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/19.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension Date {
12 | func isSameDayTo(_ other: Date) -> Bool {
13 | Calendar.current.dateComponents([.day], from: self, to: other).day == 0
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Extensions/Global.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Global.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/8/30.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | let commonBorderWidth = 1 / UIScreen.main.scale
12 |
13 | func supportApplePencil() -> Bool {
14 | UIDevice.current.userInterfaceIdiom == .pad
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Extensions/ImportExtensions.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ImportExtensions.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/1/18.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import NSObject_Rx
10 | import SnapKit
11 |
--------------------------------------------------------------------------------
/Flat/Extensions/MethodExchange.swift:
--------------------------------------------------------------------------------
1 | //
2 | // MethodExchange.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/6.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import ObjectiveC
11 |
12 | func methodExchange(cls: AnyClass, originalSelector: Selector, swizzledSelector: Selector) {
13 | let original = class_getInstanceMethod(cls, originalSelector)!
14 | let target = class_getInstanceMethod(cls, swizzledSelector)!
15 | method_exchangeImplementations(original, target)
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Extensions/Rx/UITextfield+Rx.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UITextfield+Rx.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/8/23.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import RxCocoa
10 | import RxSwift
11 | import UIKit
12 |
13 | extension Reactive where Base: UITextField {
14 | var editing: Driver {
15 | base.rx
16 | .controlEvent([.editingDidBegin, .editingDidEnd])
17 | .map { _ in self.base.isEditing }
18 | .asDriver(onErrorJustReturn: false)
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Flat/Extensions/String/String+Error.swift:
--------------------------------------------------------------------------------
1 | //
2 | // String+Error.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/20.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension String: LocalizedError {
12 | public var errorDescription: String? { self }
13 | }
14 |
--------------------------------------------------------------------------------
/Flat/Extensions/UIImage/UIImage+Appliance.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+Appliance.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/19.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import Whiteboard
11 |
12 | extension UIImage {
13 | convenience init?(appliance: WhiteApplianceNameKey) {
14 | self.init(named: "whiteboard_\(appliance.rawValue)")
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Extensions/UIView/CACornerMask+Extension.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CACornerMask.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/20.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | extension CACornerMask {
12 | static var all: CACornerMask {
13 | [.layerMinXMinYCorner, .layerMinXMaxYCorner,
14 | .layerMaxXMaxYCorner, .layerMaxXMinYCorner]
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Extensions/UIView/UIView+TableViewHeader.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+TableViewHeader.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/9/23.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | extension UIView {
12 | static func minHeaderView() -> UIView {
13 | .init(frame: .init(x: 0, y: 0, width: 0, height: 0.001))
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/FlatNon_Sign.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Flat/Models/Agora/AgoraMessage.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraMessage.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/22.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct AgoraMessage: Decodable {
12 | let message: String
13 | let sourceUserId: String
14 | let date: Date
15 |
16 | enum CodingKeys: String, CodingKey {
17 | case message = "payload"
18 | case sourceUserId = "src"
19 | case date = "ms"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/ClassRoomType+AgoraVideoSteamType.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ClassRoomType+AgoraVideoSteamType.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/11/29.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import AgoraRtcKit
10 | import Foundation
11 |
12 | extension ClassRoomType {
13 | func thumbnailStreamType(isUserTeacher: Bool) -> AgoraVideoStreamType {
14 | switch self {
15 | case .oneToOne: return .high
16 | default:
17 | return isUserTeacher ? .high : .low
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/DeviceState.swift:
--------------------------------------------------------------------------------
1 | //
2 | // DeviceState.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/8/3.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct DeviceState: Codable {
12 | let mic: Bool
13 | let camera: Bool
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/JoinRoomInfo.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RoomJoinInfo.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/15.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct JoinRoomInfo: Decodable {
12 | let roomUUID: String
13 | let periodicUUID: String?
14 | let inviteCode: String
15 | }
16 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/ShareScreenInfo.swift:
--------------------------------------------------------------------------------
1 | //
2 | // RTCShareScreen.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/15.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct ShareScreenInfo: Codable {
12 | let uid: Int
13 | let token: String
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/UploadInfo.swift:
--------------------------------------------------------------------------------
1 | //
2 | // UploadInfo.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/7.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct UploadInfo: Codable {
12 | let fileUUID: String
13 | let ossFilePath: String
14 | let ossDomain: URL
15 | let policy: String
16 | let signature: String
17 | }
18 |
--------------------------------------------------------------------------------
/Flat/Models/Flat/User.swift:
--------------------------------------------------------------------------------
1 | //
2 | // User.swift
3 | // flat
4 | //
5 | // Created by xuyunshi on 2021/10/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct User: Codable {
12 | var name: String
13 | var avatar: String
14 | let userUUID: String
15 | var token: String
16 | var hasPhone: Bool
17 | var hasPassword: Bool
18 |
19 | var avatarUrl: URL? {
20 | URL(string: avatar)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Flat/Modules/ClassRoom/ClassroomConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ClassroomConfig.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2023/2/14.
6 | // Copyright © 2023 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | struct ClassroomDefaultConfig {
12 | static let usingFrontCamera = true
13 | static let frontCameraMirror = true
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Modules/ClassRoom/ClassroomLayout/ClassRoomLayoutRatioConfig.swift:
--------------------------------------------------------------------------------
1 | //
2 | // WhiteboardRatioConfig.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/14.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | /// Width / Height
12 | struct ClassRoomLayoutRatioConfig {
13 | static let whiteboardRatio = CGFloat(9.0 / 16)
14 | static let rtcItemRatio = CGFloat(84 / 112.0)
15 | static let rtcPreviewRatio = CGFloat(9.0 / 16.0)
16 | }
17 |
--------------------------------------------------------------------------------
/Flat/Modules/ClassRoom/Rtm/Command/RoomExpireInfo.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | enum PaidLevel: Int, Codable {
4 | case free = 0
5 | case paidLevel1
6 |
7 | var localizedString: String {
8 | switch self {
9 | case .free:
10 | return localizeStrings("FreeVersion")
11 | case .paidLevel1:
12 | return localizeStrings("PaidVersion")
13 | }
14 | }
15 | }
16 |
17 | struct RoomExpireInfo: Codable {
18 | let roomLevel: PaidLevel
19 | let expireAt: Date
20 | }
21 |
--------------------------------------------------------------------------------
/Flat/Modules/CloudStorage/Preview/AnyPreview.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AnyPreview.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/12/8.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 | import QuickLook
11 |
12 | class AnyPreview: NSObject, QLPreviewItem {
13 | let previewItemURL: URL?
14 | let previewItemTitle: String?
15 | init(previewItemURL: URL, title: String) {
16 | self.previewItemURL = previewItemURL
17 | previewItemTitle = title
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Modules/Login/LoginViewController+Debug.swift:
--------------------------------------------------------------------------------
1 | //
2 | // LoginViewController+Debug.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/2/14.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | extension LoginViewController {
10 | @objc func debugLogin() {
11 |
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Flat/Modules/Replay/VideoPreviewView.swift:
--------------------------------------------------------------------------------
1 | //
2 | // VideoPreviewView.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2022/9/15.
6 | // Copyright © 2022 agora.io. All rights reserved.
7 | //
8 |
9 | import AVFoundation
10 | import UIKit
11 |
12 | class VideoPreviewView: UIView {
13 | override class var layerClass: AnyClass { AVPlayerLayer.self }
14 | }
15 |
--------------------------------------------------------------------------------
/Flat/Modules/Setting/ContactUs/en.lproj/ContactUsViewController.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "UIButton"; configuration.title = "Submit"; ObjectID = "WiE-Up-Itd"; */
3 | "WiE-Up-Itd.configuration.title" = "Submit";
4 |
5 | /* Class = "UIButton"; normalTitle = "Button"; ObjectID = "WiE-Up-Itd"; */
6 | "WiE-Up-Itd.normalTitle" = "Submit";
7 |
--------------------------------------------------------------------------------
/Flat/Modules/Setting/ContactUs/zh-Hans.lproj/ContactUsViewController.strings:
--------------------------------------------------------------------------------
1 |
2 | /* Class = "UIButton"; configuration.title = "Submit"; ObjectID = "WiE-Up-Itd"; */
3 | "WiE-Up-Itd.configuration.title" = "Submit";
4 |
5 | /* Class = "UIButton"; normalTitle = "Button"; ObjectID = "WiE-Up-Itd"; */
6 | "WiE-Up-Itd.normalTitle" = "提交";
7 |
--------------------------------------------------------------------------------
/Flat/Modules/Shortcuts/Interface/GlobalKeyboardShortcutRespondable.swift:
--------------------------------------------------------------------------------
1 | //
2 | // GlobalKeyboardShortcutRespondable.swift
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2023/5/15.
6 | // Copyright © 2023 agora.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | @objc
12 | protocol GlobalKeyboardShortcutRespondable: AnyObject {
13 | /// Mapped to Command-N
14 | @objc
15 | optional func createNewItem(_: Any?)
16 |
17 | @objc
18 | optional func escape(_: Any?)
19 | }
20 |
--------------------------------------------------------------------------------
/Flat/Vendor/WechatOpenSDK-XCFramework.xcframework/ios-arm64_armv7/libWechatOpenSDK.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/WechatOpenSDK-XCFramework.xcframework/ios-arm64_armv7/libWechatOpenSDK.a
--------------------------------------------------------------------------------
/Flat/Vendor/WechatOpenSDK-XCFramework.xcframework/ios-arm64_i386_x86_64-simulator/libWechatOpenSDK.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/WechatOpenSDK-XCFramework.xcframework/ios-arm64_i386_x86_64-simulator/libWechatOpenSDK.a
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/AgoraRtmKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/Headers/AgoraRtmKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRtmKit.h
3 | // AgoraRtmKit
4 | //
5 | // Copyright (c) 2018 Agora. All rights reserved.
6 | //
7 |
8 | #import "AgoraRtmClientKit.h"
9 | #import "AgoraRtmEnumerates.h"
10 | #import "AgoraRtmObjects.h"
11 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/Info.plist
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_armv7/AgoraRtmKit.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AgoraRtmKit {
2 | header "AgoraRtmKit.h"
3 | header "AgoraRtmClientKit.h"
4 | header "AgoraRtmEnumerates.h"
5 | header "AgoraRtmObjects.h"
6 | header "AgoraRtmKit.h"
7 | header "AgoraRtmClientKit.h"
8 | header "AgoraRtmEnumerates.h"
9 | header "AgoraRtmObjects.h"
10 | export *
11 | }
12 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/AgoraRtmKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/Headers/AgoraRtmKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRtmKit.h
3 | // AgoraRtmKit
4 | //
5 | // Copyright (c) 2018 Agora. All rights reserved.
6 | //
7 |
8 | #import "AgoraRtmClientKit.h"
9 | #import "AgoraRtmEnumerates.h"
10 | #import "AgoraRtmObjects.h"
11 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/Info.plist
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/ios-arm64_x86_64-simulator/AgoraRtmKit.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AgoraRtmKit {
2 | header "AgoraRtmKit.h"
3 | header "AgoraRtmClientKit.h"
4 | header "AgoraRtmEnumerates.h"
5 | header "AgoraRtmObjects.h"
6 | header "AgoraRtmKit.h"
7 | header "AgoraRtmClientKit.h"
8 | header "AgoraRtmEnumerates.h"
9 | header "AgoraRtmObjects.h"
10 | export *
11 | }
12 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/AgoraRtmKit:
--------------------------------------------------------------------------------
1 | Versions/Current/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Headers:
--------------------------------------------------------------------------------
1 | Versions/Current/Headers
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Modules:
--------------------------------------------------------------------------------
1 | Versions/Current/Modules
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Resources:
--------------------------------------------------------------------------------
1 | Versions/Current/Resources
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Versions/A/AgoraRtmKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Versions/A/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Versions/A/Headers/AgoraRtmKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRtmKit.h
3 | // AgoraRtmKit
4 | //
5 | // Copyright (c) 2018 Agora. All rights reserved.
6 | //
7 |
8 | #import "AgoraRtmClientKit.h"
9 | #import "AgoraRtmEnumerates.h"
10 | #import "AgoraRtmObjects.h"
11 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Versions/A/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AgoraRtmKit {
2 | header "AgoraRtmKit.h"
3 | header "AgoraRtmClientKit.h"
4 | header "AgoraRtmEnumerates.h"
5 | header "AgoraRtmObjects.h"
6 | header "AgoraRtmKit.h"
7 | header "AgoraRtmClientKit.h"
8 | header "AgoraRtmEnumerates.h"
9 | header "AgoraRtmObjects.h"
10 | export *
11 | }
12 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/macos-arm64_x86_64/AgoraRtmKit.framework/Versions/Current:
--------------------------------------------------------------------------------
1 | A
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/AgoraRtmKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/Headers/AgoraRtmKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRtmKit.h
3 | // AgoraRtmKit
4 | //
5 | // Copyright (c) 2018 Agora. All rights reserved.
6 | //
7 |
8 | #import "AgoraRtmClientKit.h"
9 | #import "AgoraRtmEnumerates.h"
10 | #import "AgoraRtmObjects.h"
11 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/Info.plist
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64/AgoraRtmKit.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AgoraRtmKit {
2 | header "AgoraRtmKit.h"
3 | header "AgoraRtmClientKit.h"
4 | header "AgoraRtmEnumerates.h"
5 | header "AgoraRtmObjects.h"
6 | header "AgoraRtmKit.h"
7 | header "AgoraRtmClientKit.h"
8 | header "AgoraRtmEnumerates.h"
9 | header "AgoraRtmObjects.h"
10 | export *
11 | }
12 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/AgoraRtmKit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/AgoraRtmKit
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/Headers/AgoraRtmKit.h:
--------------------------------------------------------------------------------
1 | //
2 | // AgoraRtmKit.h
3 | // AgoraRtmKit
4 | //
5 | // Copyright (c) 2018 Agora. All rights reserved.
6 | //
7 |
8 | #import "AgoraRtmClientKit.h"
9 | #import "AgoraRtmEnumerates.h"
10 | #import "AgoraRtmObjects.h"
11 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/Info.plist
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/libs/AgoraRtmKit.xcframework/xros-arm64_x86_64-simulator/AgoraRtmKit.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module AgoraRtmKit {
2 | header "AgoraRtmKit.h"
3 | header "AgoraRtmClientKit.h"
4 | header "AgoraRtmEnumerates.h"
5 | header "AgoraRtmObjects.h"
6 | header "AgoraRtmKit.h"
7 | header "AgoraRtmClientKit.h"
8 | header "AgoraRtmEnumerates.h"
9 | header "AgoraRtmObjects.h"
10 | export *
11 | }
12 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/package_size_report.txt:
--------------------------------------------------------------------------------
1 | ios arch framework size_in_ipa(b) raw_size(b)
2 | ios armv7 aosl.Framework 186397 212992
3 | ios armv7 AgoraRtmKit.Framework 5644513 6291456
4 | ios arm64 aosl.Framework 201237 245760
5 | ios arm64 AgoraRtmKit.Framework 5930186 8110080
6 |
--------------------------------------------------------------------------------
/Flat/Vendor/rtm_v2.2.1/spec:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/Flat/bridgingHeader.h:
--------------------------------------------------------------------------------
1 | //
2 | // bridgingHeader.h
3 | // Flat
4 | //
5 | // Created by xuyunshi on 2021/10/18.
6 | // Copyright © 2021 agora.io. All rights reserved.
7 | //
8 |
9 |
10 | #ifndef bridgingHeader_h
11 | #define bridgingHeader_h
12 |
13 |
14 | #endif /* bridgingHeader_h */
15 |
16 | #if __has_include("WXApi.h")
17 | #import "WXApi.h"
18 | #else
19 | #endif
20 |
--------------------------------------------------------------------------------
/Flat/en.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Flat/en.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Flat/reward.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/reward.mp3
--------------------------------------------------------------------------------
/Flat/whiteboard_rebuild.bundle/foo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/Flat/whiteboard_rebuild.bundle/foo
--------------------------------------------------------------------------------
/Flat/zh-Hans.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Flat/zh-Hans.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/archive.sh:
--------------------------------------------------------------------------------
1 | buildname=$(date +%s)
2 | archivename=$buildname.xcarchive
3 | archivepath=./Archive/$archivename
4 | ipapath=./iPa
5 | scheme=$1
6 | configuration=$2
7 | exportOptionsPlist=$3
8 | xcodebuild archive -workspace Flat.xcworkspace -scheme $scheme -configuration $configuration -archivePath $archivepath -destination generic/platform=iOS
9 | xcodebuild -exportArchive -archivePath $archivepath -exportOptionsPlist $exportOptionsPlist -exportPath $ipapath
10 |
--------------------------------------------------------------------------------
/art/flat-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/art/flat-logo.png
--------------------------------------------------------------------------------
/art/flat-showcase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/art/flat-showcase.png
--------------------------------------------------------------------------------
/blackduck.sh:
--------------------------------------------------------------------------------
1 | export BD_HUB_TOKEN=$1
2 | DATE=$(date +"%Y-%m-%d-%H-%m-%S-%s")
3 |
4 | echo $2 |awk '{run=$0;system(run)}'
5 |
--------------------------------------------------------------------------------
/test.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netless-io/flat-iOS/a01e14c2110075a870fde971154d39d41c57aa29/test.log
--------------------------------------------------------------------------------
/test.sh:
--------------------------------------------------------------------------------
1 | SCHEME=$1
2 | OUTPATH=$2
3 | xcodebuild \
4 | -workspace Flat.xcworkspace \
5 | -scheme $SCHEME \
6 | -sdk iphonesimulator \
7 | -destination 'platform=iOS Simulator,name=iPhoneTest' \
8 | test | xcbeautify > $OUTPATH
9 | PASSSTR='Test Succeeded'
10 | TEST_RESULT=$(cat $OUTPATH)
11 | ISPASS=$(echo $TEST_RESULT | grep "${PASSSTR}")
12 | if [[ "$ISPASS" != "" ]]
13 | then
14 | echo "TEST Succeeded"
15 | else
16 | echo "TEST FAIL SEE $OUTPATH"
17 | exit 1
18 | fi
--------------------------------------------------------------------------------
/upload.sh:
--------------------------------------------------------------------------------
1 | export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin/
2 | cd iPa
3 | IPA=$(find . -name '*.ipa')
4 | altool --upload-app -t ios -f $IPA -u $1 -p $2
--------------------------------------------------------------------------------