├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── LICENSE.txt ├── NOTICE.txt ├── README.md ├── examples ├── .gitignore ├── LICENSE.txt ├── README.md ├── mesh-textchat │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_mesh_textchat │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_mesh_textchat │ │ │ │ │ ├── ListViewAdapter.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── view_chat.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_mesh_textchat │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── mesh-videochat │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_mesh_videochat │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_mesh_videochat │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── RemoteViewAdapter.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ ├── view_remote.xml │ │ │ │ └── view_unknown_remote.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_mesh_videochat │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── p2p-call │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_p2p_call │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_p2p_call │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── PeerListDialogFragment.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fragment_dialog_peerlist.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_p2p_call │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── p2p-textchat │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_p2p_textchat │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── image.png │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_p2p_textchat │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── PeerListDialogFragment.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fragment_dialog_peerlist.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── arrays.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_p2p_textchat │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── p2p-videochat │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_p2p_videochat │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_p2p_videochat │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ └── PeerListDialogFragment.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── fragment_dialog_peerlist.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_p2p_videochat │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── sfu-textchat │ ├── .idea │ │ ├── gradle.xml │ │ ├── misc.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ ├── app │ │ ├── build.gradle │ │ ├── libs │ │ │ └── .gitkeep │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── androidTest │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_sfu_textchat │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── ntt │ │ │ │ │ └── ecl │ │ │ │ │ └── webrtc │ │ │ │ │ └── sample_sfu_textchat │ │ │ │ │ ├── ListViewAdapter.java │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── view_chat.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_sfu_textchat │ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── sfu-videochat │ ├── .idea │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ └── runConfigurations.xml │ ├── app │ ├── build.gradle │ ├── libs │ │ └── .gitkeep │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── ntt │ │ │ └── ecl │ │ │ └── webrtc │ │ │ └── sample_sfu_videochat │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── ntt │ │ │ │ └── ecl │ │ │ │ └── webrtc │ │ │ │ └── sample_sfu_videochat │ │ │ │ ├── MainActivity.java │ │ │ │ └── RemoteViewAdapter.java │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── view_remote.xml │ │ │ └── view_unknown_remote.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── ntt │ │ └── ecl │ │ └── webrtc │ │ └── sample_sfu_videochat │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── release-notes.en.md └── release-notes.md /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | # Description of the problem 6 | 7 | # Environment 8 | 9 | - SDK version (ex. SDK v1.0.1,etc) 10 | - Device (ex. Nexus6, etc) 11 | - OS (ex. Android 7.0 etc) 12 | - Network (Cable/DSL/Fiber + WiFi, MiFi, LTE, etc) 13 | 14 | # Steps to reproduce the problem 15 | 16 | # Expected behavior 17 | 18 | # Other information (Log etc) -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Please check the type of change your PR introduces 2 | 3 | - [ ] Bugfix 4 | - [ ] Feature 5 | - [ ] Code style update (formatting, renaming) 6 | - [ ] Refactoring (no functional changes, no api changes) 7 | - [ ] Documentation content changes 8 | - [ ] Other (please describe): 9 | 10 | ### Summary 11 | 12 | ### Related Links (Issue, PR etc...) (_Optional_) 13 | 14 | ### Check point 15 | 16 | - [ ] Check merge target branch 17 | - [ ] ( For SkyWay team ) This is public repository **Please Check AGAIN** before publish 18 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2017 NTT Communications Corporation, http://www.ntt.com 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## SkyWay-Android-SDK 2 | 3 | **これは旧SkyWayのリポジトリです。[新しいSkyWay]()への移行をご検討ください。** 4 | 5 | **This is the old SkyWay repository. Please consider migrating to the [new SkyWay]().** 6 | 7 | --- 8 | 9 | "SkyWay Android SDK" is a framework that enables using SkyWay in Android apps.
10 | SkyWay simplifies peer-to-peer data, video, and audio calls using WebRTC. 11 | 12 | ### Learn more 13 | * [Tutorial](https://webrtc.ecl.ntt.com/en/documents/android-sdk.html) 14 | * [API Reference](https://webrtc.ecl.ntt.com/en/android-reference/) 15 | 16 | ### Supported OS 17 | Android 5.0+ 18 | 19 | ## License 20 | 21 | [Apache License, Version 2.0](./LICENSE.txt) 22 | 23 | [NOTICE](./NOTICE.txt) 24 | 25 | --- 26 | ## SkyWay-Android-SDK 27 | 28 | 「SkyWay Android SDK」はSkyWayをAndroidから利用できるフレームワークです。
29 | SkyWayは、WebRTCを利用したピア·ツー·ピアのデータ、ビデオ、オーディオ通信を簡単に実現します。 30 | 31 | ### 関連リンク 32 | * [チュートリアル](https://webrtc.ecl.ntt.com/documents/android-sdk.html) 33 | * [API Reference](https://webrtc.ecl.ntt.com/android-reference/) 34 | 35 | ### 対応OS 36 | Android 5.0+ 37 | 38 | ## License 39 | 40 | [Apache License, Version 2.0](./LICENSE.txt) 41 | 42 | [NOTICE](./NOTICE.txt) 43 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | # Gradle 2 | */.gradle 3 | */build 4 | 5 | # Local configuration file 6 | local.properties 7 | 8 | # Android Studio 9 | *.iml 10 | */.idea/workspace.xml 11 | */.idea/tasks.xml 12 | */.idea/gradle.xml 13 | */.idea/assetWizardSettings.xml 14 | */.idea/dictionaries 15 | */.idea/libraries 16 | */.idea/caches 17 | */.idea/caches/build_file_checksums.ser 18 | */.idea/modules.xml 19 | */.idea/codeStyles 20 | */.idea/inspectionProfiles 21 | */app/libs/* 22 | */app/build 23 | -------------------------------------------------------------------------------- /examples/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2017 NTT Communications Corporation, http://www.ntt.com 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # SkyWay-Android-Sample 2 | 3 | Sample Application of SkyWay Android SDK 4 | 5 | ## Build & run sample application 6 | 7 | ### 1. Download `skyway.aar` & add it to the project 8 | 9 | Download `skyway.aar` from [GitHub's Releases](https://github.com/skyway/skyway-android-sdk/releases). 10 | 11 | Then, move `skyway.aar` directly into the `examples/{project_name}/app/libs` directory. 12 | 13 | ### 2. Open project & build using Android Studio 14 | 15 | Open `{project_name}` directory from Android Studio. 16 | Then, replace below with your APIKey and Domain. 17 | 18 | ```// MainActivity.java 19 | private static final String API_KEY = "yourAPIKEY"; 20 | private static final String DOMAIN = "yourDomain"; 21 | ``` 22 | 23 | ## Learn more 24 | 25 | * [Tutorial](https://webrtc.ecl.ntt.com/en/android-tutorial.html) 26 | * [API Reference](https://webrtc.ecl.ntt.com/en/android-reference/) 27 | 28 | --- 29 | 30 | SkyWay-android-SDKのサンプルアプリケーションです。 31 | 32 | ## サンプルアプリのビルド・実行手順 33 | 34 | ### 1.`skyway.aar` をダウンロードしプロジェクトに移動 35 | 36 | `skyway.aar`は[GitHub's Releases](https://github.com/skyway/skyway-android-sdk/releases) 37 | からダウンロードできます。 38 | その後、`skyway.aar` を `examples/{project_name}/app/libs` ディレクトリ直下に移動します。 39 | 40 | ### 2. プロジェクトを開く & build using Android Studio 41 | 42 | Android Studioから `{project_name}` を開きます。 43 | その後、 以下をあなたが登録したAPIKeyとDomain名に置き換えてください。 44 | 45 | ```// MainActivity.java 46 | private static final String API_KEY = "yourAPIKEY"; 47 | private static final String DOMAIN = "yourDomain"; 48 | ``` 49 | 50 | ## より詳しく学びたい方へ 51 | 52 | * [チュートリアル](https://webrtc.ecl.ntt.com/android-tutorial.html) 53 | * [APIリファレンス](https://webrtc.ecl.ntt.com/android-reference/) 54 | -------------------------------------------------------------------------------- /examples/mesh-textchat/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /examples/mesh-textchat/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 31 | 32 | 33 | 34 | 35 | 36 | 38 | -------------------------------------------------------------------------------- /examples/mesh-textchat/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/mesh-textchat/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 28 5 | buildToolsVersion "28.0.3" 6 | defaultConfig { 7 | applicationId "com.ntt.ecl.webrtc.sample_mesh_textchat" 8 | minSdkVersion 21 9 | targetSdkVersion 28 10 | versionCode 1 11 | versionName "1.0" 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | compileOptions { 20 | sourceCompatibility JavaVersion.VERSION_1_8 21 | targetCompatibility JavaVersion.VERSION_1_8 22 | } 23 | } 24 | } 25 | 26 | dependencies { 27 | implementation (name:'skyway',ext:'aar') 28 | androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { 29 | exclude group: 'com.android.support', module: 'support-annotations' 30 | }) 31 | implementation 'com.android.support:appcompat-v7:28.0.0' 32 | testImplementation 'junit:junit:4.12' 33 | implementation 'com.android.support.constraint:constraint-layout:1.1.3' 34 | } 35 | 36 | repositories{ 37 | flatDir{ 38 | dirs 'libs' 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/libs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skyway/skyway-android-sdk/a61a9a92ea57b96243d6b134fd4c82957ab6af67/examples/mesh-textchat/app/libs/.gitkeep -------------------------------------------------------------------------------- /examples/mesh-textchat/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/tsu.takahashi/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/src/androidTest/java/com/ntt/ecl/webrtc/sample_mesh_textchat/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.ntt.ecl.webrtc.sample_mesh_textchat; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumentation test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.ntt.ecl.webrtc.sample_mesh_textchat", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/src/main/java/com/ntt/ecl/webrtc/sample_mesh_textchat/ListViewAdapter.java: -------------------------------------------------------------------------------- 1 | package com.ntt.ecl.webrtc.sample_mesh_textchat; 2 | 3 | import android.content.Context; 4 | import android.support.annotation.NonNull; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | import android.widget.ArrayAdapter; 9 | import android.widget.TextView; 10 | 11 | import java.util.Date; 12 | 13 | public class ListViewAdapter extends ArrayAdapter { 14 | public static class ChatData { 15 | public String peerId; 16 | public String message; 17 | public Date received; 18 | } 19 | 20 | final LayoutInflater inflater; 21 | 22 | public ListViewAdapter(Context context) { 23 | super(context, 0); 24 | inflater = LayoutInflater.from(context); 25 | } 26 | 27 | @Override 28 | public boolean isEnabled(int position){ 29 | return false; 30 | } 31 | 32 | @Override 33 | public @NonNull 34 | View getView(int position, View convertView, @NonNull ViewGroup parent) { 35 | if (null == convertView) { 36 | convertView = inflater.inflate(R.layout.view_chat, parent, false); 37 | } 38 | 39 | ChatData data = getItem(position); 40 | if (null != data) { 41 | TextView txv; 42 | 43 | txv = (TextView)convertView.findViewById(R.id.txvPeerId); 44 | if (null != txv) { 45 | txv.setText(data.peerId); 46 | } 47 | txv = (TextView)convertView.findViewById(R.id.txMessage); 48 | if (null != txv) { 49 | txv.setText(data.message); 50 | } 51 | txv = (TextView)convertView.findViewById(R.id.txvReceived); 52 | if (null != txv) { 53 | txv.setText(data.received.toString()); 54 | } 55 | } 56 | 57 | return convertView; 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /examples/mesh-textchat/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 22 | 23 | 37 | 38 |