解决定点投放广告播放不了问题,播放日志和gps定点日志开关默认改为关闭,心跳由30s改为两分钟发一次,重连时间10s改为30s,凭证信息可备份至conn,防止跑账号

This commit is contained in:
刘金华 2023-04-14 10:43:59 +08:00
parent 1bf1de0351
commit 481e07359d
49 changed files with 557 additions and 372 deletions

View File

@ -1,5 +1,5 @@
<component name="libraryTable"> <component name="libraryTable">
<library name="Gradle: D./A_TaxiApp/26/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar"> <library name="Gradle: D./A_TaxiApp/taxi26/26Original/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar">
<CLASSES> <CLASSES>
<root url="jar://$PROJECT_DIR$/app/libs/xixun_card_settings_1.2.4.jar!/" /> <root url="jar://$PROJECT_DIR$/app/libs/xixun_card_settings_1.2.4.jar!/" />
</CLASSES> </CLASSES>

View File

@ -39,6 +39,7 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cbacc0420eb54d22b11c3ebe49cbfb9d/jetified-hamcrest-library-1.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cbacc0420eb54d22b11c3ebe49cbfb9d/jetified-hamcrest-library-1.3.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c2aff52a3446202851bad44fbb8fd9c7/jetified-core-1.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/c2aff52a3446202851bad44fbb8fd9c7/jetified-core-1.2.0-api.jar</arg>
<arg>$MODULE_DIR$/../../../kurotool/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a33f8ce3216f44d0b34f8584fe1d4053/material-1.4.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/a33f8ce3216f44d0b34f8584fe1d4053/material-1.4.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45ead938a935c9e6e195051654e8f67e/constraintlayout-2.0.1-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/45ead938a935c9e6e195051654e8f67e/constraintlayout-2.0.1-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5811bc91d2614a9158a1ca655b9ded43/appcompat-1.3.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/5811bc91d2614a9158a1ca655b9ded43/appcompat-1.3.0-api.jar</arg>
@ -97,6 +98,7 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2e05a7c119c523ef3da3eca735692616/jetified-kotlin-reflect-1.3.61.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/2e05a7c119c523ef3da3eca735692616/jetified-kotlin-reflect-1.3.61.jar</arg>
<arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg>
@ -128,8 +130,8 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9822764d1b6050859a78a0b3ec51c6dc/jetified-permissionx-1.1.1-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9822764d1b6050859a78a0b3ec51c6dc/jetified-permissionx-1.1.1-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/020b480d2bde92043942aeb85ef94e0f/jetified-YJTools-v1.0.5-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/020b480d2bde92043942aeb85ef94e0f/jetified-YJTools-v1.0.5-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debugAndroidTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debugAndroidTest" />
@ -199,7 +201,7 @@
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="module" module-name="taxiapp-ktl.kurolibrary.main" scope="TEST" /> <orderEntry type="module" module-name="taxiapp-ktl.kurolibrary.main" scope="TEST" />
<orderEntry type="library" scope="TEST" name="Gradle: D./A_TaxiApp/26/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: D./A_TaxiApp/taxi26/26Original/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />

View File

@ -4,7 +4,7 @@
<facet type="android-gradle" name="Android-Gradle"> <facet type="android-gradle" name="Android-Gradle">
<configuration> <configuration>
<option name="GRADLE_PROJECT_PATH" value=":app" /> <option name="GRADLE_PROJECT_PATH" value=":app" />
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" /> <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.2" />
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" /> <option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" />
</configuration> </configuration>
</facet> </facet>

View File

@ -30,6 +30,7 @@
<stringArguments> <stringArguments>
<stringArg name="classpath"> <stringArg name="classpath">
<args> <args>
<arg>$MODULE_DIR$/../../../app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd6ee3eb3fc50696fc57eaf7fa81506a/jetified-xixun_card_settings_1.2.4.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd6ee3eb3fc50696fc57eaf7fa81506a/jetified-xixun_card_settings_1.2.4.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg>
@ -40,6 +41,8 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/52f608662a75fc89303d1701f5ec50e0/jetified-lifecycle-reactivestreams-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/52f608662a75fc89303d1701f5ec50e0/jetified-lifecycle-reactivestreams-ktx-2.2.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec781f3119334c7509522ff1bb966868/jetified-lifecycle-runtime-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec781f3119334c7509522ff1bb966868/jetified-lifecycle-runtime-ktx-2.2.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/798edd96275281c937a1982cd81c07a3/jetified-lifecycle-viewmodel-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/798edd96275281c937a1982cd81c07a3/jetified-lifecycle-viewmodel-ktx-2.2.0-api.jar</arg>
<arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$MODULE_DIR$/../../../kurotool/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg>
@ -115,8 +118,8 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9822764d1b6050859a78a0b3ec51c6dc/jetified-permissionx-1.1.1-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9822764d1b6050859a78a0b3ec51c6dc/jetified-permissionx-1.1.1-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/020b480d2bde92043942aeb85ef94e0f/jetified-YJTools-v1.0.5-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/020b480d2bde92043942aeb85ef94e0f/jetified-YJTools-v1.0.5-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debug" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debug" />
@ -156,20 +159,31 @@
<exclude-output /> <exclude-output />
<content url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out"> <content url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/aidl_source_output_dir/debug/out" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out"> <content url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/ap_generated_sources/debug/out" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/build/generated/renderscript_source_output_dir/debug/out" /> <content url="file://$MODULE_DIR$/../../../app/build/generated/renderscript_source_output_dir/debug/out" />
<content url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug" /> <content url="file://$MODULE_DIR$/../../../app/build/generated/res/rs/debug" />
<content url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug"> <content url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug"> <content url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug"> <content url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/src/debug" /> <content url="file://$MODULE_DIR$/../../../app/src/debug" />
<content url="file://$MODULE_DIR$/../../../app/src/main"> <content url="file://$MODULE_DIR$/../../../app/src/main">
@ -191,7 +205,7 @@
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="module" module-name="taxiapp-ktl.kurotool.main" /> <orderEntry type="module" module-name="taxiapp-ktl.kurotool.main" />
<orderEntry type="library" name="Gradle: D./A_TaxiApp/26/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" /> <orderEntry type="library" name="Gradle: D./A_TaxiApp/taxi26/26Original/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.71" level="project" /> <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.71" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.71" level="project" /> <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.71" level="project" />
<orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-reflect:1.3.61" level="project" /> <orderEntry type="library" name="Gradle: org.jetbrains.kotlin:kotlin-reflect:1.3.61" level="project" />

View File

@ -30,6 +30,7 @@
<stringArguments> <stringArguments>
<stringArg name="classpath"> <stringArg name="classpath">
<args> <args>
<arg>$MODULE_DIR$/../../../app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/R.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd6ee3eb3fc50696fc57eaf7fa81506a/jetified-xixun_card_settings_1.2.4.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cd6ee3eb3fc50696fc57eaf7fa81506a/jetified-xixun_card_settings_1.2.4.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/50c4f3f9cb89c12875b3d8a37bce3ea8/jetified-kotlin-android-extensions-runtime-1.3.71.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/eef10497c076c3e0224eef478dfacc95/jetified-kotlin-stdlib-jdk7-1.3.71.jar</arg>
@ -40,6 +41,8 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/52f608662a75fc89303d1701f5ec50e0/jetified-lifecycle-reactivestreams-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/52f608662a75fc89303d1701f5ec50e0/jetified-lifecycle-reactivestreams-ktx-2.2.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec781f3119334c7509522ff1bb966868/jetified-lifecycle-runtime-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/ec781f3119334c7509522ff1bb966868/jetified-lifecycle-runtime-ktx-2.2.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/798edd96275281c937a1982cd81c07a3/jetified-lifecycle-viewmodel-ktx-2.2.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/798edd96275281c937a1982cd81c07a3/jetified-lifecycle-viewmodel-ktx-2.2.0-api.jar</arg>
<arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$MODULE_DIR$/../../../kurotool/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg>
@ -117,8 +120,11 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/cb9e9189a7eabc085ddffe7ef81268f3/jetified-android-database-sqlcipher-3.5.7-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/73288eb0c21a43b54cd0b7ad8c497738/jetified-junit-4.12.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/73288eb0c21a43b54cd0b7ad8c497738/jetified-junit-4.12.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../app/build/intermediates/javac/debug/classes</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debug</arg>
<arg>$MODULE_DIR$/../../../app/build/tmp/kapt3/classes/debug</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debugUnitTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../app/build/tmp/kotlin-classes/debugUnitTest" />
@ -169,6 +175,7 @@
<content url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debugUnitTest" /> <content url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debugUnitTest" />
<content url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debugUnitTest"> <content url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debugUnitTest">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../app/src/test"> <content url="file://$MODULE_DIR$/../../../app/src/test">
<sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/java" isTestSource="true" />
@ -187,7 +194,7 @@
</library> </library>
</orderEntry> </orderEntry>
<orderEntry type="module" module-name="taxiapp-ktl.kurotool.main" scope="TEST" /> <orderEntry type="module" module-name="taxiapp-ktl.kurotool.main" scope="TEST" />
<orderEntry type="library" scope="TEST" name="Gradle: D./A_TaxiApp/26/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: D./A_TaxiApp/taxi26/26Original/taxiapp-ktl/app/libs/xixun_card_settings_1.2.4.jar" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.71" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:1.3.71" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.71" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.71" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-reflect:1.3.61" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-reflect:1.3.61" level="project" />

View File

@ -97,8 +97,9 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/107e22d3375bddc7d1b0a774a0f08ed5/jetified-gson-2.8.5.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/107e22d3375bddc7d1b0a774a0f08ed5/jetified-gson-2.8.5.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0fac2df818d5003a70205e494249161d/jetified-annotation-experimental-1.0.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0fac2df818d5003a70205e494249161d/jetified-annotation-experimental-1.0.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-32/android.jar</arg> <arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-32/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debugAndroidTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debugAndroidTest" />
@ -142,7 +143,7 @@
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/buildConfig/androidTest/debug" /> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/buildConfig/androidTest/debug" />
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debugAndroidTest" /> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debugAndroidTest" />
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugAndroidTest"> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugAndroidTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugAndroidTest" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugAndroidTest" isTestSource="true" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurolibrary/src/androidTest"> <content url="file://$MODULE_DIR$/../../../kurolibrary/src/androidTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/src/androidTest/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/src/androidTest/java" isTestSource="true" />

View File

