3 İşlemeler 8e9bf77432 ... 68fa53ff71

Yazar SHA1 Mesaj Tarih
  LAPTOP-AMA5TPO8\zhongyi 68fa53ff71 1、修改角色页面跳转 4 yıl önce
  LAPTOP-AMA5TPO8\zhongyi 3c5f9fa49e 修改token判断,和部分接口 4 yıl önce
  LAPTOP-AMA5TPO8\zhongyi c262f30f8e 邦德威 读取id序列号 4 yıl önce
100 değiştirilmiş dosya ile 851 ekleme ve 253 silme
  1. 1 1
      .idea/misc.xml
  2. 18 5
      app/build.gradle
  3. 5 3
      app/src/main/AndroidManifest.xml
  4. 4 3
      app/src/main/java/com/zy/bvvm/api/ApiService.java
  5. 2 1
      app/src/main/java/com/zy/bvvm/api/ApiUrl.java
  6. 13 2
      app/src/main/java/com/zy/bvvm/app/MyApplication.java
  7. 55 0
      app/src/main/java/com/zy/bvvm/bean/VersionBean.java
  8. 4 3
      app/src/main/java/com/zy/bvvm/common/MyActivity.java
  9. 1 0
      app/src/main/java/com/zy/bvvm/common/MyDataObsever.java
  10. 5 4
      app/src/main/java/com/zy/bvvm/common/MyLazyFragment.java
  11. 5 4
      app/src/main/java/com/zy/bvvm/common/MyListViewAdapter.java
  12. 5 4
      app/src/main/java/com/zy/bvvm/common/MyRecyclerViewAdapter.java
  13. 2 1
      app/src/main/java/com/zy/bvvm/helper/ActivityStackManager.java
  14. 2 1
      app/src/main/java/com/zy/bvvm/helper/CommunityView.java
  15. 3 2
      app/src/main/java/com/zy/bvvm/helper/GPS/LocationUtils.java
  16. 127 0
      app/src/main/java/com/zy/bvvm/helper/HttpUtils.java
  17. 1 1
      app/src/main/java/com/zy/bvvm/helper/IntentExtraUtils.java
  18. 2 1
      app/src/main/java/com/zy/bvvm/helper/NFCTools.java
  19. 7 4
      app/src/main/java/com/zy/bvvm/helper/PopupWindowHelper.java
  20. 3 1
      app/src/main/java/com/zy/bvvm/helper/RadioButtonGroupHelper.java
  21. 0 1
      app/src/main/java/com/zy/bvvm/helper/SPUChip.java
  22. 7 4
      app/src/main/java/com/zy/bvvm/helper/ScreenUtil.java
  23. 7 6
      app/src/main/java/com/zy/bvvm/helper/SnackbarUtils.java
  24. 4 3
      app/src/main/java/com/zy/bvvm/helper/SoundPoolHelper.java
  25. 2 1
      app/src/main/java/com/zy/bvvm/helper/StatusBarUtil.java
  26. 3 2
      app/src/main/java/com/zy/bvvm/other/EventBusManager.java
  27. 5 4
      app/src/main/java/com/zy/bvvm/other/StatusManager.java
  28. 103 1
      app/src/main/java/com/zy/bvvm/ui/My/MyFragment.java
  29. 1 1
      app/src/main/java/com/zy/bvvm/ui/My/VaccintaePeopleAvtivity.java
  30. 3 1
      app/src/main/java/com/zy/bvvm/ui/adapter/ReportVnAdapter.java
  31. 3 1
      app/src/main/java/com/zy/bvvm/ui/adapter/VnListAdapter.java
  32. 3 2
      app/src/main/java/com/zy/bvvm/ui/alarmwaring/AlarmWaringFragment.java
  33. 3 2
      app/src/main/java/com/zy/bvvm/ui/home/BaseGPSActivity.java
  34. 5 3
      app/src/main/java/com/zy/bvvm/ui/home/FactorAdminActivity.java
  35. 4 3
      app/src/main/java/com/zy/bvvm/ui/home/HomeActivity.java
  36. 2 1
      app/src/main/java/com/zy/bvvm/ui/home/uploadChip/UploadChipModel.java
  37. 1 1
      app/src/main/java/com/zy/bvvm/ui/launcher/LauncherActivity.java
  38. 23 16
      app/src/main/java/com/zy/bvvm/ui/launcher/guide/GuideActivity.java
  39. 5 4
      app/src/main/java/com/zy/bvvm/ui/login/AuthenticationActivity.java
  40. 57 57
      app/src/main/java/com/zy/bvvm/ui/login/LoginActivity.java
  41. 3 3
      app/src/main/java/com/zy/bvvm/ui/login/LoginPasswordActivity.java
  42. 3 0
      app/src/main/java/com/zy/bvvm/ui/login/login/LoginModel.java
  43. 1 1
      app/src/main/java/com/zy/bvvm/ui/login/newPassword/NewPassword.java
  44. 3 2
      app/src/main/java/com/zy/bvvm/ui/report/ReportvnFragment.java
  45. 3 2
      app/src/main/java/com/zy/bvvm/ui/riskwaring/RiskWaringFragment.java
  46. 6 3
      app/src/main/java/com/zy/bvvm/ui/toreview/ToreviewFragment.java
  47. 3 1
      app/src/main/java/com/zy/bvvm/ui/toreview/adapter/NoToreAdapter.java
  48. 4 2
      app/src/main/java/com/zy/bvvm/ui/toreview/already/AlreadyToreviewFragment.java
  49. 4 2
      app/src/main/java/com/zy/bvvm/ui/toreview/no/NoToreviewFragment.java
  50. 3 3
      app/src/main/java/com/zy/bvvm/ui/vaccination/FirstFragment.java
  51. 1 1
      app/src/main/java/com/zy/bvvm/ui/vaccination/InoculationRegistActivity.java
  52. 2 1
      app/src/main/java/com/zy/bvvm/ui/vaccination/NoNetReportActivity.java
  53. 4 3
      app/src/main/java/com/zy/bvvm/ui/vaccination/QrCodeActivity.java
  54. 3 2
      app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForDoctorActivity.java
  55. 28 13
      app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForDoctorActivity01.java
  56. 2 1
      app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForNctActivity.java
  57. 2 1
      app/src/main/java/com/zy/bvvm/ui/webview/AgreementActrvity.java
  58. 2 1
      app/src/main/java/com/zy/bvvm/widget/EvvmMsgDiago.java
  59. 5 3
      app/src/main/java/com/zy/bvvm/widget/FmPagerAdapter.java
  60. 2 1
      app/src/main/java/com/zy/bvvm/widget/PhotoViewPager.java
  61. 2 1
      app/src/main/java/com/zy/bvvm/widget/RoundHeadbgRectLayout.java
  62. 3 2
      app/src/main/java/com/zy/bvvm/widget/UpdateDialog.java
  63. 2 1
      app/src/main/java/com/zy/bvvm/widget/XCollapsingToolbarLayout.java
  64. 11 0
      app/src/main/res/drawable/view_bg_layout_08.xml
  65. 2 1
      app/src/main/res/layout/activity_factor_admin.xml
  66. 1 1
      app/src/main/res/layout/activity_home.xml
  67. 2 2
      app/src/main/res/layout/activity_main.xml
  68. 2 2
      app/src/main/res/layout/alarm_fragment.xml
  69. 2 2
      app/src/main/res/layout/alreadytore_fragment.xml
  70. 98 0
      app/src/main/res/layout/dialog_up_apk_layout.xml
  71. 2 2
      app/src/main/res/layout/dialog_update.xml
  72. 9 0
      app/src/main/res/layout/my_fragment.xml
  73. 2 2
      app/src/main/res/layout/notore_fragment.xml
  74. 2 2
      app/src/main/res/layout/report_fragment.xml
  75. 2 2
      app/src/main/res/layout/risk_fragment.xml
  76. 2 2
      app/src/main/res/layout/toreview_fragment.xml
  77. BIN
      app/src/main/res/mipmap-xxhdpi/abouts.png
  78. BIN
      app/src/main/res/mipmap-xxhdpi/up_apk.png
  79. 4 0
      app/src/main/res/values/colors.xml
  80. 4 0
      app/src/main/res/values/strings.xml
  81. BIN
      base/build/.transforms/275151222d35ef0b87006d5e58588704/full/classes.dex
  82. BIN
      base/build/.transforms/50695729513344d8f952ef100e48ef47/full/classes.dex
  83. 0 0
      base/build/.transforms/99c94e6dfa3defcf8a489de04d2cad43.bin
  84. BIN
      base/build/.transforms/99c94e6dfa3defcf8a489de04d2cad43/full/classes.dex
  85. 0 0
      base/build/.transforms/cd9d535830ff029d10d68705e053bbb5.bin
  86. BIN
      base/build/.transforms/cd9d535830ff029d10d68705e053bbb5/full/classes.dex
  87. 0 0
      base/build/.transforms/db5469da2954eb6180dea46b9ad5bf1c.bin
  88. 0 18
      base/build/generated/source/buildConfig/release/com/hjq/base/BuildConfig.java
  89. 1 1
      base/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml
  90. 0 9
      base/build/intermediates/aapt_friendly_merged_manifests/release/aapt/AndroidManifest.xml
  91. 0 1
      base/build/intermediates/aapt_friendly_merged_manifests/release/aapt/output.json
  92. 0 1
      base/build/intermediates/annotation_processor_list/release/annotationProcessors.json
  93. 0 0
      base/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt
  94. BIN
      base/build/intermediates/compile_library_classes/debug/classes.jar
  95. BIN
      base/build/intermediates/compile_library_classes/release/classes.jar
  96. BIN
      base/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar
  97. BIN
      base/build/intermediates/compile_only_not_namespaced_r_class_jar/release/R.jar
  98. 108 0
      base/build/intermediates/consumer_proguard_file/debug/proguard.txt
  99. BIN
      base/build/intermediates/full_jar/debug/createFullJarDebug/full.jar
  100. BIN
      base/build/intermediates/full_jar/release/createFullJarRelease/full.jar

+ 1 - 1
.idea/misc.xml

@@ -39,7 +39,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">

+ 18 - 5
app/build.gradle

