diff --git a/AutoRobot/Android/Robot/.gitignore b/AutoRobot/Android/Robot/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/AutoRobot/Android/Robot/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/AutoRobot/Android/Robot/.idea/.name b/AutoRobot/Android/Robot/.idea/.name new file mode 100644 index 0000000..b8d0e51 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/.name @@ -0,0 +1 @@ +AutoBot \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/AndroidProjectSystem.xml b/AutoRobot/Android/Robot/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/CopilotChatHistory.xml b/AutoRobot/Android/Robot/.idea/CopilotChatHistory.xml new file mode 100644 index 0000000..d280642 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/CopilotChatHistory.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/codeStyles/Project.xml b/AutoRobot/Android/Robot/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/codeStyles/codeStyleConfig.xml b/AutoRobot/Android/Robot/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/compiler.xml b/AutoRobot/Android/Robot/.idea/compiler.xml new file mode 100644 index 0000000..b86273d --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/deploymentTargetSelector.xml b/AutoRobot/Android/Robot/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..2ee4166 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/deploymentTargetSelector.xml @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/gradle.xml b/AutoRobot/Android/Robot/.idea/gradle.xml new file mode 100644 index 0000000..0fd2834 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/gradle.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/migrations.xml b/AutoRobot/Android/Robot/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/misc.xml b/AutoRobot/Android/Robot/.idea/misc.xml new file mode 100644 index 0000000..b2c751a --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/runConfigurations.xml b/AutoRobot/Android/Robot/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.idea/vcs.xml b/AutoRobot/Android/Robot/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/AutoRobot/Android/Robot/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683238674.log b/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683238674.log new file mode 100644 index 0000000..44576e2 --- /dev/null +++ b/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683238674.log @@ -0,0 +1,45 @@ +kotlin version: 2.0.21 +error message: Failed connecting to the daemon in 4 retries + +error message: Daemon compilation failed: Could not connect to Kotlin compile daemon +java.lang.RuntimeException: Could not connect to Kotlin compile daemon + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:214) + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159) + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111) + at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76) + at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62) + at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62) + at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) + at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59) + at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169) + at org.gradle.internal.Factories$1.create(Factories.java:31) + at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) + at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) + at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) + at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) + at java.base/java.lang.Thread.run(Thread.java:1583) + + diff --git a/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683240346.log b/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683240346.log new file mode 100644 index 0000000..44576e2 --- /dev/null +++ b/AutoRobot/Android/Robot/.kotlin/errors/errors-1756683240346.log @@ -0,0 +1,45 @@ +kotlin version: 2.0.21 +error message: Failed connecting to the daemon in 4 retries + +error message: Daemon compilation failed: Could not connect to Kotlin compile daemon +java.lang.RuntimeException: Could not connect to Kotlin compile daemon + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:214) + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159) + at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111) + at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76) + at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62) + at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62) + at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) + at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210) + at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67) + at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167) + at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60) + at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54) + at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) + at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59) + at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169) + at org.gradle.internal.Factories$1.create(Factories.java:31) + at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) + at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) + at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) + at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133) + at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) + at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) + at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) + at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) + at java.base/java.lang.Thread.run(Thread.java:1583) + + diff --git a/AutoRobot/Android/Robot/.kotlin/errors/errors-1757342470107.log b/AutoRobot/Android/Robot/.kotlin/errors/errors-1757342470107.log new file mode 100644 index 0000000..31b4ddc --- /dev/null +++ b/AutoRobot/Android/Robot/.kotlin/errors/errors-1757342470107.log @@ -0,0 +1,35 @@ +kotlin version: 2.0.21 +error message: Incremental compilation failed: E:\Download\Project\AutoRobot\Android\Robot\app\build\kotlin\compileDebugKotlin\cacheable\dirty-sources.txt: 另一个程序正在使用此文件,进程无法访问。 +java.nio.file.FileSystemException: E:\Download\Project\AutoRobot\Android\Robot\app\build\kotlin\compileDebugKotlin\cacheable\dirty-sources.txt: 另一个程序正在使用此文件,进程无法访问。 + at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92) + at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) + at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) + at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:273) + at java.base/sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:104) + at java.base/java.nio.file.Files.delete(Files.java:1152) + at org.jetbrains.kotlin.incremental.RecoverableCompilationTransaction.deleteFile(CompilationTransaction.kt:198) + at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:539) + at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:423) + at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally$lambda$9$compile(IncrementalCompilerRunner.kt:249) + at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.tryCompileIncrementally(IncrementalCompilerRunner.kt:267) + at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:120) + at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:675) + at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:92) + at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1660) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) + at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) + at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) + at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) + at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) + at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) + at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) + at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) + at java.base/java.lang.Thread.run(Thread.java:1583) + + diff --git a/AutoRobot/Android/Robot/.kotlin/errors/errors-1757486156318.log b/AutoRobot/Android/Robot/.kotlin/errors/errors-1757486156318.log new file mode 100644 index 0000000..1219b50 --- /dev/null +++ b/AutoRobot/Android/Robot/.kotlin/errors/errors-1757486156318.log @@ -0,0 +1,4 @@ +kotlin version: 2.0.21 +error message: The daemon has terminated unexpectedly on startup attempt #1 with error code: 0. The daemon process output: + 1. Kotlin compile daemon is ready + diff --git a/AutoRobot/Android/Robot/LICENSE b/AutoRobot/Android/Robot/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/AutoRobot/Android/Robot/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/AutoRobot/Android/Robot/README.en.md b/AutoRobot/Android/Robot/README.en.md new file mode 100644 index 0000000..da2e264 --- /dev/null +++ b/AutoRobot/Android/Robot/README.en.md @@ -0,0 +1,36 @@ +# AutoBot + +#### Description +安卓手机自动运行脚本 + +#### Software Architecture +Software architecture description + +#### Installation + +1. xxxx +2. xxxx +3. xxxx + +#### Instructions + +1. xxxx +2. xxxx +3. xxxx + +#### Contribution + +1. Fork the repository +2. Create Feat_xxx branch +3. Commit your code +4. Create Pull Request + + +#### Gitee Feature + +1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md +2. Gitee blog [blog.gitee.com](https://blog.gitee.com) +3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) +4. The most valuable open source project [GVP](https://gitee.com/gvp) +5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) +6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/AutoRobot/Android/Robot/README.md b/AutoRobot/Android/Robot/README.md new file mode 100644 index 0000000..907c46a --- /dev/null +++ b/AutoRobot/Android/Robot/README.md @@ -0,0 +1,37 @@ +# AutoBot + +#### 介绍 +安卓手机自动运行脚本 + +#### 软件架构 +软件架构说明 + + +#### 安装教程 + +1. xxxx +2. xxxx +3. xxxx + +#### 使用说明 + +1. xxxx +2. xxxx +3. xxxx + +#### 参与贡献 + +1. Fork 本仓库 +2. 新建 Feat_xxx 分支 +3. 提交代码 +4. 新建 Pull Request + + +#### 特技 + +1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md +2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) +3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 +4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 +5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) +6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/AutoRobot/Android/Robot/app/.gitignore b/AutoRobot/Android/Robot/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/AutoRobot/Android/Robot/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/AutoRobot/Android/Robot/app/build.gradle.kts b/AutoRobot/Android/Robot/app/build.gradle.kts new file mode 100644 index 0000000..33e26b1 --- /dev/null +++ b/AutoRobot/Android/Robot/app/build.gradle.kts @@ -0,0 +1,54 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) +} + +android { + namespace = "com.joyd.autobot" + compileSdk = 36 + + defaultConfig { + applicationId = "com.joyd.autobot" + minSdk = 24 + targetSdk = 36 + versionCode = 1 + versionName = "1.0" + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + kotlinOptions { + jvmTarget = "11" + } +} + +dependencies { + + implementation("androidx.preference:preference:1.2.1") + implementation("androidx.core:core-ktx:1.10.1") + implementation(libs.websocketclient) + implementation(libs.okhttp) + implementation("androidx.appcompat:appcompat:1.6.1") + implementation(libs.material) + implementation("androidx.activity:activity:1.8.0") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + implementation("androidx.cardview:cardview:1.0.0") + // 添加 JoydLib 库依赖 + implementation(libs.joydlibdev) + testImplementation(libs.junit) + androidTestImplementation("androidx.test.ext:junit:1.1.5") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") +} \ No newline at end of file diff --git a/AutoRobot/Android/Robot/app/log.txt b/AutoRobot/Android/Robot/app/log.txt new file mode 100644 index 0000000..5660016 --- /dev/null +++ b/AutoRobot/Android/Robot/app/log.txt @@ -0,0 +1,447 @@ +2025-09-17 19:03:52.067 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34552) after 10000ms +2025-09-17 19:03:52.069 23529-23529 Compatibil...geReporter com.joyd.autobot D Compat change id reported: 147798919; UID 10301; state: ENABLED +2025-09-17 19:03:53.097 23529-23616 TrafficStats com.joyd.autobot D tagSocket(5) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:03:53.098 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:03:56.225 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.236 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.253 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.273 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.296 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.309 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.310 23529-23529 MainActivity com.joyd.autobot D onPause()被调用,应用进入后台 +2025-09-17 19:03:56.330 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.331 23529-23641 libMEOW com.joyd.autobot D meow new tls: 0xb4000079a1ecd040 +2025-09-17 19:03:56.331 23529-23641 libMEOW com.joyd.autobot D applied 1 plugins for [com.joyd.autobot]: +2025-09-17 19:03:56.331 23529-23641 libMEOW com.joyd.autobot D plugin 1: [libMEOW_gift.so]: +2025-09-17 19:03:56.331 23529-23641 libMEOW com.joyd.autobot D meow delete tls: 0xb4000079a1ecd040 +2025-09-17 19:03:56.339 23529-23563 ViewContentFactory com.joyd.autobot D initViewContentFetcherClass +2025-09-17 19:03:56.339 23529-23563 ContentCatcher com.joyd.autobot I ViewContentFetcher : ViewContentFetcher +2025-09-17 19:03:56.339 23529-23563 ViewContentFactory com.joyd.autobot D createInterceptor took 1ms +2025-09-17 19:03:56.339 23529-23529 IS_CTS_MODE com.joyd.autobot D false +2025-09-17 19:03:56.339 23529-23529 MULTI_WINDOW_ENABLED com.joyd.autobot D false +2025-09-17 19:03:56.340 23529-23563 ContentCatcher com.joyd.autobot I Interceptor : Catcher list invalid for com.joyd.autobot@com.joyd.autobot.SettingsActivity@98079379 +2025-09-17 19:03:56.340 23529-23563 ContentCatcher com.joyd.autobot I Interceptor : Get featureInfo from config image_pick_mode +2025-09-17 19:03:56.340 23529-23563 ContentCatcher com.joyd.autobot I Interceptor : Get featureInfo from config pick_mode +2025-09-17 19:03:56.340 23529-23529 DecorView[] com.joyd.autobot D getWindowModeFromSystem windowmode is 1 +2025-09-17 19:03:56.351 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.367 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.368 23529-23563 ContentCat...ListHelper com.joyd.autobot I blackList size: 13 package is com.joyd.autobot isInTaplusWhiteList: true +2025-09-17 19:03:56.371 23529-23560 libc com.joyd.autobot W Access denied finding property "ro.vendor.display.iris_x7.support" +2025-09-17 19:03:56.372 23529-23529 VRI[SettingsActivity] com.joyd.autobot D hardware acceleration = true, forceHwAccelerated = false +2025-09-17 19:03:56.380 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.393 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000001,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:03:56.398 23529-23529 VRI[SettingsActivity] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3953 android.view.ViewRootImpl.doTraversal:2674 android.view.ViewRootImpl$TraversalRunnable.run:9867 android.view.Choreographer$CallbackRecord.run:1431 android.view.Choreographer$CallbackRecord.run:1439 +2025-09-17 19:03:56.399 23529-23529 VRI[SettingsActivity] com.joyd.autobot D vri.Setup new sync id=0 syncSeqId=0 +2025-09-17 19:03:56.400 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.408 23529-23560 libEGL com.joyd.autobot E pre_cache appList: com.android.calendar,com.android.contacts,com.android.fileexplorer,com.android.mms,com.android.settings,com.android.thememanager,com.miui.gallery,com.miui.notes,com.miui.player,com.miui.securitycenter,com.miui.video,com.miui.weather2 +2025-09-17 19:03:56.425 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:03:56.429 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.429 23529-23560 BLASTBufferQueue com.joyd.autobot D [VRI[SettingsActivity]#1](f:0,a:1) acquireNextBufferLocked size=1080x2400 mFrameNumber=1 applyTransaction=true mTimestamp=143288805263693(auto) mPendingTransactions.size=0 graphicBufferId=101056285507591 transform=0 +2025-09-17 19:03:56.430 23529-23560 Parcel com.joyd.autobot W Expecting binder but got null! +2025-09-17 19:03:56.431 23529-23529 VRI[SettingsActivity] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:03:56.432 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.432 23529-23529 DecorView[] com.joyd.autobot D onWindowFocusChanged hasWindowFocus false +2025-09-17 19:03:56.437 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.448 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.453 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:03:56.454 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.465 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.466 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.466 23529-23529 DecorView[] com.joyd.autobot D onWindowFocusChanged hasWindowFocus true +2025-09-17 19:03:56.467 23529-23529 HandWritingStubImpl com.joyd.autobot I refreshLastKeyboardType: 1 +2025-09-17 19:03:56.467 23529-23529 HandWritingStubImpl com.joyd.autobot I getCurrentKeyboardType: 1 +2025-09-17 19:03:56.469 4041-4041 BaseInputMethodService com.sohu.inputmethod.sogou.xiaomi E onStartInput app:com.joyd.autobot restarting:false +2025-09-17 19:03:56.481 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.484 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.497 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.499 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.514 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.516 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.531 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.533 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.541 23529-23540 om.joyd.autobot com.joyd.autobot I Compiler allocated 5099KB to compile void android.view.ViewRootImpl.performTraversals() +2025-09-17 19:03:56.546 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.547 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.563 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.564 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.579 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.581 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.597 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.613 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.630 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.646 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.663 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.680 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.695 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.712 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.729 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.745 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.762 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.778 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.795 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.811 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.828 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.844 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.861 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.877 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.894 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.910 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.929 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:56.962 23529-23560 OpenGLRenderer com.joyd.autobot D endAllActiveAnimators on 0xb4000079bcaecb00 (RippleDrawable) with handle 0xb400007af02968a0 +2025-09-17 19:03:56.985 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[MainActivity]#0](f:0,a:1) destructor() +2025-09-17 19:03:56.985 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[MainActivity]#0(BLAST Consumer)0](id:5be900000000,api:0,p:-1,c:23529) disconnect +2025-09-17 19:03:56.987 23529-23529 MainActivity com.joyd.autobot D onStop()被调用 +2025-09-17 19:03:58.374 23529-23529 HandWritingStubImpl com.joyd.autobot I refreshLastKeyboardType: 1 +2025-09-17 19:03:58.375 23529-23529 HandWritingStubImpl com.joyd.autobot I getCurrentKeyboardType: 1 +2025-09-17 19:03:58.378 23529-23529 Compatibil...geReporter com.joyd.autobot D Compat change id reported: 163400105; UID 10301; state: ENABLED +2025-09-17 19:03:58.378 23529-23529 InputMethodManager com.joyd.autobot D showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{ce5ac87 VFED..CL. .F.P..ID 0,81-948,206 #7f080219 app:id/web_socket_url_edit_text aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT +2025-09-17 19:03:58.379 4041-4041 BaseInputMethodService com.sohu.inputmethod.sogou.xiaomi E onStartInput app:com.joyd.autobot restarting:false +2025-09-17 19:03:58.387 4041-4041 BaseInputMethodService com.sohu.inputmethod.sogou.xiaomi E onStartInputView app:com.joyd.autobot restarting:false +2025-09-17 19:03:58.393 23529-23560 libc com.joyd.autobot W Access denied finding property "ro.vendor.display.iris_x7.support" +2025-09-17 19:03:58.394 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D hardware acceleration = true, forceHwAccelerated = false +2025-09-17 19:03:58.403 23529-23529 TextView com.joyd.autobot V sendCursorInfo support:true +2025-09-17 19:03:58.407 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:58.409 23529-23529 AssistStructure com.joyd.autobot I Flattened final assist data: 1568 bytes, containing 2 windows, 9 views +2025-09-17 19:03:58.418 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000002,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:03:58.422 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3953 android.view.ViewRootImpl.doTraversal:2674 android.view.ViewRootImpl$TraversalRunnable.run:9867 android.view.Choreographer$CallbackRecord.run:1431 android.view.Choreographer$CallbackRecord.run:1439 +2025-09-17 19:03:58.422 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=0 syncSeqId=0 +2025-09-17 19:03:58.434 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:58.434 23529-23560 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#2](f:0,a:1) acquireNextBufferLocked size=110x110 mFrameNumber=1 applyTransaction=true mTimestamp=143290810354155(auto) mPendingTransactions.size=0 graphicBufferId=101056285507594 transform=0 +2025-09-17 19:03:58.436 23529-23560 Parcel com.joyd.autobot W Expecting binder but got null! +2025-09-17 19:03:58.436 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:03:58.437 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.handleResized:2047 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6120 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6084 android.os.Handler.dispatchMessage:106 +2025-09-17 19:03:58.440 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=1 syncSeqId=0 +2025-09-17 19:03:58.441 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:03:58.478 23529-23529 OnBackInvokedCallback com.joyd.autobot W OnBackInvokedCallback is not enabled for the application. + Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. +2025-09-17 19:03:58.525 23529-23529 InsetsController com.joyd.autobot D show(ime(), fromIme=true) +2025-09-17 19:03:58.879 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:59.377 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:03:59.882 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:00.382 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:00.578 23529-23529 InputMethodManager com.joyd.autobot D showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{ce5ac87 VFED..CL. .F.P.... 0,81-948,206 #7f080219 app:id/web_socket_url_edit_text aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT +2025-09-17 19:04:00.587 23529-23529 View com.joyd.autobot D [Warning] assignParent to null: this = android.widget.PopupWindow$PopupDecorView{70a9e49 V.E...... R....... 0,0-110,110 aid=1073741831} +2025-09-17 19:04:00.587 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#2](f:0,a:1) destructor() +2025-09-17 19:04:00.587 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[PopupWindow:18da57f]#2(BLAST Consumer)2](id:5be900000002,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:00.622 23529-23529 InsetsController com.joyd.autobot D show(ime(), fromIme=true) +2025-09-17 19:04:00.633 23529-23560 libc com.joyd.autobot W Access denied finding property "ro.vendor.display.iris_x7.support" +2025-09-17 19:04:00.634 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D hardware acceleration = true, forceHwAccelerated = false +2025-09-17 19:04:00.658 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:00.673 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000003,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:04:00.680 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3953 android.view.ViewRootImpl.doTraversal:2674 android.view.ViewRootImpl$TraversalRunnable.run:9867 android.view.Choreographer$CallbackRecord.run:1431 android.view.Choreographer$CallbackRecord.run:1439 +2025-09-17 19:04:00.681 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=0 syncSeqId=0 +2025-09-17 19:04:00.685 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:00.685 23529-23560 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#3](f:0,a:1) acquireNextBufferLocked size=110x110 mFrameNumber=1 applyTransaction=true mTimestamp=143293061200232(auto) mPendingTransactions.size=0 graphicBufferId=101056285507599 transform=0 +2025-09-17 19:04:00.686 23529-23560 Parcel com.joyd.autobot W Expecting binder but got null! +2025-09-17 19:04:00.688 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:04:00.690 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.handleResized:2047 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6120 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6084 android.os.Handler.dispatchMessage:106 +2025-09-17 19:04:00.692 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=1 syncSeqId=0 +2025-09-17 19:04:00.694 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:04:01.124 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:01.638 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:02.126 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:02.191 23529-23529 InputMethodManager com.joyd.autobot D showSoftInput() view=androidx.appcompat.widget.AppCompatEditText{ce5ac87 VFED..CL. .F.P.... 0,81-948,206 #7f080219 app:id/web_socket_url_edit_text aid=1073741824} flags=0 reason=SHOW_SOFT_INPUT +2025-09-17 19:04:02.208 23529-23529 View com.joyd.autobot D [Warning] assignParent to null: this = android.widget.PopupWindow$PopupDecorView{2a3fa67 V.E...... R....... 0,0-110,110} +2025-09-17 19:04:02.209 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#3](f:0,a:1) destructor() +2025-09-17 19:04:02.209 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[PopupWindow:18da57f]#3(BLAST Consumer)3](id:5be900000003,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:02.237 23529-23529 InsetsController com.joyd.autobot D show(ime(), fromIme=true) +2025-09-17 19:04:02.638 23529-23560 libc com.joyd.autobot W Access denied finding property "ro.vendor.display.iris_x7.support" +2025-09-17 19:04:02.639 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D hardware acceleration = true, forceHwAccelerated = false +2025-09-17 19:04:02.663 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:02.682 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000004,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:04:02.688 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3953 android.view.ViewRootImpl.doTraversal:2674 android.view.ViewRootImpl$TraversalRunnable.run:9867 android.view.Choreographer$CallbackRecord.run:1431 android.view.Choreographer$CallbackRecord.run:1439 +2025-09-17 19:04:02.688 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=0 syncSeqId=0 +2025-09-17 19:04:02.693 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:02.694 23529-23560 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#4](f:0,a:1) acquireNextBufferLocked size=110x110 mFrameNumber=1 applyTransaction=true mTimestamp=143295069356924(auto) mPendingTransactions.size=0 graphicBufferId=101056285507603 transform=0 +2025-09-17 19:04:02.694 23529-23560 Parcel com.joyd.autobot W Expecting binder but got null! +2025-09-17 19:04:02.696 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:04:02.698 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.handleResized:2047 android.view.ViewRootImpl.-$$Nest$mhandleResized:0 android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl:6120 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6084 android.os.Handler.dispatchMessage:106 +2025-09-17 19:04:02.699 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.Setup new sync id=1 syncSeqId=0 +2025-09-17 19:04:02.701 23529-23529 VRI[PopupW...w:18da57f] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:04:03.110 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34560) after 10000ms +2025-09-17 19:04:03.139 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.370 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000005,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:04:03.373 23529-23560 libc com.joyd.autobot W Access denied finding property "ro.vendor.display.iris_x7.support" +2025-09-17 19:04:03.375 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.416 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.416 23529-23560 BLASTBufferQueue com.joyd.autobot D [magnifier surface#5](f:0,a:1) acquireNextBufferLocked size=297x154 mFrameNumber=1 applyTransaction=true mTimestamp=143295791965847(auto) mPendingTransactions.size=0 graphicBufferId=101056285507604 transform=0 +2025-09-17 19:04:03.416 23529-23560 Parcel com.joyd.autobot W Expecting binder but got null! +2025-09-17 19:04:03.418 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.420 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.424 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.549 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.556 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.560 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.562 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.571 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.580 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.583 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.586 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.598 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.600 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.604 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.607 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.612 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.614 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.618 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.621 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.629 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.631 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.634 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.637 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.641 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.643 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.646 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.647 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.652 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.655 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.657 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:03.658 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:03.662 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.025 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.031 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.033 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.035 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.037 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.043 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.046 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.048 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.049 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.052 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.058 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.062 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.064 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.066 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.078 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.079 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.083 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.091 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.093 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.097 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.103 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.110 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.112 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.116 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.120 23529-23616 TrafficStats com.joyd.autobot D tagSocket(101) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:04.120 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:04:04.121 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.124 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.126 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.130 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.134 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.143 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.145 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.150 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.154 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.158 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.159 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.176 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.177 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.181 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.191 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.192 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.197 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.201 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.207 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.208 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.213 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.217 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.223 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.225 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.230 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.234 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.242 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.244 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.251 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.255 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.259 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.261 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.266 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.270 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.274 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.275 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.279 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.284 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.292 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.294 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.298 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.303 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.306 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.308 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.313 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.319 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.323 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.325 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.335 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.338 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.342 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.344 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.350 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.352 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.356 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.358 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.362 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.366 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.374 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.376 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.381 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.384 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.389 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.391 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.395 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.400 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.406 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.408 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.411 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.415 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.423 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.424 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.440 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.603 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.610 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.612 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.614 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.618 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.621 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.625 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.627 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.628 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.631 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.636 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.640 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.642 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.643 23529-23560 om.joyd.autobot com.joyd.autobot E == MALI DEBUG ===eglp_winsys_populate_image_templates ==12288 +2025-09-17 19:04:04.653 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:04.931 23529-23529 BLASTBufferQueue com.joyd.autobot D [magnifier surface#5](f:0,a:1) destructor() +2025-09-17 19:04:04.931 23529-23529 BufferQueueConsumer com.joyd.autobot D [magnifier surface#5(BLAST Consumer)5](id:5be900000005,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:05.461 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:05.959 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:06.310 23529-23529 View com.joyd.autobot D [Warning] assignParent to null: this = android.widget.PopupWindow$PopupDecorView{38602b0 V.E...... R.....I. 0,0-110,110} +2025-09-17 19:04:06.310 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[PopupWindow:18da57f]#4](f:0,a:1) destructor() +2025-09-17 19:04:06.311 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[PopupWindow:18da57f]#4(BLAST Consumer)4](id:5be900000004,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:06.331 23529-23529 VRI[SettingsActivity] com.joyd.autobot V [ANR Warning]Input routeing takes more than 6000ms since 1970-01-01 08:00:00.000, this = com.mediatek.view.impl.ViewDebugManagerImpl@900f529 +2025-09-17 19:04:06.331 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$EarlyPostImeInputStage@7368a16 at 2025-09-17 19:04:06.298 +2025-09-17 19:04:06.331 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$ViewPostImeInputStage@637f584 at 2025-09-17 19:04:06.298 +2025-09-17 19:04:06.332 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$NativePostImeInputStage@34faf97 at 2025-09-17 19:04:06.298 +2025-09-17 19:04:06.332 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$SyntheticInputStage@a113769 at 2025-09-17 19:04:06.326 +2025-09-17 19:04:06.333 23529-23529 VRI[SettingsActivity] com.joyd.autobot V [ANR Warning]Input routeing takes more than 6000ms since 1970-01-01 08:00:00.000, this = com.mediatek.view.impl.ViewDebugManagerImpl@900f529 +2025-09-17 19:04:06.333 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$EarlyPostImeInputStage@7368a16 at 2025-09-17 19:04:06.332 +2025-09-17 19:04:06.333 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$ViewPostImeInputStage@637f584 at 2025-09-17 19:04:06.332 +2025-09-17 19:04:06.333 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$NativePostImeInputStage@34faf97 at 2025-09-17 19:04:06.332 +2025-09-17 19:04:06.333 23529-23529 VRI[SettingsActivity] com.joyd.autobot V Input event delivered to android.view.ViewRootImpl$SyntheticInputStage@a113769 at 2025-09-17 19:04:06.333 +2025-09-17 19:04:06.340 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:06.837 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:07.353 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:07.847 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:08.350 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:08.443 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:08.935 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:09.448 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:09.942 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:10.451 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:10.948 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:11.445 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:11.951 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:12.366 23529-23529 Compatibil...geReporter com.joyd.autobot D Compat change id reported: 150939131; UID 10301; state: ENABLED +2025-09-17 19:04:12.446 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:12.940 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:13.454 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:13.948 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.130 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34564) after 10000ms +2025-09-17 19:04:14.349 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.359 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.376 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.392 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.409 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.418 23529-23529 SettingsActivity com.joyd.autobot D 保存WebSocket地址: ws://192.168.1.236:8805 +2025-09-17 19:04:14.428 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.445 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.448 23529-23563 ContentCat...ListHelper com.joyd.autobot I blackList size: 13 package is com.joyd.autobot isInTaplusWhiteList: true +2025-09-17 19:04:14.459 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.466 23529-23529 BufferQueueConsumer com.joyd.autobot D [](id:5be900000006,api:0,p:-1,c:23529) connect: controlledByApp=false +2025-09-17 19:04:14.467 23529-23529 VRI[MainActivity] com.joyd.autobot D vri.reportNextDraw android.view.ViewRootImpl.performTraversals:3953 android.view.ViewRootImpl.doTraversal:2674 android.view.ViewRootImpl$TraversalRunnable.run:9867 android.view.Choreographer$CallbackRecord.run:1431 android.view.Choreographer$CallbackRecord.run:1439 +2025-09-17 19:04:14.467 23529-23529 VRI[MainActivity] com.joyd.autobot D vri.Setup new sync id=1 syncSeqId=0 +2025-09-17 19:04:14.478 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.489 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.492 23529-23560 BLASTBufferQueue com.joyd.autobot D [VRI[MainActivity]#6](f:0,a:1) acquireNextBufferLocked size=1080x2400 mFrameNumber=1 applyTransaction=true mTimestamp=143306864991925(auto) mPendingTransactions.size=0 graphicBufferId=101056285507610 transform=0 +2025-09-17 19:04:14.494 23529-23529 VRI[MainActivity] com.joyd.autobot D vri.reportDrawFinished syncSeqId=0 android.view.ViewRootImpl.lambda$createSyncIfNeeded$4$android-view-ViewRootImpl:4021 android.view.ViewRootImpl$$ExternalSyntheticLambda1.run:6 android.os.Handler.handleCallback:942 android.os.Handler.dispatchMessage:99 android.os.Looper.loopOnce:211 +2025-09-17 19:04:14.497 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.499 23529-23529 DecorView[] com.joyd.autobot D onWindowFocusChanged hasWindowFocus false +2025-09-17 19:04:14.510 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.525 23529-23529 DecorView[] com.joyd.autobot D onWindowFocusChanged hasWindowFocus true +2025-09-17 19:04:14.526 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.528 23529-23529 HandWritingStubImpl com.joyd.autobot I refreshLastKeyboardType: 1 +2025-09-17 19:04:14.529 23529-23529 HandWritingStubImpl com.joyd.autobot I getCurrentKeyboardType: 1 +2025-09-17 19:04:14.531 4041-4041 BaseInputMethodService com.sohu.inputmethod.sogou.xiaomi E onStartInput app:com.joyd.autobot restarting:false +2025-09-17 19:04:14.548 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:04:14.553 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.556 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.559 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.563 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:04:14.567 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.575 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.580 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.593 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.599 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.608 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.614 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.625 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.628 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.643 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.644 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.658 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.674 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.690 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.707 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.724 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.740 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.757 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.773 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.790 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.806 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.821 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.839 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.856 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.872 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.889 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.905 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.922 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.938 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.955 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.971 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:14.988 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:15.004 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:15.035 23529-23560 OpenGLRenderer com.joyd.autobot D endAllActiveAnimators on 0xb4000079a4dce100 (RippleDrawable) with handle 0xb4000079bc878e20 +2025-09-17 19:04:15.043 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[SettingsActivity]#1](f:0,a:1) destructor() +2025-09-17 19:04:15.044 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[SettingsActivity]#1(BLAST Consumer)1](id:5be900000001,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:15.052 23529-23529 View com.joyd.autobot D [Warning] assignParent to null: this = DecorView@5f1e3d1[SettingsActivity] +2025-09-17 19:04:15.141 23529-23616 TrafficStats com.joyd.autobot D tagSocket(78) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:15.141 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:04:16.042 23529-23529 MainActivity com.joyd.autobot D onPause()被调用,应用进入后台 +2025-09-17 19:04:16.070 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:04:16.081 23529-23529 DecorView[] com.joyd.autobot D onWindowFocusChanged hasWindowFocus false +2025-09-17 19:04:16.124 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.129 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.140 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.148 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.165 4643-5173 ActivityManagerWrapper com.miui.home E getRecentTasks: mainTaskId=31617 userId=0 baseIntent=Intent { act=android.intent.action.MAIN flag=268435456 cmp=ComponentInfo{com.joyd.autobot/com.joyd.autobot.MainActivity} } +2025-09-17 19:04:16.171 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.182 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.195 23529-23560 gralloc4 com.joyd.autobot E Empty SMPTE 2094-40 data +2025-09-17 19:04:16.464 23529-23529 BLASTBufferQueue com.joyd.autobot D [VRI[MainActivity]#6](f:0,a:1) destructor() +2025-09-17 19:04:16.464 23529-23529 BufferQueueConsumer com.joyd.autobot D [VRI[MainActivity]#6(BLAST Consumer)6](id:5be900000006,api:0,p:-1,c:23529) disconnect +2025-09-17 19:04:16.467 23529-23529 MainActivity com.joyd.autobot D onStop()被调用 +2025-09-17 19:04:21.628 23529-23541 om.joyd.autobot com.joyd.autobot W Cleared Reference was only reachable from finalizer (only reported once) +2025-09-17 19:04:21.638 23529-23541 om.joyd.autobot com.joyd.autobot I This is non sticky GC, maxfree is 8388608 minfree is 524288 +2025-09-17 19:04:25.170 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34588) after 10000ms +2025-09-17 19:04:26.214 23529-23616 TrafficStats com.joyd.autobot D tagSocket(78) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:26.215 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:04:36.228 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34592) after 10000ms +2025-09-17 19:04:37.249 23529-23616 TrafficStats com.joyd.autobot D tagSocket(78) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:37.249 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:04:47.263 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34756) after 10000ms +2025-09-17 19:04:48.277 23529-23616 TrafficStats com.joyd.autobot D tagSocket(78) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:48.278 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! +2025-09-17 19:04:58.287 23529-23616 MainActivity com.joyd.autobot E WebSocket连接错误: failed to connect to /192.168.2.236 (port 8805) from /192.168.1.4 (port 34782) after 10000ms +2025-09-17 19:04:59.307 23529-23616 TrafficStats com.joyd.autobot D tagSocket(78) with statsTag=0xffffffff, statsUid=-1 +2025-09-17 19:04:59.307 23529-23616 System.out com.joyd.autobot I [com.mediatek.cta.CtaAdapter]:check permission begin! diff --git a/AutoRobot/Android/Robot/app/proguard-rules.pro b/AutoRobot/Android/Robot/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/AutoRobot/Android/Robot/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/AutoRobot/Android/Robot/app/src/androidTest/java/com/joyd/autobot/ExampleInstrumentedTest.kt b/AutoRobot/Android/Robot/app/src/androidTest/java/com/joyd/autobot/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..cea3619 --- /dev/null +++ b/AutoRobot/Android/Robot/app/src/androidTest/java/com/joyd/autobot/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.joyd.autobot + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.joyd.autobot", appContext.packageName) + } +} \ No newline at end of file diff --git a/AutoRobot/Android/Robot/app/src/main/AndroidManifest.xml b/AutoRobot/Android/Robot/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..90bccbf --- /dev/null +++ b/AutoRobot/Android/Robot/app/src/main/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AutoRobot/Android/Robot/app/src/main/java/com/joyd/autobot/MainActivity.kt b/AutoRobot/Android/Robot/app/src/main/java/com/joyd/autobot/MainActivity.kt new file mode 100644 index 0000000..552762c --- /dev/null +++ b/AutoRobot/Android/Robot/app/src/main/java/com/joyd/autobot/MainActivity.kt @@ -0,0 +1,676 @@ +package com.joyd.autobot + +import android.Manifest +import android.app.Activity +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.content.BroadcastReceiver +import android.content.pm.PackageManager +import android.content.SharedPreferences +import android.media.projection.MediaProjectionManager +import android.os.Build +import android.os.Bundle +import android.os.Handler +import android.os.Looper +import android.util.Log +import android.view.View +import android.widget.Button +import android.widget.TextView +import android.widget.Toast +import androidx.appcompat.app.AppCompatActivity +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import androidx.activity.result.contract.ActivityResultContracts +import com.joyd.joydlib.io.WebSocketClient +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch +import okio.ByteString +import java.util.concurrent.atomic.AtomicBoolean +import java.util.concurrent.atomic.AtomicInteger + +class MainActivity : AppCompatActivity(), WebSocketForegroundService.Companion.ServiceReadyCallback { + private val TAG = "MainActivity" + private val SCREENSHOT_COMMAND = "screenshot" + private val REQUEST_NOTIFICATION_PERMISSION = 1002 + // 定义截图数据广播的action + private val SCREENSHOT_DATA_ACTION = "com.joyd.autobot.SCREENSHOT_DATA" + private val SCREENSHOT_DATA_EXTRA = "screenshot_data" + // 定义MediaProjection权限请求广播的action + private val MEDIA_PROJECTION_PERMISSION_REQUIRED = "com.joyd.autobot.MEDIA_PROJECTION_PERMISSION_REQUIRED" + + private lateinit var connectButton: Button + private lateinit var connectionStatusIndicator: View + private lateinit var connectionStatusText: TextView + private lateinit var settingsButton: Button + private lateinit var webSocketUrl: String + private var webSocketClient: WebSocketClient? = null + private var isConnected = false + + // 重连延迟常量 - 保留此常量用于连接断开后的重连逻辑 + private val RECONNECT_DELAY_MS = 5000L // 重连延迟5秒 + + // 重连状态标志 + private val isReconnecting = AtomicBoolean(false) + + // 处理异步事件的Handler + private lateinit var handler: Handler + + // UI组件引用 + private var screenshotButton: Button? = null + + // 创建截图数据广播接收器 + private val screenshotBroadcastReceiver = object : BroadcastReceiver() { + override fun onReceive(context: Context?, intent: Intent?) { + if (intent?.action == SCREENSHOT_DATA_ACTION) { + val screenshotData = intent.getByteArrayExtra(SCREENSHOT_DATA_EXTRA) + if (screenshotData != null) { + Log.d(TAG, "接收到截图数据,大小: ${screenshotData.size} bytes") + // 发送截图数据到服务端 + sendScreenshotData(screenshotData) + } else { + Log.e(TAG, "接收到的截图数据为null") + } + } else if (intent?.action == MEDIA_PROJECTION_PERMISSION_REQUIRED) { + // 接收到需要重新请求MediaProjection权限的广播 + Log.d(TAG, "接收到需要重新请求MediaProjection权限的广播") + runOnUiThread { + Toast.makeText(this@MainActivity, "需要重新请求屏幕捕获权限以继续截图功能", Toast.LENGTH_SHORT).show() + requestScreenshotPermission() + } + } + } + } + // Activity Result API launcher for media projection + private val mediaProjectionLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { + if (it.resultCode == Activity.RESULT_OK && it.data != null) { + Log.d(TAG, "用户授予了屏幕捕获权限") + WebSocketForegroundService.setMediaProjection(this, it.resultCode, it.data!!) + } else { + // 用户拒绝了屏幕捕获权限 + Log.d(TAG, "用户拒绝了屏幕捕获权限,resultCode: ${it.resultCode}") + Toast.makeText(this, "需要屏幕捕获权限才能执行截图操作", Toast.LENGTH_SHORT).show() + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + Log.d(TAG, "onCreate()被调用") + + // 初始化Handler + handler = Handler(Looper.getMainLooper()) + + // 初始化UI组件 + initUI() + + // 从SharedPreferences获取配置的WebSocket URL + val sharedPreferences = androidx.preference.PreferenceManager.getDefaultSharedPreferences(this) + val defaultUrl = getString(R.string.web_socket_url) + webSocketUrl = sharedPreferences.getString(getString(R.string.pref_key_web_socket_url), defaultUrl) ?: defaultUrl + Log.d(TAG, "从配置获取WebSocket URL: $webSocketUrl") + + // 初始化WebSocket客户端 + initWebSocketClient() + + // 检查并请求通知权限 + checkNotificationPermission() + + // 注册截图数据广播接收器 + registerScreenshotBroadcastReceiver() + } + + // 注册截图数据广播接收器 + private fun registerScreenshotBroadcastReceiver() { + val filter = IntentFilter() + filter.addAction(SCREENSHOT_DATA_ACTION) + filter.addAction(MEDIA_PROJECTION_PERMISSION_REQUIRED) + ContextCompat.registerReceiver( + this, + screenshotBroadcastReceiver, + filter, + ContextCompat.RECEIVER_NOT_EXPORTED + ) + Log.d(TAG, "截图数据广播接收器和MediaProjection权限请求广播接收器已注册") + } + + // 注销截图数据广播接收器 + private fun unregisterScreenshotBroadcastReceiver() { + try { + unregisterReceiver(screenshotBroadcastReceiver) + Log.d(TAG, "截图数据广播接收器已注销") + } catch (e: Exception) { + Log.e(TAG, "注销广播接收器异常: ${e.message}", e) + } + } + private fun initUI() { + connectButton = findViewById