@ -4,7 +4,7 @@
<facet type="android-gradle" name="Android-Gradle"> <facet type="android-gradle" name="Android-Gradle">
<configuration> <configuration>
<option name="GRADLE_PROJECT_PATH" value=":kurolibrary" /> <option name="GRADLE_PROJECT_PATH" value=":kurolibrary" />
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" /> <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.2" />
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" /> <option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" />
</configuration> </configuration>
</facet> </facet>

View File

@ -31,6 +31,7 @@
<stringArguments> <stringArguments>
<stringArg name="classpath"> <stringArg name="classpath">
<args> <args>
<arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d81251d5927161ec93d9dc99e7da18e3/jetified-retrofit-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/d81251d5927161ec93d9dc99e7da18e3/jetified-retrofit-2.7.1.jar</arg>
@ -83,8 +84,8 @@
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.2.0/57136ff68ee784c6e19db34ed4a175338fadfde1/annotation-1.2.0.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.2.0/57136ff68ee784c6e19db34ed4a175338fadfde1/annotation-1.2.0.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0fac2df818d5003a70205e494249161d/jetified-annotation-experimental-1.0.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/0fac2df818d5003a70205e494249161d/jetified-annotation-experimental-1.0.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-32/android.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-32/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debug" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debug" />
@ -128,7 +129,7 @@
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debug"> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debug">
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurolibrary/src/debug" /> <content url="file://$MODULE_DIR$/../../../kurolibrary/src/debug" />
<content url="file://$MODULE_DIR$/../../../kurolibrary/src/main"> <content url="file://$MODULE_DIR$/../../../kurolibrary/src/main">

View File

@ -85,8 +85,11 @@
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.constraintlayout/constraintlayout-solver/2.0.1/30988fe2d77f3fe3bf7551bb8a8b795fad7e7226/constraintlayout-solver-2.0.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6caef15cbfc6f35ac8669787bd9cfcab/jetified-junit-4.13.2.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6caef15cbfc6f35ac8669787bd9cfcab/jetified-junit-4.13.2.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-32/android.jar</arg> <arg>$MODULE_DIR$/../../../kurolibrary/build/intermediates/javac/debug/classes</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debug</arg>
<arg>$MODULE_DIR$/../../../kurolibrary/build/tmp/kapt3/classes/debug</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-32/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debugUnitTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurolibrary/build/tmp/kotlin-classes/debugUnitTest" />
@ -128,7 +131,7 @@
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/ap_generated_sources/debugUnitTest/out" /> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/ap_generated_sources/debugUnitTest/out" />
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debugUnitTest" /> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kapt/debugUnitTest" />
<content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugUnitTest"> <content url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugUnitTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurolibrary/src/test"> <content url="file://$MODULE_DIR$/../../../kurolibrary/src/test">
<sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/src/test/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurolibrary/src/test/java" isTestSource="true" />

View File

@ -93,8 +93,9 @@
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9f2b33d370b6af0362fe1e71cd0de502/jetified-annotations-13.0.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/9f2b33d370b6af0362fe1e71cd0de502/jetified-annotations-13.0.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/61969562c26d090cb354becbc427a8b5/jetified-reactive-streams-1.0.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/61969562c26d090cb354becbc427a8b5/jetified-reactive-streams-1.0.3.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/107e22d3375bddc7d1b0a774a0f08ed5/jetified-gson-2.8.5.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/107e22d3375bddc7d1b0a774a0f08ed5/jetified-gson-2.8.5.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../kurotool/build/intermediates/compile_library_classes/debug/classes.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debugAndroidTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debugAndroidTest" />
@ -145,7 +146,7 @@
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/buildConfig/androidTest/debug" /> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/buildConfig/androidTest/debug" />
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debugAndroidTest" /> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debugAndroidTest" />
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugAndroidTest"> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugAndroidTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugAndroidTest" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugAndroidTest" isTestSource="true" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurotool/src/androidTest"> <content url="file://$MODULE_DIR$/../../../kurotool/src/androidTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/src/androidTest/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/src/androidTest/java" isTestSource="true" />

View File

@ -4,7 +4,7 @@
<facet type="android-gradle" name="Android-Gradle"> <facet type="android-gradle" name="Android-Gradle">
<configuration> <configuration>
<option name="GRADLE_PROJECT_PATH" value=":kurotool" /> <option name="GRADLE_PROJECT_PATH" value=":kurotool" />
<option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" /> <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" value="3.6.2" />
<option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" /> <option name="LAST_KNOWN_AGP_VERSION" value="3.6.2" />
</configuration> </configuration>
</facet> </facet>

View File

@ -31,6 +31,7 @@
<stringArguments> <stringArguments>
<stringArg name="classpath"> <stringArg name="classpath">
<args> <args>
<arg>$MODULE_DIR$/../../../kurotool/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/6176d58c87e449e2b2e5fc94fb6053c8/jetified-converter-scalars-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b7680124ff9b7ea7fb176d7f0c284ad9/jetified-adapter-rxjava2-2.7.1.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/4fbf1ce8d5ae2af5f523851cfbe8b485/jetified-converter-gson-2.7.1.jar</arg>
@ -79,8 +80,8 @@
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b8406a0417971e7997dafe8b24d4441f/interpolator-1.0.0-api.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/b8406a0417971e7997dafe8b24d4441f/interpolator-1.0.0-api.jar</arg>
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debug" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debug" />
@ -131,7 +132,7 @@
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debug" isTestSource="false" generated="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debug"> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debug">
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debug" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debug" isTestSource="false" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurotool/src/debug" /> <content url="file://$MODULE_DIR$/../../../kurotool/src/debug" />
<content url="file://$MODULE_DIR$/../../../kurotool/src/main"> <content url="file://$MODULE_DIR$/../../../kurotool/src/main">

View File

@ -81,8 +81,11 @@
<arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar</arg> <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.1.0/e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8/annotation-1.1.0.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/73288eb0c21a43b54cd0b7ad8c497738/jetified-junit-4.12.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/73288eb0c21a43b54cd0b7ad8c497738/jetified-junit-4.12.jar</arg>
<arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg> <arg>$USER_HOME$/.gradle/caches/transforms-2/files-2.1/1f21aa167e0a0fee8c0d09407d21d417/jetified-hamcrest-core-1.3.jar</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/platforms/android-29/android.jar</arg> <arg>$MODULE_DIR$/../../../kurotool/build/intermediates/javac/debug/classes</arg>
<arg>$MODULE_DIR$/../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg> <arg>$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debug</arg>
<arg>$MODULE_DIR$/../../../kurotool/build/tmp/kapt3/classes/debug</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/platforms/android-29/android.jar</arg>
<arg>$MODULE_DIR$/../../../../../../../Android/sdk/build-tools/29.0.2/core-lambda-stubs.jar</arg>
</args> </args>
</stringArg> </stringArg>
<stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debugUnitTest" /> <stringArg name="destination" arg="$MODULE_DIR$/../../../kurotool/build/tmp/kotlin-classes/debugUnitTest" />
@ -131,7 +134,7 @@
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/ap_generated_sources/debugUnitTest/out" /> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/ap_generated_sources/debugUnitTest/out" />
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debugUnitTest" /> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kapt/debugUnitTest" />
<content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugUnitTest"> <content url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugUnitTest">
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/build/generated/source/kaptKotlin/debugUnitTest" isTestSource="true" generated="true" />
</content> </content>
<content url="file://$MODULE_DIR$/../../../kurotool/src/test"> <content url="file://$MODULE_DIR$/../../../kurotool/src/test">
<sourceFolder url="file://$MODULE_DIR$/../../../kurotool/src/test/java" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/../../../kurotool/src/test/java" isTestSource="true" />

View File

@ -21,8 +21,8 @@ android {
applicationId "net.sysolution.taxiapp" applicationId "net.sysolution.taxiapp"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 29 targetSdkVersion 29
versionCode 173 versionCode 176
versionName "3.3.3-beta26-release" versionName "3.3.3-beta26.3-release"
//alphaxx - ,bug //alphaxx - ,bug
//Betaxx - //Betaxx -
@ -40,6 +40,12 @@ android {
//333-20 conn没被改到问题 //333-20 conn没被改到问题
//333-21 isdownloading的判断 //333-21 isdownloading的判断
/*
333-26
26.3 广gps定点日志开关默认改为关闭30s改为两分钟发一次10s改为30s
conn,
* */
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// Enabling multidex support. // Enabling multidex support.

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":147,"versionName":"3.3.3-beta24-release","enabled":true,"outputFile":"TaxiApp_v3.3.3-beta24-release{147}.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"TaxiApp_v3.3.3-beta24-release{147}.apk","properties":{}}] [{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":175,"versionName":"3.3.3-beta26.3.5-debug","enabled":true,"outputFile":"TaxiApp_v3.3.3-beta26.3.5-debug{175}.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"TaxiApp_v3.3.3-beta26.3.5-debug{175}.apk","properties":{}}]

View File

@ -1,8 +1,22 @@
package com.xixun.xy.conn.aidl; package com.xixun.xy.conn.aidl;
import com.xixun.xy.conn.aidl.FpgaInfo;
import com.xixun.contract.model.TaskToKeepScreenOn;
interface ConnService { interface ConnService {
String getServerURL(); String getServerURL();
boolean setServerURL(String value); boolean setServerURL(String value);
String getCompanyId(); String getCompanyId();
boolean setCompanyId(String value);
} void sendFpgaInfoToWeb(in List<FpgaInfo> FpgaInfoList);
void send(String json);
boolean setAlias(String value);
String getAlias();
//boolean getRadioState();
String setKeyValue(String key,String value);
String getKeyValue(String key);
}

View File

