Selaa lähdekoodia

项目切换到Androidx版本,集成志合sdk

weizhengliang 2 vuotta sitten
vanhempi
commit
c1114801a6
83 muutettua tiedostoa jossa 477 lisäystä ja 464 poistoa
  1. 2 22
      android_door/build.gradle
  2. BIN
      android_door/libs/zhylapi-20230324.jar
  3. 1 1
      android_door/src/main/h10_a133_chile/AndroidManifest.xml
  4. 19 9
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/activity/CallingdoorActivity.kt
  5. 2 1
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/BedItemAdapter.java
  6. 11 11
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/CostItemAdapter.kt
  7. 5 5
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/FrameRoomAdapter.kt
  8. 2 2
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/NurseConfigAdpter.kt
  9. 8 8
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/BaseCallFragment.kt
  10. 2 2
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/MainFragment.kt
  11. 4 2
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/QrCodeFragment.kt
  12. 3 3
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/TestFragment.kt
  13. 4 2
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/AppInfoDialogHelper.java
  14. 2 1
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/AppUpdateHelper.java
  15. 2 1
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/CallbedDialogHelper.java
  16. 12 0
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/NetHelper.java
  17. 3 1
      android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/XCrashUtils.java
  18. 1 1
      android_door/src/main/h10_a133_chile/res/layout/cost_view_lay.xml
  19. 6 19
      app/build.gradle
  20. 0 27
      app/src/main/AndroidManifest.xml
  21. 0 24
      app/src/main/code/com/wdkl/app/ncs/activity/SchemeActivity.kt
  22. 1 1
      app/src/main/code/com/wdkl/app/ncs/application/Application.kt
  23. 0 27
      app/src/main/sharedUserId/AndroidManifest.xml
  24. 0 4
      bedlib/build.gradle
  25. 8 16
      build.gradle
  26. 16 26
      common/build.gradle
  27. 1 1
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/BaseDelegateAdapter.kt
  28. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/ListViewBaseAdapter.kt
  29. 5 5
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/TextViewDelegateAdapter.kt
  30. 1 1
      common/src/main/code/com/wdkl/ncs/android/lib/adapter/VlayoutHolderAdapter.kt
  31. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/base/BaseActivity.kt
  32. 6 2
      common/src/main/code/com/wdkl/ncs/android/lib/base/BaseApplication.kt
  33. 5 5
      common/src/main/code/com/wdkl/ncs/android/lib/base/BaseFragment.kt
  34. 4 4
      common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryActivity.kt
  35. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/base/GalleryFragment.kt
  36. 10 12
      common/src/main/code/com/wdkl/ncs/android/lib/bind/BaseBindingHelper.kt
  37. 7 7
      common/src/main/code/com/wdkl/ncs/android/lib/core/framework/ActivityLifeController.kt
  38. 4 4
      common/src/main/code/com/wdkl/ncs/android/lib/utils/AppTool.kt
  39. 5 5
      common/src/main/code/com/wdkl/ncs/android/lib/utils/AutoClearValue.kt
  40. 7 6
      common/src/main/code/com/wdkl/ncs/android/lib/utils/BaseRecyclerViewHolder.kt
  41. 1 1
      common/src/main/code/com/wdkl/ncs/android/lib/utils/EcodeHelper.kt
  42. 16 10
      common/src/main/code/com/wdkl/ncs/android/lib/utils/ExtendMethods.kt
  43. 8 8
      common/src/main/code/com/wdkl/ncs/android/lib/utils/GalleryHelper.kt
  44. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/utils/NoAlphaItemAnimator.kt
  45. 8 8
      common/src/main/code/com/wdkl/ncs/android/lib/utils/RecycleViewScrollHelper.kt
  46. 3 3
      common/src/main/code/com/wdkl/ncs/android/lib/utils/TangramPlugin.kt
  47. 2 5
      common/src/main/code/com/wdkl/ncs/android/lib/widget/ArcView.kt
  48. 104 0
      common/src/main/code/com/wdkl/ncs/android/lib/widget/AudioWaveView.java
  49. 5 5
      common/src/main/code/com/wdkl/ncs/android/lib/widget/AutoPollRecyclerView.kt
  50. 8 7
      common/src/main/code/com/wdkl/ncs/android/lib/widget/CommonActionBar.kt
  51. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/widget/OnegoGridLayoutManager.kt
  52. 3 6
      common/src/main/code/com/wdkl/ncs/android/lib/widget/PopCommonView.kt
  53. 8 8
      common/src/main/code/com/wdkl/ncs/android/lib/widget/SaleProgressView.kt
  54. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/widget/StarView.kt
  55. 2 2
      common/src/main/code/com/wdkl/ncs/android/lib/widget/VerificationCodeView.kt
  56. 19 14
      common/src/main/res/layout/custom_loading.xml
  57. 2 2
      common/src/main/res/layout/menu_dialog_lay.xml
  58. 4 4
      common/src/main/res/layout/menu_item_lay.xml
  59. 3 3
      common/src/main/res/layout/pop_common_lay.xml
  60. 3 4
      common/src/main/res/layout/text_adapter_lay.xml
  61. 2 2
      common/src/main/res/layout/vcode_dialog_lay.xml
  62. 6 5
      gradle.properties
  63. 2 10
      middleware/build.gradle
  64. 2 5
      middleware/src/main/code/com/wdkl/ncs/android/middleware/bind/DataBindingHelper.kt
  65. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartGoodsItemViewModel.kt
  66. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CartShopItemViewModel.kt
  67. 13 12
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/CouponViewModel.kt
  68. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/GoodsFilterViewModel.kt
  69. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/MemberAddressViewModel.kt
  70. 2 3
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderCreatePriceViewModel.kt
  71. 0 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/OrderDetailViewModel.kt
  72. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ParentCategoryViewModel.kt
  73. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PayShipTimeViewModel.kt
  74. 1 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/PostCommentViewModel.kt
  75. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/ReceiptViewModel.kt
  76. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleIntViewModel.kt
  77. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/model/SingleStringViewModel.kt
  78. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/router/RouterInterceptor.kt
  79. 3 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceUtil.java
  80. 39 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/utils/CommonUtils.java
  81. 2 8
      resource/build.gradle
  82. 5 24
      welcome/build.gradle
  83. 2 2
      welcome/src/main/res/layout/activity_welcome.xml

+ 2 - 22
android_door/build.gradle

@@ -74,21 +74,11 @@ android {
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
     /**
      * 单元测试
      */
     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"
 
     /**
      * 公共库依赖
@@ -98,23 +88,12 @@ dependencies {
     compile project(':welcome')
     compile project(':janus')
 
-    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'
-    }
-
     /**
      * Dagger编译依赖
      */
     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"
@@ -122,7 +101,8 @@ dependencies {
     /**
      *  constraint-layout布局依赖
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
 
     //compile 'com.github.anrwatchdog:anrwatchdog:1.3.0'
 

BIN
android_door/libs/zhylapi-20230324.jar


+ 1 - 1
android_door/src/main/h10_a133_chile/AndroidManifest.xml

@@ -23,7 +23,7 @@
             android:launchMode="singleTask"/>
 
         <provider
-            android:name="android.support.v4.content.FileProvider"
+            android:name="androidx.core.content.FileProvider"
             android:authorities="${applicationId}.provider"
             tools:replace="android:authorities"
             android:grantUriPermissions="true"

+ 19 - 9
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/activity/CallingdoorActivity.kt

@@ -1,16 +1,16 @@
 package com.wdkl.app.ncs.callingdoor.activity
 
-import android.app.AlarmManager
+import android.app.zhyl.ZhylManager
 import android.content.*
 import android.graphics.Color
 import android.net.ConnectivityManager
 import android.os.*
-import android.support.v4.app.Fragment
 import android.text.TextUtils
 import android.util.Log
 import android.view.Gravity
 import android.view.View
 import android.widget.TextView
+import androidx.fragment.app.Fragment
 import com.alibaba.fastjson.JSON
 import com.alibaba.fastjson.JSONObject
 import com.enation.javashop.android.jrouter.external.annotation.Router
@@ -135,6 +135,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
     private var bedCalls = ArrayList<String>()
     private var handleCalls = ArrayList<HandleEntity>()
 
+    private lateinit var zhylManager: ZhylManager
+
     //网络异常计数
     private var netErrCount : Int = 0
 
@@ -184,6 +186,9 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
     }
 
     override fun init() {
+        //志合A133平台sdk
+        zhylManager = ZhylManager.getInstance(BaseApplication.appContext)
+
         //rk3288使用序列号注册,其他使用mac地址注册
         if ("rk3288".equals(Build.MODEL)) {
             val yfRk3288ApiManager = YF_RK3288_API_Manager(activity)
@@ -196,7 +201,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
             AppTool.Setting.setScreenOffTimeOut(activity, 2147483647)
         } else {
             //获取mac地址
-            Constant.LOCAL_MAC = NetHelper.getInstance().macAddress
+            //Constant.LOCAL_MAC = NetHelper.getInstance().macAddress
+            Constant.LOCAL_MAC = NetHelper.getInstance().macAddress2
             Constant.DEVICE_REGISTER_ID = Constant.LOCAL_MAC
         }
 
@@ -238,7 +244,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
             //alarmManager.setTimeZone("Asia/Shanghai")
         }
 
-        app_version.text = "V" + BuildConfig.VERSION_NAME
+        app_version.text = "V" + CommonUtils.getAppVersionName(BaseApplication.appContext)
 
         //显示二维码界面
         switchFragment(R.id.callingdoor_main_frame, QrCodeFragment(), qrFragment)
@@ -497,7 +503,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
         if (skyCallFragment != null) {
             supportFragmentManager.beginTransaction()
                 //.setCustomAnimations(R.anim.slide_down_in, R.anim.slide_down_out)
-                .remove(skyCallFragment)
+                .remove(skyCallFragment!!)
                 .commitAllowingStateLoss()
             skyCallFragment = null
         }
@@ -1049,10 +1055,14 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
 
     override fun loadAppVersion(appInfo: AppVersionDO) {
         val newAppVersion = appInfo.versionCode.substring(1)
-        Log.d("AppUpdate", "loadAppVersion =====>>  newAppVersion: " + newAppVersion + ", curAppVersion: " + BuildConfig.VERSION_NAME + ", path: " + appInfo.appPath)
-        showMessage("current version: " + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE + ", new version: " + newAppVersion + "_" + appInfo.versionNo)
-
-        if (BuildConfig.VERSION_CODE < appInfo.versionNo) {
+        val versionName = CommonUtils.getAppVersionName(BaseApplication.appContext)
+        val versionCode = CommonUtils.getAppVersionCode(BaseApplication.appContext)
+        Log.d("AppUpdate", "loadAppVersion =====>>  newAppVersion: " + newAppVersion
+                + ", curAppVersion: " + versionName
+                + ", path: " + appInfo.appPath)
+        showMessage("current version: " + versionName + "_" + versionCode + ", new version: " + newAppVersion + "_" + appInfo.versionNo)
+
+        if (versionCode < appInfo.versionNo) {
             cancelSleep()
             black_view.visibility = View.GONE
 

+ 2 - 1
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/BedItemAdapter.java

@@ -1,13 +1,14 @@
 package com.wdkl.app.ncs.callingdoor.adapter;
 
 import android.content.Context;
-import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.TextView;
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.wdkl.app.ncs.callingdoor.R;
 import com.wdkl.ncs.android.middleware.common.Constant;
 import com.wdkl.ncs.android.middleware.model.vo.FrameBedVO;

+ 11 - 11
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/CostItemAdapter.kt

@@ -1,12 +1,12 @@
 package com.wdkl.app.ncs.callingdoor.adapter
 
 import android.content.Context
-import android.support.v7.widget.LinearLayoutManager
-import android.support.v7.widget.RecyclerView
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.ncs.android.middleware.model.vo.CustomerFeeConfigByGroupNameVO
 import com.wdkl.ncs.android.middleware.model.vo.CustomerFeeConfigVO
@@ -22,20 +22,20 @@ class CostItemAdapter : RecyclerView.Adapter<CostItemAdapter.ParentViewHolder> {
         this.mainData = data
     }
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ParentViewHolder {
-        val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_cost_main_view, parent, false)
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ParentViewHolder {
+        val view = LayoutInflater.from(parent.context).inflate(R.layout.item_cost_main_view, parent, false)
         val viewHolder = ParentViewHolder(view)
 
         return viewHolder
     }
 
-    override fun onBindViewHolder(holder: ParentViewHolder?, position: Int) {
-        holder?.costGroupName?.text = mainData.get(position).feeGroupName
-        holder?.costGroupTotal?.text = StringUtil.getResString(R.string.subtotal) + mainData.get(position).subtotal
+    override fun onBindViewHolder(holder: ParentViewHolder, position: Int) {
+        holder.costGroupName.text = mainData.get(position).feeGroupName
+        holder.costGroupTotal.text = StringUtil.getResString(R.string.subtotal) + mainData.get(position).subtotal
 
         val layoutManager = LinearLayoutManager(context)
-        holder?.costDetail?.layoutManager = layoutManager
-        holder?.costDetail?.adapter = CostDetailAdapter(mainData.get(position).customerFeeConfigList)
+        holder.costDetail.layoutManager = layoutManager
+        holder.costDetail.adapter = CostDetailAdapter(mainData.get(position).customerFeeConfigList)
     }
 
     override fun getItemCount(): Int {
@@ -61,14 +61,14 @@ class CostItemAdapter : RecyclerView.Adapter<CostItemAdapter.ParentViewHolder> {
             costData = data
         }
 
-        override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ChildViewHolder {
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChildViewHolder {
             val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_cost_detail, parent, false)
             val viewHolder = ChildViewHolder(view)
 
             return viewHolder
         }
 
-        override fun onBindViewHolder(holder: ChildViewHolder?, position: Int) {
+        override fun onBindViewHolder(holder: ChildViewHolder, position: Int) {
             holder?.costName?.text = costData.get(position).feeName
             holder?.costValue?.text = "" + costData.get(position).feeValue
             holder?.costId?.text = costData.get(position).keyCode

+ 5 - 5
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/FrameRoomAdapter.kt

@@ -4,7 +4,6 @@ import android.content.Context
 import android.graphics.Color
 import android.graphics.drawable.Drawable
 import android.os.Build
-import android.support.v7.widget.RecyclerView
 import android.text.TextUtils
 import android.util.Log
 import android.view.LayoutInflater
@@ -13,6 +12,7 @@ import android.view.ViewGroup
 import android.widget.ImageView
 import android.widget.LinearLayout
 import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.ncs.android.lib.widget.FlickerTextView
 import com.wdkl.ncs.android.middleware.common.Constant
@@ -63,17 +63,17 @@ class FrameRoomAdapter : RecyclerView.Adapter<FrameRoomAdapter.BedViewHolder> {
         }
     }
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BedViewHolder {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BedViewHolder {
         if ("rk3288".equals(Build.MODEL)) {
             if (Constant.DEVICE_HEIGHT == 1280 && Constant.DEVICE_WIDTH == 800) {
-                val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_bed_rk3288_800, parent, false)
+                val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bed_rk3288_800, parent, false)
                 return BedViewHolder(view)
             } else {
-                val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_bed_rk3288, parent, false)
+                val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bed_rk3288, parent, false)
                 return BedViewHolder(view)
             }
         } else {
-            val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_bed, parent, false)
+            val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bed, parent, false)
             return BedViewHolder(view)
         }
     }

+ 2 - 2
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/adapter/NurseConfigAdpter.kt

@@ -2,11 +2,11 @@ package com.wdkl.app.ncs.callingdoor.adapter
 
 import android.content.Context
 import android.graphics.Color
-import android.support.v7.widget.RecyclerView
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.ncs.android.middleware.model.dto.NurseConfigDto
 import java.lang.Exception
@@ -20,7 +20,7 @@ class NurseConfigAdpter : RecyclerView.Adapter<NurseConfigAdpter.ViewHolder> {
         this.data = data
     }
 
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder {
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
         val view = LayoutInflater.from(parent?.context).inflate(R.layout.item_nurse_config, parent, false)
         val viewHolder = ViewHolder(view)
 

+ 8 - 8
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/BaseCallFragment.kt

@@ -2,12 +2,12 @@ package com.wdkl.app.ncs.callingdoor.fragment
 
 import android.os.Bundle
 import android.os.CountDownTimer
-import android.support.v4.app.Fragment
 import android.view.LayoutInflater
 import android.view.MotionEvent
 import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
+import androidx.fragment.app.Fragment
 import com.enation.javashop.utils.base.tool.BaseToolActivity
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.app.ncs.callingdoor.helper.RingPlayHelper
@@ -39,11 +39,11 @@ abstract class BaseCallFragment: Fragment(), View.OnTouchListener {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         retainInstance = true
-        callState = arguments.getInt("call_state")
-        bedId = arguments.getInt("bed_id")
-        tid = arguments.getString("tcp_tid")
-        if (arguments.getSerializable("tcp_model") != null) {
-            tcpModel = arguments.getSerializable("tcp_model") as TcpModel
+        callState = arguments!!.getInt("call_state")
+        bedId = arguments!!.getInt("bed_id")
+        tid = arguments!!.getString("tcp_tid")
+        if (arguments!!.getSerializable("tcp_model") != null) {
+            tcpModel = arguments!!.getSerializable("tcp_model") as TcpModel
         }
     }
 
@@ -58,13 +58,13 @@ abstract class BaseCallFragment: Fragment(), View.OnTouchListener {
         return layout
     }
 
-    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
         init()
         bindEvent()
 
-        view!!.setOnTouchListener(this)
+        view.setOnTouchListener(this)
     }
 
     override fun onDestroyView() {

+ 2 - 2
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/MainFragment.kt

@@ -1,9 +1,9 @@
 package com.wdkl.app.ncs.callingdoor.fragment
 
 import android.os.Build
-import android.support.v7.widget.DefaultItemAnimator
-import android.support.v7.widget.GridLayoutManager
 import android.text.TextUtils
+import androidx.recyclerview.widget.DefaultItemAnimator
+import androidx.recyclerview.widget.GridLayoutManager
 import com.enation.javashop.net.engine.model.NetState
 import com.wdkl.app.ncs.callingdoor.R
 import com.wdkl.app.ncs.callingdoor.adapter.FrameRoomAdapter

+ 4 - 2
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/QrCodeFragment.kt

@@ -13,6 +13,7 @@ import com.wdkl.app.ncs.callingdoor.helper.NetHelper
 import com.wdkl.app.ncs.callingdoor.helper.PasswordDialogHelper
 import com.wdkl.app.ncs.callingdoor.helper.ServerConfigDialogHelper
 import com.wdkl.app.ncs.callingdoor.launch.CallingdoorLaunch
+import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.BaseFragment
 import com.wdkl.ncs.android.lib.utils.*
 import com.wdkl.ncs.android.lib.vo.filter
@@ -20,6 +21,7 @@ import com.wdkl.ncs.android.middleware.api.UrlManager
 import com.wdkl.ncs.android.middleware.common.Constant
 import com.wdkl.ncs.android.middleware.logic.contract.callingdoor.QrCodeFragmentContract
 import com.wdkl.ncs.android.middleware.logic.presenter.callingdoor.QrCodeFragmentPresenter
+import com.wdkl.ncs.android.middleware.utils.CommonUtils
 import kotlinx.android.synthetic.main.qr_code_lay.*
 import java.lang.StringBuilder
 
@@ -66,7 +68,7 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
         rb_qr_code_main.isChecked = true
         showQRCodeImg(R.id.rb_qr_code_main)
 
-        val macAddr = NetHelper.getInstance().macAddress
+        val macAddr = NetHelper.getInstance().macAddress2
         val ipAddr = NetHelper.getInstance().localIP
         val buildUrl = UrlManager.build()
         val serverIp =  buildUrl.buyer.substringAfterLast("//").substringBefore(":")
@@ -76,7 +78,7 @@ class QrCodeFragment : BaseFragment<QrCodeFragmentPresenter, QrCodeLayBinding>()
         tv_server_ip.text = "Server: " + serverIp
         tv_local_mac.text = "MAC: " + macAddr
         tv_device_sn.text = "Identifier: " + Constant.DEVICE_SN
-        tv_app_version.text = "Version: V" + BuildConfig.VERSION_NAME + "_" + BuildConfig.VERSION_CODE + "_" + Build.MODEL
+        tv_app_version.text = "Version: V" + CommonUtils.getAppVersionName(BaseApplication.appContext) + "_" + CommonUtils.getAppVersionCode(BaseApplication.appContext) + "_" + Build.MODEL
         tv_mcu_version.text = "MCU: " + Constant.MCU_VERSION_NUMBER
     }
 

+ 3 - 3
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/fragment/TestFragment.kt

@@ -122,7 +122,7 @@ class TestFragment : BaseFragment<QrCodeFragmentPresenter, TestFragmentLayBindin
             }
 
             camera_preview_surface.getHolder().addCallback(object : SurfaceHolder.Callback {
-                override fun surfaceCreated(holder: SurfaceHolder?) {
+                override fun surfaceCreated(holder: SurfaceHolder) {
                     /**
                      * The SurfaceHolder must already contain a surface when this method is called.
                      * If you are using SurfaceView, you will need to register a SurfaceHolder.Callback
@@ -141,7 +141,7 @@ class TestFragment : BaseFragment<QrCodeFragmentPresenter, TestFragmentLayBindin
                 }
 
                 override fun surfaceChanged(
-                    holder: SurfaceHolder?,
+                    holder: SurfaceHolder,
                     format: Int,
                     width: Int,
                     height: Int
@@ -149,7 +149,7 @@ class TestFragment : BaseFragment<QrCodeFragmentPresenter, TestFragmentLayBindin
                     //
                 }
 
-                override fun surfaceDestroyed(holder: SurfaceHolder?) {
+                override fun surfaceDestroyed(holder: SurfaceHolder) {
                     //
                 }
             })

+ 4 - 2
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/AppInfoDialogHelper.java

@@ -6,7 +6,9 @@ import android.content.DialogInterface;
 
 import com.wdkl.app.ncs.callingdoor.BuildConfig;
 import com.wdkl.app.ncs.callingdoor.R;
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.common.Constant;
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 
 public class AppInfoDialogHelper {
 
@@ -19,7 +21,7 @@ public class AppInfoDialogHelper {
         }
 
         StringBuilder stringBuilder = new StringBuilder();
-        String macAddr = NetHelper.getInstance().getMacAddress();
+        String macAddr = NetHelper.getInstance().getMacAddress2();
         String ipAddr = NetHelper.getInstance().getLocalIP();
         stringBuilder.append("ID: ");
         stringBuilder.append(Constant.DEVICE_ID);
@@ -30,7 +32,7 @@ public class AppInfoDialogHelper {
         stringBuilder.append("\nIdentifier: ");
         stringBuilder.append(Constant.DEVICE_SN);
         stringBuilder.append("\nVersion: V");
-        stringBuilder.append(BuildConfig.VERSION_NAME);
+        stringBuilder.append(CommonUtils.getAppVersionName(BaseApplication.appContext));
         stringBuilder.append("\nMCU: ");
         stringBuilder.append(Constant.MCU_VERSION_NUMBER);
 

+ 2 - 1
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/AppUpdateHelper.java

@@ -10,9 +10,10 @@ import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Environment;
-import android.support.v4.content.FileProvider;
 import android.util.Log;
 
+import androidx.core.content.FileProvider;
+
 import com.wdkl.ncs.android.component.welcome.activity.WelcomeActivity;
 
 import java.io.BufferedReader;

+ 2 - 1
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/CallbedDialogHelper.java

@@ -2,7 +2,6 @@ package com.wdkl.app.ncs.callingdoor.helper;
 
 import android.app.Activity;
 import android.app.AlertDialog;
-import android.support.v7.widget.RecyclerView;
 import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -10,6 +9,8 @@ import android.view.Window;
 import android.view.WindowManager;
 import android.widget.Button;
 
+import androidx.recyclerview.widget.RecyclerView;
+
 import com.alibaba.android.vlayout.VirtualLayoutManager;
 import com.wdkl.app.ncs.callingdoor.R;
 import com.wdkl.app.ncs.callingdoor.adapter.BedItemAdapter;

+ 12 - 0
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/NetHelper.java

@@ -1,6 +1,7 @@
 package com.wdkl.app.ncs.callingdoor.helper;
 
 import android.annotation.SuppressLint;
+import android.app.zhyl.ZhylManager;
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.net.ConnectivityManager;
@@ -352,6 +353,17 @@ public class NetHelper {
         return mac;
     }
 
+    public String getMacAddress2() {
+        String mac = "";
+        try {
+            ZhylManager zhylManager = ZhylManager.getInstance(BaseApplication.appContext);
+            mac = zhylManager.net_getMacAddress("eth0");
+        } catch (Exception e) {
+            //
+        }
+        return mac;
+    }
+
     /**
      * 通过WiFiManager获取mac地址
      * 这个方法Android 7.0是获取不到的,返回的是null,其实是返回“02:00:00:00:00:00”

+ 3 - 1
android_door/src/main/h10_a133_chile/java/com/wdkl/app/ncs/callingdoor/helper/XCrashUtils.java

@@ -10,7 +10,9 @@ import android.util.Log;
 
 import com.wdkl.app.ncs.callingdoor.BuildConfig;
 import com.wdkl.ncs.android.component.welcome.activity.WelcomeActivity;
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.api.UrlManager;
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 
 import org.json.JSONObject;
 
@@ -109,7 +111,7 @@ public class XCrashUtils {
 
         // Initialize xCrash.
         XCrash.init(application, new XCrash.InitParameters()
-                .setAppVersion(BuildConfig.VERSION_NAME)
+                .setAppVersion(CommonUtils.getAppVersionName(BaseApplication.appContext))
                 .setJavaRethrow(true)
                 .setJavaLogCountMax(10)
                 .setJavaDumpAllThreadsWhiteList(new String[]{"^main$", "^Binder:.*", ".*Finalizer.*"})

+ 1 - 1
android_door/src/main/h10_a133_chile/res/layout/cost_view_lay.xml

@@ -5,7 +5,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <android.support.v7.widget.RecyclerView
+    <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/rv_cost_main_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"

+ 6 - 19
app/build.gradle

@@ -95,9 +95,6 @@ android {
 
 dependencies {
     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'
-    })
     /**
      * 单元测试
      */
@@ -124,10 +121,10 @@ dependencies {
      * 外部化Moudle配置
      * moudle独立编译配置
      */
-    if (!componentTag) {
-        compile project(':welcome') // ===> 开始模块  建议在模块内添加广告 欢迎页 等页面
-        compile project(':android_door')
-    }
+
+    compile project(':welcome')
+    compile project(':android_door')
+
     /**
      * JavaShopAndroid 中间件依赖库
      */
@@ -136,18 +133,8 @@ dependencies {
     /**
      *  constraint-layout布局依赖
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
 
 }
 
-///**
-// * kawo组件化框架配置
-// */
-//kawo {
-//    /**
-//     * Aop注解排除Jar
-//     */
-//    aspectExcludeJarFilter 'com.enation.geamtear.pay','AlipaySdk'
-//}
-//
-

+ 0 - 27
app/src/main/AndroidManifest.xml

@@ -41,33 +41,6 @@
             android:name="design_height_in_dp"
             android:value="600"/>
 
-        <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
             android:name="android.max_aspect"
             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()
-            }
-        })
-    }
-
-}

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

@@ -155,7 +155,7 @@ class Application : BaseApplication() {
         }
     }
 
-    override fun attachBaseContext(base: Context) {
+    override fun attachBaseContext(base: Context?) {
         val languageId: Int = SettingConfig.getLanguageId(base)
         LocaleMangerUtils.setApplicationLanguageByIndex(base, languageId)
         super.attachBaseContext(base)

+ 0 - 27
app/src/main/sharedUserId/AndroidManifest.xml

@@ -42,33 +42,6 @@
             android:name="design_height_in_dp"
             android:value="600"/>
 
-        <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
             android:name="android.max_aspect"
             android:value="2.2" />

+ 0 - 4
bedlib/build.gradle

@@ -15,9 +15,5 @@ android {
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
-    compile 'com.android.support.constraint:constraint-layout:1.0.2'
     testCompile 'junit:junit:4.12'
 }

+ 8 - 16
build.gradle

@@ -2,7 +2,7 @@ buildscript {
     /**
      * Kotlin统一版本
      */
-    ext.kotlin_version = '1.3.21'
+    ext.kotlin_version = '1.5.10'
 
     /**
      * Aop编制版本
@@ -32,17 +32,17 @@ buildscript {
     /**
      * SDK目标支持版本
      */
-    ext.target_sdk_version = 28
+    ext.target_sdk_version = 30
 
     /**
      * 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"
 
     ext.app_device_type = "mk_h10_w_a133_1_chile"
 
@@ -83,7 +83,7 @@ buildscript {
         /**
          * Gradle插件
          */
-        classpath 'com.android.tools.build:gradle:3.0.1'
+        classpath 'com.android.tools.build:gradle:4.2.2'
 
         /**
          * Kawo组件化插件
@@ -110,12 +110,7 @@ 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/' }
-
-        jcenter()
-        mavenCentral()
-        google()
-
-        maven { url "https://jitpack.io" }
+        maven { url 'https://jitpack.io' }
     }
 }
 /**
@@ -126,12 +121,9 @@ allprojects {
         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://jitpack.io' }
+        //maven { url 'https://dl.bintray.com/geamtear/maven' }
 
-        jcenter()
-        mavenCentral()
-        google()
-
-        maven { url "https://jitpack.io" }
     }
     tasks.withType(Javadoc) { // 新增
         options.addStringOption('Xdoclint:none', '-quiet')

+ 16 - 26
common/build.gradle

@@ -12,13 +12,10 @@ android {
         versionCode app_version_code
         versionName app_version
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+        multiDexEnabled true
         dataBinding {
             enabled = true
         }
-//        ndk{
-//            moduleName "JavaShopCommonNDK"       //生成的so文件名字,调用C程序的代码中会用到该名字
-//            abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种平台下的so库
-//        }
     }
     lintOptions {
         abortOnError false
@@ -29,14 +26,9 @@ android {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
-//        debug {
-//            jniDebuggable true
-//        }
     }
     sourceSets {
         main.java.srcDirs += 'src/main/code'
-//        main.jni.srcDirs = []
-//        main.jniLibs.srcDir 'src/main/libs'
     }
 
     compileOptions {
@@ -44,13 +36,21 @@ android {
         targetCompatibility JavaVersion.VERSION_1_8
     }
 
+    kotlinOptions {
+        jvmTarget = '1.8'
+    }
 }
 
 dependencies {
     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'
-    })
+
+    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'
+    //testImplementation 'junit:junit:4.+'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
 
     /**
      * UI适配
@@ -97,6 +97,8 @@ dependencies {
      */
     compile 'com.enation.geamtear:jrouter-logic:1.0.3'
 
+    compile 'com.enation.geamtear:jrouter-annotation:1.0.1'
+
     /**
      *  JavaShop_Android 图片选择工具库
      */
@@ -110,18 +112,11 @@ dependencies {
      */
     compile 'com.enation.geamtear.util:logger:1.0.7'
 
-    /**
-     *   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"
-    testCompile 'junit:junit:4.12'
 
     /**
      *   突破方法数限制
      */
-    compile 'com.android.support:multidex:1.0.2'
+    implementation("androidx.multidex:multidex:2.0.1")
 
 
     compile 'com.github.1002326270xc:LayoutManager-FlowLayout:v1.7'
@@ -143,11 +138,6 @@ dependencies {
     compile 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.27.0'
 
     /**
-     *  Databinding
-     */
-    kapt "com.android.databinding:compiler:2.3.3"
-
-    /**
      *  Dagger依赖
      */
     compile 'com.google.dagger:dagger:2.7'
@@ -186,7 +176,7 @@ dependencies {
     /**
      *  constraint-layout布局依赖
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
 
     /**
      * 指示器

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

@@ -1,7 +1,7 @@
 package com.wdkl.ncs.android.lib.adapter
 
-import android.support.v7.widget.RecyclerView
 import android.widget.ImageView
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy

+ 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
 
 import android.content.Context
-import android.databinding.ViewDataBinding
 import android.view.View
 import android.view.ViewGroup
 import android.widget.BaseAdapter
-import android.databinding.DataBindingUtil
 import android.view.LayoutInflater
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 
 /**
  * @author LDD
@@ -14,7 +14,7 @@ import android.view.LayoutInflater
  * @From   com.wdkl.ncs.android.lib.utils
  * @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

+ 5 - 5
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
      * @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)
     }
 
@@ -77,7 +77,7 @@ class TextViewDelegateAdapter(val text :String,val textLineCount :Int ,val textC
      * @Date   2018/4/19 下午3:20
      * @Note   绑定数据
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>, position: Int) {
 
         holder?.bind {
             binding ->
@@ -123,7 +123,7 @@ class TextViewListDelegateAdapter(val text :ArrayList<String>,val textLineCount
      * @Date   2018/4/19 下午3:18
      * @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)
     }
 
@@ -156,9 +156,9 @@ class TextViewListDelegateAdapter(val text :ArrayList<String>,val textLineCount
      * @Date   2018/4/19 下午3:20
      * @Note   绑定数据
      */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>?, position: Int) {
+    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TextAdapterLayBinding>, position: Int) {
 
-        holder?.bind {
+        holder.bind {
             binding ->
             binding.count = textLineCount
             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
 
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.view.ViewGroup
+import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.LayoutHelper
 

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

@@ -2,13 +2,13 @@ package com.wdkl.ncs.android.lib.base
 
 import android.content.Context
 import android.content.Intent
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.view.View
 import android.view.Window
 import android.view.WindowManager
 import android.view.inputmethod.InputMethodManager
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.utils.debugLog
@@ -89,7 +89,7 @@ abstract class BaseActivity<PresenterType : BaseContract.BasePresenter, DataBind
         /**创建根视图*/
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         /**初始化Databinding对象*/
-        mViewBinding = DataBindingUtil.bind(rootView)
+        mViewBinding = DataBindingUtil.bind(rootView)!!
         /**设置根视图到Activity*/
         setContentView(rootView)
         /**执行抽象方法初始化Dagger相应操作*/

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

@@ -4,7 +4,7 @@ import android.annotation.SuppressLint
 import android.app.Application
 import android.content.Context
 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.hack.AndroidHack
 import com.wdkl.ncs.android.lib.core.runtime.ClassNotFoundInterceptor
@@ -19,7 +19,7 @@ import com.uuzuche.lib_zxing.activity.ZXingLibrary
  * @From   com.wdkl.ncs.android.lib.base
  * @Note   Application基类
  */
-open class BaseApplication : MultiDexApplication() {
+open class BaseApplication : Application() {
 
     /**
      * 伴生对象
@@ -71,6 +71,10 @@ open class BaseApplication : MultiDexApplication() {
 
     }
 
+    override fun attachBaseContext(base: Context?) {
+        super.attachBaseContext(base)
+        MultiDex.install(this)
+    }
 
     private fun closeAndroidPDialog() {
         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
 
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
-import android.support.v4.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 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.enation.javashop.utils.base.tool.BaseInterface
 import com.enation.javashop.utils.base.tool.BaseToolActivity
@@ -73,7 +73,7 @@ import javax.inject.Inject
         /**初始化根视图及DataBinding*/
         if (layout == null) {
             layout = inflater.inflate(getLayId(), null)
-            mViewDataBinding = DataBindingUtil.bind(layout)
+            mViewDataBinding = DataBindingUtil.bind(layout!!)!!
         }
 
         /**初始化宿主Activity*/
@@ -87,7 +87,7 @@ import javax.inject.Inject
      * @Data   2017/12/26 上午11:43
      * @Note   在Fragment视图创建完毕后调用
      */
-    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
         /**执行生命周期监听*/

+ 4 - 4
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.Intent
-import android.databinding.DataBindingUtil
-import android.databinding.ViewDataBinding
 import android.os.Bundle
 import android.view.View
 import android.view.inputmethod.InputMethodManager
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.utils.debugLog
 import com.enation.javashop.photoutils.app.TakePhoto
@@ -94,7 +94,7 @@ import javax.inject.Inject
         /**创建根视图*/
         val rootView = layoutInflater.inflate(getLayId(), null, false)
         /**初始化Databinding对象*/
-        mViewBinding = DataBindingUtil.bind(rootView)
+        mViewBinding = DataBindingUtil.bind(rootView!!)!!
         /**设置根视图到Activity*/
         setContentView(rootView)
         /**执行抽象方法初始化Dagger相应操作*/
@@ -323,7 +323,7 @@ import javax.inject.Inject
      * @Data   2017/12/26 下午12:12
      * @Note   保存参数,防止丢失
      */
-    override fun onSaveInstanceState(outState: Bundle?) {
+    override fun onSaveInstanceState(outState: Bundle) {
         getTakePhoto()!!.onSaveInstanceState(outState)
         super.onSaveInstanceState(outState)
     }

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

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

@@ -1,8 +1,6 @@
 package com.wdkl.ncs.android.lib.bind
 
-import android.databinding.BindingAdapter
 import android.os.Build
-import android.support.constraint.ConstraintLayout
 import android.text.SpannableStringBuilder
 import android.text.Spanned
 import android.text.style.AbsoluteSizeSpan
@@ -10,14 +8,14 @@ import android.util.TypedValue
 import android.view.View
 import android.widget.ImageView
 import android.widget.TextView
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.databinding.BindingAdapter
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
-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.enation.javashop.imagepluin.R
 import com.enation.javashop.utils.base.tool.ScreenTool
+import com.wdkl.ncs.android.lib.base.BaseApplication
+import com.wdkl.ncs.android.lib.utils.then
 
 /**
  * @author LDD
@@ -34,7 +32,7 @@ object BaseBindingHelper {
      * @param  imageView 需要加载图片的ImageView
      * @param  url       图片Url
      */
-    @BindingAdapter(value = ["bind:url"],requireAll = false)
+    @BindingAdapter(value = ["url"],requireAll = false)
     @JvmStatic fun loadImage(imageView: ImageView?, url: String?) {
         if(imageView == null || url == null ||url == ""){
             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)
     }
 
-    @BindingAdapter(value = ["bind:url_without_holder"],requireAll = false)
+    @BindingAdapter(value = ["url_without_holder"],requireAll = false)
     @JvmStatic fun loadImageWithoutHoldlder(imageView: ImageView?, url: String?) {
         if(imageView == null || url == null ||url == ""){
             return
@@ -56,7 +54,7 @@ object BaseBindingHelper {
      * @Note   显示价格大小
      * @param  value 价格
      */
-    @BindingAdapter(value = ["bind:price_text"], requireAll = false)
+    @BindingAdapter(value = ["price_text"], requireAll = false)
     @JvmStatic
     fun setPriceText(view: TextView, value: Double) {
         view.text = SpannableStringBuilder("¥$value").then { self ->
@@ -71,7 +69,7 @@ object BaseBindingHelper {
      * @Date   2018/1/30 下午3:05
      * @Note   透明渐变
      */
-    @BindingAdapter(value = ["bind:alpha"],requireAll = false)
+    @BindingAdapter(value = ["alpha"],requireAll = false)
     @JvmStatic fun backgroundGradient(view: ConstraintLayout, value:Int){
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
             var alpha = value
@@ -91,12 +89,12 @@ object BaseBindingHelper {
      * @Date   2018/2/28 上午9:34
      * @Note   解决ConstraintLayout 无法上色
      */
-    @BindingAdapter(value = ["bind:backgroundColor"],requireAll = false)
+    @BindingAdapter(value = ["backgroundColor"],requireAll = false)
     @JvmStatic fun setBackgroundColor(view : View, value: Int){
         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){
         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处于不显示或者半透明状态
      * @return Activity
      */
-    override fun onActivityPaused(p0: Activity?) {
+    override fun onActivityPaused(p0: Activity) {
 
     }
 
@@ -50,11 +50,11 @@ class ActivityLifeController :Application.ActivityLifecycleCallbacks {
      * @Note   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销毁方法
      * @return 销毁的Activity
      */
-    override fun onActivityDestroyed(p0: Activity?) {
+    override fun onActivityDestroyed(p0: Activity) {
         if (p0 != null && isOpenAutoClear) {
             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创建回调
      * @param  p0 创建的Activity
      */
-    override fun onActivityCreated(p0: Activity?, p1: Bundle?) {
+    override fun onActivityCreated(p0: Activity, p1: Bundle?) {
         if (p0 != null) {
             JavaShopActivityTask.instance.pushToActivityStack(p0)
         }

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

@@ -9,8 +9,6 @@ import android.graphics.Color
 import android.os.Build
 import android.os.Handler
 import android.provider.Settings
-import android.support.v4.widget.DrawerLayout
-import android.support.v7.app.AppCompatActivity
 import android.view.View
 import android.view.ViewGroup
 import android.view.WindowManager
@@ -20,6 +18,8 @@ import android.view.animation.AnimationSet
 import android.view.animation.TranslateAnimation
 import android.view.inputmethod.InputMethodManager
 import android.widget.LinearLayout
+import androidx.appcompat.app.AppCompatActivity
+import androidx.drawerlayout.widget.DrawerLayout
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.enation.javashop.net.engine.utils.ThreadFromUtils
 import com.enation.javashop.utils.base.tool.ScreenTool
@@ -485,8 +485,8 @@ object AppTool {
         fun hideKeyBoard(context: Activity) {
             val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
             if (imm.isActive && context.currentFocus != null) {
-                if (context.currentFocus.windowToken != null) {
-                    imm.hideSoftInputFromWindow(context.currentFocus.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
+                if (context.currentFocus!!.windowToken != null) {
+                    imm.hideSoftInputFromWindow(context.currentFocus!!.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
                 }
             }
         }

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

@@ -1,9 +1,9 @@
 package com.wdkl.ncs.android.lib.utils
 
 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
@@ -27,9 +27,9 @@ class AutoClearValue<ValueType> {
      * @Note   在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) {
                     this@AutoClearValue.value = null
                     if (fm != null) {

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

@@ -1,10 +1,10 @@
 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.ViewGroup
+import androidx.databinding.DataBindingUtil
+import androidx.databinding.ViewDataBinding
+import androidx.recyclerview.widget.RecyclerView
 
 /**
  * @author LDD
@@ -12,7 +12,8 @@ import android.view.ViewGroup
  * @From   com.wdkl.ncs.android.lib.utils
  * @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 {
         /**
@@ -23,8 +24,8 @@ class BaseRecyclerViewHolder<out BindType:ViewDataBinding>(val databinding:BindT
          * @param  parent   父容器
          * @param  layoutId 布局ID
          */
-        fun <BindType:ViewDataBinding>build(parent: ViewGroup?,layoutId : Int) : BaseRecyclerViewHolder<BindType>{
-            return BaseRecyclerViewHolder(DataBindingUtil.bind(LayoutInflater.from(parent?.context).inflate(layoutId,parent,false)))
+        fun <BindType:ViewDataBinding>build(parent: ViewGroup?,layoutId : Int) : BaseRecyclerViewHolder<BindType> {
+            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()
         var bitmap: Bitmap? = Bitmap.createBitmap(srcWidth, srcHeight, Bitmap.Config.ARGB_8888)
         try {
-            val canvas = Canvas(bitmap)
+            val canvas = Canvas(bitmap!!)
             canvas.drawBitmap(src, 0f, 0f, null)
             canvas.scale(scaleFactor, scaleFactor, (srcWidth / 2).toFloat(), (srcHeight / 2).toFloat())
             canvas.drawBitmap(logo, ((srcWidth - logoWidth) / 2).toFloat(), ((srcHeight - logoHeight) / 2).toFloat(), null)

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

@@ -8,22 +8,22 @@ package com.wdkl.ncs.android.lib.utils
  */
 
 import android.app.Activity
-import android.app.Fragment
+import android.app.Service
 import android.content.Context
 import android.content.Intent
-import android.databinding.ObservableField
 import android.os.Looper
-import android.support.v4.content.ContextCompat
-import android.support.v7.app.AppCompatActivity
 import android.view.View
 import android.view.ViewGroup
 import android.view.animation.Animation
 import android.widget.Toast
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.content.ContextCompat
+import androidx.databinding.ObservableField
+import androidx.fragment.app.Fragment
 import com.alibaba.android.vlayout.DelegateAdapter
 import com.alibaba.android.vlayout.VirtualLayoutManager
 import com.enation.javashop.android.jrouter.JRouter
 import com.enation.javashop.android.jrouter.logic.datainfo.Postcard
-import com.wdkl.ncs.android.lib.R
 import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.base.DisposableManager
@@ -31,6 +31,7 @@ import com.enation.javashop.net.engine.plugin.rxbus.RxBus
 import com.enation.javashop.utils.base.tool.CommonTool
 import com.enation.javashop.utils.base.tool.ScreenTool
 import com.enation.javashop.utils.logger.LoggerFactory
+import com.wdkl.ncs.android.lib.R
 import io.reactivex.disposables.Disposable
 import okhttp3.ResponseBody
 import org.json.JSONArray
@@ -131,7 +132,7 @@ fun <T> acquireInstance(path: String): T {
  * @param  _block 更多操作
  * @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){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
@@ -174,6 +175,11 @@ fun Activity.push(path: String, _block: ((Postcard) -> Unit)? = null, requstCode
     }
 }
 
+fun Service.push(path: String, _block: ((Postcard) -> Unit)? = null) {
+    JRouter.prepare().create(path).withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
+        _block?.invoke(postcard)
+    }.seek(this)
+}
 
 /**
  * @author  LDD
@@ -183,7 +189,7 @@ fun Activity.push(path: String, _block: ((Postcard) -> Unit)? = null, requstCode
  * @param  path Activity注册到JRouter中的路径
  * @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){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
@@ -203,7 +209,7 @@ fun android.support.v4.app.Fragment.push(path: String, _block: ((Postcard) -> Un
  * @param  _block 更多操作
  * @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){
         JRouter.prepare().create("/member/login/main").withTransition(R.anim.push_left_in, R.anim.push_left_out).then { postcard ->
             _block?.invoke(postcard)
@@ -213,7 +219,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 ->
         _block?.invoke(postcard)
     }.seek(activity)
-}
+}*/
 
 /**
  * @author  LDD
@@ -595,7 +601,7 @@ fun <T> Intent.getObjectForGson(key: String, cls: Class<T>): T? {
     return if (hasExtra(key)) {
         val json = getStringExtra(key)
         try {
-            JsonTranforHelper.toObject(json, cls)
+            JsonTranforHelper.toObject(json!!, cls)
         } catch (e: Exception) {
             null
         }

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

@@ -3,13 +3,13 @@ package com.wdkl.ncs.android.lib.utils
 import android.content.Context
 import android.media.Image
 import android.os.Handler
-import android.support.v4.view.PagerAdapter
-import android.support.v4.view.ViewPager
 import android.util.AttributeSet
 import android.util.SparseArray
 import android.view.View
 import android.view.ViewGroup
 import android.widget.ImageView
+import androidx.viewpager.widget.PagerAdapter
+import androidx.viewpager.widget.ViewPager
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.enation.javashop.imagepluin.R
@@ -105,7 +105,7 @@ class GalleryHelper<DataType> {
 
             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
             }
 
@@ -113,12 +113,12 @@ class GalleryHelper<DataType> {
                 return galleryList.size
             }
 
-            override fun destroyItem(container: ViewGroup?, position: Int, view: Any?) {
+            override fun destroyItem(container: ViewGroup, position: Int, view: Any) {
                 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!!)
                 imageView.scaleType = ImageView.ScaleType.CENTER_CROP
                 Glide.with(viewPager.get()?.context)
@@ -133,7 +133,7 @@ class GalleryHelper<DataType> {
                 itemCallback2?.more { call -> imageView.setOnClickListener(OnClickListenerAntiViolence({
                     call.invoke(position,imageView,images)
                 }))}
-                container?.addView(imageView, 0)
+                container.addView(imageView, 0)
                 images.append(position,imageView)
                 return imageView
             }
@@ -299,7 +299,7 @@ class GalleryHelper<DataType> {
 
 }
 
-class SquareImageView: ImageView {
+class SquareImageView: androidx.appcompat.widget.AppCompatImageView {
 
     constructor(context: Context) : this(context,null)
 

+ 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.TimeInterpolator
 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
 
 /**

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

@@ -1,7 +1,7 @@
 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,9 +42,9 @@ class RecycleViewScrollHelper
         mScrollPositionChangedListener = listener
     }
 
-    override fun onScrollStateChanged(recyclerView: RecyclerView?,
+    override fun onScrollStateChanged(recyclerView: RecyclerView,
                                       newState: Int) {
-        if (mScrollPositionChangedListener == null || recyclerView!!.adapter == null || recyclerView.childCount <= 0) {
+        if (mScrollPositionChangedListener == null || recyclerView.adapter == null || recyclerView.childCount <= 0) {
             return
         }
         val layoutManager = recyclerView.layoutManager
@@ -56,7 +56,7 @@ class RecycleViewScrollHelper
                 //判断顶部/底部检测的优先顺序
                 if (!mIsCheckTopFirstBottomAfter) {
                     //先检测底部
-                    if (this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter.itemCount)) {
+                    if (this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter!!.itemCount)) {
                         //若检测滑动到底部时,判断是否需要同时检测滑动到顶部
                         if (mIsCheckTopBottomTogether) {
                             //检测是否滑动到顶部
@@ -76,13 +76,13 @@ class RecycleViewScrollHelper
                     if (this.checkIfScrollToTop(recyclerView, firstItemPosition)) {
                         if (mIsCheckTopBottomTogether) {
                             //检测是否滑动到底部
-                            this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter.itemCount)
+                            this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter!!.itemCount)
                             return
                         } else {
                             //若不需要同时检测,直接返回
                             return
                         }
-                    } else if (this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter.itemCount)) {
+                    } else if (this.checkIfScrollToBottom(recyclerView, lastItemPosition, adapter!!.itemCount)) {
                         //当未检测滑动到底部时,再检测是否滑动到底部
                         return
                     }
@@ -170,7 +170,7 @@ class RecycleViewScrollHelper
         return false
     }
 
-    override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
+    override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
         if (mScrollDirectionChangedListener != null) {
             if (dx == 0 && dy == 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
 
 import android.app.Activity
-import android.support.v7.widget.RecyclerView
 import android.view.View
 import android.widget.ImageView
+import androidx.recyclerview.widget.RecyclerView
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.base.BaseApplication
@@ -108,7 +108,7 @@ class TangramPlugin :TangramIInter{
         return this
     }
 
-    override fun bindRecyclerView(view:RecyclerView):TangramPlugin{
+    override fun bindRecyclerView(view: RecyclerView):TangramPlugin{
         initEngine()
         engine?.bindView(view)
         return this
@@ -117,7 +117,7 @@ class TangramPlugin :TangramIInter{
     override fun onScrolled():TangramPlugin{
         initEngine()
         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)
                 engine?.onScrolled()
             }

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

@@ -3,23 +3,20 @@ package com.wdkl.ncs.android.lib.widget
 import android.annotation.SuppressLint
 import android.content.Context
 import android.graphics.*
-import android.media.Image
 import android.os.Build
 import android.util.AttributeSet
 import android.view.View
-import android.widget.ImageView
+import androidx.appcompat.widget.AppCompatImageView
 import com.wdkl.ncs.android.lib.R
 
 
-
-
 /**
  * @author LDD
  * @Date   2018/2/26 上午10:30
  * @From   com.wdkl.ncs.android.lib.widget
  * @Note   弧形View
  */
-class ArcView : ImageView {
+class ArcView : AppCompatImageView {
 
     /**
      * @Name  arcHeight

+ 104 - 0
common/src/main/code/com/wdkl/ncs/android/lib/widget/AudioWaveView.java

@@ -0,0 +1,104 @@
+package com.wdkl.ncs.android.lib.widget;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.RectF;
+import android.os.Handler;
+import android.os.Looper;
+import android.os.Message;
+import android.util.AttributeSet;
+import android.view.View;
+import java.util.Random;
+
+public class AudioWaveView extends View {
+    private Paint paint;
+    private RectF rectF1;
+    private RectF rectF2;
+    private RectF rectF3;
+    private RectF rectF4;
+    private RectF rectF5;
+    private int viewWidth;
+    private int viewHeight;
+    /** 每个条的宽度 */
+    private int rectWidth;
+    /** 条数 */
+    private int columnCount = 5;
+    /** 条间距 */
+    private final int space = 6;
+    /** 条随机高度 */
+    private int randomHeight;
+    private Random random;
+    private Handler updateHandler = new Handler(Looper.getMainLooper()) {
+        @Override
+        public void handleMessage(Message msg) {
+            invalidate();
+        }
+    };
+
+    public AudioWaveView(Context context) {
+        super(context);
+        init();
+    }
+
+    public AudioWaveView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+        viewWidth = MeasureSpec.getSize(widthMeasureSpec);
+        viewHeight = MeasureSpec.getSize(heightMeasureSpec);
+
+        rectWidth = (viewWidth - space * (columnCount - 1)) / columnCount;
+    }
+
+    private void init() {
+        paint = new Paint();
+        paint.setColor(Color.GREEN);
+        paint.setStyle(Paint.Style.FILL);
+        random = new Random();
+
+        initRect();
+    }
+
+    private void initRect() {
+        rectF1 = new RectF();
+        rectF2 = new RectF();
+        rectF3 = new RectF();
+        rectF4 = new RectF();
+        rectF5 = new RectF();
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        int left = rectWidth + space;
+
+        //画每个条之前高度都重新随机生成
+        randomHeight = random.nextInt(viewHeight);
+        rectF1.set(left * 0, randomHeight, left * 0 + rectWidth, viewHeight);
+        randomHeight = random.nextInt(viewHeight);
+        rectF2.set(left * 1, randomHeight, left * 1 + rectWidth, viewHeight);
+        randomHeight = random.nextInt(viewHeight);
+        rectF3.set(left * 2, randomHeight, left * 2 + rectWidth, viewHeight);
+        randomHeight = random.nextInt(viewHeight);
+        rectF4.set(left * 3, randomHeight, left * 3 + rectWidth, viewHeight);
+        randomHeight = random.nextInt(viewHeight);
+        rectF5.set(left * 4, randomHeight, left * 4 + rectWidth, viewHeight);
+
+        canvas.drawRect(rectF1, paint);
+        canvas.drawRect(rectF2, paint);
+        canvas.drawRect(rectF3, paint);
+        canvas.drawRect(rectF4, paint);
+        canvas.drawRect(rectF5, paint);
+
+        updateHandler.sendEmptyMessageDelayed(0, 200); //每间隔200毫秒发送消息刷新
+    }
+
+}

+ 5 - 5
common/src/main/code/com/wdkl/ncs/android/lib/widget/AutoPollRecyclerView.kt

@@ -1,10 +1,10 @@
 package com.wdkl.ncs.android.lib.widget
 
 import android.content.Context
-import android.support.v7.widget.GridLayoutManager
-import android.support.v7.widget.RecyclerView
 import android.util.AttributeSet
 import android.view.MotionEvent
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
 import java.lang.ref.WeakReference
 
 /**
@@ -16,7 +16,7 @@ class AutoPollRecyclerView : RecyclerView {
     private var running: Boolean = false //标示是否正在自动轮询
     private var canRun: Boolean = false//标示是否可以自动轮询,可在不需要的是否置false
 
-    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) {
+    constructor(context: Context, attrs: AttributeSet) : super(context, attrs) {
         autoPollTask = AutoPollTask(this)
     }
 
@@ -34,12 +34,12 @@ class AutoPollRecyclerView : RecyclerView {
                 recyclerView.postDelayed(recyclerView.autoPollTask, recyclerView.TIME_AUTO_POLL)
 
                 if (recyclerView.layoutManager is OnegoGridLayoutManager) {
-                    if ((recyclerView.layoutManager as OnegoGridLayoutManager).findLastVisibleItemPosition() == recyclerView.layoutManager.itemCount - 1) {
+                    if ((recyclerView.layoutManager as OnegoGridLayoutManager).findLastVisibleItemPosition() == recyclerView.layoutManager!!.itemCount - 1) {
                         recyclerView.scrollToPosition(0)
                         (recyclerView.layoutManager as OnegoGridLayoutManager).scrollToPositionWithOffset(0, 0)
                     }
                 } else if (recyclerView.layoutManager is GridLayoutManager) {
-                    if ((recyclerView.layoutManager as GridLayoutManager).findLastVisibleItemPosition() == recyclerView.layoutManager.itemCount - 1) {
+                    if ((recyclerView.layoutManager as GridLayoutManager).findLastVisibleItemPosition() == recyclerView.layoutManager!!.itemCount - 1) {
                         recyclerView.scrollToPosition(0)
                         (recyclerView.layoutManager as GridLayoutManager).scrollToPositionWithOffset(0, 0)
                     }

+ 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.drawable.Drawable
 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.TypedValue
 import android.view.Gravity
@@ -17,13 +13,18 @@ import android.view.View
 import android.widget.ImageView
 import android.widget.TextView
 import com.wdkl.ncs.android.lib.R
-import android.support.constraint.ConstraintSet
 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.load.engine.DiskCacheStrategy
 import com.wdkl.ncs.android.lib.utils.*
 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时 无效
      * @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) {
             backgroundImageView.imageAlpha = aplha
         }

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

@@ -1,10 +1,10 @@
 package com.wdkl.ncs.android.lib.widget
 
 import android.content.Context
-import android.support.v7.widget.GridLayoutManager
-import android.support.v7.widget.RecyclerView
 import android.util.AttributeSet
 import android.util.Log
+import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.RecyclerView
 
 class OnegoGridLayoutManager : GridLayoutManager {
 

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

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

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

@@ -149,7 +149,7 @@ class SaleProgressView :View {
 
     //绘制背景边框
     private fun drawSide(canvas: Canvas) {
-        canvas.drawRoundRect(bgRectF, radius, radius, sidePaint)
+        canvas.drawRoundRect(bgRectF!!, radius, radius, sidePaint)
     }
 
     //绘制背景
@@ -157,7 +157,7 @@ class SaleProgressView :View {
         if (bgBitmap == null) {
             bgBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888)
         }
-        val bgCanvas = Canvas(bgBitmap)
+        val bgCanvas = Canvas(bgBitmap!!)
         if (bgSrc == null) {
             if (onlyColor != null) {
                 bgSrc = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
@@ -166,13 +166,13 @@ class SaleProgressView :View {
                 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
 
-        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
     }
@@ -200,7 +200,7 @@ class SaleProgressView :View {
                 radius, radius, srcPaint)
 
         srcPaint.xfermode = mPorterDuffXfermode
-        fgCanvas.drawBitmap(fgSrc, null, bgRectF, srcPaint)
+        fgCanvas.drawBitmap(fgSrc!!, null, bgRectF!!, srcPaint)
 
         canvas.drawBitmap(fgBitmap, 0f, 0f, null)
         srcPaint.xfermode = null
@@ -232,10 +232,10 @@ class SaleProgressView :View {
             textCanvas.drawText(saleText, dp2px(10f), baseLineY, textPaint)
             textCanvas.drawText(scaleText, mWidth - scaleTextWidth - dp2px(10f), baseLineY, textPaint)
         } 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)
         } else {
-            textCanvas.drawText(overText, mWidth / 2 - overTextWidth / 2, baseLineY, textPaint)
+            textCanvas.drawText(overText!!, mWidth / 2 - overTextWidth / 2, baseLineY, textPaint)
         }
 
         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
 
         if (typeArray?.hasValue(R.styleable.StarView_selectImage)!!){
-            selectedBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_selectImage))
+            selectedBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_selectImage)!!)
         }else{
             selectedBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_selected)
         }
         if (typeArray.hasValue(R.styleable.StarView_nomalImage)){
-            nomalBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_nomalImage))
+            nomalBitmap = drawableToBitmap(typeArray.getDrawable(R.styleable.StarView_nomalImage)!!)
         }else{
             nomalBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.javashop_icon_star_nomal)
         }

+ 2 - 2
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.ANTI_ALIAS_FLAG
 import android.graphics.drawable.Drawable
-import android.support.v4.content.ContextCompat
-import android.support.v7.widget.AppCompatTextView
 import android.text.Editable
 import android.text.InputFilter
 import android.text.TextUtils
@@ -21,6 +19,8 @@ import android.view.View
 import android.widget.EditText
 import android.widget.LinearLayout
 import android.widget.RelativeLayout
+import androidx.appcompat.widget.AppCompatTextView
+import androidx.core.content.ContextCompat
 import com.wdkl.ncs.android.lib.R
 import com.enation.javashop.utils.base.tool.ScreenTool
 

+ 19 - 14
common/src/main/res/layout/custom_loading.xml

@@ -6,19 +6,24 @@
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               xmlns:android="http://schemas.android.com/apk/res/android">
-    <RelativeLayout android:gravity="center"
-                    android:id="@+id/background"
-                    android:layout_width="fill_parent"
-                    android:layout_height="fill_parent">
-        <ImageView android:id="@+id/loadding_image"
-                   android:layout_width="30.0dip"
-                   android:layout_height="30.0dip"
-                   android:src="@drawable/load" />
-        <TextView android:textSize="10.0sp"
-                  android:textColor="#ffcccccc"
-                  android:gravity="center"
-                  android:layout_width="30.0dip"
-                  android:layout_height="30.0dip"
-                  android:text="TT" />
+
+    <RelativeLayout
+        android:id="@+id/background"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+        android:gravity="center">
+
+        <ImageView
+            android:id="@+id/loadding_image"
+            android:layout_width="30.0dip"
+            android:layout_height="30.0dip"
+            android:src="@drawable/load" />
+
+        <TextView
+            android:layout_width="30.0dip"
+            android:layout_height="30.0dip"
+            android:gravity="center"
+            android:textColor="#ffcccccc"
+            android:textSize="10.0sp" />
     </RelativeLayout>
 </LinearLayout>

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

@@ -1,5 +1,5 @@
 <?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:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
@@ -105,4 +105,4 @@
         app:layout_constraintRight_toRightOf="@id/vcode_dialog_bg"
         app:layout_constraintWidth_percent="0.4"
         tools:ignore="MissingPrefix" />
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

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

@@ -5,13 +5,13 @@
             name="data"
             type="com.wdkl.ncs.android.lib.vo.MenuVo"/>
     </data>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         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
+        <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
             android:layout_height="0dp"
             app:layout_constraintDimensionRatio="h,3.8:1"
@@ -58,6 +58,6 @@
                 android:background="#e4e6e5"
                 app:layout_constraintBottom_toBottomOf="parent"
                 />
-        </android.support.constraint.ConstraintLayout>
-    </android.support.constraint.ConstraintLayout>
+        </androidx.constraintlayout.widget.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>

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

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

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

@@ -8,7 +8,7 @@
             name="count"
             type="Integer"/>
     </data>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:bind="http://schemas.android.com/apk/res-auto"
         android:layout_width="match_parent"
@@ -19,7 +19,6 @@
             android:layout_height="wrap_content"
             bind:text_count_for_line="@{count}"
             android:text="@{text}"
-            android:gravity="center_vertical"
-            />
-    </android.support.constraint.ConstraintLayout>
+            android:gravity="center_vertical" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>

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

@@ -1,5 +1,5 @@
 <?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:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
@@ -155,4 +155,4 @@
         android:padding="9dp"
         tools:ignore="MissingPrefix"
         />
-</android.support.constraint.ConstraintLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 6 - 5
gradle.properties

@@ -13,13 +13,14 @@
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
 #Wed Sep 27 17:07:24 CST 2017
-systemProp.http.proxyHost=mirrors.neusoft.edu.cn
-systemProp.http.proxyPort=80
+#systemProp.http.proxyHost=mirrors.neusoft.edu.cn
+#systemProp.http.proxyPort=80
 
 org.gradle.jvmargs=-XX\:MaxHeapSize\=4096m -Xmx4096m
 org.gradle.daemon=true
 org.gradle.parallel=true
 org.gradle.configureondemand=true
-#android.enableAapt2=false
-#android.useAndroidX=true
-#android.enableJetifier=true
+android.useAndroidX=true
+android.enableJetifier=true
+android.enableAapt2=true
+android.injected.testOnly=false

+ 2 - 10
middleware/build.gradle

@@ -18,7 +18,7 @@ android {
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionName app_version
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+
         dataBinding {
             enabled = true
         }
@@ -51,9 +51,6 @@ android {
 dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     testCompile 'junit:junit:4.12'
-    androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.1', {
-        exclude group: 'com.android.support', module: 'support-annotations'
-    })
 
     compile project(':common')
     compile project(':resource')
@@ -64,11 +61,6 @@ dependencies {
     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"
@@ -76,7 +68,7 @@ dependencies {
     /**
      *  constraint-layout布局依赖
      */
-    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
+    //compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
 
     compile 'com.fasterxml.jackson.core:jackson-databind:2.9.5'
     compile 'io.swagger:swagger-annotations:1.5.14'

+ 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
 
-import android.databinding.BindingAdapter
 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.Spanned
 import android.text.style.AbsoluteSizeSpan
@@ -13,6 +9,7 @@ import android.text.style.StrikethroughSpan
 import android.view.View
 import android.view.ViewGroup
 import android.widget.TextView
+import androidx.databinding.BindingAdapter
 import com.enation.javashop.android.jrouter.JRouter
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.wdkl.ncs.android.lib.utils.*
@@ -184,7 +181,7 @@ object DataBindingHelper {
     @BindingAdapter(value = ["bind:text_num_count_percent"],requireAll = true)
     @JvmStatic
     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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.*
 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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueString
 import org.json.JSONObject

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

@@ -1,6 +1,6 @@
 package com.wdkl.ncs.android.middleware.model
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @author LDD
@@ -8,17 +8,18 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @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*/{
 
     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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @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
 
-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.valueInt
 import org.json.JSONObject
@@ -12,7 +11,7 @@ import org.json.JSONObject
  * @From   com.wdkl.ncs.android.middleware.model
  * @Note   订单创建时价格详细
  */
-data class OrderCreatePriceViewModel(val goodsPrice :ObservableField<String>,
+data class OrderCreatePriceViewModel(val goodsPrice : ObservableField<String>,
                                      val discountPrice :ObservableField<String>,
                                      val shipPrice :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
 
-import android.databinding.ObservableField
-
 /**
  * @author LDD
  * @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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.valueInt
 import com.wdkl.ncs.android.lib.utils.valueString
 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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @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>()
         goodsList.forEach {
             val item = PostGoodsModel()
-            item.content = it.commentContent.get()
+            item.content = it.commentContent.get()!!
             if (it.goodsStar < 3) {
                 item.grade = "bad"
             } 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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 import com.wdkl.ncs.android.lib.utils.bindingParams
 import com.wdkl.ncs.android.lib.utils.judge
 import com.wdkl.ncs.android.lib.utils.valueInt
@@ -14,7 +14,7 @@ import org.json.JSONObject
  * @Note   发票ViewModel
  */
 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_title:ObservableField<String> = ObservableField(""),/**发票抬头*/
                             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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @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
 
-import android.databinding.ObservableField
+import androidx.databinding.ObservableField
 
 /**
  * @author LDD
@@ -8,4 +8,4 @@ import android.databinding.ObservableField
  * @From   com.wdkl.ncs.android.middleware.model
  * @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
 
 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.logic.datainfo.Postcard
 import com.enation.javashop.android.jrouter.logic.listener.InterceptorListener

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

@@ -2,11 +2,12 @@ package com.wdkl.ncs.android.middleware.tcp.channel;
 
 import android.os.Build;
 
-import com.wdkl.ncs.android.middleware.BuildConfig;
+import com.wdkl.ncs.android.lib.base.BaseApplication;
 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.enums.TcpAction;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
+import com.wdkl.ncs.android.middleware.utils.CommonUtils;
 
 public class DeviceUtil {
     public static TcpModel deviceConnect(String mac){
@@ -14,7 +15,7 @@ public class DeviceUtil {
         DeviceConnectDTO connectDTO = new DeviceConnectDTO();
         connectDTO.setIdentification(mac);
         connectDTO.setHardware_version(Build.PRODUCT.toLowerCase());
-        connectDTO.setSoftware_version("V"+ BuildConfig.VERSION_NAME);
+        connectDTO.setSoftware_version("V"+ CommonUtils.getAppVersionName(BaseApplication.appContext));
         connectDTO.setModel(Build.MODEL);
         connectDTO.setCode(Build.SERIAL);
         tcpModel.setType(TcpType.DEVICE);

+ 39 - 0
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.SharedPreferences;
+import android.content.pm.PackageInfo;
+import android.os.Build;
+import android.os.Environment;
 import android.text.TextUtils;
 
+import com.wdkl.ncs.android.lib.base.BaseApplication;
+
 public class CommonUtils {
 
     private static final String SP_NAME = "SP_URL";
@@ -23,6 +28,40 @@ public class CommonUtils {
     private static final String DEFAULT_URL_PORT = "8006";
     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 subStringBefore(String origin, String delimiter) {
         if (!TextUtils.isEmpty(origin) && !TextUtils.isEmpty(delimiter) && origin.length() > 0) {

+ 2 - 8
resource/build.gradle

@@ -1,8 +1,8 @@
 apply plugin: 'com.android.library'
 
 android {
-    compileSdkVersion 26
-    buildToolsVersion "26.0.2"
+    compileSdkVersion target_sdk_version
+    buildToolsVersion build_tools_version
 
 
     defaultConfig {
@@ -10,9 +10,6 @@ android {
         targetSdkVersion target_sdk_version
         versionCode app_version_code
         versionName app_version
-
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
     }
 
     buildTypes {
@@ -22,9 +19,6 @@ android {
         }
     }
    dependencies{
-       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"
        /**
         * 单元测试
         */

+ 5 - 24
welcome/build.gradle

@@ -31,7 +31,6 @@ android {
         dataBinding {
             enabled = true
         }
-        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 
     }
     lintOptions {
@@ -64,20 +63,16 @@ android {
 
 dependencies {
     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'
-    })
+
     /**
-     * 单元测试
+     *  constraint-layout布局依赖
      */
-    testCompile 'junit:junit:4.12'
+    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
 
     /**
-     *  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"
+    testCompile 'junit:junit:4.12'
 
     /**
      * 公共库依赖
@@ -85,25 +80,11 @@ dependencies {
     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'
-    }
-
-    /**
      * Dagger编译依赖
      */
     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"

+ 2 - 2
welcome/src/main/res/layout/activity_welcome.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout>
-    <android.support.constraint.ConstraintLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/activity_main_inference"
         android:layout_width="match_parent"
@@ -12,7 +12,7 @@
             android:text="Loading..."
             android:textSize="32sp"
             android:textColor="@color/black"/>
-    </android.support.constraint.ConstraintLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
     <!--未注册显示界面-->