@@ -1,4 +1,5 @@
 apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
 apply plugin: 'org.greenrobot.greendao' // apply plugin
 
 android {
@@ -6,10 +7,10 @@ android {
     buildToolsVersion rootProject.ext.buildToolsVersion
     defaultConfig {
         applicationId "com.zy.bvvm"
-        minSdkVersion 15
+        minSdkVersion 21
         targetSdkVersion rootProject.ext.targetSdkVersion
-        versionCode 104
-        versionName "1.0.4"
+        versionCode 106
+        versionName "1.0.6"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
         multiDexEnabled true
@@ -54,6 +55,10 @@ android {
         }
     }
 
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
 }
 
 
@@ -110,8 +115,10 @@ dependencies {
     implementation 'com.android.support:multidex:1.0.3'
 
     // ButterKnife
-    implementation 'com.jakewharton:butterknife:9.0.0-rc1'
-    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
+//    implementation 'com.jakewharton:butterknife:9.0.0-rc1'
+//    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
+    implementation 'com.jakewharton:butterknife:10.1.0'
+    annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
 
     // EventBus
     implementation "org.greenrobot:eventbus:3.1.1"
@@ -184,4 +191,10 @@ dependencies {
     //腾讯bugly
     implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
     implementation 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定明确的版本号,例如3.0
+
+
+    implementation 'com.teprinciple:updateapputilsx:2.3.0'
+    implementation "androidx.core:core-ktx:1.3.2"
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+
 }

+ 5 - 3
app/src/main/AndroidManifest.xml

@@ -151,13 +151,15 @@
             android:name="design_height_in_dp"
             android:value="640" /> <!-- 主页界面 -->
         <provider
-            android:name="android.support.v4.content.FileProvider"
+            android:name="androidx.core.content.FileProvider"
             android:authorities="${applicationId}.provider"
             android:exported="false"
-            android:grantUriPermissions="true">
+            android:grantUriPermissions="true"
+            tools:replace="android:authorities">
             <meta-data
                 android:name="android.support.FILE_PROVIDER_PATHS"
-                android:resource="@xml/file_paths" />
+                android:resource="@xml/file_paths"
+                tools:replace="android:resource"/>
         </provider>
 
         <receiver

+ 4 - 3
app/src/main/java/com/zy/bvvm/api/ApiService.java

@@ -58,7 +58,8 @@ public interface ApiService {
     /**
      *  刷新token
      */
-    @POST(ApiUrl.ARTICLE_LIST + "validator")
+//    @POST(ApiUrl.ARTICLE_LIST + "validator")
+    @GET(ApiUrl.ARTICLE_LIST + "refresh")
     Observable<LoginBean> refreshToken(@QueryMap Map<String, String> map);
 
     //注册
@@ -111,9 +112,9 @@ public interface ApiService {
     Observable<VnDetailBean> saveChip(@FieldMap Map<String, Object> map);
 
     //医生使用
-    @FormUrlEncoded
+//    @FormUrlEncoded
     @POST(ApiUrl.ARTICLE_CHIP + "uploadChip")
-    Observable<VnDetailBean> uploadChip(@FieldMap Map<String, Object> map);
+    Observable<VnDetailBean> uploadChip(@QueryMap Map<String, Object> map);
 
     //获取全部疫苗品类
     @POST(ApiUrl.ARTICLE_VACCINEMANAGEMENT + "listVaccineManagement")

+ 2 - 1
app/src/main/java/com/zy/bvvm/api/ApiUrl.java

@@ -14,8 +14,9 @@ public class ApiUrl {
     //基本地址(要以“/”结尾)   测试服务器地址 http://evvminterface.lizhongxian.com/
 
     //发布地址
-//    public static final String TEST_URL = "http://kxnevvmapi.vandh.org:81/";
+//    public static final String TEST_URL = "http://kxnevvmapi.vandh.org:81/";  //康希诺
     public static final String TEST_URL = "http://121.229.41.37:8091/";
+//    public static final String TEST_URL = "http://192.168.2.121:81/";     //测试地址
 
     //基本地址(要以“/”结尾) 自己的服务器地址
     public static final String MY_URL = "http://evvmdatacenter.lizhongxian.com/";

+ 13 - 2
app/src/main/java/com/zy/bvvm/app/MyApplication.java

@@ -3,10 +3,11 @@ package com.zy.bvvm.app;
 import android.app.Application;
 import android.content.Context;
 import android.content.Intent;
-import android.support.multidex.MultiDex;
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.multidex.MultiDex;
+
 import com.allen.library.RxHttpUtils;
 import com.allen.library.config.OkHttpConfig;
 import com.allen.library.cookie.store.SPCookieStore;
@@ -38,6 +39,7 @@ public class MyApplication extends Application {
     private static Application app = null;
     private String TAG = "MyApplication";
     public static String token = "";
+    public static String token_Bearer = "";
     public static String verson = "";
 
     @Override
@@ -57,6 +59,7 @@ public class MyApplication extends Application {
         // 取消BroadcastReceiver注册
         NetStateChangeReceiver.unregisterReceiver(this);
     }
+
     private void setTGBugly() {
         Context context = getApplicationContext();
 // 获取当前包名
@@ -121,7 +124,15 @@ public class MyApplication extends Application {
                            hashMap.put("uuid", "uuid");//设备唯一码
                            hashMap.put("version", "version");//app版本
                            hashMap.put("apiVersion", "apiVersion");//api版本*/
-                        hashMap.put("Authorization", user_token);
+                        if (token.equals("Bearer")) {
+                            hashMap.put("Authorization", "Bearer \\" + user_token);
+                            token = "";
+                        } else if (token.equals("refresh")) {
+                            hashMap.put("Authorization", "Bearer " + user_token);
+                            token = "";
+                        } else {
+                            hashMap.put("Authorization", user_token);
+                        }
 //                           if(token.equals("")){
 //                               hashMap.put("Authorization", "Bearer" + user_token);
 //                           }else {

+ 55 - 0
app/src/main/java/com/zy/bvvm/bean/VersionBean.java

@@ -0,0 +1,55 @@
+package com.zy.bvvm.bean;
+
+
+import com.zy.bvvm.common.BaseDataBean;
+
+public class VersionBean extends BaseDataBean {
+    private DataBean data;
+
+
+    public DataBean getData() {
+        return data;
+    }
+
+    public void setData(DataBean data) {
+        this.data = data;
+    }
+
+    public static class DataBean {
+        String version;
+        String url;
+        String num;
+        public String getVersion() {
+            return version;
+        }
+
+        public void setVersion(String version) {
+            this.version = version;
+        }
+
+        public String getUrl() {
+            return url;
+        }
+
+        public void setUrl(String url) {
+            this.url = url;
+        }
+
+        public String getNum() {
+            return num;
+        }
+
+        public void setNum(String num) {
+            this.num = num;
+        }
+
+        @Override
+        public String toString() {
+            return "VersionBean{" +
+                    "version='" + version + '\'' +
+                    ", url='" + url + '\'' +
+                    ", num='" + num + '\'' +
+                    '}';
+        }
+    }
+}

+ 4 - 3
app/src/main/java/com/zy/bvvm/common/MyActivity.java

@@ -6,13 +6,14 @@ import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.graphics.drawable.Drawable;
 import android.provider.Settings;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.View;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+
 import com.allen.library.RxHttpUtils;
 import com.allen.library.interceptor.Transformer;
 import com.allen.library.observer.CommonObserver;

+ 1 - 0
app/src/main/java/com/zy/bvvm/common/MyDataObsever.java

@@ -62,6 +62,7 @@ public abstract class MyDataObsever<T> extends BaseObserver<T> {
             topActivity.startActivity(in);
 //            SPUtils.logout();
             // 进行内存优化,销毁掉所有的界面
+            SPUtils.remove("USER_TOKEN");
             ActivityStackManager.getInstance().finishAllActivities(LoginActivity.class);
             com.hjq.toast.ToastUtils.show("您的账户已在另一台设备登录");
 

+ 5 - 4
app/src/main/java/com/zy/bvvm/common/MyLazyFragment.java

@@ -5,16 +5,17 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.SystemClock;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+
 import com.hjq.bar.TitleBar;
 import com.hjq.base.BaseDialog;
 import com.hjq.dialog.MenuDialog;

+ 5 - 4
app/src/main/java/com/zy/bvvm/common/MyListViewAdapter.java

@@ -1,16 +1,17 @@
 package com.zy.bvvm.common;
 
 import android.content.Context;
-import android.support.annotation.ColorInt;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.IdRes;
-import android.support.annotation.StringRes;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.ColorInt;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.IdRes;
+import androidx.annotation.StringRes;
+
 import com.hjq.base.BaseListViewAdapter;
 import com.hjq.image.ImageLoader;
 

+ 5 - 4
app/src/main/java/com/zy/bvvm/common/MyRecyclerViewAdapter.java

@@ -1,16 +1,17 @@
 package com.zy.bvvm.common;
 
 import android.content.Context;
-import android.support.annotation.ColorInt;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.IdRes;
-import android.support.annotation.StringRes;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.ColorInt;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.IdRes;
+import androidx.annotation.StringRes;
+
 import com.hjq.base.BaseRecyclerViewAdapter;
 import com.hjq.image.ImageLoader;
 

+ 2 - 1
app/src/main/java/com/zy/bvvm/helper/ActivityStackManager.java

@@ -1,7 +1,8 @@
 package com.zy.bvvm.helper;
 
 import android.app.Activity;
-import android.support.v4.util.ArrayMap;
+
+import androidx.collection.ArrayMap;
 
 
 public final class ActivityStackManager {

+ 2 - 1
app/src/main/java/com/zy/bvvm/helper/CommunityView.java

@@ -1,13 +1,14 @@
 package com.zy.bvvm.helper;
 
 import android.content.Context;
-import android.support.v4.widget.ViewDragHelper;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.ScaleGestureDetector;
 import android.view.View;
 import android.widget.FrameLayout;
 
+import androidx.customview.widget.ViewDragHelper;
+
 import com.nineoldandroids.view.ViewHelper;
 
 public class CommunityView extends FrameLayout {

+ 3 - 2
app/src/main/java/com/zy/bvvm/helper/GPS/LocationUtils.java

@@ -8,10 +8,11 @@ import android.location.Location;
 import android.location.LocationListener;
 import android.location.LocationManager;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
 import android.text.TextUtils;
 
+import androidx.annotation.NonNull;
+import androidx.core.app.ActivityCompat;
+
 import java.util.List;
 
 import static android.content.Context.LOCATION_SERVICE;

+ 127 - 0
app/src/main/java/com/zy/bvvm/helper/HttpUtils.java

@@ -0,0 +1,127 @@
+package com.zy.bvvm.helper;
+
+
+import androidx.fragment.app.Fragment;
+
+import java.net.URLEncoder;
+import java.util.Iterator;
+import java.util.Map;
+
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.FormBody;
+import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+
+public class HttpUtils {
+    private static OkHttpClient client = null;
+
+    private HttpUtils() {}
+
+    public static OkHttpClient getInstance() {
+        if (client == null) {
+            synchronized (HttpUtils.class) {
+                if (client == null)
+                    client = new OkHttpClient();
+            }
+        }
+        return client;
+    }
+
+    /**
+     * Get请求
+     *
+     * @param url
+     * @param callback
+     */
+    public static void doGet(String url, Callback callback) {
+        Request request = new Request.Builder()
+                .url(url)
+                .build();
+        Call call = getInstance().newCall(request);
+        call.enqueue(callback);
+    }
+
+    /**
+     * 为HttpGet 的 url 方便的添加多个name value 参数。
+     * @param url
+     * @param params
+     * @return
+     */
+    public static String attachHttpGetParams(String url, Map<String, String> params){
+
+        Iterator<String> keys = params.keySet().iterator();
+        Iterator<String> values = params.values().iterator();
+        StringBuffer stringBuffer = new StringBuffer();
+        stringBuffer.append("?");
+
+        for (int i=0;i<params.size();i++ ) {
+            String value=null;
+            try {
+                value= URLEncoder.encode(values.next(),"utf-8");
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+
+            stringBuffer.append(keys.next()+"="+value);
+            if (i!=params.size()-1) {
+                stringBuffer.append("&");
+            }
+
+        }
+
+        return url + stringBuffer.toString();
+    }
+
+
+    /**
+     * Post请求发送键值对数据
+     *
+     * @param url
+     * @param mapParams
+     * @param callback
+     */
+    public static void doPost(String url, Map<String, String> mapParams, Callback callback) {
+        FormBody.Builder builder = new FormBody.Builder();
+        for (String key : mapParams.keySet()) {
+            builder.add(key, mapParams.get(key));
+        }
+        Request request = new Request.Builder()
+                .url(url)
+                .post(builder.build())
+                .build();
+        Call call = getInstance().newCall(request);
+        call.enqueue(callback);
+    }
+
+    /**
+     * Post请求发送JSON数据
+     *
+     * @param url
+     * @param jsonParams
+     * @param callback
+     */
+    public static void doPost(String url, String jsonParams, Callback callback) {
+        RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8")
+                , jsonParams);
+        Request request = new Request.Builder()
+                .url(url)
+                .post(body)
+                .build();
+        Call call = getInstance().newCall(request);
+        call.enqueue(callback);
+    }
+
+    /**
+     * 获取当前显示的Fragment名称
+     * @return
+    <span style="white-space:pre">	</span> */
+    public static String getCurrentFragmentName(Fragment fragment){
+        String fragName = fragment.getClass().toString();
+        fragName = fragName.substring(fragName.lastIndexOf(".")+1, fragName.length());
+        return fragName;
+    }
+
+}

+ 1 - 1
app/src/main/java/com/zy/bvvm/helper/IntentExtraUtils.java

@@ -79,7 +79,7 @@ public final class IntentExtraUtils {
         return this;
     }
 
-    public IntentExtraUtils startActivity(android.support.v4.app.Fragment fragment, int requestCode) {
+    public IntentExtraUtils startActivity(androidx.fragment.app.Fragment fragment, int requestCode) {
         fragment.startActivityForResult(new Intent(fragment.getActivity(), sCurrentClass), requestCode);
         return this;
     }

+ 2 - 1
app/src/main/java/com/zy/bvvm/helper/NFCTools.java

@@ -12,7 +12,8 @@ import android.nfc.tech.Ndef;
 import android.os.Build;
 import android.os.Parcelable;
 import android.provider.Settings;
-import android.support.annotation.RequiresApi;
+
+import androidx.annotation.RequiresApi;
 
 import java.io.UnsupportedEncodingException;
 import java.util.Arrays;

+ 7 - 4
app/src/main/java/com/zy/bvvm/helper/PopupWindowHelper.java

@@ -3,14 +3,15 @@ package com.zy.bvvm.helper;
 import android.content.Context;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.animation.Animation;
 import android.view.animation.ScaleAnimation;
 import android.widget.PopupWindow;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 /**
  *    desc   : PopupWindow辅助类
  */
@@ -106,14 +107,16 @@ public final class PopupWindowHelper implements PopupWindow.OnDismissListener {
     /**
      * 获取当前的PopupWindow对象
      */
-    public @Nullable PopupWindow getPopupWindow() {
+    public @Nullable
+    PopupWindow getPopupWindow() {
         return mPopupWindow;
     }
 
     /**
      * 获取当前的PopupWindow的View对象
      */
-    public @NonNull View getPopupView() {
+    public @NonNull
+    View getPopupView() {
         return mPopupView;
     }
 }

+ 3 - 1
app/src/main/java/com/zy/bvvm/helper/RadioButtonGroupHelper.java

@@ -1,10 +1,12 @@
 package com.zy.bvvm.helper;
 
-import android.support.annotation.IdRes;
+
 import android.view.View;
 import android.widget.CompoundButton;
 import android.widget.RadioButton;
 
+import androidx.annotation.IdRes;
+
 import java.util.ArrayList;
 import java.util.List;
 

+ 0 - 1
app/src/main/java/com/zy/bvvm/helper/SPUChip.java

@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONArray;
 
 import java.util.ArrayList;
 import java.util.List;
-
 public class SPUChip {
 
     /**

+ 7 - 4
app/src/main/java/com/zy/bvvm/helper/ScreenUtil.java

@@ -6,7 +6,6 @@ import android.content.Context;
 import android.graphics.Bitmap;
 import android.graphics.Rect;
 import android.os.Build;
-import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.util.TypedValue;
 import android.view.Display;
@@ -14,6 +13,10 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
 
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.zy.bvvm.R;
+
 /**
  * Created by Android Studio.
  * User:  zbb
@@ -131,14 +134,14 @@ public class ScreenUtil {
         if (actionBarHeight != 0)
             return actionBarHeight;
         final TypedValue tv = new TypedValue();
-        if(context.getTheme().resolveAttribute( android.support.v7.appcompat.R.attr.actionBarSize, tv, true)){
-            if (context.getTheme().resolveAttribute(android.support.v7.appcompat.R.attr.actionBarSize, tv, true))
+        if(context.getTheme().resolveAttribute( R.attr.actionBarSize, tv, true)){
+            if (context.getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
                 actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
         } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
             if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
                 actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
         }else {
-            if (context.getTheme().resolveAttribute(android.support.v7.appcompat.R.attr.actionBarSize, tv, true))
+            if (context.getTheme().resolveAttribute(R.attr.actionBarSize, tv, true))
                 actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, context.getResources().getDisplayMetrics());
         }
         Log.d("actionBarHeight","===="+actionBarHeight);

+ 7 - 6
app/src/main/java/com/zy/bvvm/helper/SnackbarUtils.java

@@ -5,12 +5,6 @@ import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
 import android.os.Build;
-import android.support.annotation.ColorInt;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringRes;
-import android.support.design.widget.CoordinatorLayout;
-import android.support.design.widget.Snackbar;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -22,8 +16,15 @@ import android.widget.LinearLayout;
 import android.widget.Space;
 import android.widget.TextView;
 
+import androidx.annotation.ColorInt;
+import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
+
 import java.lang.ref.WeakReference;
 
+import com.google.android.material.snackbar.Snackbar;
 import com.zy.bvvm.R;
 
 /**

+ 4 - 3
app/src/main/java/com/zy/bvvm/helper/SoundPoolHelper.java

@@ -5,11 +5,12 @@ import android.media.AudioManager;
 import android.media.RingtoneManager;
 import android.media.SoundPool;
 import android.net.Uri;
-import android.support.annotation.IntDef;
-import android.support.annotation.NonNull;
-import android.support.annotation.RawRes;
 
 
+import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.RawRes;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.HashMap;

+ 2 - 1
app/src/main/java/com/zy/bvvm/helper/StatusBarUtil.java

@@ -6,13 +6,14 @@ import android.app.Activity;
 import android.content.Context;
 import android.graphics.Color;
 import android.os.Build;
-import android.support.annotation.IntDef;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
 
 
+import androidx.annotation.IntDef;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.reflect.Field;

+ 3 - 2
app/src/main/java/com/zy/bvvm/other/EventBusManager.java

@@ -1,14 +1,15 @@
 package com.zy.bvvm.other;
 
-import android.support.v4.util.ArrayMap;
+import androidx.collection.ArrayMap;
 
+import com.zy.bvvm.MyEventBusIndex;
 
 import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 import org.greenrobot.eventbus.meta.SubscriberInfoIndex;
 
-import com.zy.bvvm.MyEventBusIndex;
+
 
 /**
  *    desc   : EventBus 管理类

+ 5 - 4
app/src/main/java/com/zy/bvvm/other/StatusManager.java

@@ -4,13 +4,14 @@ import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
-import android.support.annotation.DrawableRes;
-import android.support.annotation.RequiresPermission;
-import android.support.annotation.StringRes;
-import android.support.v4.app.FragmentActivity;
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.DrawableRes;
+import androidx.annotation.RequiresPermission;
+import androidx.annotation.StringRes;
+import androidx.fragment.app.FragmentActivity;
+
 import com.hjq.base.BaseDialog;
 import com.hjq.dialog.WaitDialog;
 import com.hjq.widget.HintLayout;

+ 103 - 1
app/src/main/java/com/zy/bvvm/ui/My/MyFragment.java

@@ -2,6 +2,9 @@ package com.zy.bvvm.ui.My;
 
 import android.app.Dialog;
 import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Message;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.ImageView;
@@ -11,17 +14,31 @@ import android.widget.TextView;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
+import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Objects;
 
 import butterknife.BindView;
 import butterknife.OnClick;
+import constant.UiType;
+import listener.OnInitUiListener;
+import model.UiConfig;
+import model.UpdateConfig;
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.Response;
+import update.UpdateAppUtils;
 
+import com.google.gson.Gson;
 import com.hjq.widget.SettingBar;
 import com.zy.bvvm.R;
 import com.zy.bvvm.api.ApiUrl;
+import com.zy.bvvm.bean.VersionBean;
 import com.zy.bvvm.common.MyLazyFragment;
 import com.zy.bvvm.helper.ActivityStackManager;
+import com.zy.bvvm.helper.HttpUtils;
 import com.zy.bvvm.helper.SPUtils;
 import com.zy.bvvm.ui.My.change.ChangeIFMTActivity;
 import com.zy.bvvm.ui.event.informationEvent;
@@ -111,7 +128,8 @@ public class MyFragment extends MyLazyFragment<HomeActivity> {
     }
 
     @OnClick(value = {R.id.my_img_head, R.id.my_sb_information, R.id.sb_setting_explain, R.id.sb_setting_about, R.id.my_btn_exit,
-            R.id.sb_vaccinate_people, R.id.iv_switch_close, R.id.sb_privacy_agreement1,R.id.sb_privacy_agreement2, R.id.iv_title_return})
+            R.id.sb_vaccinate_people, R.id.iv_switch_close, R.id.sb_privacy_agreement1,R.id.sb_privacy_agreement2, R.id.iv_title_return,
+            R.id.sb_setting_abouts})
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.iv_title_return:
@@ -152,6 +170,9 @@ public class MyFragment extends MyLazyFragment<HomeActivity> {
                 //关于
                 startActivity(AboutActivity.class);
                 break;
+            case R.id.sb_setting_abouts:
+                getVersonInfoApk();
+                break;
             case R.id.sb_privacy_agreement1:     //隐私政策
                 Intent intent_agreement1 = new Intent(getActivity(), AgreementActrvity.class);
                 intent_agreement1.putExtra("name", "2");
@@ -192,4 +213,85 @@ public class MyFragment extends MyLazyFragment<HomeActivity> {
                 break;
         }
     }
+
+    /**
+     * 获取网络版本信息
+     */
+    private void getVersonInfoApk() {
+
+        HashMap<String, String> map = new HashMap();
+        map.put("os", "3");
+
+
+        String url = HttpUtils.attachHttpGetParams("http://125.124.132.156:81/prod-api/vvm/version/checkUpdate", map);
+        HttpUtils.doGet(url, new Callback() {
+            @Override
+            public void onFailure(Call call, IOException e) {
+//                toast(errorMsg);
+            }
+
+            @Override
+            public void onResponse(Call call, Response response) throws IOException {
+                String asd = response.body().string();
+                Message message = new Message();
+                message.obj = asd;
+                String aa = (String) message.obj;
+                Gson gson = new Gson();
+                VersionBean versionBean = gson.fromJson(aa, VersionBean.class);
+                if (versionBean.getCode() == 200) {
+                    ifUpApk(versionBean.getData().getVersion(), versionBean.getData().getUrl());
+                } else {
+                    try {
+                        toast(versionBean.getMsg());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        });
+    }
+
+    private void ifUpApk(String version, String url) {
+        //本地版本信息
+        PackageManager packageManager = Objects.requireNonNull(getActivity()).getPackageManager();
+        PackageInfo info = null;
+        int verson_code;
+        String verson_name = "";
+        try {
+            info = packageManager.getPackageInfo(getActivity().getPackageName(), 0);
+            verson_code = info.versionCode;
+            verson_name = info.versionName.toString();
+//            tv_sb_versioninfo.text = "V$verson_name"
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+
+        if (verson_name != "" || version != "") {
+            if (verson_name != version) {
+                UiConfig uiConfig = new UiConfig();
+                uiConfig.setUiType(UiType.CUSTOM);
+                uiConfig.setCustomLayoutId(R.layout.dialog_up_apk_layout);
+
+                //显示弹窗
+                UpdateAppUtils.getInstance()
+                        .uiConfig(uiConfig)
+                        .setOnInitUiListener(new OnInitUiListener() {
+                            @Override
+                            public void onInitUpdateUi(View view, UpdateConfig updateConfig, UiConfig uiConfig) {
+
+                            }
+                        })
+                        .apkUrl(url)
+                        .updateTitle("V$version_name")
+                        .update();
+            } else {
+//                Toast.makeText(activity, "当前已是最新版本!", Toast.LENGTH_LONG).show()
+                toast("当前已是最新版本!");
+            }
+        } else {
+//            Toast.makeText(activity, "获取最新版本信息失败!", Toast.LENGTH_LONG).show()
+            toast("获取最新版本信息失败!");
+        }
+    }
 }

+ 1 - 1
app/src/main/java/com/zy/bvvm/ui/My/VaccintaePeopleAvtivity.java

@@ -1,6 +1,6 @@
 package com.zy.bvvm.ui.My;
 
-import android.support.v7.app.AppCompatActivity;
+
 import android.os.Bundle;
 import android.view.View;
 import android.widget.ImageView;

+ 3 - 1
app/src/main/java/com/zy/bvvm/ui/adapter/ReportVnAdapter.java

@@ -1,6 +1,8 @@
 package com.zy.bvvm.ui.adapter;
 
-import android.support.annotation.Nullable;
+
+
+import androidx.annotation.Nullable;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;

+ 3 - 1
app/src/main/java/com/zy/bvvm/ui/adapter/VnListAdapter.java

@@ -1,6 +1,8 @@
 package com.zy.bvvm.ui.adapter;
 
-import android.support.annotation.Nullable;
+
+
+import androidx.annotation.Nullable;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;

+ 3 - 2
app/src/main/java/com/zy/bvvm/ui/alarmwaring/AlarmWaringFragment.java

@@ -1,10 +1,11 @@
 package com.zy.bvvm.ui.alarmwaring;
 
 import android.content.Intent;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
 import android.view.View;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.ajguan.library.EasyRefreshLayout;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 

+ 3 - 2
app/src/main/java/com/zy/bvvm/ui/home/BaseGPSActivity.java

@@ -6,10 +6,11 @@ import android.location.Criteria;
 import android.location.Location;
 import android.location.LocationManager;
 import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+import androidx.core.app.ActivityCompat;
+
 import com.zy.bvvm.helper.GPS.LocationUtils;
 import com.zy.bvvm.helper.SPUtils;
 import com.zy.bvvm.mvp.MvpActivity;

+ 5 - 3
app/src/main/java/com/zy/bvvm/ui/home/FactorAdminActivity.java

@@ -1,11 +1,13 @@
 package com.zy.bvvm.ui.home;
 
-import android.support.annotation.NonNull;
-import android.support.design.widget.BottomNavigationView;
-import android.support.v4.view.ViewPager;
+
 import android.view.KeyEvent;
 import android.view.MenuItem;
 
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.ViewPager;
+
+import com.google.android.material.bottomnavigation.BottomNavigationView;
 import com.hjq.base.BaseFragmentAdapter;
 import com.hjq.widget.NoScrollViewPager;
 

+ 4 - 3
app/src/main/java/com/zy/bvvm/ui/home/HomeActivity.java

@@ -4,12 +4,13 @@ package com.zy.bvvm.ui.home;
 import android.app.Dialog;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.design.widget.BottomNavigationView;
-import android.support.v4.view.ViewPager;
 import android.view.KeyEvent;
 import android.view.MenuItem;
 
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.ViewPager;
+
+import com.google.android.material.bottomnavigation.BottomNavigationView;
 import com.hjq.base.BaseFragmentAdapter;
 import com.tianma.netdetector.lib.NetStateChangeReceiver;
 

+ 2 - 1
app/src/main/java/com/zy/bvvm/ui/home/uploadChip/UploadChipModel.java

@@ -71,6 +71,7 @@ public class UploadChipModel extends MvpModel<UploadChipOnListener> {
      */
     public void forDoctor(final String chipNumber, String cipherText, final String inoculators, double longitude, double latitude, boolean again, final boolean isWarning, final String noNetMsg) {
         //String chipNumber2 = "18069716024899960000000000000320000000000000032000000000000000000000000000000000";
+        MyApplication.token = "Bearer";
         Map<String, Object> map = new HashMap<>();
         map.put("chipNumber", chipNumber);
         map.put("inoculators", inoculators);
@@ -81,7 +82,7 @@ public class UploadChipModel extends MvpModel<UploadChipOnListener> {
         Log.e("FOR_DOCTOR", map.toString());
         //Log.e("forDoctorinoculators",""+inoculators);
         final String setJsonmap = mapToJson(map);
-        MyApplication.token = "token";
+//        MyApplication.token = "token";
         RxHttpUtils.createApi(ApiService.class)
                 .uploadChip(map)
                 .compose(Transformer.<VnDetailBean>switchSchedulers())

+ 1 - 1
app/src/main/java/com/zy/bvvm/ui/launcher/LauncherActivity.java

@@ -60,7 +60,7 @@ public class LauncherActivity extends MvpActivity<LauncherPresenter> implements
         }
         Log.e("verson", name);
         tvAboutVersonCode.setText("版本号 V" + name);
-        getPresenter().getVersonInfo("2", name);
+//        getPresenter().getVersonInfo("2", name);
     }
 
     @Override

+ 23 - 16
app/src/main/java/com/zy/bvvm/ui/launcher/guide/GuideActivity.java

@@ -115,23 +115,25 @@ public class GuideActivity extends MyActivity {
 
     private void gohome() {
         switch (guideRoleId) {   //根据不同角色 跳转进入不同的页面 只有厂家管理员不需要判断nfc
-            case 2: //医生
-                startActivityFinish(ReadingActivity.class);
-                SPUtils.put("GUIDE_DOCTOR", 1);
-                break;
-            case 3: //医药企业管理员
-                startActivityFinish(FactorAdminActivity.class);
-                SPUtils.put("GUIDE_ADMIN", 1);
-                break;
-            case 4: //医药企业操作员
-                if (!checkGpsAndNfc()) {
-                    return;
-                }
-                startActivityFinish(FactoryOperatorActivity.class);
-                SPUtils.put("GUIDE_OPERA", 1);
-                break;
+//            case 2: //医生
+//                startActivityFinish(ReadingActivity02.class);
+//                SPUtils.put("GUIDE_DOCTOR", 1);
+//                break;
+//            case 3: //医药企业管理员
+//                startActivityFinish(FactorAdminActivity.class);
+//                SPUtils.put("GUIDE_ADMIN", 1);
+//                break;
+//            case 4: //医药企业操作员
+//                if (!checkGpsAndNfc()) {
+//                    return;
+//                }
+//                startActivityFinish(FactoryOperatorActivity.class);
+//                SPUtils.put("GUIDE_OPERA", 1);
+//                break;
             default:
-                toast("当前版本不支持本角色登录");
+                startActivityFinish(ReadingActivity02.class);
+                SPUtils.put("GUIDE_DOCTOR", 1);
+//                toast("当前版本不支持本角色登录");
                 break;
         }
     }
@@ -156,6 +158,11 @@ public class GuideActivity extends MyActivity {
             bannerGuideBackground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
                     R.drawable.operator01,
                     R.drawable.operator02);
+        }else {
+            bannerGuideBackground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
+                    R.drawable.doctor01,
+                    R.drawable.doctor02,
+                    R.drawable.doctor03);
         }
 
      /*   bannerGuideForeground.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,

+ 5 - 4
app/src/main/java/com/zy/bvvm/ui/login/AuthenticationActivity.java

@@ -7,10 +7,6 @@ import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Environment;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -20,6 +16,11 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 

+ 57 - 57
app/src/main/java/com/zy/bvvm/ui/login/LoginActivity.java

@@ -189,7 +189,7 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
                                 //如果不是手动退出的
                                 showLoading();
                                 //登陆过 进行自动登录
-                                MyApplication.token = "token";
+//                                MyApplication.token = "token";
                                 userPhone = user_phone;
                                 getPresenter().refreshToken();
                             }
@@ -310,7 +310,7 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
                         startActivityFinish(FactoryOperatorActivity.class);
                         break;
                     default:
-                        startActivityFinish(ReadingActivity.class);
+                        startActivityFinish(ReadingActivity02.class);
                         break;
                 }
             }
@@ -423,21 +423,21 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
 //            SPUtils.put("USER_PWD", userData.getPassword());
 //        }
         SPUtils.put("USER_ROLEID", userData.getRoleId() + "");
-        if (userData.getRoleId() == 3 | userData.getRoleId() == 4) {
-            SPUtils.put("USER_FACTORY_ID", userData.getFactoryId() + "");
-        }
-        if (userData.getUserName() != null) {
-            SPUtils.put("USER_NAME", userData.getUserName() + "");
-        }
-        if (userData.getPhoneModel() != null) {
-            SPUtils.put("PHONE_MODEL", userData.getPhoneModel());
-        }
-        if (userData.getEmail() != null) {
-            SPUtils.put("USER_EMAIL", userData.getEmail());
-        }
-        if (userData.getTelephone() != null) {
-            SPUtils.put("USER_CALLNUM", userData.getTelephone());
-        }
+//        if (userData.getRoleId() == 3 | userData.getRoleId() == 4) {
+//            SPUtils.put("USER_FACTORY_ID", userData.getFactoryId() + "");
+//        }
+//        if (userData.getUserName() != null) {
+//            SPUtils.put("USER_NAME", userData.getUserName() + "");
+//        }
+//        if (userData.getPhoneModel() != null) {
+//            SPUtils.put("PHONE_MODEL", userData.getPhoneModel());
+//        }
+//        if (userData.getEmail() != null) {
+//            SPUtils.put("USER_EMAIL", userData.getEmail());
+//        }
+//        if (userData.getTelephone() != null) {
+//            SPUtils.put("USER_CALLNUM", userData.getTelephone());
+//        }
 
         guideOrLogin(userData.getRoleId(), userData.isNewUser(), type);
     }
@@ -451,31 +451,31 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
             if (isNewUser == false) {
                 //登陆过
                 switch (roleId) {
-                    case 3: //医药企业管理员
-                        int guide_admin = (int) SPUtils.get("GUIDE_ADMIN", 0);
-                        if (guide_admin == 1) {
-                            startActivityFinish(FactorAdminActivity.class);
-                        } else {
-                            goToGuide(roleId);
-                        }
-                        break;
-                    case 4: //医药企业操作员
-                        if (!checkGpsAndNfc()) {
-                            return;
-                        }
-                        int guide_opera = (int) SPUtils.get("GUIDE_OPERA", 0);
-                        if (guide_opera == 1) {
-                            startActivityFinish(FactoryOperatorActivity.class);
-                        } else {
-                            goToGuide(roleId);
-                        }
-                        break;
+//                    case 3: //医药企业管理员
+//                        int guide_admin = (int) SPUtils.get("GUIDE_ADMIN", 0);
+//                        if (guide_admin == 1) {
+//                            startActivityFinish(FactorAdminActivity.class);
+//                        } else {
+//                            goToGuide(roleId);
+//                        }
+//                        break;
+//                    case 4: //医药企业操作员
+//                        if (!checkGpsAndNfc()) {
+//                            return;
+//                        }
+//                        int guide_opera = (int) SPUtils.get("GUIDE_OPERA", 0);
+//                        if (guide_opera == 1) {
+//                            startActivityFinish(FactoryOperatorActivity.class);
+//                        } else {
+//                            goToGuide(roleId);
+//                        }
+//                        break;
 
                     default:
                         int guide_doctor = (int) SPUtils.get("GUIDE_DOCTOR", 0);
                         if (guide_doctor == 1) {        //判断是否首次登陆
 //                        startActivityFinish(HomeActivity.class);
-                            startActivityFinish(ReadingActivity.class);
+                            startActivityFinish(ReadingActivity02.class);
                         } else {
                             goToGuide(roleId);
                         }
@@ -492,30 +492,30 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
         } else {
             switch (roleId) {
                 case 3: //医药企业管理员
-                    int guide_admin = (int) SPUtils.get("GUIDE_ADMIN", 0);
-                    if (guide_admin == 1) {
-                        startActivityFinish(FactorAdminActivity.class);
-                    } else {
-                        goToGuide(roleId);
-                    }
-                    break;
-                case 4: //医药企业操作员
-                    if (!checkGpsAndNfc()) {
-                        return;
-                    }
-                    int guide_opera = (int) SPUtils.get("GUIDE_OPERA", 0);
-                    if (guide_opera == 1) {
-                        startActivityFinish(FactoryOperatorActivity.class);
-                    } else {
-                        goToGuide(roleId);
-                    }
-                    break;
+//                    int guide_admin = (int) SPUtils.get("GUIDE_ADMIN", 0);
+//                    if (guide_admin == 1) {
+//                        startActivityFinish(FactorAdminActivity.class);
+//                    } else {
+//                        goToGuide(roleId);
+//                    }
+//                    break;
+//                case 4: //医药企业操作员
+//                    if (!checkGpsAndNfc()) {
+//                        return;
+//                    }
+//                    int guide_opera = (int) SPUtils.get("GUIDE_OPERA", 0);
+//                    if (guide_opera == 1) {
+//                        startActivityFinish(FactoryOperatorActivity.class);
+//                    } else {
+//                        goToGuide(roleId);
+//                    }
+//                    break;
 
                 default:
                     int guide_doctor = (int) SPUtils.get("GUIDE_DOCTOR", 0);
                     if (guide_doctor == 1) {        //判断是否首次登陆
 //                        startActivityFinish(HomeActivity.class);
-                        startActivityFinish(ReadingActivity.class);
+                        startActivityFinish(ReadingActivity02.class);
                     } else {
                         goToGuide(roleId);
                     }
@@ -616,7 +616,7 @@ public class LoginActivity extends MvpActivity<LoginPresenter> implements LoginC
 
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
-        exit();
+//        exit();
         return super.onKeyDown(keyCode, event);
     }
 

+ 3 - 3
app/src/main/java/com/zy/bvvm/ui/login/LoginPasswordActivity.java

@@ -180,7 +180,7 @@ public class LoginPasswordActivity extends MvpActivity<LoginPresenter> implement
                         if (SPUtils.get("isQuid", "").equals("")) {
                             //非退出状态
                             if (!SPUtils.get("USER_PHONE", "").equals("")) {
-                                MyApplication.token = "token";
+//                                MyApplication.token = "token";
                                 getPresenter().refreshToken();
                                 showLoading();
                             }
@@ -293,7 +293,7 @@ public class LoginPasswordActivity extends MvpActivity<LoginPresenter> implement
                         startActivityFinish(FactoryOperatorActivity.class);
                         break;
                     default:
-                        startActivityFinish(ReadingActivity.class);
+                        startActivityFinish(ReadingActivity02.class);
                         break;
                 }
             }
@@ -413,7 +413,7 @@ public class LoginPasswordActivity extends MvpActivity<LoginPresenter> implement
             default:
                 int guide_doctor = (int) SPUtils.get("GUIDE_DOCTOR", 0);
                 if (guide_doctor == 1) {
-                    startActivityFinish(ReadingActivity.class);
+                    startActivityFinish(ReadingActivity02.class);
                 } else {
                     goToGuide(roleId);
                 }

+ 3 - 0
app/src/main/java/com/zy/bvvm/ui/login/login/LoginModel.java

@@ -1,5 +1,6 @@
 package com.zy.bvvm.ui.login.login;
 
+import android.app.Application;
 import android.util.Log;
 
 import com.allen.library.RxHttpUtils;
@@ -9,6 +10,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import com.zy.bvvm.api.ApiService;
+import com.zy.bvvm.app.MyApplication;
 import com.zy.bvvm.common.MyDataObsever;
 import com.zy.bvvm.helper.Encrypt;
 import com.zy.bvvm.helper.MD5;
@@ -144,6 +146,7 @@ public class LoginModel extends MvpModel<LoginOnListener> {
 
     void refreshToken() {
         Map<String, String> map = new HashMap<>();
+        MyApplication.token = "refresh";
         RxHttpUtils.createApi(ApiService.class)
                 .refreshToken(map)
                 .compose(Transformer.<LoginBean>switchSchedulers())

+ 1 - 1
app/src/main/java/com/zy/bvvm/ui/login/newPassword/NewPassword.java

@@ -141,7 +141,7 @@ public class NewPassword extends MvpActivity<NewPasswordPresenter> implements Ne
             default:
                 int guide_doctor = (int) SPUtils.get("GUIDE_DOCTOR", 0);
                 if (guide_doctor == 1) {        //判断是否首次登陆
-                    startActivityFinish(ReadingActivity.class);
+                    startActivityFinish(ReadingActivity02.class);
                 } else {
                     goToGuide(roleId);
                 }

+ 3 - 2
app/src/main/java/com/zy/bvvm/ui/report/ReportvnFragment.java

@@ -2,13 +2,14 @@ package com.zy.bvvm.ui.report;
 
 import android.app.Dialog;
 import android.content.Intent;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.view.View;
 import android.widget.EditText;
 import android.widget.TextView;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.ajguan.library.EasyRefreshLayout;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.hjq.bar.TitleBar;

+ 3 - 2
app/src/main/java/com/zy/bvvm/ui/riskwaring/RiskWaringFragment.java

@@ -1,10 +1,11 @@
 package com.zy.bvvm.ui.riskwaring;
 
 import android.content.Intent;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
 import android.view.View;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.ajguan.library.EasyRefreshLayout;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 

+ 6 - 3
app/src/main/java/com/zy/bvvm/ui/toreview/ToreviewFragment.java

@@ -1,12 +1,15 @@
 package com.zy.bvvm.ui.toreview;
 
-import android.support.design.widget.TabLayout;
-import android.support.v4.app.Fragment;
-import android.support.v4.view.ViewPager;
+
+
+import androidx.fragment.app.Fragment;
+import androidx.viewpager.widget.ViewPager;
 
 import java.util.ArrayList;
 
 import butterknife.BindView;
+
+import com.google.android.material.tabs.TabLayout;
 import com.zy.bvvm.R;
 import com.zy.bvvm.common.MyLazyFragment;
 import com.zy.bvvm.ui.home.HomeActivity;

+ 3 - 1
app/src/main/java/com/zy/bvvm/ui/toreview/adapter/NoToreAdapter.java

@@ -1,8 +1,10 @@
 package com.zy.bvvm.ui.toreview.adapter;
 
-import android.support.annotation.Nullable;
+
 import android.text.TextUtils;
 
+import androidx.annotation.Nullable;
+
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
 

+ 4 - 2
app/src/main/java/com/zy/bvvm/ui/toreview/already/AlreadyToreviewFragment.java

@@ -1,9 +1,11 @@
 package com.zy.bvvm.ui.toreview.already;
 
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+
 import android.view.View;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.ajguan.library.EasyRefreshLayout;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 

+ 4 - 2
app/src/main/java/com/zy/bvvm/ui/toreview/no/NoToreviewFragment.java

@@ -1,9 +1,11 @@
 package com.zy.bvvm.ui.toreview.no;
 
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+
 import android.view.View;
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.ajguan.library.EasyRefreshLayout;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 

+ 3 - 3
app/src/main/java/com/zy/bvvm/ui/vaccination/FirstFragment.java

@@ -8,8 +8,6 @@ import android.graphics.Point;
 import android.graphics.drawable.Drawable;
 import android.nfc.Tag;
 import android.os.Build;
-import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Display;
@@ -24,6 +22,8 @@ import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import androidx.annotation.RequiresApi;
+
 import com.hjq.bar.OnTitleBarListener;
 import com.hjq.bar.TitleBar;
 import com.hjq.image.GlideFactory;
@@ -208,7 +208,7 @@ public class FirstFragment extends MvpLazyFragment<CategoryTimesPresenter> imple
                             if (SPUtils.get("switch_state", "close").equals("open")) {
                                 startActivity(QrCodeActivity.class);        //扫描页面
                             } else {
-                                startActivity(ReadingActivity.class); //NFC页面
+                                startActivity(ReadingActivity02.class); //NFC页面
                             }
                         } else {
                             toast("获取权限成功,部分权限未正常授予");

+ 1 - 1
app/src/main/java/com/zy/bvvm/ui/vaccination/InoculationRegistActivity.java

@@ -79,7 +79,7 @@ public class InoculationRegistActivity extends MvpActivity<IctregisterPresenter>
                 inoculatorArr.put(result);
                 SPUtils.put("INOCULATOR_LIST", inoculatorArr.toString());
 //                toast("注册成功,请进行扫描");
-                startActivityFinish(ReadingActivity.class);
+                startActivityFinish(ReadingActivity02.class);
             } catch (Exception e) {
                 e.printStackTrace();
             }

+ 2 - 1
app/src/main/java/com/zy/bvvm/ui/vaccination/NoNetReportActivity.java

@@ -13,7 +13,6 @@ import android.os.Environment;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.MediaStore;
-import android.support.annotation.RequiresApi;
 import android.text.SpannableString;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
@@ -28,6 +27,8 @@ import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import androidx.annotation.RequiresApi;
+
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;

+ 4 - 3
app/src/main/java/com/zy/bvvm/ui/vaccination/QrCodeActivity.java

@@ -4,11 +4,12 @@ import android.app.Activity;
 import android.app.Service;
 import android.content.Intent;
 import android.os.Vibrator;
-import android.support.annotation.Nullable;
 import android.util.Log;
 import android.view.View;
 import android.widget.ImageView;
 
+import androidx.annotation.Nullable;
+
 import org.json.JSONArray;
 
 import java.util.regex.Pattern;
@@ -95,7 +96,7 @@ public class QrCodeActivity extends MyActivity implements QRCodeView.Delegate {
                     return;
                 }
                 SPUtils.remove("INOCULATOR_LIST");
-                startActivityFinish(ReadingActivity.class);
+                startActivityFinish(ReadingActivity02.class);
                 break;
             case R.id.img_flashlight:
                 if (flashlightIsOpen) {
@@ -128,7 +129,7 @@ public class QrCodeActivity extends MyActivity implements QRCodeView.Delegate {
                 inoculatorArr.put(result);
                 //  Log.e("onScanQRCodeSuccess",""+inoculatorArr.toString());
                 SPUtils.put("INOCULATOR_LIST", inoculatorArr.toString());
-                startActivityFinish(ReadingActivity.class);
+                startActivityFinish(ReadingActivity02.class);
 
             } else {
                 toast("未能识别二维码");

+ 3 - 2
app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForDoctorActivity.java

@@ -16,7 +16,6 @@ import android.os.Environment;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.MediaStore;
-import android.support.annotation.RequiresApi;
 import android.text.SpannableString;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
@@ -33,6 +32,8 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.annotation.RequiresApi;
+
 import com.github.dfqin.grantor.PermissionListener;
 import com.github.dfqin.grantor.PermissionsUtil;
 import com.hjq.base.BaseDialog;
@@ -269,7 +270,7 @@ public class VnReportDetailForDoctorActivity extends MvpActivity<VnDetailPresent
         switch (view.getId()) {
             case R.id.next_btn_report:          //确认
                 if (status == 4 || status == 8) {
-                    startActivityFinish(ReadingActivity.class);
+                    startActivityFinish(ReadingActivity02.class);
                 } else {
                     if (status == 6 || status == 7) {
                         startActivityFinish(HomeActivity.class);

+ 28 - 13
app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForDoctorActivity01.java

@@ -20,7 +20,6 @@ import android.os.Environment;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.MediaStore;
-import android.support.annotation.RequiresApi;
 import android.text.SpannableString;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
@@ -39,6 +38,8 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.annotation.RequiresApi;
+
 import com.github.dfqin.grantor.PermissionListener;
 import com.github.dfqin.grantor.PermissionsUtil;
 import com.hjq.base.BaseDialog;
@@ -169,7 +170,7 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
     RelativeLayout rlAll;
     //新添加id
     /**
-     *接种部位
+     * 接种部位
      */
     @BindView(R.id.vndetail_tv_vaccinationSite)
     TextView vndetailTvVaccinationSite;
@@ -195,7 +196,6 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
     TextView ndetailTvSpecifications;
 
 
-
     static final String[] PERMISSION = new String[]{
             Manifest.permission.WRITE_EXTERNAL_STORAGE,
             Manifest.permission.READ_EXTERNAL_STORAGE,
@@ -207,6 +207,7 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
     private List<TextView> yujingList;
     private List<TextView> vntextviewList;
     private List<TextView> zcList;
+    private ObjectAnimator animator;
 
 
     @Override
@@ -275,7 +276,7 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
     public void onViewClicked(View view) {
         switch (view.getId()) {
             case R.id.next_btn_report:
-                startActivityFinish(ReadingActivity.class);
+                startActivityFinish(ReadingActivity02.class);
 //                if (status == 4 || status == 8) {
 //                    startActivityFinish(ReadingActivity.class);
 //                } else {
@@ -418,9 +419,9 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
         vndetailTvChatImage.setImageResource(R.mipmap.report_normal_ico);
         // vndetailTvTypemsg.setText("疫苗企业验证通过");
         //透明动画
-        ObjectAnimator animator = ObjectAnimator.ofFloat(vndetailTvChatImage, "alpha", 0.1f, 1f);
+        animator = ObjectAnimator.ofFloat(vndetailTvChatImage, "alpha", 0.1f, 1f);
         animator.setDuration(300); //一秒闪一次
-        animator.setRepeatCount(10); //总共闪十次
+        animator.setRepeatCount(8); //总共闪十次
         animator.setRepeatMode(Animation.REVERSE);
         //为动画设置监听
         animator.addListener(new Animator.AnimatorListener() {
@@ -438,7 +439,11 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
                 alpha.setDuration(0);
                 alpha.setFillAfter(true);
                 vndetailTvChatImage.startAnimation(alpha);*/
-                setPageView(); //设置扫描到的信息
+                try {
+                    setPageView(); //设置扫描到的信息
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
             }
 
             @Override
@@ -451,7 +456,9 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
                 //动画重复时  下方进行验证提示
                 //Log.e("onAnimationRepeat","onAnimationRepeat");
                 checki++;
-                vndetailTvTypemsg.setText("产品信息已验证通过,冷链信息未发现异常,请核对产品外包装与本报告所载数据是否一致");
+                if (vndetailTvTypemsg != null) {
+                    vndetailTvTypemsg.setText("产品信息已验证通过,冷链信息未发现异常,请核对产品外包装与本报告所载数据是否一致");
+                }
                 // setCheckText(checki);
             }
         });
@@ -518,10 +525,19 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
 //                vndetailTvTypemsg.setText(
 //                        "疫苗信息已验证通过,冷链信息未发现异常,请核对疫苗内外包装与本报告所载数据是否一致,并按\"三查七对\"的规定使用");
         //vndetailTvTypemsg.setTextColor(Color.GREEN);
-        vndetailTvChatImage.setImageResource(R.mipmap.report_normal_ico);
+        try {
+            vndetailTvChatImage.setImageResource(R.mipmap.report_normal_ico);
+        } catch (Exception e) {
+            e.printStackTrace();
+
+        }
                 /*vndetailTvChatImage.setVisibility(View.GONE);
                 vndetail_tv_chatImage_title.setVisibility(View.GONE);*/
-        coverview.setText("提示:注射疫苗后,请用注射专用创口贴或消毒棉球轻压针眼几分钟,至不出血。请勿揉搓接种部位。接种疫苗后休息30分钟再离开。");
+        try {
+            coverview.setText("提示:注射疫苗后,请用注射专用创口贴或消毒棉球轻压针眼几分钟,至不出血。请勿揉搓接种部位。接种疫苗后休息30分钟再离开。");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
 
         pdfhandler.postDelayed(pdfRunnable, 1000 * 20);
         normalhandler.postDelayed(normalRunnable, 1000 * 60);
@@ -795,8 +811,7 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
         ndetailTvSpecifications.setText(dataBean.getVaccineCategory());
         vndetailTvApprovalNumber.setText(dataBean.getApprovalNumber());
         vndetailTvStandardCode.setText(dataBean.getStandardCode());
-        vndetailTvIdentificationCode.setText( dataBean.getIdentificationCode());
-
+        vndetailTvIdentificationCode.setText(dataBean.getIdentificationCode());
 
 
         //vndetailTvVncode.setText("evvm Code " + dataBean.getCode());
@@ -1022,7 +1037,7 @@ public class VnReportDetailForDoctorActivity01 extends MvpActivity<VnDetailPrese
         if (pdfhandler != null) {
             pdfhandler.removeCallbacks(pdfRunnable);
         }
-
+//        animator.stop()
     }
 
     @Override

+ 2 - 1
app/src/main/java/com/zy/bvvm/ui/vaccination/VnReportDetailForNctActivity.java

@@ -16,7 +16,6 @@ import android.os.Environment;
 import android.os.Handler;
 import android.os.Message;
 import android.provider.MediaStore;
-import android.support.annotation.RequiresApi;
 import android.text.SpannableString;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
@@ -33,6 +32,8 @@ import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import androidx.annotation.RequiresApi;
+
 import com.github.dfqin.grantor.PermissionListener;
 import com.github.dfqin.grantor.PermissionsUtil;
 import com.google.gson.Gson;

+ 2 - 1
app/src/main/java/com/zy/bvvm/ui/webview/AgreementActrvity.java

@@ -2,12 +2,13 @@ package com.zy.bvvm.ui.webview;
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
 import android.view.View;
 import android.webkit.WebView;
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.appcompat.app.AppCompatActivity;
+
 import com.zy.bvvm.R;
 import com.zy.bvvm.helper.StatusBarUtil;
 

+ 2 - 1
app/src/main/java/com/zy/bvvm/widget/EvvmMsgDiago.java

@@ -1,11 +1,12 @@
 package com.zy.bvvm.widget;
 
 import android.app.Dialog;
-import android.support.v4.app.FragmentActivity;
 import android.view.Gravity;
 import android.view.View;
 import android.widget.TextView;
 
+import androidx.fragment.app.FragmentActivity;
+
 import com.hjq.base.BaseDialog;
 import com.hjq.base.BaseDialogFragment;
 

+ 5 - 3
app/src/main/java/com/zy/bvvm/widget/FmPagerAdapter.java

@@ -1,8 +1,10 @@
 package com.zy.bvvm.widget;
 
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
+
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
 
 import java.util.List;
 

+ 2 - 1
app/src/main/java/com/zy/bvvm/widget/PhotoViewPager.java

@@ -1,10 +1,11 @@
 package com.zy.bvvm.widget;
 
 import android.content.Context;
-import android.support.v4.view.ViewPager;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 
+import androidx.viewpager.widget.ViewPager;
+
 /**
  *    desc   : ViewPager 中使用 PhotoView 时出现 pointerIndex out of range 异常
  */

+ 2 - 1
app/src/main/java/com/zy/bvvm/widget/RoundHeadbgRectLayout.java

@@ -7,10 +7,11 @@ import android.graphics.Color;
 import android.graphics.Paint;
 import android.graphics.Path;
 import android.graphics.Rect;
-import android.support.annotation.Nullable;
 import android.util.AttributeSet;
 import android.view.View;
 
+import androidx.annotation.Nullable;
+
 import com.zy.bvvm.R;
 
 /**

+ 3 - 2
app/src/main/java/com/zy/bvvm/widget/UpdateDialog.java

@@ -11,14 +11,15 @@ import android.os.Environment;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
-import android.support.v4.app.FragmentActivity;
-import android.support.v4.content.FileProvider;
 import android.text.format.Formatter;
 import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.core.content.FileProvider;
+import androidx.fragment.app.FragmentActivity;
+
 import com.hjq.base.BaseDialog;
 import com.hjq.base.BaseDialogFragment;
 import com.hjq.permissions.OnPermission;

+ 2 - 1
app/src/main/java/com/zy/bvvm/widget/XCollapsingToolbarLayout.java

@@ -1,9 +1,10 @@
 package com.zy.bvvm.widget;
 
 import android.content.Context;
-import android.support.design.widget.CollapsingToolbarLayout;
 import android.util.AttributeSet;
 
+import com.google.android.material.appbar.CollapsingToolbarLayout;
+
 /**
  *    desc   : 支持监听渐变的CollapsingToolbarLayout
  */

+ 11 - 0
app/src/main/res/drawable/view_bg_layout_08.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- 内部颜色 -->
+    <solid android:color="#FFFFFF" />
+    <!-- 圆角的幅度 -->
+    <corners
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp"
+        android:bottomLeftRadius="8dp"
+        android:bottomRightRadius="8dp"/>
+</shape>

+ 2 - 1
app/src/main/res/layout/activity_factor_admin.xml

@@ -17,7 +17,8 @@
 
     </com.hjq.widget.NoScrollViewPager>
 
-    <android.support.design.widget.BottomNavigationView
+<!--    <android.support.design.widget.BottomNavigationView-->
+    <com.google.android.material.bottomnavigation.BottomNavigationView
         android:id="@+id/bv_adminhome_navigation"
         android:layout_width="match_parent"
         android:layout_height="45dp"

+ 1 - 1
app/src/main/res/layout/activity_home.xml

@@ -17,7 +17,7 @@
 
     </com.hjq.widget.NoScrollViewPager>
 
-    <android.support.design.widget.BottomNavigationView
+    <com.google.android.material.bottomnavigation.BottomNavigationView
         android:id="@+id/bv_home_navigation"
         android:layout_width="match_parent"
         android:layout_height="45dp"

+ 2 - 2
app/src/main/res/layout/activity_main.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
@@ -16,4 +16,4 @@
         app:layout_constraintRight_toRightOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 2
app/src/main/res/layout/alarm_fragment.xml

@@ -23,12 +23,12 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/alarm_rv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
 
-    </android.support.v7.widget.RecyclerView>
+    </androidx.recyclerview.widget.RecyclerView>
     </com.ajguan.library.EasyRefreshLayout>
 </LinearLayout>

+ 2 - 2
app/src/main/res/layout/alreadytore_fragment.xml

@@ -9,11 +9,11 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <android.support.v7.widget.RecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/altore_rv"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">
-        </android.support.v7.widget.RecyclerView>
+        </androidx.recyclerview.widget.RecyclerView>
 
     </com.ajguan.library.EasyRefreshLayout>
 </LinearLayout>

+ 98 - 0
app/src/main/res/layout/dialog_up_apk_layout.xml

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.zhy.android.percent.support.PercentLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pl_up_apk_layout"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:layout_marginLeft="65dp"
+    android:layout_marginRight="65dp"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="141.5dp"
+        android:background="@mipmap/up_apk"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="23.5dp"
+            android:layout_marginTop="32dp"
+            android:text="发现新版本"
+            android:textColor="@color/text_05"
+            android:textSize="20sp" />
+
+        <TextView
+            android:id="@+id/tv_update_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="23.5dp"
+            android:text=""
+            android:textColor="@color/text_01"
+            android:textSize="20sp" />
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="-10dp"
+        android:background="@drawable/view_bg_layout_08"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:text="版本更新"
+            android:textColor="@color/text_11"
+            android:textSize="15sp"
+            android:textStyle="bold" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center_horizontal"
+            android:layout_marginTop="9dp"
+            android:text="@string/up_apk_text_01"
+            android:textColor="@color/text_11"
+            android:textSize="13sp" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:layout_marginTop="28dp"
+            android:background="@color/line_15" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="38.5dp">
+
+            <TextView
+                android:id="@+id/btn_update_cancel"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="稍后再说"
+                android:textSize="15sp"
+                android:textColor="@color/text_11"/>
+
+            <View
+                android:layout_width="0.5dp"
+                android:layout_height="match_parent"
+                android:background="@color/line_15" />
+
+            <TextView
+                android:id="@+id/btn_update_sure"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_weight="1"
+                android:gravity="center"
+                android:text="立即更新"
+                android:textSize="15sp"
+                android:textColor="@color/text_17"/>
+        </LinearLayout>
+    </LinearLayout>
+</com.zhy.android.percent.support.PercentLinearLayout>

+ 2 - 2
app/src/main/res/layout/dialog_update.xml

@@ -51,7 +51,7 @@
             </LinearLayout>
 
             <!--这个地方需要设置可以滚动-->
-            <android.support.v4.widget.NestedScrollView
+            <androidx.core.widget.NestedScrollView
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:overScrollMode="never"
@@ -73,7 +73,7 @@
                     android:textSize="13sp"
                     tools:text="更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n更新内容\n" />
 
-            </android.support.v4.widget.NestedScrollView>
+            </androidx.core.widget.NestedScrollView>
 
             <com.hjq.widget.NumberProgressBar
                 android:id="@+id/pb_dialog_update_progress"

+ 9 - 0
app/src/main/res/layout/my_fragment.xml

@@ -105,6 +105,15 @@
             app:bar_rightIcon="@mipmap/ico_go_black">
 
         </com.hjq.widget.SettingBar>
+        <!--检查更新-->
+        <com.hjq.widget.SettingBar
+            android:id="@+id/sb_setting_abouts"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/space_24"
+            app:bar_leftIcon="@mipmap/abouts"
+            app:bar_leftText="@string/setting_update"
+            app:bar_rightIcon="@mipmap/ico_go_black" />
 
     </LinearLayout>
 

+ 2 - 2
app/src/main/res/layout/notore_fragment.xml

@@ -10,12 +10,12 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/notore_rv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
-    </android.support.v7.widget.RecyclerView>
+    </androidx.recyclerview.widget.RecyclerView>
 
     </com.ajguan.library.EasyRefreshLayout>
 </LinearLayout>

+ 2 - 2
app/src/main/res/layout/report_fragment.xml

@@ -160,11 +160,11 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <android.support.v7.widget.RecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rl_reportvn"
             android:layout_width="match_parent"
             android:layout_height="wrap_content">
 
-        </android.support.v7.widget.RecyclerView>
+        </androidx.recyclerview.widget.RecyclerView>
     </com.ajguan.library.EasyRefreshLayout>
 </LinearLayout>

+ 2 - 2
app/src/main/res/layout/risk_fragment.xml

@@ -22,13 +22,13 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/risk_rv"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
 
-    </android.support.v7.widget.RecyclerView>
+    </androidx.recyclerview.widget.RecyclerView>
 
     </com.ajguan.library.EasyRefreshLayout>
 </LinearLayout>

+ 2 - 2
app/src/main/res/layout/toreview_fragment.xml

@@ -13,7 +13,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
-        <android.support.design.widget.TabLayout
+        <com.google.android.material.tabs.TabLayout
             android:layout_centerHorizontal="true"
             android:id="@+id/torview_tablayout"
             android:layout_marginTop="24dp"
@@ -25,7 +25,7 @@
 
 
 
-    <android.support.v4.view.ViewPager
+    <androidx.viewpager.widget.ViewPager
         android:id="@+id/torview_viewpager"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>

BIN
app/src/main/res/mipmap-xxhdpi/abouts.png


BIN
app/src/main/res/mipmap-xxhdpi/up_apk.png


+ 4 - 0
app/src/main/res/values/colors.xml

@@ -21,6 +21,8 @@
     <color name="divider_gray">#d9d9d9</color>
 
 
+    <color name="line_15">#D8D8D8</color>
+
     <color name="text_01">#CF2138</color>
     <color name="text_02">#151D30</color>
     <color name="text_03">#999999</color>
@@ -29,6 +31,8 @@
     <color name="text_06">#ffCC99</color>
     <color name="text_07">#000000</color>
     <color name="text_08">#2C8DF8</color>
+    <color name="text_11">#333333</color>
+    <color name="text_17">#F22828</color>
 
     <color name="view_background_1">#FFFFFF</color>
     <color name="view_background_4">#FFFFFF</color>

+ 4 - 0
app/src/main/res/values/strings.xml

@@ -1,6 +1,10 @@
 <resources>
     <string name="app_name">邦德威</string>
 
+
+    <!--版本更新-->
+    <string name="up_apk_text_01">发现新版本,升级后体验更顺畅!\n不升级当前版本不可使用!</string>
+
     <!-- 提示 -->
     <string name="hint_layout_no_data">亲,暂无数据</string>
     <string name="hint_layout_error_request">亲,请求出错了</string>

BIN
base/build/.transforms/275151222d35ef0b87006d5e58588704/full/classes.dex


BIN
base/build/.transforms/50695729513344d8f952ef100e48ef47/full/classes.dex


+ 0 - 0
base/build/.transforms/275151222d35ef0b87006d5e58588704.bin → base/build/.transforms/99c94e6dfa3defcf8a489de04d2cad43.bin


BIN
base/build/.transforms/99c94e6dfa3defcf8a489de04d2cad43/full/classes.dex


+ 0 - 0
base/build/.transforms/50695729513344d8f952ef100e48ef47.bin → base/build/.transforms/cd9d535830ff029d10d68705e053bbb5.bin


BIN
base/build/.transforms/cd9d535830ff029d10d68705e053bbb5/full/classes.dex


+ 0 - 0
base/build/.transforms/5cbd88bf6ecf0ff20cae1707e2d6ac83.bin → base/build/.transforms/db5469da2954eb6180dea46b9ad5bf1c.bin


+ 0 - 18
base/build/generated/source/buildConfig/release/com/hjq/base/BuildConfig.java

@@ -1,18 +0,0 @@
-/**
- * Automatically generated file. DO NOT MODIFY
- */
-package com.hjq.base;
-
-public final class BuildConfig {
-  public static final boolean DEBUG = false;
-  public static final String LIBRARY_PACKAGE_NAME = "com.hjq.base";
-  /**
-   * @deprecated APPLICATION_ID is misleading in libraries. For the library package name use LIBRARY_PACKAGE_NAME
-   */
-  @Deprecated
-  public static final String APPLICATION_ID = "com.hjq.base";
-  public static final String BUILD_TYPE = "release";
-  public static final String FLAVOR = "";
-  public static final int VERSION_CODE = -1;
-  public static final String VERSION_NAME = "";
-}

+ 1 - 1
base/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml

@@ -4,6 +4,6 @@
 
     <uses-sdk
         android:minSdkVersion="15"
-        android:targetSdkVersion="28" />
+        android:targetSdkVersion="29" />
 
 </manifest>

+ 0 - 9
base/build/intermediates/aapt_friendly_merged_manifests/release/aapt/AndroidManifest.xml

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.hjq.base" >
-
-    <uses-sdk
-        android:minSdkVersion="15"
-        android:targetSdkVersion="28" />
-
-</manifest>

+ 0 - 1
base/build/intermediates/aapt_friendly_merged_manifests/release/aapt/output.json

@@ -1 +0,0 @@
-[{"outputType":{"type":"AAPT_FRIENDLY_MERGED_MANIFESTS"},"apkData":{"type":"MAIN","splits":[],"versionCode":-1,"enabled":true,"outputFile":"base-release.aar","fullName":"release","baseName":"release"},"path":"AndroidManifest.xml","properties":{"packageId":"com.hjq.base","split":""}}]

+ 0 - 1
base/build/intermediates/annotation_processor_list/release/annotationProcessors.json

@@ -1 +0,0 @@
-{}

+ 0 - 0
base/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt


BIN
base/build/intermediates/compile_library_classes/debug/classes.jar


BIN
base/build/intermediates/compile_library_classes/release/classes.jar


BIN
base/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar


BIN
base/build/intermediates/compile_only_not_namespaced_r_class_jar/release/R.jar


+ 108 - 0
base/build/intermediates/consumer_proguard_file/debug/proguard.txt

@@ -0,0 +1,108 @@
+# 指定代码的压缩级别
+-optimizationpasses 5
+
+# 包明不混合大小写
+-dontusemixedcaseclassnames
+
+# 不去忽略非公共的库类
+-dontskipnonpubliclibraryclasses
+
+# 优化  不优化输入的类文件
+-dontoptimize
+
+# 预校验
+-dontpreverify
+
+# 混淆时是否记录日志
+-verbose
+
+# 混淆时所采用的算法
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+# 保护注解
+-keepattributes *Annotation*
+
+# 保持哪些类不被混淆
+-keep public class * extends android.app.Fragment
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class * extends android.app.backup.BackupAgentHelper
+-keep public class * extends android.preference.Preference
+-keep public class com.android.vending.licensing.ILicensingService
+
+######## 记录生成的日志数据,gradle build时在本项目根目录输出 ########
+
+# apk 包内所有 class 的内部结构
+-dump class_files.txt
+# 未混淆的类和成员
+-printseeds seeds.txt
+# 列出从 apk 中删除的代码
+-printusage unused.txt
+# 混淆前后的映射
+-printmapping mapping.txt
+
+######## 记录生成的日志数据,gradle build时 在本项目根目录输出 ########
+
+# 保持 native 方法不被混淆
+-keepclasseswithmembernames class * {
+    native <methods>;
+}
+
+# 保持自定义控件类不被混淆
+-keepclassmembers class * extends android.app.Activity {
+   public void *(android.view.View);
+}
+-keep public class * extends android.view.View {
+    public <init>(android.content.Context);
+    public <init>(android.content.Context, android.util.AttributeSet);
+    public <init>(android.content.Context, android.util.AttributeSet, int);
+    public void set*(...);
+}
+
+# 保持 Parcelable 不被混淆
+-keep class * implements android.os.Parcelable {
+  public static final android.os.Parcelable$Creator *;
+}
+
+# 保持 Serializable 不被混淆
+-keepnames class * implements java.io.Serializable
+
+# 保持 Serializable 不被混淆并且enum 类也不被混淆
+-keepclassmembers class * implements java.io.Serializable {
+    static final long serialVersionUID;
+    private static final java.io.ObjectStreamField[] serialPersistentFields;
+    !static !transient <fields>;
+    !private <fields>;
+    !private <methods>;
+    private void writeObject(java.io.ObjectOutputStream);
+    private void readObject(java.io.ObjectInputStream);
+    java.lang.Object writeReplace();
+    java.lang.Object readResolve();
+}
+
+# 保持枚举 enum 类不被混淆 如果混淆报错,建议直接使用上面的 -keepclassmembers class * implements java.io.Serializable即可
+-keepclassmembers enum * {
+  public static **[] values();
+  public static ** valueOf(java.lang.String);
+}
+
+-keepclassmembers class * {
+    public void *ButtonClicked(android.view.View);
+}
+
+# 不混淆资源类
+-keepclassmembers class **.R$* {
+    public static <fields>;
+}
+
+# 避免混淆泛型 如果混淆报错建议关掉
+-keepattributes Signature
+
+# Android 混淆的误区
+# 网上很多现成并且成熟的混淆规则,大家参考一下即可,但是不要盲目照找,我们现在大家理解每个混淆规则是什么意思,自己参照的时候注意一下。
+# 举个例子,我们现在开发 Android 我们肯定会引用 support-v4 、support-v7 ,但是 support 包里面的功能我们不可能全部都使用到。
+# 而网上有很多博客中写了 keep 掉 v7 v4 包,其实我们是没有必要的。要知道 v7 包足足有 15000 个左右的方法呢!进行混淆是很有必要的。
+# -dontwarn android.support.**

BIN
base/build/intermediates/full_jar/debug/createFullJarDebug/full.jar


BIN
base/build/intermediates/full_jar/release/createFullJarRelease/full.jar


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor