Browse Source

兼容Android高版本,解决TTS语音没有声音问题

weizhengliang 1 month ago
parent
commit
038f7892d4
93 changed files with 433 additions and 617 deletions
  1. 13 50
      app/build.gradle
  2. 3 29
      app/src/main/AndroidManifest.xml
  3. 0 24
      app/src/main/code/com/wdkl/app/ncs/activity/SchemeActivity.kt
  4. 2 9
      app/src/main/code/com/wdkl/app/ncs/application/Application.kt
  5. 19 13
      build.gradle
  6. 76 154
      common/build.gradle
  7. 1 2
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/BaseDelegateAdapter.kt
  8. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/ListViewBaseAdapter.kt
  9. 6 6
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/TextViewDelegateAdapter.kt
  10. 1 1
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/VlayoutHolderAdapter.kt
  11. 6 3
      common/src/main/code/com/wdkl/ncs/android/lib/base/BaseApplication.kt
  12. 5 5
      common/src/main/code/com/wdkl/ncs/android/lib/base/BaseFragment.kt
  13. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryActivity.kt
  14. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryFragment.kt
  15. 8 10
      common/src/main/code/com/wdkl/ncs/android/lib/bind/BaseBindingHelper.kt
  16. 7 7
      common/src/main/code/com/wdkl/ncs/android/lib/core/framework/ActivityLifeController.kt
  17. 2 8
      common/src/main/code/com/wdkl/ncs/android/lib/utils/AppTool.kt
  18. 5 6
      common/src/main/code/com/wdkl/ncs/android/lib/utils/AutoClearValue.kt
  19. 6 5
      common/src/main/code/com/wdkl/ncs/android/lib/utils/BaseRecyclerViewHolder.kt
  20. 1 1
      common/src/main/code/com/wdkl/ncs/android/lib/utils/EcodeHelper.kt
  21. 8 8
      common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt
  22. 7 9
      common/src/main/code/com/wdkl/ncs/android/lib/utils/GalleryHelper.kt
  23. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/utils/NoAlphaItemAnimator.kt
  24. 6 7
      common/src/main/code/com/wdkl/ncs/android/lib/utils/RecycleViewScrollHelper.kt
  25. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/utils/TangramPlugin.kt
  26. 8 7
      common/src/main/code/com/wdkl/ncs/android/lib/widget/CommonActionBar.kt
  27. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/widget/PopCommonView.kt
  28. 8 14
      common/src/main/code/com/wdkl/ncs/android/lib/widget/SaleProgressView.kt
  29. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/widget/StarView.kt
  30. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/widget/VerificationCodeView.kt
  31. 7 8
      common/src/main/res/layout/menu_item_lay.xml
  32. 3 3
      common/src/main/res/layout/pop_common_lay.xml
  33. 4 4
      common/src/main/res/layout/text_adapter_lay.xml
  34. 2 2
      common/src/main/res/layout/vcode_dialog_lay.xml
  35. 1 1
      gradle/wrapper/gradle-wrapper.properties
  36. 5 29
      home/build.gradle
  37. 7 1
      home/src/main/AndroidManifest.xml
  38. 3 1
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/AppUpdateActivity.kt
  39. 3 12
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/BaseActivity.kt
  40. 2 5
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/NewCallListActivity.kt
  41. 1 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/TakeoverActivity.kt
  42. 2 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt
  43. 4 2
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchUserSettingActivity.java
  44. 2 2
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ChannelImItemAdapter.kt
  45. 2 1
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ClerkAdapter.java
  46. 3 3
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/NewCallItemAdapter.kt
  47. 3 3
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/NewEventItemAdapter.kt
  48. 2 2
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/TakeoverItemAdapter.kt
  49. 3 3
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/TakeoverItemSearchAdapter.kt
  50. 2 2
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchCallRecordsItemAdapter.kt
  51. 5 6
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt
  52. 1 3
      home/src/main/code/com/wdkl/ncs/android/component/home/binding/HomeFragmentBindHelper.kt
  53. 6 7
      home/src/main/code/com/wdkl/ncs/android/component/home/helper/AppUpdateHelper.java
  54. 2 1
      home/src/main/code/com/wdkl/ncs/android/component/home/search/FuzzySearchBaseAdapter.java
  55. 2 2
      home/src/main/code/com/wdkl/ncs/android/component/home/service/FloatingService.java
  56. 3 4
      home/src/main/code/com/wdkl/ncs/android/component/home/ui/CallSingleActivity.java
  57. 2 3
      home/src/main/code/com/wdkl/ncs/android/component/home/ui/FragmentAudio.java
  58. 2 1
      home/src/main/code/com/wdkl/ncs/android/component/home/ui/FragmentVideo.java
  59. 4 3
      home/src/main/code/com/wdkl/ncs/android/component/home/ui/SingleCallFragment.java
  60. 3 2
      home/src/main/code/com/wdkl/ncs/android/component/home/util/ClerkDialogHelper.java
  61. 1 1
      home/src/main/res/layout/activity_call_list.xml
  62. 1 1
      home/src/main/res/layout/activity_channel_im_list.xml
  63. 2 2
      home/src/main/res/layout/activity_event_list.xml
  64. 2 2
      home/src/main/res/layout/activity_takeover.xml
  65. 1 1
      home/src/main/res/layout/clerk_dialog_lay.xml
  66. 2 2
      home/src/main/res/layout/watch_activity_call_records.xml
  67. 2 2
      home/src/main/res/layout/watch_contacts_lay.xml
  68. 1 13
      janus/build.gradle
  69. 4 1
      keepalive/build.gradle
  70. 2 2
      keepalive/src/main/java/com/wdkl/ncs/keepbackground/singlepixel/ScreenReceiverUtil.java
  71. 5 1
      keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/FileUtils.java
  72. 10 9
      keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/JumpWindowPemiManagement.java
  73. 2 1
      keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/NotificationSetUtil.java
  74. 4 3
      keepalive/src/main/java/com/wdkl/ncs/keepbackground/work/DaemonEnv.java
  75. 7 12
      middleware/build.gradle
  76. 2 5
      middleware/src/main/code/com/wdkl/ncs/android/middleware/bind/DataBindingHelper.kt
  77. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartGoodsItemViewModel.kt
  78. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartShopItemViewModel.kt
  79. 12 12
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CouponViewModel.kt
  80. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/GoodsFilterViewModel.kt
  81. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/MemberAddressViewModel.kt
  82. 2 3
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderCreatePriceViewModel.kt
  83. 0 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderDetailViewModel.kt
  84. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ParentCategoryViewModel.kt
  85. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PayShipTimeViewModel.kt
  86. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PostCommentViewModel.kt
  87. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ReceiptViewModel.kt
  88. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleIntViewModel.kt
  89. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleStringViewModel.kt
  90. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/router/RouterInterceptor.kt
  91. 3 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceUtil.java
  92. 41 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/utils/CommonUtils.java
  93. 0 3
      resource/build.gradle

+ 13 - 50
app/build.gradle

@@ -12,8 +12,7 @@ kapt {
 android {
 android {
     compileSdkVersion target_sdk_version
     compileSdkVersion target_sdk_version
     buildToolsVersion build_tools_version
     buildToolsVersion build_tools_version
-    aaptOptions.cruncherEnabled = false
-    aaptOptions.useNewCruncher = false
+
     aaptOptions.noCompress("mp3","wav")
     aaptOptions.noCompress("mp3","wav")
     defaultConfig {
     defaultConfig {
         applicationId "com.wdkl.app.ncs"
         applicationId "com.wdkl.app.ncs"
@@ -29,7 +28,6 @@ android {
             //选择要添加的对应cpu类型的.so库。
             //选择要添加的对应cpu类型的.so库。
             abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a' ,'x86', 'x86_64', 'mips', 'mips64'
             abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a' ,'x86', 'x86_64', 'mips', 'mips64'
         }
         }
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }
     }
 
 
     compileOptions {
     compileOptions {
@@ -74,54 +72,19 @@ android {
 
 
 dependencies {
 dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     compile fileTree(include: ['*.jar'], dir: 'libs')
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
-    /**
-     * 单元测试
-     */
-    testCompile 'junit:junit:4.12'
-    /**
-     * Dagger编译依赖
-     */
-    kapt 'com.google.dagger:dagger-compiler:2.7'
-    /**
-     * 内存泄漏监控
-     */
-    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
-    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
-    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
-    /**
-     * Kotlin依赖
-     */
-    kapt 'com.android.databinding:compiler:2.3.3'
-    /**
-     * 路由注解处理器
-     */
-    kapt "com.enation.geamtear:jrouter-compiler:$router_version"
-    /**
-     * 外部化Moudle配置
-     * moudle独立编译配置
-     */
-    if (!componentTag) {
-//        compile project(':welcome') // ===> 开始模块  建议在模块内添加广告 欢迎页 等页面
-        compile project(':home')   // ===> 主页模块  里面一般是App的首页 分类楼层页面
-//        compile project(':shop')      // ===> 店铺模块 店铺列表 详细 等
-//        compile project(':setting')   // ===> 设置模块 设置 缓存 App分享等
-//        compile project(':extra')    // ===> 额外的一些页面 比如二维码扫描等一些附加功能
-//        compile project(':hello')
-    }
-    /**
-     * JavaShopAndroid 中间件依赖库
-     */
-    compile project(':middleware')
+
+    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+    implementation 'androidx.core:core-ktx:1.3.1'
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+    implementation 'com.google.android.material:material:1.2.1'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+    testImplementation 'junit:junit:4.+'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+
+    implementation project(':middleware')
     implementation project(':keepalive')
     implementation project(':keepalive')
-    /**
-     *  constraint-layout布局依赖
-     */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-//    compile project(':starRTC')
+    implementation project(':home')
 }
 }
 
 
 ///**
 ///**

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

@@ -37,7 +37,7 @@
         android:label="维鼎移动"
         android:label="维鼎移动"
         android:supportsRtl="true"
         android:supportsRtl="true"
         tools:replace="android:label"
         tools:replace="android:label"
-        tools:remove="android:requestLegacyExternalStorage"
+        android:requestLegacyExternalStorage="true"
         android:name="com.wdkl.app.ncs.application.Application"
         android:name="com.wdkl.app.ncs.application.Application"
         android:theme="@style/MyAppTheme">
         android:theme="@style/MyAppTheme">
         <meta-data
         <meta-data
@@ -58,7 +58,8 @@
             android:showOnLockScreen="true"
             android:showOnLockScreen="true"
             android:showWhenLocked="true"
             android:showWhenLocked="true"
             android:launchMode="singleInstance"
             android:launchMode="singleInstance"
-            android:screenOrientation="portrait">
+            android:screenOrientation="portrait"
+            android:configChanges="keyboardHidden|orientation|screenSize|navigation|keyboard">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <action android:name="android.intent.action.MAIN"/>
 
 
@@ -79,33 +80,6 @@
             </intent-filter>
             </intent-filter>
         </receiver>
         </receiver>
 
 
-        <activity android:name="com.wdkl.app.ncs.activity.SchemeActivity">
-
-            <!-- Schame -->
-            <intent-filter>
-                <data
-                    android:host="m.wdkl.com"
-                    android:scheme="wdkl"/>
-
-                <action android:name="android.intent.action.VIEW"/>
-                <category android:name="android.intent.category.DEFAULT"/>
-                <category android:name="android.intent.category.BROWSABLE"/>
-            </intent-filter>
-
-            <!-- App Links -->
-            <intent-filter android:autoVerify="true">
-                <action android:name="android.intent.action.VIEW"/>
-                <category android:name="android.intent.category.DEFAULT"/>
-                <category android:name="android.intent.category.BROWSABLE"/>
-
-                <data
-                    android:host="m.wdkl.com"
-                    android:scheme="http"/>
-                <data
-                    android:host="m.wdkl.com"
-                    android:scheme="https"/>
-            </intent-filter>
-        </activity>
         <meta-data
         <meta-data
             android:name="android.max_aspect"
             android:name="android.max_aspect"
             android:value="2.2" />
             android:value="2.2" />

+ 0 - 24
app/src/main/code/com/wdkl/app/ncs/activity/SchemeActivity.kt

@@ -1,24 +0,0 @@
-package com.wdkl.app.ncs.activity
-
-import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
-import com.enation.javashop.android.jrouter.JRouter
-import com.enation.javashop.android.jrouter.logic.datainfo.Postcard
-import com.enation.javashop.android.jrouter.logic.listener.NavListener
-
-/**
- * Created by LDD on 2017/9/10.
- */
-class SchemeActivity:AppCompatActivity() {
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        val uri = intent.data
-        JRouter.prepare().create(uri).seek(this,object:NavListener(){
-            override fun onArrival(postcard: Postcard?) {
-                finish()
-            }
-        })
-    }
-
-}

+ 2 - 9
app/src/main/code/com/wdkl/app/ncs/application/Application.kt

@@ -44,13 +44,8 @@ class Application : BaseApplication() {
         JRouter.init(this)
         JRouter.init(this)
         JRouter.openDebug()
         JRouter.openDebug()
         JRouter.openLog()
         JRouter.openLog()
-//        JRouter.prepare().create("/welcome/launch").seek()
-        JRouter.prepare().create("/home/launch").seek()
-//        JRouter.prepare().create("/setting/launch").seek()
-//        JRouter.prepare().create("/shop/launch").seek()
-//        JRouter.prepare().create("/extra/launch").seek()
 
 
-//        JRouter.prepare().create("/hello/launch").seek()
+        JRouter.prepare().create("/home/launch").seek()
     }
     }
 
 
     /**
     /**
@@ -61,9 +56,7 @@ class Application : BaseApplication() {
      * @return rx观察者
      * @return rx观察者
      */
      */
     private fun initLeaks() {
     private fun initLeaks() {
-//        if (JavaShopConfigCenter.INSTANCE.APP_DEV) {
-//            LeakCanary.install(this)
-//        }
+
     }
     }
 
 
     /**
     /**

+ 19 - 13
build.gradle

@@ -2,7 +2,7 @@ buildscript {
     /**
     /**
      * Kotlin统一版本
      * Kotlin统一版本
      */
      */
-    ext.kotlin_version = '1.3.21'
+    ext.kotlin_version = '1.5.10'
 
 
     /**
     /**
      * Aop编制版本
      * Aop编制版本
@@ -37,12 +37,12 @@ buildscript {
     /**
     /**
      * SDK编译版本
      * SDK编译版本
      */
      */
-    ext.build_tools_version = "26.0.2"
+    ext.build_tools_version = "30.0.2"
 
 
     /**
     /**
      * 支持库版本
      * 支持库版本
      */
      */
-    ext.support_library_version = "26.1.0"
+    ext.support_library_version = "28.0.0"
 
 
     /**
     /**
      * APP版本码
      * APP版本码
@@ -62,15 +62,17 @@ buildscript {
             /**
             /**
              * 依赖仓储
              * 依赖仓储
              */
              */
-            maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
-            maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
-            maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+            maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
+            maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
+            maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
             maven { url 'https://jitpack.io' }
             maven { url 'https://jitpack.io' }
         }
         }
         /**
         /**
          * Gradle插件
          * Gradle插件
          */
          */
