From 558904a26b04ea618c61aeb1009be04c79158b4c Mon Sep 17 00:00:00 2001 From: mingzhixian123 Date: Sat, 9 Mar 2024 20:27:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0V1.4.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 有线设备地址自动恢复,避免被误修改导致问题 - 修复崩溃的 bug - 调整 ui - 修复无法传送名词包含汉字的文件的问题 --- easycontrol/app/build.gradle | 4 +- .../easycontrol/app/ActiveActivity.java | 2 +- .../easycontrol/app/AdbKeyActivity.java | 2 +- .../easycontrol/app/DeviceDetailActivity.java | 14 +- .../saymzx/easycontrol/app/IpActivity.java | 2 +- .../saymzx/easycontrol/app/MainActivity.java | 2 +- .../saymzx/easycontrol/app/SetActivity.java | 2 +- .../top/saymzx/easycontrol/app/adb/Adb.java | 2 +- .../app/client/tools/AdbTools.java | 12 +- .../app/client/tools/ClientController.java | 2 +- .../app/client/view/FullActivity.java | 29 +-- .../app/client/view/SmallView.java | 22 +- .../app/helper/MyBroadcastReceiver.java | 2 +- .../main/res/drawable/ellipsis_vertical.xml | 9 - .../main/res/layout-land/activity_full.xml | 198 ++++++++++-------- .../app/src/main/res/layout/activity_full.xml | 195 +++++++++-------- .../src/main/res/layout/item_set_device.xml | 2 +- .../src/main/res/layout/module_small_view.xml | 183 ++++++++-------- .../app/src/main/res/values-en/strings.xml | 1 + .../app/src/main/res/values/strings.xml | 1 + .../server/helper/VideoEncode.java | 1 - .../server/wrappers/DisplayManager.java | 1 + 22 files changed, 380 insertions(+), 308 deletions(-) delete mode 100644 easycontrol/app/src/main/res/drawable/ellipsis_vertical.xml diff --git a/easycontrol/app/build.gradle b/easycontrol/app/build.gradle index 72bccdf7..692c87aa 100644 --- a/easycontrol/app/build.gradle +++ b/easycontrol/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "top.saymzx.easycontrol.app" minSdk 21 targetSdk 34 - versionCode 10402 - versionName "1.4.2" + versionCode 10403 + versionName "1.4.3" ndk { abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64" } diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/ActiveActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/ActiveActivity.java index 727746ce..470c00d7 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/ActiveActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/ActiveActivity.java @@ -20,6 +20,7 @@ public class ActiveActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); activityActiveBinding = ActivityActiveBinding.inflate(this.getLayoutInflater()); @@ -29,7 +30,6 @@ protected void onCreate(Bundle savedInstanceState) { setButtonListener(); // 绘制UI drawUi(); - super.onCreate(savedInstanceState); } private void drawUi() { diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/AdbKeyActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/AdbKeyActivity.java index 02b6c16b..31e892c7 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/AdbKeyActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/AdbKeyActivity.java @@ -22,6 +22,7 @@ public class AdbKeyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); activityAdbKeyBinding = ActivityAdbKeyBinding.inflate(this.getLayoutInflater()); @@ -30,7 +31,6 @@ protected void onCreate(Bundle savedInstanceState) { readKey(); activityAdbKeyBinding.backButton.setOnClickListener(v -> finish()); activityAdbKeyBinding.ok.setOnClickListener(v -> writeKey()); - super.onCreate(savedInstanceState); } // 读取旧的密钥公钥文件 diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/DeviceDetailActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/DeviceDetailActivity.java index f945a034..3c07c2b7 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/DeviceDetailActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/DeviceDetailActivity.java @@ -32,6 +32,7 @@ public class DeviceDetailActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); activityDeviceDetailBinding = ActivityDeviceDetailBinding.inflate(this.getLayoutInflater()); @@ -45,7 +46,6 @@ protected void onCreate(Bundle savedInstanceState) { drawUI(); // 设置监听 setListener(); - super.onCreate(savedInstanceState); } // 绘制UI @@ -103,10 +103,14 @@ private void setListener() { activityDeviceDetailBinding.buttonScan.setOnClickListener(v -> scanAddress()); // 设置确认按钮监听 activityDeviceDetailBinding.ok.setOnClickListener(v -> { - String name = String.valueOf(activityDeviceDetailBinding.address.getText()); - if (name.equals("----") || name.equals("")) return; - device.name = String.valueOf(activityDeviceDetailBinding.name.getText()); - device.address = String.valueOf(activityDeviceDetailBinding.address.getText()); + String name = String.valueOf(activityDeviceDetailBinding.name.getText()); + String address = String.valueOf(activityDeviceDetailBinding.address.getText()); + if (name.equals("----") || name.equals("") || address.equals("")) { + Toast.makeText(this, getString(R.string.toast_config), Toast.LENGTH_SHORT).show(); + return; + } + device.name = name; + device.address = device.isLinkDevice() ? device.uuid + (address.contains("#") ? ("#" + address.split("#")[1]) : "") : address; // 自定义分辨率 String width = String.valueOf(activityDeviceDetailBinding.customResolutionWidth.getText()); String height = String.valueOf(activityDeviceDetailBinding.customResolutionHeight.getText()); diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/IpActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/IpActivity.java index c2dc8e62..ff028e91 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/IpActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/IpActivity.java @@ -20,6 +20,7 @@ public class IpActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); activityIpBinding = ActivityIpBinding.inflate(this.getLayoutInflater()); @@ -27,7 +28,6 @@ public void onCreate(Bundle savedInstanceState) { setButtonListener(); // 绘制UI drawUi(); - super.onCreate(savedInstanceState); } private void drawUi() { diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/MainActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/MainActivity.java index e882987e..a223169e 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/MainActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/MainActivity.java @@ -37,6 +37,7 @@ public class MainActivity extends Activity { @SuppressLint("SourceLockedOrientationActivity") @Override public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); AppData.init(this); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); @@ -45,7 +46,6 @@ public void onCreate(Bundle savedInstanceState) { // 检测权限 if (!checkPermission()) createAlert(); else startApp(); - super.onCreate(savedInstanceState); } @Override diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/SetActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/SetActivity.java index 333febb6..f12e5483 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/SetActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/SetActivity.java @@ -15,6 +15,7 @@ public class SetActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setStatusAndNavBar(this); ViewTools.setLocale(this); activitySetBinding = ActivitySetBinding.inflate(this.getLayoutInflater()); @@ -22,7 +23,6 @@ public void onCreate(Bundle savedInstanceState) { // 设置页面 drawUi(); setButtonListener(); - super.onCreate(savedInstanceState); } // 设置默认值 diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/adb/Adb.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/adb/Adb.java index 65cb25c5..7eae3120 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/adb/Adb.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/adb/Adb.java @@ -90,10 +90,10 @@ public void pushFile(InputStream file, String remotePath, MyInterface.MyFunction bufferStream.write(ByteBuffer.wrap(bytes)); // 发送文件 byte[] byteArray = new byte[10240 - 8]; - int len = file.read(byteArray, 0, byteArray.length); int hasSendLen = 0; int allNeedSendLen = file.available(); int lastProcess = 0; + int len = file.read(byteArray, 0, byteArray.length); do { bufferStream.write(AdbProtocol.generateSyncHeader("DATA", len)); bufferStream.write(ByteBuffer.wrap(byteArray, 0, len)); diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/AdbTools.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/AdbTools.java index b58bc3b6..a780c31e 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/AdbTools.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/AdbTools.java @@ -1,10 +1,13 @@ package top.saymzx.easycontrol.app.client.tools; import android.hardware.usb.UsbDevice; +import android.util.Log; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; +import java.util.UUID; +import java.util.regex.Pattern; import top.saymzx.easycontrol.app.adb.Adb; import top.saymzx.easycontrol.app.entity.AppData; @@ -58,9 +61,14 @@ public static void restartOnTcpip(Device device, MyInterface.MyFunctionBoolean h public static void pushFile(Device device, InputStream file, String fileName, MyInterface.MyFunctionInt handleProcess) { new Thread(() -> { try { + String tempFileName = fileName; Adb adb = connectADB(device); - adb.pushFile(file, "/sdcard/Download/Easycontrol/" + fileName, handleProcess); - handleProcess.run(100); + // 因为糟糕的ADB,如果使用中文名的话,会崩溃,所以此处使用随机名词 + if (!Pattern.compile("^[a-zA-Z0-9\\(\\)\\-\\_\\[\\]\\.]+$").matcher(tempFileName).matches()) { + int dotIndex = tempFileName.lastIndexOf("."); + tempFileName = UUID.randomUUID() + (dotIndex == -1 ? "" : tempFileName.substring(dotIndex)); + } + adb.pushFile(file, "/sdcard/Download/Easycontrol/" + tempFileName, handleProcess); } catch (Exception ignored) { handleProcess.run(-1); } diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/ClientController.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/ClientController.java index 22c6d62d..d392f71b 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/ClientController.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/tools/ClientController.java @@ -246,7 +246,7 @@ private void reCalculateTextureViewSize() { // 检查画面是否超出 private void checkSizeAndSite() { // 碎碎念,感谢 波瑠卡 的关爱,今天一家四口一起去医院进年货去了,每人提了一袋子(´;ω;`) - AppData.uiHandler.post(smallView::checkSizeAndSite); + if (smallView != null) AppData.uiHandler.post(smallView::checkSizeAndSite); } // 设置视频区域触摸监听 diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/FullActivity.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/FullActivity.java index 45ce2056..bd027d70 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/FullActivity.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/FullActivity.java @@ -34,6 +34,7 @@ public class FullActivity extends Activity implements SensorEventListener { @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); ViewTools.setFullScreen(this); activityFullBinding = ActivityFullBinding.inflate(this.getLayoutInflater()); setContentView(activityFullBinding.getRoot()); @@ -61,7 +62,6 @@ protected void onCreate(Bundle savedInstanceState) { activityFullBinding.textureViewLayout.post(this::updateMaxSize); // 页面自动旋转 AppData.sensorManager.registerListener(this, AppData.sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL); - super.onCreate(savedInstanceState); } @Override @@ -105,24 +105,32 @@ public void hide() { // 设置按钮监听 private void setButtonListener() { - activityFullBinding.buttonRotate.setOnClickListener(v -> clientController.handleAction("buttonRotate", null, 0)); activityFullBinding.buttonBack.setOnClickListener(v -> clientController.handleAction("buttonBack", null, 0)); activityFullBinding.buttonHome.setOnClickListener(v -> clientController.handleAction("buttonHome", null, 0)); activityFullBinding.buttonSwitch.setOnClickListener(v -> clientController.handleAction("buttonSwitch", null, 0)); - activityFullBinding.buttonNavBar.setOnClickListener(v -> { - setNavBarHide(activityFullBinding.navBar.getVisibility() == View.GONE); + activityFullBinding.buttonApp.setOnClickListener(v -> { + clientController.handleAction("changeToApp", null, 0); changeBarView(); }); activityFullBinding.buttonMini.setOnClickListener(v -> clientController.handleAction("changeToMini", null, 0)); activityFullBinding.buttonSmall.setOnClickListener(v -> clientController.handleAction("changeToSmall", null, 0)); activityFullBinding.buttonClose.setOnClickListener(v -> Client.sendAction(device.uuid, "close", null, 0)); + activityFullBinding.buttonRotate.setOnClickListener(v -> { + clientController.handleAction("buttonRotate", null, 0); + changeBarView(); + }); + activityFullBinding.buttonNavBar.setOnClickListener(v -> { + setNavBarHide(activityFullBinding.navBar.getVisibility() == View.GONE); + changeBarView(); + }); + activityFullBinding.buttonPower.setOnClickListener(v -> { + clientController.handleAction("buttonPower", null, 0); + changeBarView(); + }); activityFullBinding.buttonLight.setOnClickListener(v -> { light = !light; activityFullBinding.buttonLight.setImageResource(light ? R.drawable.lightbulb_off : R.drawable.lightbulb); clientController.handleAction(light ? "buttonLight" : "buttonLightOff", null, 0); - }); - activityFullBinding.buttonPower.setOnClickListener(v -> { - clientController.handleAction("buttonPower", null, 0); changeBarView(); }); activityFullBinding.bar.setOnClickListener(v -> changeBarView()); @@ -130,11 +138,6 @@ private void setButtonListener() { autoRotate = !autoRotate; AppData.setting.setAutoRotate(autoRotate); activityFullBinding.buttonAutoRotate.setImageResource(autoRotate ? R.drawable.un_auto : R.drawable.auto); - changeBarView(); - }); - activityFullBinding.buttonApp.setOnClickListener(v -> { - clientController.handleAction("changeToApp", null, 0); - changeBarView(); }); } @@ -147,7 +150,7 @@ private void setNavBarHide(boolean isShow) { private void changeBarView() { boolean toShowView = activityFullBinding.barView.getVisibility() == View.GONE; - ViewTools.viewAnim(activityFullBinding.barView, toShowView, 0, PublicTools.dp2px(-40f), (isStart -> { + ViewTools.viewAnim(activityFullBinding.barView, toShowView, PublicTools.dp2px(40f), 0, (isStart -> { if (isStart && toShowView) activityFullBinding.barView.setVisibility(View.VISIBLE); else if (!isStart && !toShowView) activityFullBinding.barView.setVisibility(View.GONE); })); diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/SmallView.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/SmallView.java index 249a4d18..64048247 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/SmallView.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/client/view/SmallView.java @@ -162,28 +162,32 @@ private void setBarListener() { // 设置按钮监听 private void setButtonListener() { - smallView.buttonRotate.setOnClickListener(v -> clientController.handleAction("buttonRotate", null, 0)); smallView.buttonBack.setOnClickListener(v -> clientController.handleAction("buttonBack", null, 0)); smallView.buttonHome.setOnClickListener(v -> clientController.handleAction("buttonHome", null, 0)); smallView.buttonSwitch.setOnClickListener(v -> clientController.handleAction("buttonSwitch", null, 0)); - smallView.buttonNavBar.setOnClickListener(v -> { - setNavBarHide(smallView.navBar.getVisibility() == View.GONE); + smallView.buttonApp.setOnClickListener(v -> { + clientController.handleAction("changeToApp", null, 0); changeBarView(); }); smallView.buttonMini.setOnClickListener(v -> clientController.handleAction("changeToMini", null, 0)); smallView.buttonFull.setOnClickListener(v -> clientController.handleAction("changeToFull", null, 0)); smallView.buttonClose.setOnClickListener(v -> Client.sendAction(device.uuid, "close", null, 0)); - smallView.buttonLight.setOnClickListener(v -> { - light = !light; - smallView.buttonLight.setImageResource(light ? R.drawable.lightbulb_off : R.drawable.lightbulb); - clientController.handleAction(light ? "buttonLight" : "buttonLightOff", null, 0); + smallView.buttonRotate.setOnClickListener(v -> { + clientController.handleAction("buttonRotate", null, 0); + changeBarView(); + }); + smallView.buttonNavBar.setOnClickListener(v -> { + setNavBarHide(smallView.navBar.getVisibility() == View.GONE); + changeBarView(); }); smallView.buttonPower.setOnClickListener(v -> { clientController.handleAction("buttonPower", null, 0); changeBarView(); }); - smallView.buttonApp.setOnClickListener(v -> { - clientController.handleAction("changeToApp", null, 0); + smallView.buttonLight.setOnClickListener(v -> { + light = !light; + smallView.buttonLight.setImageResource(light ? R.drawable.lightbulb_off : R.drawable.lightbulb); + clientController.handleAction(light ? "buttonLight" : "buttonLightOff", null, 0); changeBarView(); }); } diff --git a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/helper/MyBroadcastReceiver.java b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/helper/MyBroadcastReceiver.java index 65385ee8..2f020dae 100644 --- a/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/helper/MyBroadcastReceiver.java +++ b/easycontrol/app/src/main/java/top/saymzx/easycontrol/app/helper/MyBroadcastReceiver.java @@ -85,9 +85,9 @@ public synchronized void updateUSB() { Device device = AppData.dbHelper.getByUUID(uuid); if (device == null) { device = new Device(uuid, Device.TYPE_LINK); + device.address = uuid; AppData.dbHelper.insert(device); } - device.address = uuid + (device.address.contains("#") ? device.address.split("#")[1] : ""); AdbTools.usbDevicesList.put(uuid, usbDevice); break; } diff --git a/easycontrol/app/src/main/res/drawable/ellipsis_vertical.xml b/easycontrol/app/src/main/res/drawable/ellipsis_vertical.xml deleted file mode 100644 index be08e7ec..00000000 --- a/easycontrol/app/src/main/res/drawable/ellipsis_vertical.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/easycontrol/app/src/main/res/layout-land/activity_full.xml b/easycontrol/app/src/main/res/layout-land/activity_full.xml index 83bfa3dd..29f78078 100644 --- a/easycontrol/app/src/main/res/layout-land/activity_full.xml +++ b/easycontrol/app/src/main/res/layout-land/activity_full.xml @@ -25,9 +25,9 @@ android:layout_height="match_parent" android:layout_gravity="end" android:gravity="center" + android:orientation="vertical" android:paddingTop="20dp" - android:paddingBottom="20dp" - android:orientation="vertical"> + android:paddingBottom="20dp"> @@ -45,7 +45,7 @@ android:layout_height="0dp" android:layout_weight="2" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/o" android:tint="@color/onBackground" /> @@ -55,7 +55,7 @@ android:layout_height="0dp" android:layout_weight="2" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/caret_left" android:tint="@color/onBackground" /> @@ -65,7 +65,7 @@ android:layout_height="0dp" android:layout_weight="1" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/un_auto" android:tint="@color/onCardBackground" /> @@ -82,103 +82,123 @@ + android:layout_width="20dp" + android:layout_height="60dp" + android:layout_gravity="end|top" + android:layout_marginTop="80dp"> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/easycontrol/app/src/main/res/layout/activity_full.xml b/easycontrol/app/src/main/res/layout/activity_full.xml index 5f3df67d..ed96d557 100644 --- a/easycontrol/app/src/main/res/layout/activity_full.xml +++ b/easycontrol/app/src/main/res/layout/activity_full.xml @@ -42,7 +42,7 @@ android:layout_height="match_parent" android:layout_weight="2" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/square" android:tint="@color/onBackground" /> @@ -52,7 +52,7 @@ android:layout_height="match_parent" android:layout_weight="2" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/o" android:tint="@color/onBackground" /> @@ -62,7 +62,7 @@ android:layout_height="match_parent" android:layout_weight="2" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/caret_left" android:tint="@color/onBackground" /> @@ -72,7 +72,7 @@ android:layout_height="match_parent" android:layout_weight="1" android:focusable="false" - android:padding="4dp" + android:padding="6dp" android:src="@drawable/un_auto" android:tint="@color/onCardBackground" /> @@ -81,102 +81,123 @@ + android:layout_width="20dp" + android:layout_height="60dp" + android:layout_gravity="end|top" + android:layout_marginTop="80dp"> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/easycontrol/app/src/main/res/layout/item_set_device.xml b/easycontrol/app/src/main/res/layout/item_set_device.xml index aa2719ce..5824bac1 100644 --- a/easycontrol/app/src/main/res/layout/item_set_device.xml +++ b/easycontrol/app/src/main/res/layout/item_set_device.xml @@ -17,7 +17,7 @@ @@ -51,9 +51,9 @@ android:id="@+id/button_home" android:layout_width="0dp" android:layout_height="match_parent" - android:layout_weight="2" + android:layout_weight="1" android:focusable="false" - android:padding="2dp" + android:padding="3dp" android:src="@drawable/o" android:tint="@color/onCardBackground" /> @@ -61,9 +61,9 @@ android:id="@+id/button_back" android:layout_width="0dp" android:layout_height="match_parent" - android:layout_weight="2" + android:layout_weight="1" android:focusable="false" - android:padding="2dp" + android:padding="3dp" android:src="@drawable/caret_left" android:tint="@color/onCardBackground" /> @@ -87,91 +87,110 @@ android:focusable="false" /> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + Copied Success Fail + Fill in the mismatch No default browser Address format error Timeout diff --git a/easycontrol/app/src/main/res/values/strings.xml b/easycontrol/app/src/main/res/values/strings.xml index 89d4f00f..e86b9bdf 100644 --- a/easycontrol/app/src/main/res/values/strings.xml +++ b/easycontrol/app/src/main/res/values/strings.xml @@ -116,6 +116,7 @@ 已复制 成功 失败 + 填写错误 没有默认浏览器 地址格式错误 超时 diff --git a/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/helper/VideoEncode.java b/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/helper/VideoEncode.java index 44a6ed5a..2a2df7b6 100644 --- a/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/helper/VideoEncode.java +++ b/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/helper/VideoEncode.java @@ -47,7 +47,6 @@ public static void init() throws InvocationTargetException, NoSuchMethodExceptio private static void createEncodecFormat() throws IOException { String codecMime = useH265 ? MediaFormat.MIMETYPE_VIDEO_HEVC : MediaFormat.MIMETYPE_VIDEO_AVC; encedec = MediaCodec.createEncoderByType(codecMime); - encodecFormat = new MediaFormat(); encodecFormat.setString(MediaFormat.KEY_MIME, codecMime); encodecFormat.setInteger(MediaFormat.KEY_BIT_RATE, Options.maxVideoBit); diff --git a/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/wrappers/DisplayManager.java b/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/wrappers/DisplayManager.java index b7c4397d..195a600b 100644 --- a/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/wrappers/DisplayManager.java +++ b/easycontrol/server/src/main/java/top/saymzx/easycontrol/server/wrappers/DisplayManager.java @@ -65,6 +65,7 @@ public static DisplayInfo getDisplayInfo(int displayId) { } } + // 此处大量借鉴了 群友 @○_○ 所编写的易控车机版本相应功能 public static VirtualDisplay createVirtualDisplay() throws Exception { DisplayInfo realDisplayinfo = getDisplayInfo(Display.DEFAULT_DISPLAY); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {