From aef23db96217f7922087f809af074c83a7906bed Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Mon, 27 Mar 2023 13:16:46 +0800 Subject: [PATCH] [+] UI --- docs/AOSP.md | 72 ++++++++++++++++--- docs/WebRTC.md | 1 - .../taoyao/boot/build.gradle | 2 +- .../taoyao/client/build.gradle | 8 +-- .../client/src/main/AndroidManifest.xml | 6 +- .../acgist/taoyao/client/BootReceiver.java | 26 +++++-- .../acgist/taoyao/client/MainActivity.java | 55 +++++++++++--- .../acgist/taoyao/client/MediaService.java | 7 ++ .../taoyao/client/SettingsActivity.java | 8 ++- .../src/main/res/layout/activity_main.xml | 7 +- .../src/main/res/layout/activity_settings.xml | 3 +- .../client/src/main/res/values/colors.xml | 7 +- .../client/src/main/res/values/settings.xml | 10 --- .../client/src/main/res/values/themes.xml | 14 ++++ .../taoyao/media/build.gradle | 2 +- 15 files changed, 178 insertions(+), 50 deletions(-) delete mode 100644 taoyao-client-android/taoyao/client/src/main/res/values/settings.xml create mode 100644 taoyao-client-android/taoyao/client/src/main/res/values/themes.xml diff --git a/docs/AOSP.md b/docs/AOSP.md index 329e480..2d08439 100644 --- a/docs/AOSP.md +++ b/docs/AOSP.md @@ -37,26 +37,26 @@ git config --global user.name "acgist" ./repo sync ``` -ROOT权限 - ## 裁剪 ``` # 应用 - -# 驱动 - +build/target/product/handheld_*.mk # root -userdebug - # framework ``` +## 驱动 + +`Google`官方只提供了`Nexus`和`Pixel`的驱动 + ## 编译 ``` +source build/envsetup.sh lunch aosp_arm64-user make -j 8 +make udpatepackage ``` ## 刷机 @@ -64,9 +64,61 @@ make -j 8 ``` adb reboot bootloader fastboot flashall +fastboot -w update aosp_arm64-img-eng.xxx.zip ``` +## 小米5S -https://blog.csdn.net/u012932409/article/details/106792906 -https://blog.csdn.net/qq_33240707/article/details/123704679 -https://blog.csdn.net/weixin_42929891/article/details/122667831 \ No newline at end of file +由于使用小米5S作为测试机,没有适合的`LineageOS`版本,所有这里选择了`PixelExperience`作为测试系统,如果其他机器建议使用`LineageOS`,`ROM`下载地址: + +### TWRP + +* https://twrp.me/Devices/ + +### MIUI + +* 卡刷:http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/miui_MI5S_V11.0.2.0.OAGCNXM_6ce204eb2c_8.0.zip +* 线刷:http://bigota.d.miui.com/V11.0.2.0.OAGCNXM/capricorn_images_V11.0.2.0.OAGCNXM_20191023.0000.00_8.0_cn_714988e4b7.tgz +* 文章:https://web.vip.miui.com/page/info/mio/mio/detail?isTop=0&postId=17843063 + +### PixelExperience + +* https://get.pixelexperience.org/capricorn + +### 砖头 + +如果刷机过程中出现了黑屏,进不了`recovery`和`bootloader`时,需要使用`MiFlash`通过串口刷机。 + +## ADB命令 + +``` +adb devices +adb reboot +adb reboot recovery +adb reboot bootloader +adb pull +adb push +adb shell +adb logcat +adb install +adb uninstall +``` + +## 刷机命令 + +注意:注意备份数据 + +``` +fastboot devices +fastboot reboot +fastboot reboot-bootloader +fastboot reboot-recovery +fastboot erase boot +fastboot erase recovery +fastboot erase system +fastboot erase userdata +fastboot erase cache +fastboot flash boot boot.img +fastboot flash recovery recovery.img +fastboot flash system system.img +``` diff --git a/docs/WebRTC.md b/docs/WebRTC.md index d56d721..c9c66f4 100644 --- a/docs/WebRTC.md +++ b/docs/WebRTC.md @@ -18,7 +18,6 @@ * 宽带按需`100Mbps/s`(不要固定宽带) * 整个下载过程大概需要半到一个小时 * 整个编译过程大概需要一到两个小时 -* 最痛苦的就是下载回来速度很慢 ``` # 编译工具 diff --git a/taoyao-client-android/taoyao/boot/build.gradle b/taoyao-client-android/taoyao/boot/build.gradle index 0d9cd6a..744c28b 100644 --- a/taoyao-client-android/taoyao/boot/build.gradle +++ b/taoyao-client-android/taoyao/boot/build.gradle @@ -6,7 +6,7 @@ android { namespace 'com.acgist.client.boot' compileSdk 32 defaultConfig { - minSdk 31 + minSdk 30 targetSdk 32 versionCode 100 versionName "1.0.0" diff --git a/taoyao-client-android/taoyao/client/build.gradle b/taoyao-client-android/taoyao/client/build.gradle index 2ea6205..d68ea6d 100644 --- a/taoyao-client-android/taoyao/client/build.gradle +++ b/taoyao-client-android/taoyao/client/build.gradle @@ -6,7 +6,7 @@ android { namespace 'com.acgist.taoyao.client' compileSdk 32 defaultConfig { - minSdk 31 + minSdk 30 targetSdk 32 versionCode 100 versionName "1.0.0" @@ -31,9 +31,9 @@ android { dependencies { implementation project(path: ':boot') implementation project(path: ':media') - implementation 'androidx.appcompat:appcompat:1.4.1' - implementation 'com.google.android.material:material:1.5.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.3' + implementation 'androidx.appcompat:appcompat:1.5.1' + implementation 'com.google.android.material:material:1.8.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'org.apache.commons:commons-lang3:3.12.0' implementation 'org.apache.commons:commons-collections4:4.4' implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2' diff --git a/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml b/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml index 5d1fd29..a4a7957 100644 --- a/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml +++ b/taoyao-client-android/taoyao/client/src/main/AndroidManifest.xml @@ -16,7 +16,8 @@ + android:label="@string/title_activity_main" + android:theme="@style/Theme.Taoyao"> @@ -25,7 +26,8 @@ + android:label="@string/title_activity_settings" + android:theme="@style/Theme.Taoyao" /> { final Intent settings = new Intent(this, SettingsActivity.class); - this.startService(settings); + this.startActivity(settings); }); } + @Override + protected void onStart() { + super.onStart(); + } + + @Override + protected void onStop() { + super.onStop(); + } + + /** + * 拉起媒体服务 + */ + private void launchMediaService() { + int times = 0; + final Display display = this.getWindow().getContext().getDisplay(); + while(Display.STATE_ON != display.getState() && times++ < 10) { + SystemClock.sleep(100); + } + if(display.STATE_ON == display.getState()) { + // 媒体服务 + Log.i(MainActivity.class.getSimpleName(), "拉起媒体服务"); + final Intent mediaService = new Intent(this, MediaService.class); + this.startService(mediaService); + } else { + Log.w(MainActivity.class.getSimpleName(), "拉起媒体服务失败"); + } + } + } \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java index 6760feb..aa629fc 100644 --- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java +++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/MediaService.java @@ -3,6 +3,7 @@ package com.acgist.taoyao.client; import android.app.Service; import android.content.Intent; import android.os.IBinder; +import android.util.Log; import com.acgist.taoyao.client.signal.Taoyao; @@ -20,6 +21,12 @@ public class MediaService extends Service { public MediaService() { } + @Override + public void onCreate() { + super.onCreate(); + Log.d(MediaService.class.getSimpleName(), "启动媒体服务"); + } + @Override public IBinder onBind(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); diff --git a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java index 76ca352..945c8a0 100644 --- a/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java +++ b/taoyao-client-android/taoyao/client/src/main/java/com/acgist/taoyao/client/SettingsActivity.java @@ -1,13 +1,12 @@ package com.acgist.taoyao.client; +import android.app.Activity; import android.content.Intent; import android.os.Bundle; -import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.acgist.taoyao.client.databinding.ActivitySettingsBinding; -import com.acgist.taoyao.client.signal.Taoyao; /** * 设置界面 @@ -26,12 +25,15 @@ public class SettingsActivity extends AppCompatActivity { this.setContentView(this.binding.getRoot()); // 设置按钮 this.binding.connect.setOnClickListener(view -> { + final String port = this.binding.port.getText().toString(); + final String name = this.binding.name.getText().toString(); + final String host = this.binding.host.getText().toString(); // final Taoyao taoyao = new Taoyao( // // ); // Log.d(SettingsActivity.class.getSimpleName(), "连接信令:" + taoyao); final Intent main = new Intent(this, MainActivity.class); - this.startService(main); + this.startActivity(main); }); } diff --git a/taoyao-client-android/taoyao/client/src/main/res/layout/activity_main.xml b/taoyao-client-android/taoyao/client/src/main/res/layout/activity_main.xml index 0ff6a1b..608ed46 100644 --- a/taoyao-client-android/taoyao/client/src/main/res/layout/activity_main.xml +++ b/taoyao-client-android/taoyao/client/src/main/res/layout/activity_main.xml @@ -11,13 +11,14 @@ android:id="@+id/settings" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="end|bottom" + android:layout_marginLeft="16dp" + android:layout_marginBottom="16dp" android:contentDescription="@string/button_setting" android:src="@drawable/settings" app:borderWidth="16dp" app:fabSize="normal" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintLeft_toLeftOf="parent" /> \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/res/layout/activity_settings.xml b/taoyao-client-android/taoyao/client/src/main/res/layout/activity_settings.xml index 8ef7165..bbf3dc8 100644 --- a/taoyao-client-android/taoyao/client/src/main/res/layout/activity_settings.xml +++ b/taoyao-client-android/taoyao/client/src/main/res/layout/activity_settings.xml @@ -4,7 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/settings" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + tools:context="com.acgist.taoyao.client.SettingsActivity"> - #FF000000 #FFFFFFFF + #FF000000 + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/res/values/settings.xml b/taoyao-client-android/taoyao/client/src/main/res/values/settings.xml deleted file mode 100644 index e71d99a..0000000 --- a/taoyao-client-android/taoyao/client/src/main/res/values/settings.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - true - 1.0.0 - 5000 - MOBILE - DES - DES - \ No newline at end of file diff --git a/taoyao-client-android/taoyao/client/src/main/res/values/themes.xml b/taoyao-client-android/taoyao/client/src/main/res/values/themes.xml new file mode 100644 index 0000000..4f0c360 --- /dev/null +++ b/taoyao-client-android/taoyao/client/src/main/res/values/themes.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/taoyao-client-android/taoyao/media/build.gradle b/taoyao-client-android/taoyao/media/build.gradle index c309ca0..c433d3f 100644 --- a/taoyao-client-android/taoyao/media/build.gradle +++ b/taoyao-client-android/taoyao/media/build.gradle @@ -9,7 +9,7 @@ android { namespace 'com.acgist.mediasoup' compileSdk 32 defaultConfig { - minSdk 31 + minSdk 30 targetSdk 32 versionCode 100 versionName "1.0.0"