@ -46,8 +46,8 @@ public class Configurations {
isFirstRegisterSave(true); isFirstRegisterSave(true);
enableWriteLogSave( false); enableWriteLogSave( false);
advertiseOrderSave( ""); advertiseOrderSave( "");
loggerSwitchSave(true); loggerSwitchSave(false);
gpsSwitchSave(true); gpsSwitchSave(false);
upload_debug_file_urlSave("http://taxihub.cn:2345/postDebugFile"); upload_debug_file_urlSave("http://taxihub.cn:2345/postDebugFile");
}else{ }else{
YoungUtil.YoungLog("copy configurations"); YoungUtil.YoungLog("copy configurations");
@ -258,14 +258,14 @@ public class Configurations {
context.getSharedPreferences("config", Context.MODE_PRIVATE).edit().putBoolean("enableWriteLog", b).apply(); context.getSharedPreferences("config", Context.MODE_PRIVATE).edit().putBoolean("enableWriteLog", b).apply();
} }
public boolean loggerSwitch(){ public boolean loggerSwitch(){
return context.getSharedPreferences("config", Context.MODE_PRIVATE).getBoolean("loggerSwitch", true); return context.getSharedPreferences("config", Context.MODE_PRIVATE).getBoolean("loggerSwitch", false);
} }
public void loggerSwitchSave(boolean b){ public void loggerSwitchSave(boolean b){
context.getSharedPreferences("config", Context.MODE_PRIVATE).edit().putBoolean("loggerSwitch", b).apply(); context.getSharedPreferences("config", Context.MODE_PRIVATE).edit().putBoolean("loggerSwitch", b).apply();
} }
public boolean gpsSwitch(){ public boolean gpsSwitch(){
return context.getSharedPreferences("config", Context.MODE_PRIVATE).getBoolean("gpsSwitch", true); return context.getSharedPreferences("config", Context.MODE_PRIVATE).getBoolean("gpsSwitch", false);
} }
public void gpsSwitchSave(boolean b){ public void gpsSwitchSave(boolean b){

View File

@ -8,6 +8,9 @@ import cn.trans88.kurotool.util.LogLevel
import cn.trans88.kurotool.util.LogUtil import cn.trans88.kurotool.util.LogUtil
import cn.trans88.taxiappkotlin.ext.logd import cn.trans88.taxiappkotlin.ext.logd
import cn.trans88.taxiappkotlin.ext.loge import cn.trans88.taxiappkotlin.ext.loge
import cn.trans88.taxiappkotlin.logic.dao.DaoMaster
import cn.trans88.taxiappkotlin.logic.dao.DaoSession
import cn.trans88.taxiappkotlin.logic.dao.HelperDaoDB
import cn.trans88.taxiappkotlin.logic.exception.CrashHandler import cn.trans88.taxiappkotlin.logic.exception.CrashHandler
import cn.trans88.taxiappkotlin.logic.model.Advertise import cn.trans88.taxiappkotlin.logic.model.Advertise
import cn.trans88.taxiappkotlin.logic.model.Schedule import cn.trans88.taxiappkotlin.logic.model.Schedule
@ -29,6 +32,8 @@ import kotlin.collections.HashMap
class TaxiApp:Application() { class TaxiApp:Application() {
private lateinit var daoSession: DaoSession
val timer = Timer() val timer = Timer()
//定时任务是否执行 //定时任务是否执行
var isTimed:Boolean = false var isTimed:Boolean = false
@ -63,25 +68,15 @@ class TaxiApp:Application() {
super.onCreate() super.onCreate()
instance = this instance = this
val helperDaoDB = HelperDaoDB(this, "taxi-app-database.db", null)
val db = helperDaoDB.writableDatabase
daoSession = DaoMaster(db).newSession()
//add by yzd @20211130 用config替换原有的配置文件 //add by yzd @20211130 用config替换原有的配置文件
Configurations.config(this).init(); Configurations.config(this).init();
//初始化异常捕捉 //yzd 注释于20211110 //初始化异常捕捉 //yzd 注释于20211110
CrashHandler.getInstance(this).setInfo("熙讯ID", Configurations.config(TaxiApp.instance()).cardId()).setPost("").setDep(5).init() CrashHandler.getInstance(this).setInfo("熙讯ID", Configurations.config(TaxiApp.instance()).cardId()).setPost("").setDep(5).init()
//初始化ApiClient
// ApiClient.init("http://taxihub.cn:2346/v1/cms/taxi/",true)
// //初始化Logger
// val formatStrategy: FormatStrategy = PrettyFormatStrategy.newBuilder()
// .showThreadInfo(false) // (Optional) Whether to show thread info or not. Default true
// .methodCount(0) // (Optional) How many method line to show. Default 2
// .methodOffset(7) // (Optional) Hides internal method calls up to offset. Default 5
// .tag(TAG) // (Optional) Global tag for every log. Default PRETTY_LOGGER
// .showThreadInfo(true)
// .build()
// val adapter = AndroidLogAdapter(formatStrategy)
// Logger.addLogAdapter(adapter)
KuroApiFactory.initRetrofit("http://taxihub.cn:2346/v1/cms/taxi/").setInterceptor(BizInterceptor()) KuroApiFactory.initRetrofit("http://taxihub.cn:2346/v1/cms/taxi/").setInterceptor(BizInterceptor())
setLogUtil() setLogUtil()
@ -110,12 +105,6 @@ class TaxiApp:Application() {
startActivity.flags = Intent.FLAG_ACTIVITY_NEW_TASK startActivity.flags = Intent.FLAG_ACTIVITY_NEW_TASK
this.startActivity(startActivity) this.startActivity(startActivity)
} }
// val serverIntent = Intent(this, PlayServer::class.java)
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// startForegroundService(serverIntent);
// }else{
// startService(serverIntent)
// }
Thread(Runnable { Thread(Runnable {
Thread.sleep(10*1000) Thread.sleep(10*1000)
@ -128,45 +117,12 @@ class TaxiApp:Application() {
} }
/** /**
* 配置exoPlayer的player * 获取daoSession
* @return DaoSession
*/ */
// fun initPlayer(){ fun getDaoSession():DaoSession{
// val dataSourceFactory = DefaultDataSourceFactory(applicationContext) return daoSession
// factory = ProgressiveMediaSource.Factory(dataSourceFactory) }
// //edit by ljh 2023/1/5
// //配置exoPlayer的player
// player = SimpleExoPlayer.Builder(this).build()
// //音量设置为0
// player!!.volume = 0f
//// player!!.playWhenReady = true
// initListener()
// player!!.addListener(listener)
// }
/**
* 初始化视频监听器
*/
// private fun initListener(){
// listener = object : Player.Listener{
// override fun onPlaybackStateChanged(state: Int) {
// when(state){
// Player.STATE_BUFFERING -> {
// "视频正在缓冲".logd("PlayView")
// }
// Player.STATE_READY -> {
// "视频准备就绪".logd("PlayView")
// }
// Player.STATE_ENDED -> {
// "播放完毕".loge("PlayView")
// }
//
// Player.STATE_IDLE -> {
// "闲置视频".loge("PlayView")
// }
// }
// }
// }
// }
private fun initKuroLog() { private fun initKuroLog() {

View File

@ -86,7 +86,6 @@ object Repository {
} }
fun getAdvertiseTEST(): Advertise? { fun getAdvertiseTEST(): Advertise? {
// return getPlayAdvertise(circularListMap[getPlayLevels()])
val list = myListMap[getTestPlayLevels()] val list = myListMap[getTestPlayLevels()]
"广告数量:${list?.size}".loge() "广告数量:${list?.size}".loge()
@ -96,7 +95,7 @@ object Repository {
advertise = if (isTimedAdvertise){ advertise = if (isTimedAdvertise){
getTestPlayAdvertise(taxiApp.timedAds) getTestPlayAdvertise(taxiApp.timedAds)
} else { } else {
getTestPlayAdvertise(myListMap[getTestPlayLevels()]) getTestPlayAdvertise(list)
} }
// val advertise = getTestPlayAdvertise(myListMap[getTestPlayLevels()]) // val advertise = getTestPlayAdvertise(myListMap[getTestPlayLevels()])
return advertise return advertise
@ -200,6 +199,7 @@ object Repository {
fun getTestPlayLevels(): Int { fun getTestPlayLevels(): Int {
val levels = AdvertiseType.values() val levels = AdvertiseType.values()
val isTimedAdvertise = Configurations.config(taxiApp.activity).isTimedAdvertise val isTimedAdvertise = Configurations.config(taxiApp.activity).isTimedAdvertise
"getTestPlayLevels -> isTimedAdvertise:$isTimedAdvertise".loge()
for (index in AdvertiseType.values().size downTo 0) { for (index in AdvertiseType.values().size downTo 0) {
//#edit by ljh 2023/2/27 //#edit by ljh 2023/2/27
//先判断当前的播放列表是否是分时段播放列表,还是正常的播放列表 //先判断当前的播放列表是否是分时段播放列表,还是正常的播放列表
@ -228,7 +228,6 @@ object Repository {
/** /**
* 刷新循环列表 * 刷新循环列表
*/ */
@SuppressLint("SimpleDateFormat")
@Synchronized @Synchronized
fun refreshMyList() { fun refreshMyList() {
val currentTimeMillis = System.currentTimeMillis() val currentTimeMillis = System.currentTimeMillis()
@ -312,9 +311,7 @@ object Repository {
} }
for (index in 0 until advertises.size) { for (index in 0 until advertises.size) {
val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") YoungUtil.YoungLog("列表序号:${advertises[index].ad_id} 创建时间 ${advertises[index].createAt}")
val dateStr = format.format(Date(advertises[index].createAt))
YoungUtil.YoungLog("列表序号:${advertises[index].ad_id} 创建时间 $dateStr")
// sb.append("\n广告id:${advertise.ad_id}") // sb.append("\n广告id:${advertise.ad_id}")
val advertise = advertises[index] val advertise = advertises[index]

View File

@ -1,55 +1,62 @@
package cn.trans88.taxiappkotlin.logic.dao package cn.trans88.taxiappkotlin.logic.dao
//import cn.trans88.taxiappkotlin.entity.Advertise
import android.database.sqlite.SQLiteDatabase
import cn.trans88.taxiappkotlin.TaxiApp import cn.trans88.taxiappkotlin.TaxiApp
import cn.trans88.taxiappkotlin.ext.logd import cn.trans88.taxiappkotlin.ext.logd
import cn.trans88.taxiappkotlin.logic.model.* import cn.trans88.taxiappkotlin.logic.model.*
import cn.trans88.taxiappkotlin.ui.advertise.AdvertiseType import cn.trans88.taxiappkotlin.ui.advertise.AdvertiseType
import org.greenrobot.greendao.database.Database
import java.io.File import java.io.File
object DaoUtil { object DaoUtil {
private const val DB_NAME = "taxi-app-database.db" private const val DB_NAME = "taxi-app-database.db"
// private val helperDaoDB = HelperDaoDB(TaxiApp.instance(), DB_NAME, null) val taxiApp = TaxiApp.instance() as TaxiApp
// val db = helperDaoDB.writableDatabase var daoSession:DaoSession = taxiApp.getDaoSession()
// private val daoMaster: DaoMaster = DaoMaster(db)
// val daoSession: DaoSession = daoMaster.newSession() private var mOrderDao:OrderDao
private var helperDaoDB:HelperDaoDB private var mPlayLoggerDao:PlayLoggerDao
var db:SQLiteDatabase private var mAdvertiseDao:AdvertiseDao
// var db:Database private var mLocationDao:LocationDao
private var daoMaster: DaoMaster private var mSanleAdvertiseDao:SanleAdvertiseDao
var daoSession: DaoSession private var mPositionAdvertiseDao:PositionAdvertiseDao
private var mTimeSpanDao:TimeSpanDao
private var mScheduleDao:ScheduleDao
private var mRegionsDao:RegionsDao
private var mContainerDao:ContainerDao
init { init {
helperDaoDB = HelperDaoDB(TaxiApp.instance(), DB_NAME, null) // helperDaoDB = HelperDaoDB(TaxiApp.instance(), DB_NAME, null)
// db = helperDaoDB.getEncryptedWritableDb("123") // db = helperDaoDB.getEncryptedWritableDb("123")
db = helperDaoDB.writableDatabase // db = helperDaoDB.writableDatabase
// db.disableWriteAheadLogging() // db.disableWriteAheadLogging()
daoMaster = DaoMaster(db) mOrderDao = daoSession.orderDao
daoSession= daoMaster.newSession() mPlayLoggerDao = daoSession.playLoggerDao
mAdvertiseDao = daoSession.advertiseDao
mLocationDao = daoSession.locationDao
mSanleAdvertiseDao = daoSession.sanleAdvertiseDao
mPositionAdvertiseDao = daoSession.positionAdvertiseDao
mTimeSpanDao = daoSession.timeSpanDao
mScheduleDao = daoSession.scheduleDao
mRegionsDao = daoSession.regionsDao
mContainerDao = daoSession.containerDao
} }
@Synchronized @Synchronized
fun getOrderDao(): OrderDao { fun getOrderDao(): OrderDao {
return daoMaster.newSession().orderDao return mOrderDao
} }
@Synchronized @Synchronized
fun getPlayLoggerDao(): PlayLoggerDao { fun getPlayLoggerDao(): PlayLoggerDao {
return daoMaster.newSession().playLoggerDao return mPlayLoggerDao
} }
@Synchronized @Synchronized
fun getAdvertise(): AdvertiseDao { fun getAdvertise(): AdvertiseDao {
return daoMaster.newSession().advertiseDao return mAdvertiseDao
} }
@Synchronized @Synchronized
fun getLocationDao(): LocationDao { fun getLocationDao(): LocationDao {
return daoMaster.newSession().locationDao return mLocationDao
} }
@Synchronized @Synchronized
@ -59,39 +66,39 @@ object DaoUtil {
@Synchronized @Synchronized
fun getAdvertises(): MutableList<Advertise> { fun getAdvertises(): MutableList<Advertise> {
return daoMaster.newSession().advertiseDao.loadAll() return mAdvertiseDao.loadAll()
} }
@Synchronized @Synchronized
fun getSanleAdvertises(): List<SanleAdvertise> { fun getSanleAdvertises(): List<SanleAdvertise> {
return daoMaster.newSession().sanleAdvertiseDao.loadAll() return mSanleAdvertiseDao.loadAll()
} }
@Synchronized @Synchronized
fun getSanleAdvertise(): SanleAdvertiseDao { fun getSanleAdvertise(): SanleAdvertiseDao {
return daoMaster.newSession().sanleAdvertiseDao return mSanleAdvertiseDao
} }
@Synchronized @Synchronized
fun getPositionAdvertise(): PositionAdvertiseDao = daoMaster.newSession().positionAdvertiseDao fun getPositionAdvertise(): PositionAdvertiseDao = mPositionAdvertiseDao
@Synchronized @Synchronized
fun getTimeSpan(): TimeSpanDao = daoMaster.newSession().timeSpanDao fun getTimeSpan(): TimeSpanDao = mTimeSpanDao
@Synchronized @Synchronized
fun getSchedule(): ScheduleDao = daoMaster.newSession().scheduleDao fun getSchedule(): ScheduleDao = mScheduleDao
@Synchronized @Synchronized
fun getPositionAdvertises(): List<PositionAdvertise> = daoMaster.newSession().positionAdvertiseDao.loadAll() fun getPositionAdvertises(): List<PositionAdvertise> = mPositionAdvertiseDao.loadAll()
@Synchronized @Synchronized
fun getRegion(): RegionsDao { fun getRegion(): RegionsDao {
return daoMaster.newSession().regionsDao return mRegionsDao
} }
@Synchronized @Synchronized
fun getPlayLogger(): PlayLoggerDao { fun getPlayLogger(): PlayLoggerDao {
return daoMaster.newSession().playLoggerDao return mPlayLoggerDao
} }
@Synchronized @Synchronized
@ -101,7 +108,7 @@ object DaoUtil {
@Synchronized @Synchronized
fun getContainerDao(): ContainerDao { fun getContainerDao(): ContainerDao {
return daoMaster.newSession().containerDao return mContainerDao
} }
/** /**
@ -162,13 +169,13 @@ object DaoUtil {
*/ */
@Synchronized @Synchronized
fun updatePlayNumbers(advertise: Advertise){ fun updatePlayNumbers(advertise: Advertise){
"更新广告数据".logd("Repository") "更新广告数据".logd()
val oldAdvertise: Advertise? = DaoUtil.getAdvertise().queryBuilder() val oldAdvertise: Advertise? = getAdvertise().queryBuilder()
.where(AdvertiseDao.Properties.Ad_id.eq(advertise.ad_id)).build() .where(AdvertiseDao.Properties.Ad_id.eq(advertise.ad_id)).build()
.unique() .unique()
if (oldAdvertise!=null){ if (oldAdvertise!=null){
oldAdvertise.play_numbers = advertise.play_numbers oldAdvertise.play_numbers = advertise.play_numbers
DaoUtil.getAdvertise().insertOrReplace(oldAdvertise) getAdvertise().insertOrReplace(oldAdvertise)
} }
} }

View File

@ -0,0 +1,12 @@
package cn.trans88.taxiappkotlin.logic.model
/**
*
* @Author LJH
* @Time 2023/4/13
* @description
*/
data class ConnResponse(
var operation:String,
var message:String
)

View File

@ -0,0 +1,20 @@
package cn.trans88.taxiappkotlin.logic.model
/**
*
* @Author LJH
* @Time 2023/4/12
* @description和平台通信的相关信息
*/
data class ConnectMessage(
var countId:String = "", //账号ID
var taxiBaseUrl:String = "", //注册时请求的平台地址
var registerToken:String = "", //注册Token
var cardId:String = "", //卡号
var appToken:String = "", //和平台建立长连接请求的Token
var taxiServiceUrl:String = "", //和平台建立长连接请求的taxiServiceUrl
var logServiceUrl:String = "", //上传gps坐标和播放日志的logServiceUrl
var downloadUrl:String = "", //下载广告文件的downloadUrl
var uploadDebugFileUrl:String = "", //上传debug信息的url
var taxiInfo:String = "" //注册时获得该账号的车辆信息
)

View File

@ -38,7 +38,6 @@ public class PositionAdvertise implements Serializable {
private List<TimeSpan> time_span; private List<TimeSpan> time_span;
@Generated(hash = 90801906) @Generated(hash = 90801906)
public PositionAdvertise(Long autoId, String id, int belongTo, int media_type, public PositionAdvertise(Long autoId, String id, int belongTo, int media_type,
String media_url, String task_id, String pathName, String duration) { String media_url, String task_id, String pathName, String duration) {
@ -56,7 +55,6 @@ public class PositionAdvertise implements Serializable {
public PositionAdvertise() { public PositionAdvertise() {
} }
public List<TimeSpan> getTime_span() { public List<TimeSpan> getTime_span() {
return time_span; return time_span;

View File

@ -27,11 +27,13 @@ public class Schedule implements Serializable{
@Id(autoincrement = true) @Id(autoincrement = true)
private Long id; private Long id;
private String advertiseId; private String advertiseId;
//星期几 1-7
private Long start_time; private Long start_time;
private Long end_time; private Long end_time;
//星期几 1-7字符串形式"1,2,3,4,5,6,7" 表示周一至周日
private String weekDayString; private String weekDayString;
//星期几 1-7
@Transient @Transient
private List<Integer> week_day; private List<Integer> week_day;

View File

@ -62,4 +62,6 @@ public class TimeSpan {
public void setDay_end(long day_end) { public void setDay_end(long day_end) {
this.day_end = day_end; this.day_end = day_end;
} }
} }

View File

@ -3,6 +3,7 @@ package cn.trans88.taxiappkotlin.logic.network
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.os.Looper import android.os.Looper
import android.os.RemoteException import android.os.RemoteException
import androidx.constraintlayout.solver.GoalRow
import cn.trans88.kurotool.net.rx.BaseObserver import cn.trans88.kurotool.net.rx.BaseObserver
import cn.trans88.kurotool.net.rx.RxRestClient import cn.trans88.kurotool.net.rx.RxRestClient
import cn.trans88.kurotool.util.ThreadUtil import cn.trans88.kurotool.util.ThreadUtil
@ -43,9 +44,16 @@ import java.util.concurrent.ThreadPoolExecutor
* @author TRS * @author TRS
* @deprecated 处理各种网络请求连接 * @deprecated 处理各种网络请求连接
*/ */
object ConnManger { object ConnManger {
//如果是绑定账号或者转移账号就不对比conn
var isBindOrTransfer = false
//保存到conn的实体类信息
var connectMessage:ConnectMessage = ConnectMessage()
// private val handler =Handler() // private val handler =Handler()
var testToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50X2lkIjoiNWY5ZmE0ZTI1NzIzMDkzZGM5MGMwYTA0IiwiZ3JvdXBfaWQiOiI2MmNmZGUzMzU3MjMwOTQ1NDM3MGFjNjIiLCJ1c2VyX2lkIjoiNjMyN2Q5NmI1NzIzMDkxYmJhZTM2MTkyIn0.6fQ1PsV3FM_C-I7yVd_7VpQIwLLMofF-8bKerpXmq_M" var testToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50X2lkIjoiNWY5ZmE0ZTI1NzIzMDkzZGM5MGMwYTA0IiwiZ3JvdXBfaWQiOiI2MmNmZGUzMzU3MjMwOTQ1NDM3MGFjNjIiLCJ1c2VyX2lkIjoiNjMyN2Q5NmI1NzIzMDkxYmJhZTM2MTkyIn0.6fQ1PsV3FM_C-I7yVd_7VpQIwLLMofF-8bKerpXmq_M"
var defaultToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50X2lkIjoiNWY4OTNiODE1NzIzMDk0YWQzZmM5MTI0IiwiZ3JvdXBfaWQiOiI1Zjg5M2I4MTU3MjMwOTRhZDNmYzkxMjYiLCJ1c2VyX2lkIjoiNWY4OTNiODE1NzIzMDk0YWQzZmM5MTI1In0.o2M6CE2yFi7dvjILb485sQF436eMDdKwzTryK4rw3W0"
@Volatile @Volatile
var isRegisterSuccess = false var isRegisterSuccess = false
@ -67,6 +75,13 @@ object ConnManger {
return@Runnable return@Runnable
} }
//不是绑定或者转移账号就对比一下conn的信息
if (!isBindOrTransfer){
"is not BindOrTransfer count".loge()
val result = contrastConnMessage()
"对比结果,result:$result".loge()
}
YoungUtil.YoungLog("开始注册 TID:${Thread.currentThread().id},当前baseUrl: ${Configurations.config(TaxiApp.instance()).taxiBaseUrl()}") YoungUtil.YoungLog("开始注册 TID:${Thread.currentThread().id},当前baseUrl: ${Configurations.config(TaxiApp.instance()).taxiBaseUrl()}")
val registerRequest = RegisterRequest() val registerRequest = RegisterRequest()
@ -145,11 +160,30 @@ object ConnManger {
//Settings.taxiInfo = toJson //Settings.taxiInfo = toJson
Configurations.config(TaxiApp.instance()).taxiInfoSave(toJson) Configurations.config(TaxiApp.instance()).taxiInfoSave(toJson)
//初始化connectMessage并传给conn
val registerToken = Configurations.config(TaxiApp.instance()).registerToken()
//不是默认账号则存入conn
if (!registerToken.equals(defaultToken)){
"is not defaultToken,save message to conn.".loge()
initConnectMessage()
} else {
//是默认账号看看conn有没保存信息如果有则重新注册一遍
if (connService != null){
if (contrastConnMessageOnce()){
"is default count,registerApp again...".loge()
isRegisterSuccess = false
registerApp()
return
}
}
}
sendLogger() sendLogger()
sendLocation() sendLocation()
WsManager.initWebSocket() WsManager.initWebSocket()
// Settings.toJson() // Settings.toJson()
} }
@ -158,6 +192,10 @@ object ConnManger {
YoungUtil.YoungLog("baseUrl:$baseUrl") YoungUtil.YoungLog("baseUrl:$baseUrl")
isRegisterSuccess = false isRegisterSuccess = false
// val timer = Timer() // val timer = Timer()
//验证conn的信息
if (isBindOrTransfer){
isBindOrTransfer = false
}
DelayTimer.timer({ registerApp() }, 4000) DelayTimer.timer({ registerApp() }, 4000)
} }
}) })
@ -170,6 +208,132 @@ object ConnManger {
// } // }
} }
/**
* 初始化connectMessage并传给conn
*/
private fun initConnectMessage(){
"initConnectMessage()".loge()
val configurations = Configurations.config(TaxiApp.instance())
val accountId = configurations.accountId()
val taxiBaseUrl = configurations.taxiBaseUrl()
val registerToken = configurations.registerToken()
val cardId = if (TaxiApp.isTest){
"y60-a20-40919"
} else {
Xixun.getCardId()
}
val appToken = configurations.appToken()
val taxiServiceUrl = configurations.taxiServiceUrl()
val logServiceUrl = configurations.logServiceUrl()
val downloadUrl = configurations.downloadUrl()
val uploadDebugFileUrl = configurations.upload_debug_file_url()
val taxiInfo = configurations.taxiInfo()
connectMessage = ConnectMessage(
countId = accountId,
taxiBaseUrl = taxiBaseUrl,
registerToken = registerToken,
cardId = cardId,
appToken = appToken,
taxiServiceUrl = taxiServiceUrl,
logServiceUrl = logServiceUrl,
downloadUrl = downloadUrl,
uploadDebugFileUrl = uploadDebugFileUrl,
taxiInfo = taxiInfo
)
connService?.let {
val jsonStr = Gson().toJson(connectMessage)
"connectMessageJsonStr:$jsonStr".loge()
try {
val str = it.setKeyValue("connectMessage",jsonStr)
"conn response:$str".loge()
} catch (e:Exception){
"setKeyValue,e.message:${e.message}".loge()
}
}
}
/**
* 从conn获取连接信息
* @return ConnectMessage
*/
fun getConnectMessageFromConn():ConnectMessage?{
var connectMessage:ConnectMessage? = null
"getConnectMessageFromConn(),conn : $connService".loge()
connService?.let {
try {
val msg = it.getKeyValue("connectMessage")
"responseString$msg".loge()
val connResponse:ConnResponse = Gson().fromJson<ConnResponse>(msg,ConnResponse::class.java)
connectMessage = Gson().fromJson(connResponse.message,ConnectMessage::class.java)
"connectMessage:${connResponse.message.toString()}".loge()
} catch (e:Exception){
"getConnectMessageFromConn,e.message:${e.message}".loge()
}
}
return connectMessage
}
/**
* 对照conn存储的信息,返回true说明对比成功此时conn信息和taxiApp的信息不一致将conn信息存储到taxiApp
* 返回false表示对比失败可能aidl调用失败或者信息一致
*/
fun contrastConnMessage():Boolean{
"contrastConnMessage()".loge()
var result = false
val configurations = Configurations.config(TaxiApp.instance())
val taxiAppRegisterToken = configurations.registerToken()
val taxiAppTaxiBaseUrl = configurations.taxiBaseUrl()
val taxiAppCardId = configurations.taxiBaseUrl()
val connectMessage = getConnectMessageFromConn()
connectMessage?.let {
if (!it.appToken.isNullOrEmpty()){
if (!(taxiAppCardId.equals(it.cardId) && taxiAppTaxiBaseUrl.equals(it.taxiBaseUrl) && taxiAppRegisterToken.equals(it.registerToken))){
"save conn message...cardID:${it.cardId}".loge()
configurations.accountIdSave(it.countId)
configurations.taxiBaseUrlSave(it.taxiBaseUrl)
configurations.registerTokenSave(it.registerToken)
configurations.cardIdSave(it.cardId)
configurations.taxiServiceUrlSave(it.taxiServiceUrl)
configurations.logServiceUrlSave(it.logServiceUrl)
configurations.downloadUrlSave(it.downloadUrl)
configurations.upload_debug_file_urlSave(it.uploadDebugFileUrl)
configurations.taxiInfoSave(it.taxiInfo)
result = true
}
}
}
return result
}
/**
* 对照conn存储的信息,返回true说明对比成功此时conn信息和taxiApp的信息不一致将conn信息存储到taxiApp
* 返回false表示对比失败可能aidl调用失败或者信息一致
*/
fun contrastConnMessageOnce():Boolean{
"contrastConnMessage()".loge()
var result = false
val configurations = Configurations.config(TaxiApp.instance())
val taxiAppRegisterToken = configurations.registerToken()
val taxiAppTaxiBaseUrl = configurations.taxiBaseUrl()
val taxiAppCardId = configurations.taxiBaseUrl()
val connectMessage = getConnectMessageFromConn()
connectMessage?.let {
if (!it.appToken.isNullOrEmpty()){
if (!(taxiAppCardId.equals(it.cardId) && taxiAppTaxiBaseUrl.equals(it.taxiBaseUrl) && taxiAppRegisterToken.equals(it.registerToken))){
"save conn message...cardID:${it.cardId}".loge()
result = true
}
}
}
return result
}
fun setConnService(connService: ConnService?) { fun setConnService(connService: ConnService?) {
YoungUtil.YoungLog("设置connService") YoungUtil.YoungLog("设置connService")
this.connService = connService this.connService = connService
@ -191,7 +355,7 @@ object ConnManger {
.setBody(body) .setBody(body)
.setHeader("Authorization", "Bearer ${Configurations.config(TaxiApp.instance()).registerToken()}") .setHeader("Authorization", "Bearer ${Configurations.config(TaxiApp.instance()).registerToken()}")
.setHeader("Card_ID", Xixun.getCardId()) .setHeader("Card_ID", Xixun.getCardId())
.post(object : BaseObserver<SendTaxiInfoResponse>() { .post(object : BaseObserver < SendTaxiInfoResponse>() {
override fun onGot(sendTaxiInfoResponse: SendTaxiInfoResponse) { override fun onGot(sendTaxiInfoResponse: SendTaxiInfoResponse) {
DelayTimer.cancel { sendTaxiInfo(taxiInfo) } DelayTimer.cancel { sendTaxiInfo(taxiInfo) }
} }
@ -353,51 +517,50 @@ object ConnManger {
} }
//edit by yzd @20211201 //edit by yzd @20211201
//if (Settings.loggerSwitch) { //if (Settings.loggerSwitch) {
if (Configurations.config(TaxiApp.instance()).loggerSwitch()) { ThreadUtil.executeBySingleThread(Runnable {
ThreadUtil.executeBySingleThread(Runnable { val okHttpClient = OkHttpClient()
val okHttpClient = OkHttpClient() YoungUtil.YoungLog("准备获取播放的总次数")
YoungUtil.YoungLog("准备获取播放的总次数") val request: Request = Request.Builder()
val request: Request = Request.Builder()
// .url("http://avhipxml.beesnat.com/v1/cms/groupAd/${advertise.ad_id}/AdCount") //要访问的链接 // .url("http://avhipxml.beesnat.com/v1/cms/groupAd/${advertise.ad_id}/AdCount") //要访问的链接
.url("${baseUrl}/v1/cms/groupAd/${advertise.ad_id}/AdCount") //要访问的链接 .url("${baseUrl}/v1/cms/groupAd/${advertise.ad_id}/AdCount") //要访问的链接
.addHeader("Authorization", "Bearer ${Configurations.config(TaxiApp.instance()).registerToken()}") .addHeader("Authorization", "Bearer ${Configurations.config(TaxiApp.instance()).registerToken()}")
.build() .build()
val call = okHttpClient.newCall(request) val call = okHttpClient.newCall(request)
call.enqueue(object : Callback { call.enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) { override fun onFailure(call: Call, e: IOException) {
YoungUtil.YoungLog("访问AdCount失败${e.message}") YoungUtil.YoungLog("访问AdCount失败${e.message}")
} }
override fun onResponse(call: Call, response: Response) { override fun onResponse(call: Call, response: Response) {
YoungUtil.YoungLog("访问AdCount成功${response.message},response isSuccessful ${response.isSuccessful}${response.code}") YoungUtil.YoungLog("访问AdCount成功${response.message},response isSuccessful ${response.isSuccessful}${response.code}")
// "taxiServiceUrl:${Configurations.config(TaxiApp.instance()).taxiServiceUrl()}".loge() // "taxiServiceUrl:${Configurations.config(TaxiApp.instance()).taxiServiceUrl()}".loge()
// "logServiceUrl:${Configurations.config(TaxiApp.instance()).logServiceUrl()}".loge() // "logServiceUrl:${Configurations.config(TaxiApp.instance()).logServiceUrl()}".loge()
val countStr = response.body?.string() val countStr = response.body?.string()
if (response.code == 200){ if (response.code == 200){
val realCount = countStr?.toInt() val realCount = countStr?.toInt()
"responseBody.string:${realCount.toString()}".loge() "responseBody.string:${realCount.toString()}".loge()
if (advertise.play_numbers < realCount!!){ if (advertise.play_numbers < realCount!!){
if (advertise.play_numbers != -1 ){ if (advertise.play_numbers != -1 ){
advertise.play_numbers = -1 advertise.play_numbers = -1
DaoUtil.updatePlayNumbers(advertise) DaoUtil.updatePlayNumbers(advertise)
} }
try {
RefreshPlayer.refresh()
} catch (e: InterruptedException) {
e.printStackTrace()
}
try {
RefreshPlayer.refresh()
} catch (e: InterruptedException) {
e.printStackTrace()
} }
"广告[${advertise.ad_id}]已请求次数【${realCount}】,总播放次数:${advertise.play_numbers}".loge()
if(advertise.play_numbers != -1){ }
val activity = taxiApp.activity as PlayActivity "广告[${advertise.ad_id}]已请求次数【${realCount}】,总播放次数:${advertise.play_numbers}".loge()
activity.getViewModel().saveCountAdLog(advertise) if(advertise.play_numbers != -1){
} val activity = taxiApp.activity as PlayActivity
activity.getViewModel().saveCountAdLog(advertise)
} }
} }
}) }
}) })
} })
} }
/** /**
@ -563,6 +726,8 @@ object ConnManger {
Configurations.config(TaxiApp.instance()).taxiBaseUrlSave(bindModel.server); Configurations.config(TaxiApp.instance()).taxiBaseUrlSave(bindModel.server);
setConnServiceUrl(bindModel.server) setConnServiceUrl(bindModel.server)
} }
//不验证conn的信息
isBindOrTransfer = true
reconnect(1003,"切换账户关闭连接") reconnect(1003,"切换账户关闭连接")
@ -614,6 +779,8 @@ object ConnManger {
resetAccountCleanDao() resetAccountCleanDao()
//Settings.registerToken = token //Settings.registerToken = token
Configurations.config(TaxiApp.instance()).registerTokenSave(token) Configurations.config(TaxiApp.instance()).registerTokenSave(token)
//不验证conn的信息
isBindOrTransfer = true
reconnect(1003,"切换账户关闭连接") reconnect(1003,"切换账户关闭连接")
YoungUtil.YoungLog("用户不同,账号重新绑定 切换账户") YoungUtil.YoungLog("用户不同,账号重新绑定 切换账户")
} }
@ -688,41 +855,9 @@ object ConnManger {
*/ */
private fun resetAccountSendLogger() { private fun resetAccountSendLogger() {
DaoUtil.getPlayLoggerDao().deleteAll() DaoUtil.getPlayLoggerDao().deleteAll()
// YoungUtil.YoungLog("resetAccountSendLogger in MainThread is ${Looper.getMainLooper().thread === Thread.currentThread()}")
// val playLoggers = DaoUtil.getPlayLoggers()
// if (playLoggers.isNotEmpty()) {
// val okHttpClient = OkHttpClient()
//// YoungUtil.YoungLog("准备上传日志,上传地址:${SaveSimpleData.getLogServiceUrl()}")
// YoungUtil.YoungLog("重置账号准备上传日志,上传地址:${Settings.logServiceUrl}")
// val requestJson = ProcessingCommands.gson.toJson(playLoggers)
// val parse = ("application/json;charset=UTF-8").toMediaTypeOrNull()
// val body = RequestBody.create(parse, requestJson)
// YoungUtil.YoungLog("resetAccountSendLogger:${requestJson}")
// val request: Request = Request.Builder()
//// .url(SaveSimpleData.getLogServiceUrl()+"postPlayerLog") //要访问的链接
// .url(Settings.logServiceUrl + "postPlayerLog") //要访问的链接
//// .addHeader("Authorization","Bearer ${SaveSimpleData.getAppToken()}")
// .addHeader("Authorization", "Bearer ${Settings.appToken}")
// .post(body)
// .build()
// val call = okHttpClient.newCall(request)
// call.enqueue(object : Callback {
// override fun onFailure(call: Call, e: IOException) {
// YoungUtil.YoungLog("上传日志失败:${e.message}")
// }
//
// override fun onResponse(call: Call, response: Response) {
// YoungUtil.YoungLog("重置账号上传日志成功:${response.message},response isSussceful ${response.isSuccessful}${response.code}")
// if (response.code == 200) {
// DaoUtil.getPlayLoggerDao().deleteAll()
// }
// }
//
// })
// }
} }
fun reconnect(code:Int,msg:String) { fun reconnect(code:Int,msg:String) {
WsManager.stopConnect(code,msg) WsManager.stopConnect(code,msg)
isRegisterSuccess = false isRegisterSuccess = false
//Settings.isFirstRegister = true //Settings.isFirstRegister = true

View File

@ -27,8 +27,10 @@ import java.io.*
import java.util.* import java.util.*
object ProcessingCommands { object ProcessingCommands {
val gson = Gson() val gson = Gson()
var beatTimer:Timer? = null var beatTimer:Timer? = null
/** /**
* 三乐平台的命令 * 三乐平台的命令
*/ */
@ -162,7 +164,7 @@ object ProcessingCommands {
ConnManger.sendLogger() ConnManger.sendLogger()
} }
baseResponse.type =type baseResponse.type = type
val response = gson.toJson(baseResponse) val response = gson.toJson(baseResponse)
send(response) send(response)
} }
@ -185,10 +187,12 @@ object ProcessingCommands {
beatTimer!!.schedule(object :TimerTask(){ beatTimer!!.schedule(object :TimerTask(){
override fun run() { override fun run() {
YoungUtil.YoungLog("长时间没新的心跳应答,断开连接重试重新连接") YoungUtil.YoungLog("长时间没新的心跳应答,断开连接重试重新连接")
//验证conn的信息
ConnManger.isBindOrTransfer = false
reconnect(1004, "长时间未收到心跳断开连接") reconnect(1004, "长时间未收到心跳断开连接")
} }
},5*60*1000) },4*60*1000)
} }
/** /**
@ -294,18 +298,23 @@ object ProcessingCommands {
*/ */
private fun setBusInfo(task: String, type: String) { private fun setBusInfo(task: String, type: String) {
val busInfo = gson.fromJson<BusInfo>(task) val busInfo = gson.fromJson<BusInfo>(task)
//#edit by ljh @2023/3/28
when (busInfo.background_type) { //如果传的media_id为空则取消屏幕的自定义显示
"route" -> downloadBusInfo(busInfo.media_id, "busLicence", HAOSHENG) if (busInfo.media_id.isNullOrEmpty()){
"brake" -> downloadBusInfo(busInfo.media_id, "turnStop", HAOSHENG) taxiApp.activity?.cancelCustomView()
"turn_left" -> downloadBusInfo(busInfo.media_id, "turnLeft", HAOSHENG) } else {
"turn_right" -> downloadBusInfo(busInfo.media_id, "turnRight", HAOSHENG) when (busInfo.background_type) {
"vacant" -> downloadBusInfo(busInfo.media_id, "vacant", MAIDIER) "route" -> downloadBusInfo(busInfo.media_id, "busLicence", HAOSHENG)
"hired" -> downloadBusInfo(busInfo.media_id, "hired", MAIDIER) "brake" -> downloadBusInfo(busInfo.media_id, "turnStop", HAOSHENG)
"no_service" -> downloadBusInfo(busInfo.media_id, "no_service", MAIDIER) "turn_left" -> downloadBusInfo(busInfo.media_id, "turnLeft", HAOSHENG)
"booked" -> downloadBusInfo(busInfo.media_id, "booked", MAIDIER) "turn_right" -> downloadBusInfo(busInfo.media_id, "turnRight", HAOSHENG)
"logo" ->downloadBusInfo(busInfo.media_id, "logo", XIXUN) "vacant" -> downloadBusInfo(busInfo.media_id, "vacant", MAIDIER)
else -> YoungUtil.YoungLog("设置车辆信息 未知type") "hired" -> downloadBusInfo(busInfo.media_id, "hired", MAIDIER)
"no_service" -> downloadBusInfo(busInfo.media_id, "no_service", MAIDIER)
"booked" -> downloadBusInfo(busInfo.media_id, "booked", MAIDIER)
"logo" ->downloadBusInfo(busInfo.media_id, "logo", XIXUN)
else -> YoungUtil.YoungLog("设置车辆信息 未知type")
}
} }
val sanleResponse = SanleResponse() val sanleResponse = SanleResponse()
@ -498,6 +507,11 @@ object ProcessingCommands {
DaoUtil.getTimeSpan().insert(it) DaoUtil.getTimeSpan().insert(it)
} }
//#edit by ljh 测试定点
// val advertise = Repository.taxiApp.activity!!.getViewModel().setAdvertiseByPosition(positionAdvertise, "region.id", 5.2, 5.2)
// DaoUtil.getAdvertise().insert(advertise)
// RefreshPlayer.refresh()
downloadFile(positionAdvertise.media_url, positionAdvertise.pathName, positionAdvertise.task_id) downloadFile(positionAdvertise.media_url, positionAdvertise.pathName, positionAdvertise.task_id)
val regions = positionAdvertise.regions val regions = positionAdvertise.regions
@ -704,7 +718,6 @@ object ProcessingCommands {
for (item in sanleAdvertises) { for (item in sanleAdvertises) {
if (sanleAdvertise.task_id == item.task_id) { if (sanleAdvertise.task_id == item.task_id) {
insert = false insert = false
// val updateSanleAdvertise = updateSanleAdvertise(item, sanleAdvertise) // val updateSanleAdvertise = updateSanleAdvertise(item, sanleAdvertise)
// downloadFile(updateSanleAdvertise.media_url,updateSanleAdvertise.pathName) // downloadFile(updateSanleAdvertise.media_url,updateSanleAdvertise.pathName)
sanleAdvertiseToAdvertise(sanleAdvertise) sanleAdvertiseToAdvertise(sanleAdvertise)

View File

@ -24,8 +24,10 @@ object WsManager {
private var okHttpClient: OkHttpClient? = null private var okHttpClient: OkHttpClient? = null
private var mRequest: Request? = null private var mRequest: Request? = null
private const val reconnectTime: Long = 10 * 1000 // private const val reconnectTime: Long = 10 * 1000
private const val heartbeatTime: Long = 30 * 1000 private const val reconnectTime: Long = 30 * 1000
private const val heartbeatTime: Long = 120 * 1000
// private const val heartbeatTime: Long = 30 * 1000
private const val sendCurrentAdvertiseTime: Long = 10 *60 * 1000 private const val sendCurrentAdvertiseTime: Long = 10 *60 * 1000
private val heartbeatContext: String = "beat" private val heartbeatContext: String = "beat"

View File

@ -21,6 +21,7 @@ import cn.trans88.taxiappkotlin.R.string
import cn.trans88.taxiappkotlin.TaxiApp import cn.trans88.taxiappkotlin.TaxiApp
import cn.trans88.taxiappkotlin.TaxiApp.Companion.HAOSHENG import cn.trans88.taxiappkotlin.TaxiApp.Companion.HAOSHENG
import cn.trans88.taxiappkotlin.TaxiApp.Companion.MAIDIER import cn.trans88.taxiappkotlin.TaxiApp.Companion.MAIDIER
import cn.trans88.taxiappkotlin.ext.loge
import cn.trans88.taxiappkotlin.jetpack.PlayViewModelFactory import cn.trans88.taxiappkotlin.jetpack.PlayViewModelFactory
import cn.trans88.taxiappkotlin.logic.Repository import cn.trans88.taxiappkotlin.logic.Repository
import cn.trans88.taxiappkotlin.logic.Repository.powerOnAdvertise import cn.trans88.taxiappkotlin.logic.Repository.powerOnAdvertise
@ -82,6 +83,8 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
if (VERSION.SDK_INT >= VERSION_CODES.P) { if (VERSION.SDK_INT >= VERSION_CODES.P) {
setFlagHide() setFlagHide()
} }
//测试
Advertise().toString().loge()
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
//读取保留的配置文件 //读取保留的配置文件
@ -117,13 +120,7 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
//通过ViewModelProvider拿到viewModel实例 viewModel的生命周期要长于activity //通过ViewModelProvider拿到viewModel实例 viewModel的生命周期要长于activity
playViewModel = ViewModelProvider(this, PlayViewModelFactory(lifecycle, fl_play, img_bus_top)).get(PlayViewModel::class.java) playViewModel = ViewModelProvider(this, PlayViewModelFactory(lifecycle, fl_play, img_bus_top)).get(PlayViewModel::class.java)
// playViewModel.advertiseLiveData.observeForever {
// YoungUtil.YoungLog("更新播放广告:")
// if (it.isFailure){
// YoungUtil.YoungLog("更新播放广告出错:${it.exceptionOrNull()?.message}")
// }
// playViewModel.playAdvertise(it.getOrNull())
// }
playViewModel.playLogo() playViewModel.playLogo()
//通过lifecycle监听activity的生命周期 //通过lifecycle监听activity的生命周期
@ -167,6 +164,9 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
YoungUtil.YoungLog("bindService onServiceConnected") YoungUtil.YoungLog("bindService onServiceConnected")
connService = ConnService.Stub.asInterface(service) connService = ConnService.Stub.asInterface(service)
ConnManger.setConnService(connService) ConnManger.setConnService(connService)
//对照conn之前的绑定信息
// val result = ConnManger.contrastConnMessage()
// "对比结果,result:$result".loge()
} }
}, Context.BIND_AUTO_CREATE) }, Context.BIND_AUTO_CREATE)
@ -230,38 +230,6 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
// playViewModel.playAdvertise(advertise,createView!!) // playViewModel.playAdvertise(advertise,createView!!)
} }
/**
* 读取之前保留在sdcard中的配置
*/
/*
private fun readConfiguration() {
val file = File(Environment.getExternalStorageDirectory(), "/taxiConfig/taxiconfig.txt")
if (file.exists()) {
val readText = file.readText()
YoungUtil.YoungLog("read序列化内容$readText")
val settingMod = Gson().fromJson<SettingMod>(readText)
Settings.registerToken = settingMod.registerToken
Settings.appToken = settingMod.appToken
Settings.company = settingMod.company
Settings.sync = settingMod.sync
Settings.logServiceUrl = settingMod.logServiceUrl
Settings.connServiceUrl = settingMod.connServiceUrl
Settings.screenSizeX = settingMod.screenSizeX
Settings.screenSizeY = settingMod.screenSizeY
Settings.taxiInfo = settingMod.taxiInfo
Settings.cardId = settingMod.cardId
Settings.taxiServiceUrl = settingMod.taxiServiceUrl
Settings.downloadUrl = settingMod.downloadUrl
Settings.accountId = settingMod.accountId
Settings.taxiBaseUrl = settingMod.taxiBaseUrl
Settings.isDeleteOldAdvitise = settingMod.isDeleteOldAdvitise
Settings.isFirstRegister = settingMod.isFirstRegister
Settings.enableWriteLog = settingMod.enableWriteLog
Settings.advertiseOrder = settingMod.advertiseOrder
}
}*/
//使用Handler要用静态内部类加弱引用持有外部实例否则会出现内存泄露 //使用Handler要用静态内部类加弱引用持有外部实例否则会出现内存泄露
@Deprecated("无用的Handler,之前版本用来播放") @Deprecated("无用的Handler,之前版本用来播放")
class MyHandler(activity: PlayActivity) : Handler() { class MyHandler(activity: PlayActivity) : Handler() {
@ -332,6 +300,14 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
} }
/**
* 取消自定义显示路线左转右转等..
*/
fun cancelCustomView(){
ll_bus.visibility = View.GONE
img_other_screen.visibility = View.GONE
}
/** /**
* 注册广播 * 注册广播
*/ */
@ -384,44 +360,12 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
//初始化屏幕尺寸 //初始化屏幕尺寸
initListenerOnScreenSize() initListenerOnScreenSize()
//edit by yzd 魔改============================
/*
class MyTimerTask(val t:Timer) : TimerTask() {
override fun run() {
if(TaxiApp.isStart) {
t.cancel()
t.purge()
YoungUtil.YoungLog("finish timer to power on ====================================")
return
}else{
YoungUtil.YoungLog("timer to power on")
powerOnAdvertise(playViewModel)
}
}
}
val timer = Timer()
var tt = MyTimerTask(timer)
timer.schedule(tt, 100, 1000)
*/
//============================================
Repository.initLastThread(playViewModel) Repository.initLastThread(playViewModel)
Repository.initRefreshPlayerList() Repository.initRefreshPlayerList()
YoungUtil.YoungLog("开机初始化广告") YoungUtil.YoungLog("开机初始化广告")
//开机不管同步不同步直接先放 //开机不管同步不同步直接先放
powerOnAdvertise(playViewModel) powerOnAdvertise(playViewModel)
timeRefreshAdvertise() timeRefreshAdvertise()
// if (Settings.company == CompanyType.SANLE.name) {
// if (NetUtil.getNetWorkState(this) == NetworkType.NETWORK_NONE) {
// onLost()
// } else {
// YoungUtil.YoungLog("初始化广告 网络正常")
// RefreshPlayer.refresh()
// }
// } else {
// RefreshPlayer.refresh()
// }
}) })
} }
@ -677,27 +621,4 @@ class PlayActivity : AppCompatActivity(), NetworkCallback, BusCallback, OnScreen
fun isMainThread(): Boolean { fun isMainThread(): Boolean {
return Looper.getMainLooper().thread === Thread.currentThread() return Looper.getMainLooper().thread === Thread.currentThread()
} }
private fun testBindOtherService() {
// val intent1 = Intent()
// intent1.setPackage("com.trs88.asproj.alotservice")
// intent1.action = "aliyunIOT.IoTLinkService"
// val aliyunbind =bindService(intent1,object :ServiceConnection{
// override fun onServiceDisconnected(name: ComponentName?) {
// YoungUtil.YoungLog("阿里云连接失败")
// }
//
// override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
// YoungUtil.YoungLog("阿里云连接成功")
// val asInterface = IAlotServicr.Stub.asInterface(service)
// val alotInfo ="{\"deviceName\":\"y60-221-40641\",\"deviceSecret\":\"8bf1d4aa8936217e79b6fdb670a3fecb\",\"productKey\":\"a15TWA8OETM\"}"
// asInterface.setAlotInfo(alotInfo)
//
// }
//
// }, Context.BIND_AUTO_CREATE)
//
//
// YoungUtil.YoungLog("alotService 是否成功:$aliyunbind")
}
} }

View File

@ -5,6 +5,7 @@ import android.graphics.Bitmap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.graphics.BitmapFactory.Options import android.graphics.BitmapFactory.Options
import android.graphics.Matrix import android.graphics.Matrix
import android.media.MediaPlayer
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Looper import android.os.Looper
@ -142,10 +143,36 @@ fun View.createView(context: Context, advertise: Advertise, seek: Int): View? {
mediaPlayer.isLooping = false mediaPlayer.isLooping = false
YoungUtil.YoungLog("视频准备完成,当前线程${Looper.getMainLooper().thread === Thread.currentThread()}") YoungUtil.YoungLog("视频准备完成,当前线程${Looper.getMainLooper().thread === Thread.currentThread()}")
YoungUtil.YoungLog("视频的播放时长${jVideoView.duration}") YoungUtil.YoungLog("视频的播放时长${jVideoView.duration}")
mediaPlayer.start() try {
mediaPlayer.start()
} catch (e:Exception){
"播放异常:${e.printStackTrace()}".loge()
if (mediaPlayer.isLooping){
mediaPlayer.stop()
}
mediaPlayer.reset()
jVideoView.videoPath = advertise.pathName
mediaPlayer.prepare()
mediaPlayer.start()
}
} }
jVideoView.setOnErrorListener { _, _, _ -> true } jVideoView.setOnErrorListener { mp, what, ext ->
val whatMsg = when(what){
MediaPlayer.MEDIA_ERROR_UNKNOWN -> "UNKNOWN_error"
else -> "SERVER_DIED"
}
val extraMsg = when(ext){
MediaPlayer.MEDIA_ERROR_IO -> {
"IO_Error"
}
MediaPlayer.MEDIA_ERROR_MALFORMED -> "ERROR_MALFORMED"
MediaPlayer.MEDIA_ERROR_UNSUPPORTED -> "ERROR_UNSUPPORTED"
else -> "ERROR_TIMED_OUT"
}
"extraMsg:$extraMsg,whatMsg:$whatMsg".loge()
true
}
YoungUtil.YoungLog("初始化视频控件耗时:${currentTimeMillis - System.currentTimeMillis()}") YoungUtil.YoungLog("初始化视频控件耗时:${currentTimeMillis - System.currentTimeMillis()}")
video = jVideoView video = jVideoView

View File

@ -93,7 +93,7 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
private val nextCheck: Runnable = Runnable { private val nextCheck: Runnable = Runnable {
YoungUtil.YoungLog("进入nextCheck") YoungUtil.YoungLog("进入nextCheck")
synchronized(this) { synchronized(this) {
if (null == curLogger) { if (null == curLogger && curAdvertise == null) {
YoungUtil.YoungLog("nextCheck curLogger等于空") YoungUtil.YoungLog("nextCheck curLogger等于空")
updatePlayerUI(AdvertiseType.IDLE, PlayerStatus.START) updatePlayerUI(AdvertiseType.IDLE, PlayerStatus.START)
return@Runnable return@Runnable
@ -318,7 +318,6 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
/** /**
* 调这个方法就会从仓库中拿advertise播放 * 调这个方法就会从仓库中拿advertise播放
*/ */
@Synchronized
fun refreshAdvertise() { fun refreshAdvertise() {
YoungUtil.YoungLog("刷新播放界面,开始播放 ") YoungUtil.YoungLog("刷新播放界面,开始播放 ")
var advertise = Repository.getAdvertiseTEST() var advertise = Repository.getAdvertiseTEST()
@ -350,9 +349,8 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
return return
} }
// saveCountAdLog(advertise) // saveCountAdLog(advertise)
"当前播放的广告:${Repository.getTestPlayCircularList().toString()}".loge()
} }
// "当前播放的广告:${Repository.getTestPlayCircularList().toString()}".loge() "当前播放的广告:${Repository.getTestPlayCircularList().toString()}".loge()
playLiveData.postValue(advertise) playLiveData.postValue(advertise)
} }
@ -521,33 +519,6 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
} }
private fun addChildView(view: View?, advertise: Advertise) { private fun addChildView(view: View?, advertise: Advertise) {
// ThreadUtil.executeByPool(object :Runnable{
// override fun run() {
//新添加的view执行的动画
//val addAnim = loadAnimation(R.anim.add_view_anim)
// addAnim?.setAnimationListener(object : Animation.AnimationListener {
// override fun onAnimationRepeat(animation: Animation?) {
//
// }
//
// override fun onAnimationEnd(animation: Animation?) {
// fl_play.post {
// YoungUtil.YoungLog("添加View动画结束")
//
// if(fl_play.childCount > 1) {
// YoungUtil.YoungLog("删除View")
// fl_play.removeViewAt(0)
// YoungUtil.YoungLog("删除后FrameLayout有多少子视图${fl_play.childCount}")
// }
// }
// }
//
// override fun onAnimationStart(animation: Animation?) {
// YoungUtil.YoungLog("添加View动画开始")
// }
//
// })
if (view != null) { if (view != null) {
view.tag = advertise.ad_id view.tag = advertise.ad_id
YoungUtil.YoungLog("添加View") YoungUtil.YoungLog("添加View")
@ -688,7 +659,7 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
} }
handler.removeCallbacks(nextCheck) handler.removeCallbacks(nextCheck)
curAdvertise = null curAdvertise = null
// curLogger = null curLogger = null
// nextAdvertise =null // nextAdvertise =null
YoungUtil.YoungLog("停止播放") YoungUtil.YoungLog("停止播放")
} }
@ -1020,7 +991,7 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
/** /**
* 将PositionAdvertise转化成Advertise * 将PositionAdvertise转化成Advertise
*/ */
private fun setAdvertiseByPosition( fun setAdvertiseByPosition(
positionAdvertise: PositionAdvertise, positionAdvertise: PositionAdvertise,
regionId: String, regionId: String,
longitude: Double, longitude: Double,
@ -1040,6 +1011,9 @@ class PlayViewModel(val lifecycle: Lifecycle, private val fl_play: FrameLayout,
this.latitude = latitude this.latitude = latitude
} }
YoungUtil.YoungLog("setAdvertiseByPosition adid${advertise.ad_id}") YoungUtil.YoungLog("setAdvertiseByPosition adid${advertise.ad_id}")
advertise.toString().loge()
return advertise return advertise
} }

View File

@ -1,6 +1,7 @@
package cn.trans88.taxiappkotlin.ui.play package cn.trans88.taxiappkotlin.ui.play
import cn.trans88.kurotool.util.TimeUtil import cn.trans88.kurotool.util.TimeUtil
import cn.trans88.taxiappkotlin.ext.loge
import cn.trans88.taxiappkotlin.logic.dao.AdvertiseDao import cn.trans88.taxiappkotlin.logic.dao.AdvertiseDao
import cn.trans88.taxiappkotlin.logic.dao.AdvertiseDao.Properties import cn.trans88.taxiappkotlin.logic.dao.AdvertiseDao.Properties
import cn.trans88.taxiappkotlin.logic.dao.DaoUtil import cn.trans88.taxiappkotlin.logic.dao.DaoUtil
@ -76,7 +77,7 @@ fun Advertise.isReady(): Boolean {
//如果广告已经过期 //如果广告已经过期
if (isOverdue()){ if (isOverdue()){
YoungUtil.YoungLog("广告已经过期返回false") YoungUtil.YoungLog("广告已经过期返回false")
ready =false ready = false
} }
} }
} }
@ -93,12 +94,12 @@ fun Advertise.isAllowPlay(): Boolean {
} }
if (isReady()) { if (isReady()) {
if (!isPlayNow()) { // if (!isPlayNow()) {
//YoungUtil.YoungLog("存在不允许播放的广告 播放时间不满足:${this.toString()}") // //YoungUtil.YoungLog("存在不允许播放的广告 播放时间不满足:${this.toString()}")
return false // return false
}else{ // }else{
//YoungUtil.YoungLog("播放时间满足:${this.toString()}") // //YoungUtil.YoungLog("播放时间满足:${this.toString()}")
} // }
return true return true
} else { } else {
// send("服务器日志 ${Xixun.getCardId()} 有不允许播放的广告: ${this.ad_id}") // send("服务器日志 ${Xixun.getCardId()} 有不允许播放的广告: ${this.ad_id}")
@ -138,7 +139,7 @@ fun Advertise.isPlayNow(): Boolean {
var isPlay = false var isPlay = false
var timeList:List<TimeSpan>? = null var timeList:List<TimeSpan>? = null
timeList = DaoUtil.getTimeSpan().queryBuilder().where(TimeSpanDao.Properties.AdvertiseId.eq(this.ad_id)).list() timeList = DaoUtil.getTimeSpan().queryBuilder().where(TimeSpanDao.Properties.AdvertiseId.eq(this.ad_id)).limit(10).list()
timeList?.forEach { timeList?.forEach {
val curTime = System.currentTimeMillis() val curTime = System.currentTimeMillis()
@ -197,7 +198,7 @@ fun Advertise.isPlayNow(): Boolean {
} }
fun Advertise.isOverdue():Boolean{ fun Advertise.isOverdue():Boolean{
val timeList = DaoUtil.getTimeSpan().queryBuilder().where(TimeSpanDao.Properties.AdvertiseId.eq(this.ad_id)).list() val timeList = DaoUtil.getTimeSpan().queryBuilder().where(TimeSpanDao.Properties.AdvertiseId.eq(this.ad_id)).limit(10).list()
timeList?.forEach { timeList?.forEach {
val curTime = System.currentTimeMillis() val curTime = System.currentTimeMillis()
@ -223,7 +224,6 @@ fun Advertise.isOverdue():Boolean{
if (endTime <= 0) { if (endTime <= 0) {
endTime = Long.MAX_VALUE endTime = Long.MAX_VALUE
} }
//如果时间已经大于结束时间了,直接将广告删除 //如果时间已经大于结束时间了,直接将广告删除
if (curTime>endTime){ if (curTime>endTime){
DaoUtil.deleteAdvertise(this) DaoUtil.deleteAdvertise(this)

View File

@ -0,0 +1,33 @@
package com.xixun.contract.model
import android.os.Parcel
import android.os.Parcelable
/**
*
* @Author LJH
* @Time 2023/4/12
* @description
*/
class TaskToKeepScreenOn() :Parcelable {
constructor(parcel: Parcel) : this() {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
}
override fun describeContents(): Int {
return 0
}
companion object CREATOR : Parcelable.Creator<TaskToKeepScreenOn> {
override fun createFromParcel(parcel: Parcel): TaskToKeepScreenOn {
return TaskToKeepScreenOn(parcel)
}
override fun newArray(size: Int): Array<TaskToKeepScreenOn?> {
return arrayOfNulls(size)
}
}
}

View File

@ -0,0 +1,33 @@
package com.xixun.xy.conn.aidl
import android.os.Parcel
import android.os.Parcelable
/**
*
* @Author LJH
* @Time 2023/4/12
* @description
*/
class FpgaInfo() :Parcelable {
constructor(parcel: Parcel) : this() {
}
override fun describeContents(): Int {
return 0
}
override fun writeToParcel(dest: Parcel?, flags: Int) {
}
companion object CREATOR : Parcelable.Creator<FpgaInfo> {
override fun createFromParcel(parcel: Parcel): FpgaInfo {
return FpgaInfo(parcel)
}
override fun newArray(size: Int): Array<FpgaInfo?> {
return arrayOfNulls(size)
}
}
}

Binary file not shown.

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":173,"versionName":"3.3.3-26debug","enabled":true,"outputFile":"TaxiApp_v3.3.3-26debug{173}.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"TaxiApp_v3.3.3-26debug{173}.apk","properties":{}}] [{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":175,"versionName":"3.3.3-beta26.3.6-debug","enabled":true,"outputFile":"TaxiApp_v3.3.3-beta26.3.6-debug{175}.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"TaxiApp_v3.3.3-beta26.3.6-debug{175}.apk","properties":{}}]

Binary file not shown.

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":173,"versionName":"3.3.3-beta26-release","enabled":true,"outputFile":"TaxiApp_v3.3.3-beta26-release{173}.apk","fullName":"release","baseName":"release","dirName":""},"path":"TaxiApp_v3.3.3-beta26-release{173}.apk","properties":{}}] [{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":176,"versionName":"3.3.3-beta26.3-release","enabled":true,"outputFile":"TaxiApp_v3.3.3-beta26.3-release{176}.apk","fullName":"release","baseName":"release","dirName":""},"path":"TaxiApp_v3.3.3-beta26.3-release{176}.apk","properties":{}}]