-        classpath 'com.android.tools.build:gradle:3.0.1'
+        classpath "com.android.tools.build:gradle:4.2.2"
+
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 
 
         /**
         /**
          * Kawo组件化插件
          * Kawo组件化插件
@@ -93,9 +95,9 @@ buildscript {
         classpath "org.aspectj:aspectjtools:$aspectj_version"
         classpath "org.aspectj:aspectjtools:$aspectj_version"
     }
     }
     repositories {
     repositories {
-        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
-        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
-        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
+        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
         maven { url 'https://jitpack.io' }
         maven { url 'https://jitpack.io' }
     }
     }
 }
 }
@@ -104,13 +106,17 @@ buildscript {
  */
  */
 allprojects {
 allprojects {
     repositories {
     repositories {
-        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
-        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
-        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
+        maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
         maven { url 'https://jitpack.io' }
         maven { url 'https://jitpack.io' }
         //maven { url 'https://dl.bintray.com/geamtear/maven' }
         //maven { url 'https://dl.bintray.com/geamtear/maven' }
 
 
+        flatDir {
+            dirs '../common/libs' //申明本地库
+        }
     }
     }
+
     tasks.withType(Javadoc) { // 新增
     tasks.withType(Javadoc) { // 新增
         options.addStringOption('Xdoclint:none', '-quiet')
         options.addStringOption('Xdoclint:none', '-quiet')
         options.addStringOption('encoding', 'UTF-8')
         options.addStringOption('encoding', 'UTF-8')

+ 76 - 154
common/build.gradle

@@ -1,7 +1,9 @@
-apply plugin: 'com.android.library'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-android-extensions'
-apply plugin: 'kotlin-kapt'
+plugins {
+    id 'com.android.library'
+    id 'kotlin-android'
+    id 'kotlin-kapt'
+}
+
 android {
 android {
     compileSdkVersion target_sdk_version
     compileSdkVersion target_sdk_version
     buildToolsVersion build_tools_version
     buildToolsVersion build_tools_version
@@ -11,15 +13,16 @@ android {
         targetSdkVersion target_sdk_version
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionCode app_version_code
         versionName app_version
         versionName app_version
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+
+        multiDexEnabled true
         dataBinding {
         dataBinding {
             enabled = true
             enabled = true
         }
         }
-//        ndk{
-//            moduleName "JavaShopCommonNDK"       //生成的so文件名字,调用C程序的代码中会用到该名字
-//            abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种平台下的so库
-//        }
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        consumerProguardFiles "consumer-rules.pro"
     }
     }
+
     lintOptions {
     lintOptions {
         abortOnError false
         abortOnError false
     }
     }
@@ -27,28 +30,30 @@ android {
     buildTypes {
     buildTypes {
         release {
         release {
             minifyEnabled false
             minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
         }
-//        debug {
-//            jniDebuggable true
-//        }
     }
     }
     sourceSets {
     sourceSets {
         main.java.srcDirs += 'src/main/code'
         main.java.srcDirs += 'src/main/code'
-//        main.jni.srcDirs = []
-//        main.jniLibs.srcDir 'src/main/libs'
     }
     }
     compileOptions {
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
     }
+    kotlinOptions {
+        jvmTarget = '1.8'
+    }
 }
 }
 
 
 dependencies {
 dependencies {
-    compile fileTree(include: ['*.jar','*.aar'], dir: 'libs')
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
+
+    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+    implementation 'androidx.core:core-ktx:1.3.1'
+    implementation 'androidx.appcompat:appcompat:1.3.0-alpha02'
+    implementation 'com.google.android.material:material:1.2.1'
+    //testImplementation 'junit:junit:4.+'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
 
 
     /**
     /**
      * UI适配
      * UI适配
@@ -56,9 +61,14 @@ dependencies {
     compile 'me.jessyan:autosize:1.1.1'
     compile 'me.jessyan:autosize:1.1.1'
 
 
     /**
     /**
-     *  圆形ImageView
+     *   突破方法数限制
+     */
+    implementation("androidx.multidex:multidex:2.0.1")
+
+    /**
+     *  JavaShop_Android 图片加载库
      */
      */
-    compile 'de.hdodenhof:circleimageview:2.2.0'
+    compile 'com.enation.geamtear.image:glidepluin:1.0.2'
 
 
     /**
     /**
      *  JavaShop_Android 基础工具库
      *  JavaShop_Android 基础工具库
@@ -71,11 +81,6 @@ dependencies {
     compile 'com.enation.geamtear.net:engine:1.1.5'
     compile 'com.enation.geamtear.net:engine:1.1.5'
 
 
     /**
     /**
-     *  JavaShop_Android 图片加载库
-     */
-    compile 'com.enation.geamtear.image:glidepluin:1.0.2'
-
-    /**
      *  JavaShop_Android 第三方工具库
      *  JavaShop_Android 第三方工具库
      */
      */
     compile 'com.enation.geamtear.widget:ConnectView:1.1.1'
     compile 'com.enation.geamtear.widget:ConnectView:1.1.1'
@@ -91,82 +96,43 @@ dependencies {
     compile 'com.enation.geamtear.widget:NavigationView:1.1.0'
     compile 'com.enation.geamtear.widget:NavigationView:1.1.0'
 
 
     /**
     /**
+     *  JavaShop_Android Log日志库
+     */
+    compile 'com.enation.geamtear.util:logger:1.0.7'
+
+    /**
      *  JavaShop_Android 路由
      *  JavaShop_Android 路由
      */
      */
     compile 'com.enation.geamtear:jrouter-logic:1.0.3'
     compile 'com.enation.geamtear:jrouter-logic:1.0.3'
 
 
+    compile 'com.enation.geamtear:jrouter-annotation:1.0.1'
+
     /**
     /**
      *  JavaShop_Android 图片选择工具库
      *  JavaShop_Android 图片选择工具库
      */
      */
-    compile('com.enation.geamtear.photo:takephoto:1.0.2') {
+    implementation('com.enation.geamtear.photo:takephoto:1.0.2') {
         exclude group: 'com.github.bumptech.glide'
         exclude group: 'com.github.bumptech.glide'
         exclude group: 'io.reactivex.rxjava2'
         exclude group: 'io.reactivex.rxjava2'
     }
     }
 
 
     /**
     /**
-     *  JavaShop_Android Log日志库
-     */
-    compile 'com.enation.geamtear.util:logger:1.0.7'
-
-    /**
-     *   Android基础依赖库
-     */
-    //noinspection GradleCompatible
-    compile "com.android.support:design:$support_library_version"
-    compile "com.android.support:support-v4:$support_library_version"
-    compile "com.android.support:cardview-v7:$support_library_version"
-    testCompile 'junit:junit:4.12'
-
-    /**
-     *   突破方法数限制
+     *  Aop埋点
      */
      */
-    compile 'com.android.support:multidex:1.0.2'
-
-
-    compile 'com.github.1002326270xc:LayoutManager-FlowLayout:v1.7'
+    api "org.aspectj:aspectjrt:$aspectj_version"
 
 
     /**
     /**
      *   刷新数据控件
      *   刷新数据控件
      */
      */
-    compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-18'
-
-    /**
-     *   动画框架 巨牛逼
-     */
-    compile 'com.airbnb.android:lottie:1.5.3'
-
-    /**
-     *  Kotlin依赖
-     */
-    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-    compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.27.0'
+    api 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-18'
 
 
-    /**
-     *  Databinding
-     */
-    kapt "com.android.databinding:compiler:2.3.3"
-
-    /**
-     *  Dagger依赖
-     */
-    compile 'com.google.dagger:dagger:2.7'
-
-    /**
-     *  Dagger编译依赖
-     */
-    kapt 'com.google.dagger:dagger-compiler:2.7'
-
-    /**
-     *  七巧板框架
-     */
-    compile 'com.alibaba.android:tangram:2.0.0@aar'
-    compile('com.alibaba.android:vlayout:1.2.6.1@aar')
-    compile 'com.alibaba.android:ultraviewpager:1.0.6.5@aar'
-    compile('me.everything:overscroll-decor-android:1.0.1@aar') {
+    api 'com.alibaba.android:tangram:2.0.0@aar'
+    api('com.alibaba.android:vlayout:1.2.8@aar')
+    api 'com.alibaba.android:ultraviewpager:1.0.6.5@aar'
+    api('me.everything:overscroll-decor-android:1.0.1@aar') {
         transitive true
         transitive true
         exclude group: 'com.android.support', module: 'recyclerview-v7'
         exclude group: 'com.android.support', module: 'recyclerview-v7'
     }
     }
-    compile('com.alibaba.android:virtualview:1.0.2@aar') {
+    api('com.alibaba.android:virtualview:1.0.2@aar') {
         transitive true
         transitive true
         exclude group: 'com.android.support', module: 'appcompat-v7'
         exclude group: 'com.android.support', module: 'appcompat-v7'
         exclude group: 'com.tmall.android', module: 'tmallandroid_mui'
         exclude group: 'com.tmall.android', module: 'tmallandroid_mui'
@@ -175,120 +141,76 @@ dependencies {
         exclude group: 'com.android.support', module: 'support-annotations'
         exclude group: 'com.android.support', module: 'support-annotations'
     }
     }
 
 
-    //compile 'com.alibaba.android:tangram:2.2.1@aar'
-
     /**
     /**
-     *  Aop埋点
+     * 汉字辅助
      */
      */
-    compile "org.aspectj:aspectjrt:$aspectj_version"
+    compile files('libs/chinese2py.jar')
 
 
     /**
     /**
      *  constraint-layout布局依赖
      *  constraint-layout布局依赖
      */
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //implementation 'com.android.support.constraint:constraint-layout:2.0.1'
+    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
 
 
     /**
     /**
-     * 指示器
-     */
-    compile 'com.github.hackware1993:magicindicator:1.5.0'
-
-    /**
-     * 汉字辅助
+     *  Dagger依赖
      */
      */
-    compile files('libs/chinese2py.jar')
+    api 'com.google.dagger:dagger:2.7'
 
 
     /**
     /**
-     * 二维码扫描
+     *  Dagger编译依赖
      */
      */
-    compile 'cn.yipianfengye.android:zxing-library:2.2'
+    kapt 'com.google.dagger:dagger-compiler:2.7'
 
 
     /**
     /**
      * GLIDE 图片处理器
      * GLIDE 图片处理器
      */
      */
-    compile ('jp.wasabeef:glide-transformations:2.0.1') {
+    implementation ('jp.wasabeef:glide-transformations:2.0.1') {
         exclude group: 'com.github.bumptech.glide'
         exclude group: 'com.github.bumptech.glide'
     }
     }
 
 
+
     /**
     /**
      * 时间选择器
      * 时间选择器
      */
      */
-    compile 'com.contrarywind:Android-PickerView:4.1.6'
+    api 'com.contrarywind:Android-PickerView:4.1.6'
 
 
     /**
     /**
      * 图片查看器
      * 图片查看器
      */
      */
-    compile 'com.github.iielse:ImageWatcher:1.1.5'
+    api 'com.github.iielse:ImageWatcher:1.1.5'
 
 
     /**
     /**
      * 权限控制
      * 权限控制
      */
      */
-    compile 'pub.devrel:easypermissions:3.0.0'
-
-
-    compile 'com.github.pinguo-zhouwei:MZBannerView:v2.0.2'
+    api 'pub.devrel:easypermissions:3.0.0'
 
 
     /**
     /**
-     * netty
+     * 二维码扫描
      */
      */
-    compile 'io.netty:netty-all:4.1.42.Final'
+    api 'cn.yipianfengye.android:zxing-library:2.2'
 
 
     /**
     /**
-     * json
+     * netty
      */
      */
-    compile 'com.alibaba:fastjson:1.2.23'
+    api 'io.netty:netty-all:4.1.42.Final'
+    //解决 引入上方库,Log4J2Logger报错的问题
+    annotationProcessor 'org.apache.logging.log4j:log4j-core:2.7'
+    implementation 'org.apache.logging.log4j:log4j-api:2.7'
 
 
     /**
     /**
      * google
      * google
      */
      */
-    compile 'com.google.guava:guava:20.0'
-
-    compile 'org.greenrobot:eventbus:3.0.0'
-
-    compile 'com.github.anrwatchdog:anrwatchdog:1.3.+'
-
-//    compile('io.reactivex.rxjava2:rxandroid:2.1.0') {
-//        exclude group: 'io.reactivex.rxjava2'
-//    }
-}
+    api 'com.google.guava:guava:20.0'
 
 
-repositories {
-    flatDir {
-        dirs 'libs'
-    }
-}
+    /**
+     * json
+     */
+    api 'com.alibaba:fastjson:1.2.23'
 
 
-//tasks.withType(JavaCompile) {
-//    compileTask -> compileTask.dependsOn ndkBuild
-//}
-//
-//task ndkBuild(type: Exec) {
-//    workingDir file('src/main/jni')
-//    commandLine getNdkBuildCmd()
-//}
-//
-//task cleanNative(type: Exec){
-//    workingDir file('src/main/jni')
-//    commandLine getNdkBuildCmd(), 'clean'
-//}
-//
-//clean.dependsOn cleanNative
-//
-//def getNdkDir() {
-//    if (System.env.ANDROID_NDK_ROOT != null)
-//        return System.env.ANDROID_NDK_ROOT
-//    Properties properties = new Properties()
-//    properties.load(project.rootProject.file('local.properties').newDataInputStream())
-//    def ndkdir = properties.getProperty('ndk.dir', null)
-//    if (ndkdir == null)
-//        throw new GradleException("NDK location not found. Define location with ndk.dir in the local.properties file or with an ANDROID_NDK_ROOT environment variable.")
-//    return ndkdir
-//}
-//
-//def getNdkBuildCmd() {
-//    def ndkbuild = getNdkDir() + "/ndk-build"
-//    //Window下需要加.cmd后缀,Mac下则不需要
-//    ndkbuild += ""
-//    return ndkbuild
-//}
+    api 'org.greenrobot:eventbus:3.0.0'
 
 
+    api 'com.github.anrwatchdog:anrwatchdog:1.3.0'
 
 
+    api 'com.github.Jay-Goo:RangeSeekBar:v3.0.0'
+}

+ 1 - 2
common/src/main/code/com/wdkl/ncs/android/lib/adapter/BaseDelegateAdapter.kt

@@ -1,14 +1,13 @@
 package com.wdkl.ncs.android.lib.adapter
 package com.wdkl.ncs.android.lib.adapter
 
 
-import android.support.v7.widget.RecyclerView
 import android.widget.ImageView
 import android.widget.ImageView
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.utils.dpToPx
 import com.wdkl.ncs.android.lib.utils.dpToPx
 import com.wdkl.ncs.android.lib.utils.more
 import com.wdkl.ncs.android.lib.utils.more
 import com.enation.javashop.imagepluin.R
 import com.enation.javashop.imagepluin.R
-import jp.wasabeef.glide.transformations.CropSquareTransformation
 import jp.wasabeef.glide.transformations.RoundedCornersTransformation
 import jp.wasabeef.glide.transformations.RoundedCornersTransformation
 
 
 /**
 /**

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/adapter/ListViewBaseAdapter.kt

@@ -1,12 +1,12 @@
 package com.wdkl.ncs.android.lib.adapter
 package com.wdkl.ncs.android.lib.adapter
 
 
 import android.content.Context
 import android.content.Context
-import android.databinding.ViewDataBinding
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.widget.BaseAdapter
 import android.widget.BaseAdapter
-import android.databinding.DataBindingUtil
 import android.view.LayoutInflater
 import android.view.LayoutInflater
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -14,7 +14,7 @@ import android.view.LayoutInflater
  * @From   com.wdkl.ncs.android.lib.utils
  * @From   com.wdkl.ncs.android.lib.utils
  * @Note   listView单一种类Item 快速适配器
  * @Note   listView单一种类Item 快速适配器
  */
  */
-abstract class ListViewBaseAdapter<DataType, in BindingType:ViewDataBinding>constructor(private val context: Context, private val layout:Int, var datas : List<DataType>) : BaseAdapter() {
+abstract class ListViewBaseAdapter<DataType, in BindingType: ViewDataBinding>constructor(private val context: Context, private val layout:Int, var datas : List<DataType>) : BaseAdapter() {
 
 
     /**
     /**
      * @Name  binding
      * @Name  binding

+ 6 - 6
common/src/main/code/com/wdkl/ncs/android/lib/adapter/TextViewDelegateAdapter.kt

@@ -44,7 +44,7 @@ class TextViewDelegateAdapter(val text :String,val textLineCount :Int ,val textC
      * @Date   2018/4/19 下午3:18
      * @Date   2018/4/19 下午3:18
      * @Note   构建ViewHolder
      * @Note   构建ViewHolder
      */
      */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<TextAdapterLayBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<TextAdapterLayBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.text_adapter_lay)
         return BaseRecyclerViewHolder.build(parent, R.layout.text_adapter_lay)
     }
     }
 
 
@@ -77,9 +77,9 @@ class TextViewDelegateAdapter(val text :String,val textLineCount :Int ,val textC
      * @Date   2018/4/19 下午3:20
      * @Date   2018/4/19 下午3:20
      * @Note   绑定数据
      * @Note   绑定数据
      */
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>, position: Int) {
 
 
-        holder?.bind {
+        holder.bind {
             binding ->
             binding ->
             binding.count = textLineCount
             binding.count = textLineCount
             binding.textview.setTextColor(textColor)
             binding.textview.setTextColor(textColor)
@@ -123,7 +123,7 @@ class TextViewListDelegateAdapter(val text :ArrayList<String>,val textLineCount
      * @Date   2018/4/19 下午3:18
      * @Date   2018/4/19 下午3:18
      * @Note   构建ViewHolder
      * @Note   构建ViewHolder
      */
      */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<TextAdapterLayBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<TextAdapterLayBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.text_adapter_lay)
         return BaseRecyclerViewHolder.build(parent, R.layout.text_adapter_lay)
     }
     }
 
 
@@ -156,9 +156,9 @@ class TextViewListDelegateAdapter(val text :ArrayList<String>,val textLineCount
      * @Date   2018/4/19 下午3:20
      * @Date   2018/4/19 下午3:20
      * @Note   绑定数据
      * @Note   绑定数据
      */
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>, position: Int) {
 
 
-        holder?.bind {
+        holder.bind {
             binding ->
             binding ->
             binding.count = textLineCount
             binding.count = textLineCount
             binding.textview.setTextColor(textColor)
             binding.textview.setTextColor(textColor)

+ 1 - 1
common/src/main/code/com/wdkl/ncs/android/lib/adapter/VlayoutHolderAdapter.kt

@@ -1,8 +1,8 @@
 package com.wdkl.ncs.android.lib.adapter
 package com.wdkl.ncs.android.lib.adapter
 
 
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.LayoutHelper
 import com.alibaba.android.vlayout.LayoutHelper
 
 

+ 6 - 3
common/src/main/code/com/wdkl/ncs/android/lib/base/BaseApplication.kt

@@ -4,11 +4,10 @@ import android.annotation.SuppressLint
 import android.app.Application
 import android.app.Application
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
-import android.support.multidex.MultiDexApplication
+import androidx.multidex.MultiDex
 import com.wdkl.ncs.android.lib.core.framework.Framework
 import com.wdkl.ncs.android.lib.core.framework.Framework
 import com.wdkl.ncs.android.lib.core.hack.AndroidHack
 import com.wdkl.ncs.android.lib.core.hack.AndroidHack
 import com.wdkl.ncs.android.lib.core.runtime.ClassNotFoundInterceptor
 import com.wdkl.ncs.android.lib.core.runtime.ClassNotFoundInterceptor
-import com.wdkl.ncs.android.lib.utils.AppTool
 import com.enation.javashop.utils.logger.LoggerFactory
 import com.enation.javashop.utils.logger.LoggerFactory
 import com.uuzuche.lib_zxing.activity.ZXingLibrary
 import com.uuzuche.lib_zxing.activity.ZXingLibrary
 
 
@@ -19,7 +18,7 @@ import com.uuzuche.lib_zxing.activity.ZXingLibrary
  * @From   com.wdkl.ncs.android.lib.base
  * @From   com.wdkl.ncs.android.lib.base
  * @Note   Application基类
  * @Note   Application基类
  */
  */
-open class BaseApplication : MultiDexApplication() {
+open class BaseApplication : Application() {
 
 
     /**
     /**
      * 伴生对象
      * 伴生对象
@@ -71,6 +70,10 @@ open class BaseApplication : MultiDexApplication() {
 
 
     }
     }
 
 
+    override fun attachBaseContext(base: Context?) {
+        super.attachBaseContext(base)
+        MultiDex.install(this)
+    }
 
 
     private fun closeAndroidPDialog() {
     private fun closeAndroidPDialog() {
         try {
         try {

+ 5 - 5
common/src/main/code/com/wdkl/ncs/android/lib/base/BaseFragment.kt

@@ -1,12 +1,12 @@
 package com.wdkl.ncs.android.lib.base
 package com.wdkl.ncs.android.lib.base
 
 
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.os.Bundle
-import android.support.v4.app.Fragment
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
+import androidx.fragment.app.Fragment
 import com.wdkl.ncs.android.lib.utils.errorLog
 import com.wdkl.ncs.android.lib.utils.errorLog
 import com.enation.javashop.utils.base.tool.BaseInterface
 import com.enation.javashop.utils.base.tool.BaseInterface
 import com.enation.javashop.utils.base.tool.BaseToolActivity
 import com.enation.javashop.utils.base.tool.BaseToolActivity
@@ -73,7 +73,7 @@ import javax.inject.Inject
         /**初始化根视图及DataBinding*/
         /**初始化根视图及DataBinding*/
         if (layout == null) {
         if (layout == null) {
             layout = inflater.inflate(getLayId(), null)
             layout = inflater.inflate(getLayId(), null)
-            mViewDataBinding = DataBindingUtil.bind(layout)
+            mViewDataBinding = DataBindingUtil.bind(layout!!)!!
         }
         }
 
 
         /**初始化宿主Activity*/
         /**初始化宿主Activity*/
@@ -87,7 +87,7 @@ import javax.inject.Inject
      * @Data   2017/12/26 上午11:43
      * @Data   2017/12/26 上午11:43
      * @Note   在Fragment视图创建完毕后调用
      * @Note   在Fragment视图创建完毕后调用
      */
      */
-    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         super.onViewCreated(view, savedInstanceState)
 
 
         /**执行生命周期监听*/
         /**执行生命周期监听*/

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryActivity.kt

@@ -2,11 +2,11 @@ package com.wdkl.ncs.android.lib.base
 
 
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.os.Bundle
 import android.view.View
 import android.view.View
 import android.view.inputmethod.InputMethodManager
 import android.view.inputmethod.InputMethodManager
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.utils.debugLog
 import com.wdkl.ncs.android.lib.utils.debugLog
 import com.enation.javashop.photoutils.app.TakePhoto
 import com.enation.javashop.photoutils.app.TakePhoto
@@ -94,7 +94,7 @@ import javax.inject.Inject
         /**创建根视图*/
         /**创建根视图*/
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         /**初始化Databinding对象*/
         /**初始化Databinding对象*/
-        mViewBinding = DataBindingUtil.bind(rootView)
+        mViewBinding = DataBindingUtil.bind(rootView)!!
         /**设置根视图到Activity*/
         /**设置根视图到Activity*/
         setContentView(rootView)
         setContentView(rootView)
         /**执行抽象方法初始化Dagger相应操作*/
         /**执行抽象方法初始化Dagger相应操作*/

+ 2 - 2
common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryFragment.kt

@@ -1,8 +1,8 @@
 package com.wdkl.ncs.android.lib.base
 package com.wdkl.ncs.android.lib.base
 
 
 import android.content.Intent
 import android.content.Intent
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.os.Bundle
+import androidx.databinding.ViewDataBinding
 import com.enation.javashop.photoutils.app.TakePhoto
 import com.enation.javashop.photoutils.app.TakePhoto
 import com.enation.javashop.photoutils.app.TakePhotoImpl
 import com.enation.javashop.photoutils.app.TakePhotoImpl
 import com.enation.javashop.photoutils.model.InvokeParam
 import com.enation.javashop.photoutils.model.InvokeParam
@@ -52,7 +52,7 @@ import com.enation.javashop.photoutils.uitl.TakePhotoinf
      * @Data   2017/12/26 下午12:12
      * @Data   2017/12/26 下午12:12
      * @Note   保存参数,防止丢失
      * @Note   保存参数,防止丢失
      */
      */
-    override fun onSaveInstanceState(outState: Bundle?) {
+    override fun onSaveInstanceState(outState: Bundle) {
         getTakePhoto()!!.onSaveInstanceState(outState)
         getTakePhoto()!!.onSaveInstanceState(outState)
         super.onSaveInstanceState(outState)
         super.onSaveInstanceState(outState)
     }
     }

+ 8 - 10
common/src/main/code/com/wdkl/ncs/android/lib/bind/BaseBindingHelper.kt

@@ -1,8 +1,6 @@
 package com.wdkl.ncs.android.lib.bind
 package com.wdkl.ncs.android.lib.bind
 
 
-import android.databinding.BindingAdapter
 import android.os.Build
 import android.os.Build
-import android.support.constraint.ConstraintLayout
 import android.text.SpannableStringBuilder
 import android.text.SpannableStringBuilder
 import android.text.Spanned
 import android.text.Spanned
 import android.text.style.AbsoluteSizeSpan
 import android.text.style.AbsoluteSizeSpan
@@ -10,11 +8,11 @@ import android.util.TypedValue
 import android.view.View
 import android.view.View
 import android.widget.ImageView
 import android.widget.ImageView
 import android.widget.TextView
 import android.widget.TextView
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.databinding.BindingAdapter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseApplication
-import com.wdkl.ncs.android.lib.utils.errorLog
-import com.wdkl.ncs.android.lib.utils.getColorCompatible
 import com.wdkl.ncs.android.lib.utils.then
 import com.wdkl.ncs.android.lib.utils.then
 import com.enation.javashop.imagepluin.R
 import com.enation.javashop.imagepluin.R
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.base.tool.ScreenTool
@@ -34,7 +32,7 @@ object BaseBindingHelper {
      * @param  imageView 需要加载图片的ImageView
      * @param  imageView 需要加载图片的ImageView
      * @param  url       图片Url
      * @param  url       图片Url
      */
      */
-    @BindingAdapter(value = ["bind:url"],requireAll = false)
+    @BindingAdapter(value = ["url"],requireAll = false)
     @JvmStatic fun loadImage(imageView: ImageView?, url: String?) {
     @JvmStatic fun loadImage(imageView: ImageView?, url: String?) {
         if(imageView == null || url == null ||url == ""){
         if(imageView == null || url == null ||url == ""){
             return
             return
@@ -42,7 +40,7 @@ object BaseBindingHelper {
         Glide.with(imageView.context).load(url).thumbnail(0.1f).diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.image_loading).error(R.drawable.image_error).into(imageView)
         Glide.with(imageView.context).load(url).thumbnail(0.1f).diskCacheStrategy(DiskCacheStrategy.ALL).placeholder(R.drawable.image_loading).error(R.drawable.image_error).into(imageView)
     }
     }
 
 
-    @BindingAdapter(value = ["bind:url_without_holder"],requireAll = false)
+    @BindingAdapter(value = ["url_without_holder"],requireAll = false)
     @JvmStatic fun loadImageWithoutHoldlder(imageView: ImageView?, url: String?) {
     @JvmStatic fun loadImageWithoutHoldlder(imageView: ImageView?, url: String?) {
         if(imageView == null || url == null ||url == ""){
         if(imageView == null || url == null ||url == ""){
             return
             return
@@ -56,7 +54,7 @@ object BaseBindingHelper {
      * @Note   显示价格大小
      * @Note   显示价格大小
      * @param  value 价格
      * @param  value 价格
      */
      */
-    @BindingAdapter(value = ["bind:price_text"], requireAll = false)
+    @BindingAdapter(value = ["price_text"], requireAll = false)
     @JvmStatic
     @JvmStatic
     fun setPriceText(view: TextView, value: Double) {
     fun setPriceText(view: TextView, value: Double) {
         view.text = SpannableStringBuilder("¥$value").then { self ->
         view.text = SpannableStringBuilder("¥$value").then { self ->
@@ -71,7 +69,7 @@ object BaseBindingHelper {
      * @Date   2018/1/30 下午3:05
      * @Date   2018/1/30 下午3:05
      * @Note   透明渐变
      * @Note   透明渐变
      */
      */
-    @BindingAdapter(value = ["bind:alpha"],requireAll = false)
+    @BindingAdapter(value = ["alpha"],requireAll = false)
     @JvmStatic fun backgroundGradient(view: ConstraintLayout, value:Int){
     @JvmStatic fun backgroundGradient(view: ConstraintLayout, value:Int){
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
             var alpha = value
             var alpha = value
@@ -91,12 +89,12 @@ object BaseBindingHelper {
      * @Date   2018/2/28 上午9:34
      * @Date   2018/2/28 上午9:34
      * @Note   解决ConstraintLayout 无法上色
      * @Note   解决ConstraintLayout 无法上色
      */
      */
-    @BindingAdapter(value = ["bind:backgroundColor"],requireAll = false)
+    @BindingAdapter(value = ["backgroundColor"],requireAll = false)
     @JvmStatic fun setBackgroundColor(view : View, value: Int){
     @JvmStatic fun setBackgroundColor(view : View, value: Int){
         view.setBackgroundColor(value)
         view.setBackgroundColor(value)
     }
     }
 
 
-    @BindingAdapter(value = ["bind:text_count_for_line"],requireAll = true)
+    @BindingAdapter(value = ["text_count_for_line"],requireAll = true)
     @JvmStatic fun setTextSize(tv :TextView , textCount :Int){
     @JvmStatic fun setTextSize(tv :TextView , textCount :Int){
         tv.setTextSize(TypedValue.COMPLEX_UNIT_PX,ScreenTool.getScreenWidth(BaseApplication.appContext)/textCount)
         tv.setTextSize(TypedValue.COMPLEX_UNIT_PX,ScreenTool.getScreenWidth(BaseApplication.appContext)/textCount)
     }
     }

+ 7 - 7
common/src/main/code/com/wdkl/ncs/android/lib/core/framework/ActivityLifeController.kt

@@ -39,7 +39,7 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
      * @Note   Activity处于不显示或者半透明状态
      * @Note   Activity处于不显示或者半透明状态
      * @return Activity
      * @return Activity
      */
      */
-    override fun onActivityPaused(p0: Activity?) {
+    override fun onActivityPaused(p0: Activity) {
 
 
     }
     }
 
 
@@ -50,11 +50,11 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
      * @Note   Activity处于完全显示状态
      * @Note   Activity处于完全显示状态
      * @return Activity
      * @return Activity
      */
      */
-    override fun onActivityResumed(p0: Activity?) {
+    override fun onActivityResumed(p0: Activity) {
 
 
     }
     }
 
 
-    override fun onActivityStarted(p0: Activity?) {
+    override fun onActivityStarted(p0: Activity) {
 
 
     }
     }
 
 
@@ -65,7 +65,7 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
      * @Note   Activity销毁方法
      * @Note   Activity销毁方法
      * @return 销毁的Activity
      * @return 销毁的Activity
      */
      */
-    override fun onActivityDestroyed(p0: Activity?) {
+    override fun onActivityDestroyed(p0: Activity) {
         if (p0 != null && isOpenAutoClear) {
         if (p0 != null && isOpenAutoClear) {
             AutoClearHelper.intance.destory(p0.localClassName)
             AutoClearHelper.intance.destory(p0.localClassName)
         }
         }
@@ -74,11 +74,11 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
         }
         }
     }
     }
 
 
-    override fun onActivitySaveInstanceState(p0: Activity?, p1: Bundle?) {
+    override fun onActivitySaveInstanceState(p0: Activity, p1: Bundle) {
 
 
     }
     }
 
 
-    override fun onActivityStopped(p0: Activity?) {
+    override fun onActivityStopped(p0: Activity) {
 
 
     }
     }
 
 
@@ -89,7 +89,7 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
      * @Note   Activity创建回调
      * @Note   Activity创建回调
      * @param  p0 创建的Activity
      * @param  p0 创建的Activity
      */
      */
-    override fun onActivityCreated(p0: Activity?, p1: Bundle?) {
+    override fun onActivityCreated(p0: Activity, p1: Bundle?) {
         if (p0 != null) {
         if (p0 != null) {
             JavaShopActivityTask.instance.pushToActivityStack(p0)
             JavaShopActivityTask.instance.pushToActivityStack(p0)
         }
         }

+ 2 - 8
common/src/main/code/com/wdkl/ncs/android/lib/utils/AppTool.kt

@@ -10,8 +10,6 @@ import android.os.Build
 import android.os.Handler
 import android.os.Handler
 import android.os.Looper
 import android.os.Looper
 import android.provider.Settings
 import android.provider.Settings
-import android.support.v4.widget.DrawerLayout
-import android.support.v7.app.AppCompatActivity
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.view.WindowManager
 import android.view.WindowManager
@@ -21,21 +19,17 @@ import android.view.animation.AnimationSet
 import android.view.animation.TranslateAnimation
 import android.view.animation.TranslateAnimation
 import android.view.inputmethod.InputMethodManager
 import android.view.inputmethod.InputMethodManager
 import android.widget.LinearLayout
 import android.widget.LinearLayout
+import androidx.appcompat.app.AppCompatActivity
+import androidx.drawerlayout.widget.DrawerLayout
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseApplication
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.base.tool.ScreenTool
-import io.reactivex.BackpressureStrategy
-import io.reactivex.Flowable
 import io.reactivex.Observable
 import io.reactivex.Observable
-import io.reactivex.disposables.Disposable
 import java.io.IOException
 import java.io.IOException
-import java.io.InputStream
 import java.net.HttpURLConnection
 import java.net.HttpURLConnection
 import java.net.MalformedURLException
 import java.net.MalformedURLException
 import java.net.URL
 import java.net.URL
 import java.nio.charset.Charset
 import java.nio.charset.Charset
 import java.text.NumberFormat
 import java.text.NumberFormat
-import java.util.concurrent.TimeUnit
 
 
 /**
 /**
  * @author  LDD
  * @author  LDD

+ 5 - 6
common/src/main/code/com/wdkl/ncs/android/lib/utils/AutoClearValue.kt

@@ -1,9 +1,8 @@
 package com.wdkl.ncs.android.lib.utils
 package com.wdkl.ncs.android.lib.utils
 
 
 import android.app.Activity
 import android.app.Activity
-import android.support.v4.app.Fragment
-import android.support.v4.app.FragmentManager
-import android.util.Log
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentManager
 
 
 /**
 /**
  * @author  LDD
  * @author  LDD
@@ -27,9 +26,9 @@ class AutoClearValue<ValueType> {
      * @Note   在Fragment中使用的构造方法构造方法
      * @Note   在Fragment中使用的构造方法构造方法
      * @param  fragment 所在的Fragment
      * @param  fragment 所在的Fragment
      */
      */
-    constructor(fragment :Fragment , value: ValueType?) {
-        fragment.fragmentManager.registerFragmentLifecycleCallbacks(object : FragmentManager.FragmentLifecycleCallbacks(){
-            override fun onFragmentDestroyed(fm: FragmentManager?, f: Fragment?) {
+    constructor(fragment : Fragment, value: ValueType?) {
+        fragment.fragmentManager?.registerFragmentLifecycleCallbacks(object : FragmentManager.FragmentLifecycleCallbacks(){
+            override fun onFragmentDestroyed(fm: FragmentManager, f: Fragment) {
                 if (f == fragment) {
                 if (f == fragment) {
                     this@AutoClearValue.value = null
                     this@AutoClearValue.value = null
                     if (fm != null) {
                     if (fm != null) {

+ 6 - 5
common/src/main/code/com/wdkl/ncs/android/lib/utils/BaseRecyclerViewHolder.kt

@@ -1,10 +1,10 @@
 package com.wdkl.ncs.android.lib.utils
 package com.wdkl.ncs.android.lib.utils
 
 
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
-import android.support.v7.widget.RecyclerView
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
+import androidx.recyclerview.widget.RecyclerView
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -12,7 +12,8 @@ import android.view.ViewGroup
  * @From   com.wdkl.ncs.android.lib.utils
  * @From   com.wdkl.ncs.android.lib.utils
  * @Note   RecyclerView ViewHolder 基类
  * @Note   RecyclerView ViewHolder 基类
  */
  */
-class BaseRecyclerViewHolder<out BindType:ViewDataBinding>(val databinding:BindType) :RecyclerView.ViewHolder(databinding.root) {
+class BaseRecyclerViewHolder<out BindType: ViewDataBinding>(val databinding:BindType) :
+    RecyclerView.ViewHolder(databinding.root) {
 
 
     companion object {
     companion object {
         /**
         /**
@@ -24,7 +25,7 @@ class BaseRecyclerViewHolder<out BindType:ViewDataBinding>(val databinding:BindT
          * @param  layoutId 布局ID
          * @param  layoutId 布局ID
          */
          */
         fun <BindType:ViewDataBinding>build(parent: ViewGroup?,layoutId : Int) : BaseRecyclerViewHolder<BindType>{
         fun <BindType:ViewDataBinding>build(parent: ViewGroup?,layoutId : Int) : BaseRecyclerViewHolder<BindType>{
-            return BaseRecyclerViewHolder(DataBindingUtil.bind(LayoutInflater.from(parent?.context).inflate(layoutId,parent,false)))
+            return BaseRecyclerViewHolder(DataBindingUtil.bind(LayoutInflater.from(parent?.context).inflate(layoutId,parent,false))!!)
         }
         }
     }
     }
 
 

+ 1 - 1
common/src/main/code/com/wdkl/ncs/android/lib/utils/EcodeHelper.kt

@@ -97,7 +97,7 @@ class EcodeHelper {
         val scaleFactor = srcWidth * 1.0f / 5f / logoWidth.toFloat()
         val scaleFactor = srcWidth * 1.0f / 5f / logoWidth.toFloat()
         var bitmap: Bitmap? = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888)
         var bitmap: Bitmap? = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888)
         try {
         try {
-            val canvas = Canvas(bitmap)
+            val canvas = Canvas(bitmap!!)
             canvas.drawBitmap(src, 0f, 0f, null)
             canvas.drawBitmap(src, 0f, 0f, null)
             canvas.scale(scaleFactor, scaleFactor, (srcWidth / 2).toFloat(), (srcHeight / 2).toFloat())
             canvas.scale(scaleFactor, scaleFactor, (srcWidth / 2).toFloat(), (srcHeight / 2).toFloat())
             canvas.drawBitmap(logo, ((srcWidth - logoWidth) / 2).toFloat(), ((srcHeight - logoHeight) / 2).toFloat(), null)
             canvas.drawBitmap(logo, ((srcWidth - logoWidth) / 2).toFloat(), ((srcHeight - logoHeight) / 2).toFloat(), null)

+ 8 - 8
common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt

@@ -12,14 +12,14 @@ import android.app.Fragment
 import android.app.Service
 import android.app.Service
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
-import android.databinding.ObservableField
 import android.os.Looper
 import android.os.Looper
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.view.animation.Animation
 import android.view.animation.Animation
 import android.widget.Toast
 import android.widget.Toast
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
+import androidx.databinding.ObservableField
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.android.jrouter.JRouter
@@ -127,7 +127,7 @@ fun <T> acquireInstance(path: String): T {
  * @param  _block 更多操作
  * @param  _block 更多操作
  * @param  requstCode 返回码
  * @param  requstCode 返回码
  */
  */
-fun AppCompatActivity.push(path: String, _block: ((Postcard) -> Unit)? = null, requstCode: Int = -1 , isNeedLogin :Boolean = false) {
+fun AppCompatActivity.push(path: String, _block: ((Postcard) -> Unit)? = null, requstCode: Int = -1, isNeedLogin :Boolean = false) {
     if (isNeedLogin){
     if (isNeedLogin){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
             _block?.invoke(postcard)
@@ -184,7 +184,7 @@ fun Service.push(path: String, _block: ((Postcard) -> Unit)? = null) {
  * @param  path Activity注册到JRouter中的路径
  * @param  path Activity注册到JRouter中的路径
  * @param  _block 更多操作
  * @param  _block 更多操作
  */
  */
-fun android.support.v4.app.Fragment.push(path: String, _block: ((Postcard) -> Unit)? = null , isNeedLogin :Boolean = false) {
+fun Fragment.push(path: String, _block: ((Postcard) -> Unit)? = null , isNeedLogin :Boolean = false) {
     if (isNeedLogin){
     if (isNeedLogin){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
             _block?.invoke(postcard)
@@ -204,7 +204,7 @@ fun android.support.v4.app.Fragment.push(path: String, _block: ((Postcard) -> Un
  * @param  _block 更多操作
  * @param  _block 更多操作
  * @param  path Activity注册到JRouter中的路径
  * @param  path Activity注册到JRouter中的路径
  */
  */
-fun Fragment.push(path: String, _block: ((Postcard) -> Unit)? = null , isNeedLogin :Boolean = false) {
+/*fun Fragment.push(path: String, _block: ((Postcard) -> Unit)? = null , isNeedLogin :Boolean = false) {
     if (isNeedLogin){
     if (isNeedLogin){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
             _block?.invoke(postcard)
@@ -214,7 +214,7 @@ fun Fragment.push(path: String, _block: ((Postcard) -> Unit)? = null , isNeedLog
     JRouter.prepare().create(path).withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
     JRouter.prepare().create(path).withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
         _block?.invoke(postcard)
         _block?.invoke(postcard)
     }.seek(activity)
     }.seek(activity)
-}
+}*/
 
 
 /**
 /**
  * @author  LDD
  * @author  LDD
@@ -596,7 +596,7 @@ fun <T> Intent.getObjectForGson(key: String, cls: Class<T>): T? {
     return if (hasExtra(key)) {
     return if (hasExtra(key)) {
         val json = getStringExtra(key)
         val json = getStringExtra(key)
         try {
         try {
-            JsonTranforHelper.toObject(json, cls)
+            JsonTranforHelper.toObject(json!!, cls)
         } catch (e: Exception) {
         } catch (e: Exception) {
             null
             null
         }
         }

+ 7 - 9
common/src/main/code/com/wdkl/ncs/android/lib/utils/GalleryHelper.kt

@@ -1,19 +1,17 @@
 package com.wdkl.ncs.android.lib.utils
 package com.wdkl.ncs.android.lib.utils
 
 
 import android.content.Context
 import android.content.Context
-import android.media.Image
 import android.os.Handler
 import android.os.Handler
-import android.support.v4.view.PagerAdapter
-import android.support.v4.view.ViewPager
 import android.util.AttributeSet
 import android.util.AttributeSet
 import android.util.SparseArray
 import android.util.SparseArray
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.widget.ImageView
 import android.widget.ImageView
+import androidx.viewpager.widget.PagerAdapter
+import androidx.viewpager.widget.ViewPager
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.enation.javashop.imagepluin.R
 import com.enation.javashop.imagepluin.R
-import com.enation.javashop.imagepluin.utils.GlideUtils
 import java.lang.ref.WeakReference
 import java.lang.ref.WeakReference
 
 
 
 
@@ -105,7 +103,7 @@ class GalleryHelper<DataType> {
 
 
             private var images = SparseArray<ImageView>()
             private var images = SparseArray<ImageView>()
 
 
-            override fun isViewFromObject(view: View?, data: Any?): Boolean {
+            override fun isViewFromObject(view: View, data: Any): Boolean {
                 return view === data as View
                 return view === data as View
             }
             }
 
 
@@ -113,12 +111,12 @@ class GalleryHelper<DataType> {
                 return galleryList.size
                 return galleryList.size
             }
             }
 
 
-            override fun destroyItem(container: ViewGroup?, position: Int, view: Any?) {
+            override fun destroyItem(container: ViewGroup, position: Int, view: Any) {
                 images.remove(position)
                 images.remove(position)
-                container?.removeView(view as View)
+                container.removeView(view as View)
             }
             }
 
 
-            override fun instantiateItem(container: ViewGroup?, position: Int): Any {
+            override fun instantiateItem(container: ViewGroup, position: Int): Any {
                 val imageView = SquareImageView(viewPager.get()?.context!!)
                 val imageView = SquareImageView(viewPager.get()?.context!!)
                 imageView.scaleType = ImageView.ScaleType.CENTER_CROP
                 imageView.scaleType = ImageView.ScaleType.CENTER_CROP
                 Glide.with(viewPager.get()?.context)
                 Glide.with(viewPager.get()?.context)
@@ -133,7 +131,7 @@ class GalleryHelper<DataType> {
                 itemCallback2?.more { call -> imageView.setOnClickListener(OnClickListenerAntiViolence({
                 itemCallback2?.more { call -> imageView.setOnClickListener(OnClickListenerAntiViolence({
                     call.invoke(position,imageView,images)
                     call.invoke(position,imageView,images)
                 }))}
                 }))}
-                container?.addView(imageView, 0)
+                container.addView(imageView, 0)
                 images.append(position,imageView)
                 images.append(position,imageView)
                 return imageView
                 return imageView
             }
             }

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/utils/NoAlphaItemAnimator.kt

@@ -4,9 +4,9 @@ import android.animation.Animator
 import android.animation.AnimatorListenerAdapter
 import android.animation.AnimatorListenerAdapter
 import android.animation.TimeInterpolator
 import android.animation.TimeInterpolator
 import android.animation.ValueAnimator
 import android.animation.ValueAnimator
-import android.support.v4.view.ViewCompat
-import android.support.v7.widget.RecyclerView
-import android.support.v7.widget.SimpleItemAnimator
+import androidx.core.view.ViewCompat
+import androidx.recyclerview.widget.RecyclerView
+import androidx.recyclerview.widget.SimpleItemAnimator
 import java.util.ArrayList
 import java.util.ArrayList
 
 
 /**
 /**

+ 6 - 7
common/src/main/code/com/wdkl/ncs/android/lib/utils/RecycleViewScrollHelper.kt

@@ -1,7 +1,7 @@
 package com.wdkl.ncs.android.lib.utils
 package com.wdkl.ncs.android.lib.utils
 
 
-import android.support.v7.widget.RecyclerView
-import android.support.v7.widget.LinearLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
 
 
 
 
 /**
 /**
@@ -42,16 +42,15 @@ class RecycleViewScrollHelper
         mScrollPositionChangedListener = listener
         mScrollPositionChangedListener = listener
     }
     }
 
 
-    override fun onScrollStateChanged(recyclerView: RecyclerView?,
-                                      newState: Int) {
-        if (mScrollPositionChangedListener == null || recyclerView!!.adapter == null || recyclerView.childCount <= 0) {
+    override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
+        if (mScrollPositionChangedListener == null || recyclerView.adapter == null || recyclerView.childCount <= 0) {
             return
             return
         }
         }
         val layoutManager = recyclerView.layoutManager
         val layoutManager = recyclerView.layoutManager
         if (layoutManager is LinearLayoutManager) {
         if (layoutManager is LinearLayoutManager) {
             val lastItemPosition = layoutManager.findLastVisibleItemPosition()
             val lastItemPosition = layoutManager.findLastVisibleItemPosition()
             val firstItemPosition = layoutManager.findFirstVisibleItemPosition()
             val firstItemPosition = layoutManager.findFirstVisibleItemPosition()
-            val adapter = recyclerView.adapter
+            val adapter = recyclerView.adapter!!
             if (newState == RecyclerView.SCROLL_STATE_IDLE) {
             if (newState == RecyclerView.SCROLL_STATE_IDLE) {
                 //判断顶部/底部检测的优先顺序
                 //判断顶部/底部检测的优先顺序
                 if (!mIsCheckTopFirstBottomAfter) {
                 if (!mIsCheckTopFirstBottomAfter) {
@@ -170,7 +169,7 @@ class RecycleViewScrollHelper
         return false
         return false
     }
     }
 
 
-    override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
+    override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
         if (mScrollDirectionChangedListener != null) {
         if (mScrollDirectionChangedListener != null) {
             if (dx == 0 && dy == 0) {
             if (dx == 0 && dy == 0) {
                 mScrollDirectionChangedListener!!.onScrollDirectionChanged(0, 0)
                 mScrollDirectionChangedListener!!.onScrollDirectionChanged(0, 0)

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/utils/TangramPlugin.kt

@@ -1,9 +1,9 @@
 package com.wdkl.ncs.android.lib.utils
 package com.wdkl.ncs.android.lib.utils
 
 
 import android.app.Activity
 import android.app.Activity
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.view.View
 import android.widget.ImageView
 import android.widget.ImageView
+import androidx.recyclerview.widget.RecyclerView
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseApplication
@@ -108,7 +108,7 @@ class TangramPlugin :TangramIInter{
         return this
         return this
     }
     }
 
 
-    override fun bindRecyclerView(view:RecyclerView):TangramPlugin{
+    override fun bindRecyclerView(view: RecyclerView):TangramPlugin{
         initEngine()
         initEngine()
         engine?.bindView(view)
         engine?.bindView(view)
         return this
         return this
@@ -117,7 +117,7 @@ class TangramPlugin :TangramIInter{
     override fun onScrolled():TangramPlugin{
     override fun onScrolled():TangramPlugin{
         initEngine()
         initEngine()
         engine?.contentView?.addOnScrollListener(object : RecyclerView.OnScrollListener() {
         engine?.contentView?.addOnScrollListener(object : RecyclerView.OnScrollListener() {
-            override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
+            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
                 super.onScrolled(recyclerView, dx, dy)
                 super.onScrolled(recyclerView, dx, dy)
                 engine?.onScrolled()
                 engine?.onScrolled()
             }
             }

+ 8 - 7
common/src/main/code/com/wdkl/ncs/android/lib/widget/CommonActionBar.kt

@@ -6,10 +6,6 @@ import android.content.res.TypedArray
 import android.graphics.Color
 import android.graphics.Color
 import android.graphics.drawable.Drawable
 import android.graphics.drawable.Drawable
 import android.os.Build
 import android.os.Build
-import android.support.annotation.*
-import android.support.annotation.IntRange
-import android.support.constraint.ConstraintLayout
-import android.support.v4.widget.TextViewCompat
 import android.util.AttributeSet
 import android.util.AttributeSet
 import android.util.TypedValue
 import android.util.TypedValue
 import android.view.Gravity
 import android.view.Gravity
@@ -17,13 +13,18 @@ import android.view.View
 import android.widget.ImageView
 import android.widget.ImageView
 import android.widget.TextView
 import android.widget.TextView
 import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.R
-import android.support.constraint.ConstraintSet
 import android.view.LayoutInflater
 import android.view.LayoutInflater
+import androidx.annotation.ColorInt
+import androidx.annotation.ColorRes
+import androidx.annotation.DrawableRes
+import androidx.annotation.FloatRange
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.constraintlayout.widget.ConstraintSet
+import androidx.core.widget.TextViewCompat
 import com.bumptech.glide.Glide
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.utils.*
 import com.wdkl.ncs.android.lib.utils.*
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.base.tool.ScreenTool
-import com.enation.javashop.utils.base.tool.SystemTool
 
 
 
 
 /**
 /**
@@ -669,7 +670,7 @@ class CommonActionBar : ConstraintLayout {
      * @Note   设置背景透明度  0-255区间  当背景为image时 无效
      * @Note   设置背景透明度  0-255区间  当背景为image时 无效
      * @param  aplha 透明度
      * @param  aplha 透明度
      */
      */
-    fun setBackgroundAlpha(@IntRange(from = 0, to = 255) aplha:Int):CommonActionBar{
+    fun setBackgroundAlpha(aplha:Int):CommonActionBar{
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
             backgroundImageView.imageAlpha = aplha
             backgroundImageView.imageAlpha = aplha
         }
         }

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/widget/PopCommonView.kt

@@ -1,14 +1,14 @@
 package com.wdkl.ncs.android.lib.widget
 package com.wdkl.ncs.android.lib.widget
 
 
 import android.app.Activity
 import android.app.Activity
-import android.databinding.DataBindingUtil
 import android.graphics.drawable.BitmapDrawable
 import android.graphics.drawable.BitmapDrawable
-import android.support.v7.app.AppCompatActivity
 import android.util.DisplayMetrics
 import android.util.DisplayMetrics
 import android.view.MotionEvent
 import android.view.MotionEvent
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.view.WindowManager
 import android.view.WindowManager
+import androidx.appcompat.app.AppCompatActivity
+import androidx.databinding.DataBindingUtil
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.R
@@ -119,7 +119,7 @@ class PopCommonView : PopWindowCompatible{
      */
      */
     private fun createUI(){
     private fun createUI(){
         contentView = activity.layoutInflater.inflate(R.layout.pop_common_lay,null)
         contentView = activity.layoutInflater.inflate(R.layout.pop_common_lay,null)
-        binding = DataBindingUtil.bind(contentView)
+        binding = DataBindingUtil.bind(contentView)!!
         /**初始化LayoutMannager*/
         /**初始化LayoutMannager*/
         virtualLayoutManager = VirtualLayoutManager(this.activity)
         virtualLayoutManager = VirtualLayoutManager(this.activity)
         /**初始化适配器*/
         /**初始化适配器*/

+ 8 - 14
common/src/main/code/com/wdkl/ncs/android/lib/widget/SaleProgressView.kt

@@ -6,12 +6,6 @@ import android.util.AttributeSet
 import android.view.View
 import android.view.View
 import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.R
 import java.text.DecimalFormat
 import java.text.DecimalFormat
-import android.R.attr.bitmap
-import android.opengl.ETC1.getHeight
-import android.opengl.ETC1.getWidth
-
-
-
 
 
 
 
 /**
 /**
@@ -149,7 +143,7 @@ class SaleProgressView :View {
 
 
     //绘制背景边框
     //绘制背景边框
     private fun drawSide(canvas: Canvas) {
     private fun drawSide(canvas: Canvas) {
-        canvas.drawRoundRect(bgRectF, radius, radius, sidePaint)
+        canvas.drawRoundRect(bgRectF!!, radius, radius, sidePaint)
     }
     }
 
 
     //绘制背景
     //绘制背景
@@ -157,7 +151,7 @@ class SaleProgressView :View {
         if (bgBitmap == null) {
         if (bgBitmap == null) {
             bgBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888)
             bgBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888)
         }
         }
-        val bgCanvas = Canvas(bgBitmap)
+        val bgCanvas = Canvas(bgBitmap!!)
         if (bgSrc == null) {
         if (bgSrc == null) {
             if (onlyColor != null) {
             if (onlyColor != null) {
                 bgSrc = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
                 bgSrc = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
@@ -166,13 +160,13 @@ class SaleProgressView :View {
                 bgSrc = BitmapFactory.decodeResource(resources, R.drawable.sale_progress_view_bg)
                 bgSrc = BitmapFactory.decodeResource(resources, R.drawable.sale_progress_view_bg)
             }
             }
         }
         }
-        bgCanvas.drawRoundRect(bgRectF, radius, radius, srcPaint)
+        bgCanvas.drawRoundRect(bgRectF!!, radius, radius, srcPaint)
 
 
         srcPaint.xfermode = mPorterDuffXfermode
         srcPaint.xfermode = mPorterDuffXfermode
 
 
-        bgCanvas.drawBitmap(bgSrc, null, bgRectF, srcPaint)
+        bgCanvas.drawBitmap(bgSrc!!, null, bgRectF!!, srcPaint)
 
 
-        canvas.drawBitmap(bgBitmap, 0f, 0f, null)
+        canvas.drawBitmap(bgBitmap!!, 0f, 0f, null)
 
 
         srcPaint.xfermode = null
         srcPaint.xfermode = null
     }
     }
@@ -200,7 +194,7 @@ class SaleProgressView :View {
                 radius, radius, srcPaint)
                 radius, radius, srcPaint)
 
 
         srcPaint.xfermode = mPorterDuffXfermode
         srcPaint.xfermode = mPorterDuffXfermode
-        fgCanvas.drawBitmap(fgSrc, null, bgRectF, srcPaint)
+        fgCanvas.drawBitmap(fgSrc!!, null, bgRectF!!, srcPaint)
 
 
         canvas.drawBitmap(fgBitmap, 0f, 0f, null)
         canvas.drawBitmap(fgBitmap, 0f, 0f, null)
         srcPaint.xfermode = null
         srcPaint.xfermode = null
@@ -232,10 +226,10 @@ class SaleProgressView :View {
             textCanvas.drawText(saleText, dp2px(10f), baseLineY, textPaint)
             textCanvas.drawText(saleText, dp2px(10f), baseLineY, textPaint)
             textCanvas.drawText(scaleText, mWidth - scaleTextWidth - dp2px(10f), baseLineY, textPaint)
             textCanvas.drawText(scaleText, mWidth - scaleTextWidth - dp2px(10f), baseLineY, textPaint)
         } else if (scale < 1.0f) {
         } else if (scale < 1.0f) {
-            textCanvas.drawText(nearOverText, mWidth / 2 - nearOverTextWidth / 2, baseLineY, textPaint)
+            textCanvas.drawText(nearOverText!!, mWidth / 2 - nearOverTextWidth / 2, baseLineY, textPaint)
             textCanvas.drawText(scaleText, mWidth - scaleTextWidth - dp2px(10f), baseLineY, textPaint)
             textCanvas.drawText(scaleText, mWidth - scaleTextWidth - dp2px(10f), baseLineY, textPaint)
         } else {
         } else {
-            textCanvas.drawText(overText, mWidth / 2 - overTextWidth / 2, baseLineY, textPaint)
+            textCanvas.drawText(overText!!, mWidth / 2 - overTextWidth / 2, baseLineY, textPaint)
         }
         }
 
 
         textPaint.xfermode = mPorterDuffXfermode
         textPaint.xfermode = mPorterDuffXfermode

+ 2 - 2
common/src/main/code/com/wdkl/ncs/android/lib/widget/StarView.kt

@@ -50,12 +50,12 @@ class StarView :View{
         star = typeArray?.getInt(R.styleable.StarView_star,5) ?: 5
         star = typeArray?.getInt(R.styleable.StarView_star,5) ?: 5
 
 
         if (typeArray?.hasValue(R.styleable.StarView_selectImage)!!){
         if (typeArray?.hasValue(R.styleable.StarView_selectImage)!!){
-            selectedBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_selectImage))
+            selectedBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_selectImage)!!)
         }else{
         }else{
             selectedBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_selected)
             selectedBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_selected)
         }
         }
         if (typeArray.hasValue(R.styleable.StarView_nomalImage)){
         if (typeArray.hasValue(R.styleable.StarView_nomalImage)){
-            nomalBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_nomalImage))
+            nomalBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_nomalImage)!!)
         }else{
         }else{
             nomalBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_nomal)
             nomalBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_nomal)
         }
         }

+ 3 - 3
common/src/main/code/com/wdkl/ncs/android/lib/widget/VerificationCodeView.kt

@@ -6,8 +6,6 @@ import android.graphics.Color
 import android.graphics.Paint
 import android.graphics.Paint
 import android.graphics.Paint.ANTI_ALIAS_FLAG
 import android.graphics.Paint.ANTI_ALIAS_FLAG
 import android.graphics.drawable.Drawable
 import android.graphics.drawable.Drawable
-import android.support.v4.content.ContextCompat
-import android.support.v7.widget.AppCompatTextView
 import android.text.Editable
 import android.text.Editable
 import android.text.InputFilter
 import android.text.InputFilter
 import android.text.TextUtils
 import android.text.TextUtils
@@ -21,6 +19,8 @@ import android.view.View
 import android.widget.EditText
 import android.widget.EditText
 import android.widget.LinearLayout
 import android.widget.LinearLayout
 import android.widget.RelativeLayout
 import android.widget.RelativeLayout
+import androidx.appcompat.widget.AppCompatTextView
+import androidx.core.content.ContextCompat
 import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.R
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.base.tool.ScreenTool
 
 
@@ -349,7 +349,7 @@ class VerificationCodeView :RelativeLayout {
             val inputStr = editable.toString()
             val inputStr = editable.toString()
             if (!TextUtils.isEmpty(inputStr)) {
             if (!TextUtils.isEmpty(inputStr)) {
                 setText(inputStr)
                 setText(inputStr)
-                et!!.setText("")
+                et.setText("")
             }
             }
         }
         }
     }
     }

+ 7 - 8
common/src/main/res/layout/menu_item_lay.xml

@@ -1,21 +1,20 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<layout>
+<layout xmlns:tools="http://schemas.android.com/tools">
     <data>
     <data>
         <variable
         <variable
             name="data"
             name="data"
             type="com.wdkl.ncs.android.lib.vo.MenuVo"/>
             type="com.wdkl.ncs.android.lib.vo.MenuVo"/>
     </data>
     </data>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        xmlns:app="http://schemas.android.com/apk/res-auto"
-        xmlns:tools="http://schemas.android.com/tools">
-        <android.support.constraint.ConstraintLayout
+        xmlns:app="http://schemas.android.com/apk/res-auto">
+        <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_height="0dp"
             app:layout_constraintDimensionRatio="h,3.8:1"
             app:layout_constraintDimensionRatio="h,3.8:1"
-            >
+            tools:ignore="MissingConstraints">
 
 
             <ImageView
             <ImageView
                 android:id="@+id/menu_item_iv"
                 android:id="@+id/menu_item_iv"
@@ -58,6 +57,6 @@
                 android:background="#e4e6e5"
                 android:background="#e4e6e5"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
                 />
                 />
-        </android.support.constraint.ConstraintLayout>
-    </android.support.constraint.ConstraintLayout>
+        </androidx.constraintlayout.widget.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
 </layout>

+ 3 - 3
common/src/main/res/layout/pop_common_lay.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <layout>
 <layout>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:layout_height="match_parent"
@@ -60,7 +60,7 @@
             android:visibility="visible"
             android:visibility="visible"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             />
             />
-        <android.support.v7.widget.RecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/pop_common_rv"
             android:id="@+id/pop_common_rv"
             android:layout_width="0dp"
             android:layout_width="0dp"
             android:layout_height="0dp"
             android:layout_height="0dp"
@@ -76,5 +76,5 @@
             android:background="@color/color_gray"
             android:background="@color/color_gray"
             app:layout_constraintTop_toBottomOf="@id/pop_common_title_tv"
             app:layout_constraintTop_toBottomOf="@id/pop_common_title_tv"
             />
             />
-    </android.support.constraint.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
 </layout>

+ 4 - 4
common/src/main/res/layout/text_adapter_lay.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<layout>
+<layout xmlns:tools="http://schemas.android.com/tools">
     <data>
     <data>
         <variable
         <variable
             name="text"
             name="text"
@@ -8,7 +8,7 @@
             name="count"
             name="count"
             type="Integer"/>
             type="Integer"/>
     </data>
     </data>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:bind="http://schemas.android.com/apk/res-auto"
         xmlns:bind="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
@@ -20,6 +20,6 @@
             bind:text_count_for_line="@{count}"
             bind:text_count_for_line="@{count}"
             android:text="@{text}"
             android:text="@{text}"
             android:gravity="center_vertical"
             android:gravity="center_vertical"
-            />
-    </android.support.constraint.ConstraintLayout>
+            tools:ignore="MissingConstraints" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>
 </layout>

+ 2 - 2
common/src/main/res/layout/vcode_dialog_lay.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout
+<androidx.constraintlayout.widget.ConstraintLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
@@ -155,4 +155,4 @@
         android:padding="9dp"
         android:padding="9dp"
         tools:ignore="MissingPrefix"
         tools:ignore="MissingPrefix"
         />
         />
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
 zipStorePath=wrapper/dists
-distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-4.10.1-all.zip
+distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip

+ 5 - 29
home/build.gradle

@@ -23,10 +23,6 @@ android {
     aaptOptions.noCompress("mp3","wav")
     aaptOptions.noCompress("mp3","wav")
 
 
     defaultConfig {
     defaultConfig {
-        if (componentTag) {
-            applicationId "com.wdkl.ncs.android.component.home"
-            multiDexEnabled true
-        }
         minSdkVersion min_sdk_version
         minSdkVersion min_sdk_version
         targetSdkVersion target_sdk_version
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionCode app_version_code
@@ -76,32 +72,16 @@ String getDate() {
 
 
 dependencies {
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.aar'])
     compile fileTree(dir: 'libs', include: ['*.aar'])
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
+
     /**
     /**
      * 单元测试
      * 单元测试
      */
      */
     testCompile 'junit:junit:4.12'
     testCompile 'junit:junit:4.12'
 
 
     /**
     /**
-     *  Android基础依赖库
-     */
-    compile "com.android.support:design:$support_library_version"
-    compile "com.android.support:support-v4:$support_library_version"
-    compile "com.android.support:cardview-v7:$support_library_version"
-    compile "com.android.support:appcompat-v7:$support_library_version"
-
-    /**
      * 公共库依赖
      * 公共库依赖
      */
      */
-    compile project(':middleware')
-
-    if (componentTag) {
-        debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
-        releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
-        testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
-    }
+    api project(':middleware')
 
 
     /**
     /**
      * Dagger编译依赖
      * Dagger编译依赖
@@ -109,11 +89,6 @@ dependencies {
     kapt 'com.google.dagger:dagger-compiler:2.7'
     kapt 'com.google.dagger:dagger-compiler:2.7'
 
 
     /**
     /**
-     * Kotlin依赖
-     */
-    kapt 'com.android.databinding:compiler:2.3.3'
-
-    /**
      * 路由注解处理器
      * 路由注解处理器
      */
      */
     kapt "com.enation.geamtear:jrouter-compiler:$router_version"
     kapt "com.enation.geamtear:jrouter-compiler:$router_version"
@@ -121,8 +96,9 @@ dependencies {
     /**
     /**
      *  constraint-layout布局依赖
      *  constraint-layout布局依赖
      */
      */
-    implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+    //implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+
     //web rtc
     //web rtc
     implementation project(':keepalive')
     implementation project(':keepalive')
     implementation project(':janus')
     implementation project(':janus')

+ 7 - 1
home/src/main/AndroidManifest.xml

@@ -30,6 +30,12 @@
     <uses-permission android:name="android.permission.WRITE_SETTINGS"
     <uses-permission android:name="android.permission.WRITE_SETTINGS"
         tools:ignore="ProtectedPermissions" />
         tools:ignore="ProtectedPermissions" />
 
 
+    <queries>
+        <intent>
+            <action android:name="android.intent.action.TTS_SERVICE" />
+        </intent>
+    </queries>
+
     <application
     <application
         android:allowBackup="true"
         android:allowBackup="true"
         android:supportsRtl="true">
         android:supportsRtl="true">
@@ -91,7 +97,7 @@
         </receiver>
         </receiver>
 
 
         <provider
         <provider
-            android:name="android.support.v4.content.FileProvider"
+            android:name="androidx.core.content.FileProvider"
             android:authorities="${applicationId}.provider"
             android:authorities="${applicationId}.provider"
             tools:replace="android:authorities"
             tools:replace="android:authorities"
             android:grantUriPermissions="true"
             android:grantUriPermissions="true"

+ 3 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/activity/AppUpdateActivity.kt

@@ -22,6 +22,7 @@ import com.wdkl.ncs.android.middleware.common.Constants
 import com.wdkl.ncs.android.middleware.logic.contract.home.AppUpdateContract
 import com.wdkl.ncs.android.middleware.logic.contract.home.AppUpdateContract
 import com.wdkl.ncs.android.middleware.logic.presenter.home.AppUpdatePresenter
 import com.wdkl.ncs.android.middleware.logic.presenter.home.AppUpdatePresenter
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
 import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
+import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import kotlinx.android.synthetic.main.activity_app_update.*
 import kotlinx.android.synthetic.main.activity_app_update.*
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 import org.greenrobot.eventbus.ThreadMode
@@ -64,7 +65,8 @@ class AppUpdateActivity : BaseActivity<AppUpdatePresenter, ActivityAppUpdateBind
     }
     }
 
 
     override fun handleAppVersion(appInfo: AppVersionDO) {
     override fun handleAppVersion(appInfo: AppVersionDO) {
-        if (BuildConfig.VERSION_CODE < appInfo.versionNo){
+        val versionCode = CommonUtils.getAppVersionCode(activity)
+        if (versionCode < appInfo.versionNo){
             if (!TextUtils.isEmpty(appInfo.appPath)) {
             if (!TextUtils.isEmpty(appInfo.appPath)) {
                 downLoadAPK(urlManager.base + ":8006/" + appInfo.appPath)
                 downLoadAPK(urlManager.base + ":8006/" + appInfo.appPath)
             } else {
             } else {

+ 3 - 12
home/src/main/code/com/wdkl/ncs/android/component/home/activity/BaseActivity.kt

@@ -2,26 +2,17 @@ package com.wdkl.ncs.android.component.home.activity
 
 
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
-import android.os.Message
-import android.view.KeyEvent
 import android.view.View
 import android.view.View
 import android.view.WindowManager
 import android.view.WindowManager
 import android.view.inputmethod.InputMethodManager
 import android.view.inputmethod.InputMethodManager
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.utils.base.tool.BaseToolActivity
 import com.enation.javashop.utils.base.tool.BaseToolActivity
-import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
-import com.wdkl.ncs.android.component.home.util.RecordHelper
-import com.wdkl.ncs.android.component.home.util.SoundPoolManager
 import com.wdkl.ncs.android.lib.base.*
 import com.wdkl.ncs.android.lib.base.*
-import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.debugLog
 import com.wdkl.ncs.android.lib.utils.debugLog
 import com.wdkl.ncs.android.lib.utils.errorLog
 import com.wdkl.ncs.android.lib.utils.errorLog
-import com.wdkl.ncs.android.lib.utils.showMessage
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.EventBus
 import java.lang.reflect.Field
 import java.lang.reflect.Field
 import javax.inject.Inject
 import javax.inject.Inject
@@ -99,7 +90,7 @@ abstract class BaseActivity<PresenterType : BaseContract.BasePresenter, DataBind
         /**创建根视图*/
         /**创建根视图*/
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         /**初始化Databinding对象*/
         /**初始化Databinding对象*/
-        mViewBinding = DataBindingUtil.bind(rootView)
+        mViewBinding = DataBindingUtil.bind(rootView)!!
         /**设置根视图到Activity*/
         /**设置根视图到Activity*/
         setContentView(rootView)
         setContentView(rootView)
         /**执行抽象方法初始化Dagger相应操作*/
         /**执行抽象方法初始化Dagger相应操作*/

+ 2 - 5
home/src/main/code/com/wdkl/ncs/android/component/home/activity/NewCallListActivity.kt

@@ -3,11 +3,11 @@ package com.wdkl.ncs.android.component.home.activity
 import android.annotation.SuppressLint
 import android.annotation.SuppressLint
 import android.content.Intent
 import android.content.Intent
 import android.os.Bundle
 import android.os.Bundle
-import android.support.v7.widget.RecyclerView
-import android.support.v7.widget.helper.ItemTouchHelper
 import android.util.Log
 import android.util.Log
 import android.view.View
 import android.view.View
 import android.widget.TextView
 import android.widget.TextView
+import androidx.recyclerview.widget.ItemTouchHelper
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.alibaba.fastjson.JSON
 import com.alibaba.fastjson.JSON
@@ -19,8 +19,6 @@ import com.wdkl.ncs.android.component.home.adapter.NewCallItemAdapter
 import com.wdkl.ncs.android.component.home.service.WdKeepAliveService
 import com.wdkl.ncs.android.component.home.service.WdKeepAliveService
 import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
-import com.wdkl.ncs.android.component.home.ui.FragmentAudio
-import com.wdkl.ncs.android.component.home.ui.SingleCallFragment
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect
 import com.wdkl.ncs.android.component.home.util.RingPlayHelper
 import com.wdkl.ncs.android.component.home.util.RingPlayHelper
 import com.wdkl.ncs.android.component.home.util.SpeechUtil
 import com.wdkl.ncs.android.component.home.util.SpeechUtil
@@ -35,7 +33,6 @@ import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
 import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
 import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
-import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 import org.greenrobot.eventbus.ThreadMode

+ 1 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/TakeoverActivity.kt

@@ -1,9 +1,8 @@
 package com.wdkl.ncs.android.component.home.activity
 package com.wdkl.ncs.android.component.home.activity
 
 
-import android.support.v7.widget.SearchView
-import android.text.TextUtils
 import android.util.Log
 import android.util.Log
 import android.view.View
 import android.view.View
+import androidx.appcompat.widget.SearchView
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.enation.javashop.net.engine.model.NetState
 import com.enation.javashop.net.engine.model.NetState
 import com.google.gson.JsonArray
 import com.google.gson.JsonArray

+ 2 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt

@@ -115,7 +115,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
         //注册广播
         //注册广播
         regReceiver()
         regReceiver()
 
 
-        tv_register_version.text = "v" + BuildConfig.VERSION_NAME
+        tv_register_version.text = "v" + CommonUtils.getAppVersionName(activity)
 
 
         //TTS初始化
         //TTS初始化
 //        SpeechUtil.getInstance().init(BaseApplication.appContext)
 //        SpeechUtil.getInstance().init(BaseApplication.appContext)
@@ -393,7 +393,7 @@ class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivit
     }
     }
 
 
     override fun handleAppVersion(appInfo: AppVersionDO) {
     override fun handleAppVersion(appInfo: AppVersionDO) {
-        if (BuildConfig.VERSION_CODE < appInfo.versionNo && !AppUpdateActivity.opened) {
+        if (CommonUtils.getAppVersionCode(activity) < appInfo.versionNo && !AppUpdateActivity.opened) {
             showMessage("有新版本")
             showMessage("有新版本")
             val intent = Intent()
             val intent = Intent()
             intent.setClass(this, AppUpdateActivity::class.java)
             intent.setClass(this, AppUpdateActivity::class.java)

+ 4 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchUserSettingActivity.java

@@ -5,7 +5,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.provider.Settings;
-import android.support.annotation.Nullable;
 import android.util.Log;
 import android.util.Log;
 import android.view.View;
 import android.view.View;
 import android.widget.Button;
 import android.widget.Button;
@@ -14,6 +13,8 @@ import android.widget.RadioGroup;
 import android.widget.TextView;
 import android.widget.TextView;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
+import androidx.annotation.Nullable;
+
 import com.wdkl.ncs.android.component.home.BuildConfig;
 import com.wdkl.ncs.android.component.home.BuildConfig;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.service.WdKeepAliveService;
 import com.wdkl.ncs.android.component.home.service.WdKeepAliveService;
@@ -26,6 +27,7 @@ import com.wdkl.ncs.android.lib.utils.ExtendMethodsKt;
 import com.wdkl.ncs.android.middleware.tcp.NettyClient;
 import com.wdkl.ncs.android.middleware.tcp.NettyClient;
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil;
 import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 
 
 public class WatchUserSettingActivity extends Activity {
 public class WatchUserSettingActivity extends Activity {
     private static final String TAG = WatchUserSettingActivity.class.getSimpleName();
     private static final String TAG = WatchUserSettingActivity.class.getSimpleName();
@@ -71,7 +73,7 @@ public class WatchUserSettingActivity extends Activity {
         imChannelYes = findViewById(R.id.rb_im_channel_yes);
         imChannelYes = findViewById(R.id.rb_im_channel_yes);
         imChannelNo = findViewById(R.id.rb_im_channel_no);
         imChannelNo = findViewById(R.id.rb_im_channel_no);
 
 
-        tvAppVersion.setText(BuildConfig.VERSION_NAME + "_" + BuildConfig.BUILD_TIME);
+        tvAppVersion.setText(CommonUtils.getAppVersionName(BaseApplication.appContext) + "_" + BuildConfig.BUILD_TIME);
         tvDeviceId.setText("" + Constants.Companion.getDeviceId());
         tvDeviceId.setText("" + Constants.Companion.getDeviceId());
         tvDeviceImei.setText(Constants.Companion.getImei());
         tvDeviceImei.setText(Constants.Companion.getImei());
         tvDeviceIp.setText(NetHelper.getInstance().getLocalIP());
         tvDeviceIp.setText(NetHelper.getInstance().getLocalIP());

+ 2 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ChannelImItemAdapter.kt

@@ -63,14 +63,14 @@ class ChannelImItemAdapter(val data: ArrayList<ChannelIMVO>, val imActivity: Act
     /**
     /**
      * 创建ViewHolder
      * 创建ViewHolder
      */
      */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<AdapterChannelImRecordsItemBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<AdapterChannelImRecordsItemBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_channel_im_records_item)
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_channel_im_records_item)
     }
     }
 
 
     /**
     /**
      * 绑定数据
      * 绑定数据
      */
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterChannelImRecordsItemBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterChannelImRecordsItemBinding>, position: Int) {
         holder?.bind { binding ->
         holder?.bind { binding ->
             val itemData = getItem(position)
             val itemData = getItem(position)
 
 

+ 2 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ClerkAdapter.java

@@ -1,6 +1,5 @@
 package com.wdkl.ncs.android.component.home.adapter;
 package com.wdkl.ncs.android.component.home.adapter;
 
 
-import android.support.v7.widget.RecyclerView;
 import android.util.Log;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
@@ -9,6 +8,8 @@ import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.middleware.common.Constants;
 import com.wdkl.ncs.android.middleware.common.Constants;
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO;
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO;

+ 3 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/NewCallItemAdapter.kt

@@ -28,7 +28,7 @@ class NewCallItemAdapter(var data:ArrayList<TcpModel>, val activity: Activity) :
         return data.size
         return data.size
     }
     }
 
 
-    override fun onCreateViewHolder(p0: ViewGroup?, p1: Int): BaseRecyclerViewHolder<CallListItemBinding> {
+    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): BaseRecyclerViewHolder<CallListItemBinding> {
         return BaseRecyclerViewHolder.build(p0, R.layout.call_list_item)
         return BaseRecyclerViewHolder.build(p0, R.layout.call_list_item)
     }
     }
 
 
@@ -36,8 +36,8 @@ class NewCallItemAdapter(var data:ArrayList<TcpModel>, val activity: Activity) :
         return LinearLayoutHelper(10, data.size)
         return LinearLayoutHelper(10, data.size)
     }
     }
 
 
-    override fun onBindViewHolder(p0: BaseRecyclerViewHolder<CallListItemBinding>?, p1: Int) {
-        p0?.bind { binding ->
+    override fun onBindViewHolder(p0: BaseRecyclerViewHolder<CallListItemBinding>, p1: Int) {
+        p0.bind { binding ->
             val itemData = getItem(p1)
             val itemData = getItem(p1)
             if (itemData.data != null) {
             if (itemData.data != null) {
                 val interactionVO = Gson().fromJson(itemData.data.toString(), InteractionVO::class.java)
                 val interactionVO = Gson().fromJson(itemData.data.toString(), InteractionVO::class.java)

+ 3 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/NewEventItemAdapter.kt

@@ -47,7 +47,7 @@ class NewEventItemAdapter(var data:ArrayList<InteractionVO>, val activity: Activ
         return true
         return true
     }
     }
 
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<EventListItemBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<EventListItemBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.event_list_item)
         return BaseRecyclerViewHolder.build(parent, R.layout.event_list_item)
     }
     }
 
 
@@ -60,8 +60,8 @@ class NewEventItemAdapter(var data:ArrayList<InteractionVO>, val activity: Activ
         return LinearLayoutHelper(0,data.size)
         return LinearLayoutHelper(0,data.size)
     }
     }
 
 
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<EventListItemBinding>?, position: Int) {
-        holder?.bind { binding ->
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<EventListItemBinding>, position: Int) {
+        holder.bind { binding ->
             val itemData = getItem(position)
             val itemData = getItem(position)
 
 
             var toDeviceId:Int?
             var toDeviceId:Int?

+ 2 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/TakeoverItemAdapter.kt

@@ -53,11 +53,11 @@ class TakeoverItemAdapter(var data:ArrayList<JsonObject>, val context: Context)
         return LinearLayoutHelper(0,data.size)
         return LinearLayoutHelper(0,data.size)
     }
     }
 
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<TakeoverItemBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<TakeoverItemBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.takeover_item)
         return BaseRecyclerViewHolder.build(parent, R.layout.takeover_item)
     }
     }
 
 
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TakeoverItemBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TakeoverItemBinding>, position: Int) {
         holder?.bind {
         holder?.bind {
             binding ->
             binding ->
             val itemData = getItem(position)
             val itemData = getItem(position)

+ 3 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/TakeoverItemSearchAdapter.kt

@@ -3,7 +3,6 @@ package com.wdkl.ncs.android.component.home.adapter
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
 import android.net.Uri
 import android.net.Uri
-import android.support.v7.widget.RecyclerView
 import android.util.Log
 import android.util.Log
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.view.View
 import android.view.View
@@ -11,6 +10,7 @@ import android.view.ViewGroup
 import android.widget.Button
 import android.widget.Button
 import android.widget.ImageView
 import android.widget.ImageView
 import android.widget.TextView
 import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.google.common.base.Strings
 import com.google.common.base.Strings
 import com.wdkl.ncs.android.component.home.R
 import com.wdkl.ncs.android.component.home.R
@@ -43,8 +43,8 @@ class TakeoverItemSearchAdapter : FuzzySearchBaseAdapter<ContactItemEntity, Take
         this.context = context
         this.context = context
     }
     }
 
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ItemHolder {
-        val view = LayoutInflater.from(parent!!.getContext()).inflate(R.layout.takeover_item, parent, false)
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemHolder {
+        val view = LayoutInflater.from(parent.getContext()).inflate(R.layout.takeover_item, parent, false)
         return ItemHolder(view)
         return ItemHolder(view)
     }
     }
 
 

+ 2 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchCallRecordsItemAdapter.kt

@@ -52,14 +52,14 @@ class WatchCallRecordsItemAdapter(val data: ArrayList<InteractionVO>) : BaseDele
     /**
     /**
      * 创建ViewHolder
      * 创建ViewHolder
      */
      */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_call_records_item)
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_call_records_item)
     }
     }
 
 
     /**
     /**
      * 绑定数据
      * 绑定数据
      */
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding>, position: Int) {
         holder?.bind { binding ->
         holder?.bind { binding ->
             val itemData = getItem(position)
             val itemData = getItem(position)
 
 

+ 5 - 6
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt

@@ -3,16 +3,15 @@ package com.wdkl.ncs.android.component.home.adapter
 import android.content.Context
 import android.content.Context
 import android.content.Intent
 import android.content.Intent
 import android.net.Uri
 import android.net.Uri
-import android.support.v7.widget.RecyclerView
 import android.util.Log
 import android.util.Log
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.LayoutHelper
 import com.alibaba.android.vlayout.LayoutHelper
 import com.alibaba.android.vlayout.layout.LinearLayoutHelper
 import com.alibaba.android.vlayout.layout.LinearLayoutHelper
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.widget.LoadingDialog
 import com.enation.javashop.utils.base.widget.LoadingDialog
 import com.wdkl.ncs.android.component.home.R
 import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.activity.VoiceMsgActivity
 import com.wdkl.ncs.android.component.home.databinding.AdapterWatchContactsItemBinding
 import com.wdkl.ncs.android.component.home.databinding.AdapterWatchContactsItemBinding
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect
@@ -54,17 +53,17 @@ class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>, val context:
         return LinearLayoutHelper(0,data.size)
         return LinearLayoutHelper(0,data.size)
     }
     }
 
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<AdapterWatchContactsItemBinding> {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<AdapterWatchContactsItemBinding> {
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_contacts_item)
         return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_contacts_item)
     }
     }
 
 
-    override fun onDetachedFromRecyclerView(recyclerView: RecyclerView?) {
+    override fun onDetachedFromRecyclerView(recyclerView: RecyclerView) {
         super.onDetachedFromRecyclerView(recyclerView)
         super.onDetachedFromRecyclerView(recyclerView)
         loadingDialog.dismiss()
         loadingDialog.dismiss()
     }
     }
 
 
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>?, position: Int) {
-        holder?.bind {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>, position: Int) {
+        holder.bind {
             binding ->
             binding ->
             val itemData = getItem(position)
             val itemData = getItem(position)
             binding.roomNumberTv.text = itemData.frameFullName
             binding.roomNumberTv.text = itemData.frameFullName

+ 1 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/binding/HomeFragmentBindHelper.kt

@@ -1,8 +1,6 @@
 package com.wdkl.ncs.android.component.home.binding
 package com.wdkl.ncs.android.component.home.binding
 
 
-import android.databinding.BindingAdapter
-import android.databinding.ObservableField
-import android.support.constraint.ConstraintLayout
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD

+ 6 - 7
home/src/main/code/com/wdkl/ncs/android/component/home/helper/AppUpdateHelper.java

@@ -7,14 +7,11 @@ import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Build;
-import android.os.Environment;
-import android.support.v4.BuildConfig;
-import android.support.v4.content.FileProvider;
 import android.util.Log;
 import android.util.Log;
 
 
-import com.google.common.base.Strings;
-import com.wdkl.ncs.android.component.home.activity.WatchHome2Activity;
-import com.wdkl.ncs.android.lib.utils.ShellUtils;
+import androidx.core.content.FileProvider;
+
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 
 
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.File;
@@ -29,7 +26,9 @@ public class AppUpdateHelper {
     /**
     /**
      * 下载的APK文件绝对路径
      * 下载的APK文件绝对路径
      */
      */
-    public static final String FILE_APK_PATH = Environment.getExternalStorageDirectory() + "/CallingBed2";
+    //public static final String FILE_APK_PATH = Environment.getExternalStorageDirectory() + "/CallingBed2";
+    public static final String FILE_APK_PATH = CommonUtils.getRootFilePath() + "/CallingBed2";
+
     /**
     /**
      * 下载的APK文件的文件名
      * 下载的APK文件的文件名
      */
      */

+ 2 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/search/FuzzySearchBaseAdapter.java

@@ -1,10 +1,11 @@
 package com.wdkl.ncs.android.component.home.search;
 package com.wdkl.ncs.android.component.home.search;
 
 
-import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.widget.Filter;
 import android.widget.Filter;
 import android.widget.Filterable;
 import android.widget.Filterable;
 
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 

+ 2 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/service/FloatingService.java

@@ -1,13 +1,11 @@
 package com.wdkl.ncs.android.component.home.service;
 package com.wdkl.ncs.android.component.home.service;
 
 
-
 import android.app.Service;
 import android.app.Service;
 import android.content.Context;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Intent;
 import android.os.Binder;
 import android.os.Binder;
 import android.os.Build;
 import android.os.Build;
 import android.os.IBinder;
 import android.os.IBinder;
-import android.support.annotation.Nullable;
 import android.util.Log;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
@@ -16,6 +14,8 @@ import android.view.View;
 import android.view.WindowManager;
 import android.view.WindowManager;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
+import androidx.annotation.Nullable;
+
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity;
 import com.wdkl.ncs.android.component.home.ui.CallSingleActivity;

+ 3 - 4
home/src/main/code/com/wdkl/ncs/android/component/home/ui/CallSingleActivity.java

@@ -15,8 +15,6 @@ import android.os.IBinder;
 import android.os.VibrationEffect;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.os.Vibrator;
 import android.provider.Settings;
 import android.provider.Settings;
-import android.support.v4.app.FragmentManager;
-import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.View;
@@ -24,8 +22,9 @@ import android.view.Window;
 import android.view.WindowManager;
 import android.view.WindowManager;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
-import com.enation.javashop.utils.base.tool.CommonTool;
-import com.enation.javashop.utils.base.widget.LoadingDialog;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.FragmentManager;
+
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.service.FloatingService;
 import com.wdkl.ncs.android.component.home.service.FloatingService;

+ 2 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/ui/FragmentAudio.java

@@ -4,7 +4,6 @@ import android.annotation.SuppressLint;
 import android.os.Build;
 import android.os.Build;
 import android.os.Handler;
 import android.os.Handler;
 import android.os.Message;
 import android.os.Message;
-import android.support.annotation.NonNull;
 import android.util.Log;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.View;
@@ -12,11 +11,11 @@ import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
+import androidx.annotation.NonNull;
+
 import com.blankj.utilcode.util.BarUtils;
 import com.blankj.utilcode.util.BarUtils;
-import com.enation.javashop.utils.base.tool.CommonTool;
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
-import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig;
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect;
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect;
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper;
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper;
 import com.wdkl.ncs.android.component.home.util.RingPlayHelper;
 import com.wdkl.ncs.android.component.home.util.RingPlayHelper;

+ 2 - 1
home/src/main/code/com/wdkl/ncs/android/component/home/ui/FragmentVideo.java

@@ -2,7 +2,6 @@ package com.wdkl.ncs.android.component.home.ui;
 
 
 import android.content.Context;
 import android.content.Context;
 import android.os.Build;
 import android.os.Build;
-import android.support.annotation.NonNull;
 import android.util.Log;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.View;
@@ -12,6 +11,8 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.RelativeLayout;
 
 
+import androidx.annotation.NonNull;
+
 import com.blankj.utilcode.util.BarUtils;
 import com.blankj.utilcode.util.BarUtils;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.rtc.rtc.WebRTCEngine;
 import com.wdkl.rtc.rtc.WebRTCEngine;

+ 4 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/ui/SingleCallFragment.java

@@ -10,9 +10,6 @@ import android.os.Handler;
 import android.os.Looper;
 import android.os.Looper;
 import android.os.Message;
 import android.os.Message;
 import android.os.SystemClock;
 import android.os.SystemClock;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
 import android.util.Log;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
@@ -24,6 +21,10 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.TextView;
 import android.widget.Toast;
 import android.widget.Toast;
 
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
 import com.google.gson.Gson;
 import com.google.gson.Gson;
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect;
 import com.wdkl.ncs.android.component.home.util.HandleTcpConnect;
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper;
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper;

+ 3 - 2
home/src/main/code/com/wdkl/ncs/android/component/home/util/ClerkDialogHelper.java

@@ -2,8 +2,6 @@ package com.wdkl.ncs.android.component.home.util;
 
 
 import android.app.Activity;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.AlertDialog;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
 import android.view.Gravity;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
@@ -11,6 +9,9 @@ import android.view.Window;
 import android.view.WindowManager;
 import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.Button;
 
 
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.R;
 import com.wdkl.ncs.android.component.home.adapter.ClerkAdapter;
 import com.wdkl.ncs.android.component.home.adapter.ClerkAdapter;
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO;
 import com.wdkl.ncs.android.middleware.model.dos.ClerkDO;

+ 1 - 1
home/src/main/res/layout/activity_call_list.xml

@@ -15,7 +15,7 @@
         android:layout_marginRight="3sp"
         android:layout_marginRight="3sp"
         bind:srlEnableLoadMore="false"
         bind:srlEnableLoadMore="false"
         bind:srlEnableRefresh="false">
         bind:srlEnableRefresh="false">
-        <android.support.v7.widget.RecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/rv_call_list"
             android:id="@+id/rv_call_list"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"

+ 1 - 1
home/src/main/res/layout/activity_channel_im_list.xml

@@ -53,7 +53,7 @@
             android:layout_marginRight="4dp"
             android:layout_marginRight="4dp"
             bind:srlEnableLoadMore="true"
             bind:srlEnableLoadMore="true"
             bind:srlEnableRefresh="true">
             bind:srlEnableRefresh="true">
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rv_channel_im_list"
                 android:id="@+id/rv_channel_im_list"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"

+ 2 - 2
home/src/main/res/layout/activity_event_list.xml

@@ -23,12 +23,12 @@
             android:layout_marginRight="3sp"
             android:layout_marginRight="3sp"
             bind:srlEnableLoadMore="false"
             bind:srlEnableLoadMore="false"
             bind:srlEnableRefresh="false">
             bind:srlEnableRefresh="false">
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rv_event_list"
                 android:id="@+id/rv_event_list"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
                 android:background="#FFBDC3">
                 android:background="#FFBDC3">
-            </android.support.v7.widget.RecyclerView>
+            </androidx.recyclerview.widget.RecyclerView>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 
 
     </RelativeLayout>
     </RelativeLayout>

+ 2 - 2
home/src/main/res/layout/activity_takeover.xml

@@ -6,7 +6,7 @@
         android:layout_height="match_parent"
         android:layout_height="match_parent"
         android:background="#FFBDC3">
         android:background="#FFBDC3">
 
 
-        <android.support.v7.widget.SearchView
+        <androidx.appcompat.widget.SearchView
             android:id="@+id/search_view"
             android:id="@+id/search_view"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
@@ -74,7 +74,7 @@
             bind:srlEnableLoadMore="false"
             bind:srlEnableLoadMore="false"
             bind:srlEnableRefresh="true">
             bind:srlEnableRefresh="true">
 
 
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/takeover_list"
                 android:id="@+id/takeover_list"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"

+ 1 - 1
home/src/main/res/layout/clerk_dialog_lay.xml

@@ -17,7 +17,7 @@
         android:layout_below="@id/tv_clerks_title"
         android:layout_below="@id/tv_clerks_title"
         android:background="@color/main_color"/>
         android:background="@color/main_color"/>
 
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recycle_view_clerks"
         android:id="@+id/recycle_view_clerks"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="200dp"
         android:layout_height="200dp"

+ 2 - 2
home/src/main/res/layout/watch_activity_call_records.xml

@@ -15,11 +15,11 @@
             bind:srlEnableLoadMore="true"
             bind:srlEnableLoadMore="true"
             bind:srlEnableRefresh="true">
             bind:srlEnableRefresh="true">
 
 
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/call_records_recyv"
                 android:id="@+id/call_records_recyv"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:layout_height="match_parent"
-                android:background="#FFBDC3"></android.support.v7.widget.RecyclerView>
+                android:background="#FFBDC3"/>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 
 
         <RelativeLayout
         <RelativeLayout

+ 2 - 2
home/src/main/res/layout/watch_contacts_lay.xml

@@ -27,12 +27,12 @@
             bind:srlEnableLoadMore="true"
             bind:srlEnableLoadMore="true"
             bind:srlEnableRefresh="true">
             bind:srlEnableRefresh="true">
 
 
-            <android.support.v7.widget.RecyclerView
+            <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/watch_contacts_list"
                 android:id="@+id/watch_contacts_list"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent">
                 android:layout_height="match_parent">
 
 
-            </android.support.v7.widget.RecyclerView>
+            </androidx.recyclerview.widget.RecyclerView>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
         </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 
 
     </RelativeLayout>
     </RelativeLayout>

+ 1 - 13
janus/build.gradle

@@ -28,22 +28,10 @@ android {
 }
 }
 
 
 dependencies {
 dependencies {
-    //implementation fileTree(dir: "libs", include: ["*.jar"])
-    //implementation 'com.google.android.material:material:1.2.1'
-
-//    api 'com.android.support:support-annotations:26.1.0'
-    //noinspection GradleCompatible
-//    api 'com.android.support:appcompat-v7:26.1.0'
-
     implementation 'org.webrtc:google-webrtc:1.0.32006'
     implementation 'org.webrtc:google-webrtc:1.0.32006'
 
 
-//    implementation 'com.squareup.okhttp3:okhttp:3.8.0'
-//
-//    compile 'pub.devrel:easypermissions:3.0.0'
-//    api 'org.greenrobot:eventbus:3.0.0'
-
     implementation project(':middleware')
     implementation project(':middleware')
-    compile('com.blankj:utilcodex:1.30.5'){
+    api('com.blankj:utilcodex:1.30.5'){
         exclude group: 'org.jetbrains.kotlin', module: 'kotlin-android-extensions-runtime'
         exclude group: 'org.jetbrains.kotlin', module: 'kotlin-android-extensions-runtime'
         exclude group: 'com.google.code.gson',module:'gson'
         exclude group: 'com.google.code.gson',module:'gson'
     }
     }

+ 4 - 1
keepalive/build.gradle

@@ -50,5 +50,8 @@ android {
 dependencies {
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     //noinspection GradleCompatible
     //noinspection GradleCompatible
-    implementation "com.android.support:appcompat-v7:$support_library_version"
+
+    implementation 'androidx.appcompat:appcompat:1.2.0'
+
+    implementation project(':middleware')
 }
 }

+ 2 - 2
keepalive/src/main/java/com/wdkl/ncs/keepbackground/singlepixel/ScreenReceiverUtil.java

@@ -40,7 +40,7 @@ public class ScreenReceiverUtil {
     public class SreenBroadcastReceiver extends BroadcastReceiver {
     public class SreenBroadcastReceiver extends BroadcastReceiver {
         @Override
         @Override
         public void onReceive(Context context, Intent intent) {
         public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
+            /*String action = intent.getAction();
             if (Intent.ACTION_SCREEN_ON.equals(action)) { // 开屏
             if (Intent.ACTION_SCREEN_ON.equals(action)) { // 开屏
             } else if (Intent.ACTION_SCREEN_OFF.equals(action)) { // 锁屏
             } else if (Intent.ACTION_SCREEN_OFF.equals(action)) { // 锁屏
                 if (mScreenManager != null) {
                 if (mScreenManager != null) {
@@ -52,7 +52,7 @@ public class ScreenReceiverUtil {
                     mScreenManager.finishActivity(); // 解锁
                     mScreenManager.finishActivity(); // 解锁
                 }
                 }
                 Log.d("sj_keep", "关闭了1像素Activity");
                 Log.d("sj_keep", "关闭了1像素Activity");
-            }
+            }*/
         }
         }
     }
     }
 }
 }

+ 5 - 1
keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/FileUtils.java

@@ -2,6 +2,8 @@ package com.wdkl.ncs.keepbackground.utils;
 
 
 import android.util.Log;
 import android.util.Log;
 
 
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
+
 import java.io.BufferedReader;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileInputStream;
@@ -17,7 +19,9 @@ public class FileUtils {
     private static final String TAG = "FileUtils";
     private static final String TAG = "FileUtils";
 
 
     //包名地址
     //包名地址
-    public static final String FILE_PKG_DIRRECT = "/mnt/sdcard/keepalive/";
+    //public static final String FILE_PKG_DIRRECT = "/mnt/sdcard/keepalive/";
+
+    public static final String FILE_PKG_DIRRECT = CommonUtils.getRootFilePath() + "/keepalive/";
     public static final String FILE_SERVICE_NAME = "service.txt";
     public static final String FILE_SERVICE_NAME = "service.txt";
     public static final String FILE_PKG_PATH = FILE_PKG_DIRRECT + FILE_SERVICE_NAME;
     public static final String FILE_PKG_PATH = FILE_PKG_DIRRECT + FILE_SERVICE_NAME;
 
 

+ 10 - 9
keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/JumpWindowPemiManagement.java

@@ -10,9 +10,10 @@ import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Build;
 import android.provider.Settings;
 import android.provider.Settings;
-import android.support.v7.appcompat.BuildConfig;
 import android.util.Log;
 import android.util.Log;
 
 
+import com.wdkl.ncs.keepbackground.BuildConfig;
+
 public class JumpWindowPemiManagement {
 public class JumpWindowPemiManagement {
     private static final String TAG = "JumpPermission";
     private static final String TAG = "JumpPermission";
 
 
@@ -84,7 +85,7 @@ public class JumpWindowPemiManagement {
     public static void Huawei(Activity activity) {
     public static void Huawei(Activity activity) {
         Intent intent = new Intent();
         Intent intent = new Intent();
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");
         ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);
@@ -93,7 +94,7 @@ public class JumpWindowPemiManagement {
     public static void Meizu(Activity activity) {
     public static void Meizu(Activity activity) {
         Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC");
         Intent intent = new Intent("com.meizu.safe.security.SHOW_APPSEC");
         intent.addCategory(Intent.CATEGORY_DEFAULT);
         intent.addCategory(Intent.CATEGORY_DEFAULT);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         activity.startActivity(intent);
         activity.startActivity(intent);
     }
     }
 
 
@@ -102,7 +103,7 @@ public class JumpWindowPemiManagement {
             Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR");
             Intent intent = new Intent("miui.intent.action.APP_PERM_EDITOR");
             ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity");
             ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.permissions.AppPermissionsEditorActivity");
             intent.setComponent(componentName);
             intent.setComponent(componentName);
-            intent.putExtra("extra_pkgname", BuildConfig.APPLICATION_ID);
+            intent.putExtra("extra_pkgname", BuildConfig.LIBRARY_PACKAGE_NAME);
             activity.startActivity(intent);
             activity.startActivity(intent);
         } catch (Exception e) {
         } catch (Exception e) {
             goToWindow(activity);
             goToWindow(activity);
@@ -112,7 +113,7 @@ public class JumpWindowPemiManagement {
     public static void Sony(Activity activity) {
     public static void Sony(Activity activity) {
         Intent intent = new Intent();
         Intent intent = new Intent();
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.sonymobile.cta", "com.sonymobile.cta.SomcCTAMainActivity");
         ComponentName comp = new ComponentName("com.sonymobile.cta", "com.sonymobile.cta.SomcCTAMainActivity");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);
@@ -121,7 +122,7 @@ public class JumpWindowPemiManagement {
     public static void OPPO(Activity activity) {
     public static void OPPO(Activity activity) {
         Intent intent = new Intent();
         Intent intent = new Intent();
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.color.safecenter", "com.color.safecenter.permission.PermissionManagerActivity");
         ComponentName comp = new ComponentName("com.color.safecenter", "com.color.safecenter.permission.PermissionManagerActivity");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);
@@ -130,7 +131,7 @@ public class JumpWindowPemiManagement {
     public static void LG(Activity activity) {
     public static void LG(Activity activity) {
         Intent intent = new Intent("android.intent.action.MAIN");
         Intent intent = new Intent("android.intent.action.MAIN");
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.Settings$AccessLockSummaryActivity");
         ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.Settings$AccessLockSummaryActivity");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);
@@ -139,7 +140,7 @@ public class JumpWindowPemiManagement {
     public static void Letv(Activity activity) {
     public static void Letv(Activity activity) {
         Intent intent = new Intent();
         Intent intent = new Intent();
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.PermissionAndApps");
         ComponentName comp = new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.PermissionAndApps");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);
@@ -153,7 +154,7 @@ public class JumpWindowPemiManagement {
     public static void _360(Activity activity) {
     public static void _360(Activity activity) {
         Intent intent = new Intent("android.intent.action.MAIN");
         Intent intent = new Intent("android.intent.action.MAIN");
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.putExtra("packageName", BuildConfig.APPLICATION_ID);
+        intent.putExtra("packageName", BuildConfig.LIBRARY_PACKAGE_NAME);
         ComponentName comp = new ComponentName("com.qihoo360.mobilesafe", "com.qihoo360.mobilesafe.ui.index.AppEnterActivity");
         ComponentName comp = new ComponentName("com.qihoo360.mobilesafe", "com.qihoo360.mobilesafe.ui.index.AppEnterActivity");
         intent.setComponent(comp);
         intent.setComponent(comp);
         activity.startActivity(intent);
         activity.startActivity(intent);

+ 2 - 1
keepalive/src/main/java/com/wdkl/ncs/keepbackground/utils/NotificationSetUtil.java

@@ -7,7 +7,8 @@ import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ApplicationInfo;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Build;
-import android.support.v4.app.NotificationManagerCompat;
+
+import androidx.core.app.NotificationManagerCompat;
 
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Method;

+ 4 - 3
keepalive/src/main/java/com/wdkl/ncs/keepbackground/work/DaemonEnv.java

@@ -10,12 +10,13 @@ import android.content.Intent;
 import android.net.Uri;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Build;
 import android.provider.Settings;
 import android.provider.Settings;
-import android.support.annotation.RequiresApi;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
 import android.util.Log;
 import android.util.Log;
 
 
 
 
+import androidx.annotation.RequiresApi;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
+
 import com.wdkl.ncs.keepbackground.utils.JumpWindowPemiManagement;
 import com.wdkl.ncs.keepbackground.utils.JumpWindowPemiManagement;
 import com.wdkl.ncs.keepbackground.utils.NotificationSetUtil;
 import com.wdkl.ncs.keepbackground.utils.NotificationSetUtil;
 import com.wdkl.ncs.keepbackground.utils.SpManager;
 import com.wdkl.ncs.keepbackground.utils.SpManager;

+ 7 - 12
middleware/build.gradle

@@ -18,7 +18,7 @@ android {
         targetSdkVersion target_sdk_version
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionCode app_version_code
         versionName app_version
         versionName app_version
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+
         dataBinding {
         dataBinding {
             enabled = true
             enabled = true
         }
         }
@@ -50,9 +50,9 @@ android {
 dependencies {
 dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     compile fileTree(include: ['*.jar'], dir: 'libs')
     testCompile 'junit:junit:4.12'
     testCompile 'junit:junit:4.12'
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
+    /*androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
         exclude group: 'com.android.support', module: 'support-annotations'
         exclude group: 'com.android.support', module: 'support-annotations'
-    })
+    })*/
 
 
     compile project(':common')
     compile project(':common')
     compile project(':resource')
     compile project(':resource')
@@ -63,11 +63,6 @@ dependencies {
     kapt 'com.google.dagger:dagger-compiler:2.7'
     kapt 'com.google.dagger:dagger-compiler:2.7'
 
 
     /**
     /**
-     * Kotlin依赖
-     */
-    kapt 'com.android.databinding:compiler:2.3.3'
-
-    /**
      * 路由注解处理器
      * 路由注解处理器
      */
      */
     kapt "com.enation.geamtear:jrouter-compiler:$router_version"
     kapt "com.enation.geamtear:jrouter-compiler:$router_version"
@@ -75,12 +70,12 @@ dependencies {
     /**
     /**
      *  constraint-layout布局依赖
      *  constraint-layout布局依赖
      */
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //implementation 'com.android.support.constraint:constraint-layout:2.0.1'
 
 
-    compile 'com.fasterxml.jackson.core:jackson-databind:2.9.5'
-    compile 'io.swagger:swagger-annotations:1.5.14'
+    implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.5'
+    implementation 'io.swagger:swagger-annotations:1.5.14'
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
     implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
 
 
-    //compile 'com.github.tiann:FreeReflection:3.1.0'
+    //implementation 'com.github.tiann:FreeReflection:3.1.0'
 }
 }

+ 2 - 5
middleware/src/main/code/com/wdkl/ncs/android/middleware/bind/DataBindingHelper.kt

@@ -1,10 +1,6 @@
 package com.wdkl.ncs.android.middleware.bind
 package com.wdkl.ncs.android.middleware.bind
 
 
-import android.databinding.BindingAdapter
 import android.graphics.Color
 import android.graphics.Color
-import android.support.constraint.ConstraintLayout
-import android.support.v4.app.Fragment
-import android.support.v7.app.AppCompatActivity
 import android.text.SpannableStringBuilder
 import android.text.SpannableStringBuilder
 import android.text.Spanned
 import android.text.Spanned
 import android.text.style.AbsoluteSizeSpan
 import android.text.style.AbsoluteSizeSpan
@@ -13,6 +9,7 @@ import android.text.style.StrikethroughSpan
 import android.view.View
 import android.view.View
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.widget.TextView
 import android.widget.TextView
+import androidx.databinding.BindingAdapter
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.*
 import com.wdkl.ncs.android.lib.utils.*
@@ -184,7 +181,7 @@ object DataBindingHelper {
     @BindingAdapter(value = ["bind:text_num_count_percent"],requireAll = true)
     @BindingAdapter(value = ["bind:text_num_count_percent"],requireAll = true)
     @JvmStatic
     @JvmStatic
     fun textNumCountPercent(view :TextView ,text :ObserableString){
     fun textNumCountPercent(view :TextView ,text :ObserableString){
-        view.text = "${text.get().length}/500"
+        view.text = "${text.get()!!.length}/500"
     }
     }
 
 
     /**
     /**

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartGoodsItemViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.*
 import com.wdkl.ncs.android.lib.utils.*
 import org.json.JSONObject
 import org.json.JSONObject
 
 

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartShopItemViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueString
 import com.wdkl.ncs.android.lib.utils.valueString
 import org.json.JSONObject
 import org.json.JSONObject

+ 12 - 12
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CouponViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -8,17 +8,17 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   优惠券VM
  * @Note   优惠券VM
  */
  */
-data class CouponViewModel(val price : Double,          /**抵用的价格*/
-                           val basePrice : Double,      /**最低使用金额*/
-                           val shopName : String,       /**所属店铺*/
-                           var isReceive : Boolean,     /**是否已经领取过*/
-                           var isUseed :Boolean,        /**是否使用过*/
-                           var isDateed :Boolean,       /**是否过期*/
-                           val id : Int,                /**优惠券ID*/
-                           var useDate :String,         /**使用时间区间*/
-                           val shopId :Int ,            /**所属店铺ID*/
-                           val describe:String,         /**额外描述*/
-                           var isSelect: ObservableField<Int>  /**是否选中*/,
+data class CouponViewModel(val price : Double,/**抵用的价格*/
+                           val basePrice : Double,/**最低使用金额*/
+                           val shopName : String,/**所属店铺*/
+                           var isReceive : Boolean,/**是否已经领取过*/
+                           var isUseed :Boolean,/**是否使用过*/
+                           var isDateed :Boolean,/**是否过期*/
+                           val id : Int,/**优惠券ID*/
+                           var useDate :String,/**使用时间区间*/
+                           val shopId :Int,/**所属店铺ID*/
+                           val describe:String,/**额外描述*/
+                           var isSelect: ObservableField<Int> /**是否选中*/ ,
                            var isGet :Boolean)  /**是否为仅领取UI*/{
                            var isGet :Boolean)  /**是否为仅领取UI*/{
 
 
     constructor( price : Double,          /**抵用的价格*/
     constructor( price : Double,          /**抵用的价格*/

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/GoodsFilterViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/MemberAddressViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD

+ 2 - 3
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderCreatePriceViewModel.kt

@@ -1,7 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
-import com.wdkl.ncs.android.lib.utils.bindingParams
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.valueDouble
 import com.wdkl.ncs.android.lib.utils.valueDouble
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueInt
 import org.json.JSONObject
 import org.json.JSONObject
@@ -12,7 +11,7 @@ import org.json.JSONObject
  * @From   com.wdkl.ncs.android.middleware.model
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   订单创建时价格详细
  * @Note   订单创建时价格详细
  */
  */
-data class OrderCreatePriceViewModel(val goodsPrice :ObservableField<String>,
+data class OrderCreatePriceViewModel(val goodsPrice : ObservableField<String>,
                                      val discountPrice :ObservableField<String>,
                                      val discountPrice :ObservableField<String>,
                                      val shipPrice :ObservableField<String>,
                                      val shipPrice :ObservableField<String>,
                                      val pointPrice :ObservableField<String>,
                                      val pointPrice :ObservableField<String>,

+ 0 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderDetailViewModel.kt

@@ -1,7 +1,5 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
-
 /**
 /**
  * @author LDD
  * @author LDD
  * @Date   2018/4/17 下午4:21
  * @Date   2018/4/17 下午4:21

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ParentCategoryViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueString
 import com.wdkl.ncs.android.lib.utils.valueString
 import org.json.JSONObject
 import org.json.JSONObject

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PayShipTimeViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   订单创建页面支付方式itemViewModel
  * @Note   订单创建页面支付方式itemViewModel
  */
  */
-data class PayShipTimeViewModel(val payName :ObservableField<String> ,val payShip :ObservableField<String>)
+data class PayShipTimeViewModel(val payName : ObservableField<String>, val payShip :ObservableField<String>)

+ 1 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PostCommentViewModel.kt

@@ -18,7 +18,7 @@ data class PostCommentViewModel(val sn :String,
         val goods = ArrayList<PostGoodsModel>()
         val goods = ArrayList<PostGoodsModel>()
         goodsList.forEach {
         goodsList.forEach {
             val item = PostGoodsModel()
             val item = PostGoodsModel()
-            item.content = it.commentContent.get()
+            item.content = it.commentContent.get()!!
             if (it.goodsStar < 3) {
             if (it.goodsStar < 3) {
                 item.grade = "bad"
                 item.grade = "bad"
             } else if (it.goodsStar == 3 || it.goodsStar == 4) {
             } else if (it.goodsStar == 3 || it.goodsStar == 4) {

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ReceiptViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.bindingParams
 import com.wdkl.ncs.android.lib.utils.bindingParams
 import com.wdkl.ncs.android.lib.utils.judge
 import com.wdkl.ncs.android.lib.utils.judge
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueInt
@@ -14,7 +14,7 @@ import org.json.JSONObject
  * @Note   发票ViewModel
  * @Note   发票ViewModel
  */
  */
 data class ReceiptViewModel(var id :Int = 0,/**ID*/
 data class ReceiptViewModel(var id :Int = 0,/**ID*/
-                            var duty_invoice :ObservableField<String> = ObservableField(""),/**纳税人税号*/
+                            var duty_invoice : ObservableField<String> = ObservableField(""),/**纳税人税号*/
                             var receipt_content:String = "",/**发票内容*/
                             var receipt_content:String = "",/**发票内容*/
                             var receipt_title:ObservableField<String> = ObservableField(""),/**发票抬头*/
                             var receipt_title:ObservableField<String> = ObservableField(""),/**发票抬头*/
                             var receipt_type:String = "")        /**发票类型*/
                             var receipt_type:String = "")        /**发票类型*/

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleIntViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   单个IntVM
  * @Note   单个IntVM
  */
  */
-data class SingleIntViewModel(val state :ObservableField<Int>)
+data class SingleIntViewModel(val state : ObservableField<Int>)

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleStringViewModel.kt

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 package com.wdkl.ncs.android.middleware.model
 
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 
 /**
 /**
  * @author LDD
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   单个StringVM
  * @Note   单个StringVM
  */
  */
-data class SingleStringViewModel(val text :ObservableField<String>)
+data class SingleStringViewModel(val text : ObservableField<String>)

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/router/RouterInterceptor.kt

@@ -1,8 +1,8 @@
 package com.wdkl.ncs.android.middleware.router
 package com.wdkl.ncs.android.middleware.router
 
 
 import android.content.Context
 import android.content.Context
-import android.support.v4.app.ActivityCompat
-import android.support.v4.content.ContextCompat
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
 import com.enation.javashop.android.jrouter.external.annotation.Interceptor
 import com.enation.javashop.android.jrouter.external.annotation.Interceptor
 import com.enation.javashop.android.jrouter.logic.datainfo.Postcard
 import com.enation.javashop.android.jrouter.logic.datainfo.Postcard
 import com.enation.javashop.android.jrouter.logic.listener.InterceptorListener
 import com.enation.javashop.android.jrouter.logic.listener.InterceptorListener

+ 3 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceUtil.java

@@ -2,12 +2,14 @@ package com.wdkl.ncs.android.middleware.tcp.channel;
 
 
 import android.os.Build;
 import android.os.Build;
 
 
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.BuildConfig;
 import com.wdkl.ncs.android.middleware.BuildConfig;
 import com.wdkl.ncs.android.middleware.common.Constants;
 import com.wdkl.ncs.android.middleware.common.Constants;
 import com.wdkl.ncs.android.middleware.tcp.dto.DeviceConnectDTO;
 import com.wdkl.ncs.android.middleware.tcp.dto.DeviceConnectDTO;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 import com.wdkl.ncs.android.middleware.utils.ContactHelper;
 import com.wdkl.ncs.android.middleware.utils.ContactHelper;
 
 
 public class DeviceUtil {
 public class DeviceUtil {
@@ -15,7 +17,7 @@ public class DeviceUtil {
         DeviceConnectDTO deviceConnectDTO = new DeviceConnectDTO();
         DeviceConnectDTO deviceConnectDTO = new DeviceConnectDTO();
         deviceConnectDTO.setIdentification(mac);
         deviceConnectDTO.setIdentification(mac);
         deviceConnectDTO.setModel(Build.MODEL);
         deviceConnectDTO.setModel(Build.MODEL);
-        deviceConnectDTO.setSoftware_version("V"+BuildConfig.VERSION_NAME);
+        deviceConnectDTO.setSoftware_version("V"+ CommonUtils.getAppVersionName(BaseApplication.appContext));
         deviceConnectDTO.setHardware_version(Build.HARDWARE);
         deviceConnectDTO.setHardware_version(Build.HARDWARE);
         deviceConnectDTO.setCode(Constants.Companion.getImei());
         deviceConnectDTO.setCode(Constants.Companion.getImei());
         deviceConnectDTO.setPhoneNumber(ContactHelper.getPhoneNumber());
         deviceConnectDTO.setPhoneNumber(ContactHelper.getPhoneNumber());

+ 41 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/utils/CommonUtils.java

@@ -2,8 +2,13 @@ package com.wdkl.ncs.android.middleware.utils;
 
 
 import android.content.Context;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.os.Build;
+import android.os.Environment;
 import android.text.TextUtils;
 import android.text.TextUtils;
 
 
+import com.wdkl.ncs.android.lib.base.BaseApplication;
+
 public class CommonUtils {
 public class CommonUtils {
     private static final String SP_NAME = "SP_URL";
     private static final String SP_NAME = "SP_URL";
     private static final String KEY_SP_URL = "KEY_SP_URL";
     private static final String KEY_SP_URL = "KEY_SP_URL";
@@ -12,13 +17,47 @@ public class CommonUtils {
     private static final String KEY_SP_SIP_PORT = "KEY_SP_SIP_PORT";
     private static final String KEY_SP_SIP_PORT = "KEY_SP_SIP_PORT";
 
 
     //默认服务器ip端口
     //默认服务器ip端口
-    //private static final String DEFAULT_URL = "172.28.100.100";
+    private static final String DEFAULT_URL = "172.28.100.100";
     //private static final String DEFAULT_URL = "8.129.220.143";
     //private static final String DEFAULT_URL = "8.129.220.143";
     //private static final String DEFAULT_URL = "119.23.151.229";
     //private static final String DEFAULT_URL = "119.23.151.229";
-    private static final String DEFAULT_URL = "192.168.30.248"; //宝生
+    //private static final String DEFAULT_URL = "192.168.30.248"; //宝生
     private static final String DEFAULT_URL_PORT = "8006";
     private static final String DEFAULT_URL_PORT = "8006";
     private static final String DEFAULT_SIP_PORT = "8188";
     private static final String DEFAULT_SIP_PORT = "8188";
 
 
+    public static String getRootFilePath() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+            return BaseApplication.appContext.getExternalFilesDir(null).getPath();
+        } else {
+            return Environment.getExternalStorageDirectory().getPath();
+        }
+    }
+
+    public static String getAppVersionName(Context context) {
+        try {
+            PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
+            return info.versionName;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return "unknown";
+    }
+
+    public static long getAppVersionCode(Context context) {
+        try {
+            PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
+
+            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
+                return info.getLongVersionCode();
+            }else{
+                return info.versionCode;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return -1;
+    }
 
 
     public static String getUrl(Context context) {
     public static String getUrl(Context context) {
         if (TextUtils.isEmpty(getSP(context).getString(KEY_SP_URL, DEFAULT_URL))) {
         if (TextUtils.isEmpty(getSP(context).getString(KEY_SP_URL, DEFAULT_URL))) {

+ 0 - 3
resource/build.gradle

@@ -19,9 +19,6 @@ android {
         }
         }
     }
     }
    dependencies{
    dependencies{
-       compile 'com.android.support:design:26.+'
-       compile 'com.android.support:support-v4:26.+'
-       compile 'com.android.support:cardview-v7:26.+'
        /**
        /**
         * 单元测试
         * 单元测试
         */
         */