diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index a8b0d1d..12fdb00 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,23 @@ google-services.json # Android Profiling *.hprof +/YFDXJ/.gradle +/YFDXJ/.gradle/* +/YFDXJ/.idea +/YFDXJ/.idea/* +/YFDXJ/app/build +/YFDXJ/app/build/* +/YFDXJ/app/.gradle +/YFDXJ/app/.gradle/* + +YFDXJ/.gradle +YFDXJ/.gradle/* +YFDXJ/.idea +YFDXJ/.idea/* +YFDXJ/app/build +YFDXJ/app/build/* +YFDXJ/app/.gradle +YFDXJ/app/.gradle/* + + diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/SDK/MT480&6000[SDK&demo](3).zip b/SDK/MT480&6000[SDK&demo](3).zip old mode 100644 new mode 100755 diff --git a/SDK/MT480&6000[SDK&demo].zip b/SDK/MT480&6000[SDK&demo].zip old mode 100644 new mode 100755 diff --git a/YFDXJ/app/.gitignore b/YFDXJ/app/.gitignore old mode 100644 new mode 100755 diff --git a/YFDXJ/app/build.gradle b/YFDXJ/app/build.gradle old mode 100644 new mode 100755 index 1caf6f1..1365af7 --- a/YFDXJ/app/build.gradle +++ b/YFDXJ/app/build.gradle @@ -1,23 +1,26 @@ plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) } android { namespace 'com.bjzc.yfdxj' - compileSdk 34 + compileSdk 36 defaultConfig { applicationId "com.bjzc.yfdxj" minSdk 24 - targetSdk 34 - versionCode 19 - versionName "1.1.8" + targetSdk 36 + versionCode 20 + versionName "1.1.9" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" //每个应用拥有不同的authorities,防止相同的在同一个手机上无法同时安装 resValue "string", "authorities", applicationId resourceConfigurations += ['zh', 'en', 'hdpi'] } + buildFeatures { + viewBinding = true + } signingConfigs { release { keyAlias 'key0' @@ -45,75 +48,81 @@ android { signingConfig signingConfigs.release // 打包签名信息 } } - sourceSets { - main { - jniLibs.srcDirs = ['libs'] - } - } + compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 + sourceCompatibility JavaVersion.VERSION_21 + targetCompatibility JavaVersion.VERSION_21 } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' -// implementation 'com.zhy:autolayout:1.4.5' -// implementation 'com.yolanda.nohttp:nohttp:1.0.5' -// implementation 'com.zhihu.android:matisse:0.5.3-beta3' -// implementation 'org.litepal.android:core:1.5.1' -// //图片压缩 -// implementation 'top.zibin:Luban:1.1.8' -// implementation 'id.zelory:compressor:1.0.3' + implementation libs.androidx.core.ktx + implementation libs.androidx.appcompat + implementation libs.material + implementation libs.androidx.activity + implementation libs.androidx.constraintlayout + testImplementation libs.junit + androidTestImplementation libs.androidx.junit + androidTestImplementation libs.androidx.espresso.core - //第三方库自动布局 - implementation project(':autolayout') //网络请求模块 implementation project(':nohttp') + //第三方库自动布局 + implementation project(':autolayout') //第三方数据库封装,巡检,点检用到 implementation project(':litepal') //图片展示模块 implementation project(':matisse') - //图片展示模块 - implementation project(':luban') + implementation libs.logging.interceptor + implementation libs.retrofit + implementation libs.com.squareup.retrofit2.converter.gson5 - implementation 'com.google.android.material:material:1.2.1' - implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' - implementation 'com.squareup.retrofit2:retrofit:2.9.0' - implementation 'com.squareup.retrofit2:converter-gson:2.9.0' + implementation libs.smarttable + implementation libs.androidx.multidex + implementation libs.androidx.recyclerview + implementation libs.circleimageview + //implementation libs.picture.library + implementation libs.photoviewer + implementation libs.appupdate + implementation libs.crashreport + implementation libs.xui +// implementation files('libs/rinsunMT.jar') + implementation libs.eventbus - implementation 'com.github.huangyanbin:SmartTable:2.2.0' - implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.recyclerview:recyclerview:1.1.0' - implementation 'de.hdodenhof:circleimageview:3.1.0' - implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.5.9' - implementation 'com.github.wanglu1209:PhotoViewer:0.50' - implementation 'io.github.azhon:appupdate:4.2.6' - implementation 'com.tencent.bugly:crashreport:3.2.1' - implementation 'com.github.xuexiangjys:XUI:1.1.4' - implementation files('libs/rinsunMT.jar') - implementation 'org.greenrobot:eventbus:3.0.0' - implementation 'com.github.bumptech.glide:glide:4.11.0' + //第三方库图片异步加载 + implementation libs.glide + implementation libs.annotation + implementation libs.androidx.lifecycle.livedata.ktx + implementation libs.androidx.lifecycle.viewmodel.ktx + annotationProcessor libs.compiler + //第三方库图片选择器 + // PictureSelector basic (Necessary) + implementation libs.pictureselector + // image compress library (Not necessary) + implementation libs.compress + // uCrop library (Not necessary) + implementation libs.ucrop + // simple camerax library (Not necessary) + implementation libs.camerax //第三方工具类 - implementation 'cn.hutool:hutool-all:5.8.5' + implementation libs.cn.hutool.all //mqtt - implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.4' - implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' - implementation 'org.bouncycastle:bcpkix-jdk15on:1.56' - implementation 'commons-codec:commons-codec:1.15' + implementation libs.paho.org.eclipse.paho.client.mqttv3 + implementation libs.paho.org.eclipse.paho.android.service + implementation libs.bcpkix.jdk15on + implementation libs.commons.codec.commons.codec4 //本地广播 - implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' - testImplementation 'junit:junit:4.13.1' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + implementation libs.androidx.localbroadcastmanager.localbroadcastmanager + //二维码扫描 + implementation libs.barcode.scanning + configurations { all*.exclude group: 'com.google.code.gson' } diff --git a/YFDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar b/YFDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar deleted file mode 100644 index bd8562e..0000000 Binary files a/YFDXJ/app/libs/MiPush_SDK_Client_3_2_2.jar and /dev/null differ diff --git a/YFDXJ/app/libs/SangforSDK.jar b/YFDXJ/app/libs/SangforSDK.jar deleted file mode 100644 index 56abdc0..0000000 Binary files a/YFDXJ/app/libs/SangforSDK.jar and /dev/null differ diff --git a/YFDXJ/app/libs/ZSDK_API.jar b/YFDXJ/app/libs/ZSDK_API.jar old mode 100644 new mode 100755 diff --git a/YFDXJ/app/libs/arm64-v8a/librinsunMT-lib.so b/YFDXJ/app/libs/arm64-v8a/librinsunMT-lib.so deleted file mode 100644 index 87b7246..0000000 Binary files a/YFDXJ/app/libs/arm64-v8a/librinsunMT-lib.so and /dev/null differ diff --git a/YFDXJ/app/libs/armeabi-v7a/librinsunMT-lib.so b/YFDXJ/app/libs/armeabi-v7a/librinsunMT-lib.so deleted file mode 100644 index 0669ccd..0000000 Binary files a/YFDXJ/app/libs/armeabi-v7a/librinsunMT-lib.so and /dev/null differ diff --git a/YFDXJ/app/libs/armeabi/librinsunMT-lib.so b/YFDXJ/app/libs/armeabi/librinsunMT-lib.so deleted file mode 100644 index d5989a4..0000000 Binary files a/YFDXJ/app/libs/armeabi/librinsunMT-lib.so and /dev/null differ diff --git a/YFDXJ/app/libs/badgeview.jar b/YFDXJ/app/libs/badgeview.jar old mode 100644 new mode 100755 diff --git a/YFDXJ/app/libs/gson-2.7.jar b/YFDXJ/app/libs/gson-2.7.jar old mode 100644 new mode 100755 diff --git a/YFDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar b/YFDXJ/app/libs/ksoap2-android-assembly-3.6.0-jar-with-dependencies.jar old mode 100644 new mode 100755 diff --git a/YFDXJ/app/libs/rinsunMT.jar b/YFDXJ/app/libs/rinsunMT.jar deleted file mode 100644 index 1761ddc..0000000 Binary files a/YFDXJ/app/libs/rinsunMT.jar and /dev/null differ diff --git a/YFDXJ/app/libs/zxing.jar b/YFDXJ/app/libs/zxing.jar deleted file mode 100644 index c069965..0000000 Binary files a/YFDXJ/app/libs/zxing.jar and /dev/null differ diff --git a/YFDXJ/app/proguard-rules.pro b/YFDXJ/app/proguard-rules.pro old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/androidTest/java/com/bjzc/yfdxj/ExampleInstrumentedTest.java b/YFDXJ/app/src/androidTest/java/com/bjzc/yfdxj/ExampleInstrumentedTest.java old mode 100644 new mode 100755 index 743f0c8..ecb6ba9 --- a/YFDXJ/app/src/androidTest/java/com/bjzc/yfdxj/ExampleInstrumentedTest.java +++ b/YFDXJ/app/src/androidTest/java/com/bjzc/yfdxj/ExampleInstrumentedTest.java @@ -19,8 +19,8 @@ public class ExampleInstrumentedTest { @Test public void useAppContext() throws Exception { // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); + //Context appContext = InstrumentationRegistry.getTargetContext(); - assertEquals("com.rehome.bhdxj", appContext.getPackageName()); + //assertEquals("com.rehome.bhdxj", appContext.getPackageName()); } } diff --git a/YFDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java b/YFDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java deleted file mode 100644 index 8d53f64..0000000 --- a/YFDXJ/app/src/androidTest/java/com/rehome/yfdxj/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.rehome.yfdxj; - -import android.content.Context; -import androidx.test.platform.app.InstrumentationRegistry; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumentation test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() throws Exception { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("com.rehome.bhdxj", appContext.getPackageName()); - } -} diff --git a/YFDXJ/app/src/main/AndroidManifest.xml b/YFDXJ/app/src/main/AndroidManifest.xml old mode 100644 new mode 100755 index ba9af4a..3d0fe06 --- a/YFDXJ/app/src/main/AndroidManifest.xml +++ b/YFDXJ/app/src/main/AndroidManifest.xml @@ -4,28 +4,29 @@ - + android:required="true" /> - - - - - + - - @@ -53,6 +54,7 @@ + @@ -60,14 +62,13 @@ android:name="android.hardware.telephony" android:required="false" /> - - + + tools:replace="android:allowBackup" + tools:targetApi="s"> + - - - + android:screenOrientation="portrait" /> + + + + android:name=".activity.MemberCallbackDialogActivity" + android:theme="@android:style/Theme.Dialog" /> - - + + + + - - - - @@ -345,8 +327,8 @@ android:value="1280" /> - + \ No newline at end of file diff --git a/YFDXJ/app/src/main/assets/litepal.xml b/YFDXJ/app/src/main/assets/litepal.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhScInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhScInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhjh.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhjh.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhjhList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhjhList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhjhxzrwList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/AjhjhxzrwList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxcjs.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxcjs.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxzrwqy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxzrwqy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxzrwqylist.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Ajhxzrwqylist.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DataBaseYhpc.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DataBaseYhpc.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Djjh.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Djjh.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwQy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwQy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwQyList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DjjhRwQyList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Dqgz.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Dqgz.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DqgzList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/DqgzList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Gwzyxcqrnr.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Gwzyxcqrnr.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyXcjsInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyXcjsInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyYhpcInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyYhpcInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXm.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXm.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXmJg.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXmJg.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXmList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcXmList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcqyList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/LyxcqyList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Lyxcrwqy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Lyxcrwqy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Othersbsave.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Othersbsave.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Profession.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Profession.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/ProfessionList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/ProfessionList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QYAQFXDATABean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QYAQFXDATABean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QYDDATABean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QYDDATABean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QxgdInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QxgdInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Qy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Qy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QyList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/QyList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/UploadLocation.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/UploadLocation.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadaqjcsave.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadaqjcsave.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadsblcsave.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadsblcsave.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzdcsrw.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzdcsrw.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzgjg.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzgjg.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzjcszg.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Uploadzjcszg.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbStateList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbStateList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbjxitemList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbjxitemList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbrwList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbrwList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbrwinfoList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbrwinfoList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbzjdList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/WjbzjdList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XDJJHXZBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XDJJHXZBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XDJJHXZDataBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XDJJHXZDataBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHDataBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHDataBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHXZBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHXZBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHXZDataBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XSJJHXZDataBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XcjsInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XcjsInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfBaxcRwqy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfBaxcRwqy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfBaxcRwqyList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfBaxcRwqyList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjh.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjh.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwqy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwqy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwqyList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfDjjhRwqyList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcjsInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcjsInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcmhqc.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcmhqc.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcmhqcList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcmhqcList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxm.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxm.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxmList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxmList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxmjg.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XfXcxmjg.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Xjjh.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Xjjh.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XjjhList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XjjhList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Xjzjrw.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Xjzjrw.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XjzjrwList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XjzjrwList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJh.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJh.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJhList.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJhList.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJs.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcJs.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcSc.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/XwaqgcSc.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/YhpcInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/YhpcInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Yhpctp.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Yhpctp.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwdata.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwdata.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwdatainfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwdatainfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwst.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zjrwst.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zy.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/Zy.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/ZyInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/DBModel/ZyInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/DragListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/DragListener.java deleted file mode 100644 index 8fd658c..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/DragListener.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.bjzc.yfdxj.Listener; - -/** - * @author:luck - * @date:2020-01-13 17:00 - * @describe:拖拽监听事件 - */ -public interface DragListener { - /** - * 是否将 item拖动到删除处,根据状态改变颜色 - * - * @param isDelete - */ - void deleteState(boolean isDelete); - - /** - * 是否于拖拽状态 - * - * @param start - */ - void dragState(boolean isStart); -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/FullyGridLayoutManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/FullyGridLayoutManager.java old mode 100644 new mode 100755 index 9f22c55..7065a30 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/FullyGridLayoutManager.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/FullyGridLayoutManager.java @@ -1,4 +1,5 @@ -package com.bjzc.yfdxj.Listener; +package com.rehome.dywoa.Listener; + import android.content.Context; import android.view.View; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/GlideEngine.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/GlideEngine.java old mode 100644 new mode 100755 index 7d2984e..0e78ed9 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/GlideEngine.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/GlideEngine.java @@ -1,28 +1,20 @@ -package com.bjzc.yfdxj.Listener; +package com.rehome.dywoa.Listener; + + +/** + * Create By HuangWenFei + * 创建日期:2023-01-10 15:10 + * 描述: + */ import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.PointF; -import android.graphics.drawable.Drawable; -import android.view.View; import android.widget.ImageView; import com.bumptech.glide.Glide; -import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; -import com.bumptech.glide.request.target.ImageViewTarget; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.tools.MediaUtils; -import com.luck.picture.lib.widget.longimage.ImageSource; -import com.luck.picture.lib.widget.longimage.ImageViewState; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; -import com.bjzc.yfdxj.R; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import com.luck.picture.lib.utils.ActivityCompatHelper; /** * @author:luck @@ -34,157 +26,54 @@ public class GlideEngine implements ImageEngine { /** * 加载图片 * - * @param context - * @param url - * @param imageView + * @param context 上下文 + * @param url 资源url + * @param imageView 图片承载控件 */ @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadImage(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .load(url) .into(imageView); } @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView, SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - Glide.with(context) - .asBitmap() - .load(url) - .into(new ImageViewTarget(imageView) { - @Override - public void onLoadStarted(@Nullable Drawable placeholder) { - super.onLoadStarted(placeholder); - if (callback != null) { - callback.onShowLoading(); - } - } - - @Override - public void onLoadFailed(@Nullable Drawable errorDrawable) { - super.onLoadFailed(errorDrawable); - if (callback != null) { - callback.onHideLoading(); - } - } - - @Override - protected void setResource(@Nullable Bitmap resource) { - if (callback != null) { - callback.onHideLoading(); - } - if (resource != null) { - boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), - resource.getHeight()); - longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); - imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); - if (eqLongImage) { - // 加载长图 - longImageView.setQuickScaleEnabled(true); - longImageView.setZoomEnabled(true); - longImageView.setPanEnabled(true); - longImageView.setDoubleTapZoomDuration(100); - longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); - longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); - longImageView.setImage(ImageSource.bitmap(resource), - new ImageViewState(0, new PointF(0, 0), 0)); - } else { - // 普通图片 - imageView.setImageBitmap(resource); - } - } - } - }); - } - - /** - * 加载网络图片适配长图方案 - * # 注意:此方法只有加载网络图片才会回调 - * - * @param context - * @param url - * @param imageView - * @param longImageView - * @ 已废弃 - */ - @Override - public void loadImage(@NonNull Context context, @NonNull String url, - @NonNull ImageView imageView, - SubsamplingScaleImageView longImageView) { + public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) - .asBitmap() .load(url) - .into(new ImageViewTarget(imageView) { - @Override - protected void setResource(@Nullable Bitmap resource) { - if (resource != null) { - boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), - resource.getHeight()); - longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); - imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); - if (eqLongImage) { - // 加载长图 - longImageView.setQuickScaleEnabled(true); - longImageView.setZoomEnabled(true); - longImageView.setPanEnabled(true); - longImageView.setDoubleTapZoomDuration(100); - longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); - longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); - longImageView.setImage(ImageSource.bitmap(resource), - new ImageViewState(0, new PointF(0, 0), 0)); - } else { - // 普通图片 - imageView.setImageBitmap(resource); - } - } - } - }); + .override(maxWidth, maxHeight) + .into(imageView); } /** - * 加载相册目录 + * 加载相册目录封面 * * @param context 上下文 * @param url 图片路径 * @param imageView 承载图片ImageView */ @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadAlbumCover(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .asBitmap() .load(url) .override(180, 180) - .centerCrop() .sizeMultiplier(0.5f) - .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { - @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); - } - }); - } - - - /** - * 加载gif - * - * @param context 上下文 - * @param url 图片路径 - * @param imageView 承载图片ImageView - */ - @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, - @NonNull ImageView imageView) { - Glide.with(context) - .asGif() - .load(url) + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(com.luck.picture.lib.R.drawable.ps_image_placeholder) .into(imageView); } + /** * 加载图片列表图片 * @@ -193,29 +82,36 @@ public class GlideEngine implements ImageEngine { * @param imageView 承载图片ImageView */ @Override - public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { + public void loadGridImage(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } Glide.with(context) .load(url) .override(200, 200) .centerCrop() - .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.picture_image_placeholder)) + .placeholder(com.luck.picture.lib.R.drawable.ps_image_placeholder) .into(imageView); } + @Override + public void pauseRequests(Context context) { + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + Glide.with(context).resumeRequests(); + } private GlideEngine() { } - private static GlideEngine instance; + private static final class InstanceHolder { + static final GlideEngine instance = new GlideEngine(); + } public static GlideEngine createGlideEngine() { - if (null == instance) { - synchronized (GlideEngine.class) { - if (null == instance) { - instance = new GlideEngine(); - } - } - } - return instance; + return InstanceHolder.instance; } -} +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/ImageLoaderUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/ImageLoaderUtils.java new file mode 100755 index 0000000..09a26eb --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/ImageLoaderUtils.java @@ -0,0 +1,42 @@ +package com.rehome.dywoa.Listener; + + +/** + * Create By HuangWenFei + * 创建日期:2023-01-10 15:13 + * 描述: + */ + +import android.app.Activity; +import android.content.Context; +import android.content.ContextWrapper; + +/** + * @author:luck + * @date:2021/7/14 3:15 PM + * @describe:ImageLoaderUtils + */ +public class ImageLoaderUtils { + + public static boolean assertValidRequest(Context context) { + if (context instanceof Activity) { + Activity activity = (Activity) context; + return !isDestroy(activity); + } else if (context instanceof ContextWrapper){ + ContextWrapper contextWrapper = (ContextWrapper) context; + if (contextWrapper.getBaseContext() instanceof Activity){ + Activity activity = (Activity) contextWrapper.getBaseContext(); + return !isDestroy(activity); + } + } + return true; + } + + private static boolean isDestroy(Activity activity) { + if (activity == null) { + return true; + } + return activity.isFinishing() || activity.isDestroyed(); + } + +} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnActionClickListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnActionClickListener.java new file mode 100755 index 0000000..dbfb75a --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnActionClickListener.java @@ -0,0 +1,5 @@ +package com.rehome.dywoa.Listener; + +public interface OnActionClickListener { + void onActionClick(int position); +} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemClickListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemClickListener.java deleted file mode 100644 index b4a6c38..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemClickListener.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.bjzc.yfdxj.Listener; - -import android.view.View; - -/** - * @author:luck - * @date:2020-01-13 17:57 - * @describe:点击事件 - */ -public interface OnItemClickListener { - void onItemClick(int position, View v); -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemLongClickListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemLongClickListener.java old mode 100644 new mode 100755 index 774c3e8..cc62a41 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemLongClickListener.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/OnItemLongClickListener.java @@ -1,5 +1,17 @@ -package com.bjzc.yfdxj.Listener; +package com.rehome.dywoa.Listener; +//import android.view.View; +// +//import androidx.recyclerview.widget.RecyclerView; +// +///** +// * @author:luck +// * @date:2020-01-13 17:58 +// * @describe:长按事件 +// */ +//public interface OnItemLongClickListener { +// void onItemLongClick(RecyclerView.ViewHolder holder, int position, View v); +//} import android.view.View; import androidx.recyclerview.widget.RecyclerView; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/QRCodeAnalyser.kt b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/QRCodeAnalyser.kt new file mode 100755 index 0000000..4cafc0e --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/Listener/QRCodeAnalyser.kt @@ -0,0 +1,45 @@ +package com.bjzc.yfdxj.Listener + + + +import android.annotation.SuppressLint +import android.util.Log +import androidx.camera.core.ImageAnalysis +import androidx.camera.core.ImageProxy +import com.google.mlkit.vision.barcode.BarcodeScannerOptions +import com.google.mlkit.vision.barcode.BarcodeScanning +import com.google.mlkit.vision.barcode.common.Barcode +import com.google.mlkit.vision.common.InputImage + +class QRCodeAnalyser(private val listener: (List, Int, Int) -> Unit) : + ImageAnalysis.Analyzer { + //配置当前扫码格式 + private val options = BarcodeScannerOptions.Builder() + .setBarcodeFormats( + Barcode.FORMAT_QR_CODE, + Barcode.FORMAT_AZTEC + ).build() + + //获取解析器 + private val detector = BarcodeScanning.getClient(options) + + @SuppressLint("UnsafeOptInUsageError") + override fun analyze(imageProxy: ImageProxy) { + val mediaImage = imageProxy.image ?: kotlin.run { + imageProxy.close() + return + } + val image = InputImage.fromMediaImage(mediaImage, imageProxy.imageInfo.rotationDegrees) + detector.process(image) + .addOnSuccessListener { barCodes -> + if (barCodes.size > 0) { + Log.i("app", "barCodes: ${barCodes.size}") + listener.invoke(barCodes, imageProxy.width, imageProxy.height) + //接收到结果后,就关闭解析 + detector.close() + } + } + .addOnFailureListener { Log.i("app", "Error: ${it.message}") } + .addOnCompleteListener { imageProxy.close() } + } +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/MyApplication.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/MyApplication.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckTemperatureActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckTemperatureActivity.java deleted file mode 100644 index 65deb83..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckTemperatureActivity.java +++ /dev/null @@ -1,325 +0,0 @@ -package com.bjzc.yfdxj.activity; - - -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Log; -import android.view.View; -import android.view.inputmethod.InputMethodManager; -import android.widget.Button; -import android.widget.EditText; -import android.widget.TextView; - -import androidx.localbroadcastmanager.content.LocalBroadcastManager; - -import com.bjzc.yfdxj.DBModel.XSJJHDataBean; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.BaseActivity3; -import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.SPUtils; -import com.bjzc.yfdxj.weight.AuditDialog; -import com.bjzc.yfdxj.weight.EditDialog; -import com.google.gson.Gson; -import com.rinsun.mtdriver.MTnativeInterface; - -import org.litepal.crud.DataSupport; - -import java.text.SimpleDateFormat; -import java.util.Date; - - -public class CheckTemperatureActivity extends BaseActivity3 { - - EditText etRealValue; - EditText noticeValue; - Button btnSubmit; - TextView checkTip; - TextView standerTip; - - - private String temperatureValue; - //public static final int RESULT_SUCCESS = 1; - private String checkType; - //是否可编辑 - private boolean isEdit = false; - private String username; - private String smfs; - - //频谱用到的变量///////////////////////////// - private double edit16LA; - private double edit16LV; - private double edit16LD; - private double edit16HA; - private double edit16HV; - private double edit16HD; - - private double[] ppsour; - private int ppfreq; // <1280,5120,12800> - private int pplen; // 1024, 4096, 8192 - /////////////////////////////////////////////// - - MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 - Intent intentTemplate; - //页面传过来的数据 - XSJJHDataBean xSJJHDataBean; - - @Override - public int getLayoutId() { - return R.layout.activity_check_temperature; - } - - @Override - public void initView() { - username = (String) SPUtils.get(context, Contans.USERID, ""); - etRealValue = findViewById(R.id.et_realValue); - noticeValue = findViewById(R.id.et_noticeValue); - btnSubmit = findViewById(R.id.btn_submit); - checkTip = findViewById(R.id.tv_checkTip); - standerTip = findViewById(R.id.tv_standerTip); - - Bundle bundle = CheckTemperatureActivity.this.getIntent().getExtras(); - if (bundle != null) { - isEdit = bundle.getBoolean("edit"); - if(isEdit){ - initToolbar("测温", "开始测量", new View.OnClickListener() { - @Override - public void onClick(View v) { - demo();//测量 - } - }); - etRealValue.setEnabled(true); - }else{ - initToolbar("测温", "", new View.OnClickListener() { - @Override - public void onClick(View v) { - - } - }); - btnSubmit.setVisibility(View.GONE); - } - } - - noticeValue.setKeyListener(null); - intentTemplate = getIntent(); - //String checkTipStr = intentTemplate.getStringExtra("checkTip"); - String standerTipStr = intentTemplate.getStringExtra("standerTip"); - checkType = intentTemplate.getStringExtra("checkType"); -// if(checkTipStr!=null){ -// checkTip.setText(checkTipStr); -// } - if(standerTipStr!=null){ - standerTip.setText(standerTipStr); - } - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); - - //收到普通测量值 - updateUI(new String(recBuff));//可直接显示数据 - - //收到频谱采集部分 - //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 - System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); - } - }); - btnSubmit.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - temperatureValue = etRealValue.getText().toString(); - if(temperatureValue.equals("")){ - showToast("实际值不能为空"); - }else{ - AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { - @Override - public void confirm() { - if (isEdit) { - if(!etRealValue.getText().toString().trim().equals("")){ - ContentValues values = new ContentValues(); - values.put("smfs", smfs); - values.put("checked", true); - values.put("CJJG", temperatureValue); - values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); - DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and username = ? ",xSJJHDataBean.getScid(),username); - Intent intent = new Intent(Contans.ACTION_YULONE); - intent.putExtra(Contans.KEY_NAME, temperatureValue); - intent.putExtra(Contans.SCID, xSJJHDataBean.getScid()); - //发送广播 - LocalBroadcastManager.getInstance(context).sendBroadcast(intent);; - } - } - - Intent intent = new Intent(); - intent.putExtra("value", temperatureValue); - intent.putExtra("checkType", checkType); - setResult(RESULT_OK, intent); - finish(); - } - - @Override - public void cancel() { - - } - }); - auditDialog.show(); - } - } - }); - noticeValue.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View view) { - //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); - EditDialog editDialog = new EditDialog(context); - editDialog.setMessage(noticeValue.getText().toString().trim()); - editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { - @Override - public void onYesClick(String phone) { - if (!TextUtils.isEmpty(phone)) { - noticeValue.setText(phone); - } - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { - @Override - public void onNoClick() { - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.show(); - return false; - } - }); - } - - @Override - public void initData() { - Bundle bundle = CheckTemperatureActivity.this.getIntent().getExtras(); - if (bundle != null) { - smfs = bundle.getString("smfs"); - xSJJHDataBean = bundle.getParcelable("xSJJHDataBean"); - Gson gson=new Gson(); - Log.i("app",gson.toJson(xSJJHDataBean)); - if(xSJJHDataBean.getSb()!=null){ - checkTip.setText(xSJJHDataBean.getSb()); - } - if(xSJJHDataBean.getBJMC()!=null){ - standerTip.setText(xSJJHDataBean.getBJMC()); - } - if(xSJJHDataBean.getCJJG()!=null){ - etRealValue.setText(xSJJHDataBean.getCJJG()); - } - } - } - - @Override - protected void onResume() { - super.onResume(); - } - - @Override - protected void onPause() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onPause(); - } - - public void demo(){ - /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ - //mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) - //mt.RFIDread(-1,""); - - - /*======转速示例============================================================================================*/ - //mt.RPMopen();//开启电源。 - - /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ - mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 - mt.IRTread(95); - - /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ -// mt.VIBopen();//开启电源。 -// //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) -// mt.VIBread(MTnativeInterface.CMD_VIBD_R,0); - - //频谱采集测量。 - // mt.VIBset(MTnativeInterface.CMD_ALL_W,"RK");//频谱采集前,必须读取一次"频谱参数",频谱计算过程要用到 -// Button but = (Button) findViewById(R.id.button1); -// but.setText("频谱采集"); -// but.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// ppfreq=1280;//可选频率 1280 5120 12800 -// pplen=1024;//对应返回数据长度1024, 4096, 8192 -// ppsour = new double[pplen]; -// //开始频谱采集,参数CMDtype采样类型有三个可选CMD_VIBA_P加速度、CMD_VIBD_P位移、CMD_VIBV_P速度。参数level采样频率有三个可选 1280 5120 12800 -// //mt.VIBread(MTnativeInterface.CMD_VIBA_P,ppfreq); -// //执行下面代码可停止频谱采集 -// //mt.VIBread(0,0); -// } -// }); -// Button btnSecond = (Button) findViewById(R.id.button2); -// btnSecond.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// -// } -// }); - } - - private double getRK(int type){ - double res=0.0; - switch(type) { - case MTnativeInterface.CMD_VIBA_P: - res = edit16LA; - case MTnativeInterface.CMD_VIBV_P: - res=edit16LV; - case MTnativeInterface.CMD_VIBD_P: - res=edit16LD; - } - return res; - } - - public void updateUI(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if(info!=null){ - if(etRealValue!=null){ - etRealValue.setText(info); - } - } - } - }); - } - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } -} - diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckVibrationActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckVibrationActivity.java deleted file mode 100644 index 3b9a87c..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CheckVibrationActivity.java +++ /dev/null @@ -1,386 +0,0 @@ -package com.bjzc.yfdxj.activity; - - -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Log; -import android.view.View; -import android.view.inputmethod.InputMethodManager; -import android.widget.Button; -import android.widget.EditText; -import android.widget.RadioGroup; -import android.widget.TextView; - -import androidx.localbroadcastmanager.content.LocalBroadcastManager; - -import com.bjzc.yfdxj.DBModel.XSJJHDataBean; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.BaseActivity3; -import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.SPUtils; -import com.bjzc.yfdxj.weight.AuditDialog; -import com.bjzc.yfdxj.weight.EditDialog; -import com.google.gson.Gson; -import com.rinsun.mtdriver.MTnativeInterface; -import org.litepal.crud.DataSupport; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class CheckVibrationActivity extends BaseActivity3 { - - TextView etRealTitle; - EditText etRealValue; - EditText noticeValue; - Button btnSubmit; - TextView checkTip; - TextView standerTip; - RadioGroup rgLevel; - RadioGroup rgType; - - - - private String vibrationValue; - public static final int RESULT_SUCCESS = 1; - private String checkType; - int checkVibrationType = MTnativeInterface.CMD_VIBD_R; - int level = 0; - // 振动位移单位 mm - //振动速度单位 mm/s - //振动加速度单位 mm/(s^2) - //String measure = "mm"; - //是否可编辑 - private boolean isEdit = false; - //页面传过来的数据 - XSJJHDataBean xSJJHDataBean; - - //频谱用到的变量///////////////////////////// - private double edit16LA; - private double edit16LV; - private double edit16LD; - private double edit16HA; - private double edit16HV; - private double edit16HD; - - private double[] ppsour; - private int ppfreq; // <1280,5120,12800> - private int pplen; // 1024, 4096, 8192 - /////////////////////////////////////////////// - - MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 - Intent intentTemplate; - private String username; - private String smfs; - - - @Override - public int getLayoutId() { - return R.layout.activity_check_vibration; - } - - @Override - public void initView() { - username = (String) SPUtils.get(context, Contans.USERID, ""); - etRealTitle = findViewById(R.id.tv_realTitle); - etRealValue = findViewById(R.id.et_realValue); - noticeValue = findViewById(R.id.et_noticeValue); - btnSubmit = findViewById(R.id.btn_submit); - checkTip = findViewById(R.id.tv_checkTip); - standerTip = findViewById(R.id.tv_standerTip); - rgLevel = findViewById(R.id.rgLevel); - rgType = findViewById(R.id.rgType); - - - - - Bundle bundle = CheckVibrationActivity.this.getIntent().getExtras(); - if (bundle != null) { - isEdit = bundle.getBoolean("edit"); - if(isEdit){ - etRealValue.setEnabled(true); - initToolbar("测振", "开始测量", new View.OnClickListener() { - @Override - public void onClick(View v) { - //测量 - demo(); - } - }); - }else{ - initToolbar("测振", "", new View.OnClickListener() { - @Override - public void onClick(View v) { - - } - }); - btnSubmit.setVisibility(View.GONE); - } - } - - noticeValue.setKeyListener(null); - intentTemplate = getIntent(); - String checkTipStr = intentTemplate.getStringExtra("checkTip"); - String standerTipStr = intentTemplate.getStringExtra("standerTip"); - checkType = intentTemplate.getStringExtra("checkType"); - if(checkTipStr!=null){ - checkTip.setText(checkTipStr); - } - if(standerTipStr!=null){ - standerTip.setText(standerTipStr); - } - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); - - if(CMDtype==MTnativeInterface.CMD_VIBA_R){ - if(recBuff!=null){ - String recv = new String(recBuff); - String cut = " "; - String[] newStr = recv.split(cut); // 分割成数组 - updateUI(newStr[0]);//可直接显示数据 - } - }else{ - //收到普通测量值 - updateUI(new String(recBuff));//可直接显示数据 - } - - //收到频谱采集部分 - //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 - System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); - } - }); - btnSubmit.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - vibrationValue = etRealValue.getText().toString().trim(); - if(vibrationValue.equals("")){ - showToast("实际值不能为空"); - }else{ - AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { - @Override - public void confirm() { - - if (isEdit) { - if(!etRealValue.getText().toString().trim().equals("")){ - ContentValues values = new ContentValues(); - values.put("smfs", smfs); - values.put("checked", true); - values.put("CJJG", vibrationValue); - values.put("DATE", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); - DataSupport.updateAll(XSJJHDataBean.class, values, "scid = ? and username = ?",xSJJHDataBean.getScid(),username); - Intent intent = new Intent(Contans.ACTION_YULONE); - intent.putExtra(Contans.KEY_NAME, vibrationValue); - intent.putExtra(Contans.SCID, xSJJHDataBean.getScid()); - //发送广播 - LocalBroadcastManager.getInstance(context).sendBroadcast(intent);; - } - } - Intent intent = new Intent(); - intent.putExtra("value", vibrationValue); - intent.putExtra("checkType", checkType); - setResult(RESULT_OK, intent); - finish(); - } - - @Override - public void cancel() { - - } - }); - auditDialog.show(); - } - } - }); - rgLevel.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup radioGroup, int i) { - if(i==R.id.rb1){ - level = 0; - if(isEdit){ - demo();//测量 - } - } - if(i==R.id.rb2){ - level = 1; - if(isEdit){ - demo();//测量 - } - } -// switch (i){ -// case R.id.rb1: -// level = 0; -// if(isEdit){ -// demo();//测量 -// } -// break; -// case R.id.rb2: -// level = 1; -// if(isEdit){ -// demo();//测量 -// } -// break; -// } - } - }); - rgType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup radioGroup, int i) { - if(i==R.id.rb3){ - checkVibrationType = MTnativeInterface.CMD_VIBD_R; - etRealTitle.setText("实际值(mm):"); - if(isEdit){ - demo();//测量 - } - } - if(i==R.id.rb4){ - checkVibrationType = MTnativeInterface.CMD_VIBV_R; - etRealTitle.setText("实际值(mm/s):"); - if(isEdit){ - demo();//测量 - } - } - if(i==R.id.rb5){ - checkVibrationType = MTnativeInterface.CMD_VIBA_R; - etRealTitle.setText("实际值(mm/(s^2)):"); - if(isEdit){ - demo();//测量 - } - } -// switch (i){ -// case R.id.rb3: -// checkVibrationType = MTnativeInterface.CMD_VIBD_R; -// etRealTitle.setText("实际值(mm):"); -// if(isEdit){ -// demo();//测量 -// } -// break; -// case R.id.rb4: -// checkVibrationType = MTnativeInterface.CMD_VIBV_R; -// etRealTitle.setText("实际值(mm/s):"); -// if(isEdit){ -// demo();//测量 -// } -// break; -// case R.id.rb5: -// checkVibrationType = MTnativeInterface.CMD_VIBA_R; -// etRealTitle.setText("实际值(mm/(s^2)):"); -// if(isEdit){ -// demo();//测量 -// } -// break; -// } - } - }); - noticeValue.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View view) { - //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); - EditDialog editDialog = new EditDialog(context); - editDialog.setMessage(noticeValue.getText().toString().trim()); - editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { - @Override - public void onYesClick(String phone) { - if (!TextUtils.isEmpty(phone)) { - noticeValue.setText(phone); - } - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { - @Override - public void onNoClick() { - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.show(); - return false; - } - }); - } - - @Override - public void initData() { - Bundle bundle = CheckVibrationActivity.this.getIntent().getExtras(); - if (bundle != null) { - smfs = bundle.getString("smfs"); - xSJJHDataBean = bundle.getParcelable("xSJJHDataBean"); - Gson gson=new Gson(); - Log.i("app",gson.toJson(xSJJHDataBean)); - if(xSJJHDataBean.getSb()!=null){ - checkTip.setText(xSJJHDataBean.getSb()); - } - if(xSJJHDataBean.getBJMC()!=null){ - standerTip.setText(xSJJHDataBean.getBJMC()); - } - if(xSJJHDataBean.getCJJG()!=null){ - etRealValue.setText(xSJJHDataBean.getCJJG()); - } - } - } - - @Override - protected void onResume() { - //demo();//测量 - super.onResume(); - } - - @Override - protected void onPause() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onPause(); - } - - public void demo(){ - /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ - mt.VIBopen();//开启电源。 - //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) - //读振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBD_R 振动位移 - //CMD_VIBA_R 振动速度 - mt.VIBread(checkVibrationType,level); - } - - public void updateUI(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if(info!=null){ - if(etRealValue!=null){ - etRealValue.setText(info); - } - } - } - }); - } - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } - -} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/ContactFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/ContactFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CustomDialogActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CustomDialogActivity.java deleted file mode 100644 index a73f7a9..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/CustomDialogActivity.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.bjzc.yfdxj.activity; - -import android.app.Activity; -import android.content.Intent; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.View; -import android.view.Window; -import android.widget.TextView; - -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.bleUtil.BluetoothLeService; -import com.rinsun.mtdriver.MTnativeInterface; - -public class CustomDialogActivity extends Activity { - private TextView title; - private TextView msg; - private TextView btnStart; - private TextView btnClose; - - MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 - String type = "7"; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - //必须在调用setContentView()之前调用requestWindowFeature() - //requestWindowFeature(Window.FEATURE_LEFT_ICON);//要标题栏显示图标 - //全屏操作,一定要放在加载根view之前 - requestWindowFeature(Window.FEATURE_NO_TITLE); - getWindow().getDecorView().setBackgroundColor(Color.TRANSPARENT); - setContentView(R.layout.dialog_activity); - initView(); - initData(); - } - - private void initView(){ - title = findViewById(R.id.tv_title); - msg = findViewById(R.id.tv_msg); - btnClose = findViewById(R.id.dialog_commit); - btnStart = findViewById(R.id.dialog_cancel); - btnStart.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if(type.equals("7")){ - startCheckTemp(); - } - if(type.equals("11")){ - startCheckVibration(); - } - } - }); - btnClose.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - finish(); - } - }); - - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff) + "/" + CMDtype + "/" + tag); - if (CMDtype == MTnativeInterface.CMD_VIBD_R) { - //收到普通测量值 - updateUIByVibration(new String(recBuff));//可直接显示数据 - } - if (CMDtype == MTnativeInterface.CMD_TEMP_R) { - //收到普通测量值 - updateUIByTemp(new String(recBuff));//可直接显示数据 - } - } - }); - } - private void initData() { - Intent intent = getIntent(); - type = intent.getStringExtra("type"); - if(type.equals("7")){ - title.setText("测温" + "(℃)"); - } - if(type.equals("11")){ - title.setText("测振" + "(mm)"); - } - } - public void startCheckTemp() { - /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ - mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 - mt.IRTread(95); - } - - public void startCheckVibration() { - /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ - mt.VIBopen();//开启电源。 - //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) - //读振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBD_R 振动位移 - //CMD_VIBA_R 振动速度 - mt.VIBread(MTnativeInterface.CMD_VIBD_R, 0); - } - @Override - protected void onPause() { - super.onPause(); - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - } - - @Override - protected void onResume() { - super.onResume(); - if(type.equals("7")){ - title.setText("测温" + "(℃)"); - } - if(type.equals("11")){ - title.setText("测振" + "(mm)"); - } - } - @Override - public void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } - public void updateUIByTemp(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (info != null) { - msg.setText(info); - } - } - }); - } - - public void updateUIByVibration(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (info != null) { - msg.setText(info); - } - } - }); - } -} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/LoginActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/LoginActivity.java old mode 100644 new mode 100755 index 66245a5..3a8729c --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/LoginActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/LoginActivity.java @@ -19,7 +19,6 @@ import android.widget.TextView; import com.azhon.appupdate.listener.OnButtonClickListener; import com.azhon.appupdate.listener.OnDownloadListener; import com.azhon.appupdate.manager.DownloadManager; - import com.bjzc.yfdxj.base.BaseCallBackNoProgress; import com.bjzc.yfdxj.R; import com.bjzc.yfdxj.base.BaseActivity; @@ -37,8 +36,6 @@ import com.bjzc.yfdxj.utils.RSAUtils; import com.bjzc.yfdxj.utils.SPUtils; import com.bjzc.yfdxj.utils.StatusBarUtil; import com.bjzc.yfdxj.utils.UiUtlis; -import com.google.gson.Gson; -import com.rinsun.mtdriver.MTnativeInterface; import com.tencent.bugly.crashreport.CrashReport; import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.RequestMethod; @@ -55,11 +52,6 @@ import java.util.List; import java.util.Map; import androidx.annotation.NonNull; import androidx.appcompat.widget.AppCompatTextView; - -import javax.net.ssl.HostnameVerifier; -import javax.net.ssl.SSLSession; -import javax.net.ssl.SSLSocketFactory; - import retrofit2.Call; public class LoginActivity extends BaseActivity { @@ -72,12 +64,10 @@ public class LoginActivity extends BaseActivity { Button btnLogin; RadioGroup rg; - private String UserID; - private String UserPwd; + private String UserID=""; + private String UserPwd=""; private String networkCheckType; private long exitTime = 0; - //private String WebState = "4G"; - MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 String nfcValue = null; boolean isLogin = true; boolean needAlarm = true; @@ -182,47 +172,13 @@ public class LoginActivity extends BaseActivity { } if (isApkInDebug(context)) { - etUse.setText("161619"); - etPwd.setText("lgy12345"); - // etUse.setText("161619"); -// etPwd.setText("161619"); +// etPwd.setText("lgy12345"); } - //使用完一定记得关闭 电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); + + //初始化nfc initNFC(); - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - //System.out.println("-------------"); - //System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); - if (CMDtype == MTnativeInterface.CMD_RFID_R) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (recBuff != null) { - if (nfcValue == null) { - //RFID数据 - String recv = new String(recBuff); - //Log.i("app", recv); - nfcValue = recv; - if (isLogin) { - isLogin = false; - nfcOnlineLogin(nfcValue); - } - } - } - } - }); - } - } - }); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { @@ -277,12 +233,6 @@ public class LoginActivity extends BaseActivity { return false; } - public void readRFID() { - /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ - mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) - mt.RFIDread(-1, ""); - } - private void onclick() { btnLogin.setOnClickListener(view -> { if (isLogin()) { @@ -706,38 +656,21 @@ public class LoginActivity extends BaseActivity { super.onResume(); nfcValue = null; isLogin = true; - readRFID(); } @Override protected void onPause() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); if (needAlarm) { showToast("您的登陆界面被覆盖,请确认登陆环境是否安全"); } super.onPause(); } - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } - @Override public boolean onTouchEvent(MotionEvent e) { if (e.getAction() == MotionEvent.ACTION_UP) { nfcValue = null; isLogin = true; - readRFID(); } return true; } diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainActivity.java old mode 100644 new mode 100755 index 26f21ab..51b6b62 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainActivity.java @@ -49,7 +49,7 @@ import com.bjzc.yfdxj.utils.GsonUtils; import com.bjzc.yfdxj.utils.HttpUtils; import com.bjzc.yfdxj.utils.MqttSSLPublishServer; import com.bjzc.yfdxj.utils.NetworkUtil; -import com.bjzc.yfdxj.utils.OAToolbar; +import com.bjzc.yfdxj.weight.OAToolbar; import com.bjzc.yfdxj.utils.RSAAndroid; import com.bjzc.yfdxj.utils.SPUtils; import com.bjzc.yfdxj.utils.StatusBarUtil; @@ -151,6 +151,7 @@ public class MainActivity extends BaseActivity3 { return R.layout.activity_main; } + //@RequiresApi(api = Build.VERSION_CODES.Q) //@RequiresApi(api = Build.VERSION_CODES.Q) @Override public void initView() { @@ -267,17 +268,17 @@ public class MainActivity extends BaseActivity3 { imageId.add(R.mipmap.icon3); colors.add(R.drawable.radius_a4); - if(isApp_YXXJ||isApp_RLXJ){ - str.add("测温"); - str.add("测振"); - //str.add("Q4工单"); - imageId.add(R.mipmap.icon_xs1); - imageId.add(R.mipmap.icon13); - //imageId.add(R.mipmap.icon9); - colors.add(R.drawable.radius_a1); - colors.add(R.drawable.radius_b1); - //colors.add(R.drawable.radius_a2); - } +// if(isApp_YXXJ||isApp_RLXJ){ +// str.add("测温"); +// str.add("测振"); +// //str.add("Q4工单"); +// imageId.add(R.mipmap.icon_xs1); +// imageId.add(R.mipmap.icon13); +// //imageId.add(R.mipmap.icon9); +// colors.add(R.drawable.radius_a1); +// colors.add(R.drawable.radius_b1); +// //colors.add(R.drawable.radius_a2); +// } str.add("手电筒"); imageId.add(R.mipmap.icon11); @@ -360,13 +361,13 @@ public class MainActivity extends BaseActivity3 { }else if(iconText.equals("读取NFC")){ startActivity(NfcinfoActivity.class); }else if(iconText.equals("测温")){ - Intent intentTemp=new Intent(MainActivity.this, CustomDialogActivity.class); - intentTemp.putExtra("type","7"); - startActivity(intentTemp); +// Intent intentTemp=new Intent(MainActivity.this, CustomDialogActivity.class); +// intentTemp.putExtra("type","7"); +// startActivity(intentTemp); }else if(iconText.equals("测振")){ - Intent intentVibration=new Intent(MainActivity.this, CustomDialogActivity.class); - intentVibration.putExtra("type","11"); - startActivity(intentVibration); +// Intent intentVibration=new Intent(MainActivity.this, CustomDialogActivity.class); +// intentVibration.putExtra("type","11"); +// startActivity(intentVibration); }else if(iconText.equals("保安巡检")){ Intent intentTemp=new Intent(MainActivity.this, XscbglActivity.class); intentTemp.putExtra("type","BA"); @@ -576,7 +577,7 @@ public class MainActivity extends BaseActivity3 { }, 1000, 60000); // 设定指定的时间time,此处为10000毫秒 } catch (Exception e) { - e.printStackTrace(); + showLog("mqtt定时器 初始化失败"); } } diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MainFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MemberCallbackDialogActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MemberCallbackDialogActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MineFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/MineFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/NfcinfoActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/NfcinfoActivity.java old mode 100644 new mode 100755 index 849a76c..9a92d61 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/NfcinfoActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/NfcinfoActivity.java @@ -5,17 +5,15 @@ import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; - import com.bjzc.yfdxj.R; import com.bjzc.yfdxj.base.BaseActivity3; -import com.rinsun.mtdriver.MTnativeInterface; + public class NfcinfoActivity extends BaseActivity3 { TextView tvNfc; - MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 @Override public int getLayoutId() { @@ -31,46 +29,12 @@ public class NfcinfoActivity extends BaseActivity3 { } }); - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); initNFC(); - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff) + "/" + CMDtype + "/" + tag); - if (CMDtype == MTnativeInterface.CMD_RFID_R) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (recBuff != null) { - //RFID数据 - String recv = new String(recBuff); - if(tvNfc!=null){ - tvNfc.setText(recv); - } - } - } - }); - } - } - }); } @Override public void initData() { - readRFID(); - } - public void readRFID() { - /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ - mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) - mt.RFIDread(-1, ""); } @Override @@ -85,15 +49,4 @@ public class NfcinfoActivity extends BaseActivity3 { } }); } - - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } } diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/QrCodeActivity.kt b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/QrCodeActivity.kt new file mode 100644 index 0000000..2b0c60c --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/QrCodeActivity.kt @@ -0,0 +1,174 @@ +package com.bjzc.yfdxj.activity + + +import android.Manifest +import android.annotation.SuppressLint +import android.content.Intent +import android.content.pm.PackageManager +import android.graphics.Rect +import android.graphics.RectF +import android.os.Bundle +import android.view.View +import android.widget.Toast +import androidx.camera.core.ImageCapture +import androidx.camera.view.LifecycleCameraController +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import com.bjzc.yfdxj.databinding.ActivityQrCodeBinding +import com.bjzc.yfdxj.Listener.QRCodeAnalyser +import com.bjzc.yfdxj.base.BaseActivityOaToolbarViewBinding +import java.util.concurrent.ExecutorService +import java.util.concurrent.Executors + + +/** + * date:2025/02/13 10:05:28 + * author:HuangWenfei + * description:二维码扫描 + */ +class QrCodeActivity : BaseActivityOaToolbarViewBinding() { + + private lateinit var lifecycleCameraController: LifecycleCameraController + private lateinit var cameraExecutor: ExecutorService + private val CAMERA_REQUEST_CAMERA_SCAN: Int = 88 //请求码 + + + override fun getViewBinding() = ActivityQrCodeBinding.inflate(layoutInflater) + + override fun getToolbar()= binding.toolbarView.toolbar + + override fun initView() { + initToolbar("二维码/条码扫描") + setLeftOnClickListener { finish() } + checkPermission() + //initController() + } + + override fun initData() { + + } + + private fun checkPermission(){ + //检测摄像头权限 + if (!context.packageManager.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) { + binding.frCamera.visibility=View.GONE + Toast.makeText( + context, + "权限拒绝,请手动设置开启APP访问摄像头权限", + Toast.LENGTH_LONG + ).show() + return + } + + //动态权限申请 + if (ContextCompat.checkSelfPermission( + context, + Manifest.permission.CAMERA + ) != PackageManager.PERMISSION_GRANTED + ) { + binding.frCamera.visibility=View.GONE + //权限请求 + ActivityCompat.requestPermissions( + this, + arrayOf(Manifest.permission.CAMERA), + CAMERA_REQUEST_CAMERA_SCAN + ) + } else { + //已授权,打开摄像头扫描 + initController() + } + } + + override fun onRequestPermissionsResult( + requestCode: Int, + permissions: Array, + grantResults: IntArray + ) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults) + if (CAMERA_REQUEST_CAMERA_SCAN == requestCode) { + if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + binding.frCamera.visibility=View.VISIBLE + //已授权,打开摄像头扫描 + initController() + } else { + binding.frCamera.visibility=View.GONE + //权限拒绝 + Toast.makeText( + this, + "权限拒绝,请手动设置开启APP访问摄像头权限", + Toast.LENGTH_SHORT + ).show() + } + } + } + + @SuppressLint("ClickableViewAccessibility", "UnsafeOptInUsageError") + private fun initController() { + cameraExecutor = Executors.newSingleThreadExecutor() + lifecycleCameraController = LifecycleCameraController(this) + lifecycleCameraController.bindToLifecycle(this) + lifecycleCameraController.imageCaptureFlashMode = ImageCapture.FLASH_MODE_AUTO + lifecycleCameraController.setImageAnalysisAnalyzer( + cameraExecutor, + QRCodeAnalyser { barcodes, imageWidth, imageHeight -> + if (barcodes.isEmpty()) { + return@QRCodeAnalyser + } + initScale(imageWidth, imageHeight) + val list = ArrayList() + val strList = ArrayList() + + barcodes.forEach { barcode -> + barcode.boundingBox?.let { rect -> + val translateRect = translateRect(rect) + list.add(translateRect) + strList.add(barcode.rawValue ?: "No Value") + } + } + judgeIntent(strList) + binding.scanView.setRectList(list) + + }) + binding.previewView.controller = lifecycleCameraController + } + + private fun judgeIntent(list: ArrayList) { + val sb = StringBuilder() + list.forEach { + sb.append(it) + //sb.append("\n") + } + intentToResult(sb.toString().trim()) + } + + private fun intentToResult(result: String) { + val resultIntent = Intent() + val bundle = Bundle() + bundle.putString("code", result) + resultIntent.putExtras(bundle) + setResult(RESULT_OK, resultIntent) + finish(); + } + + private var scaleX = 0f + private var scaleY = 0f + + private fun translateX(x: Float): Float = x * scaleX + private fun translateY(y: Float): Float = y * scaleY + + //将扫描的矩形换算为当前屏幕大小 + private fun translateRect(rect: Rect) = RectF( + translateX(rect.left.toFloat()), + translateY(rect.top.toFloat()), + translateX(rect.right.toFloat()), + translateY(rect.bottom.toFloat()) + ) + + //初始化缩放比例 + private fun initScale(imageWidth: Int, imageHeight: Int) { + //Log.e("ztzt", "imageWidth:${imageWidth} + imageHeight:${imageHeight}") + scaleY = binding.scanView.height.toFloat() / imageWidth.toFloat() + scaleX = binding.scanView.width.toFloat() / imageHeight.toFloat() + //Log.e("ztzt", "scaleX:${scaleX} + scaleY:${scaleY}") + } +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/QxgdActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/QxgdActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/TabMainActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/TabMainActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/UserChangeActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/UserChangeActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/ComfirmSblistActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/ComfirmSblistActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/DeviceTreeActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/DeviceTreeActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/QfOptionActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/QfOptionActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/SubDeviceTreeActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/SubDeviceTreeActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/TjqxdActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/TjqxdActivity.java old mode 100644 new mode 100755 index 5ccc05b..6e23027 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/TjqxdActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/TjqxdActivity.java @@ -1,21 +1,10 @@ package com.bjzc.yfdxj.activity.qfgd; -import android.Manifest; -import android.annotation.SuppressLint; -import android.app.Activity; -import android.content.Context; import android.content.Intent; -import android.content.pm.PackageManager; import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.net.Uri; -import android.os.AsyncTask; import android.os.Bundle; -import android.os.Environment; import android.provider.MediaStore; -import android.text.TextUtils; -import android.util.DisplayMetrics; import android.util.Log; import android.view.View; import android.widget.AdapterView; @@ -27,30 +16,20 @@ import com.bjzc.yfdxj.adapter.Q4UploadGridAdapter; import com.bjzc.yfdxj.base.BaseActivity3; import com.bjzc.yfdxj.bean.DeviceTreeBean; import com.bjzc.yfdxj.bean.Q4OptionBean; -import com.bjzc.yfdxj.bean.QxgdListBean; import com.bjzc.yfdxj.bean.ResultBeanQfSubmit; import com.bjzc.yfdxj.bean.XsRequestInfo; import com.bjzc.yfdxj.utils.CompressImageUtils; import com.bjzc.yfdxj.utils.NoProgresshttpUtils; -import com.bjzc.yfdxj.utils.OkhttpUtils; -import com.bjzc.yfdxj.weight.GlideEngine; import com.bumptech.glide.Glide; -import com.bjzc.yfdxj.base.BaseCallBack; import com.bjzc.yfdxj.bean.MessageEvent; import com.bjzc.yfdxj.bean.QxTjgdRequestBean; -import com.bjzc.yfdxj.bean.ResultBean2; import com.bjzc.yfdxj.bean.UploadPhotosBean; import com.bjzc.yfdxj.contans.Contans; import com.bjzc.yfdxj.utils.GsonUtils; import com.bjzc.yfdxj.utils.HttpListener; -import com.bjzc.yfdxj.utils.NohttpUtils; -import com.bjzc.yfdxj.utils.RetrofitHttpUtils; import com.bjzc.yfdxj.utils.SPUtils; import com.bjzc.yfdxj.weight.InputLayout; -import com.bumptech.glide.load.engine.DiskCacheStrategy; -import com.bumptech.glide.request.RequestOptions; import com.google.gson.Gson; -import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.entity.LocalMedia; @@ -67,11 +46,9 @@ import org.greenrobot.eventbus.ThreadMode; import java.io.File; import java.io.FileInputStream; -import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -373,38 +350,18 @@ public class TjqxdActivity extends BaseActivity3 { public void onItemClick(AdapterView parent, View view, int position, long id) { String imgs = (String) parent.getItemAtPosition(position); if ("paizhao".equals(imgs)) { -// PhotoPickerIntent intent = new PhotoPickerIntent(TjqxdActivity.this); -// intent.setSelectModel(SelectModel.MULTI); -// intent.setShowCarema(true); // 是否显示拍照 -// intent.setMaxTotal(6); // 最多选择照片数量,默认为6 -// intent.setSelectedPaths(imagePaths); // 已选中的照片地址, 用于回显选中状态 -// startActivityForResult(intent, REQUEST_CAMERA_CODE); - //相册 - PictureSelector.create(TjqxdActivity.this) - .openGallery(PictureMimeType.ofImage()) - .maxSelectNum(maxSelectNum) - .minSelectNum(1) - .imageSpanCount(3) - .imageEngine(GlideEngine.createGlideEngine()) - .selectionMode(PictureConfig.MULTIPLE) - .forResult(PictureConfig.CHOOSE_REQUEST); - -// PictureSelector.create(TjqxdActivity.this) -// .openGallery(PictureMimeType.ofImage()) -// .theme(R.style.picture_default_style) -// .imageEngine(GlideEngine.createGlideEngine()) -// .forResult(PictureConfig.CHOOSE_REQUEST); - +// PictureSelector.create(TjqxdActivity.this) +// .openGallery(PictureMimeType.ofImage()) +// .maxSelectNum(maxSelectNum) +// .minSelectNum(1) +// .imageSpanCount(3) +// .imageEngine(GlideEngine.createGlideEngine()) +// .selectionMode(PictureConfig.MULTIPLE) +// .forResult(PictureConfig.CHOOSE_REQUEST); } else { -// PhotoPreviewIntent intent = new PhotoPreviewIntent(TjqxdActivity.this); -// intent.setCurrentItem(positionTemp); -// intent.setPhotoPaths(imagePaths); -// startActivityForResult(intent, REQUEST_PREVIEW_CODE); - // 预览图片 可自定长按保存路径 - //PictureSelector.create(MainActivity.this).externalPicturePreview(position, "/custom_file", selectList); - PictureSelector.create(TjqxdActivity.this).externalPicturePreview(position, selectList, 0); + //PictureSelector.create(TjqxdActivity.this).externalPicturePreview(position, selectList, 0); } } }); @@ -517,14 +474,14 @@ public class TjqxdActivity extends BaseActivity3 { // break; case PictureConfig.CHOOSE_REQUEST: if (resultCode == RESULT_OK) { - List images = PictureSelector.obtainMultipleResult(data); - ArrayList imagePathTemp = new ArrayList<>(); - selectList.clear(); - selectList.addAll(images); - for (LocalMedia localMedia : images) { - imagePathTemp.add(localMedia.getPath()); - } - loadAdpater(imagePathTemp); +// List images = PictureSelector.obtainMultipleResult(data); +// ArrayList imagePathTemp = new ArrayList<>(); +// selectList.clear(); +// selectList.addAll(images); +// for (LocalMedia localMedia : images) { +// imagePathTemp.add(localMedia.getPath()); +// } +// loadAdpater(imagePathTemp); } break; // case REQUEST_PREVIEW_CODE: @@ -661,74 +618,42 @@ public class TjqxdActivity extends BaseActivity3 { Log.i("app", filePath); Log.i("app", String.valueOf(fileImage.length())); Log.i("app", "--------------->"); - Luban.with(this) - .load(fileImage) // 传人要压缩的图片列表 - .ignoreBy(1024) // 忽略不压缩图片的大小 - .setTargetDir(CompressImageUtils.BitmapUtils.getFilePath()) // 设置压缩后文件存储位置 - .setCompressListener(new OnCompressListener() { //设置回调 - @Override - public void onStart() { - // TODO 压缩开始前调用,可以在方法内启动 loading UI - } - - @Override - public void onSuccess(File file) { - // TODO 压缩成功后调用,返回压缩后的图片文件 - - TjqxdActivity.this.runOnUiThread(new Runnable() { - @Override - public void run() { - // refresh ui 的操作代码 - Log.i("app", String.valueOf(file.length())); - Log.i("app", file.getAbsolutePath()); - Log.i("app", file.getName()); - Log.i("app", "<--------------->"); - imageTotals++; - uploadedFiles.add(file); - if (imageTotals == split.length) { - uploadCompressImages(gdid); - } - } - }); - } - - @Override - public void onError(Throwable e) { - // TODO 当压缩过程出现问题时调用 - } - }).launch(); //启动压缩 - - -// CompressImageUtils.ImageCompressTask compressTask = new CompressImageUtils.ImageCompressTask(context, new CompressImageUtils.ImageCompressTask.CompressListener() { -// @Override -// public void Success(String imagePath) { -// if (imagePath != null) { -// imageTotals++; -// -// File fileCompressImage = new File(imagePath); -// uploadedFiles.add(fileCompressImage); -// Log.i("app", fileCompressImage.getName()); -// Log.i("app", String.valueOf(fileCompressImage.length())); -// Log.i("app","<--------------->"); -// RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), fileCompressImage); -// builder.addFormDataPart("file" + fileIndex, fileCompressImage.getName(), imageBody); -// if (imageTotals == split.length) { -// Log.i("app",String.valueOf(uploadedFiles.size())); -// cursor.close(); -// CompressImageUtils.LoadingDialog.dismissDialog(); -// uploadCompressImages(builder, gdid); -// } +// Luban.with(this) +// .load(fileImage) // 传人要压缩的图片列表 +// .ignoreBy(1024) // 忽略不压缩图片的大小 +// .setTargetDir(CompressImageUtils.BitmapUtils.getFilePath()) // 设置压缩后文件存储位置 +// .setCompressListener(new OnCompressListener() { //设置回调 +// @Override +// public void onStart() { +// // TODO 压缩开始前调用,可以在方法内启动 loading UI // } -// } // -// @Override -// public void onProgressUpdate(Integer... values) { +// @Override +// public void onSuccess(File file) { +// // TODO 压缩成功后调用,返回压缩后的图片文件 // -// } -// }); -// compressTask.execute(filePath, file.getName()); - - +// TjqxdActivity.this.runOnUiThread(new Runnable() { +// @Override +// public void run() { +// // refresh ui 的操作代码 +// Log.i("app", String.valueOf(file.length())); +// Log.i("app", file.getAbsolutePath()); +// Log.i("app", file.getName()); +// Log.i("app", "<--------------->"); +// imageTotals++; +// uploadedFiles.add(file); +// if (imageTotals == split.length) { +// uploadCompressImages(gdid); +// } +// } +// }); +// } +// +// @Override +// public void onError(Throwable e) { +// // TODO 当压缩过程出现问题时调用 +// } +// }).launch(); } } else { @@ -739,41 +664,41 @@ public class TjqxdActivity extends BaseActivity3 { Log.i("app", filePath); File fileImage = new File(filePath); - Luban.with(this) - .load(fileImage) // 传人要压缩的图片列表 - .ignoreBy(1024) // 忽略不压缩图片的大小 - .setTargetDir(CompressImageUtils.BitmapUtils.getFilePath()) // 设置压缩后文件存储位置 - .setCompressListener(new OnCompressListener() { //设置回调 - @Override - public void onStart() { - // TODO 压缩开始前调用,可以在方法内启动 loading UI - } - - @Override - public void onSuccess(File file) { - // TODO 压缩成功后调用,返回压缩后的图片文件 - - TjqxdActivity.this.runOnUiThread(new Runnable() { - @Override - public void run() { - // refresh ui 的操作代码 - Log.i("app", String.valueOf(file.length())); - Log.i("app", file.getAbsolutePath()); - Log.i("app", file.getName()); - Log.i("app", "<--------------->"); - imageTotals++; - uploadedFiles.add(file); - CompressImageUtils.LoadingDialog.dismissDialog(); - uploadCompressImages(gdid); - } - }); - } - - @Override - public void onError(Throwable e) { - // TODO 当压缩过程出现问题时调用 - } - }).launch(); //启动压缩 +// Luban.with(this) +// .load(fileImage) // 传人要压缩的图片列表 +// .ignoreBy(1024) // 忽略不压缩图片的大小 +// .setTargetDir(CompressImageUtils.BitmapUtils.getFilePath()) // 设置压缩后文件存储位置 +// .setCompressListener(new OnCompressListener() { //设置回调 +// @Override +// public void onStart() { +// // TODO 压缩开始前调用,可以在方法内启动 loading UI +// } +// +// @Override +// public void onSuccess(File file) { +// // TODO 压缩成功后调用,返回压缩后的图片文件 +// +// TjqxdActivity.this.runOnUiThread(new Runnable() { +// @Override +// public void run() { +// // refresh ui 的操作代码 +// Log.i("app", String.valueOf(file.length())); +// Log.i("app", file.getAbsolutePath()); +// Log.i("app", file.getName()); +// Log.i("app", "<--------------->"); +// imageTotals++; +// uploadedFiles.add(file); +// CompressImageUtils.LoadingDialog.dismissDialog(); +// uploadCompressImages(gdid); +// } +// }); +// } +// +// @Override +// public void onError(Throwable e) { +// // TODO 当压缩过程出现问题时调用 +// } +// }).launch(); //启动压缩 } } diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/ZRbzBmListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/ZRbzBmListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/DensityUtil.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/DensityUtil.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreeAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreeAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreePoint.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreePoint.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreePointBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreePointBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreeUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/qfgd/tree/TreeUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckTemperatureDqgzActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckTemperatureDqgzActivity.java deleted file mode 100644 index 3f7e2ef..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckTemperatureDqgzActivity.java +++ /dev/null @@ -1,318 +0,0 @@ -package com.bjzc.yfdxj.activity.regular; - - -import android.annotation.SuppressLint; -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.TextUtils; -import android.view.View; -import android.view.inputmethod.InputMethodManager; -import android.widget.Button; -import android.widget.EditText; -import android.widget.TextView; - -import androidx.localbroadcastmanager.content.LocalBroadcastManager; - -import com.bjzc.yfdxj.DBModel.Dqgz; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.BaseActivity3; -import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.SPUtils; -import com.bjzc.yfdxj.weight.AuditDialog; -import com.bjzc.yfdxj.weight.EditDialog; -import com.rinsun.mtdriver.MTnativeInterface; - -import org.litepal.crud.DataSupport; - -import java.text.SimpleDateFormat; -import java.util.Date; - - -public class CheckTemperatureDqgzActivity extends BaseActivity3 { - - EditText etRealValue; - EditText noticeValue; - Button btnSubmit; - TextView checkTip; - TextView standerTip; - - - private String temperatureValue; - //public static final int RESULT_SUCCESS = 1; - //private String checkType; - //是否可编辑 - private boolean isEdit = false; - private String username; - - //频谱用到的变量///////////////////////////// - private double edit16LA; - private double edit16LV; - private double edit16LD; - private double edit16HA; - private double edit16HV; - private double edit16HD; - - private double[] ppsour; - private int ppfreq; // <1280,5120,12800> - private int pplen; // 1024, 4096, 8192 - /////////////////////////////////////////////// - - MTnativeInterface mt= MTnativeInterface.getInstance();//获取传感器调用接口 - Intent intentTemplate; - //页面传过来的数据 - Dqgz dqgz; - - @Override - public int getLayoutId() { - return R.layout.activity_check_temperature; - } - - @Override - public void initView() { - etRealValue = findViewById(R.id.et_realValue); - noticeValue = findViewById(R.id.et_noticeValue); - btnSubmit = findViewById(R.id.btn_submit); - checkTip = findViewById(R.id.tv_checkTip); - standerTip = findViewById(R.id.tv_standerTip); - - etRealValue.setEnabled(true); - username = (String) SPUtils.get(context, Contans.USERID, ""); - - - Bundle bundle = CheckTemperatureDqgzActivity.this.getIntent().getExtras(); - if (bundle != null) { - isEdit = bundle.getBoolean("edit"); - if(isEdit){ - initToolbar("测温", "开始测量", new View.OnClickListener() { - @Override - public void onClick(View v) { - demo(); - } - }); - }else{ - initToolbar("测温", "", new View.OnClickListener() { - @Override - public void onClick(View v) { - - } - }); - btnSubmit.setVisibility(View.GONE); - } - } - - noticeValue.setKeyListener(null); - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff,int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff)+"/"+CMDtype+"/"+tag); - - //收到普通测量值 - updateUI(new String(recBuff));//可直接显示数据 - - //收到频谱采集部分 - //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 - System.out.println((recBuff.length)+"/"+CMDtype+"/"+tag); - } - }); - btnSubmit.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - temperatureValue = etRealValue.getText().toString(); - if(temperatureValue.equals("")){ - showToast("实际值不能为空"); - }else{ - AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { - @Override - public void confirm() { - if (isEdit) { - if(!etRealValue.getText().toString().trim().equals("")){ - String dateNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - ContentValues values = new ContentValues(); - values.put("isWorkChecked", true); - values.put("SCNR", temperatureValue); - values.put("DATE", dateNow); - DataSupport.updateAll(Dqgz.class, values, "rwid = ? and username = ? ",dqgz.getRWID(),username); - dqgz.setWorkChecked(true); - dqgz.setDATE(dateNow); - dqgz.setSCNR(temperatureValue); - dqgz.setSCBZ(""); - Intent intent = new Intent(Contans.ACTION_YULTWO); - Bundle bundle = new Bundle(); - bundle.putParcelable("bean", dqgz); - intent.putExtras(bundle); - //发送广播 - LocalBroadcastManager.getInstance(context).sendBroadcast(intent);; - } - } - - Intent intent = new Intent(); - intent.putExtra("value", temperatureValue); - //intent.putExtra("checkType", checkType); - setResult(RESULT_OK, intent); - finish(); - } - - @Override - public void cancel() { - - } - }); - auditDialog.show(); - } - } - }); - noticeValue.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View view) { - //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); - EditDialog editDialog = new EditDialog(context); - editDialog.setMessage(noticeValue.getText().toString().trim()); - editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { - @Override - public void onYesClick(String phone) { - if (!TextUtils.isEmpty(phone)) { - noticeValue.setText(phone); - } - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { - @Override - public void onNoClick() { - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.show(); - return false; - } - }); - } - - @SuppressLint("SetTextI18n") - @Override - public void initData() { - intentTemplate = getIntent(); - dqgz = intentTemplate.getParcelableExtra("bean"); - if (dqgz != null) { - if(dqgz.getZX_MC()!=null){ - standerTip.setText(dqgz.getZX_MC()); - } - if(dqgz.getZX_NR()!=null){ - checkTip.setText(dqgz.getZX_NR()); - } - if(dqgz.getSCNR()!=null){ - etRealValue.setText(dqgz.getSCNR()); - } - } - } - - @Override - protected void onResume() { - super.onResume(); - } - - @Override - protected void onPause() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onPause(); - } - - public void demo(){ - /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ - //mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) - //mt.RFIDread(-1,""); - - - /*======转速示例============================================================================================*/ - //mt.RPMopen();//开启电源。 - - /*=====测温示例,参数说明见“说明文档.txt”=================================================================*/ - mt.IRTopen(MTnativeInterface.TEMP_25);//开启电源。 - mt.IRTread(95); - - /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ -// mt.VIBopen();//开启电源。 -// //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) -// mt.VIBread(MTnativeInterface.CMD_VIBD_R,0); - - //频谱采集测量。 - // mt.VIBset(MTnativeInterface.CMD_ALL_W,"RK");//频谱采集前,必须读取一次"频谱参数",频谱计算过程要用到 -// Button but = (Button) findViewById(R.id.button1); -// but.setText("频谱采集"); -// but.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// ppfreq=1280;//可选频率 1280 5120 12800 -// pplen=1024;//对应返回数据长度1024, 4096, 8192 -// ppsour = new double[pplen]; -// //开始频谱采集,参数CMDtype采样类型有三个可选CMD_VIBA_P加速度、CMD_VIBD_P位移、CMD_VIBV_P速度。参数level采样频率有三个可选 1280 5120 12800 -// //mt.VIBread(MTnativeInterface.CMD_VIBA_P,ppfreq); -// //执行下面代码可停止频谱采集 -// //mt.VIBread(0,0); -// } -// }); -// Button btnSecond = (Button) findViewById(R.id.button2); -// btnSecond.setOnClickListener(new View.OnClickListener() { -// @Override -// public void onClick(View view) { -// -// } -// }); - } - - private double getRK(int type){ - double res=0.0; - switch(type) { - case MTnativeInterface.CMD_VIBA_P: - res = edit16LA; - case MTnativeInterface.CMD_VIBV_P: - res=edit16LV; - case MTnativeInterface.CMD_VIBD_P: - res=edit16LD; - } - return res; - } - - public void updateUI(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if(info!=null){ - if(etRealValue!=null){ - //temperatureValue = info; - etRealValue.setText(info); - } - } - } - }); - } - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } -} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckVibrationDqgzActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckVibrationDqgzActivity.java deleted file mode 100644 index 9af056a..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/CheckVibrationDqgzActivity.java +++ /dev/null @@ -1,360 +0,0 @@ -package com.bjzc.yfdxj.activity.regular; - - -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.text.TextUtils; -import android.view.View; -import android.view.inputmethod.InputMethodManager; -import android.widget.Button; -import android.widget.EditText; -import android.widget.RadioGroup; -import android.widget.TextView; - -import androidx.localbroadcastmanager.content.LocalBroadcastManager; - -import com.bjzc.yfdxj.DBModel.Dqgz; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.BaseActivity3; -import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.SPUtils; -import com.bjzc.yfdxj.weight.AuditDialog; -import com.bjzc.yfdxj.weight.EditDialog; -import com.rinsun.mtdriver.MTnativeInterface; -import org.litepal.crud.DataSupport; -import java.text.SimpleDateFormat; -import java.util.Date; - -public class CheckVibrationDqgzActivity extends BaseActivity3 { - - TextView etRealTitle; - EditText etRealValue; - EditText noticeValue; - Button btnSubmit; - TextView checkTip; - TextView standerTip; - RadioGroup rgLevel; - RadioGroup rgType; - - - private String vibrationValue; - public static final int RESULT_SUCCESS = 1; - //private String checkType; - int checkVibrationType = MTnativeInterface.CMD_VIBD_R; - int level = 0; - // 振动位移单位 mm - //振动速度单位 mm/s - //振动加速度单位 mm/(s^2) - //String measure = "mm"; - //是否可编辑 - private boolean isEdit = false; - //页面传过来的数据 - Dqgz dqgz; - - //频谱用到的变量///////////////////////////// - private double edit16LA; - private double edit16LV; - private double edit16LD; - private double edit16HA; - private double edit16HV; - private double edit16HD; - - private double[] ppsour; - private int ppfreq; // <1280,5120,12800> - private int pplen; // 1024, 4096, 8192 - /////////////////////////////////////////////// - - MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 - Intent intentTemplate; - private String username; - - - @Override - public int getLayoutId() { - return R.layout.activity_check_vibration; - } - - @Override - public void initView() { - etRealTitle = findViewById(R.id.tv_realTitle); - etRealValue = findViewById(R.id.et_realValue); - noticeValue = findViewById(R.id.et_noticeValue); - btnSubmit = findViewById(R.id.btn_submit); - checkTip = findViewById(R.id.tv_checkTip); - standerTip = findViewById(R.id.tv_standerTip); - rgLevel = findViewById(R.id.rgLevel); - rgType = findViewById(R.id.rgType); - - etRealValue.setEnabled(true); - username = (String) SPUtils.get(context, Contans.USERID, ""); - - - - - Bundle bundle = CheckVibrationDqgzActivity.this.getIntent().getExtras(); - if (bundle != null) { - isEdit = bundle.getBoolean("edit"); - if (isEdit) { - initToolbar("测振", "开始测量", new View.OnClickListener() { - @Override - public void onClick(View v) { - demo(); - } - }); - } else { - initToolbar("测振", "", new View.OnClickListener() { - @Override - public void onClick(View v) { - - } - }); - btnSubmit.setVisibility(View.GONE); - } - } - - noticeValue.setKeyListener(null); - - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - System.out.println("-------------"); - System.out.println(new String(recBuff) + "/" + CMDtype + "/" + tag); - - if (CMDtype == MTnativeInterface.CMD_VIBA_R) { - if (recBuff != null) { - String recv = new String(recBuff); - String cut = " "; - String[] newStr = recv.split(cut); // 分割成数组 - updateUI(newStr[0]);//可直接显示数据 - } - } else { - //收到普通测量值 - updateUI(new String(recBuff));//可直接显示数据 - } - - //收到频谱采集部分 - //recBuff 原始数据数组,CMDtype 返回数据类型,tag 数据长度 - System.out.println((recBuff.length) + "/" + CMDtype + "/" + tag); - } - }); - btnSubmit.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - vibrationValue = etRealValue.getText().toString().trim(); - if (vibrationValue.equals("")) { - showToast("实际值不能为空"); - } else { - AuditDialog auditDialog = new AuditDialog(context, "确定要保存数据吗?", new AuditDialog.AuditDialogListener() { - @Override - public void confirm() { - if (isEdit) { - if (!etRealValue.getText().toString().trim().equals("")) { - String dateNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - ContentValues values = new ContentValues(); - values.put("isWorkChecked", true); - values.put("SCNR", vibrationValue); - values.put("DATE", dateNow); - DataSupport.updateAll(Dqgz.class, values, "rwid = ? and username = ? ", dqgz.getRWID(), username); - dqgz.setWorkChecked(true); - dqgz.setDATE(dateNow); - dqgz.setSCNR(vibrationValue); - dqgz.setSCBZ(""); - Intent intent = new Intent(Contans.ACTION_YULTWO); - Bundle bundle = new Bundle(); - bundle.putParcelable("bean", dqgz); - intent.putExtras(bundle); - //发送广播 - LocalBroadcastManager.getInstance(context).sendBroadcast(intent);; - } - } - Intent intent = new Intent(); - intent.putExtra("value", vibrationValue); - setResult(RESULT_OK, intent); - finish(); - } - - @Override - public void cancel() { - - } - }); - auditDialog.show(); - } - } - }); - rgLevel.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup radioGroup, int i) { - if(i==R.id.rb1){ - level = 0; - demo();//测量 - } - if(i==R.id.rb2){ - level = 1; - demo();//测量 - } -// switch (i) { -// case R.id.rb1: -// level = 0; -// demo();//测量 -// break; -// case R.id.rb2: -// level = 1; -// demo();//测量 -// break; -// } - } - }); - rgType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup radioGroup, int i) { - if(i==R.id.rb3){ - checkVibrationType = MTnativeInterface.CMD_VIBD_R; - etRealTitle.setText("实际值(mm):"); - if(isEdit){ - demo();//测量 - } - } - if(i==R.id.rb4){ - checkVibrationType = MTnativeInterface.CMD_VIBV_R; - etRealTitle.setText("实际值(mm/s):"); - if(isEdit){ - demo();//测量 - } - } - if(i==R.id.rb5){ - checkVibrationType = MTnativeInterface.CMD_VIBA_R; - etRealTitle.setText("实际值(mm/(s^2)):"); - if(isEdit){ - demo();//测量 - } - } - -// switch (i) { -// case R.id.rb3: -// checkVibrationType = MTnativeInterface.CMD_VIBD_R; -// etRealTitle.setText("实际值(mm):"); -// demo();//测量 -// break; -// case R.id.rb4: -// checkVibrationType = MTnativeInterface.CMD_VIBV_R; -// etRealTitle.setText("实际值(mm/s):"); -// demo();//测量 -// break; -// case R.id.rb5: -// checkVibrationType = MTnativeInterface.CMD_VIBA_R; -// etRealTitle.setText("实际值(mm/(s^2)):"); -// demo();//测量 -// break; -// } - } - }); - noticeValue.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View view) { - //Toast.makeText(context, "onLongClick", Toast.LENGTH_SHORT).show(); - EditDialog editDialog = new EditDialog(context); - editDialog.setMessage(noticeValue.getText().toString().trim()); - editDialog.setYesOnclickListener("确定", new EditDialog.onYesOnclickListener() { - @Override - public void onYesClick(String phone) { - if (!TextUtils.isEmpty(phone)) { - noticeValue.setText(phone); - } - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.setNoOnclickListener("取消", new EditDialog.onNoOnclickListener() { - @Override - public void onNoClick() { - //让软键盘隐藏 - InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); - if (imm.isActive()) { - imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // 隐藏 - } - editDialog.dismiss(); - } - }); - editDialog.show(); - return false; - } - }); - } - - @Override - public void initData() { - intentTemplate = getIntent(); - dqgz = intentTemplate.getParcelableExtra("bean"); - if (dqgz != null) { - if (dqgz.getZX_MC() != null) { - standerTip.setText(dqgz.getZX_MC()); - } - if (dqgz.getZX_NR() != null) { - checkTip.setText(dqgz.getZX_NR()); - } - if (dqgz.getSCNR() != null) { - etRealValue.setText(dqgz.getSCNR()); - } - } - } - - @Override - protected void onResume() { - //demo();//测量 - super.onResume(); - } - - @Override - protected void onPause() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onPause(); - } - - public void demo() { - /*=======测振示例,参数说明见“说明文档.txt”================================================================*/ - mt.VIBopen();//开启电源。 - //振动值测量。(振动值测量和频谱采集同时只能使用其中一个) - //读振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBA_R 振动加速度(加速度回传了2个值,取第一个就可以) - //CMD_VIBD_R 振动位移 - //CMD_VIBA_R 振动速度 - mt.VIBread(checkVibrationType, level); - } - - public void updateUI(final String info) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (info != null) { - if (etRealValue != null) { - etRealValue.setText(info); - } - } - } - }); - } - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } - -} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzActivity.java old mode 100644 new mode 100755 index 167e650..764c28e --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzActivity.java @@ -151,25 +151,25 @@ public class DqgzActivity extends BaseActivity3 { startActivityForResult(intent, REQUEST_CHECK_SEE_INPUT); }else { if (xSJJHDataBean.getZX_LRFS().equals("0") && xSJJHDataBean.getZX_CBLX().equals("W")) { - Intent intentTemplate = new Intent(DqgzActivity.this, CheckTemperatureDqgzActivity.class); - Bundle bundle = new Bundle(); - bundle.putParcelable("bean", xSJJHDataBean); - bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); - bundle.putString("standerTip", "≤40℃"); - bundle.putString("checkType", "234233"); - bundle.putBoolean("edit", isEdit); - intentTemplate.putExtras(bundle); - startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); +// Intent intentTemplate = new Intent(DqgzActivity.this, CheckTemperatureDqgzActivity.class); +// Bundle bundle = new Bundle(); +// bundle.putParcelable("bean", xSJJHDataBean); +// bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); +// bundle.putString("standerTip", "≤40℃"); +// bundle.putString("checkType", "234233"); +// bundle.putBoolean("edit", isEdit); +// intentTemplate.putExtras(bundle); +// startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); } else if (xSJJHDataBean.getZX_LRFS().equals("0") && xSJJHDataBean.getZX_CBLX().equals("Z")) { - Intent intentTemplate = new Intent(DqgzActivity.this, CheckVibrationDqgzActivity.class); - Bundle bundle = new Bundle(); - bundle.putParcelable("bean", xSJJHDataBean); - bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); - bundle.putString("standerTip", "≤11.2mm/s"); - bundle.putString("checkType", "234235"); - bundle.putBoolean("edit", isEdit); - intentTemplate.putExtras(bundle); - startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); +// Intent intentTemplate = new Intent(DqgzActivity.this, CheckVibrationDqgzActivity.class); +// Bundle bundle = new Bundle(); +// bundle.putParcelable("bean", xSJJHDataBean); +// bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); +// bundle.putString("standerTip", "≤11.2mm/s"); +// bundle.putString("checkType", "234235"); +// bundle.putBoolean("edit", isEdit); +// intentTemplate.putExtras(bundle); +// startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); } else { Intent intent = new Intent(DqgzActivity.this, DqgzCheckActivity.class); Bundle bundle = new Bundle(); diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzCheckActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzCheckActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzDownFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzDownFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzMainActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzMainActivity.java old mode 100644 new mode 100755 index 0c93013..0269c47 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzMainActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzMainActivity.java @@ -7,7 +7,7 @@ import android.view.View; import com.bjzc.yfdxj.DBModel.Profession; import com.bjzc.yfdxj.base.BaseActivity3; import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.OAToolbar; +import com.bjzc.yfdxj.weight.OAToolbar; import com.bjzc.yfdxj.weight.ListDialog; import com.google.android.material.tabs.TabLayout; import com.bjzc.yfdxj.R; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpAndDownActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpAndDownActivity.java old mode 100644 new mode 100755 index 33a1c7e..1a4c3c9 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpAndDownActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpAndDownActivity.java @@ -7,7 +7,7 @@ import android.view.View; import com.bjzc.yfdxj.DBModel.Profession; import com.bjzc.yfdxj.base.BaseActivity3; import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.OAToolbar; +import com.bjzc.yfdxj.weight.OAToolbar; import com.bjzc.yfdxj.weight.ListDialog; import com.google.android.material.tabs.TabLayout; import com.bjzc.yfdxj.R; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/DqgzUpFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/LLSJFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/LLSJFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/QtgzFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/QtgzFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/RegularActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/regular/RegularActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/BzFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/BzFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/CJFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/CJFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/ChangeYulActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/ChangeYulActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjMainActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjMainActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjdscFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjdscFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjgwListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/DjgwListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FXFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FXFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FfFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FfFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FragmentAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/FragmentAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/MainSbxdjglActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/MainSbxdjglActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/OldqxgdFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/OldqxgdFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/QxgdFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/QxgdFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SbSelectActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SbSelectActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SbxdjcjsbActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SbxdjcjsbActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdjSbListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdjSbListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdjgzActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdjgzActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdlbActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SdlbActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SxcdjActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/SxcdjActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/TipsActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/TipsActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/WjFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/WjFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/XzjhFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/XzjhFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YjwscFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YjwscFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YscFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YscFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YulActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/YulActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/Yul_SBActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxdj/Yul_SBActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/CheckedListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/CheckedListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/CheckedStatusListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/CheckedStatusListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/NFCInfoActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/NFCInfoActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/NoCheckedListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/NoCheckedListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SbxjcjsbActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SbxjcjsbActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/ScxsjhFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/ScxsjhFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxSbListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxSbListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxgzActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxgzActivity.java old mode 100644 new mode 100755 index 5cc24c3..639c6ac --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxgzActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/SxgzActivity.java @@ -5,8 +5,9 @@ import android.content.ContentValues; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Color; -import android.os.Build; import android.os.Bundle; +import android.os.Handler; +import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.LinearLayout; @@ -14,19 +15,21 @@ import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; import androidx.annotation.NonNull; -import androidx.annotation.RequiresApi; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; - import com.bjzc.yfdxj.DBModel.UploadLocation; import com.bjzc.yfdxj.DBModel.XSJJHDataBean; import com.bjzc.yfdxj.DBModel.XSJJHXZDataBean; import com.bjzc.yfdxj.R; +import com.bjzc.yfdxj.activity.QrCodeActivity; import com.bjzc.yfdxj.adapter.CommonAdapter; import com.bjzc.yfdxj.adapter.ViewHolder; import com.bjzc.yfdxj.base.BaseActivity3; -import com.bjzc.yfdxj.base.MipcaActivityCapture; import com.bjzc.yfdxj.bean.PointCheckedPersion; import com.bjzc.yfdxj.bean.XsRequestInfo; import com.bjzc.yfdxj.contans.Contans; @@ -38,20 +41,16 @@ import com.bjzc.yfdxj.utils.SPUtils; import com.bjzc.yfdxj.weight.BaCheckDialog; import com.bjzc.yfdxj.weight.toastviewbymyself; import com.google.gson.Gson; -import com.rinsun.mtdriver.MTnativeInterface; import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.RequestMethod; import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.Response; - import org.litepal.crud.DataSupport; - import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; - import static com.bjzc.yfdxj.utils.GsonUtils.GsonToBean; import static org.litepal.crud.DataSupport.where; @@ -77,8 +76,6 @@ public class SxgzActivity extends BaseActivity3 { private List noCheckeListBA = new ArrayList<>(); private List qybh = new ArrayList<>(); private ArrayList xsjjhDataBeanArrayList = new ArrayList<>();//点检记录列表 - //RFID - MTnativeInterface mt = MTnativeInterface.getInstance();//获取传感器调用接口 String nfcValue = null; String lastNfcbm = null; String lastTxm = null; @@ -86,6 +83,8 @@ public class SxgzActivity extends BaseActivity3 { private String username; BaCheckDialog auditDialog = null; + ActivityResultLauncher launcherResultQRCode; + @Override public int getLayoutId() { return R.layout.activity_xsgz; @@ -106,8 +105,13 @@ public class SxgzActivity extends BaseActivity3 { } private void goScan() { - Intent intent = new Intent(SxgzActivity.this, MipcaActivityCapture.class); - startActivityForResult(intent, 1); + intentTOQRCode(); + } + + private void intentTOQRCode() { + Intent intent = new Intent(SxgzActivity.this, QrCodeActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + launcherResultQRCode.launch(intent); } @Override @@ -120,6 +124,7 @@ public class SxgzActivity extends BaseActivity3 { ll_nocheck = findViewById(R.id.ll_nocheck); ll_check = findViewById(R.id.ll_check); + launcherResultQRCode = createQRCodeActivityResultLauncher(); Intent intent = getIntent(); type = intent.getStringExtra("type"); @@ -141,49 +146,16 @@ public class SxgzActivity extends BaseActivity3 { } }); - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); + //初始化nfc initNFC(); - //回调函数(自动返回数据)。CMDtype:数据类型,参数说明见“说明文档.txt” - mt.setOnReceiveListener(new MTnativeInterface.OnReceiveListener() { - @Override - public void onShowMessage(byte[] recBuff, int CMDtype, int tag) { - /* 根据CMDtype区分数据类型,普通测量值/频谱数据/配置数据。如果10秒没读到数据会返回超时提示并关闭电源 */ - if (CMDtype == MTnativeInterface.CMD_RFID_R) { - runOnUiThread(new Runnable() { - @Override - public void run() { - if (recBuff != null) { - if (nfcValue == null) { - //RFID数据 - String recv = new String(recBuff); - nfcValue = recv; - handleNfcCheck(nfcValue); - //handleNfcCheck("047498529E0F90"); - } else { - String recv = new String(recBuff); - if (!nfcValue.equals(recv)) { - nfcValue = recv; - handleNfcCheck(nfcValue); - //handleNfcCheck("047498529E0F90"); - } - } - } - } - }); - } - } - }); + lv.setOnScrollChangeListener(new View.OnScrollChangeListener() { @Override public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { nfcValue = null; - readRFID(); } }); + ll_check.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -235,10 +207,28 @@ public class SxgzActivity extends BaseActivity3 { setListData(); } - public void readRFID() { - /*========读卡示例,参数说明见“说明文档.txt”============================================================*/ - mt.RFIDopen(MTnativeInterface.CARD_14443);//开启电源。(不可与振动同时打开,它们共用硬件资源) - mt.RFIDread(-1, ""); + /** + * 二维码扫描回调 + */ + private ActivityResultLauncher createQRCodeActivityResultLauncher() { + return registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), + new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + // 扫描二维码/条码回传 + int resultCode = result.getResultCode(); + Intent data = result.getData(); + if (resultCode == RESULT_OK) { + if(data!=null){ + String qrCodeStr = data.getStringExtra("code"); + showLog(qrCodeStr); + if (!TextUtils.isEmpty(qrCodeStr)) { + handleTwoCodeCheck(qrCodeStr); + } + } + } + } + }); } //加载数据库中已经下载的计划 @@ -760,8 +750,7 @@ public class SxgzActivity extends BaseActivity3 { info.setNfcbm(uploadLocatio.getNfcbm()); info.setDjsj(uploadLocatio.getDjsj()); info.setUsername(uploadLocatio.getUsername()); - String json = GsonUtils.GsonString(info); - return json; + return GsonUtils.GsonString(info); } private String createJsonByUploadLocationTxm(UploadLocation uploadLocatio) { @@ -770,8 +759,7 @@ public class SxgzActivity extends BaseActivity3 { info.setTxm(uploadLocatio.getTxm()); info.setDjsj(uploadLocatio.getDjsj()); info.setUsername(uploadLocatio.getUsername()); - String json = GsonUtils.GsonString(info); - return json; + return GsonUtils.GsonString(info); } private void getLastUploadUser(String nfcbm) { @@ -787,7 +775,7 @@ public class SxgzActivity extends BaseActivity3 { showLog(result); PointCheckedPersion bean = GsonToBean(result, PointCheckedPersion.class); if (bean != null && bean.getState() == 1) { - if (bean.getData().size() > 0) { + if (!bean.getData().isEmpty()) { String msg = ""; PointCheckedPersion.DataBean item = bean.getData().get(0); if (item.getScr() != null) { @@ -831,7 +819,7 @@ public class SxgzActivity extends BaseActivity3 { PointCheckedPersion bean = GsonToBean(result, PointCheckedPersion.class); if (bean != null && bean.getState() == 1) { - if (bean.getData().size() > 0) { + if (!bean.getData().isEmpty()) { String msg = ""; PointCheckedPersion.DataBean item = bean.getData().get(0); if (item.getScr() != null) { @@ -865,9 +853,7 @@ public class SxgzActivity extends BaseActivity3 { info.setAction("XJ_LAST_UPLOAD_POINT_CHECKED"); info.setNfcbm(nfcbm); info.setType(type); - String json = GsonUtils.GsonString(info); - //Log.i("app",json); - return json; + return GsonUtils.GsonString(info); } private String createJsonByLastUploadUserTwoCode(String txm) { @@ -875,28 +861,7 @@ public class SxgzActivity extends BaseActivity3 { info.setAction("XJ_LAST_UPLOAD_POINT_CHECKED_TXM"); info.setTxm(txm); info.setType(type); - String json = GsonUtils.GsonString(info); - //Log.i("app",json); - return json; - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - switch (requestCode) { - case 1: - if (resultCode == RESULT_OK) { - Bundle bundle = data.getExtras(); - String ewm = bundle.getString("result"); - if (ewm != null) { - //Log.i("app",ewm); - handleTwoCodeCheck(ewm); - } - } - break; - default: - break; - } + return GsonUtils.GsonString(info); } @Override @@ -909,27 +874,6 @@ public class SxgzActivity extends BaseActivity3 { @Override protected void onResume() { super.onResume(); - readRFID(); nfcValue = null; } - - @Override - protected void onPause() { - super.onPause(); - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - } - - @Override - protected void onDestroy() { - //使用完一定记得关闭电源 - mt.RFIDclose(); - mt.IRTclose(); - mt.VIBclose(); - mt.RPMclose(); - super.onDestroy(); - } } \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJCJFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJCJFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJStatisticsActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJStatisticsActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJStatisticsMyUploadActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XJStatisticsMyUploadActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjMainActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjMainActivity.java old mode 100644 new mode 100755 index d0e6a7b..9ac4590 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjMainActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjMainActivity.java @@ -6,7 +6,7 @@ import android.view.View; import com.bjzc.yfdxj.DBModel.Profession; import com.bjzc.yfdxj.base.BaseActivity3; import com.bjzc.yfdxj.contans.Contans; -import com.bjzc.yfdxj.utils.OAToolbar; +import com.bjzc.yfdxj.weight.OAToolbar; import com.bjzc.yfdxj.weight.ListDialog; import com.google.android.material.tabs.TabLayout; import com.bjzc.yfdxj.R; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjSbListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjSbListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjYulActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjYulActivity.java old mode 100644 new mode 100755 index 4c3f1f8..abde9e9 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjYulActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XjYulActivity.java @@ -16,8 +16,6 @@ import android.widget.Toast; import com.bjzc.yfdxj.DBModel.XSJJHDataBean; import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.activity.CheckTemperatureActivity; -import com.bjzc.yfdxj.activity.CheckVibrationActivity; import com.bjzc.yfdxj.adapter.DlbAdapter; import com.bjzc.yfdxj.base.BaseActivity3; import com.bjzc.yfdxj.bean.DlbInfo; @@ -223,27 +221,27 @@ public class XjYulActivity extends BaseActivity3 { startActivityForResult(intent, Req); } else { if (xSJJHDataBean.getLRFS().equals("0") && xSJJHDataBean.getCBLX().equals("W")) { - Intent intentTemplate = new Intent(XjYulActivity.this, CheckTemperatureActivity.class); - Bundle bundle = new Bundle(); - bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); - bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); - bundle.putString("standerTip", "≤40℃"); - bundle.putString("checkType", "234233"); - bundle.putBoolean("edit", isEdit); - bundle.putString("smfs", smfs); - intentTemplate.putExtras(bundle); - startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); +// Intent intentTemplate = new Intent(XjYulActivity.this, CheckTemperatureActivity.class); +// Bundle bundle = new Bundle(); +// bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); +// bundle.putString("checkTip", "日检破碎机,驱动部电机驱动端温度"); +// bundle.putString("standerTip", "≤40℃"); +// bundle.putString("checkType", "234233"); +// bundle.putBoolean("edit", isEdit); +// bundle.putString("smfs", smfs); +// intentTemplate.putExtras(bundle); +// startActivityForResult(intentTemplate, REQUEST_CHECK_TEMPERATURE); } else if (xSJJHDataBean.getLRFS().equals("0") && xSJJHDataBean.getCBLX().equals("Z")) { - Intent intentTemplate = new Intent(XjYulActivity.this, CheckVibrationActivity.class); - Bundle bundle = new Bundle(); - bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); - bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); - bundle.putString("standerTip", "≤11.2mm/s"); - bundle.putString("checkType", "234235"); - bundle.putBoolean("edit", isEdit); - bundle.putString("smfs", smfs); - intentTemplate.putExtras(bundle); - startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); +// Intent intentTemplate = new Intent(XjYulActivity.this, CheckVibrationActivity.class); +// Bundle bundle = new Bundle(); +// bundle.putParcelable("xSJJHDataBean", xSJJHDataBean); +// bundle.putString("checkTip", "日检破碎机,驱动部电机振动"); +// bundle.putString("standerTip", "≤11.2mm/s"); +// bundle.putString("checkType", "234235"); +// bundle.putBoolean("edit", isEdit); +// bundle.putString("smfs", smfs); +// intentTemplate.putExtras(bundle); +// startActivityForResult(intentTemplate, REQUEST_CHECK_VIBRATION); } else { Intent intent = new Intent(XjYulActivity.this, SbxjcjsbActivity.class); Bundle bundle = new Bundle(); @@ -345,7 +343,7 @@ public class XjYulActivity extends BaseActivity3 { private void allCheckNow() { ArrayList xsjjhDataBeanArrayListTran = new ArrayList<>(); - if (xsjjhDataBeanArrayList.size() > 0) { + if (!xsjjhDataBeanArrayList.isEmpty()) { for (int i = 0; i < xsjjhDataBeanArrayList.size(); i++) { XSJJHDataBean xSJJHDataBeanTemp = xsjjhDataBeanArrayList.get(i); if (xSJJHDataBeanTemp.getLRFS().equals("1")) { @@ -355,7 +353,7 @@ public class XjYulActivity extends BaseActivity3 { } } } - if (infos.size() > 0 && xsjjhDataBeanArrayListTran.size() > 0) { + if (!infos.isEmpty() && !xsjjhDataBeanArrayListTran.isEmpty()) { for (int i = 0; i < infos.size(); i++) { DlbInfo dlbInfo = infos.get(i); for (int j = 0; j < xsjjhDataBeanArrayListTran.size(); j++) { diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XsBackLogActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XsBackLogActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XsHistoryActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XsHistoryActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbglActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbglActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyActivity.java old mode 100644 new mode 100755 index c3e8b6c..3324283 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyActivity.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyActivity.java @@ -7,9 +7,14 @@ import android.view.View; import android.widget.AdapterView; import android.widget.ListView; +import androidx.activity.result.ActivityResult; +import androidx.activity.result.ActivityResultCallback; +import androidx.activity.result.ActivityResultLauncher; +import androidx.activity.result.contract.ActivityResultContracts; + import com.bjzc.yfdxj.R; +import com.bjzc.yfdxj.activity.QrCodeActivity; import com.bjzc.yfdxj.adapter.XsjhqyAdapter; -import com.bjzc.yfdxj.base.MipcaActivityCapture; import com.bjzc.yfdxj.bean.XsJhListBean; import com.bjzc.yfdxj.bean.XsRequestInfo; import com.bjzc.yfdxj.bean.XsjhQyBean; @@ -22,7 +27,6 @@ import com.yolanda.nohttp.NoHttp; import com.yolanda.nohttp.RequestMethod; import com.yolanda.nohttp.rest.Request; import com.yolanda.nohttp.rest.Response; - import java.util.ArrayList; import java.util.List; @@ -43,6 +47,8 @@ public class XscbqyActivity extends BaseActivity { private boolean isSHOW; + ActivityResultLauncher launcherResultQRCode; + @Override public int getContentViewID() { return R.layout.activity_xscbqy; @@ -55,20 +61,15 @@ public class XscbqyActivity extends BaseActivity { xscbjh = (XsJhListBean.DataBean) getIntent().getExtras().get(Contans.KEY_XSCBJH); isHistory = getIntent().getExtras().getBoolean(Contans.KEY_XS_HISTORY, false); + launcherResultQRCode = createQRCodeActivityResultLauncher(); + if (QX == null){ }else { - QX = getIntent().getExtras().getString("QX");//如果权限为1 可以修改历史记录 - isSHOW = "0".equals(QX); - - } - - - qys = new ArrayList<>(); requestDatas(); setTitle(xscbjh.getJhmc()); @@ -78,6 +79,11 @@ public class XscbqyActivity extends BaseActivity { } } + private void intentTOQRCode() { + Intent intent = new Intent(XscbqyActivity.this, QrCodeActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); + launcherResultQRCode.launch(intent); + } private void requestDatas() { final Request requset = NoHttp.createStringRequest(Contans.IP + Contans.XSCB, RequestMethod.POST); @@ -169,10 +175,8 @@ public class XscbqyActivity extends BaseActivity { intent.putExtra(Contans.KEY_IS_HIS, false); startActivity(intent); } - } else { - Intent intent = new Intent(XscbqyActivity.this, MipcaActivityCapture.class); - startActivityForResult(intent, 1); + intentTOQRCode(); } } } @@ -183,42 +187,51 @@ public class XscbqyActivity extends BaseActivity { } } - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - super.onActivityResult(requestCode, resultCode, data); - switch (requestCode) { - case 1: - if (resultCode == RESULT_OK) { - Bundle bundle = data.getExtras(); - String ewm = bundle.getString("result"); - for (XsjhQyBean.DataBeanX qy : qys) { - if (ewm.equals(qy.getTxm())) { - - if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { - Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); - intent.putExtra(Contans.KEY_QY, qy); - intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); - intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); -// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); - intent.putExtra(Contans.KEY_IS_HIS, false); - startActivity(intent); - } else { - Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); - intent.putExtra(Contans.KEY_QY, qy); - intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); - intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); -// intent.putExtra(Contans.KEY_IS_HIS, qy.getSczt().equals("1") ? true : false); - intent.putExtra(Contans.KEY_IS_HIS, false); - startActivity(intent); + /** + * 二维码扫描回调 + */ + private ActivityResultLauncher createQRCodeActivityResultLauncher() { + return registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), + new ActivityResultCallback() { + @Override + public void onActivityResult(ActivityResult result) { + // 扫描二维码/条码回传 + int resultCode = result.getResultCode(); + Intent data = result.getData(); + if (resultCode == RESULT_OK) { + if(data!=null){ + String qrCodeStr = data.getStringExtra("code"); + showLog(qrCodeStr); + if (!TextUtils.isEmpty(qrCodeStr)) { + for (XsjhQyBean.DataBeanX qy : qys) { + if (qrCodeStr.equals(qy.getTxm())) { + + if (xscbjh.getJhlx().equals(XscbqyWorkActivity.JHLX_XS)) { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkXsActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } else { + Intent intent = new Intent(XscbqyActivity.this, XscbqyWorkActivity.class); + intent.putExtra(Contans.KEY_QY, qy); + intent.putExtra(Contans.KEY_EWM_OR_NFC, "扫描条码"); + intent.putExtra(Contans.KEY_JHLX, xscbjh.getJhlx()); + intent.putExtra(Contans.KEY_IS_HIS, false); + startActivity(intent); + } + return; + } + } + } } - return; } } - } - break; - } + }); } + private String createJson() { XsRequestInfo info = new XsRequestInfo(); info.setAction("XSCB_ZXJHD_GET"); diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyWorkActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyWorkActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyWorkXsActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XscbqyWorkXsActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XzxsjhFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/XzxsjhFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/YxrlinfoActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/sbxj/YxrlinfoActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/yhpc/YhpcDataListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/yhpc/YhpcDataListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/yhpc/YhzgDataListActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/activity/yhpc/YhzgDataListActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/AqjclbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/AqjclbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/AqjcrwlbListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/AqjcrwlbListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/BpbjinfoAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/BpbjinfoAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CheckScxsAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CheckScxsAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CommonAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CommonAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ContactAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ContactAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CxzjrwAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/CxzjrwAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DeviceTreeAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DeviceTreeAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DeviceTreeAdapterBase.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DeviceTreeAdapterBase.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DlbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DlbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DqgzAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DqgzAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DqgzDownloadAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/DqgzDownloadAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GridViewAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GridViewAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GwfxListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GwfxListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GzbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/GzbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ItemViewDelegate.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ItemViewDelegate.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ItemViewDelegateManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ItemViewDelegateManager.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/LlsjAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/LlsjAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/MultiItemTypeAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/MultiItemTypeAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/MyFragmentAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/MyFragmentAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/Q4ShowImagesGridAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/Q4ShowImagesGridAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/Q4UploadGridAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/Q4UploadGridAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfBmlbinfoAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfBmlbinfoAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfOptionAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfOptionAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfPmListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfPmListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfSblbinfoAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfSblbinfoAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfdjAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfdjAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QffzrAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QffzrAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfgdztinfoAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QfgdztinfoAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QtgzAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QtgzAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QxOpenAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QxOpenAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QxdAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/QxdAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/RlinfoAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/RlinfoAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ScjhAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ScjhAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ScxsAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ScxsAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/TimerTaskAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/TimerTaskAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ViewHolder.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ViewHolder.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/WjDetailsListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/WjDetailsListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/WjbxjAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/WjbxjAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsHistoryExpandableListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsHistoryExpandableListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkCbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkCbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkDjAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkDjAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkXsAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XsjhqyWorkXsAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XzjhAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XzjhAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XzxsjhAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/XzxsjhAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/YhpcListAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/YhpcListAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZgrwSaveAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZgrwSaveAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjdscAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjdscAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjrwAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjrwAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjrwxjAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZjrwxjAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZkdAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/ZkdAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/aqjcsaveAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/aqjcsaveAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/othersbAdapter.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/adapter/othersbAdapter.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity3.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity3.java old mode 100644 new mode 100755 index 5a16da6..61a1692 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity3.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivity3.java @@ -28,7 +28,7 @@ import android.widget.Toast; import com.bjzc.yfdxj.R; import com.bjzc.yfdxj.utils.AppManager; -import com.bjzc.yfdxj.utils.OAToolbar; +import com.bjzc.yfdxj.weight.OAToolbar; import com.zhy.autolayout.AutoLayoutActivity; import java.nio.charset.StandardCharsets; import androidx.annotation.Nullable; diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityAutoToolbarViewBinding.kt b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityAutoToolbarViewBinding.kt new file mode 100755 index 0000000..10fd165 --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityAutoToolbarViewBinding.kt @@ -0,0 +1,307 @@ +package com.bjzc.yfdxj.base + + +import android.app.Activity +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.content.pm.ApplicationInfo +import android.nfc.NdefMessage +import android.nfc.NfcAdapter +import android.nfc.tech.* +import android.os.Build +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import android.view.View +import android.widget.Toast +import androidx.viewbinding.ViewBinding +import com.bjzc.yfdxj.R +import com.bjzc.yfdxj.utils.ControllerActivity +import com.bjzc.yfdxj.utils.StatusBarUtil +import com.bjzc.yfdxj.weight.AutoToolbar +import com.zhy.autolayout.AutoLayoutActivity +import java.nio.charset.StandardCharsets +import java.util.* + +/** + * Create By HuangWenFei + * 创建日期:2023-01-30 13:45 + * 描述:基类使用ViewBinding,ButterKnife已被作者废弃,不再维护 + */ +abstract class BaseActivityAutoToolbarViewBinding : AutoLayoutActivity() { + val CX_FLAG = 0 //查询的状态码 + val SC_FLAG = 1 //上传的状态码 + + + protected lateinit var binding: T + protected lateinit var mToolbar: AutoToolbar + protected lateinit var context: Context + private var nfcAdapter: NfcAdapter? = null + private var readResult = "" + private var pendingIntent: PendingIntent? = null + private lateinit var mFilters: Array + private lateinit var mTechLists: Array> + private var isFirst = true + private var ndef: IntentFilter? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = getViewBinding() + mToolbar = getToolbar() + setContentView(binding.root) + context = this + ControllerActivity.getAppManager().addActivity(this) + initView() + initData() + } + + //初始化View + protected abstract fun initView() + + //初始化数据 + protected abstract fun initData() + protected abstract fun getViewBinding(): T + protected abstract fun getToolbar(): AutoToolbar + + fun startActivity(cls: Class?) { + val intent = Intent(this, cls) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(intent) + } + + override fun onPause() { + super.onPause() + if (nfcAdapter != null) { + nfcAdapter!!.disableForegroundDispatch(this) + } + } + + /* + * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况 + */ + override fun onResume() { + super.onResume() + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null) { + nfcAdapter!!.enableForegroundDispatch( + this, pendingIntent, mFilters, + mTechLists + ) + } + } + + override fun onDestroy() { + super.onDestroy() + ControllerActivity.getAppManager().finishActivity(this) + } + + /** + * 显示toast + * + * @param text + */ + fun showToast(text: String) { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show() + } + + fun showToast(id: Int) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show() + } + + /** + * 检测工作,判断设备的NFC支持情况 + * + * @return + */ + private fun ifNFCUse(): Boolean { + if (nfcAdapter == null) { + Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show() + return false + } + if (!nfcAdapter!!.isEnabled) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show() + return false + } + return true + } + + /** + * 初始化过程 + */ + fun initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this) + if (!ifNFCUse()) { + return + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT + ) + } else { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_UPDATE_CURRENT + ) + } + + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED) + ndef!!.addCategory("*/*") + mFilters = arrayOf(ndef!!) // 过滤器 + mTechLists = arrayOf( + arrayOf(NfcA::class.java.name), arrayOf( + NfcF::class.java.name + ), arrayOf(NfcB::class.java.name), arrayOf( + NfcV::class.java.name + ), arrayOf(MifareClassic::class.java.name), arrayOf( + MifareUltralight::class.java.name + ), arrayOf(IsoDep::class.java.name) + ) // 允许扫描的标签类型 + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent + .action + ) { + ndef = IntentFilter() + if (readFromTag(intent)) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show() + } + } + isFirst = false + } + } + +// private fun ByteArrayToHexString(inarray: ByteArray?): String { //converts byte arrays to string +// var i: Int +// var j: Int = 0 +// var k: Int +// val hex = +// arrayOf("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F") +// var out = "" +// while (j < inarray!!.size) { +// k = inarray[j].toInt() and 0xff +// i = k shr 4 and 0x0f +// out += hex[i] +// i = k and 0x0f +// out += hex[i] +// ++j +// } +// return out +// } + + /** + * 2进制to 16进制 + * @param src + * @return + */ + private fun bytesToHex(src: ByteArray?): String { + val sb = StringBuffer() + if (src == null || src.isEmpty()) { + return "" + } + var sTemp: String + for (i in src.indices) { + sTemp = Integer.toHexString(0xFF and src[i].toInt()) + if (sTemp.length < 2) { + sb.append(0) + } + sb.append(sTemp.uppercase(Locale.getDefault())) + } + return sb.toString() + } + + /* + * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询 + */ + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action || NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) { + val id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)) + handleNfc(id) + +// if (readFromTag(intent)) { +// Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show(); +// handleNfc(readResult); +// } else { +// Toast.makeText(this, "ID:" + id + " 标签数据为空", Toast.LENGTH_SHORT).show(); +// } + } + } + + /** + * 读取NFC标签数据的操作 + */ + private fun readFromTag(intent: Intent): Boolean { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { + val rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES) + if (rawArray != null) { + val mNdefMsg = rawArray[0] as NdefMessage + val mNdefRecord = mNdefMsg.records[0] + if (mNdefRecord != null) { + readResult = String(mNdefRecord.payload, StandardCharsets.UTF_8) + return true + } + //return false; + } + return false + } + return false + } + + //处理NFC + open fun handleNfc(result: String?) { + //showToast(result); + } + + open fun setBack() { + mToolbar.setNavigationIcon(R.mipmap.back) + mToolbar.setNavigationOnClickListener(View.OnClickListener { finish() }) + } + + protected open fun setStatusBar() { + StatusBarUtil.setColor(this, resources.getColor(R.color.colorPrimary)) + } + + fun initToolbar( + title: String, + rightText: String, + listenerLeftClick: View.OnClickListener?, + listenerRightClick: View.OnClickListener? + ) { + } + + open fun showLog(logText: String?) { + if (isApkInDebug(context)) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null") + } else { + Log.i("app", logText!!) + } + } + } + + /** + * 判断当前应用是否是debug状态 + */ + fun isApkInDebug(context: Context): Boolean { + try { + val info = context.applicationInfo + return (info.flags and ApplicationInfo.FLAG_DEBUGGABLE) != 0 + } catch (e: Exception) { + return false + } + } +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityOaToolbarViewBinding.kt b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityOaToolbarViewBinding.kt new file mode 100755 index 0000000..d919a54 --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseActivityOaToolbarViewBinding.kt @@ -0,0 +1,357 @@ +package com.bjzc.yfdxj.base + +import android.app.Activity +import android.app.PendingIntent +import android.content.Context +import android.content.Intent +import android.content.IntentFilter +import android.content.pm.ApplicationInfo +import android.nfc.NdefMessage +import android.nfc.NfcAdapter +import android.nfc.tech.* +import android.os.Build +import android.os.Bundle +import android.text.TextUtils +import android.util.Log +import android.view.View +import android.widget.EditText +import android.widget.Toast +import androidx.viewbinding.ViewBinding +import com.bjzc.yfdxj.R +import com.bjzc.yfdxj.utils.ControllerActivity +import com.bjzc.yfdxj.utils.StatusBarUtil +import com.bjzc.yfdxj.weight.OAToolbar +import com.zhy.autolayout.AutoLayoutActivity +import java.nio.charset.StandardCharsets +import java.util.* + + +/** + * Create By HuangWenFei + * 创建日期:2023-01-30 11:11 + * 描述:基类使用ViewBinding,ButterKnife已被作者废弃,不再维护 + */ +abstract class BaseActivityOaToolbarViewBinding : AutoLayoutActivity() { + + val REQUEST_CODE_ADD = 1 + val REQUEST_CODE_AUDIT = 2 + + + protected lateinit var binding: T + protected lateinit var mToolbar: OAToolbar + protected lateinit var context: Context + private var nfcAdapter: NfcAdapter? = null + private var readResult = "" + private var pendingIntent: PendingIntent? = null + private lateinit var mFilters: Array + private lateinit var mTechLists: Array> + private var isFirst = true + private var ndef: IntentFilter? = null + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = getViewBinding() + mToolbar = getToolbar() + setContentView(binding.root) + context = this + ControllerActivity.getAppManager().addActivity(this) + initView() + initData() + } + //初始化ViewBinding + protected abstract fun getViewBinding(): T + //初始化OAToolbar + protected abstract fun getToolbar(): OAToolbar + //初始化View + protected abstract fun initView() + //初始化数据 + protected abstract fun initData() + + + fun startActivity(cls: Class?) { + val intent = Intent(this, cls) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) + startActivity(intent) + } + + override fun onPause() { + super.onPause() + if (nfcAdapter != null) { + nfcAdapter!!.disableForegroundDispatch(this) + } + } + + /* + * 重写onResume回调函数的意义在于处理多次读取NFC标签时的情况 + */ + override fun onResume() { + super.onResume() + + // 前台分发系统,这里的作用在于第二次检测NFC标签时该应用有最高的捕获优先权. + if (nfcAdapter != null && pendingIntent != null) { + nfcAdapter!!.enableForegroundDispatch( + this, pendingIntent, mFilters, + mTechLists + ) + } + } + + override fun onDestroy() { + super.onDestroy() + ControllerActivity.getAppManager().finishActivity(this) + } + + /** + * 显示toast + * + * @param text + */ + fun showToast(text: String) { + Toast.makeText(this, text, Toast.LENGTH_SHORT).show() + } + + fun showToast(id: Int) { + Toast.makeText(this, id, Toast.LENGTH_SHORT).show() + } + + /** + * 检测工作,判断设备的NFC支持情况 + * + * @return + */ + private fun ifNFCUse(): Boolean { + if (nfcAdapter == null) { + Toast.makeText(this, "设备不支持NFC!", Toast.LENGTH_SHORT).show() + return false + } + if (!nfcAdapter!!.isEnabled) { + Toast.makeText(this, "请在系统设置中先启用NFC功能!", Toast.LENGTH_SHORT).show() + return false + } + return true + } + + /** + * 初始化过程 + */ + fun initNFC() { + + //NFC适配器,所有的关于NFC的操作从该适配器进行 + nfcAdapter = NfcAdapter.getDefaultAdapter(this) + if (!ifNFCUse()) { + return + } + //将被调用的Intent,用于重复被Intent触发后将要执行的跳转 + pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT + ) + } else { + PendingIntent.getActivity( + this, + 0, + Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), + PendingIntent.FLAG_UPDATE_CURRENT + ) + } + + + //设定要过滤的标签动作,这里只接收ACTION_NDEF_DISCOVERED类型 + ndef = IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED) + ndef!!.addCategory("*/*") + mFilters = arrayOf(ndef!!) // 过滤器 + mTechLists = arrayOf( + arrayOf(NfcA::class.java.name), arrayOf( + NfcF::class.java.name + ), arrayOf(NfcB::class.java.name), arrayOf( + NfcV::class.java.name + ), arrayOf(MifareClassic::class.java.name), arrayOf( + MifareUltralight::class.java.name + ), arrayOf(IsoDep::class.java.name) + ) // 允许扫描的标签类型 + if (isFirst) { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent + .action + ) { + ndef = IntentFilter() + if (readFromTag(intent)) { + Toast.makeText(this, readResult, Toast.LENGTH_SHORT).show() + } else { + Toast.makeText(this, "标签数据为空", Toast.LENGTH_SHORT).show() + } + } + isFirst = false + } + } + +// private fun byteArrayToHexString(src: ByteArray?): String { +// //converts byte arrays to string +// if (src == null || src.isEmpty()) { +// return "" +// } +// var i: Int +// var j: Int=0 +// var k: Int +// val hex = arrayOf("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F") +// var out = "" +// while (j < src.size) { +// k = src[j].toInt() and 0xff +// i = k shr 4 and 0x0f +// out += hex[i] +// i = k and 0x0f +// out += hex[i] +// ++j +// } +// return out +// } + + /** + * 2进制to 16进制 + * @param src + * @return + */ + private fun bytesToHex(src: ByteArray?): String { + val sb = StringBuffer() + if (src == null || src.isEmpty()) { + return "" + } + var sTemp: String + for (i in src.indices) { + sTemp = Integer.toHexString(0xFF and src[i].toInt()) + if (sTemp.length < 2) { + sb.append(0) + } + sb.append(sTemp.uppercase(Locale.getDefault())) + } + return sb.toString() + } + + /* + * 有必要要了解onNewIntent回调函数的调用时机,请自行上网查询 + */ + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action || NfcAdapter.ACTION_TECH_DISCOVERED == intent.action) { + val id = bytesToHex(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)) + handleNfc(id) + } + } + + /** + * 读取NFC标签数据的操作 + */ + private fun readFromTag(intent: Intent): Boolean { + if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) { + val rawArray = intent + .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES) + if (rawArray != null) { + val mNdefMsg = rawArray[0] as NdefMessage + val mNdefRecord = mNdefMsg.records[0] + if (mNdefRecord != null) { + readResult = String(mNdefRecord.payload, StandardCharsets.UTF_8) + return true + } + } + return false + } + return false + } + + //处理NFC + open fun handleNfc(result: String) { + //showToast(result); + } + + open fun initToolbar(title: String) { + mToolbar.setTvTitleText(title) + } + + open fun setToolbarTitle(title: String) { + mToolbar.setTvTitleText(title) + } + + open fun setTvRightTitle(text: String) { + mToolbar.setTvRightText(text) + } + + open fun setLeftOnClickListener(listener: View.OnClickListener?) { + mToolbar.setIvLeftOnClickListener(listener) + mToolbar.setIvLeftIcon(R.mipmap.back) + } + + open fun getText(editText: EditText): String { + return editText.text.toString() + } + + open fun setToolbarColor() { + mToolbar.setBackgroundColor(resources.getColor(R.color.lucency)) + mToolbar.setTvTitleColor(resources.getColor(R.color.login_title_color)) + } + + protected open fun setStatusBar() { + StatusBarUtil.setColor(this, resources.getColor(R.color.colorPrimary)) + } + + fun initToolbar( + title: String, + rightText: String, + listenerRightClick: View.OnClickListener + ) { + mToolbar.setTvTitleText(title) + mToolbar.setTvRightText(rightText) + mToolbar.setIvLeftIcon(R.mipmap.back) + mToolbar.setIvLeftOnClickListener { + finish() + } + mToolbar.setTvRightOnClickListener(listenerRightClick) + } + + fun initToolbar( + title: String, + rightText: String, + listenerLeftClick: View.OnClickListener, + listenerRightClick: View.OnClickListener + ) { + mToolbar.setTvTitleText(title) + mToolbar.setTvRightText(rightText) + mToolbar.setIvLeftIcon(R.mipmap.back) + mToolbar.setIvLeftOnClickListener(listenerLeftClick) + mToolbar.setTvRightOnClickListener(listenerRightClick) + } + + fun initToolbar( + title: String, + rightTextId: Int, + listenerLeftClick: View.OnClickListener, + listenerRightClick: View.OnClickListener + ) { + mToolbar.setTvTitleText(title) + mToolbar.setTvRightText(rightTextId) + mToolbar.setIvLeftIcon(R.mipmap.back) + mToolbar.setIvLeftOnClickListener(listenerLeftClick) + mToolbar.setTvRightOnClickListener(listenerRightClick) + } + open fun showLog(logText: String?) { + if (isApkInDebug(context)) { + if (TextUtils.isEmpty(logText)) { + Log.i("app", "logText is null") + } else { + Log.i("app", logText!!) + } + } + } + + /** + * 判断当前应用是否是debug状态 + */ + fun isApkInDebug(context: Context): Boolean { + try { + val info = context.applicationInfo + return (info.flags and ApplicationInfo.FLAG_DEBUGGABLE) != 0 + } catch (e: Exception) { + return false + } + } +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseCallBack.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseCallBack.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseCallBackNoProgress.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseCallBackNoProgress.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseFragment.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/BaseFragment.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/MipcaActivityCapture.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/MipcaActivityCapture.java deleted file mode 100644 index 0a19934..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/base/MipcaActivityCapture.java +++ /dev/null @@ -1,279 +0,0 @@ -package com.bjzc.yfdxj.base; - -import android.Manifest; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.res.AssetFileDescriptor; -import android.graphics.Bitmap; -import android.hardware.Camera; -import android.media.AudioManager; -import android.media.MediaPlayer; -import android.media.MediaPlayer.OnCompletionListener; -import android.os.Bundle; -import android.os.Handler; -import android.os.Vibrator; -import android.view.SurfaceHolder; -import android.view.SurfaceHolder.Callback; -import android.view.SurfaceView; -import android.view.View; -import android.widget.Button; -import android.widget.Toast; - -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; - -import com.bjzc.yfdxj.activity.LoginActivity; -import com.google.zxing.BarcodeFormat; -import com.google.zxing.Result; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.zxing.camera.CameraManager; -import com.bjzc.yfdxj.zxing.decoding.CaptureActivityHandler; -import com.bjzc.yfdxj.zxing.decoding.InactivityTimer; -import com.bjzc.yfdxj.zxing.view.ViewfinderView; - -import java.io.IOException; -import java.util.Vector; - - -/** - * 二维码扫描界面 - */ -public class MipcaActivityCapture extends BaseActivity implements Callback { - - Button flashlightButton; - private CaptureActivityHandler handler; - private ViewfinderView viewfinderView; - private boolean hasSurface; - private Vector decodeFormats; - private String characterSet; - private InactivityTimer inactivityTimer; - private MediaPlayer mediaPlayer; - private boolean playBeep; - private static final float BEEP_VOLUME = 0.10f; - private boolean vibrate; - private static Camera camera; - private Camera.Parameters params; - private boolean isOpen = true; - - public static final int CAMERA_REQ_CODE = 111; - - @Override - public int getContentViewID() { - return R.layout.activity_capture; - } - - @Override - protected void initView() { - CameraManager.init(getApplication()); - viewfinderView = findViewById(R.id.viewfinder_view); - hasSurface = false; - inactivityTimer = new InactivityTimer(this); - - title = findViewById(R.id.title); - flashlightButton = findViewById(R.id.flashlightButton); - title.setText("二维码/条码扫描"); - mToolbar = findViewById(R.id.toolbar); - mToolbar.setNavigationIcon(R.mipmap.back); - mToolbar.setNavigationOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - finish(); - } - }); - - flashlightButton.setOnClickListener(openListener); - } - - private View.OnClickListener openListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - //获取到ZXing相机管理器创建的camera - camera = CameraManager.getCamera(); - params = camera.getParameters(); - if (params != null) { - if (isOpen) { - flashlightButton.setText("关闭闪光灯"); - params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); - camera.setParameters(params); - isOpen = false; - } else { // 关灯 - flashlightButton.setText("打开闪光灯"); - params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF); - camera.setParameters(params); - isOpen = true; - } - } else { - showToast("无法打开闪光灯,新版本安卓系统API已调整,请与管理员联系"); - } - } - }; - - @Override - protected void onResume() { - super.onResume(); - SurfaceView surfaceView = findViewById(R.id.preview_view); - SurfaceHolder surfaceHolder = surfaceView.getHolder(); - if (hasSurface) { - initCamera(surfaceHolder); - } else { - surfaceHolder.addCallback(this); - surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); - } - decodeFormats = null; - characterSet = null; - - playBeep = true; - AudioManager audioService = (AudioManager) getSystemService(AUDIO_SERVICE); - if (audioService.getRingerMode() != AudioManager.RINGER_MODE_NORMAL) { - playBeep = false; - } - initBeepSound(); - vibrate = true; - - } - - @Override - protected void onPause() { - super.onPause(); - if (handler != null) { - handler.quitSynchronously(); - handler = null; - } - CameraManager.get().closeDriver(); - } - - @Override - protected void onDestroy() { - inactivityTimer.shutdown(); - super.onDestroy(); - } - - /** - * ����ɨ���� - * - * @param result - * @param barcode - */ - public void handleDecode(Result result, Bitmap barcode) { - - - inactivityTimer.onActivity(); - - - playBeepSoundAndVibrate(); - - String[] b = result.getText().split("\\t"); - - String Result = b[0]; - - if (Result.equals("")) { - - showToast("Scan failed!"); - - } else { - - Intent resultIntent = new Intent(); - - Bundle bundle = new Bundle(); - - bundle.putString("result", Result); - - resultIntent.putExtras(bundle); - - setResult(RESULT_OK, resultIntent); - } - finish(); - } - - private void initCamera(SurfaceHolder surfaceHolder) { - try { - CameraManager.get().openDriver(surfaceHolder); - } catch (IOException ioe) { - return; - } catch (RuntimeException e) { - return; - } - if (handler == null) { - handler = new CaptureActivityHandler(this, decodeFormats, characterSet); - } - } - - @Override - public void surfaceChanged(SurfaceHolder holder, int format, int width, - int height) { - - } - - @Override - public void surfaceCreated(SurfaceHolder holder) { - if (!hasSurface) { - hasSurface = true; - initCamera(holder); - } - - } - - @Override - public void surfaceDestroyed(SurfaceHolder holder) { - hasSurface = false; - - } - - public ViewfinderView getViewfinderView() { - return viewfinderView; - } - - public Handler getHandler() { - return handler; - } - - public void drawViewfinder() { - viewfinderView.drawViewfinder(); - - } - - private void initBeepSound() { - if (playBeep && mediaPlayer == null) { - // The volume on STREAM_SYSTEM is not adjustable, and users found it - // too loud, - // so we now play on the music stream. - setVolumeControlStream(AudioManager.STREAM_MUSIC); - mediaPlayer = new MediaPlayer(); - mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); - mediaPlayer.setOnCompletionListener(beepListener); - - AssetFileDescriptor file = getResources().openRawResourceFd( - R.raw.beep); - try { - mediaPlayer.setDataSource(file.getFileDescriptor(), - file.getStartOffset(), file.getLength()); - file.close(); - mediaPlayer.setVolume(BEEP_VOLUME, BEEP_VOLUME); - mediaPlayer.prepare(); - } catch (IOException e) { - mediaPlayer = null; - } - } - } - - private static final long VIBRATE_DURATION = 200L; - - private void playBeepSoundAndVibrate() { - if (playBeep && mediaPlayer != null) { - mediaPlayer.start(); - } - if (vibrate) { - Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); - vibrator.vibrate(VIBRATE_DURATION); - } - } - - /** - * When the beep has finished playing, rewind to queue up another one. - */ - private final OnCompletionListener beepListener = new OnCompletionListener() { - public void onCompletion(MediaPlayer mediaPlayer) { - mediaPlayer.seekTo(0); - } - }; -} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ApkUpdateBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ApkUpdateBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/AqjclbBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/AqjclbBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/AqjcrwListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/AqjcrwListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BasicDataBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BasicDataBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BmBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BmBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BmidBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/BmidBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ContactListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ContactListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DeviceTreeBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DeviceTreeBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DjAjhGzInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DjAjhGzInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DlbInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DlbInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DqgzRequestInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DqgzRequestInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DqgzUpLoadBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DqgzUpLoadBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxSbListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxSbListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxSbUploadBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxSbUploadBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxZjrwBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/DxxZjrwBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GridViewBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GridViewBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GzbBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GzbBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Gzqk.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Gzqk.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GzqkInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/GzqkInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/JzBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/JzBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MemberCallBackBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MemberCallBackBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MessageEvent.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MessageEvent.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MyUploadCheckedBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/MyUploadCheckedBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PMChangeRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PMChangeRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PMRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PMRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PhoneInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PhoneInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoBean2.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoBean2.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoNewBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PminfoNewBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PointCheckedPersion.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PointCheckedPersion.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PushInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/PushInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Q4OptionBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Q4OptionBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QXGDResultBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QXGDResultBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QXRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QXRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfFzrBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfFzrBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfbmlistBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfbmlistBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfdjBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfdjBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfgdztlistBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfgdztlistBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Qfkccxbean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Qfkccxbean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfsblistBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfsblistBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfsblistRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QfsblistRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxTjgdRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxTjgdRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxdBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxdBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxgdListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/QxgdListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean2.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean2.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean3.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBean3.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBeanQfSubmit.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ResultBeanQfSubmit.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/RlinfoBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/RlinfoBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/RlresultBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/RlresultBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScDjjhInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScDjjhInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScdjjhBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScdjjhBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScxjjhBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ScxjjhBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SczjdBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SczjdBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SetSbModel.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SetSbModel.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SetxjSbModel.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/SetxjSbModel.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Sisbean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Sisbean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatisticsBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatisticsBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatusInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatusInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatusInfo2.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/StatusInfo2.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Statusinfozj.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/Statusinfozj.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/TJRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/TJRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UploadPhotosBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UploadPhotosBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UploadPhotosBean2.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UploadPhotosBean2.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UserInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/UserInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XJRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XJRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XjSbModel.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XjSbModel.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XjzhtjBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XjzhtjBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsHistoryListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsHistoryListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsJhListBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsJhListBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsRequestInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsRequestInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsRequestInfo2.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsRequestInfo2.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsResultBaseBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsResultBaseBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsSaveDataInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsSaveDataInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XscbRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XscbRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsjhQyBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/XsjhQyBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/YhpcResultBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/YhpcResultBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZJinfoBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZJinfoBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZYDataBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZYDataBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjbBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjbBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjrwBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjrwBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjrwdetailBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZjrwdetailBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZkdInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/ZkdInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/djuploadrzRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/djuploadrzRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/qfbpbjRequestBean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/qfbpbjRequestBean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/sbInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/sbInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/xjsbInfo.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/xjsbInfo.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/zdybean.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bean/zdybean.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bleUtil/BlueTestInfoActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bleUtil/BlueTestInfoActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bleUtil/BluetoothLeService.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/bleUtil/BluetoothLeService.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/contans/Contans.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/contans/Contans.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/service/PushService.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/service/PushService.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/Api.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/Api.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/AppManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/AppManager.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/AutoToolbar.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/AutoToolbar.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/CanBanScrollViewPager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/CanBanScrollViewPager.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/CompressImageUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/CompressImageUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/ContactDatas.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/ContactDatas.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/ControllerActivity.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/ControllerActivity.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/FlashUtil.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/FlashUtil.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/GsonUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/GsonUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpListener.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpResponseListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpResponseListener.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpResponseListenerNoProgress.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpResponseListenerNoProgress.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/HttpUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/MqttSSLPublishServer.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/MqttSSLPublishServer.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/MqttSSLSocketFactory.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/MqttSSLSocketFactory.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NetworkAvailableUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NetworkAvailableUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NetworkUtil.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NetworkUtil.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NoProgresshttpUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NoProgresshttpUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NohttpUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/NohttpUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/OkhttpUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/OkhttpUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RSAAndroid.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RSAAndroid.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RSAUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RSAUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RetrofitHttpUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/RetrofitHttpUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/SPUtils.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/SPUtils.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/StatusBarUtil.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/StatusBarUtil.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/UiUtlis.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/UiUtlis.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AllCheckDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AllCheckDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AuditDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AuditDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoGridView.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoGridView.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoListView.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoListView.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoRadioGroup.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoRadioGroup.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoToolbar.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoToolbar.java new file mode 100755 index 0000000..803e98c --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/AutoToolbar.java @@ -0,0 +1,143 @@ +package com.bjzc.yfdxj.weight; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.res.TypedArray; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.util.TypedValue; +import android.widget.TextView; +import androidx.appcompat.widget.Toolbar; +import com.zhy.autolayout.AutoLayoutInfo; +import com.zhy.autolayout.utils.AutoLayoutHelper; +import com.zhy.autolayout.utils.AutoUtils; +import com.zhy.autolayout.utils.DimenUtils; +import java.lang.reflect.Field; +import java.util.Objects; + +/** + * Created by haptic on 2015/12/28 20:33. + */ +public class AutoToolbar extends Toolbar { + private static final int NO_VALID = -1; + private int mTextSize; + private int mSubTextSize; + private final AutoLayoutHelper mHelper = new AutoLayoutHelper(this); + + public AutoToolbar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + @SuppressLint("CustomViewStyleable") TypedArray a = context.obtainStyledAttributes(attrs, androidx.appcompat.R.styleable.Toolbar, + defStyleAttr, androidx.appcompat.R.style.Widget_AppCompat_Toolbar); + + int titleTextAppearance = a.getResourceId(androidx.appcompat.R.styleable.Toolbar_titleTextAppearance, + androidx.appcompat.R.style.TextAppearance_Widget_AppCompat_Toolbar_Title); + + int subtitleTextAppearance = a.getResourceId(androidx.appcompat.R.styleable.Toolbar_subtitleTextAppearance, + androidx.appcompat.R.style.TextAppearance_Widget_AppCompat_Toolbar_Subtitle); + + mTextSize = loadTextSizeFromTextAppearance(titleTextAppearance); + mSubTextSize = loadTextSizeFromTextAppearance(subtitleTextAppearance); + + TypedArray menuA = context.getTheme().obtainStyledAttributes(attrs, androidx.appcompat.R.styleable.ActionBar, + defStyleAttr, androidx.appcompat.R.style.ThemeOverlay_AppCompat); + int menuTextAppearance = menuA.getResourceId(com.zhy.autolayout.R.styleable.AutoLayout_Layout_layout_auto_basewidth, + androidx.appcompat.R.style.ThemeOverlay_AppCompat_ActionBar); + int menuTextSize = loadTextSizeFromTextAppearance(menuTextAppearance); + + //防止 menu 定义 textSize,而 Toolbar 无定义 textSize 时,title 的 textSize 随 menu 变化 + if (mTextSize == NO_VALID) mTextSize = menuTextSize; + if (mSubTextSize == NO_VALID) mSubTextSize = menuTextSize; + + a.recycle(); + menuA.recycle(); + } + + public AutoToolbar(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public AutoToolbar(Context context) { + this(context, null); + } + + private int loadTextSizeFromTextAppearance(int textAppearanceResId) { + @SuppressLint("CustomViewStyleable") TypedArray a = getContext().obtainStyledAttributes(textAppearanceResId, + androidx.appcompat.R.styleable.TextAppearance); + try { + if (!DimenUtils.isPxVal(a.peekValue(androidx.appcompat.R.styleable.TextAppearance_android_textSize))) + return NO_VALID; + return a.getDimensionPixelSize(androidx.appcompat.R.styleable.TextAppearance_android_textSize, NO_VALID); + } finally { + a.recycle(); + } + } + + private void setUpTitleTextSize() { + CharSequence title = getTitle(); + if (!TextUtils.isEmpty(title) && mTextSize != NO_VALID) + setUpTitleTextSize("mTitleTextView", mTextSize); + CharSequence subtitle = getSubtitle(); + if (!TextUtils.isEmpty(subtitle) && mSubTextSize != NO_VALID) + setUpTitleTextSize("mSubtitleTextView", mSubTextSize); + } + + private void setUpTitleTextSize(String name, int val) { + try { + //反射 Toolbar 的 TextView + Field f = Objects.requireNonNull(getClass().getSuperclass()).getDeclaredField(name); + f.setAccessible(true); + TextView textView = (TextView) f.get(this); + if (textView != null) { + int autoTextSize = AutoUtils.getPercentHeightSize(val); + textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, autoTextSize); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + if (!this.isInEditMode()) { + setUpTitleTextSize(); + this.mHelper.adjustChildren(); + } + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + } + + @Override + public LayoutParams generateLayoutParams(AttributeSet attrs) { + return new LayoutParams(this.getContext(), attrs); + } + + public static class LayoutParams extends Toolbar.LayoutParams implements AutoLayoutHelper.AutoLayoutParams { + private AutoLayoutInfo mDimenLayoutInfo; + + public LayoutParams(Context c, AttributeSet attrs) { + super(c, attrs); + this.mDimenLayoutInfo = AutoLayoutHelper.getAutoLayoutInfo(c, attrs); + } + + @Override + public AutoLayoutInfo getAutoLayoutInfo() { + return this.mDimenLayoutInfo; + } + + public LayoutParams(int width, int height) { + super(width, height); + } + + public LayoutParams(android.view.ViewGroup.LayoutParams source) { + super(source); + } + + public LayoutParams(MarginLayoutParams source) { + super(source); + } + } +} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/BaCheckDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/BaCheckDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ClearEditText.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ClearEditText.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/DateTimePickDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/DateTimePickDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/EditDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/EditDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/GlideEngine.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/GlideEngine.java deleted file mode 100644 index 9aace56..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/GlideEngine.java +++ /dev/null @@ -1,227 +0,0 @@ -package com.bjzc.yfdxj.weight; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.PointF; -import android.graphics.drawable.Drawable; -import android.view.View; -import android.widget.ImageView; - -import androidx.annotation.NonNull; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; - -import com.bjzc.yfdxj.R; -import com.bumptech.glide.Glide; -import com.bumptech.glide.request.RequestOptions; -import com.bumptech.glide.request.target.BitmapImageViewTarget; -import com.bumptech.glide.request.target.ImageViewTarget; -import com.luck.picture.lib.engine.ImageEngine; -import com.luck.picture.lib.listener.OnImageCompleteCallback; -import com.luck.picture.lib.tools.MediaUtils; -import com.luck.picture.lib.widget.longimage.ImageSource; -import com.luck.picture.lib.widget.longimage.ImageViewState; -import com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView; - -public class GlideEngine implements ImageEngine { - - /** - * 加载图片 - * - * @param context - * @param url - * @param imageView - */ - @Override - public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context) - .load(url) - .into(imageView); - } - - /** - * 加载网络图片适配长图方案 - * # 注意:此方法只有加载网络图片才会回调 - * - * @param context - * @param url - * @param imageView - * @param longImageView - * @param callback 网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#} - */ - @Override - public void loadImage(@NonNull Context context, @NonNull String url, - @NonNull ImageView imageView, - SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) { - Glide.with(context) - .asBitmap() - .load(url) - .into(new ImageViewTarget(imageView) { - @Override - public void onLoadStarted( Drawable placeholder) { - super.onLoadStarted(placeholder); - if (callback != null) { - callback.onShowLoading(); - } - } - - @Override - public void onLoadFailed( Drawable errorDrawable) { - super.onLoadFailed(errorDrawable); - if (callback != null) { - callback.onHideLoading(); - } - } - - @Override - protected void setResource( Bitmap resource) { - if (callback != null) { - callback.onHideLoading(); - } - if (resource != null) { - boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), - resource.getHeight()); - longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); - imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); - if (eqLongImage) { - // 加载长图 - longImageView.setQuickScaleEnabled(true); - longImageView.setZoomEnabled(true); - longImageView.setPanEnabled(true); - longImageView.setDoubleTapZoomDuration(100); - longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); - longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); - longImageView.setImage(ImageSource.bitmap(resource), - new ImageViewState(0, new PointF(0, 0), 0)); - } else { - // 普通图片 - imageView.setImageBitmap(resource); - } - } - } - }); - } - - /** - * 加载网络图片适配长图方案 - * # 注意:此方法只有加载网络图片才会回调 - * - * @param context - * @param url - * @param imageView - * @param longImageView - * @ 已废弃 - */ - @Override - public void loadImage(@NonNull Context context, @NonNull String url, - @NonNull ImageView imageView, - SubsamplingScaleImageView longImageView) { - Glide.with(context) - .asBitmap() - .load(url) - .into(new ImageViewTarget(imageView) { - @Override - protected void setResource( Bitmap resource) { - if (resource != null) { - boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(), - resource.getHeight()); - longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE); - imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE); - if (eqLongImage) { - // 加载长图 - longImageView.setQuickScaleEnabled(true); - longImageView.setZoomEnabled(true); - longImageView.setPanEnabled(true); - longImageView.setDoubleTapZoomDuration(100); - longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP); - longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER); - longImageView.setImage(ImageSource.bitmap(resource), - new ImageViewState(0, new PointF(0, 0), 0)); - } else { - // 普通图片 - imageView.setImageBitmap(resource); - } - } - } - }); - } - - /** - * 加载相册目录 - * - * @param context 上下文 - * @param url 图片路径 - * @param imageView 承载图片ImageView - */ - @Override - public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context) - .asBitmap() - .load(url) - .override(180, 180) - .centerCrop() - .sizeMultiplier(0.5f) - .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.picture_image_placeholder)) - .into(new BitmapImageViewTarget(imageView) { - @Override - protected void setResource(Bitmap resource) { - RoundedBitmapDrawable circularBitmapDrawable = - RoundedBitmapDrawableFactory. - create(context.getResources(), resource); - circularBitmapDrawable.setCornerRadius(8); - imageView.setImageDrawable(circularBitmapDrawable); - } - }); - } - - - /** - * 加载gif - * - * @param context 上下文 - * @param url 图片路径 - * @param imageView 承载图片ImageView - */ - @Override - public void loadAsGifImage(@NonNull Context context, @NonNull String url, - @NonNull ImageView imageView) { - Glide.with(context) - .asGif() - .load(url) - .into(imageView); - } - - /** - * 加载图片列表图片 - * - * @param context 上下文 - * @param url 图片路径 - * @param imageView 承载图片ImageView - */ - @Override - public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) { - Glide.with(context) - .load(url) - .override(200, 200) - .centerCrop() - .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.picture_image_placeholder)) - .into(imageView); - } - - - private GlideEngine() { - } - - private static GlideEngine instance; - - public static GlideEngine createGlideEngine() { - if (null == instance) { - synchronized (GlideEngine.class) { - if (null == instance) { - instance = new GlideEngine(); - } - } - } - return instance; - } -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/InputLayout.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/InputLayout.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ListDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ListDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/LlsjDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/LlsjDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/LoadDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/LoadDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/MeasureDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/MeasureDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/MeasureDialogThree.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/MeasureDialogThree.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/NoscrollViewPager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/NoscrollViewPager.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/NumAddSubView.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/NumAddSubView.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/OAToolbar.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/OAToolbar.java old mode 100644 new mode 100755 similarity index 83% rename from YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/OAToolbar.java rename to YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/OAToolbar.java index ca7c08d..83e4185 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/utils/OAToolbar.java +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/OAToolbar.java @@ -1,10 +1,9 @@ -package com.bjzc.yfdxj.utils; +package com.bjzc.yfdxj.weight; + +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.Drawable; -import androidx.annotation.Nullable; -import androidx.appcompat.widget.TintTypedArray; -import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.util.AttributeSet; import android.view.Gravity; @@ -14,6 +13,10 @@ import android.view.ViewGroup; import android.widget.ImageButton; import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.TintTypedArray; +import androidx.appcompat.widget.Toolbar; + import com.bjzc.yfdxj.R; @@ -26,6 +29,7 @@ import com.bjzc.yfdxj.R; public class OAToolbar extends Toolbar { private LayoutInflater inflater; + private View view; private TextView tvTitle; private TextView tvRight; @@ -35,17 +39,16 @@ public class OAToolbar extends Toolbar { super(context, null); } + @SuppressLint("RestrictedApi") public OAToolbar(Context context, @Nullable AttributeSet attrs) { super(context, attrs); initView(); setContentInsetsRelative(10, 10); if (attrs != null) { - final TintTypedArray tta = TintTypedArray.obtainStyledAttributes(getContext(), attrs, - R.styleable.OAToolbar); - - String title = tta.getString(R.styleable.OAToolbar_tvTitle); - String tvRightText = tta.getString(R.styleable.OAToolbar_tvRight); - Drawable drawable = tta.getDrawable(R.styleable.OAToolbar_ivLeftIcon); + @SuppressLint("RestrictedApi") final TintTypedArray tta = TintTypedArray.obtainStyledAttributes(getContext(), attrs, R.styleable.OAToolbar); + @SuppressLint("RestrictedApi") String title = tta.getString(R.styleable.OAToolbar_tvTitle); + @SuppressLint("RestrictedApi") String tvRightText = tta.getString(R.styleable.OAToolbar_tvRight); + @SuppressLint("RestrictedApi") Drawable drawable = tta.getDrawable(R.styleable.OAToolbar_ivLeftIcon); setIvLeftIcon(drawable); @@ -72,7 +75,7 @@ public class OAToolbar extends Toolbar { inflater = LayoutInflater.from(getContext()); if (view == null) { - view = inflater.inflate(R.layout.toolbar2, null); + view = inflater.inflate(R.layout.toolbar, null); tvTitle = view.findViewById(R.id.tv_title); tvRight = view.findViewById(R.id.tv_right); ivLeft = view.findViewById(R.id.iv_left); diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ScanView.kt b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ScanView.kt new file mode 100644 index 0000000..6ea01ad --- /dev/null +++ b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/ScanView.kt @@ -0,0 +1,89 @@ +package com.bjzc.yfdxj.weight + + +import android.animation.ObjectAnimator +import android.content.Context +import android.graphics.* +import android.util.AttributeSet +import android.view.View +import androidx.core.content.ContextCompat +import com.bjzc.yfdxj.R + +/** + * Author:HuangWenfei + * description: 二维码扫描 + * date:2025/02/13 + */ +class ScanView(context: Context, attrs: AttributeSet) : View(context, attrs) { + private val circlePaint = Paint() //二维码圆圈画笔 + private var rectList: ArrayList? = null //二维码数组 + private var scanLine: Bitmap//横线 + private var isShowLine = true//是否显示扫描线 + private var animator: ObjectAnimator? = null + private var floatYFraction = 0f + set(value) { + field = value + invalidate() + } + + init { + circlePaint.apply { + this.style = Paint.Style.FILL + this.color = ContextCompat.getColor( + context, android.R.color.holo_green_dark + ) + } + + scanLine = BitmapFactory.decodeResource(resources, R.drawable.scan_light) + getAnimator().start() + } + + override fun onDraw(canvas: Canvas) { + super.onDraw(canvas) + parseResult(canvas) + if (isShowLine) { + canvas.drawBitmap(scanLine, (width - scanLine.width) / 2f, height * floatYFraction, circlePaint) + } + } + + private fun getAnimator(): ObjectAnimator { + if (animator == null) { + animator = ObjectAnimator.ofFloat( + this, + "floatYFraction", + 0f, + 1f + ) + animator?.duration = 3000 + animator?.repeatCount = -1 //-1代表无限循环 + } + return animator!! + } + + private fun parseResult(canvas: Canvas?) { + rectList?.let { list -> + if (list.isEmpty()) { + return + } + list.forEach { + canvas?.drawCircle( + it.left + (it.right - it.left) / 2f, + it.top + (it.bottom - it.top) / 2f, + 50f, + circlePaint + ) + } + } + } + + fun setRectList(list: ArrayList?) { + rectList = list + rectList?.let { + if (it.isNotEmpty()) { + isShowLine = false + getAnimator().cancel() + invalidate() + } + } + } +} \ No newline at end of file diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/SettingIpDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/SettingIpDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/TopicRecycleViewDivider.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/TopicRecycleViewDivider.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/UpdateAuditDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/UpdateAuditDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/WaitDialog.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/WaitDialog.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/toastviewbymyself.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/weight/toastviewbymyself.java old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/AutoFocusCallback.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/AutoFocusCallback.java deleted file mode 100644 index 80bebc0..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/AutoFocusCallback.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.hardware.Camera; -import android.os.Handler; -import android.os.Message; -import android.util.Log; - -final class AutoFocusCallback implements Camera.AutoFocusCallback { - - private static final String TAG = AutoFocusCallback.class.getSimpleName(); - - private static final long AUTOFOCUS_INTERVAL_MS = 1500L; - - private Handler autoFocusHandler; - private int autoFocusMessage; - - void setHandler(Handler autoFocusHandler, int autoFocusMessage) { - this.autoFocusHandler = autoFocusHandler; - this.autoFocusMessage = autoFocusMessage; - } - - public void onAutoFocus(boolean success, Camera camera) { - if (autoFocusHandler != null) { - Message message = autoFocusHandler.obtainMessage(autoFocusMessage, success); - autoFocusHandler.sendMessageDelayed(message, AUTOFOCUS_INTERVAL_MS); - autoFocusHandler = null; - } else { - Log.d(TAG, "Got auto-focus callback, but no handler for it"); - } - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraConfigurationManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraConfigurationManager.java deleted file mode 100644 index ecac06e..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraConfigurationManager.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.content.Context; -import android.graphics.Point; -import android.hardware.Camera; -import android.os.Build; -import android.util.Log; -import android.view.Display; -import android.view.WindowManager; - -import java.lang.reflect.Method; -import java.util.regex.Pattern; - -final class CameraConfigurationManager { - - private static final String TAG = CameraConfigurationManager.class.getSimpleName(); - - private static final int TEN_DESIRED_ZOOM = 27; - private static final int DESIRED_SHARPNESS = 30; - - private static final Pattern COMMA_PATTERN = Pattern.compile(","); - - private final Context context; - private Point screenResolution; - private Point cameraResolution; - private int previewFormat; - private String previewFormatString; - - CameraConfigurationManager(Context context) { - this.context = context; - } - - /** - * Reads, one time, values from the camera that are needed by the app. - */ - void initFromCameraParameters(Camera camera) { - Camera.Parameters parameters = camera.getParameters(); - previewFormat = parameters.getPreviewFormat(); - previewFormatString = parameters.get("preview-format"); - Log.d(TAG, "Default preview format: " + previewFormat + '/' + previewFormatString); - WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); - Display display = manager.getDefaultDisplay(); - screenResolution = new Point(display.getWidth(), display.getHeight()); - Log.d(TAG, "Screen resolution: " + screenResolution); - cameraResolution = getCameraResolution(parameters, screenResolution); - Log.d(TAG, "Camera resolution: " + screenResolution); - } - - /** - * Sets the camera up to take preview images which are used for both preview and decoding. - * We detect the preview format here so that buildLuminanceSource() can build an appropriate - * LuminanceSource subclass. In the future we may want to force YUV420SP as it's the smallest, - * and the planar Y can be used for barcode scanning without background copy in some cases. - */ - void setDesiredCameraParameters(Camera camera) { - Camera.Parameters parameters = camera.getParameters(); - Log.d(TAG, "Setting preview size: " + cameraResolution); - parameters.setPreviewSize(cameraResolution.x, cameraResolution.y); - setFlash(parameters); - setZoom(parameters); - setDisplayOrientation(camera, 90); - camera.setParameters(parameters); - } - - Point getCameraResolution() { - return cameraResolution; - } - - Point getScreenResolution() { - return screenResolution; - } - - int getPreviewFormat() { - return previewFormat; - } - - String getPreviewFormatString() { - return previewFormatString; - } - - private static Point getCameraResolution(Camera.Parameters parameters, Point screenResolution) { - - String previewSizeValueString = parameters.get("preview-size-values"); - // saw this on Xperia - if (previewSizeValueString == null) { - previewSizeValueString = parameters.get("preview-size-value"); - } - - Point cameraResolution = null; - - if (previewSizeValueString != null) { - Log.d(TAG, "preview-size-values parameter: " + previewSizeValueString); - cameraResolution = findBestPreviewSizeValue(previewSizeValueString, screenResolution); - } - - if (cameraResolution == null) { - // Ensure that the camera resolution is background multiple of 8, as the screen may not be. - cameraResolution = new Point( - (screenResolution.x >> 3) << 3, - (screenResolution.y >> 3) << 3); - } - - return cameraResolution; - } - - private static Point findBestPreviewSizeValue(CharSequence previewSizeValueString, Point screenResolution) { - int bestX = 0; - int bestY = 0; - int diff = Integer.MAX_VALUE; - for (String previewSize : COMMA_PATTERN.split(previewSizeValueString)) { - - previewSize = previewSize.trim(); - int dimPosition = previewSize.indexOf('x'); - if (dimPosition < 0) { - Log.w(TAG, "Bad preview-size: " + previewSize); - continue; - } - - int newX; - int newY; - try { - newX = Integer.parseInt(previewSize.substring(0, dimPosition)); - newY = Integer.parseInt(previewSize.substring(dimPosition + 1)); - } catch (NumberFormatException nfe) { - Log.w(TAG, "Bad preview-size: " + previewSize); - continue; - } - - int newDiff = Math.abs(newX - screenResolution.x) + Math.abs(newY - screenResolution.y); - if (newDiff == 0) { - bestX = newX; - bestY = newY; - break; - } else if (newDiff < diff) { - bestX = newX; - bestY = newY; - diff = newDiff; - } - - } - - if (bestX > 0 && bestY > 0) { - return new Point(bestX, bestY); - } - return null; - } - - private static int findBestMotZoomValue(CharSequence stringValues, int tenDesiredZoom) { - int tenBestValue = 0; - for (String stringValue : COMMA_PATTERN.split(stringValues)) { - stringValue = stringValue.trim(); - double value; - try { - value = Double.parseDouble(stringValue); - } catch (NumberFormatException nfe) { - return tenDesiredZoom; - } - int tenValue = (int) (10.0 * value); - if (Math.abs(tenDesiredZoom - value) < Math.abs(tenDesiredZoom - tenBestValue)) { - tenBestValue = tenValue; - } - } - return tenBestValue; - } - - private void setFlash(Camera.Parameters parameters) { - // FIXME: This is background hack to turn the flash off on the Samsung Galaxy. - // And this is background hack-hack to work around background different value on the Behold II - // Restrict Behold II check to Cupcake, per Samsung's advice - //if (Build.MODEL.contains("Behold II") && - // CameraManager.SDK_INT == Build.VERSION_CODES.CUPCAKE) { - if (Build.MODEL.contains("Behold II") && CameraManager.SDK_INT == 3) { // icon3 = Cupcake - parameters.set("flash-value", 1); - } else { - parameters.set("flash-value", 2); - } - // This is the standard setting to turn the flash off that all devices should honor. - parameters.set("flash-mode", "off"); - } - - private void setZoom(Camera.Parameters parameters) { - - String zoomSupportedString = parameters.get("zoom-supported"); - if (zoomSupportedString != null && !Boolean.parseBoolean(zoomSupportedString)) { - return; - } - - int tenDesiredZoom = TEN_DESIRED_ZOOM; - - String maxZoomString = parameters.get("max-zoom"); - if (maxZoomString != null) { - try { - int tenMaxZoom = (int) (10.0 * Double.parseDouble(maxZoomString)); - if (tenDesiredZoom > tenMaxZoom) { - tenDesiredZoom = tenMaxZoom; - } - } catch (NumberFormatException nfe) { - Log.w(TAG, "Bad max-zoom: " + maxZoomString); - } - } - - String takingPictureZoomMaxString = parameters.get("taking-picture-zoom-max"); - if (takingPictureZoomMaxString != null) { - try { - int tenMaxZoom = Integer.parseInt(takingPictureZoomMaxString); - if (tenDesiredZoom > tenMaxZoom) { - tenDesiredZoom = tenMaxZoom; - } - } catch (NumberFormatException nfe) { - Log.w(TAG, "Bad taking-picture-zoom-max: " + takingPictureZoomMaxString); - } - } - - String motZoomValuesString = parameters.get("mot-zoom-values"); - if (motZoomValuesString != null) { - tenDesiredZoom = findBestMotZoomValue(motZoomValuesString, tenDesiredZoom); - } - - String motZoomStepString = parameters.get("mot-zoom-step"); - if (motZoomStepString != null) { - try { - double motZoomStep = Double.parseDouble(motZoomStepString.trim()); - int tenZoomStep = (int) (10.0 * motZoomStep); - if (tenZoomStep > 1) { - tenDesiredZoom -= tenDesiredZoom % tenZoomStep; - } - } catch (NumberFormatException nfe) { - // continue - } - } - - // Set zoom. This helps encourage the user to pull back. - // Some devices like the Behold have background zoom parameter - if (maxZoomString != null || motZoomValuesString != null) { - parameters.set("zoom", String.valueOf(tenDesiredZoom / 10.0)); - } - - // Most devices, like the Hero, appear to expose this zoom parameter. - // It takes on values like "27" which appears to mean icon2.7x zoom - if (takingPictureZoomMaxString != null) { - parameters.set("taking-picture-zoom", tenDesiredZoom); - } - } - - public static int getDesiredSharpness() { - return DESIRED_SHARPNESS; - } - - /** - * compatible icon1.icon6 - * @param camera - * @param angle - */ - protected void setDisplayOrientation(Camera camera, int angle){ - Method downPolymorphic; - try - { - downPolymorphic = camera.getClass().getMethod("setDisplayOrientation", int.class); - if (downPolymorphic != null) - downPolymorphic.invoke(camera, angle); - } - catch (Exception e1) - { - } - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraManager.java deleted file mode 100644 index 9a2851a..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/CameraManager.java +++ /dev/null @@ -1,328 +0,0 @@ -/* - * Copyright (C) 2008 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.content.Context; -import android.graphics.PixelFormat; -import android.graphics.Point; -import android.graphics.Rect; -import android.hardware.Camera; -import android.os.Build; -import android.os.Handler; -import android.util.Log; -import android.view.SurfaceHolder; - -import java.io.IOException; - -/** - * This object wraps the Camera service object and expects to be the only one talking to it. The - * implementation encapsulates the steps needed to take preview-sized images, which are used for - * both preview and decoding. - */ -public final class CameraManager { - - private static final String TAG = CameraManager.class.getSimpleName(); - - private static final int MIN_FRAME_WIDTH = 350; - private static final int MIN_FRAME_HEIGHT = 350; - private static final int MAX_FRAME_WIDTH = 700; - private static final int MAX_FRAME_HEIGHT - = 630; - - private static CameraManager cameraManager; - - static final int SDK_INT; // Later we can use Build.VERSION.SDK_INT - - static { - int sdkInt; - try { - sdkInt = Integer.parseInt(Build.VERSION.SDK); - } catch (NumberFormatException nfe) { - // Just to be safe - sdkInt = 10000; - } - SDK_INT = sdkInt; - } - - private final Context context; - private final CameraConfigurationManager configManager; - private static Camera camera; - private Rect framingRect; - private Rect framingRectInPreview; - private boolean initialized; - private boolean previewing; - private final boolean useOneShotPreviewCallback; - /** - * Preview frames are delivered here, which we pass on to the registered handler. Make sure to - * clear the handler so it will only receive one message. - */ - private final PreviewCallback previewCallback; - /** - * Autofocus callbacks arrive here, and are dispatched to the Handler which requested them. - */ - private final AutoFocusCallback autoFocusCallback; - - /** - * Initializes this static object with the Context of the calling Activity. - * - * @param context The Activity which wants to use the camera. - */ - public static void init(Context context) { - if (cameraManager == null) { - cameraManager = new CameraManager(context); - } - } - - /** - * Gets the CameraManager singleton instance. - * - * @return A reference to the CameraManager singleton. - */ - public static CameraManager get() { - return cameraManager; - } - - public static Camera getCamera() { - return camera; - } - - private CameraManager(Context context) { - - this.context = context; - this.configManager = new CameraConfigurationManager(context); - - // Camera.setOneShotPreviewCallback() has background race condition in Cupcake, so we use the older - // Camera.setPreviewCallback() on icon1.icon5 and earlier. For Donut and later, we need to use - // the more efficient one shot callback, as the older one can swamp the system and cause it - // to run out of memory. We can't use SDK_INT because it was introduced in the Donut SDK. - //useOneShotPreviewCallback = Integer.parseInt(Build.VERSION.SDK) > Build.VERSION_CODES.CUPCAKE; - useOneShotPreviewCallback = Integer.parseInt(Build.VERSION.SDK) > 3; // icon3 = Cupcake - - previewCallback = new PreviewCallback(configManager, useOneShotPreviewCallback); - autoFocusCallback = new AutoFocusCallback(); - } - - /** - * Opens the camera driver and initializes the hardware parameters. - * - * @param holder The surface object which the camera will draw preview frames into. - * @throws IOException Indicates the camera driver failed to open. - */ - public void openDriver(SurfaceHolder holder) throws IOException { - if (camera == null) { - camera = Camera.open(); - if (camera == null) { - throw new IOException(); - } - camera.setPreviewDisplay(holder); - - if (!initialized) { - initialized = true; - configManager.initFromCameraParameters(camera); - } - configManager.setDesiredCameraParameters(camera); - - - FlashlightManager.enableFlashlight(); - } - } - - /** - * Closes the camera driver if still in use. - */ - public void closeDriver() { - if (camera != null) { - FlashlightManager.disableFlashlight(); - camera.release(); - camera = null; - } - } - - /** - * Asks the camera hardware to begin drawing preview frames to the screen. - */ - public void startPreview() { - if (camera != null && !previewing) { - camera.startPreview(); - previewing = true; - } - } - - /** - * Tells the camera to stop drawing preview frames. - */ - public void stopPreview() { - if (camera != null && previewing) { - if (!useOneShotPreviewCallback) { - camera.setPreviewCallback(null); - } - camera.stopPreview(); - previewCallback.setHandler(null, 0); - autoFocusCallback.setHandler(null, 0); - previewing = false; - } - } - - /** - * A single preview frame will be returned to the handler supplied. The data will arrive as byte[] - * in the message.obj field, with width and height encoded as message.arg1 and message.arg2, - * respectively. - * - * @param handler The handler to send the message to. - * @param message The what field of the message to be sent. - */ - public void requestPreviewFrame(Handler handler, int message) { - if (camera != null && previewing) { - previewCallback.setHandler(handler, message); - if (useOneShotPreviewCallback) { - camera.setOneShotPreviewCallback(previewCallback); - } else { - camera.setPreviewCallback(previewCallback); - } - } - } - - /** - * Asks the camera hardware to perform an autofocus. - * - * @param handler The Handler to notify when the autofocus completes. - * @param message The message to deliver. - */ - public void requestAutoFocus(Handler handler, int message) { - if (camera != null && previewing) { - autoFocusCallback.setHandler(handler, message); - //Log.d(TAG, "Requesting auto-focus callback"); - camera.autoFocus(autoFocusCallback); - } - } - - /** - * Calculates the framing rect which the UI should draw to show the user where to place the - * barcode. This target helps with alignment as well as forces the user to hold the device - * far enough away to ensure the image will be in focus. - * - * @return The rectangle to draw on screen in window coordinates. - */ - public Rect getFramingRect() { - Point screenResolution = configManager.getScreenResolution(); - if (framingRect == null) { - if (camera == null) { - return null; - } - int width = screenResolution.x * 3 / 4; - if (width < MIN_FRAME_WIDTH) { - width = MIN_FRAME_WIDTH; - } else if (width > MAX_FRAME_WIDTH) { - width = MAX_FRAME_WIDTH; - } - int height = screenResolution.y * 3 / 4; - if (height < MIN_FRAME_HEIGHT) { - height = MIN_FRAME_HEIGHT; - } else if (height > MAX_FRAME_HEIGHT) { - height = MAX_FRAME_HEIGHT; - } - int leftOffset = (screenResolution.x - width) / 2; - int topOffset = (screenResolution.y - height) / 2; - framingRect = new Rect(leftOffset, topOffset, leftOffset + width, topOffset + height); - Log.d(TAG, "Calculated framing rect: " + framingRect); - } - return framingRect; - } - - /** - * Like {@link #getFramingRect} but coordinates are in terms of the preview frame, - * not UI / screen. - */ - public Rect getFramingRectInPreview() { - if (framingRectInPreview == null) { - Rect rect = new Rect(getFramingRect()); - Point cameraResolution = configManager.getCameraResolution(); - Point screenResolution = configManager.getScreenResolution(); - //modify here -// rect.left = rect.left * cameraResolution.x / screenResolution.x; -// rect.right = rect.right * cameraResolution.x / screenResolution.x; -// rect.top = rect.top * cameraResolution.y / screenResolution.y; -// rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y; - rect.left = rect.left * cameraResolution.y / screenResolution.x; - rect.right = rect.right * cameraResolution.y / screenResolution.x; - rect.top = rect.top * cameraResolution.x / screenResolution.y; - rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y; - framingRectInPreview = rect; - } - return framingRectInPreview; - } - - /** - * Converts the result points from still resolution coordinates to screen coordinates. - * - * @param points The points returned by the Reader subclass through Result.getResultPoints(). - * @return An array of Points scaled to the size of the framing rect and offset appropriately - * so they can be drawn in screen coordinates. - */ - /* - public Point[] convertResultPoints(ResultPoint[] points) { - Rect frame = getFramingRectInPreview(); - int count = points.length; - Point[] output = new Point[count]; - for (int x = 0; x < count; x++) { - output[x] = new Point(); - output[x].x = frame.left + (int) (points[x].getX() + 0.5f); - output[x].y = frame.top + (int) (points[x].getY() + 0.5f); - } - return output; - } - */ - - /** - * A factory method to build the appropriate LuminanceSource object based on the format - * of the preview buffers, as described by Camera.Parameters. - * - * @param data A preview frame. - * @param width The width of the image. - * @param height The height of the image. - * @return A PlanarYUVLuminanceSource instance. - */ - public PlanarYUVLuminanceSource buildLuminanceSource(byte[] data, int width, int height) { - Rect rect = getFramingRectInPreview(); - int previewFormat = configManager.getPreviewFormat(); - String previewFormatString = configManager.getPreviewFormatString(); - switch (previewFormat) { - // This is the standard Android format which all devices are REQUIRED to support. - // In theory, it's the only one we should ever care about. - case PixelFormat.YCbCr_420_SP: - // This format has never been seen in the wild, but is compatible as we only care - // about the Y channel, so allow it. - case PixelFormat.YCbCr_422_SP: - return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, - rect.width(), rect.height()); - default: - // The Samsung Moment incorrectly uses this variant instead of the 'sp' version. - // Fortunately, it too has all the Y data up front, so we can read it. - if ("yuv420p".equals(previewFormatString)) { - return new PlanarYUVLuminanceSource(data, width, height, rect.left, rect.top, - rect.width(), rect.height()); - } - } - throw new IllegalArgumentException("Unsupported picture format: " + - previewFormat + '/' + previewFormatString); - } - - public Context getContext() { - return context; - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/FlashlightManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/FlashlightManager.java deleted file mode 100644 index 1ba12aa..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/FlashlightManager.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.os.IBinder; -import android.util.Log; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -/** - * This class is used to activate the weak light on some camera phones (not flash) - * in order to illuminate surfaces for scanning. There is no official way to do this, - * but, classes which allow access to this function still exist on some devices. - * This therefore proceeds through background great deal of reflection. - * - * See - * http://almondmendoza.com/2009/01/05/changing-the-screen-brightness-programatically/ and - * - * http://code.google.com/p/droidled/source/browse/trunk/src/com/droidled/demo/DroidLED.java. - * Thanks to Ryan Alford for pointing out the availability of this class. - */ -final class FlashlightManager { - - private static final String TAG = FlashlightManager.class.getSimpleName(); - - private static final Object iHardwareService; - private static final Method setFlashEnabledMethod; - static { - iHardwareService = getHardwareService(); - setFlashEnabledMethod = getSetFlashEnabledMethod(iHardwareService); - if (iHardwareService == null) { - Log.v(TAG, "This device does supports control of background flashlight"); - } else { - Log.v(TAG, "This device does not support control of background flashlight"); - } - } - - private FlashlightManager() { - } - - - //FIXME - static void enableFlashlight() { - setFlashlight(false); - } - - static void disableFlashlight() { - setFlashlight(false); - } - - private static Object getHardwareService() { - Class serviceManagerClass = maybeForName("android.os.ServiceManager"); - if (serviceManagerClass == null) { - return null; - } - - Method getServiceMethod = maybeGetMethod(serviceManagerClass, "getService", String.class); - if (getServiceMethod == null) { - return null; - } - - Object hardwareService = invoke(getServiceMethod, null, "hardware"); - if (hardwareService == null) { - return null; - } - - Class iHardwareServiceStubClass = maybeForName("android.os.IHardwareService$Stub"); - if (iHardwareServiceStubClass == null) { - return null; - } - - Method asInterfaceMethod = maybeGetMethod(iHardwareServiceStubClass, "asInterface", IBinder.class); - if (asInterfaceMethod == null) { - return null; - } - - return invoke(asInterfaceMethod, null, hardwareService); - } - - private static Method getSetFlashEnabledMethod(Object iHardwareService) { - if (iHardwareService == null) { - return null; - } - Class proxyClass = iHardwareService.getClass(); - return maybeGetMethod(proxyClass, "setFlashlightEnabled", boolean.class); - } - - private static Class maybeForName(String name) { - try { - return Class.forName(name); - } catch (ClassNotFoundException cnfe) { - // OK - return null; - } catch (RuntimeException re) { - Log.w(TAG, "Unexpected error while finding class " + name, re); - return null; - } - } - - private static Method maybeGetMethod(Class clazz, String name, Class... argClasses) { - try { - return clazz.getMethod(name, argClasses); - } catch (NoSuchMethodException nsme) { - // OK - return null; - } catch (RuntimeException re) { - Log.w(TAG, "Unexpected error while finding method " + name, re); - return null; - } - } - - private static Object invoke(Method method, Object instance, Object... args) { - try { - return method.invoke(instance, args); - } catch (IllegalAccessException e) { - Log.w(TAG, "Unexpected error while invoking " + method, e); - return null; - } catch (InvocationTargetException e) { - Log.w(TAG, "Unexpected error while invoking " + method, e.getCause()); - return null; - } catch (RuntimeException re) { - Log.w(TAG, "Unexpected error while invoking " + method, re); - return null; - } - } - - private static void setFlashlight(boolean active) { - if (iHardwareService != null) { - invoke(setFlashEnabledMethod, iHardwareService, active); - } - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PlanarYUVLuminanceSource.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PlanarYUVLuminanceSource.java deleted file mode 100644 index f7cb374..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PlanarYUVLuminanceSource.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2009 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.graphics.Bitmap; - -import com.google.zxing.LuminanceSource; - -/** - * This object extends LuminanceSource around an array of YUV data returned from the camera driver, - * with the option to crop to background rectangle within the full data. This can be used to exclude - * superfluous pixels around the perimeter and speed up decoding. - * - * It works for any pixel format where the Y channel is planar and appears first, including - * YCbCr_420_SP and YCbCr_422_SP. - * - * @author dswitkin@google.com (Daniel Switkin) - */ -public final class PlanarYUVLuminanceSource extends LuminanceSource { - private final byte[] yuvData; - private final int dataWidth; - private final int dataHeight; - private final int left; - private final int top; - - public PlanarYUVLuminanceSource(byte[] yuvData, int dataWidth, int dataHeight, int left, int top, - int width, int height) { - super(width, height); - - if (left + width > dataWidth || top + height > dataHeight) { - throw new IllegalArgumentException("Crop rectangle does not fit within image data."); - } - - this.yuvData = yuvData; - this.dataWidth = dataWidth; - this.dataHeight = dataHeight; - this.left = left; - this.top = top; - } - - @Override - public byte[] getRow(int y, byte[] row) { - if (y < 0 || y >= getHeight()) { - throw new IllegalArgumentException("Requested row is outside the image: " + y); - } - int width = getWidth(); - if (row == null || row.length < width) { - row = new byte[width]; - } - int offset = (y + top) * dataWidth + left; - System.arraycopy(yuvData, offset, row, 0, width); - return row; - } - - @Override - public byte[] getMatrix() { - int width = getWidth(); - int height = getHeight(); - - // If the caller asks for the entire underlying image, save the copy and give them the - // original data. The docs specifically warn that result.length must be ignored. - if (width == dataWidth && height == dataHeight) { - return yuvData; - } - - int area = width * height; - byte[] matrix = new byte[area]; - int inputOffset = top * dataWidth + left; - - // If the width matches the full width of the underlying data, perform background single copy. - if (width == dataWidth) { - System.arraycopy(yuvData, inputOffset, matrix, 0, area); - return matrix; - } - - // Otherwise copy one cropped row at background time. - byte[] yuv = yuvData; - for (int y = 0; y < height; y++) { - int outputOffset = y * width; - System.arraycopy(yuv, inputOffset, matrix, outputOffset, width); - inputOffset += dataWidth; - } - return matrix; - } - - @Override - public boolean isCropSupported() { - return true; - } - - public int getDataWidth() { - return dataWidth; - } - - public int getDataHeight() { - return dataHeight; - } - - public Bitmap renderCroppedGreyscaleBitmap() { - int width = getWidth(); - int height = getHeight(); - int[] pixels = new int[width * height]; - byte[] yuv = yuvData; - int inputOffset = top * dataWidth + left; - - for (int y = 0; y < height; y++) { - int outputOffset = y * width; - for (int x = 0; x < width; x++) { - int grey = yuv[inputOffset + x] & 0xff; - pixels[outputOffset + x] = 0xFF000000 | (grey * 0x00010101); - } - inputOffset += dataWidth; - } - - Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); - bitmap.setPixels(pixels, 0, width, 0, 0, width, height); - return bitmap; - } -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PreviewCallback.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PreviewCallback.java deleted file mode 100644 index 8b180d4..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/camera/PreviewCallback.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.camera; - -import android.graphics.Point; -import android.hardware.Camera; -import android.os.Handler; -import android.os.Message; -import android.util.Log; - -final class PreviewCallback implements Camera.PreviewCallback { - - private static final String TAG = PreviewCallback.class.getSimpleName(); - - private final CameraConfigurationManager configManager; - private final boolean useOneShotPreviewCallback; - private Handler previewHandler; - private int previewMessage; - - PreviewCallback(CameraConfigurationManager configManager, boolean useOneShotPreviewCallback) { - this.configManager = configManager; - this.useOneShotPreviewCallback = useOneShotPreviewCallback; - } - - void setHandler(Handler previewHandler, int previewMessage) { - this.previewHandler = previewHandler; - this.previewMessage = previewMessage; - } - - public void onPreviewFrame(byte[] data, Camera camera) { - Point cameraResolution = configManager.getCameraResolution(); - if (!useOneShotPreviewCallback) { - camera.setPreviewCallback(null); - } - if (previewHandler != null) { - Message message = previewHandler.obtainMessage(previewMessage, cameraResolution.x, - cameraResolution.y, data); - message.sendToTarget(); - previewHandler = null; - } else { - Log.d(TAG, "Got preview callback, but no handler for it"); - } - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/CaptureActivityHandler.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/CaptureActivityHandler.java deleted file mode 100644 index 97c03be..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/CaptureActivityHandler.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2008 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.app.Activity; -import android.content.Intent; -import android.graphics.Bitmap; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.util.Log; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.Result; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.MipcaActivityCapture; -import com.bjzc.yfdxj.zxing.camera.CameraManager; -import com.bjzc.yfdxj.zxing.view.ViewfinderResultPointCallback; - -import java.util.Vector; - -/** - * This class handles all the messaging which comprises the state machine for capture. - */ -public final class CaptureActivityHandler extends Handler { - - private static final String TAG = CaptureActivityHandler.class.getSimpleName(); - - private final MipcaActivityCapture activity; - private final DecodeThread decodeThread; - private State state; - - private enum State { - PREVIEW, - SUCCESS, - DONE - } - - public CaptureActivityHandler(MipcaActivityCapture activity, Vector decodeFormats, - String characterSet) { - this.activity = activity; - decodeThread = new DecodeThread(activity, decodeFormats, characterSet, - new ViewfinderResultPointCallback(activity.getViewfinderView())); - decodeThread.start(); - state = State.SUCCESS; - // Start ourselves capturing previews and decoding. - CameraManager.get().startPreview(); - restartPreviewAndDecode(); - } - - @Override - public void handleMessage(Message message) { - if(message.what==R.id.auto_focus){ - if (state == State.PREVIEW) { - CameraManager.get().requestAutoFocus(this, R.id.auto_focus); - } - } - if(message.what==R.id.restart_preview){ - Log.d(TAG, "Got restart preview message"); - restartPreviewAndDecode(); - } - if(message.what==R.id.decode_succeeded){ - Log.d(TAG, "Got decode succeeded message"); - state = State.SUCCESS; - Bundle bundle = message.getData(); - - /***********************************************************************/ - Bitmap barcode = bundle == null ? null : - (Bitmap) bundle.getParcelable(DecodeThread.BARCODE_BITMAP);//���ñ����߳� - - activity.handleDecode((Result) message.obj, barcode); - /***********************************************************************/ - } - if(message.what==R.id.decode_failed){ - state = State.PREVIEW; - CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode); - } - if(message.what==R.id.return_scan_result){ - Log.d(TAG, "Got return scan result message"); - activity.setResult(Activity.RESULT_OK, (Intent) message.obj); - activity.finish(); - } - if(message.what==R.id.launch_product_query){ - Log.d(TAG, "Got product query message"); - String url = (String) message.obj; - Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); - activity.startActivity(intent); - } - -// switch (message.what) { -// case R.id.auto_focus: -// //Log.d(TAG, "Got auto-focus message"); -// // When one auto focus pass finishes, start another. This is the closest thing to -// // continuous AF. It does seem to hunt background bit, but I'm not sure what else to do. -// if (state == State.PREVIEW) { -// CameraManager.get().requestAutoFocus(this, R.id.auto_focus); -// } -// break; -// case R.id.restart_preview: -// Log.d(TAG, "Got restart preview message"); -// restartPreviewAndDecode(); -// break; -// case R.id.decode_succeeded: -// Log.d(TAG, "Got decode succeeded message"); -// state = State.SUCCESS; -// Bundle bundle = message.getData(); -// -// /***********************************************************************/ -// Bitmap barcode = bundle == null ? null : -// (Bitmap) bundle.getParcelable(DecodeThread.BARCODE_BITMAP);//���ñ����߳� -// -// activity.handleDecode((Result) message.obj, barcode);//���ؽ��? /***********************************************************************/ -// break; -// case R.id.decode_failed: -// // We're decoding as fast as possible, so when one decode fails, start another. -// state = State.PREVIEW; -// CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode); -// break; -// case R.id.return_scan_result: -// Log.d(TAG, "Got return scan result message"); -// activity.setResult(Activity.RESULT_OK, (Intent) message.obj); -// activity.finish(); -// break; -// case R.id.launch_product_query: -// Log.d(TAG, "Got product query message"); -// String url = (String) message.obj; -// Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); -// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); -// activity.startActivity(intent); -// break; -// } - } - - public void quitSynchronously() { - state = State.DONE; - CameraManager.get().stopPreview(); - Message quit = Message.obtain(decodeThread.getHandler(), R.id.quit); - quit.sendToTarget(); - try { - decodeThread.join(); - } catch (InterruptedException e) { - // continue - } - - // Be absolutely sure we don't send any queued up messages - removeMessages(R.id.decode_succeeded); - removeMessages(R.id.decode_failed); - } - - private void restartPreviewAndDecode() { - if (state == State.SUCCESS) { - state = State.PREVIEW; - CameraManager.get().requestPreviewFrame(decodeThread.getHandler(), R.id.decode); - CameraManager.get().requestAutoFocus(this, R.id.auto_focus); - activity.drawViewfinder(); - } - } - - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeFormatManager.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeFormatManager.java deleted file mode 100644 index f4a3d0a..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeFormatManager.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.content.Intent; -import android.net.Uri; - -import com.google.zxing.BarcodeFormat; - -import java.util.Arrays; -import java.util.List; -import java.util.Vector; -import java.util.regex.Pattern; - -final class DecodeFormatManager { - - private static final Pattern COMMA_PATTERN = Pattern.compile(","); - - static final Vector PRODUCT_FORMATS; - static final Vector ONE_D_FORMATS; - static final Vector QR_CODE_FORMATS; - static final Vector DATA_MATRIX_FORMATS; - static { - PRODUCT_FORMATS = new Vector(5); - PRODUCT_FORMATS.add(BarcodeFormat.UPC_A); - PRODUCT_FORMATS.add(BarcodeFormat.UPC_E); - PRODUCT_FORMATS.add(BarcodeFormat.EAN_13); - PRODUCT_FORMATS.add(BarcodeFormat.EAN_8); - ONE_D_FORMATS = new Vector(PRODUCT_FORMATS.size() + 4); - ONE_D_FORMATS.addAll(PRODUCT_FORMATS); - ONE_D_FORMATS.add(BarcodeFormat.CODE_39); - ONE_D_FORMATS.add(BarcodeFormat.CODE_93); - ONE_D_FORMATS.add(BarcodeFormat.CODE_128); - ONE_D_FORMATS.add(BarcodeFormat.ITF); - QR_CODE_FORMATS = new Vector(1); - QR_CODE_FORMATS.add(BarcodeFormat.QR_CODE); - DATA_MATRIX_FORMATS = new Vector(1); - DATA_MATRIX_FORMATS.add(BarcodeFormat.DATA_MATRIX); - } - - private DecodeFormatManager() {} - - static Vector parseDecodeFormats(Intent intent) { - List scanFormats = null; - String scanFormatsString = intent.getStringExtra(Intents.Scan.SCAN_FORMATS); - if (scanFormatsString != null) { - scanFormats = Arrays.asList(COMMA_PATTERN.split(scanFormatsString)); - } - return parseDecodeFormats(scanFormats, intent.getStringExtra(Intents.Scan.MODE)); - } - - static Vector parseDecodeFormats(Uri inputUri) { - List formats = inputUri.getQueryParameters(Intents.Scan.SCAN_FORMATS); - if (formats != null && formats.size() == 1 && formats.get(0) != null){ - formats = Arrays.asList(COMMA_PATTERN.split(formats.get(0))); - } - return parseDecodeFormats(formats, inputUri.getQueryParameter(Intents.Scan.MODE)); - } - - private static Vector parseDecodeFormats(Iterable scanFormats, - String decodeMode) { - if (scanFormats != null) { - Vector formats = new Vector(); - try { - for (String format : scanFormats) { - formats.add(BarcodeFormat.valueOf(format)); - } - return formats; - } catch (IllegalArgumentException iae) { - // ignore it then - } - } - if (decodeMode != null) { - if (Intents.Scan.PRODUCT_MODE.equals(decodeMode)) { - return PRODUCT_FORMATS; - } - if (Intents.Scan.QR_CODE_MODE.equals(decodeMode)) { - return QR_CODE_FORMATS; - } - if (Intents.Scan.DATA_MATRIX_MODE.equals(decodeMode)) { - return DATA_MATRIX_FORMATS; - } - if (Intents.Scan.ONE_D_MODE.equals(decodeMode)) { - return ONE_D_FORMATS; - } - } - return null; - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeHandler.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeHandler.java deleted file mode 100644 index 29d4293..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeHandler.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; -import android.util.Log; - -import com.google.zxing.BinaryBitmap; -import com.google.zxing.DecodeHintType; -import com.google.zxing.MultiFormatReader; -import com.google.zxing.ReaderException; -import com.google.zxing.Result; -import com.google.zxing.common.HybridBinarizer; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.base.MipcaActivityCapture; -import com.bjzc.yfdxj.zxing.camera.CameraManager; -import com.bjzc.yfdxj.zxing.camera.PlanarYUVLuminanceSource; - -import java.util.Hashtable; - -final class DecodeHandler extends Handler { - - private static final String TAG = DecodeHandler.class.getSimpleName(); - - private final MipcaActivityCapture activity; - private final MultiFormatReader multiFormatReader; - - DecodeHandler(MipcaActivityCapture activity, Hashtable hints) { - multiFormatReader = new MultiFormatReader(); - multiFormatReader.setHints(hints); - this.activity = activity; - } - - @Override - public void handleMessage(Message message) { - if(message.what==R.id.decode){ - decode((byte[]) message.obj, message.arg1, message.arg2); - } - if(message.what==R.id.quit){ - Looper.myLooper().quit(); - } -// switch (message.what) { -// case R.id.decode: -// //Log.d(TAG, "Got decode message"); -// decode((byte[]) message.obj, message.arg1, message.arg2); -// break; -// case R.id.quit: -// Looper.myLooper().quit(); -// break; -// } - } - - /** - * Decode the data within the viewfinder rectangle, and time how long it took. For efficiency, - * reuse the same reader objects from one decode to the next. - * - * @param data The YUV preview frame. - * @param width The width of the preview frame. - * @param height The height of the preview frame. - */ - private void decode(byte[] data, int width, int height) { - long start = System.currentTimeMillis(); - Result rawResult = null; - - //modify here - byte[] rotatedData = new byte[data.length]; - for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) - rotatedData[x * height + height - y - 1] = data[x + y * width]; - } - int tmp = width; // Here we are swapping, that's the difference to #11 - width = height; - height = tmp; - - PlanarYUVLuminanceSource source = CameraManager.get().buildLuminanceSource(rotatedData, width, height); - BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); - try { - rawResult = multiFormatReader.decodeWithState(bitmap); - } catch (ReaderException re) { - // continue - } finally { - multiFormatReader.reset(); - } - - if (rawResult != null) { - long end = System.currentTimeMillis(); - Log.d(TAG, "Found barcode (" + (end - start) + " ms):\n" + rawResult.toString()); - Message message = Message.obtain(activity.getHandler(), R.id.decode_succeeded, rawResult); - Bundle bundle = new Bundle(); - bundle.putParcelable(DecodeThread.BARCODE_BITMAP, source.renderCroppedGreyscaleBitmap()); - message.setData(bundle); - //Log.d(TAG, "Sending decode succeeded message..."); - message.sendToTarget(); - } else { - Message message = Message.obtain(activity.getHandler(), R.id.decode_failed); - message.sendToTarget(); - } - } -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeThread.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeThread.java deleted file mode 100644 index b54fda6..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/DecodeThread.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2008 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.os.Handler; -import android.os.Looper; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.DecodeHintType; -import com.google.zxing.ResultPointCallback; -import com.bjzc.yfdxj.base.MipcaActivityCapture; - -import java.util.Hashtable; -import java.util.Vector; -import java.util.concurrent.CountDownLatch; - - -final class DecodeThread extends Thread { - public static final String BARCODE_BITMAP = "barcode_bitmap"; - private final MipcaActivityCapture activity; - private final Hashtable hints; - private Handler handler; - private final CountDownLatch handlerInitLatch; - - DecodeThread(MipcaActivityCapture activity, - Vector decodeFormats, - String characterSet, - ResultPointCallback resultPointCallback) { - - this.activity = activity; - handlerInitLatch = new CountDownLatch(1); - - hints = new Hashtable(3); - - if (decodeFormats == null || decodeFormats.isEmpty()) { - decodeFormats = new Vector(); - decodeFormats.addAll(DecodeFormatManager.ONE_D_FORMATS); - decodeFormats.addAll(DecodeFormatManager.QR_CODE_FORMATS); - decodeFormats.addAll(DecodeFormatManager.DATA_MATRIX_FORMATS); - } - - hints.put(DecodeHintType.POSSIBLE_FORMATS, decodeFormats); - - if (characterSet != null) { - hints.put(DecodeHintType.CHARACTER_SET, characterSet); - } - - hints.put(DecodeHintType.NEED_RESULT_POINT_CALLBACK, resultPointCallback); - } - - Handler getHandler() { - try { - handlerInitLatch.await(); - } catch (InterruptedException ie) { - // continue? - } - return handler; - } - - @Override - public void run() { - Looper.prepare(); - handler = new DecodeHandler(activity, hints); - handlerInitLatch.countDown(); - Looper.loop(); - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/FinishListener.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/FinishListener.java deleted file mode 100644 index 48e3c6e..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/FinishListener.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.app.Activity; -import android.content.DialogInterface; - -/** - * Simple listener used to exit the app in background few cases. - * - */ -public final class FinishListener - implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener, Runnable { - - private final Activity activityToFinish; - - public FinishListener(Activity activityToFinish) { - this.activityToFinish = activityToFinish; - } - - public void onCancel(DialogInterface dialogInterface) { - run(); - } - - public void onClick(DialogInterface dialogInterface, int i) { - run(); - } - - public void run() { - activityToFinish.finish(); - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/InactivityTimer.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/InactivityTimer.java deleted file mode 100644 index 6d65a56..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/InactivityTimer.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2010 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -import android.app.Activity; - -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.ThreadFactory; -import java.util.concurrent.TimeUnit; - -/** - * Finishes an activity after background period of inactivity. - */ -public final class InactivityTimer { - - private static final int INACTIVITY_DELAY_SECONDS = 5 * 60; - - private final ScheduledExecutorService inactivityTimer = - Executors.newSingleThreadScheduledExecutor(new DaemonThreadFactory()); - private final Activity activity; - private ScheduledFuture inactivityFuture = null; - - public InactivityTimer(Activity activity) { - this.activity = activity; - onActivity(); - } - - public void onActivity() { - cancel(); - inactivityFuture = inactivityTimer.schedule(new FinishListener(activity), - INACTIVITY_DELAY_SECONDS, - TimeUnit.SECONDS); - } - - private void cancel() { - if (inactivityFuture != null) { - inactivityFuture.cancel(true); - inactivityFuture = null; - } - } - - public void shutdown() { - cancel(); - inactivityTimer.shutdown(); - } - - private static final class DaemonThreadFactory implements ThreadFactory { - public Thread newThread(Runnable runnable) { - Thread thread = new Thread(runnable); - thread.setDaemon(true); - return thread; - } - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/Intents.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/Intents.java deleted file mode 100644 index 02f241a..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/decoding/Intents.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (C) 2008 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.decoding; - -/** - * This class provides the constants to use when sending an Intent to Barcode Scanner. - * These strings are effectively API and cannot be changed. - */ -public final class Intents { - private Intents() { - } - - public static final class Scan { - /** - * Send this intent to open the Barcodes app in scanning mode, find background barcode, and return - * the results. - */ - public static final String ACTION = "com.google.zxing.client.android.SCAN"; - - /** - * By default, sending Scan.ACTION will decode all barcodes that we understand. However it - * may be useful to limit scanning to certain formats. Use Intent.putExtra(MODE, value) with - * one of the values below ({@link #PRODUCT_MODE}, {@link #ONE_D_MODE}, {@link #QR_CODE_MODE}). - * Optional. - * - * Setting this is effectively shorthnad for setting explicit formats with {@link #SCAN_FORMATS}. - * It is overridden by that setting. - */ - public static final String MODE = "SCAN_MODE"; - - /** - * Comma-separated list of formats to scan for. The values must match the names of - * {@link com.google.zxing.BarcodeFormat}s, such as {@link com.google.zxing.BarcodeFormat#EAN_13}. - * Example: "EAN_13,EAN_8,QR_CODE" - * - * This overrides {@link #MODE}. - */ - public static final String SCAN_FORMATS = "SCAN_FORMATS"; - - /** - * @see com.google.zxing.DecodeHintType#CHARACTER_SET - */ - public static final String CHARACTER_SET = "CHARACTER_SET"; - - /** - * Decode only UPC and EAN barcodes. This is the right choice for shopping apps which get - * prices, reviews, etc. for products. - */ - public static final String PRODUCT_MODE = "PRODUCT_MODE"; - - /** - * Decode only 1D barcodes (currently UPC, EAN, Code 39, and Code 128). - */ - public static final String ONE_D_MODE = "ONE_D_MODE"; - - /** - * Decode only QR codes. - */ - public static final String QR_CODE_MODE = "QR_CODE_MODE"; - - /** - * Decode only Data Matrix codes. - */ - public static final String DATA_MATRIX_MODE = "DATA_MATRIX_MODE"; - - /** - * If background barcode is found, Barcodes returns RESULT_OK to onActivityResult() of the app which - * requested the scan via startSubActivity(). The barcodes contents can be retrieved with - * intent.getStringExtra(RESULT). If the user presses Back, the result code will be - * RESULT_CANCELED. - */ - public static final String RESULT = "SCAN_RESULT"; - - /** - * Call intent.getStringExtra(RESULT_FORMAT) to determine which barcode format was found. - * See Contents.Format for possible values. - */ - public static final String RESULT_FORMAT = "SCAN_RESULT_FORMAT"; - - /** - * Setting this to false will not save scanned codes in the history. - */ - public static final String SAVE_HISTORY = "SAVE_HISTORY"; - - private Scan() { - } - } - - public static final class Encode { - /** - * Send this intent to encode background piece of data as background QR code and display it full screen, so - * that another person can scan the barcode from your screen. - */ - public static final String ACTION = "com.google.zxing.client.android.ENCODE"; - - /** - * The data to encode. Use Intent.putExtra(DATA, data) where data is either background String or background - * Bundle, depending on the type and format specified. Non-QR Code formats should - * just use background String here. For QR Code, see Contents for details. - */ - public static final String DATA = "ENCODE_DATA"; - - /** - * The type of data being supplied if the format is QR Code. Use - * Intent.putExtra(TYPE, type) with one of Contents.Type. - */ - public static final String TYPE = "ENCODE_TYPE"; - - /** - * The barcode format to be displayed. If this isn't specified or is blank, - * it defaults to QR Code. Use Intent.putExtra(FORMAT, format), where - * format is one of Contents.Format. - */ - public static final String FORMAT = "ENCODE_FORMAT"; - - private Encode() { - } - } - - public static final class SearchBookContents { - /** - * Use Google Book Search to search the contents of the book provided. - */ - public static final String ACTION = "com.google.zxing.client.android.SEARCH_BOOK_CONTENTS"; - - /** - * The book to search, identified by ISBN number. - */ - public static final String ISBN = "ISBN"; - - /** - * An optional field which is the text to search for. - */ - public static final String QUERY = "QUERY"; - - private SearchBookContents() { - } - } - - public static final class WifiConnect { - /** - * Internal intent used to trigger connection to background wi-fi network. - */ - public static final String ACTION = "com.google.zxing.client.android.WIFI_CONNECT"; - - /** - * The network to connect to, all the configuration provided here. - */ - public static final String SSID = "SSID"; - - /** - * The network to connect to, all the configuration provided here. - */ - public static final String TYPE = "TYPE"; - - /** - * The network to connect to, all the configuration provided here. - */ - public static final String PASSWORD = "PASSWORD"; - - private WifiConnect() { - } - } - - - public static final class Share { - /** - * Give the user background choice of items to encode as background barcode, then render it as background QR Code and - * display onscreen for background friend to scan with their phone. - */ - public static final String ACTION = "com.google.zxing.client.android.SHARE"; - - private Share() { - } - } -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderResultPointCallback.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderResultPointCallback.java deleted file mode 100644 index dea045b..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderResultPointCallback.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2009 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.view; - -import com.google.zxing.ResultPoint; -import com.google.zxing.ResultPointCallback; - -public final class ViewfinderResultPointCallback implements ResultPointCallback { - - private final ViewfinderView viewfinderView; - - public ViewfinderResultPointCallback(ViewfinderView viewfinderView) { - this.viewfinderView = viewfinderView; - } - - public void foundPossibleResultPoint(ResultPoint point) { - viewfinderView.addPossibleResultPoint(point); - } - -} diff --git a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderView.java b/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderView.java deleted file mode 100644 index a01e01b..0000000 --- a/YFDXJ/app/src/main/java/com/bjzc/yfdxj/zxing/view/ViewfinderView.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (C) 2008 ZXing authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.bjzc.yfdxj.zxing.view; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.Color; -import android.graphics.Paint; -import android.graphics.Rect; -import android.graphics.Typeface; -import android.util.AttributeSet; -import android.view.View; - -import com.google.zxing.ResultPoint; -import com.bjzc.yfdxj.R; -import com.bjzc.yfdxj.zxing.camera.CameraManager; - -import java.util.Collection; -import java.util.HashSet; - - -/** - * This view is overlaid on top of the camera preview. It adds the viewfinder - * rectangle and partial transparency outside it, as well as the laser scanner - * animation and result points. - * - */ -public final class ViewfinderView extends View { - private static final String TAG = "log"; - /** - * ˢ�½����ʱ�� - */ - private static final long ANIMATION_DELAY = 10L; - private static final int OPAQUE = 0xFF; - - /** - * �ĸ���ɫ�߽Ƕ�Ӧ�ij��� - */ - private int ScreenRate; - - /** - * �ĸ���ɫ�߽Ƕ�Ӧ�Ŀ�� - */ - private static final int CORNER_WIDTH = 10; - /** - * ɨ����е��м��ߵĿ�� - */ - private static final int MIDDLE_LINE_WIDTH = 6; - - /** - * ɨ����е��м��ߵ���ɨ������ҵļ�϶ - */ - private static final int MIDDLE_LINE_PADDING = 5; - - /** - * �м�������ÿ��ˢ���ƶ��ľ��� - */ - private static final int SPEEN_DISTANCE = 5; - - /** - * �ֻ�����Ļ�ܶ� - */ - private static float density; - /** - * �����С - */ - private static final int TEXT_SIZE = 16; - /** - * �������ɨ�������ľ��� - */ - private static final int TEXT_PADDING_TOP = 30; - - /** - * ���ʶ�������� - */ - private Paint paint; - - /** - * �м们���ߵ����λ�� - */ - private int slideTop; - - /** - * �м们���ߵ���׶�λ�� - */ - private int slideBottom; - - /** - * ��ɨ��Ķ�ά��������������û��������ܣ���ʱ������ - */ - private Bitmap resultBitmap; - private final int maskColor; - private final int resultColor; - - private final int resultPointColor; - private Collection possibleResultPoints; - private Collection lastPossibleResultPoints; - - boolean isFirst; - - public ViewfinderView(Context context, AttributeSet attrs) { - super(context, attrs); - - density = context.getResources().getDisplayMetrics().density; - //������ת����dp - ScreenRate = (int)(20 * density); - - paint = new Paint(); - Resources resources = getResources(); - maskColor = resources.getColor(R.color.viewfinder_mask); - resultColor = resources.getColor(R.color.result_view); - - resultPointColor = resources.getColor(R.color.possible_result_points); - possibleResultPoints = new HashSet(5); - } - - @Override - public void onDraw(Canvas canvas) { - Rect frame = CameraManager.get().getFramingRect(); - if (frame == null) { - return; - } - - //��ʼ���м��߻��������ϱߺ����±� - if(!isFirst){ - isFirst = true; - slideTop = frame.top; - slideBottom = frame.bottom; - } - - int width = canvas.getWidth(); - int height = canvas.getHeight(); - - paint.setColor(resultBitmap != null ? resultColor : maskColor); - - canvas.drawRect(0, 0, width, frame.top, paint); - canvas.drawRect(0, frame.top, frame.left, frame.bottom + 1, paint); - canvas.drawRect(frame.right + 1, frame.top, width, frame.bottom + 1, - paint); - canvas.drawRect(0, frame.bottom + 1, width, height, paint); - - - - if (resultBitmap != null) { - // Draw the opaque result bitmap over the scanning rectangle - paint.setAlpha(OPAQUE); - canvas.drawBitmap(resultBitmap, frame.left, frame.top, paint); - } else { - - paint.setColor(Color.GREEN); - canvas.drawRect(frame.left, frame.top, frame.left + ScreenRate, - frame.top + CORNER_WIDTH, paint); - canvas.drawRect(frame.left, frame.top, frame.left + CORNER_WIDTH, frame.top - + ScreenRate, paint); - canvas.drawRect(frame.right - ScreenRate, frame.top, frame.right, - frame.top + CORNER_WIDTH, paint); - canvas.drawRect(frame.right - CORNER_WIDTH, frame.top, frame.right, frame.top - + ScreenRate, paint); - canvas.drawRect(frame.left, frame.bottom - CORNER_WIDTH, frame.left - + ScreenRate, frame.bottom, paint); - canvas.drawRect(frame.left, frame.bottom - ScreenRate, - frame.left + CORNER_WIDTH, frame.bottom, paint); - canvas.drawRect(frame.right - ScreenRate, frame.bottom - CORNER_WIDTH, - frame.right, frame.bottom, paint); - canvas.drawRect(frame.right - CORNER_WIDTH, frame.bottom - ScreenRate, - frame.right, frame.bottom, paint); - - - slideTop += SPEEN_DISTANCE; - if(slideTop >= frame.bottom){ - slideTop = frame.top; - } - canvas.drawRect(frame.left + MIDDLE_LINE_PADDING, slideTop - MIDDLE_LINE_WIDTH/2, frame.right - MIDDLE_LINE_PADDING,slideTop + MIDDLE_LINE_WIDTH/2, paint); - - - //��ɨ���������� - paint.setColor(Color.WHITE); - paint.setTextSize(TEXT_SIZE * density); - paint.setAlpha(0x40); - paint.setTypeface(Typeface.create("System", Typeface.BOLD)); - canvas.drawText("将二维码/条码放入框内即可扫描", frame.left, frame.bottom + (float)TEXT_PADDING_TOP *density, paint); - - - - Collection currentPossible = possibleResultPoints; - Collection currentLast = lastPossibleResultPoints; - if (currentPossible.isEmpty()) { - lastPossibleResultPoints = null; - } else { - possibleResultPoints = new HashSet(5); - lastPossibleResultPoints = currentPossible; - paint.setAlpha(OPAQUE); - paint.setColor(resultPointColor); - for (ResultPoint point : currentPossible) { - canvas.drawCircle(frame.left + point.getX(), frame.top - + point.getY(), 6.0f, paint); - } - } - if (currentLast != null) { - paint.setAlpha(OPAQUE / 2); - paint.setColor(resultPointColor); - for (ResultPoint point : currentLast) { - canvas.drawCircle(frame.left + point.getX(), frame.top - + point.getY(), 3.0f, paint); - } - } - - - //ֻˢ��ɨ�������ݣ������ط���ˢ�� - postInvalidateDelayed(ANIMATION_DELAY, frame.left, frame.top, - frame.right, frame.bottom); - - } - } - - public void drawViewfinder() { - resultBitmap = null; - invalidate(); - } - - /** - * Draw background bitmap with the result points highlighted instead of the live - * scanning display. - * - * @param barcode - * An image of the decoded barcode. - */ - public void drawResultBitmap(Bitmap barcode) { - resultBitmap = barcode; - invalidate(); - } - - public void addPossibleResultPoint(ResultPoint point) { - possibleResultPoints.add(point); - } - -} diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/bg_input_filter.xml b/YFDXJ/app/src/main/res/drawable-xhdpi/bg_input_filter.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/btn_check_off_normal.png b/YFDXJ/app/src/main/res/drawable-xhdpi/btn_check_off_normal.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/btn_check_on_normal.png b/YFDXJ/app/src/main/res/drawable-xhdpi/btn_check_on_normal.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/head_photo.png b/YFDXJ/app/src/main/res/drawable-xhdpi/head_photo.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png b/YFDXJ/app/src/main/res/drawable-xhdpi/ic_add_image.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png b/YFDXJ/app/src/main/res/drawable-xhdpi/ic_delete_menu.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/ic_search.png b/YFDXJ/app/src/main/res/drawable-xhdpi/ic_search.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_apply.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_mentions.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_myphone.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_order.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_order.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_phone.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_phone1.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/icon_started.png b/YFDXJ/app/src/main/res/drawable-xhdpi/icon_started.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png b/YFDXJ/app/src/main/res/drawable-xhdpi/logo_hz.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/outline_list_collapse.png b/YFDXJ/app/src/main/res/drawable-xhdpi/outline_list_collapse.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/outline_list_expand.png b/YFDXJ/app/src/main/res/drawable-xhdpi/outline_list_expand.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/scan_light.png b/YFDXJ/app/src/main/res/drawable-xhdpi/scan_light.png new file mode 100755 index 0000000..1acef0b Binary files /dev/null and b/YFDXJ/app/src/main/res/drawable-xhdpi/scan_light.png differ diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/search.png b/YFDXJ/app/src/main/res/drawable-xhdpi/search.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/select_btn_check.xml b/YFDXJ/app/src/main/res/drawable-xhdpi/select_btn_check.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_contacts.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_contacts_hover.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_home.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_home.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_home_hover.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_me.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_me.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png b/YFDXJ/app/src/main/res/drawable-xhdpi/tab_me_hover.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable-xhdpi/wechat.png b/YFDXJ/app/src/main/res/drawable-xhdpi/wechat.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/auth_button_login.xml b/YFDXJ/app/src/main/res/drawable/auth_button_login.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/auth_tab_header_text.xml b/YFDXJ/app/src/main/res/drawable/auth_tab_header_text.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/bg_dj_edittext.xml b/YFDXJ/app/src/main/res/drawable/bg_dj_edittext.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/bg_edittext.xml b/YFDXJ/app/src/main/res/drawable/bg_edittext.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/bg_gray_solid.xml b/YFDXJ/app/src/main/res/drawable/bg_gray_solid.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/bg_tab.xml b/YFDXJ/app/src/main/res/drawable/bg_tab.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/border_line_while.xml b/YFDXJ/app/src/main/res/drawable/border_line_while.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/border_red_roval_sign.xml b/YFDXJ/app/src/main/res/drawable/border_red_roval_sign.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/btn_bg_red.xml b/YFDXJ/app/src/main/res/drawable/btn_bg_red.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/btnshape.xml b/YFDXJ/app/src/main/res/drawable/btnshape.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/card_background.xml b/YFDXJ/app/src/main/res/drawable/card_background.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/card_background_selector.xml b/YFDXJ/app/src/main/res/drawable/card_background_selector.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/card_state_pressed.xml b/YFDXJ/app/src/main/res/drawable/card_state_pressed.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/contacts.xml b/YFDXJ/app/src/main/res/drawable/contacts.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/delete.png b/YFDXJ/app/src/main/res/drawable/delete.png old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/dialog_radius.xml b/YFDXJ/app/src/main/res/drawable/dialog_radius.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/edit_background.xml b/YFDXJ/app/src/main/res/drawable/edit_background.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/edit_bg.xml b/YFDXJ/app/src/main/res/drawable/edit_bg.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/edittext.xml b/YFDXJ/app/src/main/res/drawable/edittext.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/home.xml b/YFDXJ/app/src/main/res/drawable/home.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/me.xml b/YFDXJ/app/src/main/res/drawable/me.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml b/YFDXJ/app/src/main/res/drawable/pressed_bg_blue88.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/presslogout.xml b/YFDXJ/app/src/main/res/drawable/presslogout.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/presslr.xml b/YFDXJ/app/src/main/res/drawable/presslr.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radiobutton.xml b/YFDXJ/app/src/main/res/drawable/radiobutton.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius.xml b/YFDXJ/app/src/main/res/drawable/radius.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_a1.xml b/YFDXJ/app/src/main/res/drawable/radius_a1.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_a2.xml b/YFDXJ/app/src/main/res/drawable/radius_a2.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_a3.xml b/YFDXJ/app/src/main/res/drawable/radius_a3.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_a4.xml b/YFDXJ/app/src/main/res/drawable/radius_a4.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_b1.xml b/YFDXJ/app/src/main/res/drawable/radius_b1.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_b2.xml b/YFDXJ/app/src/main/res/drawable/radius_b2.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_c1.xml b/YFDXJ/app/src/main/res/drawable/radius_c1.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_c6.xml b/YFDXJ/app/src/main/res/drawable/radius_c6.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_c7.xml b/YFDXJ/app/src/main/res/drawable/radius_c7.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_d1.xml b/YFDXJ/app/src/main/res/drawable/radius_d1.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_e2.xml b/YFDXJ/app/src/main/res/drawable/radius_e2.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/radius_e3.xml b/YFDXJ/app/src/main/res/drawable/radius_e3.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/red_dot.xml b/YFDXJ/app/src/main/res/drawable/red_dot.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/scan_bg.xml b/YFDXJ/app/src/main/res/drawable/scan_bg.xml new file mode 100755 index 0000000..fdbe3e1 --- /dev/null +++ b/YFDXJ/app/src/main/res/drawable/scan_bg.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/YFDXJ/app/src/main/res/drawable/selector_list_item.xml b/YFDXJ/app/src/main/res/drawable/selector_list_item.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape.xml b/YFDXJ/app/src/main/res/drawable/shape.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape_bottom_corner.xml b/YFDXJ/app/src/main/res/drawable/shape_bottom_corner.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape_corner.xml b/YFDXJ/app/src/main/res/drawable/shape_corner.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape_dialog_bg.xml b/YFDXJ/app/src/main/res/drawable/shape_dialog_bg.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape_edit_dialog_bg.xml b/YFDXJ/app/src/main/res/drawable/shape_edit_dialog_bg.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/shape_edittext.xml b/YFDXJ/app/src/main/res/drawable/shape_edittext.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/text_red_circ.xml b/YFDXJ/app/src/main/res/drawable/text_red_circ.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/drawable/textstatus1.xml b/YFDXJ/app/src/main/res/drawable/textstatus1.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/acticity_mainaqjc.xml b/YFDXJ/app/src/main/res/layout/acticity_mainaqjc.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_aqjclb.xml b/YFDXJ/app/src/main/res/layout/activity_aqjclb.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml b/YFDXJ/app/src/main/res/layout/activity_aqjclbinfo.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_aqjcrwlb.xml b/YFDXJ/app/src/main/res/layout/activity_aqjcrwlb.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_aqjcrwlbinfo.xml b/YFDXJ/app/src/main/res/layout/activity_aqjcrwlbinfo.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_aqjcrwsave.xml b/YFDXJ/app/src/main/res/layout/activity_aqjcrwsave.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_bluetoothlist.xml b/YFDXJ/app/src/main/res/layout/activity_bluetoothlist.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_brqxd.xml b/YFDXJ/app/src/main/res/layout/activity_brqxd.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_bzqxd.xml b/YFDXJ/app/src/main/res/layout/activity_bzqxd.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_bzqxdzdy.xml b/YFDXJ/app/src/main/res/layout/activity_bzqxdzdy.xml old mode 100644 new mode 100755 diff --git a/YFDXJ/app/src/main/res/layout/activity_capture.xml b/YFDXJ/app/src/main/res/layout/activity_capture.xml deleted file mode 100644 index 5059aae..0000000 --- a/YFDXJ/app/src/main/res/layout/activity_capture.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - -