Selaa lähdekoodia

## [0.0.1] version 1 - 2020-07-22
### Added
- 主界面OK
- 视频通话界面部分完成

allen 4 vuotta sitten
vanhempi
commit
87b33d8fcd
100 muutettua tiedostoa jossa 807 lisäystä ja 8954 poistoa
  1. 1 1
      app/build.gradle
  2. 4 38
      app/src/main/AndroidManifest.xml
  3. 2 2
      build.gradle
  4. 1 21
      home/src/main/AndroidManifest.xml
  5. 0 231
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/EventActivity.kt
  6. 288 130
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/HomeActivity.kt
  7. 0 124
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/SOSEmergencyCallActivity.kt
  8. 0 117
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/TakeoverActivity.kt
  9. 123 0
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/VideoActivity.kt
  10. 0 221
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchCallRecordsActivity.kt
  11. 0 149
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchContactsActivity.kt
  12. 0 267
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchEventDetailActivity.kt
  13. 0 478
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchHome2Activity.kt
  14. 0 206
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchRegisterActivity.kt
  15. 0 94
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchUserSettingActivity.java
  16. 6 16
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WebRTCVoipAudioActivity.kt
  17. 4 5
      home/src/main/code/com/wdkl/ncs/android/component/home/activity/WebRTCVoipAudioRingingActivity.kt
  18. 0 113
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ChildCategoryAdapter.kt
  19. 0 132
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorBannerAdapter.kt
  20. 0 136
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorCornerBannerAdapter.kt
  21. 0 99
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorFiveImageAdapter.kt
  22. 0 98
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorFourImageAdapter.kt
  23. 0 97
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorLeftOneRightTwoAdapter.kt
  24. 0 96
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorLeftRightAdapter.kt
  25. 0 147
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorMenuAdapter.kt
  26. 0 96
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorRightOneLeftTwoAdapter.kt
  27. 0 223
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorSecKillAdapter.kt
  28. 0 90
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorSingleImageAdapter.kt
  29. 0 89
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorTextAdapter.kt
  30. 0 96
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorThreeImageAdapter.kt
  31. 0 90
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorTitleAdapter.kt
  32. 0 93
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ParentCategoryAdapter.kt
  33. 0 42
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/TakeoverItemAdapter.kt
  34. 0 254
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchCallRecordsItemAdapter.kt
  35. 0 55
      home/src/main/code/com/wdkl/ncs/android/component/home/adapter/WatchContactsItemAdapter.kt
  36. 0 104
      home/src/main/code/com/wdkl/ncs/android/component/home/agreement/FloorActionAgreement.kt
  37. 0 37
      home/src/main/code/com/wdkl/ncs/android/component/home/binding/HomeFragmentBindHelper.kt
  38. 0 34
      home/src/main/code/com/wdkl/ncs/android/component/home/broadcast/MyMediaButtonReceiver.kt
  39. 0 21
      home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt
  40. 0 404
      home/src/main/code/com/wdkl/ncs/android/component/home/fragment/CategoryFragment.kt
  41. 0 346
      home/src/main/code/com/wdkl/ncs/android/component/home/fragment/HomeFragment.kt
  42. 7 60
      home/src/main/code/com/wdkl/ncs/android/component/home/service/TcpHandleService.kt
  43. 2 3
      home/src/main/code/com/wdkl/ncs/android/component/home/util/AppUtils.java
  44. 0 0
      home/src/main/res/layout/activity_dialing_voice.xml
  45. 53 0
      home/src/main/res/layout/activity_home.xml
  46. 64 0
      home/src/main/res/layout/activity_register.xml
  47. 0 75
      home/src/main/res/layout/activity_sos_emergency_call.xml
  48. 0 24
      home/src/main/res/layout/activity_takeover.xml
  49. 43 0
      home/src/main/res/layout/activity_video.xml
  50. 0 0
      home/src/main/res/layout/activity_voice_calls.xml
  51. 0 42
      home/src/main/res/layout/adapter_client_list.xml
  52. 0 141
      home/src/main/res/layout/adapter_watch_call_records_item.xml
  53. 0 49
      home/src/main/res/layout/adapter_watch_contacts_item.xml
  54. 0 20
      home/src/main/res/layout/banner_corner_image_lay.xml
  55. 0 14
      home/src/main/res/layout/banner_image_lay.xml
  56. 0 137
      home/src/main/res/layout/category_frag_lay.xml
  57. 0 36
      home/src/main/res/layout/category_parent_item.xml
  58. 0 53
      home/src/main/res/layout/categroy_child_item.xml
  59. 0 36
      home/src/main/res/layout/categroy_left_item.xml
  60. 0 18
      home/src/main/res/layout/floor_item_banner_lay.xml
  61. 0 46
      home/src/main/res/layout/floor_item_five_image_lay.xml
  62. 0 38
      home/src/main/res/layout/floor_item_four_image_lay.xml
  63. 0 31
      home/src/main/res/layout/floor_item_left_right_lay.xml
  64. 0 39
      home/src/main/res/layout/floor_item_lone_rtwo_image_lay.xml
  65. 0 38
      home/src/main/res/layout/floor_item_ltwo_rone_image_lay.xml
  66. 0 25
      home/src/main/res/layout/floor_item_menu_lay.xml
  67. 0 488
      home/src/main/res/layout/floor_item_seckill_lay.xml
  68. 0 17
      home/src/main/res/layout/floor_item_single_image_lay.xml
  69. 0 17
      home/src/main/res/layout/floor_item_text_lay.xml
  70. 0 31
      home/src/main/res/layout/floor_item_three_image_lay.xml
  71. 0 17
      home/src/main/res/layout/floor_item_title_lay.xml
  72. 0 47
      home/src/main/res/layout/home_act_lay.xml
  73. 0 182
      home/src/main/res/layout/home_frag_lay.xml
  74. 0 26
      home/src/main/res/layout/takeover_item.xml
  75. 0 169
      home/src/main/res/layout/user_setting_layout.xml
  76. 0 41
      home/src/main/res/layout/watch_activity_call_records.xml
  77. 0 160
      home/src/main/res/layout/watch_activity_event.xml
  78. 0 132
      home/src/main/res/layout/watch_activity_event_detail.xml
  79. 0 254
      home/src/main/res/layout/watch_activity_home.xml
  80. 0 261
      home/src/main/res/layout/watch_activity_home2.xml
  81. 0 59
      home/src/main/res/layout/watch_activity_register.xml
  82. 0 28
      home/src/main/res/layout/watch_contacts_lay.xml
  83. 2 2
      middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt
  84. 4 1
      middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt
  85. 1 11
      middleware/src/main/code/com/wdkl/ncs/android/middleware/di/PresenterComponent.kt
  86. 0 69
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/CategoryFragmentContract.kt
  87. 21 43
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/HomeActivityContract.kt
  88. 0 51
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/HomeFragmentContract.kt
  89. 0 15
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/TakeoverContract.kt
  90. 0 61
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchCallRecordsFragmentContract.kt
  91. 0 28
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchHomeActivityContract.kt
  92. 0 140
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/CategoryFragmentPresenter.kt
  93. 82 53
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/HomeActivityPresenter.kt
  94. 0 164
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/HomeFragmentPresenter.kt
  95. 0 64
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/TakeoverPresenter.kt
  96. 0 127
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchCallRecordsFragmentPresenter.kt
  97. 0 125
      middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchHomeActivityPresenter.kt
  98. 76 54
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceChannel.java
  99. 23 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/VideoUtil.java
  100. 0 0
      middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

+ 1 - 1
app/build.gradle

@@ -15,7 +15,7 @@ android {
     aaptOptions.cruncherEnabled = false
     aaptOptions.useNewCruncher = false
     defaultConfig {
-        applicationId "com.wdkl.app.ncs"
+        applicationId "com.wdkl.app.ncs.visiting"
         minSdkVersion min_sdk_version
         targetSdkVersion target_sdk_version
         versionCode app_version_code

+ 4 - 38
app/src/main/AndroidManifest.xml

@@ -1,11 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:tools="http://schemas.android.com/tools"
-          package="com.wdkl.app.ncs">
-    <uses-permission android:name="android.permission.BLUETOOTH"/>
-    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
-    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
-        tools:ignore="ProtectedPermissions" />
+          package="com.wdkl.app.ncs.visiting">
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
@@ -23,7 +19,7 @@
     <application
         android:allowBackup="true"
         android:icon="@mipmap/launcher"
-        android:label="维鼎移动"
+        android:label="维鼎探视"
         android:supportsRtl="true"
         tools:replace="android:label"
         tools:remove="android:requestLegacyExternalStorage"
@@ -39,11 +35,7 @@
             android:name="design_height_in_dp"
             android:value="240"/>
 
-<!--        <activity android:name="com.wdkl.ncs.android.component.welcome.activity.WelcomeActivity"-->
-<!--            >-->
-<!--        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchRegisterActivity">-->
-<!--        <activity android:name="com.starrtc.demo.demo.SplashActivity">-->
-        <activity android:name="com.wdkl.ncs.android.component.home.activity.WatchHome2Activity">
+        <activity android:name="com.wdkl.ncs.android.component.home.activity.HomeActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
 
@@ -55,33 +47,7 @@
             </intent-filter>
         </activity>
 
-        <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>
+        <activity android:name="com.wdkl.app.ncs.activity.SchemeActivity"/>
         <meta-data
             android:name="android.max_aspect"
             android:value="2.2" />

+ 2 - 2
build.gradle

@@ -47,12 +47,12 @@ buildscript {
     /**
      * APP版本码
      */
-    ext.app_version_code = 18
+    ext.app_version_code = 1
 
     /**
      * APP版本号
      */
-    ext.app_version = "1.0.18"
+    ext.app_version = "0.0.1"
 
     /**
      * 项目依赖库

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

@@ -3,10 +3,6 @@
     xmlns:tools="http://schemas.android.com/tools"
     package="com.wdkl.ncs.android.component.home">
 
-    <uses-permission android:name="android.permission.BLUETOOTH"/>
-    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
-    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED"
-        tools:ignore="ProtectedPermissions" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
@@ -18,18 +14,8 @@
         android:allowBackup="true"
         android:supportsRtl="true">
 
-        <activity
-            android:name=".activity.HomeActivity"
-            android:launchMode="singleTask" />
-        <activity android:name=".activity.WatchHome2Activity"
+        <activity android:name=".activity.HomeActivity"
             android:launchMode="singleTask"/>
-        <activity android:name=".activity.WatchContactsActivity" />
-        <activity android:name=".activity.WatchCallRecordsActivity" />
-        <activity android:name=".activity.EventActivity" />
-        <activity android:name=".activity.WatchEventDetailActivity" />
-        <activity android:name=".activity.WatchUserSettingActivity" />
-        <activity android:name=".activity.SOSEmergencyCallActivity" />
-        <activity android:name=".activity.TakeoverActivity" />
         <activity android:name=".activity.WebRTCVoipAudioActivity"/>
         <activity android:name=".activity.WebRTCVoipAudioRingingActivity" />
         <activity android:name=".activity.AppUpdateActivity" />
@@ -44,12 +30,6 @@
                 <action android:name="com.wdkl.app.ncs.service.WdKeepAliveService"/>
             </intent-filter>
         </service>
-<!--        <receiver android:name=".broadcast.MyMediaButtonReceiver">-->
-<!--            <intent-filter>-->
-<!--                <action android:name="android.intent.action.MEDIA_BUTTON" />-->
-<!--                <action android:name="android.media.AUDIO.BECOMING_NOISY" />-->
-<!--            </intent-filter>-->
-<!--        </receiver>-->
 
         <provider
             android:name="android.support.v4.content.FileProvider"

+ 0 - 231
home/src/main/code/com/wdkl/ncs/android/component/home/activity/EventActivity.kt

@@ -1,231 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.util.Log
-import android.view.View
-import com.enation.javashop.net.engine.model.NetState
-import com.google.gson.Gson
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.WatchActivityEventBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.api.ApiManager
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
-import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.EventUtil
-import com.wdkl.ncs.android.middleware.tcp.channel.ImUtil
-import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
-import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
-import kotlinx.android.synthetic.main.watch_activity_event.*
-
-class EventActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityEventBinding>(), WatchHomeActivityContract.View, View.OnClickListener {
-
-
-
-    var TAG = EventActivity::class.java.simpleName
-
-    var tcpModel = TcpModel()
-    var interactionVO: InteractionVO? = null
-
-
-    override fun getLayId(): Int {
-        return R.layout.watch_activity_event
-
-
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-
-    override fun init() {
-        tcpModel = intent.getSerializableExtra("TcpModel") as TcpModel
-        interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-
-        //是否已播放 已响应
-//        if (interactionVO.actionEnd != null) {
-        Log.e(TAG, "" + (interactionVO!!.actionEnd) + " ")
-        Log.e(TAG, "" + interactionVO!!.actionType + " ")
-        Log.e(TAG, "" + interactionVO!!.data + " ")
-
-        Log.e(TAG, "" + interactionVO!!.actionType + " ")
-        Log.e(TAG, "" + TcpType.IM.name + " ")
-
-
-//            //判断是呼入还是呼出 1 分机到主机 2主机到分机
-//            if(interactionVO.actionDirectionType == 1){
-//                interactionVO.sickbedTv.text = itemData.fromFrameFullName
-//                interactionVO.nameTv.text = itemData.fromMemberName
-//                //TODO 图标显示不正常 暂时没放完整图标
-//                binding.callStatusImagev.setImageResource(R.drawable.hu_ru_yi_jie)
-//            }else if(interactionVO.actionDirectionType == 2 || itemData.actionDirectionType == 3){
-//                binding.sickbedTv.text = interactionVO.toFrameFullName
-//                binding.nameTv.text = interactionVO.toMemberName
-//                binding.callStatusImagev.setImageResource(R.drawable.hu_chu_yi_jie)
-//            }
-//
-//            if(itemData.actionType == TcpType.EVENT.name){//事件已经响应 相应的数据
-//                binding.playTv.visibility = View.GONE
-//                binding.projectTv.visibility = View.VISIBLE
-//                binding.conductorNameTv.visibility = View.VISIBLE
-//                binding.projectTv.text = interactionVO.data
-//                binding.conductorNameTv.text = interactionVO.toMemberName
-//                binding.processingTimeTv.text = TimeTransition().stampToDate(interactionVO.actionEnd*1000)
-//                binding.projectTv.setBackgroundResource(R.drawable.sp_event_handled)
-//            }else if (interactionVO.actionType == TcpType.IM.name){//语音已播放
-//
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.VISIBLE
-//                binding.conductorNameTv.visibility = View.GONE
-//                binding.playTv.setBackgroundResource(R.drawable.yi_bo_fang)
-//                binding.processingTimeTv.text = "已播放"
-//
-//            }else if(interactionVO.actionType == TcpType.VOICE.name){ //语音呼叫已接听
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.VISIBLE
-//                binding.treatmentStateImagev.visibility = View.GONE
-//                binding.processingTimeTv.visibility = View.GONE
-//
-//            }else if(interactionVO.actionType == TcpType.VIDEO.name){ //视频呼叫已接听
-//
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.VISIBLE
-//                binding.treatmentStateImagev.visibility = View.GONE
-//                binding.processingTimeTv.visibility = View.GONE
-//            }
-//
-//        } else {
-//            Log.e(TAG, "" + interactionVO.actionEnd+" ")
-//            Log.e(TAG, "" + interactionVO.actionType+" ")
-//            Log.e(TAG, "" + interactionVO.data+" ")
-//            Log.e(TAG, "" + interactionVO.actionDirectionType+" ")
-//            //判断是呼入还是呼出 1 分机到主机 2主机到分机
-//            if(interactionVO.actionDirectionType == 1){
-//                Log.e(TAG, "进入。。。。" )
-//                binding.sickbedTv.text = interactionVO.fromFrameFullName
-//                binding.nameTv.text = interactionVO.fromMemberName
-//                // 图标显示不正常 暂时没放完整图标
-//                binding.callStatusImagev.setImageResource(R.drawable.hu_ru_wei_jie)
-//            }else if(interactionVO.actionDirectionType == 2 || interactionVO.actionDirectionType == 3){
-//                binding.sickbedTv.text = interactionVO.toFrameFullName
-//                binding.nameTv.text = interactionVO.toMemberName
-//                binding.callStatusImagev.setImageResource(R.drawable.hu_chu_wei_jie)
-//            }
-//
-//            binding.treatmentStateImagev.setImageResource(R.drawable.wei_chu_li)
-////                binding.callStatusImagev.setImageResource(R.drawable.wei_jie)
-//            binding.conductorNameTv.visibility = View.GONE
-//            binding.treatmentStateImagev.visibility = View.VISIBLE
-//            binding.processingTimeTv.visibility = View.VISIBLE
-//            if(itemData.actionType == TcpType.EVENT.name){//事件未处理
-//                binding.playTv.visibility = View.GONE
-//                binding.projectTv.visibility = View.VISIBLE
-//                binding.projectTv.text = interactionVO.data
-//                binding.projectTv.setBackgroundResource(R.drawable.sp_event_unhandled_bg)
-//                binding.processingTimeTv.text = "未处理"
-//            }else if (interactionVO.actionType == TcpType.IM.name){//语音未播放
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.VISIBLE
-//                binding.playTv.setBackgroundResource(R.drawable.bo_fang)
-//                binding.processingTimeTv.text = "未播放"
-//            }else if(interactionVO.actionType == TcpType.VOICE.name){ //语音呼叫未接听
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.GONE
-//                binding.treatmentStateImagev.visibility = View.GONE
-//                binding.processingTimeTv.visibility = View.GONE
-//            }else if(interactionVO.actionType == TcpType.VIDEO.name){ //视频呼叫未接听
-//                binding.projectTv.visibility = View.GONE
-//                binding.playTv.visibility = View.GONE
-//                binding.treatmentStateImagev.visibility = View.GONE
-//                binding.processingTimeTv.visibility = View.GONE
-//
-//            }
-//    }
-        if (interactionVO!!.createDate != null) {
-            call_time_tv.text = TimeTransition().stampToDate(interactionVO!!.createDate * 1000)
-        }
-        sickbed_tv.text = interactionVO!!.fromFrameFullName
-        name_tv.text = interactionVO!!.fromMemberName
-
-        if (interactionVO!!.actionType == TcpType.EVENT.name) {
-            project_tv.visibility = View.VISIBLE
-            play_tv.visibility = View.GONE
-            processing_time_tv.text = "未处理"
-            event_state_tv.text = "未处理"
-        } else if (interactionVO!!.actionType == TcpType.IM.name) {
-            play_tv.visibility = View.VISIBLE
-            project_tv.visibility = View.GONE
-            processing_time_tv.text = "未播放"
-            event_state_tv.text = "未播放"
-
-        }
-
-        event_button_relyout.setOnClickListener(this)
-
-
-    }
-
-    override fun bindEvent() {
-
-    }
-
-    override fun destory() {
-
-    }
-
-    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
-    }
-
-    override fun onError(message: String, type: Int) {
-    }
-
-    override fun complete(message: String, type: Int) {
-    }
-
-    override fun start() {
-    }
-
-    override fun networkMonitor(state: NetState) {
-    }
-    override fun setDeviceDo(data: DeviceVO) {
-    }
-
-    override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
-    }
-    override fun onClick(p0: View?) {
-        if (interactionVO!!.actionType == TcpType.EVENT.name) {
-            if (!Constants.deviceId.equals("")) {
-                var eventTcpModel = EventUtil.eventResponse(Constants.deviceId.toInt(), interactionVO!!.fromDeviceId, interactionVO!!.id)
-                TcpClient.getInstance().sendMsg(eventTcpModel.toJson())
-            } else {
-                showMessage("获取不到当给前设备id")
-            }
-
-        } else if (interactionVO!!.actionType == TcpType.IM.name) {
-            if (!Constants.deviceId.equals("")) {
-                var imUtilTcpModel = ImUtil.imRead(Constants.deviceId.toInt(), interactionVO!!.fromDeviceId, interactionVO!!.id)
-                TcpClient.getInstance().sendMsg(imUtilTcpModel.toJson())
-                //var mediaPlayer = MediaPlayer()
-                //mediaPlayer.startMediaPlayer(Constants.eth_ip + interactionVO!!.data)
-                //mediaPlayer.setVolume(0.3f)
-                MediaPlayHelper.getInstance().playUrlMusic(ApiManager.urlManager.device_url +interactionVO!!.data,1f,false)
-
-            } else {
-                showMessage("获取不到当给前设备id")
-            }
-
-        }
-
-    }
-
-
-}

+ 288 - 130
home/src/main/code/com/wdkl/ncs/android/component/home/activity/HomeActivity.kt

@@ -1,184 +1,342 @@
 package com.wdkl.ncs.android.component.home.activity
 
+import android.Manifest
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
 import android.graphics.Color
+import android.provider.Settings
+import android.support.v4.app.ActivityCompat
+import android.support.v4.content.ContextCompat
+import android.telephony.PhoneStateListener
+import android.telephony.SignalStrength
+import android.telephony.TelephonyManager
+import android.text.TextUtils
+import android.util.Log
+import android.view.KeyEvent
+import android.view.View
+import com.enation.javashop.net.engine.model.NetState
+import com.enation.javashop.net.engine.plugin.permission.RxPermissions
+import com.enation.javashop.utils.base.tool.CommonTool
+import com.enation.javashop.utils.base.widget.LoadingDialog
+import com.wdkl.core.consts.Urls
+import com.wdkl.core.socket.IUserState
+import com.wdkl.core.socket.SocketManager
+import com.wdkl.ncs.android.component.home.BuildConfig
 import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.fragment.CategoryFragment
-import com.wdkl.ncs.android.component.home.fragment.HomeFragment
+import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
+import com.wdkl.ncs.android.component.home.databinding.ActivityHomeBinding
 import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.enation.javashop.android.jrouter.external.annotation.Router
+import com.wdkl.ncs.android.component.home.service.TcpHandleService
+import com.wdkl.ncs.android.component.home.service.TcpHandleService.instance.updateLastTime
+import com.wdkl.ncs.android.component.home.service.WdKeepAliveService
+import com.wdkl.ncs.android.component.home.util.NetHelper
+import com.wdkl.ncs.android.component.home.util.SpeechUtil
+import com.wdkl.ncs.android.component.home.util.Util
+import com.wdkl.ncs.android.component.nursehome.common.Constants
 import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.lib.vo.filter
+import com.wdkl.ncs.android.lib.utils.AppTool
+import com.wdkl.ncs.android.lib.utils.joinManager
+import com.wdkl.ncs.android.lib.utils.showMessage
 import com.wdkl.ncs.android.middleware.logic.contract.home.HomeActivityContract
 import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeActivityPresenter
-import com.wdkl.ncs.android.middleware.model.MemberViewModel
-import com.enation.javashop.android.widget.navigationview.NavigationModel
-import com.enation.javashop.net.engine.model.NetState
-import com.wdkl.ncs.android.component.home.databinding.HomeActLayBinding
-import kotlinx.android.synthetic.main.home_act_lay.*
-
-/**
- * @author  LDD
- * @Date   2018/1/16 下午1:35
- * @From   com.wdkl.ncs.android.component.home.activity
- * @Note   首页Activity
- */
-@Router(path = "/home/main")
-class HomeActivity : BaseActivity<HomeActivityPresenter, HomeActLayBinding>(),HomeActivityContract.View {
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
+import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
+import com.wdkl.ncs.android.middleware.tcp.TcpClient
+import com.wdkl.ncs.android.middleware.tcp.channel.VideoUtil
+import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
+import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
+import com.wdkl.ncs.android.middleware.utils.MessageEvent
+import com.wdkl.ncs.keepbackground.work.DaemonEnv
+import io.reactivex.Observable
+import kotlinx.android.synthetic.main.activity_home.*
+import kotlinx.android.synthetic.main.activity_register.*
+import org.greenrobot.eventbus.Subscribe
+import org.greenrobot.eventbus.ThreadMode
 
-    /**
-     * @Name  clickTime
-     * @Type  Long
-     * @Note  返回键点击间隔时间
-     */
-    private var clickTime :Long = 0
+class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(), HomeActivityContract.View, IUserState {
+
+    var TAG = HomeActivity::class.java.getSimpleName()
+
+    //监听网络变化
+    lateinit var teleManager: TelephonyManager
+    private var netType: Int = -1
+
+    lateinit var batteryBroadcastReceiver: BatteryBroadcastReceiver
+    private var isRegister = true
+
+    private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
+
+    private lateinit var loadingDialog: LoadingDialog
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:37
-     * @Note   提供LayoutId
-     * @return LayoutId
-     */
     override fun getLayId(): Int {
-        return R.layout.home_act_lay
+        return R.layout.activity_home
     }
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:38
-     * @Note   依赖注入
-     */
     override fun bindDagger() {
         HomeLaunch.component.inject(this)
     }
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:38
-     * @Note   页面初始化
-     */
+    //初始化
     override fun init() {
-        homePageDo()
-        AppTool.SystemUI.ImmersiveWithBottomBarColor(this,Color.BLACK)
-        mViewBinding.homeActViewpager.setFragments(arrayListOf(HomeFragment(),CategoryFragment()),supportFragmentManager)
-        mViewBinding.homeActNavigationview.then {
-            self ->
-            self.setNomalColor(R.color.javashop_color_navigation_nomal)
-            self.setSelectColor(R.color.javashop_color_navigation_select)
-            self.withViewPager(mViewBinding.homeActViewpager)
+        val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
+
+        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
+            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE)
+        } else {
         }
-        presenter.isLogin()
+
+        loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
+
+        //保活守护进程
+        DaemonEnv.init(this);
+        //請求用戶忽略电池优化
+//        val reason = "轨迹跟踪服务的持续运行"
+//        DaemonEnv.whiteListMatters(this, reason)
+        //启动work服务
+        DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
+
+        //系统设置按钮
+        btn_system_setting0.setOnClickListener {
+            val intent = Intent(Settings.ACTION_SETTINGS)
+            startActivity(intent)
+        }
+
+        //APP版本
+        tv_version_name.setText("version: " + BuildConfig.VERSION_NAME)
+        //长按检测升级
+        tv_version_name.setOnLongClickListener {
+            if (System.currentTimeMillis() / 1000 - updateLastTime > 10) {
+                updateLastTime = System.currentTimeMillis() / 1000
+                val intent = Intent()
+                intent.setClass(this, AppUpdateActivity::class.java)
+                startActivity(intent)
+            } else {
+                showMessage("请10秒后再尝试")
+            }
+            return@setOnLongClickListener true
+        }
+
+        Constants.imei = Util.getIMEI(this)
+        Log.i(TAG, "IMEI " + Constants.imei)
+        Log.i(TAG, "mac " + Constants.mac)
+        tv_device_imei.text = Constants.imei
+
+        //获取TCP服务器IP和端口
+        Thread(Runnable {
+            while (isRegister) {
+                Log.i(TAG,"获取TCP服务器IP和端口")
+                runOnUiThread(Runnable {
+                    presenter.getTcpServerHost()
+                })
+                try {
+                    Thread.sleep(3000)
+                } catch (e: Exception) {
+                }
+            }
+        }).start()
+
+        //网络强度监听
+        teleManager = (applicationContext.getSystemService(Context.TELEPHONY_SERVICE)) as TelephonyManager
+        netType = NetHelper.getInstance().getNetworkState(applicationContext)
+        Log.i(TAG, "网络类型:" + netType)
+        if (netType == NetHelper.NETWORK_2G || netType == NetHelper.NETWORK_3G || netType == NetHelper.NETWORK_4G) {
+            if (teleManager != null) {
+                teleManager.listen(object : PhoneStateListener() {
+                    override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
+                        super.onSignalStrengthsChanged(signalStrength)
+                        val asu = signalStrength.gsmSignalStrength
+                        val lastSignal = -113 + 2 * asu;
+                        if (lastSignal > 0) {
+                            var mobileNetworkSignal = lastSignal
+                        }
+                    }
+                }, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
+            }
+        }
+
+        //注册广播
+        regReceiver()
+    }
+
+    private fun regReceiver() {
+    }
+
+    private fun releaseReceiver(){
     }
 
     /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:39
-     * @Note   绑定事件
+     * 返回的tcp信息
      */
-    override fun bindEvent() {
-        mViewBinding.homeActNavigationview.then {
-            self ->
-            val home = NavigationModel("首页",R.drawable.javashop_navigation_home_select,R.drawable.javashop_navigation_home_nomal)
-            val category = NavigationModel("分类",R.drawable.javashop_navigation_category_select,R.drawable.javashop_navigation_category_nomal)
-            val person = NavigationModel("我的",R.drawable.javashop_navigation_person_select,R.drawable.javashop_navigation_person_nomal)
-            self.setData(arrayListOf(home,category,person)) { index ->
-                home_act_viewpager.setCurrentItem(index,false)
+    override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
+        isRegister = false
+        if(tcpSeverDTO.publicIp!= null && tcpSeverDTO.tcpPort != null && tcpSeverDTO.readerIdleTime != null){
+            Constants.tcpServer = tcpSeverDTO.publicIp
+            Constants.tcpPort = tcpSeverDTO.tcpPort
+            Constants.heartBeat = tcpSeverDTO.readerIdleTime
+            tv_server_ip.text = tcpSeverDTO.publicIp
+
+            Thread(Runnable {
+                run {
+                    TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
+                }
+            }).start()
+
+            AppTool.Time.delay(1500) {
+                requestPermissions()
             }
         }
     }
 
+    private fun requestPermissions() {
+        Observable.just("").compose(RxPermissions(this).ensure(Manifest.permission.CAMERA,
+                Manifest.permission.READ_EXTERNAL_STORAGE,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                Manifest.permission.ACCESS_WIFI_STATE,
+                Manifest.permission.RECORD_AUDIO,
+                Manifest.permission.READ_PHONE_STATE)).subscribe {
+            if (it) {
+                presenter.getDeviceVO(Constants.imei)// 传imei
+            } else {
+                showMessage("请重新授权,进入App")
+                requestPermissions()
+            }
+        }.joinManager(disposableManager)
+    }
+
     /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:39
-     * @Note   页面销毁回调
+     * 返回的设备信息
      */
-    override fun destory() {
-        debugLog("HomeActivity","Destory")
+    override fun setDeviceDo(data: DeviceVO) {
+        activity_register_layout.visibility = View.GONE
+        watch_activity_home_linyout.visibility = View.VISIBLE
+
+        Log.i(TAG, "收到返回的设备信息 ")
+        Constants.partId = data.partId
+        Constants.deviceId = data.id
+        Constants.sipId = data.sipId
+        Constants.ethIp = data.ethIp
+        Constants.sipIp = data.sipIp
+        Constants.sipId = data.sipId
+        Constants.sipPassword = data.sipPassword
+        Constants.userName = data.memberName
+        Constants.userRoleName = data.roleName
+
+        if (Constants.deviceId==-1 || TextUtils.isEmpty(Constants.sipId)) {
+            showMessage("初始化数据时服务器返回数据不全,请联系管理员")
+            tv_status.text = "初始化数据时服务器返回数据不全,请联系管理员"
+            return
+        } else if (TextUtils.isEmpty(Constants.tcpServer)) {
+            showMessage("初始化tcp连接数据为null")
+            tv_status.text = "初始化tcp连接数据为null"
+            return
+        }
+        initSDK()
+        presenter.getDeviceSettingData(""+Constants.partId)
+
+        showMessage("初始化完成")
     }
 
-    fun toMember(){
-        home_act_viewpager.setCurrentItem(3,false)
+    private fun initSDK() {
+        val intent = Intent(this, TcpHandleService::class.java)
+        startService(intent)
+
+        //WEBRTC 语音初始化
+        // 添加登录回调
+        SocketManager.getInstance().addUserStateCallback(this)
+        // 连接socket:登录
+        SocketManager.getInstance().connect(Urls.WS, Constants.sipId, 0)
+        Log.i(TAG, "Urls.WS " + Urls.WS + " sip_id " + Constants.sipId)
+
+        //问询事件
+        btn_callout.setOnClickListener {
+            loadingDialog.show()
+            val tcpModel = VideoUtil.videoOutCall(Constants.deviceId)
+            TcpClient.getInstance().sendMsg(tcpModel.toJson())
+        }
     }
 
     /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:40
-     * @Note   判断用户登录状态
-     * @param  userInfo  用户信息
+     * 设置设备数据
      */
-    override fun onUserState(userInfo: MemberViewModel) {
+    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
+    }
 
+    override fun userLogin() {
+        Log.i(TAG, "wdkl rtc 登录成功")
+        runOnUiThread(Runnable {
+            tv_rtc_status.setBackgroundColor(Color.GREEN)
+        })
+    }
+
+    override fun userLogout() {
+        Log.w(TAG, "wdkl rtc 用户登出")
+        runOnUiThread(Runnable {
+            tv_rtc_status.setBackgroundColor(Color.RED)
+        })
+        if (SocketManager.getInstance().connectFlag) {
+            reConnectRTC()
+        }
+    }
+
+    fun reConnectRTC(){
+        if (SocketManager.getInstance().userState==0){
+            AppTool.Time.delay(5000){
+                SocketManager.getInstance().reConnect()
+                reConnectRTC()
+            }
+        } else {
+            return
+        }
     }
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:41
-     * @Note   显示错误信息
-     * @param  message 错误信息
-     */
     override fun onError(message: String, type: Int) {
-        dismissDialog()
-        showMessage(message)
     }
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:41
-     * @Note   显示完成信息
-     * @param  message 完成信息
-     */
     override fun complete(message: String, type: Int) {
-        dismissDialog()
     }
 
-    /**
-     * @author LDD
-     * @From   HomeActivity
-     * @Date   2018/1/16 下午1:42
-     * @Note   操作开始
-     */
     override fun start() {
-        showDialog()
     }
 
-    /**
-     * @author LDD
-     * @From    HomeActivity
-     * @Date   2018/1/29 上午9:21
-     * @Note   ...
-     * @param  ...
-     */
-    override fun onBackPressed() {
-        if(System.currentTimeMillis() - clickTime < 1000){
-            super.onBackPressed()
-        }else{
-            clickTime = System.currentTimeMillis()
-            showMessage("再按一次退出JavaShop")
-        }
+    override fun networkMonitor(state: NetState) {
     }
 
-    /**
-     * @author LDD
-     * @From   WelcomeActivity
-     * @Date   2018/1/16 下午1:45
-     * @Note   网络变化回调
-     * @param  state  网络状态
-     */
-    override fun networkMonitor(state: NetState) {
-        state.filter(onMobile = {
+    override fun destory() {
+        SpeechUtil.getInstance().release()
+        //注销webRTC
+        SocketManager.getInstance().unConnect()
 
-        },onWifi = {
+        releaseReceiver()
+    }
 
-        },offline = {
+    override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
+        Log.i(TAG, "keyup keyCode " + keyCode)
+        return if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
+            //不执行父类点击事件
+            true
+        } else super.onKeyUp(keyCode, event)
+        //继续执行父类其他点击事件
+    }
 
-        })
+    override fun bindEvent() {
+    }
+
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun onMoonEvent(messageEvent: MessageEvent) {
+        if (messageEvent.tag == Constants.VIDEO_MSG){
+            loadingDialog.dismiss()
+            val tcpModel = messageEvent.getMessage() as TcpModel
+
+            when (tcpModel.action){
+                TcpAction.VideoAction.CALLING->{
+                    showMessage("对方忙线中")
+                }
+                TcpAction.VideoAction.FAILED->{
+                    showMessage("呼叫失败,请稍候重试")
+                }
+            }
+        }
     }
 }

+ 0 - 124
home/src/main/code/com/wdkl/ncs/android/component/home/activity/SOSEmergencyCallActivity.kt

@@ -1,124 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.app.Activity
-import android.content.Context
-import android.media.AudioManager
-import android.os.Bundle
-import android.os.VibrationEffect
-import android.os.Vibrator
-import android.view.KeyEvent
-import android.view.View
-import com.google.gson.Gson
-import com.wdkl.core.voip.AsyncPlayer
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.utils.AppTool
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
-import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
-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.MessageEvent
-import kotlinx.android.synthetic.main.activity_sos_emergency_call.*
-import org.greenrobot.eventbus.EventBus
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-
-class SOSEmergencyCallActivity : Activity(), View.OnClickListener {
-    var TAG = SOSEmergencyCallActivity::class.java.simpleName
-
-    var tcpModel: TcpModel? = null
-    var interactionVO: InteractionVO? = null
-    lateinit var mVibrator: Vibrator
-    lateinit var asyncPlayer: AsyncPlayer
-
-    override fun onCreate(savedInstanceState: Bundle?) {
-        super.onCreate(savedInstanceState)
-        setContentView(R.layout.activity_sos_emergency_call)
-        tcpModel = intent.getSerializableExtra("TcpModel") as TcpModel
-        interactionVO = Gson().fromJson(tcpModel!!.getData().toString(), InteractionVO::class.java)
-        //震动
-        mVibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
-        mVibrator.cancel()
-        //开启振动后 等待0.1s振动 振动2s 等待1s 振动2s 等待1s
-        val pattern = longArrayOf(100, 2000, 1000, 2000, 1000, 2000)
-        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
-            mVibrator.vibrate(VibrationEffect.createWaveform(pattern, 0))
-        } else {
-            mVibrator.vibrate(pattern, 0)
-        }
-        init()
-        asyncPlayer = AsyncPlayer(TAG)
-        asyncPlayer.play(this,R.raw.sos2,true, AudioManager.STREAM_MUSIC)
-        //MediaPlayHelper.getInstance().playResMusic(R.raw.sos2, 1.0f, true)
-    }
-
-    override fun onStart() {
-        super.onStart()
-        EventBus.getDefault().register(this)
-    }
-
-    fun init() {
-        bao_mother_name_tv.text = interactionVO?.getFromMemberName()
-        event_text.text = interactionVO?.getFromFrameFullName() + "紧急呼叫"
-        hang_up_imagev.setOnClickListener(this)
-    }
-
-    override fun onClick(p0: View) {
-        when (p0.id) {
-            R.id.hang_up_imagev -> {
-                DeviceChannel.calling = false    //解除通话状态中
-                asyncPlayer.stop()
-//                MediaPlayHelper.getInstance().stopMusic()
-                //给服务器发送处理SOStcp
-                var otherUtilTcpModel = OtherUtil.SOSCancel(Constants.deviceId.toInt(), tcpModel?.fromId, interactionVO?.id)
-                TcpClient.getInstance().sendMsg(otherUtilTcpModel.toJson())
-                mVibrator.cancel()
-                finish()
-            }
-        }
-    }
-
-
-    override fun onStop() {
-        super.onStop()
-        DeviceChannel.calling = false    //解除通话状态中
-        mVibrator.cancel()
-        asyncPlayer.stop()
-//        MediaPlayHelper.getInstance().stopMusic()
-        EventBus.getDefault().unregister(this)
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-        if (messageEvent.tag == 999) {
-            var tcpModel = messageEvent.getMessage() as TcpModel
-            when (tcpModel.getType()) {
-                TcpType.SOS -> if (tcpModel.getAction() === TcpAction.SOSAction.CANCEL) {
-                    val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                    showMessage(interactionVO.toRoleName + " " + interactionVO.toMemberName + " 已处理")
-                    DeviceChannel.calling = false    //解除通话状态中
-                    asyncPlayer.stop()
-//                    MediaPlayHelper.getInstance().stopMusic()
-                    mVibrator.cancel()
-                    AppTool.Time.delay(1000) {
-                        finish()
-                    }
-                }
-            }
-        }
-    }
-
-    override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
-        return if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() === KeyEvent.ACTION_UP) {
-            //不执行父类点击事件
-            true
-        } else super.onKeyUp(keyCode, event)
-        //继续执行父类其他点击事件
-    }
-}

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

@@ -1,117 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.util.Log
-import com.alibaba.android.vlayout.DelegateAdapter
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.utils.base.tool.CommonTool
-import com.google.gson.JsonArray
-import com.google.gson.JsonObject
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.adapter.TakeoverItemAdapter
-import com.wdkl.ncs.android.component.home.databinding.ActivityTakeoverBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.logic.contract.home.TakeoverContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.TakeoverPresenter
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import kotlinx.android.synthetic.main.activity_takeover.*
-import kotlinx.android.synthetic.main.watch_contacts_lay.refresh
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-class TakeoverActivity: BaseActivity<TakeoverPresenter, ActivityTakeoverBinding>(), TakeoverContract.View {
-    var TAG = TakeoverActivity::class.java.getSimpleName()
-
-    private val adapter = TakeoverItemAdapter(ArrayList())
-    private lateinit var virtualLayoutManager: VirtualLayoutManager
-    private lateinit var delegateAdapter: DelegateAdapter
-    var partId: Int = -1
-
-    override fun getLayId(): Int {
-        return R.layout.activity_takeover
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    override fun onError(message: String, type: Int) {
-        dismissDialog()
-        showMessage(message)
-    }
-
-    override fun complete(message: String, type: Int) {
-        dismissDialog()
-        showMessage(message)
-    }
-
-    override fun start() {
-        TODO("Not yet implemented")
-    }
-
-    override fun networkMonitor(state: NetState) {
-        TODO("Not yet implemented")
-    }
-
-    override fun init(){
-        /**初始化LayoutMannager*/
-        virtualLayoutManager = VirtualLayoutManager(this.activity)
-
-        /**初始化适配器*/
-        delegateAdapter = DelegateAdapter(virtualLayoutManager)
-        delegateAdapter.addAdapter(adapter)
-        /**配置到RecycleView*/
-        takeover_list.layoutManager = virtualLayoutManager
-        takeover_list.adapter = delegateAdapter
-        partId = Constants.partId
-        presenter.loadList(partId)
-    }
-
-    override fun renderData(data: JsonArray) {
-        Log.i(TAG,"返回的数据 "+data)
-        refresh.finishRefresh()
-        if (data.size() > 0) {
-            adapter.data.clear()
-            var listData = ArrayList<JsonObject>()
-            for (item in data){
-                val _item = item as JsonObject
-                if (!_item.get("id").asString.equals(Constants.deviceId)){
-                    listData.add(_item)
-                }
-            }
-            adapter.data.addAll(listData)
-            adapter.notifyDataSetChanged()
-        }
-    }
-
-    override fun bindEvent() {
-        refresh.setOnRefreshListener {
-            presenter.loadList(partId)
-        }
-
-        adapter.setOnItemClickListener { data, position ->
-            CommonTool.createVerifyDialog("确认切换吗","取消","确定",this,object :CommonTool.DialogInterface{
-                override fun yes() {
-                    var tcpModel = DeviceUtil.deviceChange(Integer.parseInt(Constants.deviceId), data.get("id").asInt)
-                    TcpClient.getInstance().sendMsg(tcpModel.toJson())
-                    showMessage("切换中,请稍候")
-                }
-                override fun no() {
-                }
-            }).show()
-        }
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-    }
-
-    override fun destory() {
-
-    }
-}

+ 123 - 0
home/src/main/code/com/wdkl/ncs/android/component/home/activity/VideoActivity.kt

@@ -0,0 +1,123 @@
+package com.wdkl.ncs.android.component.home.activity
+
+import android.app.Activity
+import android.databinding.DataBindingUtil
+import android.os.Bundle
+import android.os.Handler
+import android.os.SystemClock
+import android.view.View
+import com.google.gson.Gson
+import com.wdkl.core.voip.VoipEvent
+import com.wdkl.ncs.android.component.home.R
+import com.wdkl.ncs.android.component.home.databinding.ActivityVideoBinding
+import com.wdkl.ncs.android.component.nursehome.common.Constants
+import com.wdkl.ncs.android.lib.utils.AppTool
+import com.wdkl.ncs.android.lib.utils.showMessage
+import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
+import com.wdkl.ncs.android.middleware.tcp.TcpClient
+import com.wdkl.ncs.android.middleware.tcp.channel.VideoUtil
+import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
+import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
+import com.wdkl.ncs.android.middleware.utils.MessageEvent
+import com.wdkl.skywebrtc.SkyEngineKit
+import com.wdkl.skywebrtc.except.NotInitializedException
+import kotlinx.android.synthetic.main.activity_video.*
+import kotlinx.android.synthetic.main.activity_video.call_duration_tv
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
+import org.greenrobot.eventbus.ThreadMode
+
+class VideoActivity:Activity(){
+
+    lateinit var mViewBinding: ActivityVideoBinding
+    lateinit var gEngineKit: SkyEngineKit
+    var interactionVOId: Int = -1
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        //eventbus
+        if(!EventBus.getDefault().isRegistered(this)){
+            EventBus.getDefault().register(this)
+        }
+        /**创建根视图*/
+        val rootView = layoutInflater.inflate(R.layout.activity_video, null, false)
+        /**初始化Databinding对象*/
+        mViewBinding = DataBindingUtil.bind(rootView)
+        //初始化RTC引擎
+        try {
+            gEngineKit = SkyEngineKit.Instance()
+        } catch (e: NotInitializedException) {
+            SkyEngineKit.init(VoipEvent()) //重新初始化
+            try {
+                gEngineKit = SkyEngineKit.Instance()
+            } catch (ex: NotInitializedException) {
+                showMessage("载入音视频引擎错误")
+                finish()
+            }
+        }
+
+        //当前对话id
+        interactionVOId = intent.getIntExtra("iaId",-1)
+
+        //挂断按钮
+        iv_handoff.setOnClickListener {
+            val tcpModel = VideoUtil.handOff(interactionVOId)
+            TcpClient.getInstance().sendMsg(tcpModel.toJson())
+            Handler().postDelayed({
+                finish()
+            },1000)
+        }
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        //eventbus
+        if (EventBus.getDefault().isRegistered(this)) {//加上判断
+            EventBus.getDefault().unregister(this)
+        }
+        /**DataBinding解除绑定*/
+        mViewBinding.unbind()
+    }
+
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun onMoonEvent(messageEvent: MessageEvent) {
+        if (messageEvent.tag == Constants.VIDEO_MSG){
+            val tcpModel = messageEvent.getMessage() as TcpModel
+
+            when (tcpModel.action){
+                TcpAction.VideoAction.REJECT->{
+                    showMessage("对方拒绝")
+                    AppTool.Time.delay(1500){
+                        finish()
+                    }
+                }
+                TcpAction.VideoAction.ACCEPT->{
+                    tv_connecting.text = "建立连接中"
+
+                    val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
+                    val roomId = interactionVO.data
+                    //加入房间
+                    gEngineKit.joinRoom(this,roomId)
+
+                    Handler().postDelayed({
+                        tv_connecting.visibility = View.GONE
+                        call_duration_tv.base = SystemClock.elapsedRealtime()
+                        call_duration_tv.start()
+                        //免提
+                        gEngineKit.currentSession.toggleSpeaker(true)
+                    },2900)
+                }
+                TcpAction.VideoAction.HANDOFF->{
+                    showMessage("已挂断")
+                    gEngineKit.leaveRoom()
+                    Handler().postDelayed({
+                        finish()
+                    },1000)
+                }
+                TcpAction.VideoAction.VIDEO_ON->{
+
+                }
+            }
+        }
+    }
+}

+ 0 - 221
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchCallRecordsActivity.kt

@@ -1,221 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.content.Intent
-import android.os.CountDownTimer
-import android.util.Log
-import android.view.View
-import com.alibaba.android.vlayout.DelegateAdapter
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.enation.javashop.android.jrouter.external.annotation.Router
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.utils.base.tool.CommonTool
-import com.enation.javashop.utils.base.widget.LoadingDialog
-import com.scwang.smartrefresh.layout.footer.ClassicsFooter
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.adapter.WatchCallRecordsItemAdapter
-import com.wdkl.ncs.android.component.home.databinding.WatchActivityCallRecordsBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchCallRecordsFragmentContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchCallRecordsFragmentPresenter
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel
-import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
-import com.wdkl.ncs.android.middleware.tcp.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.MessageEvent
-import kotlinx.android.synthetic.main.watch_activity_call_records.*
-import org.greenrobot.eventbus.EventBus
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-
-@Router(path = "/watch/callrecords")
-class WatchCallRecordsActivity : BaseActivity<WatchCallRecordsFragmentPresenter, WatchActivityCallRecordsBinding>(), WatchCallRecordsFragmentContract.View {
-    var TAG = WatchCallRecordsActivity::class.java.getSimpleName()
-
-    /**
-     * @Name  virtualLayoutManager
-     * @Type  VirtualLayoutManager
-     * @Note  VLayoutManager
-     */
-    private lateinit var virtualLayoutManager: VirtualLayoutManager
-
-    /**
-     * @Name  delegateAdapter
-     * @Type  DelegateAdapter
-     * @Note  七巧板适配器
-     */
-    private lateinit var delegateAdapter: DelegateAdapter
-
-    private val watchCallRecordsItemAdapter = WatchCallRecordsItemAdapter(ArrayList())
-
-    private lateinit var loadingDialog: LoadingDialog
-
-    private var customerId = ""
-    private var ACTION = "ACTION"
-    var all = "ALL"
-    var initiator = "INITATOR"
-    var unread = "UNREAD"
-    var action: String? = null
-    var receivedData: WatchContactsVO? = null
-
-    private var CALL_TIMEOUT = 5 //多久可以再次点击
-    //呼叫倒计时
-    lateinit var countDownTimer: CountDownTimer
-
-    override fun getLayId(): Int {
-        return R.layout.watch_activity_call_records
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    override fun init() {
-        /**初始化LayoutMannager*/
-        virtualLayoutManager = VirtualLayoutManager(this.activity)
-
-        /**初始化适配器*/
-        delegateAdapter = DelegateAdapter(virtualLayoutManager)
-        delegateAdapter.addAdapter(watchCallRecordsItemAdapter)
-        mViewBinding.refresh.setRefreshFooter(ClassicsFooter(activity))
-
-        /**配置到RecycleView*/
-        call_records_recyv.layoutManager = virtualLayoutManager
-        call_records_recyv.adapter = delegateAdapter
-
-        loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
-
-        receivedData = intent.getSerializableExtra("data") as WatchContactsVO?
-        action = intent.getStringExtra("action")
-        customerId = intent.getStringExtra("customer_id")
-        if (action == all) {
-            if (customerId.equals("")) {
-//            presenter.loadFloor(all, 1,30, Constants.ids.toInt(),0)
-                presenter.loadPage(all, 1, 30, Constants.deviceId.toInt(), 0, 0)
-                call_relyout.visibility = View.GONE
-            }
-        } else if (action == unread) {
-            presenter.loadPage(all, 1, 30, Constants.deviceId.toInt(), 0, 1)
-            call_relyout.visibility = View.GONE
-
-        } else if (action == initiator) {
-            call_relyout.visibility = View.VISIBLE
-            presenter.loadPage(initiator, 1, 30, Constants.deviceId.toInt(), customerId.toInt(), -1)
-            call_relyout.setOnClickListener {
-                loadingDialog.show()
-                call_relyout.isEnabled = false
-                var tcpModel = VoiceUtil.voiceCall(Integer.parseInt(Constants.deviceId), receivedData!!.deviceId)
-                TcpClient.getInstance().sendMsg(tcpModel.toJson())
-                countDownTimer.start()
-            }
-        }
-        initCountDownTimer()
-    }
-
-    override fun bindEvent() {
-        watchCallRecordsItemAdapter.setOnItemClickListener { data, position ->
-
-            var intent = Intent()
-            intent.setClass(this, WatchEventDetailActivity::class.java)
-            //todo: 不优雅的传输,应该直接传递对象
-            var tcpModel = TcpModel()
-            if (data.actionType.equals(TcpType.VOICE.name)) {
-                tcpModel.type = TcpType.VOICE
-            } else if (data.actionType.equals(TcpType.EVENT.name)) {
-                tcpModel.type = TcpType.EVENT
-            } else if (data.actionType.equals(TcpType.IM.name)) {
-                tcpModel.type = TcpType.IM
-            } else {
-                tcpModel.type = TcpType.EVENT
-            }
-            tcpModel.action = TcpAction.VoiceAction.SUCCESS
-            tcpModel.setData(data)
-            intent.putExtra("tcpModelStr", tcpModel.toJson())
-            startActivity(intent)
-            finish()
-        }
-    }
-
-    override fun destory() {
-        if(countDownTimer != null){
-            countDownTimer.cancel()
-        }
-    }
-
-    override fun renderList(data: ArrayList<InteractionVO>) {
-        if (action.equals(unread)) {
-            EventBus.getDefault().post(MessageEvent(data, Constants.EVENT_UNTREATED_QUANTITY))
-        }
-
-        refresh.finishRefresh()
-        if (data.size > 0) {
-            watchCallRecordsItemAdapter.data.clear()
-            watchCallRecordsItemAdapter.data.addAll(data)
-            watchCallRecordsItemAdapter.notifyDataSetChanged()
-        }
-        refresh.finishLoadMore()
-    }
-
-    /**
-     * 显示发起人的呼叫记录
-     */
-    override fun showInitiatorData(data: ArrayList<InteractionVO>) {
-        Log.i(TAG, "showInitiatorData() " + data.size)
-        refresh.finishRefresh()
-        if (data.size > 0) {
-            watchCallRecordsItemAdapter.data.clear()
-            watchCallRecordsItemAdapter.data.addAll(data)
-            watchCallRecordsItemAdapter.notifyDataSetChanged()
-        }
-        refresh.finishLoadMore()
-    }
-
-
-    override fun onError(message: String, type: Int) {
-    }
-
-    override fun complete(message: String, type: Int) {
-    }
-
-    override fun start() {
-    }
-
-    override fun networkMonitor(state: NetState) {
-    }
-
-    fun initCountDownTimer() {
-        countDownTimer = object : CountDownTimer(CALL_TIMEOUT * 3000L, 1000) {
-            override fun onTick(millisUntilFinished: Long) {
-            }
-            override fun onFinish() {
-                call_relyout.isEnabled = true
-            }
-        }
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-        if (messageEvent.tag == 1 || messageEvent.tag == 2) {
-            var tcpModel = messageEvent.getMessage() as TcpModel
-            Log.i(TAG, tcpModel.toJson())
-            if (tcpModel.type == TcpType.VOICE) {
-                if (tcpModel.action == TcpAction.VoiceAction.SUCCESS) {
-                    loadingDialog.dismiss()
-                    //界面呈现,逻辑在service中
-                } else if (tcpModel.action == TcpAction.VoiceAction.FAILED) {
-                    loadingDialog.dismiss()
-                    call_relyout.isEnabled = true
-                    DeviceChannel.calling = false;
-                    showMessage("对方不在线")
-                }
-            }
-        }
-    }
-}

+ 0 - 149
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchContactsActivity.kt

@@ -1,149 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.content.Intent
-import android.util.Log
-import com.alibaba.android.vlayout.DelegateAdapter
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.enation.javashop.android.jrouter.external.annotation.Router
-import com.enation.javashop.net.engine.model.NetState
-import com.scwang.smartrefresh.layout.footer.ClassicsFooter
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.adapter.WatchContactsItemAdapter
-import com.wdkl.ncs.android.component.home.databinding.WatchContactsLayBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchActivityContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchActivityPresenter
-import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import kotlinx.android.synthetic.main.watch_contacts_lay.*
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-@Router(path = "/watch/contacts")
-class WatchContactsActivity : BaseActivity<WatchActivityPresenter, WatchContactsLayBinding>(), WatchActivityContract.View {
-    var TAG = WatchContactsActivity::class.java.getSimpleName()
-
-    private var page: Int = 1
-    private val adapter = WatchContactsItemAdapter(ArrayList())
-
-    var deviceId: Int = 17
-
-    private lateinit var virtualLayoutManager: VirtualLayoutManager
-
-    private lateinit var delegateAdapter: DelegateAdapter
-
-
-    override fun getLayId(): Int {
-        return R.layout.watch_contacts_lay
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    override fun onError(message: String, type: Int) {
-        dismissDialog()
-        showMessage(message)
-    }
-
-    override fun complete(message: String, type: Int) {
-        dismissDialog()
-        showMessage(message)
-    }
-
-    override fun start() {
-        showDialog()
-    }
-
-    override fun networkMonitor(state: NetState) {
-
-    }
-
-    override fun destory() {
-
-    }
-
-    override fun init() {
-//        AppTool.SystemUI.showNavigationBar(this,false)
-//        AppTool.SystemUI.ImmersiveWithBottomBarColor(this, Color.BLACK)
-
-        /**初始化LayoutMannager*/
-        virtualLayoutManager = VirtualLayoutManager(this.activity)
-
-        /**初始化适配器*/
-        delegateAdapter = DelegateAdapter(virtualLayoutManager)
-        delegateAdapter.addAdapter(adapter)
-        mViewBinding.refresh.setRefreshFooter(ClassicsFooter(activity))
-        /**配置到RecycleView*/
-        watch_contacts_list.layoutManager = virtualLayoutManager
-        watch_contacts_list.adapter = delegateAdapter
-        deviceId = Constants.deviceId.toInt()
-        presenter.loadData(page, deviceId)
-    }
-
-    override fun bindEvent() {
-        refresh.setOnLoadMoreListener {
-            page += 1
-            presenter.loadData(page, deviceId)
-        }
-        refresh.setOnRefreshListener {
-            presenter.loadData(1, deviceId)
-        }
-
-        adapter.setOnItemClickListener { data, position ->
-//            adapter.setThisPosition(position)
-//            adapter.notifyDataSetChanged()
-
-            //todo 临时写的测试语音通话功能
-            var customerId = data.customerId
-            if(data.customerId == null){
-                customerId = 0
-            }
-            val watchContactsVO :WatchContactsVO = data
-            var intent = Intent(this, WatchCallRecordsActivity::class.java)
-            intent.putExtra("data", watchContactsVO)
-            intent.putExtra("action", "INITATOR")
-            intent.putExtra("customer_id", ""+customerId)
-            startActivity(intent)
-
-        }
-
-
-
-    }
-
-    override fun render(data: ArrayList<WatchContactsVO>) {
-
-        Log.i(TAG,"返回的数据 "+data)
-        refresh.finishRefresh()
-        if (page == 1) {
-            refresh.resetNoMoreData()
-            if (data.size > 0) {
-                adapter.data.clear()
-                adapter.data.addAll(data)
-                Log.i("abc1", " " + data.size);
-                adapter.notifyDataSetChanged()
-            }
-            refresh.finishLoadMore()
-        } else {
-            if (data.size > 0) {
-                adapter.data.addAll(data)
-                adapter.notifyDataSetChanged()
-                refresh.finishLoadMore()
-            } else {
-                refresh.finishLoadMoreWithNoMoreData()
-            }
-        }
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-//        var messageEvent = messageEvent.getMessage() as TcpModel
-//        if(messageEvent.getAction() === TcpAction.EventAction.KEY_CLICK){
-//            Log.e(TAG,"收到tcp消息")
-//        }
-    }
-}

+ 0 - 267
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchEventDetailActivity.kt

@@ -1,267 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.content.Context
-import android.os.CountDownTimer
-import android.os.VibrationEffect
-import android.os.Vibrator
-import android.util.Log
-import android.view.View
-import com.enation.javashop.android.jrouter.external.annotation.Autowired
-import com.enation.javashop.android.jrouter.external.annotation.Router
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.utils.base.tool.CommonTool
-import com.enation.javashop.utils.base.widget.LoadingDialog
-import com.google.gson.Gson
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.WatchActivityEventDetailBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.AppTool
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.api.ApiManager
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
-import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.EventUtil
-import com.wdkl.ncs.android.middleware.tcp.channel.ImUtil
-import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
-import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
-import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
-import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import kotlinx.android.synthetic.main.watch_activity_event_detail.*
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-@Router(path = "/event/detail")
-class WatchEventDetailActivity : BaseActivity<WatchHomeActivityPresenter, WatchActivityEventDetailBinding>(), WatchHomeActivityContract.View {
-
-    var TAG = WatchEventDetailActivity::class.java.getSimpleName()
-    //参数自动注入
-    @Autowired(name = "tcpModelStr", required = true)
-    @JvmField
-    var tcpModelStr: String = ""
-    @Autowired(name = "boolVibrator", required = false)
-    @JvmField
-    var boolVibrator = false
-
-    var interactionVO: InteractionVO? = null
-    var tcpModel: TcpModel? = null
-    private var CALL_TIMEOUT = 5 //多久可以再次点击
-
-
-    lateinit var countDownTimer: CountDownTimer
-    private lateinit var loadingDialog: LoadingDialog
-    lateinit var mVibrator: Vibrator
-
-    override fun getLayId(): Int {
-        return R.layout.watch_activity_event_detail
-    }
-
-    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
-    }
-
-    override fun onError(message: String, type: Int) {
-    }
-
-    override fun complete(message: String, type: Int) {
-    }
-
-    override fun start() {
-    }
-
-    override fun networkMonitor(state: NetState) {
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    override fun bindEvent() {
-        back.setOnClickListener {
-            //            push("/watch/callrecords", { postcard ->
-//                postcard.withString("action","UNREAD")
-//                postcard.withString("customer_id","")
-            finish()
-//            })
-        }
-
-        call_relyout.setOnClickListener {
-            loadingDialog.show()
-            call_relyout.isEnabled = false
-            Log.i(TAG, "tcpModel 发送的 " + tcpModel?.toJson())
-            var tcpModel: TcpModel? = null
-            if (interactionVO?.actionDirectionType == 1) {
-                tcpModel = VoiceUtil.voiceCall(Integer.parseInt(Constants.deviceId), interactionVO?.fromDeviceId)
-            } else {
-                tcpModel = VoiceUtil.voiceCall(Integer.parseInt(Constants.deviceId), interactionVO?.toDeviceId)
-            }
-
-            TcpClient.getInstance().sendMsg(tcpModel?.toJson())
-            countDownTimer.start()
-        }
-
-        event_status_img.setOnClickListener {
-            //event_status_img.isEnabled = false
-            if (tcpModel?.type == TcpType.EVENT) {
-                loadingDialog.show()
-                var tcpModel = EventUtil.eventResponse(Integer.parseInt(Constants.deviceId), interactionVO!!.fromDeviceId, interactionVO!!.id)
-                TcpClient.getInstance().sendMsg(tcpModel.toJson())
-            } else if (tcpModel?.type == TcpType.IM) {
-                //todo: 语音播放
-                if (!Constants.deviceId.equals("")) {
-                    if (interactionVO!!.actionEnd == null) {
-                        var imUtilTcpModel = ImUtil.imRead(Constants.deviceId.toInt(), interactionVO!!.fromDeviceId, interactionVO!!.id)
-                        TcpClient.getInstance().sendMsg(imUtilTcpModel.toJson())
-//                        var mediaPlayer = MediaPlayer()
-//                    mediaPlayer.startMediaPlayer( Constants.eth_ip +interactionVO!!.data)
-//                    mediaPlayer.setVolume(0.3f)
-                        MediaPlayHelper.getInstance().playUrlMusic(ApiManager.urlManager.device_url + interactionVO!!.data, 1f, false)
-                    } else {
-                        MediaPlayHelper.getInstance().playUrlMusic(ApiManager.urlManager.device_url + interactionVO!!.data, 1f, false)
-                    }
-//
-                } else {
-                    showMessage("获取不到当给前设备id")
-                }
-            }
-        }
-    }
-
-    override fun destory() {
-        if(countDownTimer != null){
-            countDownTimer.cancel()
-        }
-    }
-
-    override fun init() {
-        loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
-        initCountDownTimer()
-        //震动
-        mVibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
-        if (boolVibrator){
-            mVibrator.cancel()
-            //开启振动后 等待0.1s振动 振动2s 等待1s 振动2s 等待1s
-            val pattern = longArrayOf(100, 2000, 1000, 2000)
-            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
-                mVibrator.vibrate(VibrationEffect.createWaveform(pattern, -1))
-            } else {
-                mVibrator.vibrate(pattern, -1)
-            }
-        }
-
-        Log.i(TAG, "参数 tcpModelStr : " + tcpModelStr)
-        tcpModel = TcpModel.getModelByJson(tcpModelStr)
-        //var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-        interactionVO = Gson().fromJson(tcpModel?.data.toString(), InteractionVO::class.java)
-
-        if (interactionVO != null) {
-            tv_frame_name.setText(interactionVO?.fromFrameFullName)
-            baby_mother_name.setText(interactionVO?.fromMemberName)
-
-            if (tcpModel?.type == TcpType.IM) {
-                event_text.setText("语音留言")
-                event_status_img.setImageResource(R.drawable.icon_hd_live)
-                if (interactionVO?.actionEnd != null) {
-                    event_end_text.setText("响应时间:" + TimeTransition().stampToDate(interactionVO!!.actionEnd * 1000))
-                    //event_status_img.isEnabled = false
-                    //event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_hd_live_item)
-                } /*else {
-                    event_status_img.setImageResource(com.starrtc.demo.R.drawable.icon_hd_live)
-                }*/
-            } else if (tcpModel?.type == TcpType.EVENT) {
-                event_text.setText(interactionVO?.data)
-
-                if (interactionVO?.actionEnd != null) {
-                    event_end_text.setText("响应时间:" + TimeTransition().stampToDate(interactionVO!!.actionEnd * 1000))
-                    event_status_img.isEnabled = false
-                    event_status_img.setImageResource(R.drawable.icon_switch_on)
-                }
-            } else {
-                event_status_img.visibility = View.GONE
-//                call_relyout.visibility = View.VISIBLE
-                if (tcpModel?.type == TcpType.VOICE) {
-                    //todo 腕表没有按主机这边设计 没数据
-                    if (interactionVO?.actionEnd != null) {
-                        //判断是呼入还是呼出 1 分机到主机 2主机到分机
-                        if (interactionVO?.actionDirectionType == 1) {
-                            event_text.setText("语音呼入已接")
-                        } else if (interactionVO?.actionDirectionType == 2 || interactionVO?.actionDirectionType == 3) {
-                            event_text.setText("语音呼出已接")
-                        }
-                    } else {
-                        //判断是呼入还是呼出 1 分机到主机 2主机到分机
-                        if (interactionVO?.actionDirectionType == 1) {
-                            event_text.setText("语音呼入未接")
-                        } else if (interactionVO?.actionDirectionType == 2 || interactionVO?.actionDirectionType == 3) {
-                            event_text.setText("语音呼出未接")
-                        }
-                    }
-//                    event_text.setText("语音呼叫")
-
-                } else if (tcpModel?.type == TcpType.VIDEO) {
-
-                    event_text.setText("视频呼叫")
-                } else if (tcpModel?.type == TcpType.SOS) {
-                    event_text.setText("SOS紧急呼叫")
-                }
-            }
-        }
-    }
-
-
-    fun initCountDownTimer() {
-        countDownTimer = object : CountDownTimer(CALL_TIMEOUT * 1000L, 1000) {
-            override fun onTick(millisUntilFinished: Long) {
-            }
-
-            override fun onFinish() {
-                loadingDialog.dismiss()
-                call_relyout.isEnabled = true
-            }
-        }
-    }
-    override fun setDeviceDo(data: DeviceVO) {
-    }
-
-    override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-        if (messageEvent.tag == 0) {
-            var resTcpModel = messageEvent.getMessage() as TcpModel
-            if (resTcpModel.type == TcpType.DATA && resTcpModel.action == TcpAction.DataAction.INTERACTION) {
-                if (resTcpModel.data != null) {
-                    loadingDialog.dismiss()
-                    val responseInteractionVO = Gson().fromJson<InteractionVO>(resTcpModel.getData().toString(), InteractionVO::class.java)
-
-                    if (tcpModel?.type == TcpType.IM) {
-                        event_status_img.setImageResource(R.drawable.icon_hd_live_item)
-                        showMessage("已播放")
-                    } else if (tcpModel?.type == TcpType.EVENT) {
-                        event_status_img.setImageResource(R.drawable.icon_switch_on)
-                        showMessage("已响应")
-                        AppTool.Time.delay(1500){
-                            finish()
-                        }
-                    }
-
-                    mVibrator.cancel()
-                    event_end_text.setText("响应时间:" + TimeTransition().stampToDate(responseInteractionVO.actionEnd * 1000))
-                }
-            }
-        } else if (messageEvent.tag == 1) {
-            loadingDialog.dismiss()
-            mVibrator.cancel()
-            //具体逻辑在TcpHandleService中处理
-        }
-    }
-}

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

@@ -1,478 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.Manifest
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.content.IntentFilter
-import android.content.pm.PackageManager
-import android.graphics.Color
-import android.media.session.MediaSession
-import android.net.wifi.WifiManager
-import android.provider.Settings
-import android.support.v4.app.ActivityCompat
-import android.support.v4.content.ContextCompat
-import android.support.v4.media.session.MediaSessionCompat
-import android.telephony.PhoneStateListener
-import android.telephony.SignalStrength
-import android.telephony.TelephonyManager
-import android.text.TextUtils
-import android.util.Log
-import android.view.KeyEvent
-import android.view.View
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.net.engine.plugin.permission.RxPermissions
-import com.wdkl.core.consts.Urls
-import com.wdkl.core.socket.IUserState
-import com.wdkl.core.socket.SocketManager
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
-import com.wdkl.ncs.android.component.home.broadcast.MyMediaButtonReceiver
-import com.wdkl.ncs.android.component.home.databinding.WatchActivityHome2Binding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.home.service.TcpHandleService
-import com.wdkl.ncs.android.component.home.service.WdKeepAliveService
-import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
-import com.wdkl.ncs.android.component.home.util.NetHelper
-import com.wdkl.ncs.android.component.home.util.SpeechUtil
-import com.wdkl.ncs.android.component.home.util.Util
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.base.BaseApplication
-import com.wdkl.ncs.android.lib.utils.AppTool
-import com.wdkl.ncs.android.lib.utils.joinManager
-import com.wdkl.ncs.android.lib.utils.push
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchHomeActivityPresenter
-import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import com.wdkl.ncs.keepbackground.work.DaemonEnv
-import io.reactivex.Observable
-import kotlinx.android.synthetic.main.watch_activity_home.battery_warning_tv
-import kotlinx.android.synthetic.main.watch_activity_home.call_records_linlyout
-import kotlinx.android.synthetic.main.watch_activity_home.customer_list_linlyout
-import kotlinx.android.synthetic.main.watch_activity_home.electric_quantity_tv
-import kotlinx.android.synthetic.main.watch_activity_home.list_item_img_icon_num
-import kotlinx.android.synthetic.main.watch_activity_home.other_linyout
-import kotlinx.android.synthetic.main.watch_activity_home.sip_state_tv
-import kotlinx.android.synthetic.main.watch_activity_home.state_linlyout
-import kotlinx.android.synthetic.main.watch_activity_home.user_name_linlyout
-import kotlinx.android.synthetic.main.watch_activity_home.watch_name_tv
-import kotlinx.android.synthetic.main.watch_activity_home.watch_role_name_tv
-import kotlinx.android.synthetic.main.watch_activity_home.wifi_rssi_tv
-import kotlinx.android.synthetic.main.watch_activity_home2.*
-import kotlinx.android.synthetic.main.watch_activity_register.*
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-//@Router(path = "/watch/home")
-class WatchHome2Activity : BaseActivity<WatchHomeActivityPresenter, WatchActivityHome2Binding>(), WatchHomeActivityContract.View, View.OnClickListener, View.OnLongClickListener,
-       IUserState {
-
-    var TAG = WatchHome2Activity::class.java.getSimpleName()
-
-    //监听网络变化
-    lateinit var wifiManager: WifiManager
-    lateinit var teleManager: TelephonyManager
-    lateinit var wifiReceiver: WifiReceiver
-    private var netType: Int = -1
-
-    lateinit var batteryBroadcastReceiver: BatteryBroadcastReceiver
-    lateinit var myMediaButtonReceiver: MyMediaButtonReceiver
-    private var isRegister = true
-
-    private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
-
-    private var  time = 0L
-
-    override fun getLayId(): Int {
-        return R.layout.watch_activity_home2
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    //初始化
-    override fun init() {
-        val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
-
-        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
-            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE)
-        } else {
-        }
-
-        //保活守护进程
-        DaemonEnv.init(this);
-        //請求用戶忽略电池优化
-//        val reason = "轨迹跟踪服务的持续运行"
-//        DaemonEnv.whiteListMatters(this, reason)
-        //启动work服务
-        DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
-
-        Constants.imei = Util.getIMEI(this)
-        Log.i(TAG, "IMEI " + Util.getIMEI(this))
-
-        Log.i(TAG, "mac " + Constants.mac)
-        tv_mac_addr.text = "MAC地址: " + Constants.mac + "\n" + "IMEI:" + Constants.imei
-
-        //获取TCP服务器IP和端口
-        Thread(Runnable {
-            while (isRegister) {
-                Log.i(TAG,"获取TCP服务器IP和端口")
-                runOnUiThread(Runnable {
-                    presenter.getTcpServerHost()
-                })
-                try {
-                    Thread.sleep(3000)
-                } catch (e: Exception) {
-                }
-            }
-        }).start()
-
-        wifiManager = (applicationContext.getSystemService(Context.WIFI_SERVICE)) as WifiManager
-
-        //网络强度监听
-        teleManager = (applicationContext.getSystemService(Context.TELEPHONY_SERVICE)) as TelephonyManager
-        netType = NetHelper.getInstance().getNetworkState(applicationContext)
-        Log.i(TAG, "网络类型:" + netType)
-        if (netType == NetHelper.NETWORK_2G || netType == NetHelper.NETWORK_3G || netType == NetHelper.NETWORK_4G) {
-            if (teleManager != null) {
-                teleManager.listen(object : PhoneStateListener() {
-                    override fun onSignalStrengthsChanged(signalStrength: SignalStrength) {
-                        super.onSignalStrengthsChanged(signalStrength)
-                        val asu = signalStrength.gsmSignalStrength
-                        val lastSignal = -113 + 2 * asu;
-                        if (lastSignal > 0) {
-                            var mobileNetworkSignal = lastSignal
-                        }
-                    }
-                }, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
-            }
-        }
-
-        //注册广播
-        regReceiver()
-
-        //TTS初始化
-        SpeechUtil.getInstance().init(BaseApplication.appContext)
-        SpeechUtil.getInstance().startSpeechThread()
-    }
-
-    private fun regReceiver() {
-        wifiReceiver = WifiReceiver()
-        val intentFilter = IntentFilter()
-        intentFilter.addAction(WifiManager.RSSI_CHANGED_ACTION)
-        registerReceiver(wifiReceiver, intentFilter)
-
-//        myMediaButtonReceiver = MyMediaButtonReceiver()
-//        val ittFilterButton = IntentFilter(Intent.ACTION_MEDIA_BUTTON) //控制键
-//        registerReceiver(myMediaButtonReceiver, ittFilterButton);
-
-//        val ittFilterBluetooth = IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED)  //蓝牙断开
-//        registerReceiver(myMediaButtonReceiver, ittFilterBluetooth);
-
-        //电池
-        batteryBroadcastReceiver = BatteryBroadcastReceiver(electric_quantity_tv)
-        val intentFilter2 = IntentFilter()
-        intentFilter2.addAction(Intent.ACTION_BATTERY_CHANGED)
-        registerReceiver(batteryBroadcastReceiver, intentFilter2)
-    }
-
-    private fun releaseReceiver(){
-        if (wifiReceiver != null){
-            unregisterReceiver(wifiReceiver)
-        }
-        if (batteryBroadcastReceiver != null) {
-            unregisterReceiver(batteryBroadcastReceiver)
-        }
-//        if (myMediaButtonReceiver != null ){
-//            unregisterReceiver(myMediaButtonReceiver)
-//        }
-    }
-
-    /**
-     * 返回的tcp信息
-     */
-    override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
-        isRegister = false
-        if(tcpSeverDTO.publicIp!= null && tcpSeverDTO.tcpPort != null && tcpSeverDTO.readerIdleTime != null){
-            Constants.tcpServer = tcpSeverDTO.publicIp
-            Constants.tcpPort = tcpSeverDTO.tcpPort
-            Constants.heartBeat = tcpSeverDTO.readerIdleTime
-            tv_server_ip.text = tcpSeverDTO.publicIp
-
-            Thread(Runnable {
-                run {
-                    TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
-                }
-            }).start()
-
-            AppTool.Time.delay(1500) {
-                requestPermissions()
-            }
-        }
-    }
-
-    private fun requestPermissions() {
-        Observable.just("").compose(RxPermissions(this).ensure(Manifest.permission.CAMERA,
-                Manifest.permission.READ_EXTERNAL_STORAGE,
-                Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                Manifest.permission.ACCESS_WIFI_STATE,
-                Manifest.permission.BLUETOOTH,
-                Manifest.permission.RECORD_AUDIO,
-                Manifest.permission.READ_PHONE_STATE)).subscribe {
-            if (it) {
-                presenter.getDeviceVO(Constants.imei)// 传imei
-            } else {
-                showMessage("请重新授权,进入App")
-                requestPermissions()
-            }
-        }.joinManager(disposableManager)
-    }
-
-    /**
-     * 返回的设备信息
-     */
-    override fun setDeviceDo(data: DeviceVO) {
-        watch_activity_register_layout.visibility = View.GONE
-        watch_activity_home_linyout.visibility = View.VISIBLE
-
-        Log.i(TAG, "收到返回的设备信息 ")
-        Constants.partId = data.partId
-        Constants.deviceId = "" + data.id
-        Constants.sipId = data.sipId
-        Constants.ethIp = data.ethIp
-        Constants.sipIp = data.sipIp
-        Constants.sipId = data.sipId
-        Constants.sipPassword = data.sipPassword
-        Constants.userName = data.memberName
-        Constants.userRoleName = data.roleName
-
-        if (TextUtils.isEmpty(Constants.deviceId) || TextUtils.isEmpty(Constants.sipId)) {
-            showMessage("初始化数据时服务器返回数据不全,请联系管理员")
-            tv_feedback_device_info.text = "初始化数据时服务器返回数据不全,请联系管理员"
-            return
-        } else if (TextUtils.isEmpty(Constants.tcpServer)) {
-            showMessage("初始化tcp连接数据为null")
-            tv_feedback_device_info.text = "初始化tcp连接数据为null"
-            return
-        }
-        initSDK(data.sipId)
-        presenter.getDeviceSettingData(""+Constants.partId)
-
-        watch_name_tv.text = Constants.userName
-        if (Constants.userName!=null){
-            if (Constants.userRoleName!!.contains("腕表")) {
-                watch_role_name_tv.text = Constants.userRoleName!!.substring(0, (Constants.userRoleName)!!.indexOf("腕表"))
-            } else {
-                watch_role_name_tv.text = Constants.userRoleName
-            }
-        }
-
-        showMessage("初始化完成")
-    }
-
-    private fun initSDK(DeviceSipId: String) {
-        val intent = Intent(this, TcpHandleService::class.java)
-        startService(intent)
-
-        //WEBRTC 语音初始化
-        // 添加登录回调
-        SocketManager.getInstance().addUserStateCallback(this)
-        // 连接socket:登录
-        SocketManager.getInstance().connect(Urls.WS, Constants.sipId, 0)
-
-        Log.i(TAG, "Urls.WS " + Urls.WS + " sip_id " + Constants.sipId)
-    }
-
-    /**
-     * 设置设备数据
-     */
-    override fun setDeviceSettingData(partSettingDO: PartSettingDO) {
-        Log.i(TAG,"收到设置设备数据 transferDuration"+partSettingDO.transferDuration)
-        Log.i(TAG,"收到设置设备数据 transferDurationLeader"+partSettingDO.transferDurationLeader)
-        if(partSettingDO != null&&partSettingDO.transferDuration !=null&&partSettingDO.transferDurationLeader != null){
-            if (Constants.userRoleName != null) {
-                if (!Constants.userRoleName!!.contains("护士组长") && Constants.userRoleName!!.contains("护士")) {
-                    SettingConfig.setCountdownTime(application, partSettingDO.transferDuration)
-                } else if (Constants.userRoleName!!.contains("护士组长")) {
-                    SettingConfig.setCountdownTime(application, partSettingDO.transferDurationLeader)
-                }
-            }
-        }
-    }
-
-    override fun userLogin() {
-        Log.i(TAG, "wdkl rtc 登录成功")
-        runOnUiThread(Runnable {
-            sip_state_tv.setBackgroundColor(Color.parseColor("#00FFFF"))
-        })
-    }
-
-    override fun userLogout() {
-        Log.w(TAG, "wdkl rtc 用户登出")
-        runOnUiThread(Runnable {
-            sip_state_tv.setBackgroundColor(Color.parseColor("#FF0000"))
-        })
-        if (SocketManager.getInstance().connectFlag) {
-            reConnectRTC()
-        }
-    }
-
-    fun reConnectRTC(){
-        if (SocketManager.getInstance().userState==0){
-            AppTool.Time.delay(5000){
-                SocketManager.getInstance().reConnect()
-                reConnectRTC()
-            }
-        } else {
-            return
-        }
-    }
-
-    override fun bindEvent() {
-        customer_list_linlyout.setOnClickListener(this)
-        call_records_linlyout.setOnClickListener(this)
-        user_name_linlyout.setOnClickListener(this)
-        state_linlyout.setOnClickListener(this)
-        user_name_linlyout.setOnLongClickListener(this)
-        other_linyout.setOnClickListener(this)
-        setting_tv.setOnClickListener({
-            val intent = Intent(Settings.ACTION_SETTINGS)
-            startActivity(intent)
-        })
-    }
-
-    override fun onError(message: String, type: Int) {
-    }
-
-    override fun complete(message: String, type: Int) {
-    }
-
-    override fun start() {
-    }
-
-    override fun networkMonitor(state: NetState) {
-    }
-
-    override fun destory() {
-        SpeechUtil.getInstance().release()
-        //注销webRTC
-        SocketManager.getInstance().unConnect()
-
-        releaseReceiver()
-    }
-
-    /**
-     * 监听
-     */
-    override fun onClick(p0: View) {
-        when (p0.id) {
-            R.id.customer_list_linlyout -> {
-                push("/watch/contacts")
-            }
-            R.id.call_records_linlyout -> {
-                var intent = Intent(this, WatchCallRecordsActivity::class.java)
-                intent.putExtra("action", "ALL")
-                intent.putExtra("customer_id", "")
-                startActivity(intent)
-            }
-            R.id.user_name_linlyout -> {
-                if (Constants.userName==null){
-                    var intent = Intent(this, TakeoverActivity().javaClass)
-                    startActivity(intent)
-                } else {
-                    var intent = Intent(this, WatchCallRecordsActivity::class.java)
-                    intent.putExtra("action", "UNREAD")
-                    intent.putExtra("customer_id", "")
-                    startActivity(intent)
-                }
-            }
-            R.id.state_linlyout -> {
-            }
-            R.id.other_linyout -> {
-                val intent = Intent(this, WatchUserSettingActivity::class.java)
-                startActivity(intent)
-            }
-        }
-    }
-
-    /**
-     * 长按进入
-     */
-    override fun onLongClick(p0: View): Boolean {
-        when (p0.id) {
-            R.id.user_name_linlyout ->{
-                var intent = Intent(this, TakeoverActivity().javaClass)
-                startActivity(intent)
-            }
-        }
-        return true
-    }
-    override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
-        Log.i(TAG, "keyup keyCode " + keyCode)
-        return if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
-            //不执行父类点击事件
-            true
-        } else super.onKeyUp(keyCode, event)
-        //继续执行父类其他点击事件
-    }
-
-    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
-        Log.i(TAG, "keydown keyCode " + keyCode)
-
-        return super.onKeyDown(keyCode, event)
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-        if (messageEvent.tag == Constants.EVENT_UNTREATED_QUANTITY) {   //电量显示,由广播获取
-            var message = messageEvent.getMessage() as ArrayList<InteractionVO>
-            list_item_img_icon_num.text = "" + message.size
-        } else if (messageEvent.tag == Constants.EVENT_BATTERY_PERCENT) {
-            var message = messageEvent.getMessage() as Int
-            if (10 < message && message < 20) {
-                electric_quantity_tv.text = "" + message
-                battery_warning_tv.setTextColor(Color.parseColor("#FF3030"))
-                battery_warning_tv.visibility = View.VISIBLE
-                battery_warning_tv.text = "低电量,请注意充电"
-            } else if (10 > message) {
-                electric_quantity_tv.text = "" + message
-                battery_warning_tv.setTextColor(Color.parseColor("#8B2323"))
-                battery_warning_tv.visibility = View.VISIBLE
-                battery_warning_tv.text = "电量过低,请充电"
-            } else {
-                battery_warning_tv.visibility = View.GONE
-                electric_quantity_tv.text = "" + message
-            }
-        }
-    }
-
-    //WiFi监听
-    inner class WifiReceiver : BroadcastReceiver() {
-        override fun onReceive(context: Context, intent: Intent) {
-            if (intent.action == WifiManager.RSSI_CHANGED_ACTION) {
-                if (wifiManager != null && netType == NetHelper.NETWORK_WIFI) {
-                    val wifiInfo = wifiManager.getConnectionInfo()
-                    val wifi = wifiInfo.getRssi();//获取wifi信号强度
-                    if (wifi > -50 && wifi < 0) {//最强
-                        wifi_rssi_tv.text = "较强"
-                    } else if (wifi > -70 && wifi < -50) {//较强
-                        wifi_rssi_tv.text = "一般"
-                    } else if (wifi > -80 && wifi < -70) {//较弱
-                        wifi_rssi_tv.text = "微弱"
-                    } else if (wifi > -100 && wifi < -80) {//微弱
-                        wifi_rssi_tv.setTextColor(Color.parseColor("#FF3030"))
-                        wifi_rssi_tv.text = "信号较弱,请注意"
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 206
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WatchRegisterActivity.kt

@@ -1,206 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity
-
-import android.Manifest
-import android.content.Intent
-import android.content.pm.PackageManager
-import android.provider.Settings
-import android.support.v4.app.ActivityCompat
-import android.support.v4.content.ContextCompat
-import android.text.TextUtils
-import android.util.Log
-import android.view.KeyEvent
-import com.enation.javashop.android.jrouter.external.annotation.Router
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.net.engine.plugin.permission.RxPermissions
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.WatchActivityRegisterBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.component.home.service.TcpHandleService
-import com.wdkl.ncs.android.component.home.util.NetHelper
-import com.wdkl.ncs.android.component.home.util.Util
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.lib.base.BaseActivity
-import com.wdkl.ncs.android.lib.utils.joinManager
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchDeviceContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.WatchDevicePresenter
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import io.reactivex.Observable
-import kotlinx.android.synthetic.main.watch_activity_register.*
-import org.greenrobot.eventbus.Subscribe
-import org.greenrobot.eventbus.ThreadMode
-
-@Router(path = "/home/watchRegister")
-class WatchRegisterActivity : BaseActivity<WatchDevicePresenter, WatchActivityRegisterBinding>(), WatchDeviceContract.View {
-    var TAG = WatchRegisterActivity::class.java.getSimpleName()
-
-    private val WRITE_EXTERNAL_STORAGE_REQUEST_CODE = 127//这个值是自定义的一个int值,在申请多个权限时要
-
-    private var isRegister = true
-
-    override fun getLayId(): Int {
-        return R.layout.watch_activity_register
-    }
-
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    override fun init() {
-        val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
-
-        if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
-            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_PHONE_STATE), WRITE_EXTERNAL_STORAGE_REQUEST_CODE)
-        } else {
-            //TODO
-        }
-
-        Constants.imei = Util.getIMEI(this)
-        Log.i(TAG, "IMEI " + Util.getIMEI(this))
-
-        Constants.mac = NetHelper.getInstance().macAddress
-        //Constants.mac = "4C:C0:0A:8E:D6:BB"
-        Log.i(TAG, "mac " + Constants.mac)
-        tv_mac_addr.text = "MAC地址: " + Constants.mac + "\n" + "IMEI号:" + Constants.imei
-
-        Thread(Runnable {
-            while (isRegister) {
-                Log.i(TAG,"注册心跳")
-                runOnUiThread(Runnable {
-                    presenter.loadTcpServerHost()
-                })
-                try {
-                    Thread.sleep(3000)
-                } catch (e: Exception) {
-                }
-            }
-        }).start()
-    }
-
-    override fun bindEvent() {
-        setting_tv.setOnClickListener({
-            val intent = Intent(Settings.ACTION_SETTINGS)
-            startActivity(intent)
-        })
-    }
-
-    override fun destory() {
-    }
-
-    override fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO) {
-        isRegister = false
-        Constants.tcpServer = tcpSeverDTO.publicIp
-        Constants.tcpPort = tcpSeverDTO.tcpPort
-        Constants.heartBeat = tcpSeverDTO.readerIdleTime
-
-        startConnectTcpServer()
-        showMessage("开始连接服务器...")
-
-        //成功获利TCP服务器信息后,请求设备信息,并跳转至HOME
-        requestPermissions()
-    }
-
-    private fun startConnectTcpServer() {
-        Thread(Runnable {
-            run {
-                TcpClient.getInstance().init(Constants.tcpServer, Constants.tcpPort, Constants.heartBeat)
-            }
-        }).start()
-    }
-
-    override fun showData(data: DeviceVO) {
-        Log.i(TAG, "收到返回的设备信息 ")
-        Constants.partId = data.partId
-        Constants.deviceId = "" + data.id
-        Constants.sipId = data.sipId
-        Constants.ethIp = "192.168.1.138:8006/"
-        Constants.sipIp = "192.168.1.162"
-        Constants.sipId = data.sipId
-        Constants.sipPassword = data.sipPassword
-        Constants.userName = data.memberName
-        Constants.userRoleName = data.roleName
-
-        if(TextUtils.isEmpty(Constants.deviceId)||TextUtils.isEmpty(Constants.sipId)
-//                ||TextUtils.isEmpty(Constants.user_name)
-//                || TextUtils.isEmpty(Constants.user_role_name)
-        ){
-            showMessage("初始化数据时服务器返回数据不全,请联系管理员")
-            tv_feedback_device_info.text = "初始化数据时服务器返回数据不全,请联系管理员"
-            return
-        }else if (TextUtils.isEmpty(Constants.tcpServer)){
-            showMessage("初始化tcp连接数据为null")
-            tv_feedback_device_info.text = "初始化tcp连接数据为null"
-            return
-        }
-
-        initSDK(data.sipId)
-        showMessage("初始化完成")
-        toHome()
-    }
-
-    private fun initSDK(DeviceSipId: String) {
-        val intent = Intent(this, TcpHandleService::class.java)
-        startService(intent)
-    }
-
-    private fun requestPermissions() {
-        Observable.just("").compose(RxPermissions(this).ensure(Manifest.permission.CAMERA,
-                Manifest.permission.READ_EXTERNAL_STORAGE,
-                Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                Manifest.permission.ACCESS_WIFI_STATE,
-                Manifest.permission.BLUETOOTH,
-                Manifest.permission.RECORD_AUDIO,
-                Manifest.permission.READ_PHONE_STATE)).subscribe {
-            if (it) {
-                presenter.loadData(Constants.imei)// 传imei
-            } else {
-                showMessage("请重新授权,进入App")
-                requestPermissions()
-            }
-        }.joinManager(disposableManager)
-    }
-
-    fun toHome() {
-        //这个方法
-//        AppTool.Time.delay(200) {
-//            push("/watch/home")
-//            finish()
-//        }
-
-        var intent = Intent(this,WatchHome2Activity::class.java)
-        startActivity(intent)
-        finish()
-
-    }
-
-    override fun onError(message: String, type: Int) {
-
-    }
-
-    override fun complete(message: String, type: Int) {
-
-    }
-
-    override fun start() {
-
-    }
-
-    override fun networkMonitor(state: NetState) {
-
-    }
-    override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
-        return if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
-
-            //不执行父类点击事件
-            true
-        } else super.onKeyUp(keyCode, event)
-        //继续执行父类其他点击事件
-    }
-
-    @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMoonEvent(messageEvent: MessageEvent) {
-    }
-}

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

@@ -1,94 +0,0 @@
-package com.wdkl.ncs.android.component.home.activity;
-
-import android.Manifest;
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.view.View;
-import android.widget.Button;
-import android.widget.SeekBar;
-import android.widget.TextView;
-import android.widget.Toast;
-
-import com.google.common.base.Strings;
-import com.wdkl.ncs.android.component.home.BuildConfig;
-import com.wdkl.ncs.android.component.home.R;
-import com.wdkl.ncs.android.component.home.service.TcpHandleService;
-import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig;
-import com.wdkl.ncs.android.component.home.util.NetHelper;
-import com.wdkl.ncs.android.component.nursehome.common.Constants;
-import com.wdkl.ncs.android.lib.utils.ExtendMethodsKt;
-import com.wdkl.ncs.android.middleware.tcp.TcpClient;
-import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil;
-import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
-import com.wdkl.ncs.android.middleware.utils.MessageEvent;
-
-import org.greenrobot.eventbus.EventBus;
-import org.greenrobot.eventbus.Subscribe;
-import org.greenrobot.eventbus.ThreadMode;
-
-public class WatchUserSettingActivity extends Activity {
-
-    private TextView tvAppVersion,tvDeviceId,tvDeviceImei,tvDeviceIp;
-
-    private Button btnChange,btnCheckUpdate,btnSystemSetting;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.user_setting_layout);
-
-        tvAppVersion = findViewById(R.id.tv_app_version);
-        tvDeviceId = findViewById(R.id.tv_device_id);
-        tvDeviceImei = findViewById(R.id.tv_device_imei);
-        tvDeviceIp = findViewById(R.id.tv_device_ip);
-
-        btnChange = findViewById(R.id.btn_user_change);
-        btnCheckUpdate = findViewById(R.id.btn_check_update);
-        btnSystemSetting = findViewById(R.id.btn_system_setting);
-
-        tvAppVersion.setText(BuildConfig.VERSION_NAME);
-        tvDeviceId.setText(Constants.Companion.getDeviceId());
-        tvDeviceImei.setText(Constants.Companion.getImei());
-        tvDeviceIp.setText(NetHelper.getInstance().getLocalIP());
-
-        btnChange.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                TcpModel userChangeModel = DeviceUtil.userChange(Integer.parseInt(Constants.Companion.getDeviceId()));
-                TcpClient.getInstance().sendMsg(userChangeModel.toJson());
-                ExtendMethodsKt.showMessage("换班通知发送成功,请等待处理...");
-                WatchUserSettingActivity.this.finish();
-            }
-        });
-
-        final Context _this = this;
-        btnCheckUpdate.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-            if ((System.currentTimeMillis() / 1000) - TcpHandleService.instance.getUpdateLastTime() > 10) {
-                TcpHandleService.instance.setUpdateLastTime(System.currentTimeMillis() / 1000);
-                Intent intent = new Intent();
-                intent.setClass(_this, AppUpdateActivity.class);
-                startActivity(intent);
-            } else {
-                Toast.makeText(_this, "请10秒后再尝试", Toast.LENGTH_SHORT).show();
-            }
-            }
-        });
-        btnSystemSetting.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent(Settings.ACTION_SETTINGS);
-                startActivity(intent);
-            }
-        });
-    }
-}

+ 6 - 16
home/src/main/code/com/wdkl/ncs/android/component/home/activity/WebRTCVoipAudioActivity.kt

@@ -131,7 +131,6 @@ class WebRTCVoipAudioActivity : Activity(), View.OnClickListener {
         Handler().postDelayed({
             call_duration_tv.base = SystemClock.elapsedRealtime()
             call_duration_tv.start()
-
         }, 2900)
 
         var room = UUID.randomUUID().toString() + System.currentTimeMillis()
@@ -139,19 +138,10 @@ class WebRTCVoipAudioActivity : Activity(), View.OnClickListener {
 
         val b = gEngineKit?.startOutCall(applicationContext, room, targetId, true)
         val session = gEngineKit?.getCurrentSession()
-        val bluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
-        val isBluetoothHeadsetConnected = (bluetoothAdapter != null && bluetoothAdapter.isEnabled
-                && bluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED)
-        if (session?.isHeadphonesPlugged()!!){
-            session?.toggleHeadset(true)
-        } else if (isBluetoothHeadsetConnected){
-            session?.toggleBluetooth()
-        } else {
-            Handler().postDelayed({
-                //防止建立连接的时候 不能成功切换外音
-                session?.toggleSpeaker(true)
-            }, 3500)
-        }
+        Handler().postDelayed({
+            //防止建立连接的时候 不能成功切换外音
+            session?.toggleSpeaker(true)
+        }, 3500)
     }
 
     override fun onClick(p0: View?) {
@@ -195,10 +185,10 @@ class WebRTCVoipAudioActivity : Activity(), View.OnClickListener {
         //给服务器发送挂断 tcp
         if (tcpModel.type == TcpType.VOICE) {
             if (tcpModel.action === TcpAction.VoiceAction.SUCCESS) {
-                val voiceUtilTcpModel = VoiceUtil.voiceHandoff(Integer.parseInt(Constants.deviceId), tcpModel.toId, interactionVO.id)
+                val voiceUtilTcpModel = VoiceUtil.voiceHandoff(Constants.deviceId, tcpModel.toId, interactionVO.id)
                 TcpClient.getInstance().sendMsg(voiceUtilTcpModel.toJson())
             } else if (tcpModel.action === TcpAction.VoiceAction.CALL) {
-                val voiceUtilTcpModel = VoiceUtil.voiceHandoff(Integer.parseInt(Constants.deviceId), tcpModel.fromId, interactionVO.id)
+                val voiceUtilTcpModel = VoiceUtil.voiceHandoff(Constants.deviceId, tcpModel.fromId, interactionVO.id)
                 TcpClient.getInstance().sendMsg(voiceUtilTcpModel.toJson())
             }
 

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

@@ -18,7 +18,6 @@ import android.view.View
 import com.google.gson.Gson
 import com.wdkl.core.voip.AsyncPlayer
 import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.broadcast.MyMediaButtonReceiver
 import com.wdkl.ncs.android.component.home.settingconfig.SettingConfig
 import com.wdkl.ncs.android.component.home.util.MediaPlayHelper
 import com.wdkl.ncs.android.component.nursehome.common.Constants
@@ -108,7 +107,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
                 //todo 给服务器发送转接 tcp
                 DeviceChannel.calling = false
                 val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                val voiceTransferTcpModel = VoiceUtil.voiceTransfer(Integer.parseInt(Constants.deviceId), tcpModel.fromId, interactionVO)
+                val voiceTransferTcpModel = VoiceUtil.voiceTransfer(Constants.deviceId, tcpModel.fromId, interactionVO)
                 TcpClient.getInstance().sendMsg(voiceTransferTcpModel.toJson())
                 mVibrator.cancel()
 //                asyncPlayer.stop()
@@ -130,7 +129,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
         countDownTimer?.cancel()
         //t给服务器发送拒接 tcp
         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-        val voiceUtilTcpModel = VoiceUtil.voiceReject(Integer.parseInt(Constants.deviceId), tcpModel.fromId, interactionVO.id)
+        val voiceUtilTcpModel = VoiceUtil.voiceReject(Constants.deviceId, tcpModel.fromId, interactionVO.id)
         TcpClient.getInstance().sendMsg(voiceUtilTcpModel.toJson())
         mVibrator.cancel()
 //        asyncPlayer.stop()
@@ -145,7 +144,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
         countDownTimer?.cancel()
         //给服务器发送接听 tcp
         val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-        val voiceUtilTcpModel = VoiceUtil.voiceAccept(Integer.parseInt(Constants.deviceId), tcpModel.fromId, interactionVO.id)
+        val voiceUtilTcpModel = VoiceUtil.voiceAccept(Constants.deviceId, tcpModel.fromId, interactionVO.id)
         TcpClient.getInstance().sendMsg(voiceUtilTcpModel.toJson())
         mVibrator.cancel()
         val intent = Intent(this, WebRTCVoipAudioActivity::class.java)
@@ -171,7 +170,7 @@ class WebRTCVoipAudioRingingActivity : Activity(), View.OnClickListener {
                 MediaPlayHelper.getInstance().stopMusic()
                 //todo 给服务器发送转接 tcp
                 val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                val voiceTransferTcpModel = VoiceUtil.voiceTransfer(Integer.parseInt(Constants.deviceId), tcpModel.fromId, interactionVO)
+                val voiceTransferTcpModel = VoiceUtil.voiceTransfer(Constants.deviceId, tcpModel.fromId, interactionVO)
                 TcpClient.getInstance().sendMsg(voiceTransferTcpModel.toJson())
                 mVibrator.cancel()
 //                asyncPlayer.stop()

+ 0 - 113
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ChildCategoryAdapter.kt

@@ -1,113 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.databinding.DataBindingUtil
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.CategroyChildItemBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.getColorCompatible
-import com.wdkl.ncs.android.middleware.model.ChildCategoryViewModel
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * @author LDD
- * @Date   2018/1/30 下午2:54
- * @From   com.wdkl.ncs.android.component.home.adapter
- * @Note   三级分类适配器
- */
-class ChildCategoryAdapter constructor(private val mLayoutHelper: LayoutHelper, var data: List<ChildCategoryViewModel>) : BaseDelegateAdapter<BaseRecyclerViewHolder<CategroyChildItemBinding>, ChildCategoryViewModel>() {
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/2/6 上午10:50
-     * @Note   数据提供者
-     * @return 数据源
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @Name  repairCount
-     * @Type  Int
-     * @Note  需要填充的数量
-     */
-    private var repairCount: Int = 0
-
-
-    init {
-        /**填充数量不到3的倍数的数据量*/
-        repairCount = 3 - (data.size % 3)
-        if (repairCount == 3) repairCount = 0
-    }
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/1/30 下午2:56
-     * @Note   获取layoutHelper
-     * @return layouthelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return mLayoutHelper
-    }
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/1/30 下午2:57
-     * @Note   获取ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder<CategroyChildItemBinding> {
-        val binding = DataBindingUtil.inflate<CategroyChildItemBinding>(LayoutInflater.from(parent.context),R.layout.categroy_child_item,parent,false)
-        return BaseRecyclerViewHolder(binding)
-    }
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/1/30 下午2:57
-     * @Note   绑定数据
-     */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<CategroyChildItemBinding>, position: Int) {
-        holder.itemView.setBackgroundColor(holder.itemView.context.getColorCompatible(R.color.javashop_color_category_right_child_bg))
-        if (position >= data.size){
-            holder.getBinding().categoryChildItemTv.visibility = View.GONE
-            holder.getBinding().categoryChildItemIv.visibility = View.GONE
-        }else{
-            holder.itemView.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ((ScreenTool.getScreenWidth(holder.getBinding().root.context)*0.7- ScreenTool.dip2px(holder.getBinding().root.context,20f))/3*1.4).toInt())
-            holder.getBinding().categoryChildItemTv.visibility = View.VISIBLE
-            holder.getBinding().categoryChildItemIv.visibility = View.VISIBLE
-            holder.getBinding().data = data[position]
-        }
-    }
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/1/30 下午2:57
-     * @Note   item个数
-     */
-    override fun getItemCount(): Int {
-        return data.size + repairCount
-    }
-
-    /**
-     * @author LDD
-     * @From   ChildCategoryAdapter
-     * @Date   2018/1/30 下午2:58
-     * @Note   item过滤器 过滤不需要绑定事件的item
-     * @param  position item坐标
-     * @return 是否需要绑定
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return position <= data.size-1
-    }
-
-}

+ 0 - 132
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorBannerAdapter.kt

@@ -1,132 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.ImageView
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.bumptech.glide.Glide
-import com.bumptech.glide.load.engine.DiskCacheStrategy
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemBannerLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.base.BaseControl
-import com.wdkl.ncs.android.lib.base.LIFE_CYCLE_PAUSE
-import com.wdkl.ncs.android.lib.base.LIFE_CYCLE_RESUME
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.BannerModel
-import com.enation.javashop.utils.base.tool.ScreenTool
-import com.zhouwei.mzbanner.holder.MZViewHolder
-import java.lang.ref.WeakReference
-
-/**
- * 单个图片item
- */
-class FloorBannerAdapter(val lifeController : WeakReference<BaseControl>,val data : ArrayList<BannerModel>,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemBannerLayBinding>,ArrayList<BannerModel>>() {
-
-    private var render = false
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    override fun getItemViewType(position: Int): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemBannerLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_banner_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemBannerLayBinding>?, position: Int) {
-        if (render){
-            return
-        }
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.5).toInt())
-        holder?.bind {self ->
-            render = true
-            self.banner.setBannerPageClickListener { view, i ->
-                agreement.event(data[i])
-            }
-            self.banner.setPages(data.toList()) {return@setPages BannerViewHolder()}
-            lifeController.get()?.addLifeCycleListener { state ->
-                if (state == LIFE_CYCLE_PAUSE){
-                    self.banner.pause()
-                }else if (state == LIFE_CYCLE_RESUME){
-                    self.banner.start()
-                }
-            }
-            self.banner.start()
-        }
-
-    }
-}
-
-class BannerViewHolder : MZViewHolder<BannerModel>{
-
-    private var imageView : ImageView? = null
-
-    override fun onBind(p0: Context, p1: Int, p2: BannerModel) {
-        Glide.with(p0)
-                .load(p2.image)
-                .diskCacheStrategy(DiskCacheStrategy.ALL)
-                .dontAnimate()
-                .into(imageView)
-    }
-
-    override fun createView(p0: Context): View {
-        var view = LayoutInflater.from(p0).inflate(R.layout.banner_image_lay,null)
-        imageView = view.findViewById(R.id.image)
-        return view
-    }
-
-}

+ 0 - 136
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorCornerBannerAdapter.kt

@@ -1,136 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.ImageView
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.bumptech.glide.Glide
-import com.bumptech.glide.load.engine.DiskCacheStrategy
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorCornerItemBannerLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.base.BaseControl
-import com.wdkl.ncs.android.lib.base.LIFE_CYCLE_PAUSE
-import com.wdkl.ncs.android.lib.base.LIFE_CYCLE_RESUME
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.BannerModel
-import com.enation.javashop.utils.base.tool.ScreenTool
-import com.zhouwei.mzbanner.holder.MZViewHolder
-import java.lang.ref.WeakReference
-
-/**
- * 单个图片item
- */
-class FloorCornerBannerAdapter(val lifeController : WeakReference<BaseControl>,val data : ArrayList<BannerModel>,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorCornerItemBannerLayBinding>,ArrayList<BannerModel>>() {
-
-    private var render = false
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorCornerItemBannerLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_corner_item_banner_lay)
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 2
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorCornerItemBannerLayBinding>?, position: Int) {
-        if (render){
-            return
-        }
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.3).toInt())
-        holder?.bind {self ->
-            render = true
-            self.banner.setBannerPageClickListener { view, i ->
-                agreement.event(data[i])
-            }
-            self.banner.setPages(data.toList(),{return@setPages BannerCornerViewHolder()})
-            lifeController.get()?.addLifeCycleListener { state ->
-                if (state == LIFE_CYCLE_PAUSE){
-                    self.banner.pause()
-                }else if (state == LIFE_CYCLE_RESUME){
-                    self.banner.start()
-                }
-            }
-            self.banner.start()
-        }
-
-    }
-}
-
-class BannerCornerViewHolder : MZViewHolder<BannerModel>{
-
-    private var imageView : ImageView? = null
-
-    override fun onBind(p0: Context, p1: Int, p2: BannerModel) {
-        Glide.with(p0)
-                .load(p2.image)
-                .diskCacheStrategy(DiskCacheStrategy.ALL)
-                .dontAnimate()
-                .into(imageView)
-    }
-
-    override fun createView(p0: Context): View {
-        var view = LayoutInflater.from(p0).inflate(R.layout.banner_corner_image_lay,null)
-        imageView = view.findViewById(R.id.image)
-        return view
-    }
-
-}

+ 0 - 99
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorFiveImageAdapter.kt

@@ -1,99 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemFiveImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorFiveImageAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemFiveImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 3
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemFiveImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_five_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemFiveImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.2).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.LEFT)
-            loadImage(data.itemList[1].getImageValue(),self.imageB)
-            loadImage(data.itemList[2].getImageValue(),self.imageC)
-            loadImage(data.itemList[3].getImageValue(),self.imageD)
-            loadImageRound(data.itemList[4].getImageValue(),self.imageE,RoundedCornersTransformation.CornerType.RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-            agreement.floorHandle(self.imageD,data.itemList[3])
-            agreement.floorHandle(self.imageE,data.itemList[4])
-        }
-    }
-}

+ 0 - 98
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorFourImageAdapter.kt

@@ -1,98 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemFourImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorFourImageAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemFourImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemFourImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_four_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 4
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemFourImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.25).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.LEFT)
-            loadImage(data.itemList[1].getImageValue(),self.imageB)
-            loadImage(data.itemList[2].getImageValue(),self.imageC)
-            loadImageRound(data.itemList[3].getImageValue(),self.imageD,RoundedCornersTransformation.CornerType.RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-            agreement.floorHandle(self.imageD,data.itemList[3])
-        }
-    }
-}

+ 0 - 97
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorLeftOneRightTwoAdapter.kt

@@ -1,97 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemLoneRtwoImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemThreeImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorLeftOneRightTwoAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemLoneRtwoImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 5
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemLoneRtwoImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_lone_rtwo_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemLoneRtwoImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.5).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.LEFT)
-            loadImageRound(data.itemList[1].getImageValue(),self.imageB,RoundedCornersTransformation.CornerType.TOP_RIGHT)
-            loadImageRound(data.itemList[2].getImageValue(),self.imageC,RoundedCornersTransformation.CornerType.BOTTOM_RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-        }
-    }
-}

+ 0 - 96
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorLeftRightAdapter.kt

@@ -1,96 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemLeftRightLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorLeftRightAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemLeftRightLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemLeftRightLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_left_right_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 6
-    }
-
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemLeftRightLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.25).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.LEFT)
-            loadImage(data.itemList[1].getImageValue(),self.imageB)
-            loadImageRound(data.itemList[2].getImageValue(),self.imageC,RoundedCornersTransformation.CornerType.RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-        }
-    }
-}

+ 0 - 147
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorMenuAdapter.kt

@@ -1,147 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.content.Context
-import android.graphics.Color
-import android.util.TypedValue
-import android.view.Gravity
-import android.view.View
-import android.view.ViewGroup
-import android.widget.ImageView
-import android.widget.LinearLayout
-import android.widget.TextView
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemMenuLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorMenuModel
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * 单个图片item
- */
-class FloorMenuAdapter(val data : ArrayList<FloorMenuModel>,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemMenuLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 7
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemMenuLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_menu_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),5.dpToPx(),5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemMenuLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.4).toInt())
-        holder?.bind { self ->
-            self.root.setBackgroundResource(R.drawable.javashop_corners_common)
-            self.menuB.removeAllViews()
-            self.menuA.removeAllViews()
-            data.forEachIndexed { index, item ->
-                if (index > 4){
-                    self.menuB.addView(createMenuItem(self.root.context,item))
-                }else{
-                    self.menuA.addView(createMenuItem(self.root.context,item))
-                }
-            }
-        }
-    }
-
-
-    fun createMenuItem(context: Context,menuItem :FloorMenuModel) :View{
-
-        val parent = LinearLayout(context)
-        parent.orientation = LinearLayout.VERTICAL
-        parent.gravity = Gravity.CENTER
-        val itemSize :Int = (ScreenTool.getScreenWidth(context)/5).toInt() - 2.dpToPx()
-
-        val layoutParams = LinearLayout.LayoutParams(itemSize,itemSize).then { self ->
-            self.gravity = Gravity.CENTER
-        }
-
-        parent.layoutParams = layoutParams
-
-
-        val image = ImageView(context).then { self ->
-            self.scaleType = ImageView.ScaleType.FIT_XY
-            self.layoutParams = LinearLayout.LayoutParams((itemSize*0.6).toInt(),(itemSize*0.6).toInt())
-        }
-
-        val tv = TextView(context).then { self ->
-            self.layoutParams = LinearLayout.LayoutParams(itemSize,(itemSize*0.3).toInt())
-            self.gravity = Gravity.CENTER
-            self.setTextColor(Color.parseColor("#474747"))
-            self.setTextSize(TypedValue.COMPLEX_UNIT_PX, (itemSize*0.15).toFloat())
-        }
-
-        parent.addView(image)
-        parent.addView(tv)
-
-        loadImage(menuItem.image,image)
-        tv.text = menuItem.text
-
-        agreement.floorHandle(parent,menuItem)
-        return parent
-
-    }
-
-}

+ 0 - 96
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorRightOneLeftTwoAdapter.kt

@@ -1,96 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemLtwoRoneImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorRightOneLeftTwoAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemLtwoRoneImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 8
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemLtwoRoneImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_ltwo_rone_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemLtwoRoneImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.5).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.TOP_LEFT)
-            loadImageRound(data.itemList[1].getImageValue(),self.imageB,RoundedCornersTransformation.CornerType.BOTTOM_LEFT)
-            loadImageRound(data.itemList[2].getImageValue(),self.imageC,RoundedCornersTransformation.CornerType.RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-        }
-    }
-}

+ 0 - 223
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorSecKillAdapter.kt

@@ -1,223 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.support.v7.widget.RecyclerView
-import android.text.SpannableStringBuilder
-import android.text.Spanned
-import android.text.style.AbsoluteSizeSpan
-import android.text.style.StrikethroughSpan
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSeckillLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.base.BaseFragment
-import com.wdkl.ncs.android.lib.base.LIFE_CYCLE_DESTORY
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.middleware.model.GoodsItemViewModel
-import com.wdkl.ncs.android.middleware.model.SecKillListViewModel
-import com.enation.javashop.utils.base.tool.BaseToolActivity
-import com.enation.javashop.utils.base.tool.ScreenTool
-import java.lang.ref.WeakReference
-import java.util.*
-
-/**
- * 单个图片item
- */
-class FloorSecKillAdapter(val weakControl :WeakReference<BaseFragment<*, *>>, complete :()->Unit,val data : ArrayList<GoodsItemViewModel>, val time :SecKillListViewModel , val next :SecKillListViewModel?) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemSeckillLayBinding>,ArrayList<GoodsItemViewModel>>() {
-
-    /**
-     * @Name  timer
-     * @Type  TimeEngine
-     * @Note  倒计时引擎
-     */
-    var timer :TimeEngine  = TimeEngine.build(if(next == null){((TimeHandle.getCurrentDay24Mill() - System.currentTimeMillis()) / 1000)}else{next.distanceTime.toLong()}).needSingleProcess()
-
-
-    override fun onDetachedFromRecyclerView(recyclerView: RecyclerView?) {
-        super.onDetachedFromRecyclerView(recyclerView)
-        timer.destory()
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 9
-    }
-
-
-    /**初始化*/
-    init {
-
-        timer.setComplete(complete)
-
-        weakControl.get()?.addLifeCycleListener {
-            state ->
-            if (state == LIFE_CYCLE_DESTORY){
-                timer.destory()
-            }
-        }
-
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemSeckillLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_seckill_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemSeckillLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.4).toInt())
-        holder?.bind { self ->
-            self.root.setOnClickListener {
-                self.root.context.to<BaseToolActivity>().push("/promotion/seckill/main")
-            }
-                timer.execute(call = { _, hour, min, sec ->
-                    weakControl.get()!!.activity.runOnUiThread {
-                        self.hourTv.text = (if (hour < 10){ "0$hour"  } else { "$hour" })
-                        self.minTv.text = (if (min < 10){ "0$min"  } else { "$min" })
-                        self.secTv.text = (if (sec < 10){ "0$sec"  } else { "$sec" })
-                    }
-                })
-
-           self.title.text = String.format("%2d点场",time.text.toInt()!!)
-            if (data.getOrNull(0) != null){
-                self.goods1.setOnClickListener {
-                    self.root.context.to<BaseToolActivity>(). push("/goods/detail",{
-                        it.withInt("goodsId",data[0].goodsId)
-                    })
-                }
-                self.goods1.visable()
-                self.orgPrice1.text = SpannableStringBuilder(String.format("¥%.0f",data[0].orginPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(5.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                    self.setSpan(StrikethroughSpan(), 0, String.format("¥%.0f",data[0].orginPrice).length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                self.price1.text = SpannableStringBuilder(String.format("¥%.0f",data[0].goodsPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(8.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                loadImage(data[0].goodsImage,self.image1)
-            }else{
-                self.goods1.invisable()
-            }
-            if (data.getOrNull(1) != null){
-                self.goods2.visable()
-                self.goods2.setOnClickListener {
-                    self.root.context.to<BaseToolActivity>(). push("/goods/detail",{
-                        it.withInt("goodsId",data[1].goodsId)
-                    })
-                }
-                self.orgPrice2.text = SpannableStringBuilder(String.format("¥%.0f",data[1].orginPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(5.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                    self.setSpan(StrikethroughSpan(), 0, String.format("¥%.0f",data[1].orginPrice).length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                self.price2.text = SpannableStringBuilder(String.format("¥%.0f",data[1].goodsPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(8.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                loadImage(data[1].goodsImage,self.image2)
-            }else{
-                self.goods2.invisable()
-            }
-            if (data.getOrNull(2) != null){
-                self.goods3.visable()
-                self.goods3.setOnClickListener {
-                    self.root.context.to<BaseToolActivity>(). push("/goods/detail",{
-                        it.withInt("goodsId",data[2].goodsId)
-                    })
-                }
-                self.orgPrice3.text = SpannableStringBuilder(String.format("¥%.0f",data[2].orginPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(5.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                    self.setSpan(StrikethroughSpan(), 0, String.format("¥%.0f",data[2].orginPrice).length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                self.price3.text = SpannableStringBuilder(String.format("¥%.0f",data[2].goodsPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(8.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                loadImage(data[2].goodsImage,self.image3)
-            }else{
-                self.goods3.invisable()
-            }
-            if (data.getOrNull(3) != null){
-                self.goods4.visable()
-                self.goods4.setOnClickListener {
-                    self.root.context.to<BaseToolActivity>(). push("/goods/detail",{
-                        it.withInt("goodsId",data[3].goodsId)
-                    })
-                }
-                self.orgPrice4.text = SpannableStringBuilder(String.format("¥%.0f",data[3].orginPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(5.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                    self.setSpan(StrikethroughSpan(), 0, String.format("¥%.0f",data[3].orginPrice).length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                self.price4.text = SpannableStringBuilder(String.format("¥%.0f",data[3].goodsPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(8.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                loadImage(data[3].goodsImage,self.image4)
-            }else{
-                self.goods4.invisable()
-            }
-            if (data.getOrNull(4) != null){
-                self.goods5.visable()
-                self.goods5.setOnClickListener {
-                    self.root.context.to<BaseToolActivity>(). push("/goods/detail",{
-                        it.withInt("goodsId",data[4].goodsId)
-                    })
-                }
-                self.orgPrice5.text = SpannableStringBuilder(String.format("¥%.0f",data[4].orginPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(5.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                    self.setSpan(StrikethroughSpan(), 0, String.format("¥%.0f",data[4].orginPrice).length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                self.price5.text = SpannableStringBuilder(String.format("¥%.0f",data[4].goodsPrice)).then { self ->
-                    self.setSpan(AbsoluteSizeSpan(8.dpToPx()), 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
-                }
-                loadImage(data[4].goodsImage,self.image5)
-            }else{
-                self.goods5.invisable()
-            }
-        }
-    }
-}

+ 0 - 90
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorSingleImageAdapter.kt

@@ -1,90 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * 单个图片item
- */
-class FloorSingleImageAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemSingleImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 10
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemSingleImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_single_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemSingleImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.3).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-        }
-    }
-}

+ 0 - 89
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorTextAdapter.kt

@@ -1,89 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemTextLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * 单个图片item
- */
-class FloorTextAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemTextLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 11
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemTextLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_text_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(10,0,10,0)
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemTextLayBinding>?, position: Int) {
-        holder?.bind { self ->
-            self.text.text = data.itemList[0].getImageValue()
-            agreement.floorHandle(self.text,data.itemList[0])
-        }
-    }
-}

+ 0 - 96
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorThreeImageAdapter.kt

@@ -1,96 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemThreeImageLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-import jp.wasabeef.glide.transformations.RoundedCornersTransformation
-
-/**
- * 单个图片item
- */
-class FloorThreeImageAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemThreeImageLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 12
-    }
-
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemThreeImageLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_three_image_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemThreeImageLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)/3).toInt())
-        holder?.bind { self ->
-            loadImageRound(data.itemList[0].getImageValue(),self.imageA,RoundedCornersTransformation.CornerType.LEFT)
-            loadImage(data.itemList[1].getImageValue(),self.imageB)
-            loadImageRound(data.itemList[2].getImageValue(),self.imageC,RoundedCornersTransformation.CornerType.RIGHT)
-            agreement.floorHandle(self.imageA,data.itemList[0])
-            agreement.floorHandle(self.imageB,data.itemList[1])
-            agreement.floorHandle(self.imageC,data.itemList[2])
-        }
-    }
-}

+ 0 - 90
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/FloorTitleAdapter.kt

@@ -1,90 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.databinding.FloorItemSingleImageLayBinding
-import com.wdkl.ncs.android.component.home.databinding.FloorItemTitleLayBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.dpToPx
-import com.wdkl.ncs.android.lib.utils.then
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.enation.javashop.imagepluin.utils.GlideUtils
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * 单个图片item
- */
-class FloorTitleAdapter(val data : FloorViewModel,val agreement: FloorActionAgreement) :BaseDelegateAdapter<BaseRecyclerViewHolder<FloorItemTitleLayBinding>,FloorItem>() {
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:26
-     * @Note   数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-
-    override fun getItemViewType(position: Int): Int {
-        return 13
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   item过滤
-     * @param  position Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<FloorItemTitleLayBinding> {
-        return BaseRecyclerViewHolder.build(parent,R.layout.floor_item_title_lay)
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:27
-     * @Note   获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-    /**
-     * @author LDD
-     * @From   SingleImageAdapter
-     * @Date   2018/8/16 下午5:28
-     * @Note   创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1).then { self ->
-            self.setMargin(5.dpToPx(),0,5.dpToPx(),5.dpToPx())
-        }
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<FloorItemTitleLayBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.getScreenWidth(holder?.databinding?.root?.context!!)*0.12).toInt())
-        holder?.bind { self ->
-            loadImage(data.itemList[0].getImageValue(),self.image)
-            agreement.floorHandle(self.image,data.itemList[0])
-        }
-    }
-}

+ 0 - 93
home/src/main/code/com/wdkl/ncs/android/component/home/adapter/ParentCategoryAdapter.kt

@@ -1,93 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.databinding.DataBindingUtil
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.CategoryParentItemBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.enation.javashop.utils.base.tool.ScreenTool
-
-/**
- * @author LDD
- * @Date   2018/1/30 下午2:50
- * @From   com.wdkl.ncs.android.component.home.adapter
- * @Note   二级分类适配器
- */
-class ParentCategoryAdapter(val name : String) : BaseDelegateAdapter<BaseRecyclerViewHolder<CategoryParentItemBinding>,String>() {
-
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/2/8 下午3:27
-     * @Note   数据员提供者
-     * @return 数据源
-     */
-    override fun dataProvider(): Any {
-        return name
-    }
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/2/8 下午3:28
-     * @Note   响应事件拦截方法
-     * @param  position 坐标
-     * @return 是否相应
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return false
-    }
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/1/30 下午2:52
-     * @Note   获取LayoutHelper
-     * @return LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        return LinearLayoutHelper(0,1)
-    }
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/1/30 下午2:52
-     * @Note   ViewHolder创建
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<CategoryParentItemBinding> {
-        return BaseRecyclerViewHolder(DataBindingUtil.inflate(LayoutInflater.from(parent?.context),R.layout.category_parent_item,parent,false))
-    }
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/1/30 下午2:53
-     * @Note   绑定数据
-     */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<CategoryParentItemBinding>?, position: Int) {
-        holder?.itemView?.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.dip2px(holder?.itemView?.context,35f)))
-        holder?.bind {
-                binding ->
-                binding.name = name
-            }
-    }
-
-    /**
-     * @author LDD
-     * @From   ParentCategoryAdapter
-     * @Date   2018/1/30 下午2:53
-     * @Note   获取item总数
-     * @return item总数
-     */
-    override fun getItemCount(): Int {
-        return 1
-    }
-
-}

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

@@ -1,42 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.util.Log
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.google.gson.JsonObject
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.TakeoverItemBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-
-class TakeoverItemAdapter(val data:ArrayList<JsonObject>) : BaseDelegateAdapter<BaseRecyclerViewHolder<TakeoverItemBinding>, JsonObject>(){
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    override fun getItemCount(): Int {
-        return data.size
-    }
-
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        Log.i("abc",data.toString())
-        return LinearLayoutHelper(0,data.size)
-    }
-
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<TakeoverItemBinding> {
-        return BaseRecyclerViewHolder.build(parent, R.layout.takeover_item)
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<TakeoverItemBinding>?, position: Int) {
-        holder?.bind {
-            binding ->
-            val itemData = getItem(position)
-            binding.clerkName.text = itemData.get("clerk_name").asString
-        }
-    }
-}

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

@@ -1,254 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.util.Log
-import android.view.View
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.AdapterWatchCallRecordsItemBinding
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.component.nursehome.util.MediaPlayer
-import com.wdkl.ncs.android.component.nursehome.util.TimeTransition
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.lib.utils.showMessage
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import com.wdkl.ncs.android.middleware.tcp.TcpClient
-import com.wdkl.ncs.android.middleware.tcp.channel.EventUtil
-import com.wdkl.ncs.android.middleware.tcp.channel.ImUtil
-import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
-
-/**
- * 呼叫记录适配器
- */
-class WatchCallRecordsItemAdapter(val data: ArrayList<InteractionVO>) : BaseDelegateAdapter<BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding>, InteractionVO>() {
-    var TAG = WatchCallRecordsItemAdapter::class.java.getSimpleName()
-
-    /**
-     * 数据提供者
-     */
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    /**
-     * Item坐标
-     */
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-
-    /**
-     * 获取Item总数
-     */
-    override fun getItemCount(): Int {
-        return data.size
-    }
-
-    /**
-     * 创建LayoutHelper
-     */
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        Log.i("abc", data.toString());
-        return LinearLayoutHelper(0, data.size)
-    }
-
-    /**
-     * 创建ViewHolder
-     */
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding> {
-        return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_call_records_item)
-    }
-
-    /**
-     * 绑定数据
-     */
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchCallRecordsItemBinding>?, position: Int) {
-        holder?.bind { binding ->
-            val itemData = getItem(position)
-
-            if (itemData.createDate != null) {
-                binding.callTimeTv.text = TimeTransition().stampToDate(itemData.createDate*1000)
-            }
-
-            //是否已播放 已响应
-            if (itemData.actionEnd != null) {
-                Log.e(TAG, "" + itemData.actionEnd+" "+position)
-                Log.e(TAG, "" + itemData.actionType+" "+position)
-                Log.e(TAG, "" + itemData.data+" "+position)
-
-                Log.e(TAG, "" + itemData.actionDirectionType+" "+position)
-                Log.e(TAG, "" + TcpType.IM.name+" "+position)
-
-                binding.treatmentStateImagev.setImageResource(R.drawable.yi_chu_li)
-                binding.treatmentStateImagev.visibility = View.VISIBLE
-                binding.processingTimeTv.visibility = View.VISIBLE
-
-                //判断是呼入还是呼出 1 分机到主机 2主机到分机
-                if(itemData.actionDirectionType == 1){
-                    binding.sickbedTv.text = itemData.fromFrameFullName
-                    binding.nameTv.text = itemData.fromMemberName
-                    //TODO 图标显示不正常 暂时没放完整图标
-                    binding.callStatusImagev.setImageResource(R.drawable.hu_ru_yi_jie)
-                }else if(itemData.actionDirectionType == 2 || itemData.actionDirectionType == 3){
-                    binding.sickbedTv.text = itemData.toFrameFullName
-                    binding.nameTv.text = itemData.toMemberName
-                    binding.callStatusImagev.setImageResource(R.drawable.hu_chu_yi_jie)
-                }
-
-
-                if(itemData.actionType == TcpType.SOS.name){ //sos紧急呼叫 已处理
-                    binding.playTv.visibility = View.GONE
-                    binding.projectTv.visibility = View.VISIBLE
-                    binding.conductorNameTv.visibility = View.VISIBLE
-                    binding.projectTv.text = "SOS"
-                    binding.conductorNameTv.text = itemData.toMemberName
-                    binding.processingTimeTv.text = TimeTransition().stampToDate(itemData.actionEnd*1000)
-                    binding.projectTv.setBackgroundResource(R.drawable.sp_event_handled)
-
-                }else if(itemData.actionType == TcpType.EVENT.name){//事件已经响应 相应的数据
-                    binding.playTv.visibility = View.GONE
-                    binding.projectTv.visibility = View.VISIBLE
-                    binding.conductorNameTv.visibility = View.VISIBLE
-                    binding.projectTv.text = itemData.data
-                    binding.conductorNameTv.text = itemData.toMemberName
-                    binding.processingTimeTv.text = TimeTransition().stampToDate(itemData.actionEnd*1000)
-                    binding.projectTv.setBackgroundResource(R.drawable.sp_event_handled)
-                }else if (itemData.actionType == TcpType.IM.name){//语音已播放
-
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.VISIBLE
-                    binding.conductorNameTv.visibility = View.GONE
-                    binding.playTv.setBackgroundResource(R.drawable.yi_bo_fang)
-                    binding.processingTimeTv.text = "已播放"
-
-                }else if(itemData.actionType == TcpType.VOICE.name){ //语音呼叫已接听
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.GONE
-                    binding.treatmentStateImagev.visibility = View.GONE
-                    binding.conductorNameTv.visibility = View.GONE
-                    binding.processingTimeTv.visibility = View.GONE
-
-                }else if(itemData.actionType == TcpType.VIDEO.name){ //视频呼叫已接听
-
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.GONE
-                    binding.treatmentStateImagev.visibility = View.GONE
-                    binding.conductorNameTv.visibility = View.GONE
-                    binding.processingTimeTv.visibility = View.GONE
-                }
-
-            } else {
-                Log.e(TAG, "" + itemData.actionEnd+" "+position)
-                Log.e(TAG, "" + itemData.actionType+" "+position)
-                Log.e(TAG, "" + itemData.data+" "+position)
-                Log.e(TAG, "" + itemData.actionDirectionType+" "+position)
-
-                binding.treatmentStateImagev.setImageResource(R.drawable.wei_chu_li)
-                binding.treatmentStateImagev.visibility = View.VISIBLE
-                binding.conductorNameTv.visibility = View.GONE
-                binding.processingTimeTv.visibility = View.VISIBLE
-
-                //判断是呼入还是呼出 1 分机到主机 2主机到分机
-                if(itemData.actionDirectionType == 1){
-                    Log.e(TAG, "进入。。。。" )
-                    binding.sickbedTv.text = itemData.fromFrameFullName
-                    binding.nameTv.text = itemData.fromMemberName
-                    binding.callStatusImagev.setImageResource(R.drawable.hu_ru_wei_jie)
-                }else if(itemData.actionDirectionType == 2 || itemData.actionDirectionType == 3){
-                    binding.sickbedTv.text = itemData.toFrameFullName
-                    binding.nameTv.text = itemData.toMemberName
-                    binding.callStatusImagev.setImageResource(R.drawable.hu_chu_wei_jie)
-                }
-
-
-                if(itemData.actionType == TcpType.SOS.name){ //sos紧急呼叫 未处理
-                    binding.playTv.visibility = View.GONE
-                    binding.projectTv.visibility = View.VISIBLE
-                    binding.projectTv.text = "SOS"
-                    binding.projectTv.setBackgroundResource(R.drawable.sp_event_unhandled_bg)
-                    binding.processingTimeTv.text = "未处理"
-
-                }else if(itemData.actionType == TcpType.EVENT.name){//事件未处理
-                    binding.playTv.visibility = View.GONE
-                    binding.projectTv.visibility = View.VISIBLE
-                    binding.projectTv.text = itemData.data
-                    binding.projectTv.setBackgroundResource(R.drawable.sp_event_unhandled_bg)
-                    binding.processingTimeTv.text = "未处理"
-                }else if (itemData.actionType == TcpType.IM.name){//语音未播放
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.VISIBLE
-                    binding.playTv.setBackgroundResource(R.drawable.wei_bo_fang)
-                    binding.processingTimeTv.text = "未播放"
-                }else if(itemData.actionType == TcpType.VOICE.name){ //语音呼叫未接听
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.GONE
-                    binding.treatmentStateImagev.visibility = View.GONE
-                    binding.processingTimeTv.visibility = View.GONE
-                }else if(itemData.actionType == TcpType.VIDEO.name){ //视频呼叫未接听
-                    binding.projectTv.visibility = View.GONE
-                    binding.playTv.visibility = View.GONE
-                    binding.treatmentStateImagev.visibility = View.GONE
-                    binding.processingTimeTv.visibility = View.GONE
-
-                }
-            }
-
-
-
-            binding.projectTv.setOnClickListener {
-                //事件处理监听
-//                    点击之后发送通知
-//                    showMessage("点击了事件按钮")
-                if (itemData.actionEnd != null)return@setOnClickListener
-                Log.e(TAG, "点击了事件按钮")
-
-                Thread(Runnable {
-                    run {
-                        Log.e(TAG, "aaassss "+ Constants.deviceId +"kong")
-
-                        if (!Constants.deviceId.equals("")) {
-                            var eventTcpModel = EventUtil.eventResponse(Constants.deviceId.toInt(), itemData.fromDeviceId, itemData.id)
-//                        val map = HashMap<String,Int>()
-//                        map.put("id",1)
-//                        eventTcpModel.setData(map)
-                            TcpClient.getInstance().sendMsg(eventTcpModel.toJson())
-                        } else {
-                            showMessage("获取不到当给前设备id")
-                        }
-                    }
-                }).start()
-
-                //处理完之后要刷新数据
-            }
-            binding.playTv.setOnClickListener {
-                if (itemData.actionEnd != null)return@setOnClickListener
-                //点击之后播放语音留言
-                showMessage("点击了播放留言")
-                Thread(Runnable {
-                    run {
-                        if (!Constants.deviceId.equals("")) {
-                            var imUtilTcpModel = ImUtil.imRead(Constants.deviceId.toInt(), itemData.fromDeviceId, itemData.id)
-
-//                val map = HashMap<String,Int>()
-//                map.put("id",1)
-//                imUtilTcpModel.setData(map)
-                            TcpClient.getInstance().sendMsg(imUtilTcpModel.toJson())
-                            var mediaPlayer = MediaPlayer()
-                            mediaPlayer.startMediaPlayer("http://192.168.1.112:8006"+itemData.data)
-                            mediaPlayer.setVolume(0.3f)
-
-                        } else {
-                            showMessage("获取不到当给前设备id")
-                        }
-                    }
-                }).start()
-
-                //处理完之后要刷新数据
-            }
-
-        }
-    }
-
-}

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

@@ -1,55 +0,0 @@
-package com.wdkl.ncs.android.component.home.adapter
-
-import android.graphics.Color
-import android.util.Log
-import android.view.ViewGroup
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.databinding.AdapterWatchContactsItemBinding
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.utils.BaseRecyclerViewHolder
-import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
-
-class WatchContactsItemAdapter(val data:ArrayList<WatchContactsVO>) : BaseDelegateAdapter<BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>, WatchContactsVO>(){
-
-
-    private var thisPosition: Int = -1
-
-    override fun dataProvider(): Any {
-        return data
-    }
-
-    override fun itemFilter(position: Int): Boolean {
-        return true
-    }
-    fun setThisPosition(thisPosition:Int) {
-        this.thisPosition = thisPosition
-    }
-    override fun getItemCount(): Int {
-        return data.size
-    }
-
-    override fun onCreateLayoutHelper(): LayoutHelper {
-        Log.i("abc",data.toString())
-        return LinearLayoutHelper(0,data.size)
-    }
-
-    override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): BaseRecyclerViewHolder<AdapterWatchContactsItemBinding> {
-        return BaseRecyclerViewHolder.build(parent, R.layout.adapter_watch_contacts_item)
-    }
-
-    override fun onBindViewHolder(holder: BaseRecyclerViewHolder<AdapterWatchContactsItemBinding>?, position: Int) {
-        holder?.bind {
-            binding ->
-            val itemData = getItem(position)
-//            if(position == thisPosition){
-//                binding.itemRelayout.setBackgroundColor(Color.parseColor("#DCDCDC"))
-//            }else{
-//                binding.itemRelayout.setBackgroundColor(Color.parseColor("#ffffff"))
-//            }
-            binding.roomNumberTv.text = itemData.frameFullName
-            binding.nameTv.text = itemData.customerNamed
-        }
-    }
-}

+ 0 - 104
home/src/main/code/com/wdkl/ncs/android/component/home/agreement/FloorActionAgreement.kt

@@ -1,104 +0,0 @@
-package com.wdkl.ncs.android.component.home.agreement
-
-import android.view.MenuItem
-import android.view.View
-import com.wdkl.ncs.android.middleware.model.BannerModel
-import com.wdkl.ncs.android.middleware.model.FloorItem
-import com.wdkl.ncs.android.middleware.model.FloorMenuModel
-
-/**
- * Created by LDD on 2018/10/16.
- */
-interface FloorActionAgreement {
-
-    fun pointMall()
-
-    fun secKill()
-
-    fun groupMall()
-
-    fun couponHall()
-
-    fun toShop(id :Int)
-
-    fun toWeb(url :String)
-
-    fun searchGoodsForKeyWord(keyword :String)
-
-    fun searchGoodsForCatrgory(catId :Int,text :String)
-
-    fun goods(goodsId :Int)
-
-    fun floorHandle(view :View , item :Any){
-
-        view.setOnClickListener {
-            event(item)
-        }
-
-    }
-
-    fun event(item :Any){
-        if (item is BannerModel){
-            if(item.action == "URL"){
-                if(item.value.contains("point")){
-                    pointMall()
-                }else if(item.value.contains("group")){
-                    groupMall()
-                }else if(item.value.contains("sec")){
-                    secKill()
-                }else{
-                    toWeb(item.value)
-                }
-            }else if(item.action == "KEYWORD"){
-                searchGoodsForKeyWord(item.value)
-            }else if(item.action == "GOODS"){
-                goods(item.value.toInt())
-            }else if(item.action == "CATEGORY"){
-                searchGoodsForCatrgory(item.value.toInt(),"搜索结果")
-            }else if(item.action == "SHOP"){
-                toShop(item.value.toInt())
-            }
-        }
-        if (item is FloorItem){
-            if(item.opt!!.type == "URL"){
-                if(item.opt!!.value.contains("point")){
-                    pointMall()
-                }else if(item.opt!!.value.contains("group")){
-                    groupMall()
-                }else if(item.opt!!.value.contains("sec")){
-                    secKill()
-                }else{
-                    toWeb(item.opt!!.value)
-                }
-            }else if(item.opt!!.type == "KEYWORD"){
-                searchGoodsForKeyWord(item.opt!!.value)
-            }else if(item.opt!!.type == "GOODS"){
-                goods(item.opt!!.value.toInt())
-            }else if(item.opt!!.type == "CATEGORY"){
-                searchGoodsForCatrgory(item.opt!!.value.toInt(),"搜索结果")
-            }else if(item.opt!!.type == "SHOP"){
-                toShop(item.opt!!.value.toInt())
-            }
-        }
-        if (item is FloorMenuModel){
-            if (item.action.contains("points-mall")){
-                pointMall()
-            }else if (item.action.contains("group-buy")){
-                groupMall()
-            }else if (item.action.contains("seckill")){
-                secKill()
-            }else if (item.action.contains("goods")){
-                goods(item.action.removePrefix("/goods/").toInt())
-            }else if(item.action.contains("coupons")){
-                couponHall()
-            }else{
-                toWeb(item.action)
-            }
-        }
-    }
-
-
-
-
-
-}

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

@@ -1,37 +0,0 @@
-package com.wdkl.ncs.android.component.home.binding
-
-import android.databinding.BindingAdapter
-import android.databinding.ObservableField
-import android.support.constraint.ConstraintLayout
-
-/**
- * @author LDD
- * @From   com.wdkl.ncs.android.component.home.binding
- * @Date   2018/1/30 下午3:03
- * @Note   首页UIVM
- */
-class HomeFragmentBindHelper {
-
-    /**
-     * @Name  scrollY
-     * @Type  ObservableField<Int>
-     * @Note  滑动距离
-     */
-    val scrollY = ObservableField(0)
-
-    /**
-     * @Name  image
-     * @Type  String
-     * @Note  测试图片
-     */
-    var image = "http://onghqryqs.bkt.clouddn.com/ChMkJlauzbOIb6JqABF4o12gc_AAAH9HgF1sh0AEXi7441.jpeg"
-
-    /**
-     * @Name  isHide
-     * @Type  ObservableField<Boolean>
-     * @Note  是否隐藏
-     */
-    val isHide  = ObservableField(true)
-
-
-}

+ 0 - 34
home/src/main/code/com/wdkl/ncs/android/component/home/broadcast/MyMediaButtonReceiver.kt

@@ -1,34 +0,0 @@
-package com.wdkl.ncs.android.component.home.broadcast
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.util.Log
-import android.view.KeyEvent
-import com.wdkl.ncs.android.component.nursehome.common.Constants
-import com.wdkl.ncs.android.middleware.utils.MessageEvent
-import org.greenrobot.eventbus.EventBus
-
-class MyMediaButtonReceiver: BroadcastReceiver() {
-    var TAG = "MyMediaButtonReceiver"
-    override fun onReceive(context: Context?, intent: Intent?) {
-        val action = intent!!.action
-        if (action!=null&&action.equals(Intent.ACTION_MEDIA_BUTTON)){
-            var keyEvent = intent!!.getParcelableExtra<KeyEvent>(Intent.EXTRA_KEY_EVENT)
-            if (keyEvent!=null && keyEvent.action == KeyEvent.ACTION_DOWN){
-                val keyCode = keyEvent.keyCode
-                Log.i(TAG, "keyCode " + keyCode)
-                when (keyCode){
-                    KeyEvent.KEYCODE_MEDIA_PLAY -> {
-                        EventBus.getDefault().post(MessageEvent(1,Constants.EVENT_BLUETOOTH_ACCEPT_CALL))
-                        return
-                    }
-                    KeyEvent.KEYCODE_MEDIA_PAUSE -> {
-                        EventBus.getDefault().post(MessageEvent(1,Constants.EVENT_BLUETOOTH_ACCEPT_CALL))
-                        return
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 21
home/src/main/code/com/wdkl/ncs/android/component/home/di/HomeComponent.kt

@@ -1,8 +1,6 @@
 package com.wdkl.ncs.android.component.home.di
 
 import com.wdkl.ncs.android.component.home.activity.*
-import com.wdkl.ncs.android.component.home.fragment.CategoryFragment
-import com.wdkl.ncs.android.component.home.fragment.HomeFragment
 import com.wdkl.ncs.android.middleware.di.ApplicationComponent
 import dagger.Component
 
@@ -17,24 +15,5 @@ interface HomeComponent {
 
     fun inject(activity: HomeActivity)
 
-    fun inject(activity: HomeFragment)
-
-    fun inject(activity: CategoryFragment)
-
-    //手表
-    fun inject(activity: WatchRegisterActivity)
-
-    fun inject(activity: WatchHome2Activity)
-
     fun inject(activity: AppUpdateActivity)
-
-    fun inject(activity: WatchContactsActivity)
-
-    fun inject(activity: WatchCallRecordsActivity)
-
-    fun inject(activity: EventActivity)
-
-    fun inject(activity: WatchEventDetailActivity)
-
-    fun inject(activity: TakeoverActivity)
 }

+ 0 - 404
home/src/main/code/com/wdkl/ncs/android/component/home/fragment/CategoryFragment.kt

@@ -1,404 +0,0 @@
-package com.wdkl.ncs.android.component.home.fragment
-
-import android.support.constraint.ConstraintLayout
-import android.support.v7.widget.RecyclerView
-import android.view.View
-import android.view.ViewGroup
-import android.widget.AbsListView
-import com.alibaba.android.vlayout.DelegateAdapter
-import com.alibaba.android.vlayout.LayoutHelper
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.alibaba.android.vlayout.layout.GridLayoutHelper
-import com.alibaba.android.vlayout.layout.LinearLayoutHelper
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.activity.HomeActivity
-import com.wdkl.ncs.android.component.home.adapter.ChildCategoryAdapter
-import com.wdkl.ncs.android.component.home.adapter.ParentCategoryAdapter
-import com.wdkl.ncs.android.component.home.databinding.CategoryFragLayBinding
-import com.wdkl.ncs.android.component.home.databinding.CategroyLeftItemBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.lib.adapter.ListViewBaseAdapter
-import com.wdkl.ncs.android.lib.adapter.VlayoutHolderAdapter
-import com.wdkl.ncs.android.lib.base.BaseFragment
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.lib.vo.filter
-import com.wdkl.ncs.android.middleware.logic.contract.home.CategoryFragmentContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.CategoryFragmentPresenter
-import com.wdkl.ncs.android.middleware.model.ChildCategoryShell
-import com.wdkl.ncs.android.middleware.model.ChildCategoryViewModel
-import com.wdkl.ncs.android.middleware.model.ParentCategoryViewModel
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.utils.base.tool.ScreenTool
-import kotlinx.android.synthetic.main.category_frag_lay.*
-import kotlin.collections.ArrayList
-
-/**
- * @author LDD
- * @Date   2018/1/22 下午12:38
- * @From   com.wdkl.ncs.android.component.home.fragment
- * @Note   分类Fragment
- */
-class CategoryFragment :BaseFragment<CategoryFragmentPresenter,CategoryFragLayBinding>(),CategoryFragmentContract.View {
-
-    /**
-     * 左侧列表数据
-     */
-    private val leftViewData = ArrayList<ParentCategoryViewModel>()
-
-    /**
-     * 右侧列表布局控制器
-     */
-    private lateinit var virtualLayoutManager :VirtualLayoutManager
-
-    /**
-     * 右侧列表视图父适配器
-     */
-    private lateinit var delegateAdapter :DelegateAdapter
-
-
-    /** 适配器列表设置 */
-    val adapterList = ArrayList<DelegateAdapter.Adapter<*>>()
-    /**
-     * 占位视图
-     */
-    private val holderView = VlayoutHolderAdapter(object :VlayoutHolderAdapter.HolderCallBack{
-        override fun bindView(holder: RecyclerView.ViewHolder) {
-            holder.itemView.layoutParams = VirtualLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (ScreenTool.dip2px(holder.itemView.context,10f)))
-            holder.itemView.setBackgroundResource(R.color.javashop_color_category_rv_bg)
-        }
-
-        override fun layoutHelperProvider(): LayoutHelper {
-            return LinearLayoutHelper(0,1)
-        }
-
-        override fun viewHolderProvider(parent : ViewGroup): RecyclerView.ViewHolder {
-            return VlayoutHolderAdapter.PlaceHolder(View(parent.context))
-        }
-
-    })
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:46
-     * @Note   提供layoutId
-     * @return layoutId
-     */
-    override fun getLayId(): Int {
-        return R.layout.category_frag_lay
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:46
-     * @Note   依赖注入初始化
-     */
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:47
-     * @Note   初始化页面
-     */
-    override fun init() {
-        mViewDataBinding.categorySearchLay.setOnClickListener(OnClickListenerAntiViolence({
-            push("/search/main")
-        }))
-        initLeft()
-        initRight()
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:47
-     * @Note   绑定事件
-     */
-    override fun bindEvent() {
-        category_frag_my_iv.setOnClickListener {
-            activity.to<HomeActivity>().toMember()
-        }
-        category_frag_scan_iv.setOnClickListener {
-            push("/extra/scan")
-        }
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:47
-     * @Note   页面销毁时调用
-     */
-    override fun destory() {
-
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:47
-     * @Note   展示子分类
-     * @param  childCategoryList 子分类数据
-     */
-    override fun showChildCatList(childCategoryList: ArrayList<ChildCategoryShell>) {
-
-        if(delegateAdapter.adaptersCount > 0){
-            delegateAdapter.removeAdapters(adapterList)
-        }
-
-        /** 适配器列表设置 */
-        adapterList.then { self ->
-
-            self.clear()
-
-            /**循环设置*/
-            childCategoryList.forEach { item ->
-
-                /** 添加二级分类视图 */
-                self.add(ParentCategoryAdapter(item.parentName))
-
-                /** 初始化三级分类适配器 */
-                val childAdapter = ChildCategoryAdapter(GridLayoutHelper(3).then {
-                    self ->
-                    /** 设置视图不自动展开 */
-                    self.setAutoExpand(false)
-                },item.item)
-
-                /** 设置Item点击事件 */
-                childAdapter.setOnItemClickListener { data, position ->
-                    childClick(data)
-                }
-
-                self.add(childAdapter)
-
-                /** 添加占位视图 */
-                self.add(holderView)
-
-            }
-
-        }
-        /**重置LayoutHelper*/
-        virtualLayoutManager.setLayoutHelpers(ArrayList<LayoutHelper>().then {self ->
-            adapterList.forEach {
-                self.add(it.onCreateLayoutHelper())
-            }
-        })
-        /** 添加适配器 */
-        delegateAdapter.addAdapters(adapterList)
-        /** 通知视图更新 */
-        delegateAdapter.notifyDataSetChanged()
-        /** 刷新视图 */
-        category_right_rv.scrollToPosition(0)
-
-        category_right_rv.scrollToPosition(0)
-
-    }
-
-    /**
-     * 子分类点击事件
-     */
-    private fun childClick(data :ChildCategoryViewModel){
-        push("/goods/list",{
-            it.withInt("category",data.catId)
-            it.withString("hint",data.name)
-        })
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:48
-     * @Note   展示父分类列表
-     * @param  parentCategoryList  父分类数据
-     */
-    override fun showParentCatList(parentCategoryList: ArrayList<ParentCategoryViewModel>) {
-        leftViewData.addAll(parentCategoryList)
-        listViewAdapter.notifyDataSetChanged()
-        presenter.loadChildCat(parentCategoryList[0].parentId)
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:49
-     * @Note   逻辑错误时 展示错误信息
-     * @param  message 错误信息
-     */
-    override fun onError(message: String, type: Int) {
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:50
-     * @Note   耗时操作完成时调用
-     * @param  message 信息
-     */
-    override fun complete(message: String, type: Int) {
-
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:50
-     * @Note   耗时操作开始
-     */
-    override fun start() {
-
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/22 下午2:50
-     * @Note   网络状态监听
-     * @param  state 网络状态
-     */
-    override fun networkMonitor(state: NetState) {
-        state.filter(onMobile = {
-
-        },onWifi = {
-
-        },offline = {
-
-        })
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/29 下午8:43
-     * @Note   初始化父分类
-     */
-    private fun initLeft(){
-        mViewDataBinding.categoryLeftLv.adapter = listViewAdapter
-        presenter.loadParentCat()
-    }
-
-    /**
-     * @author LDD
-     * @From   CategoryFragment
-     * @Date   2018/1/29 下午8:44
-     * @Note   初始化子分类
-     */
-    private fun initRight(){
-        virtualLayoutManager =  VirtualLayoutManager(this.activity)
-        delegateAdapter = DelegateAdapter(virtualLayoutManager)
-        mViewDataBinding.categoryRightRv.layoutManager = virtualLayoutManager
-        mViewDataBinding.categoryRightRv.adapter = delegateAdapter
-    }
-
-    /**
-     * @Name  listViewAdapter
-     * @Type  ListViewBaseAdapter<ParentCategory, CategroyLeftItemBinding>
-     * @Note  父分类的适配器 单例 懒加载
-     */
-    private val listViewAdapter :ListViewBaseAdapter<ParentCategoryViewModel, CategroyLeftItemBinding> by lazy {
-        object: ListViewBaseAdapter<ParentCategoryViewModel, CategroyLeftItemBinding>(context,R.layout.categroy_left_item,leftViewData),AbsListView.OnScrollListener{
-
-            /**
-             * @Name  firstPostion
-             * @Type  int
-             * @Note  屏幕上显示的第一个item坐标
-             */
-            private var firstPostion = 0
-
-            /**
-             * 初始化时调用
-             */
-            init {
-                mViewDataBinding.categoryLeftLv.setOnScrollListener(this)
-            }
-
-            /**
-             * @author LDD
-             * @From   AbsListView.OnScrollListener
-             * @Date   2018/1/30 下午1:37
-             * @Note   滑动回调
-             */
-            override fun onScroll(view: AbsListView?, firstVisibleItem: Int, visibleItemCount: Int, totalItemCount: Int) {
-                firstPostion= firstVisibleItem
-            }
-
-            /**
-             * @author LDD
-             * @From   AbsListView.OnScrollListener
-             * @Date   2018/1/30 下午1:38
-             * @Note   滑动状态改变
-             */
-            override fun onScrollStateChanged(view: AbsListView?, scrollState: Int) {
-
-            }
-
-            /**
-             * @author LDD
-             * @From   CategoryFragment
-             * @Date   2018/1/30 下午1:38
-             * @Note   填充视图
-             * @param  binding  databinding
-             * @param  data     数据
-             * @param  position 坐标
-             */
-            override fun fillItem(binding: CategroyLeftItemBinding, data: ParentCategoryViewModel, position: Int) {
-                binding.itemData = data
-            }
-
-            /**
-             * @author LDD
-             * @From   CategoryFragment
-             * @Date   2018/1/30 下午1:39
-             * @Note   单击事件
-             * @param  data 数据
-             * @param  position 坐标
-             */
-            override fun itemClick(data: ParentCategoryViewModel, position: Int) {
-                for (i in 0 until leftViewData.size){
-                    if (i == position){
-                        leftViewData[i].selected.set(true)
-                        presenter.loadChildCat(leftViewData[i].parentId)
-                    }else{
-                        leftViewData[i].selected.set(false)
-                    }
-                }
-                scroll(position)
-            }
-
-            /**
-             * @author LDD
-             * @From   CategoryFragment
-             * @Date   2018/1/30 下午1:40
-             * @Note   重新调整item大小
-             * @param  convertView item
-             */
-            override fun reSize(convertView: View) {
-                convertView.layoutParams.height = ((ScreenTool.getScreenHeight(context)-ScreenTool.dip2px(context,50f))*0.87/9).toInt()
-                convertView.layoutParams.width = (ScreenTool.getScreenWidth(context)*0.23).toInt()
-            }
-
-            /**
-             * @author LDD
-             * @From   CategoryFragment
-             * @Date   2018/1/30 下午1:40
-             * @Note   滑动具体操作
-             * @param  position 需要滑动的position
-             */
-            private fun scroll(position:Int){
-                if (position < (firstPostion + 4)) {
-                    category_left_lv.post {
-                        category_left_lv.smoothScrollToPosition(position - 4 )
-                    }
-                } else {
-                    category_left_lv.post {
-                        category_left_lv.smoothScrollToPosition(position + 4 )
-                    }
-                }
-
-            }
-        }
-    }
-}

+ 0 - 346
home/src/main/code/com/wdkl/ncs/android/component/home/fragment/HomeFragment.kt

@@ -1,346 +0,0 @@
-package com.wdkl.ncs.android.component.home.fragment
-
-import android.support.constraint.ConstraintLayout
-import android.support.v7.widget.RecyclerView
-import android.view.View
-import com.alibaba.android.vlayout.DelegateAdapter
-import com.alibaba.android.vlayout.VirtualLayoutManager
-import com.wdkl.ncs.android.component.home.R
-import com.wdkl.ncs.android.component.home.activity.HomeActivity
-import com.wdkl.ncs.android.component.home.adapter.*
-import com.wdkl.ncs.android.component.home.agreement.FloorActionAgreement
-import com.wdkl.ncs.android.component.home.binding.HomeFragmentBindHelper
-import com.wdkl.ncs.android.component.home.databinding.HomeFragLayBinding
-import com.wdkl.ncs.android.component.home.launch.HomeLaunch
-import com.wdkl.ncs.android.lib.adapter.BaseDelegateAdapter
-import com.wdkl.ncs.android.lib.adapter.VlayoutItemType
-import com.wdkl.ncs.android.lib.base.BaseFragment
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.lib.vo.filter
-import com.wdkl.ncs.android.middleware.logic.contract.home.HomeFragmentContract
-import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeFragmentPresenter
-import com.wdkl.ncs.android.middleware.model.*
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.utils.base.tool.ScreenTool
-import com.google.gson.Gson
-import com.scwang.smartrefresh.layout.header.ClassicsHeader
-import kotlinx.android.synthetic.main.home_frag_lay.*
-import java.util.logging.Handler
-
-/**
- * @author LDD
- * @Date   2018/1/19 下午5:27
- * @From   com.wdkl.ncs.android.component.home.fragment
- * @Note   主页Fragment
- */
-class HomeFragment : BaseFragment<HomeFragmentPresenter,HomeFragLayBinding>(),HomeFragmentContract.View ,FloorActionAgreement{
-
-    /**
-     * @Name  adapterList
-     * @Type  ArrayList<DelegateAdapter.Adapter<*>>
-     * @Note  适配器列表
-     */
-    private var adapterList: ArrayList<DelegateAdapter.Adapter<*>> = ArrayList()
-
-    /**
-     * @Name  virtualLayoutManager
-     * @Type  VirtualLayoutManager
-     * @Note  VLayoutManager
-     */
-    private lateinit var virtualLayoutManager: VirtualLayoutManager
-
-    /**
-     * @Name  delegateAdapter
-     * @Type  DelegateAdapter
-     * @Note  七巧板适配器
-     */
-    private lateinit var delegateAdapter: DelegateAdapter
-
-    /**
-     * @Name  topbarHeight
-     * @Type  Int
-     * @Note  标题栏高度 为当前设备屏幕高度的13%
-     */
-    private var topbarHeight = 0
-
-    /**
-     * @author LDD
-     * @Date   2018/1/19 下午5:29
-     * @From   com.wdkl.ncs.android.component.home.fragment.HomeFragment
-     * @Note   databindingViewModel
-     */
-    private var bindHelper = HomeFragmentBindHelper()
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:32
-     * @Note   提供layoutID
-     * @return layoutId
-     */
-    override fun getLayId(): Int {
-        return R.layout.home_frag_lay
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:33
-     * @Note   初始化依赖注入
-     */
-    override fun bindDagger() {
-        HomeLaunch.component.inject(this)
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:33
-     * @Note   初始化操作
-     */
-    override fun init() {
-        mViewDataBinding.homeData = bindHelper
-        mViewDataBinding.homeFragToolbarSearchLay.setOnClickListener(OnClickListenerAntiViolence({
-            push("/search/main")
-        }))
-        /**初始化列表*/
-        virtualLayoutManager = VirtualLayoutManager(this.activity)
-        delegateAdapter = DelegateAdapter(virtualLayoutManager)
-        mViewDataBinding.homeFragFloorView.layoutManager = virtualLayoutManager
-        mViewDataBinding.homeFragFloorView.adapter = delegateAdapter
-        /**为不同的Item设置不同的缓存*/
-        val viewPool = RecyclerView.RecycledViewPool()
-        viewPool.setMaxRecycledViews(1, 10)
-        viewPool.setMaxRecycledViews(2, 10)
-        viewPool.setMaxRecycledViews(3, 10)
-        viewPool.setMaxRecycledViews(4, 10)
-        viewPool.setMaxRecycledViews(5, 10)
-        viewPool.setMaxRecycledViews(6, 10)
-        viewPool.setMaxRecycledViews(7, 10)
-        viewPool.setMaxRecycledViews(8, 10)
-        viewPool.setMaxRecycledViews(9, 10)
-        viewPool.setMaxRecycledViews(10, 10)
-        viewPool.setMaxRecycledViews(11, 10)
-        viewPool.setMaxRecycledViews(12, 10)
-        viewPool.setMaxRecycledViews(13, 10)
-        mViewDataBinding.homeFragFloorView.recycledViewPool = viewPool
-        presenter.loadFloor()
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:33
-     * @Note   绑定事件
-     */
-    override fun bindEvent() {
-        home_frag_toolbar_my_lay.setOnClickListener {
-            activity.to<HomeActivity>().toMember()
-        }
-        mViewDataBinding.homeFragFloorView.setOnScrollObserver { _, _, _, _ ->
-            val scrollY = virtualLayoutManager.getScollYDistance()
-            if (bindHelper.isHide.get() != scrollY <= topbarHeight){
-                bindHelper.isHide.set(scrollY <= topbarHeight)
-            }
-            bindHelper.scrollY.set(if(scrollY < 0) 0 else scrollY)
-        }
-        configRefresh()
-        home_frag_toolbar_scan_lay.setOnClickListener {
-            push("/extra/scan")
-        }
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:34
-     * @Note   页面销毁回调
-     */
-    override fun destory() {
-        debugLog("HomeFragment","Destory")
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/8/16 下午4:08
-     * @Note   渲染楼层
-     * @param  data  数据
-     */
-    override fun renderFloor(data: ArrayList<Any>) {
-        home_frag_tangram_refreshlayout.finishRefresh()
-        if (adapterList.count() > 0){
-            adapterList.filter {
-                return@filter it is FloorSecKillAdapter
-            }.getOrNull(0)?.to<FloorSecKillAdapter>()?.timer?.destory()
-        }
-        adapterList.clear()
-        adapterList.add(FloorBannerAdapter(this.weak(),data[0] as ArrayList<BannerModel>,this))
-        adapterList.add(FloorMenuAdapter(data[1] as ArrayList<FloorMenuModel>,this))
-        if (data[2].to<SecKillListViewModel>().text != ""){
-            adapterList.add(FloorSecKillAdapter(weak(),{
-                presenter.loadFloor()
-            }, data[4] as ArrayList<GoodsItemViewModel>, data[2] as SecKillListViewModel,if(data[3] is String){null}else{data[3] as SecKillListViewModel}))
-        }
-        for (i in 5..(data.count() - 1)){
-            val item = data[i] as FloorViewModel
-            if (item.typeId == 23){
-                adapterList.add(FloorSingleImageAdapter(item,this))
-            }else if (item.typeId == 24){
-                adapterList.add(FloorLeftOneRightTwoAdapter(item,this))
-            }else if (item.typeId == 25){
-                adapterList.add(FloorRightOneLeftTwoAdapter(item,this))
-            }else if (item.typeId == 26){
-                adapterList.add(FloorThreeImageAdapter(item,this))
-            }else if (item.typeId == 27){
-                adapterList.add(FloorFiveImageAdapter(item,this))
-            }else if (item.typeId == 28){
-                adapterList.add(FloorCornerBannerAdapter(this.weak(),ArrayList(item.mapBanner()),this))
-            }else if (item.typeId == 29){
-                adapterList.add(FloorFourImageAdapter(item,this))
-            }else if (item.typeId == 30){
-                adapterList.add(FloorTitleAdapter(item,this))
-            }else if (item.typeId == 31){
-                adapterList.add(FloorFourImageAdapter(item,this))
-            }else if (item.typeId == 32){
-                adapterList.add(FloorLeftRightAdapter(item,this))
-            }else if (item.typeId == 37){
-
-            }else if (item.typeId == 42){
-                adapterList.add(FloorTextAdapter(item,this))
-            }
-        }
-        delegateAdapter.clear()
-        delegateAdapter.addAdapters(adapterList)
-        delegateAdapter.notifyDataSetChanged()
-    }
-
-    override fun pointMall() {
-//        push("/promotion/pointshop/main")
-//        push("/watch/contacts")
-    }
-
-    override fun secKill() {
-        //push("/promotion/seckill/main")
-    }
-
-    override fun groupMall() {
-        push("/promotion/groupbuy/main")
-    }
-
-    override fun couponHall() {
-        //push("/promotion/coupon/hall")
-        push("/hello/list")
-    }
-
-    override fun toShop(id: Int) {
-        push("/shop/detail",{postcard ->
-            postcard.withInt("shopId", id)
-        })
-    }
-
-    override fun toWeb(url: String) {
-        push("/common/web",{
-            //标题
-            it.withString("title","外部网页")
-            //URL
-            it.withString("url",url)
-        })
-    }
-
-    override fun searchGoodsForKeyWord(keyword: String) {
-        push("/goods/list",{
-            it.withString("keyword",keyword)
-            it.withString("hint",keyword)
-        })
-    }
-
-    override fun searchGoodsForCatrgory(catId: Int, text: String) {
-        push("/goods/list",{
-            it.withInt("category",catId)
-            it.withString("hint","搜索结果")
-        })
-    }
-
-    override fun goods(goodsId: Int) {
-        push("/goods/detail",{
-            it.withInt("goodsId",goodsId)
-        })
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:35
-     * @Note   处理错误信息
-     * @param  message  错误信息
-     */
-    override fun onError(message: String, type: Int) {
-        getUtils().dismissDialog()
-        errorLog("error",message)
-        showMessage(message)
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:36
-     * @Note   操作完成
-     * @param  message 完成信息
-     */
-    override fun complete(message: String, type: Int) {
-        getUtils().dismissDialog()
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:37
-     * @Note   耗时加载开始
-     */
-    override fun start() {
-        getUtils().showDialog()
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:37
-     * @Note   配置刷新监听处理
-     */
-    private fun configRefresh(){
-        mViewDataBinding.homeFragTangramRefreshlayout.setHeaderHeight((ScreenTool.getScreenWidth(activity) * 0.5).pxToDp().toFloat())
-        mViewDataBinding.homeFragTangramRefreshlayout.setRefreshHeader(ClassicsHeader(activity))
-        mViewDataBinding.homeFragTangramRefreshlayout.setOnMultiPurposeListener(SmartHideViewHelper({
-            home_frag_toolbar.visibility = View.GONE
-            home_frag_floor_view.setOnTouchListener { _, _ ->
-                true
-            }
-        }, {
-            home_frag_toolbar.visibility = View.VISIBLE
-            home_frag_floor_view.setOnTouchListener { _, _ ->
-                false
-            }
-        }))
-        mViewDataBinding.homeFragTangramRefreshlayout.setOnRefreshListener {
-            presenter.loadFloor()
-        }
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragment
-     * @Date   2018/1/19 下午5:39
-     * @Note   处理网络状态
-     * @param  state 网络状态
-     */
-    override fun networkMonitor(state: NetState) {
-        state.filter(onWifi = {
-
-        },onMobile = {
-
-        },offline = {
-
-        })
-    }
-}

+ 7 - 60
home/src/main/code/com/wdkl/ncs/android/component/home/service/TcpHandleService.kt

@@ -60,7 +60,7 @@ class TcpHandleService : Service(){
     fun onMoonEvent(messageEvent: MessageEvent) {
         when(messageEvent.tag){
             //拨出成功 || 有来电
-            1->{
+            Constants.AUDIO_MSG->{
                 Util.wakeUpAndUnlock(this)
 
                 var tcpModel = messageEvent.getMessage() as TcpModel
@@ -87,73 +87,20 @@ class TcpHandleService : Service(){
                     }
                 }
             }
-            //事件与语音留言通道
-            3->{
-                while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束
-                    Thread.sleep(3000)
-                }
-
+            Constants.VIDEO_MSG->{
                 Util.wakeUpAndUnlock(this)
-
                 var tcpModel = messageEvent.getMessage() as TcpModel
-                val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                if (tcpModel.type == TcpType.IM) {
-                    SpeechUtil.getInstance().newSpeech("您有新的语音留言待处理", false)
-                } else if (tcpModel.type == TcpType.EVENT) {
-                    var eventStr = ""
-                    if (interactionVO != null) {
-                        eventStr = Util.appendSpace(interactionVO.fromFrameFullName.replace("-", "")) + ", " + interactionVO.data
-                    }
-                    SpeechUtil.getInstance().newSpeech("您有新的事件待处理, " + eventStr, false)
-                }
-                tcpModel.data = interactionVO
-
-                var intent = Intent()
-                intent.setClass(this, WatchEventDetailActivity::class.java)
-                intent.putExtra("tcpModelStr", tcpModel.toJson())
-                intent.putExtra("boolVibrator", true)
-                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-                startActivity(intent)
-            }
-            //SOS通道
-            999->{
-                while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束
-                    Thread.sleep(3000)
-                }
 
-                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
-                Util.wakeUpAndUnlock(this)
-                var tcpModel = messageEvent.getMessage() as TcpModel
-                if (tcpModel.type == TcpType.SOS && tcpModel.action === TcpAction.SOSAction.CALL) {
+                if (tcpModel.action == TcpAction.VideoAction.SUCCESS){  //拨出成功
+                    var interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                     var intent = Intent()
-                    intent.setClass(this, SOSEmergencyCallActivity::class.java)
-                    intent.putExtra("TcpModel", tcpModel)
+                    DeviceChannel.calling = true;
+                    intent.setClass(this, VideoActivity::class.java)
+                    intent.putExtra("iaId", interactionVO.id)
                     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
                     startActivity(intent)
                 }
             }
-            //用户切换
-            Constants.EVENT_USER_CHANGE->{
-                while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束
-                    Thread.sleep(3000)
-                }
-                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
-                Util.wakeUpAndUnlock(this)
-                AppUtils.restartApp()
-            }
-            //设备切换
-            Constants.EVENT_DEVICE_CHANGE->{
-                while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束
-                    Thread.sleep(3000)
-                }
-
-                DeviceChannel.calling = true    //置于通话状态中,不可呼叫
-                Util.wakeUpAndUnlock(this)
-                var tcpModel = messageEvent.getMessage() as TcpModel
-                if (tcpModel.action == TcpAction.DeviceAction.RESTART) {
-                    AppUtils.restartApp()
-                }
-            }
             //APP升级
             Constants.EVENT_APP_UPDATE->{
                 while (DeviceChannel.calling) {    //通话中不处理,一直等待至结束

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

@@ -7,8 +7,7 @@ import android.content.Context;
 import android.content.Intent;
 import android.util.Log;
 
-import com.wdkl.ncs.android.component.home.activity.WatchHome2Activity;
-import com.wdkl.ncs.android.component.home.activity.WatchRegisterActivity;
+import com.wdkl.ncs.android.component.home.activity.HomeActivity;
 import com.wdkl.ncs.android.lib.base.BaseApplication;
 
 public class AppUtils {
@@ -16,7 +15,7 @@ public class AppUtils {
     public static void restartApp() {
         try {
             Log.i("AppUtil", "restartApp ======================");
-            Intent intent = new Intent(BaseApplication.appContext, WatchHome2Activity.class);
+            Intent intent = new Intent(BaseApplication.appContext, HomeActivity.class);
             @SuppressLint("WrongConstant") PendingIntent mPendingIntent = PendingIntent.getActivity(
                     BaseApplication.appContext, 0, intent,
                     Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

home/src/main/res/layout/watch_activity_dialing_voice.xml → home/src/main/res/layout/activity_dialing_voice.xml


+ 53 - 0
home/src/main/res/layout/activity_home.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+
+    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+      <include
+          android:id="@+id/activity_register_layout"
+          layout="@layout/activity_register"
+          ></include>>
+
+        <LinearLayout
+            android:id="@+id/watch_activity_home_linyout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:orientation="vertical"
+            android:visibility="gone">
+
+            <Button
+                android:id="@+id/btn_callout"
+                android:layout_marginTop="10dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
+                android:background="@drawable/round_button"
+                android:textColor="#0081ff"
+                android:text="问询"
+                android:textSize="30dp" />
+
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/tv_rtc_status"
+            android:layout_width="10dp"
+            android:layout_height="10dp"
+            android:layout_marginLeft="5dp"
+            android:layout_marginTop="5dp"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentTop="true"/>
+
+        <TextView
+            android:id="@+id/tv_version_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textColor="@color/cardview_shadow_start_color"
+            android:layout_marginRight="5dp"
+            android:layout_alignParentEnd="true"
+            android:layout_alignParentBottom="true"/>
+
+    </RelativeLayout>
+</layout>

+ 64 - 0
home/src/main/res/layout/activity_register.xml

@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:padding="10dp"
+    android:orientation="vertical">
+    <ScrollView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:textSize="20dp"
+            android:text="服务器IP: "/>
+        <TextView
+            android:id="@+id/tv_server_ip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="40dp"
+            android:textSize="20dp"
+            android:text=""/>
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:textSize="20dp"
+            android:text="识别码: "/>
+        <TextView
+            android:id="@+id/tv_device_imei"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:textSize="20dp"
+            android:text=""/>
+
+        <TextView
+            android:id="@+id/tv_status"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:textColor="@color/color_red"
+            android:textSize="20dp"
+            android:text=""/>
+
+        <Button
+            android:id="@+id/btn_system_setting0"
+            android:layout_marginTop="10dp"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:background="@drawable/javashop_btn_balck_line_bg"
+            android:text="系统设置"
+            android:textSize="14dp" />
+    </LinearLayout>
+    </ScrollView>
+</LinearLayout>
+</layout>

+ 0 - 75
home/src/main/res/layout/activity_sos_emergency_call.xml

@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:keepScreenOn="true"
-    android:background="#FFE6E8">
-
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_centerHorizontal="true"
-        android:layout_marginTop="11px"
-        android:gravity="center_horizontal"
-        android:orientation="vertical">
-
-        <ImageView
-            android:id="@+id/bao_mother_image_imagev"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/bao_ma_tou_xiang" />
-
-        <TextView
-            android:id="@+id/bao_mother_name_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginTop="8px"
-            android:text="宝妈名字"
-            android:textSize="20sp" />
-
-        <TextView
-            android:id="@+id/event_text"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:layout_marginTop="8px"
-            android:textColor="#FF0000"
-            android:text=""
-            android:textSize="25sp" />
-
-    </LinearLayout>
-
-
-    <TextView
-        android:id="@+id/call_duration_tv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/call_out_linlyout"
-        android:layout_centerHorizontal="true"
-        android:text=""
-        android:textSize="24sp"
-        android:visibility="gone" />
-
-    <LinearLayout
-        android:id="@+id/call_out_linlyout"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_centerHorizontal="true"
-        android:layout_marginTop="13px"
-        android:layout_marginBottom="11px"
-        android:orientation="horizontal">
-
-        <ImageView
-            android:id="@+id/hang_up_imagev"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/yu_yin_gua_duan" />
-
-    </LinearLayout>
-
-
-</RelativeLayout>
-</layout>

+ 0 - 24
home/src/main/res/layout/activity_takeover.xml

@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:bind="http://schemas.android.com/apk/res-auto">
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FFBDC3">
-
-        <com.scwang.smartrefresh.layout.SmartRefreshLayout
-            android:id="@+id/refresh"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="6px"
-            android:layout_marginRight="6px"
-            bind:srlEnableLoadMore="false"
-            bind:srlEnableRefresh="true">
-
-            <android.support.v7.widget.RecyclerView
-                android:id="@+id/takeover_list"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:background="#FFBDC3"></android.support.v7.widget.RecyclerView>
-        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
-    </RelativeLayout>
-</layout>

+ 43 - 0
home/src/main/res/layout/activity_video.xml

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:keepScreenOn="true">
+
+    <LinearLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:gravity="center_horizontal"
+        android:layout_marginBottom="11dp"
+        android:orientation="vertical">
+
+        <Chronometer
+            android:id="@+id/call_duration_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:text="00:00"
+            android:textSize="12sp"
+            android:visibility="gone"/>
+
+        <TextView
+            android:id="@+id/tv_connecting"
+            android:text="呼叫中"
+            android:textSize="14dp"
+            android:visibility="gone"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+
+        <ImageView
+            android:id="@+id/iv_handoff"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="13dp"
+            android:src="@drawable/yu_yin_gua_duan" />
+
+    </LinearLayout>
+
+</LinearLayout>
+</layout>

home/src/main/res/layout/watch_activity_voice_calls.xml → home/src/main/res/layout/activity_voice_calls.xml


+ 0 - 42
home/src/main/res/layout/adapter_client_list.xml

@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="50px">
-
-    <RelativeLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <TextView
-            android:id="@+id/room_number_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="13px"
-            android:text="玫瑰房"
-            android:textColor="#F78B8F"
-            android:textSize="16px" />
-
-        <TextView
-            android:id="@+id/name_tv"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="20px"
-            android:layout_toRightOf="@+id/room_number_tv"
-            android:text="张女士"
-            android:textColor="#F78B8F"
-            android:textSize="16px" />
-
-        <ImageView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/zhe_die"
-            android:layout_centerVertical="true"
-            android:layout_marginRight="12px"
-            android:layout_alignParentRight="true"/>
-
-    </RelativeLayout>
-
-
-</RelativeLayout>

+ 0 - 141
home/src/main/res/layout/adapter_watch_call_records_item.xml

@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="70dp"
-        android:background="@drawable/item_selector"
-        android:layout_marginTop="6dp">
-
-        <LinearLayout
-            android:id="@+id/tab_linyout"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="9dp"
-            android:layout_centerVertical="true"
-            android:orientation="vertical">
-
-            <ImageView
-                android:id="@+id/tab_imagev"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/hu_ru_yi_jie" />
-
-            <ImageView
-                android:id="@+id/call_status_imagev"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="2dp"
-                android:src="@drawable/hu_ru_yi_jie"
-                android:visibility="gone"/>
-        </LinearLayout>
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="4dp"
-            android:layout_marginRight="9dp"
-            android:layout_toRightOf="@+id/tab_linyout">
-
-            <RelativeLayout
-                android:id="@+id/room_name_linlyout"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="6dp">
-
-                <TextView
-                    android:id="@+id/sickbed_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="05房01床"
-                    android:textSize="14dp" />
-
-                <TextView
-                    android:id="@+id/call_time_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentRight="true"
-                    android:text="12:00:00"
-                    android:textSize="12dp" />
-
-            </RelativeLayout>
-
-            <RelativeLayout
-                android:id="@+id/nursing_project_relalyout"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_below="@+id/room_name_linlyout"
-                android:layout_marginLeft="6dp"
-                android:layout_marginTop="4dp"
-                android:orientation="vertical">
-
-                <TextView
-                    android:id="@+id/name_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="zhangx"
-                    android:textSize="14dp" />
-
-                <LinearLayout
-                    android:id="@+id/incident_linlyou"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentRight="true"
-                    android:orientation="horizontal">
-
-                    <ImageView
-                        android:id="@+id/treatment_state_imagev"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center"
-                        android:layout_marginRight="6dp"
-                        android:src="@drawable/yi_chu_li" />
-
-
-                    <TextView
-                        android:id="@+id/project_tv"
-                        android:layout_width="59dp"
-                        android:layout_height="20dp"
-                        android:gravity="center"
-                        android:text="---"
-                        android:background="@drawable/sp_event_handled"
-                        android:textSize="12dp"
-                         />
-
-                    <ImageView
-                        android:id="@+id/play_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/wei_bo_fang"
-                        android:gravity="center"
-                        android:visibility="gone"/>
-
-                </LinearLayout>
-            </RelativeLayout>
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_below="@+id/nursing_project_relalyout"
-                android:layout_alignParentRight="true"
-                android:layout_marginTop="4dp"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/conductor_name_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginRight="10dp"
-                    android:text="处理人"
-                    android:textSize="12dp" />
-
-                <TextView
-                    android:id="@+id/processing_time_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="12:00:00"
-                    android:textSize="12dp" />
-            </LinearLayout>
-        </RelativeLayout>
-    </RelativeLayout>
-</layout>

+ 0 - 49
home/src/main/res/layout/adapter_watch_contacts_item.xml

@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="70dp"
-        android:layout_marginTop="7dp"
-        android:background="#FFFFFF">
-
-        <RelativeLayout
-            android:id="@+id/item_relayout"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:background="@drawable/item_selector"
-            >
-
-            <TextView
-                android:id="@+id/room_number_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerVertical="true"
-                android:layout_marginLeft="13dp"
-                android:text="玫瑰房"
-                android:textColor="#F78B8F"
-                android:textSize="16sp" />
-
-            <TextView
-                android:id="@+id/name_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerVertical="true"
-                android:layout_marginLeft="20dp"
-                android:layout_toRightOf="@+id/room_number_tv"
-                android:text="张女士"
-                android:textColor="#F78B8F"
-                android:textSize="16sp" />
-
-            <ImageView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_alignParentRight="true"
-                android:layout_centerVertical="true"
-                android:layout_marginRight="12dp"
-                android:src="@drawable/zhe_die" />
-
-        </RelativeLayout>
-    </RelativeLayout>
-</layout>

+ 0 - 20
home/src/main/res/layout/banner_corner_image_lay.xml

@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <android.support.v7.widget.CardView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        app:cardCornerRadius="10dp"
-        android:background="@color/color_white"
-        >
-        <ImageView
-            android:id="@+id/image"
-            android:scaleType="centerCrop"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-    </android.support.v7.widget.CardView>
-
-</android.support.constraint.ConstraintLayout>

+ 0 - 14
home/src/main/res/layout/banner_image_lay.xml

@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-        <ImageView
-            android:id="@+id/image"
-            android:scaleType="centerCrop"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
-
-</android.support.constraint.ConstraintLayout>

+ 0 - 137
home/src/main/res/layout/category_frag_lay.xml

@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:app="http://schemas.android.com/apk/res-auto"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        xmlns:tools="http://schemas.android.com/tools">
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-    <android.support.constraint.ConstraintLayout
-        android:id="@+id/cayegory_frag_topbar"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        bind:auto_topbar_height="@{true}"
-        bind:backgroundColor="@{@color/javashop_color_common_topbar_bg}"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        >
-        <View
-            android:id="@+id/category_frag_toolbar_holder"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            bind:status_bar="@{1}"
-            android:background="@color/javashop_color_holder_color"
-            />
-        <ImageView
-            android:id="@+id/category_frag_scan_iv"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:src="@drawable/javashop_category_scan"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintDimensionRatio="w,1:1"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.3"
-            app:layout_constraintTop_toBottomOf="@id/category_frag_toolbar_holder"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginLeft="10dp"
-            />
-        <ImageView
-            android:id="@+id/category_frag_my_iv"
-            android:layout_width="0dp"
-            android:src="@drawable/javashop_category_my"
-            android:layout_height="0dp"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintDimensionRatio="w,1:1"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.35"
-            app:layout_constraintTop_toBottomOf="@id/category_frag_toolbar_holder"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:layout_marginRight="10dp"
-            />
-        <android.support.constraint.ConstraintLayout
-            android:id="@+id/category_search_lay"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_marginLeft="10dp"
-            android:layout_marginRight="10dp"
-            app:layout_constraintTop_toBottomOf="@id/category_frag_toolbar_holder"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toRightOf="@id/category_frag_scan_iv"
-            app:layout_constraintRight_toLeftOf="@id/category_frag_my_iv"
-            android:background="@drawable/javashop_search_bg"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.45"
-            >
-            <ImageView
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:layout_marginLeft="5dp"
-                app:layout_constraintHeight_default="percent"
-                app:layout_constraintHeight_percent="0.6"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintDimensionRatio="w,1:1"
-                android:src="@drawable/javashop_category_search_find"
-                />
-
-            <TextView
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:ellipsize="end"
-                android:gravity="center_vertical"
-                android:lines="1"
-                android:paddingBottom="5dp"
-                android:paddingTop="5dp"
-                android:text="请输入你想搜索的关键词"
-                android:textColor="@color/javashop_color_search_tc"
-                app:autoSizeMaxTextSize="20sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintWidth_default="percent"
-                app:layout_constraintWidth_percent="0.75"
-                tools:ignore="MissingPrefix"
-                />
-        </android.support.constraint.ConstraintLayout>
-        <View style="@style/gray_line"
-              app:layout_constraintBottom_toBottomOf="parent"/>
-    </android.support.constraint.ConstraintLayout>
-    <ListView
-        android:id="@+id/category_left_lv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/cayegory_frag_topbar"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintWidth_percent="0.23"
-        android:scrollbars="none"
-        android:dividerHeight="1px"
-        android:background="@color/javashop_color_category_left_lv"
-        >
-    </ListView>
-    <android.support.v7.widget.RecyclerView
-        android:id="@+id/category_right_rv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/cayegory_frag_topbar"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintWidth_percent="0.77"
-        android:background="@color/javashop_color_category_rv_bg"
-        android:paddingLeft="10dp"
-        android:paddingRight="10dp"
-        >
-    </android.support.v7.widget.RecyclerView>
-</android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 36
home/src/main/res/layout/category_parent_item.xml

@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <data>
-        <variable
-            name="name"
-            type="String"/>
-    </data>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-
-    <TextView
-        android:id="@+id/category_parent_item_tv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:gravity="center_vertical"
-        android:textColor="@color/javashop_color_category_parent_tc"
-        android:layout_margin="2dp"
-        app:autoSizeMaxTextSize="100sp"
-        app:autoSizeMinTextSize="1sp"
-        app:autoSizeStepGranularity="2sp"
-        android:text="@{name}"
-        app:autoSizeTextType="uniform"
-        tools:ignore="MissingPrefix"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintHeight_default="percent"
-        app:layout_constraintWidth_percent="1"
-        app:layout_constraintHeight_percent="0.5"
-        />
-</android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 53
home/src/main/res/layout/categroy_child_item.xml

@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <data>
-        <variable
-            name="data"
-            type="com.wdkl.ncs.android.middleware.model.ChildCategoryViewModel"/>
-    </data>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/javashop_color_category_child_bg"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:bind="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools">
-    <ImageView
-        android:id="@+id/category_child_item_iv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:scaleType="centerCrop"
-        android:layout_marginTop="10dp"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintWidth_percent="0.8"
-        app:layout_constraintDimensionRatio="h,1:1"
-        bind:url="@{data.imageUrl}"
-        />
-    <TextView
-        android:id="@+id/category_child_item_tv"
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        android:gravity="center"
-        android:textColor="@color/javashop_color_category_child_tc"
-        android:layout_margin="2dp"
-        app:autoSizeMaxTextSize="100sp"
-        app:autoSizeMinTextSize="1sp"
-        app:autoSizeStepGranularity="2sp"
-        app:autoSizeTextType="uniform"
-        tools:ignore="MissingPrefix"
-        android:text="@{data.name}"
-        app:layout_constraintTop_toBottomOf="@id/category_child_item_iv"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintWidth_percent="1"
-        app:layout_constraintDimensionRatio="h,4.65:1"
-        app:layout_constraintVertical_bias="0.2"
-        />
-</android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 36
home/src/main/res/layout/categroy_left_item.xml

@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <data>
-        <variable
-            name="itemData"
-            type="com.wdkl.ncs.android.middleware.model.ParentCategoryViewModel"/>
-    </data>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:background="@{itemData.selected.get() ? @drawable/javashop_category_left_item_select_bg : @drawable/javashop_category_left_item_nomal_bg}"
-    android:layout_height="50dp"
-    android:layout_width="match_parent"
-    >
-    <TextView
-        android:layout_width="0dp"
-        android:layout_height="0dp"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:autoSizeMaxTextSize="100sp"
-        app:autoSizeMinTextSize="1sp"
-        app:autoSizeStepGranularity="2sp"
-        app:autoSizeTextType="uniform"
-        tools:ignore="MissingPrefix"
-        android:text="@{itemData.bind_name.get()}"
-        android:gravity="center"
-        android:textColor="@{itemData.selected.get() ? @color/javashop_color_category_left_item_select_tc : @color/javashop_color_category_left_item_nomal_tc}"
-        app:layout_constraintWidth_default="percent"
-        app:layout_constraintWidth_percent="1"
-        app:layout_constraintDimensionRatio="h,4.5:1"
-        />
-</android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 18
home/src/main/res/layout/floor_item_banner_lay.xml

@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:app="http://schemas.android.com/apk/res-auto">
-    <LinearLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:orientation="horizontal"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-        <com.zhouwei.mzbanner.MZBannerView
-            android:id="@+id/banner"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            app:open_mz_mode="false"
-            app:canLoop="true"
-            app:indicatorAlign="center"
-            app:indicatorPaddingTop="10dp"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 46
home/src/main/res/layout/floor_item_five_image_lay.xml

@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-        <ImageView
-            android:id="@+id/imageB"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-        <ImageView
-            android:id="@+id/imageC"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="centerCrop"
-            />
-        <ImageView
-            android:id="@+id/imageD"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-        <ImageView
-            android:id="@+id/imageE"
-            android:layout_weight="1"
-            android:src="@drawable/image_error"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 38
home/src/main/res/layout/floor_item_four_image_lay.xml

@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-        <ImageView
-            android:id="@+id/imageB"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-        <ImageView
-            android:id="@+id/imageC"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-        <ImageView
-            android:id="@+id/imageD"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 31
home/src/main/res/layout/floor_item_left_right_lay.xml

@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="0.5"
-            />
-        <ImageView
-            android:id="@+id/imageB"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="0.25"
-            />
-        <ImageView
-            android:id="@+id/imageC"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="0.25"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 39
home/src/main/res/layout/floor_item_lone_rtwo_image_lay.xml

@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-        <LinearLayout
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:orientation="vertical"
-            >
-            <ImageView
-                android:id="@+id/imageB"
-                android:layout_weight="1"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:scaleType="fitXY"
-                />
-            <ImageView
-                android:id="@+id/imageC"
-                android:layout_weight="1"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:scaleType="fitXY"
-                />
-        </LinearLayout>
-
-    </LinearLayout>
-</layout>

+ 0 - 38
home/src/main/res/layout/floor_item_ltwo_rone_image_lay.xml

@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <LinearLayout
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:orientation="vertical"
-            >
-            <ImageView
-                android:id="@+id/imageA"
-                android:layout_weight="1"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:scaleType="fitXY"
-                />
-            <ImageView
-                android:id="@+id/imageB"
-                android:layout_weight="1"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:scaleType="fitXY"
-                />
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/imageC"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 25
home/src/main/res/layout/floor_item_menu_lay.xml

@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="vertical"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="150dp">
-        <LinearLayout
-            android:id="@+id/menu_a"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:orientation="horizontal"
-            >
-        </LinearLayout>
-        <LinearLayout
-            android:id="@+id/menu_b"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:orientation="horizontal"
-            >
-        </LinearLayout>
-    </LinearLayout>
-</layout>

+ 0 - 488
home/src/main/res/layout/floor_item_seckill_lay.xml

@@ -1,488 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <android.support.constraint.ConstraintLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="160dp"
-        xmlns:app="http://schemas.android.com/apk/res-auto"
-        xmlns:tools="http://schemas.android.com/tools"
-        android:background="@drawable/javashop_corners_common"
-        >
-        <ImageView
-            android:id="@+id/logo"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintHeight_percent="0.135"
-            app:layout_constraintWidth_percent="0.2"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintVertical_bias="0.07"
-            android:paddingTop="3dp"
-            android:paddingBottom="3dp"
-            android:layout_marginLeft="5dp"
-            app:layout_constraintHorizontal_bias="0"
-            android:src="@drawable/javashop_icon_seckill_black"
-            />
-        <android.support.constraint.ConstraintLayout
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintWidth_percent="0.35"
-            android:layout_marginRight="5dp"
-            app:layout_constraintRight_toRightOf="parent"
-            android:paddingRight="5dp"
-            app:layout_constraintTop_toTopOf="@id/logo"
-            app:layout_constraintBottom_toBottomOf="@id/logo"
-            android:background="@drawable/javashop_fillet_red_big_bg"
-            >
-            <TextView
-                android:id="@+id/sec_tv"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:background="@color/transparent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintHeight_percent="9"
-                app:layout_constraintDimensionRatio="w,1:1"
-                app:layout_constraintHorizontal_bias="1"
-                android:textColor="#ff4e5a"
-                android:gravity="center"
-                android:text="00"
-                style="@style/auto_text_size"
-                android:textStyle="bold"
-                app:autoSizeMaxTextSize="25sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-
-            <TextView
-                android:id="@+id/colon_a"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toTopOf="@id/sec_tv"
-                app:layout_constraintBottom_toBottomOf="@id/sec_tv"
-                app:layout_constraintWidth_percent="0.02"
-                app:layout_constraintRight_toLeftOf="@id/sec_tv"
-                android:textColor="#ff4e5a"
-                android:text=":"
-                android:gravity="center"
-                style="@style/auto_text_size"
-                android:textStyle="bold"
-                app:autoSizeMaxTextSize="25sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-
-            <TextView
-                android:id="@+id/min_tv"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toTopOf="@id/sec_tv"
-                app:layout_constraintBottom_toBottomOf="@id/sec_tv"
-                app:layout_constraintDimensionRatio="w,1:1"
-                app:layout_constraintRight_toLeftOf="@id/colon_a"
-                android:textColor="#ff4e5a"
-                android:background="@color/transparent"
-                android:gravity="center"
-                android:text="00"
-                style="@style/auto_text_size"
-                android:textStyle="bold"
-                android:visibility="visible"
-                app:autoSizeMaxTextSize="25sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-
-            <TextView
-                android:id="@+id/colon_b"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toTopOf="@id/sec_tv"
-                app:layout_constraintBottom_toBottomOf="@id/sec_tv"
-                app:layout_constraintWidth_percent="0.02"
-                app:layout_constraintRight_toLeftOf="@id/min_tv"
-                android:textColor="#ff4e5a"
-                android:text=":"
-                android:gravity="center"
-                style="@style/auto_text_size"
-                android:textStyle="bold"
-                app:autoSizeMaxTextSize="25sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-
-            <TextView
-                android:id="@+id/hour_tv"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                app:layout_constraintTop_toTopOf="@id/sec_tv"
-                app:layout_constraintBottom_toBottomOf="@id/sec_tv"
-                app:layout_constraintDimensionRatio="w,1:1"
-                app:layout_constraintRight_toLeftOf="@id/colon_b"
-                android:textColor="#ff4e5a"
-                android:background="@color/transparent"
-                android:gravity="center"
-                style="@style/auto_text_size"
-                android:visibility="visible"
-                android:text="00"
-                android:textStyle="bold"
-                app:autoSizeMaxTextSize="25sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-            <TextView
-                android:id="@+id/title"
-                android:text="10点场"
-                android:paddingLeft="2dp"
-                android:paddingRight="2dp"
-                android:paddingTop="1dp"
-                android:paddingBottom="1dp"
-                android:textStyle="bold"
-                android:gravity="center"
-                style="@style/auto_text_size"
-                app:autoSizeMaxTextSize="100sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                android:textColor="@color/color_white"
-                android:layout_height="0dp"
-                android:layout_width="0dp"
-                app:layout_constraintHeight_percent="1"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintHorizontal_bias="0"
-                app:layout_constraintDimensionRatio="w,2.5:1"
-                android:background="@drawable/javashop_corners_red_left"
-                />
-        </android.support.constraint.ConstraintLayout>
-        <LinearLayout
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:orientation="horizontal"
-            android:layout_marginTop="10dp"
-            android:paddingLeft="5dp"
-            android:paddingRight="5dp"
-            app:layout_constraintTop_toBottomOf="@id/logo"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            >
-            <android.support.constraint.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:id="@+id/goods1"
-                >
-                <ImageView
-                    android:id="@+id/image1"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintWidth_percent="0.9"
-                    app:layout_constraintDimensionRatio="h,1:1"
-                    app:layout_constraintVertical_bias="0"
-                    android:src="@mipmap/ic_launcher"
-                    android:scaleType="centerCrop"
-                    />
-                <TextView
-                    android:id="@+id/org_price1"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintHeight_percent="0.135"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    android:layout_marginBottom="5dp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="#c0c0c1"
-                    android:text="¥4678"
-                    />
-                <TextView
-                    android:id="@+id/price1"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toTopOf="@id/org_price1"
-                    app:layout_constraintTop_toBottomOf="@id/image1"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="@color/javashop_color_navy"
-                    android:text="¥4678"
-                    />
-            </android.support.constraint.ConstraintLayout>
-            <android.support.constraint.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:id="@+id/goods2"
-                >
-                <ImageView
-                    android:id="@+id/image2"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintWidth_percent="0.9"
-                    app:layout_constraintDimensionRatio="h,1:1"
-                    app:layout_constraintVertical_bias="0"
-                    android:src="@mipmap/ic_launcher"
-                    android:scaleType="centerCrop"
-                    />
-                <TextView
-                    android:id="@+id/org_price2"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintHeight_percent="0.135"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="#c0c0c1"
-                    android:layout_marginBottom="5dp"
-                    android:text="¥4678"
-                    />
-                <TextView
-                    android:id="@+id/price2"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toTopOf="@id/org_price2"
-                    app:layout_constraintTop_toBottomOf="@id/image2"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="@color/javashop_color_navy"
-                    android:text="¥4678"
-                    />
-            </android.support.constraint.ConstraintLayout>
-            <android.support.constraint.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:id="@+id/goods3"
-                >
-                <ImageView
-                    android:id="@+id/image3"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintWidth_percent="0.9"
-                    app:layout_constraintDimensionRatio="h,1:1"
-                    app:layout_constraintVertical_bias="0"
-                    android:src="@mipmap/ic_launcher"
-                    android:scaleType="centerCrop"
-                    />
-                <TextView
-                    android:id="@+id/org_price3"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintHeight_percent="0.135"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="#c0c0c1"
-                    android:layout_marginBottom="5dp"
-                    android:text="¥4678"
-                    />
-                <TextView
-                    android:id="@+id/price3"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toTopOf="@id/org_price3"
-                    app:layout_constraintTop_toBottomOf="@id/image3"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="@color/javashop_color_navy"
-                    android:text="¥4678"
-                    />
-            </android.support.constraint.ConstraintLayout>
-            <android.support.constraint.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:id="@+id/goods4"
-                >
-                <ImageView
-                    android:id="@+id/image4"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintWidth_percent="0.9"
-                    app:layout_constraintDimensionRatio="h,1:1"
-                    app:layout_constraintVertical_bias="0"
-                    android:src="@mipmap/ic_launcher"
-                    android:scaleType="centerCrop"
-                    />
-                <TextView
-                    android:id="@+id/org_price4"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintHeight_percent="0.135"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="#c0c0c1"
-                    android:layout_marginBottom="5dp"
-                    android:text="¥4678"
-                    />
-                <TextView
-                    android:id="@+id/price4"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toTopOf="@id/org_price4"
-                    app:layout_constraintTop_toBottomOf="@id/image4"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="@color/javashop_color_navy"
-                    android:text="¥4678"
-                    />
-            </android.support.constraint.ConstraintLayout>
-            <android.support.constraint.ConstraintLayout
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:layout_weight="1"
-                android:id="@+id/goods5"
-                >
-                <ImageView
-                    android:id="@+id/image5"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintTop_toTopOf="parent"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    app:layout_constraintWidth_percent="0.9"
-                    app:layout_constraintDimensionRatio="h,1:1"
-                    app:layout_constraintVertical_bias="0"
-                    android:src="@mipmap/ic_launcher"
-                    android:scaleType="centerCrop"
-                    />
-                <TextView
-                    android:id="@+id/org_price5"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    app:layout_constraintHeight_percent="0.135"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toBottomOf="parent"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="#c0c0c1"
-                    android:layout_marginBottom="5dp"
-                    android:text="¥4678"
-                    />
-                <TextView
-                    android:id="@+id/price5"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:gravity="center"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintBottom_toTopOf="@id/org_price5"
-                    app:layout_constraintTop_toBottomOf="@id/image5"
-                    style="@style/auto_text_size"
-                    android:textStyle="bold"
-                    app:autoSizeMaxTextSize="25sp"
-                    app:autoSizeMinTextSize="1sp"
-                    app:autoSizeStepGranularity="2sp"
-                    app:autoSizeTextType="uniform"
-                    tools:ignore="MissingPrefix"
-                    android:textColor="@color/javashop_color_navy"
-                    android:text="¥4678"
-                    />
-            </android.support.constraint.ConstraintLayout>
-        </LinearLayout>
-    </android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 17
home/src/main/res/layout/floor_item_single_image_lay.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 17
home/src/main/res/layout/floor_item_text_lay.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-        <TextView
-            android:id="@+id/text"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:textColor="#090909"
-            android:textSize="15sp"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 31
home/src/main/res/layout/floor_item_three_image_lay.xml

@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/imageA"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-        <ImageView
-            android:id="@+id/imageB"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-        <ImageView
-            android:id="@+id/imageC"
-            android:layout_weight="1"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 17
home/src/main/res/layout/floor_item_title_lay.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <LinearLayout
-        android:orientation="horizontal"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_height="match_parent">
-        <ImageView
-            android:id="@+id/image"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:scaleType="fitXY"
-            android:layout_weight="1"
-            />
-    </LinearLayout>
-</layout>

+ 0 - 47
home/src/main/res/layout/home_act_lay.xml

@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:bind="http://schemas.android.com/tools"
-        xmlns:app="http://schemas.android.com/apk/res-auto">
-    <android.support.constraint.ConstraintLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        >
-        <View
-            android:id="@+id/holder"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:background="@drawable/javashop_home_bottom_bar_mask"
-            />
-        <com.enation.javashop.android.widget.navigationview.FragmentPagerView
-            android:id="@+id/home_act_viewpager"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            app:layout_constraintTop_toTopOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintBottom_toTopOf="@+id/holder"
-            >
-        </com.enation.javashop.android.widget.navigationview.FragmentPagerView>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="60dp"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:background="@drawable/javashop_home_bottom_bar_mask"
-            />
-        <com.enation.javashop.android.widget.navigationview.NavigationView
-            android:id="@+id/home_act_navigationview"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintBottom_toBottomOf="parent"
-            bind:backgroundColor="@{@color/javashop_color_home_navigation_bg}"
-            >
-        </com.enation.javashop.android.widget.navigationview.NavigationView>
-    </android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 182
home/src/main/res/layout/home_frag_lay.xml

@@ -1,182 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <data>
-        <variable name="homeData" type="com.wdkl.ncs.android.component.home.binding.HomeFragmentBindHelper"/>
-    </data>
-<android.support.constraint.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/javashop_color_white"
-    xmlns:bind="http://schemas.android.com/apk/res-auto"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-    <com.scwang.smartrefresh.layout.SmartRefreshLayout
-        android:id="@+id/home_frag_tangram_refreshlayout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:srlEnableRefresh="true"
-        app:srlEnableLoadMore="false"
-        android:background="@color/javashop_color_cyan"
-        >
-        <android.support.v7.widget.RecyclerView
-        android:id="@+id/home_frag_floor_view"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#EEF2F3"
-        />
-    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
-    <android.support.constraint.ConstraintLayout
-        android:id="@+id/home_frag_toolbar"
-        android:layout_width="match_parent"
-        android:layout_height="50dp"
-        bind:auto_topbar_height="@{true}"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        bind:layout_constraintTop_toTopOf="parent"
-        bind:alpha="@{homeData.scrollY.get()}"
-        android:background="@color/javashop_color_white"
-        >
-        <View
-            android:id="@+id/home_frag_toolbar_holder"
-            android:layout_width="0dp"
-            android:background="@{homeData.scrollY.get() > 30 ? @color/javashop_color_holder_color : @color/javashop_color_transparent }"
-            android:layout_height="0dp"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            bind:layout_constraintTop_toTopOf="parent"
-            bind:status_bar="@{1}"
-            />
-        <LinearLayout
-            android:id="@+id/home_frag_toolbar_scan_lay"
-            android:padding="5dp"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:gravity="center"
-            android:orientation="vertical"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/home_frag_toolbar_holder"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.65"
-            app:layout_constraintDimensionRatio="w,1:1">
-            <ImageView
-                android:id="@+id/home_frag_toolbar_scan_iv"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="2"
-                android:padding="4dp"
-                android:src="@{homeData.isHide().get() ? @drawable/javashop_scan_white : @drawable/javashop_scan_black}"
-                />
-            <TextView
-                android:gravity="center"
-                android:layout_weight="1"
-                android:id="@+id/home_frag_toolbar_scan_tv"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                app:autoSizeMaxTextSize="100sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                android:textColor="@{homeData.isHide().get() ? @color/javashop_color_white :@color/javashop_color_black}"
-                android:text="@string/javashop_qrcode_name"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-        </LinearLayout>
-
-        <LinearLayout
-            android:id="@+id/home_frag_toolbar_my_lay"
-            android:padding="5dp"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:gravity="center"
-            android:orientation="vertical"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toBottomOf="@id/home_frag_toolbar_holder"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.65"
-            app:layout_constraintDimensionRatio="w,1:1">
-            <ImageView
-                android:id="@+id/home_frag_toolbar_my_iv"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:padding="2dp"
-                android:layout_weight="2"
-                android:src="@{homeData.isHide().get() ? @drawable/javashop_my_white : @drawable/javashop_my_black}"
-                />
-            <TextView
-                android:gravity="center"
-                android:layout_weight="1"
-                android:id="@+id/home_frag_toolbar_my_tv"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                app:autoSizeMaxTextSize="100sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                android:textColor="@{homeData.isHide().get() ? @color/javashop_color_white : @color/javashop_color_black}"
-                android:text="@string/javashop_navigation_persion_title"
-                app:autoSizeTextType="uniform"
-                tools:ignore="MissingPrefix"
-                />
-        </LinearLayout>
-
-        <android.support.constraint.ConstraintLayout
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:id="@+id/home_frag_toolbar_search_lay"
-            app:layout_constraintHeight_default="percent"
-            app:layout_constraintHeight_percent="0.4"
-            app:layout_constraintTop_toBottomOf="@id/home_frag_toolbar_holder"
-            app:layout_constraintRight_toLeftOf="@id/home_frag_toolbar_my_lay"
-            app:layout_constraintLeft_toRightOf="@id/home_frag_toolbar_scan_lay"
-            app:layout_constraintBottom_toBottomOf="parent"
-            android:background="@{homeData.isHide().get() ? @drawable/javashop_home_frag_toolbar_search_white_bg : @drawable/javashop_home_frag_toolbar_search_gray_bg}"
-            >
-            <ImageView
-                android:id="@+id/home_frag_toolbar_search_iv"
-                android:layout_width="0dp"
-                android:layout_height="0dp"
-                android:layout_marginLeft="5dp"
-                app:layout_constraintHeight_default="percent"
-                app:layout_constraintHeight_percent="0.6
-"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintDimensionRatio="w,1:1"
-                android:src="@{homeData.isHide().get() ? @drawable/javashop_find_black : @drawable/javashop_find_white}"
-                />
-
-            <TextView
-                android:id="@+id/home_frag_toolbar_search_tv"
-                android:layout_width="0dp"
-                android:layout_height="31dp"
-                android:ellipsize="end"
-                android:gravity="center_vertical"
-                android:lines="1"
-                android:paddingBottom="5dp"
-                android:paddingTop="5dp"
-                android:text="请输入你想搜索的关键词"
-                android:textColor="@{homeData.isHide().get() ? @color/javashop_color_searcher_tv_gray : @color/javashop_color_white}"
-                app:autoSizeMaxTextSize="20sp"
-                app:autoSizeMinTextSize="1sp"
-                app:autoSizeStepGranularity="2sp"
-                app:autoSizeTextType="uniform"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                app:layout_constraintWidth_default="percent"
-                app:layout_constraintWidth_percent="0.75"
-                tools:ignore="MissingPrefix"
-                />
-        </android.support.constraint.ConstraintLayout>
-
-    </android.support.constraint.ConstraintLayout>
-</android.support.constraint.ConstraintLayout>
-</layout>

+ 0 - 26
home/src/main/res/layout/takeover_item.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-    <RelativeLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="70sp"
-        android:layout_marginTop="7sp"
-        android:background="@drawable/item_selector">
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-
-            <TextView
-                android:id="@+id/clerk_name"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerVertical="true"
-                android:layout_marginLeft="20sp"
-                android:textColor="#F78B8F"
-                android:textSize="16sp" />
-
-        </RelativeLayout>
-
-    </RelativeLayout>
-</layout>

+ 0 - 169
home/src/main/res/layout/user_setting_layout.xml

@@ -1,169 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android">
-
-
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FFBDC3">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical"
-                android:layout_marginTop="15dp"
-                android:gravity="center_horizontal">
-                <ImageView
-                    android:src="@mipmap/launcher"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"/>
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:padding="10dp"
-                android:orientation="vertical">
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal">
-                    <TextView
-                        android:text="版本"
-                        android:textSize="14dp"
-                        android:textColor="@color/javashop_color_searcher_tv_gray"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"/>
-                    <LinearLayout
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:gravity="right">
-                        <TextView
-                            android:id="@+id/tv_app_version"
-                            android:textSize="14dp"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"/>
-                    </LinearLayout>
-                </LinearLayout>
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal">
-                    <TextView
-                        android:text="设备ID"
-                        android:textSize="14dp"
-                        android:textColor="@color/javashop_color_searcher_tv_gray"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"/>
-                    <LinearLayout
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:gravity="right">
-                        <TextView
-                            android:id="@+id/tv_device_id"
-                            android:textSize="14dp"
-                            android:textColor="@color/javashop_color_searcher_tv_gray"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"/>
-                    </LinearLayout>
-                </LinearLayout>
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal">
-                    <TextView
-                        android:text="设备标识码"
-                        android:textSize="14dp"
-                        android:textColor="@color/javashop_color_searcher_tv_gray"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"/>
-                    <LinearLayout
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:gravity="right">
-                        <TextView
-                            android:id="@+id/tv_device_imei"
-                            android:textSize="14dp"
-                            android:textColor="@color/javashop_color_searcher_tv_gray"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"/>
-                    </LinearLayout>
-                </LinearLayout>
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="horizontal">
-                    <TextView
-                        android:text="设备IP"
-                        android:textSize="14dp"
-                        android:textColor="@color/javashop_color_searcher_tv_gray"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"/>
-                    <LinearLayout
-                        android:layout_width="0dp"
-                        android:layout_height="wrap_content"
-                        android:layout_weight="1"
-                        android:gravity="right">
-                        <TextView
-                            android:id="@+id/tv_device_ip"
-                            android:textSize="14dp"
-                            android:textColor="@color/javashop_color_searcher_tv_gray"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"/>
-                    </LinearLayout>
-                </LinearLayout>
-
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:padding="10dp"
-                android:orientation="vertical">
-
-                <Button
-                    android:id="@+id/btn_user_change"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal"
-                    android:background="@drawable/javashop_btn_balck_line_bg"
-                    android:text="换班"
-                    android:textSize="14dp" />
-
-                <Button
-                    android:id="@+id/btn_check_update"
-                    android:layout_marginTop="10dp"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal"
-                    android:background="@drawable/javashop_btn_balck_line_bg"
-                    android:text="检查升级"
-                    android:textSize="14dp" />
-
-                <Button
-                    android:id="@+id/btn_system_setting"
-                    android:layout_marginTop="10dp"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_horizontal"
-                    android:background="@drawable/javashop_btn_balck_line_bg"
-                    android:text="系统设置"
-                    android:textSize="14dp" />
-
-            </LinearLayout>
-
-        </LinearLayout>
-    </ScrollView>
-</layout>

+ 0 - 41
home/src/main/res/layout/watch_activity_call_records.xml

@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:bind="http://schemas.android.com/apk/res-auto">
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FFBDC3">
-
-        <com.scwang.smartrefresh.layout.SmartRefreshLayout
-            android:id="@+id/refresh"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="6px"
-            android:layout_marginRight="6px"
-            bind:srlEnableLoadMore="true"
-            bind:srlEnableRefresh="true">
-
-            <android.support.v7.widget.RecyclerView
-                android:id="@+id/call_records_recyv"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:background="#FFBDC3"></android.support.v7.widget.RecyclerView>
-        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
-
-        <RelativeLayout
-            android:id="@+id/call_relyout"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentBottom="true"
-            android:layout_centerHorizontal="true"
-            android:layout_marginBottom="16dp"
-            android:visibility="gone">
-
-            <ImageView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerInParent="true"
-                android:background="@drawable/yu_yin_jie_ting" />
-        </RelativeLayout>
-    </RelativeLayout>
-</layout>

+ 0 - 160
home/src/main/res/layout/watch_activity_event.xml

@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FBE5E8">
-
-        <LinearLayout
-            android:id="@+id/tab_linyout"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="9px"
-            android:orientation="vertical">
-
-            <ImageView
-                android:id="@+id/tab_imagev"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/bao_ma_tou_xiang" />
-
-            <ImageView
-                android:id="@+id/call_status_imagev"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="2px"
-                android:visibility="gone" />
-        </LinearLayout>
-
-        <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginTop="4px"
-            android:layout_marginRight="9px"
-            android:layout_toRightOf="@+id/tab_linyout">
-
-            <RelativeLayout
-                android:id="@+id/room_name_linlyout"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="6px">
-
-                <TextView
-                    android:id="@+id/sickbed_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="05房01床"
-                    android:textSize="14px" />
-
-                <TextView
-                    android:id="@+id/call_time_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentRight="true"
-                    android:text="12:00:00"
-                    android:textSize="12px" />
-
-            </RelativeLayout>
-
-            <RelativeLayout
-                android:id="@+id/nursing_project_relalyout"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_below="@+id/room_name_linlyout"
-                android:layout_marginLeft="6px"
-                android:layout_marginTop="4px"
-                android:orientation="vertical">
-
-                <TextView
-                    android:id="@+id/name_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="zhangx"
-                    android:textSize="14px" />
-
-                <LinearLayout
-                    android:id="@+id/incident_linlyou"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentRight="true"
-                    android:orientation="horizontal">
-
-                    <ImageView
-                        android:id="@+id/treatment_state_imagev"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center"
-                        android:layout_marginRight="6px"
-                        android:src="@drawable/yi_chu_li"
-                        android:visibility="gone" />
-
-
-                    <TextView
-                        android:id="@+id/project_tv"
-                        android:layout_width="59px"
-                        android:layout_height="20px"
-                        android:background="@drawable/sp_event_handled"
-                        android:gravity="center"
-                        android:text="啊哈哈"
-                        android:textSize="12px" />
-
-                    <ImageView
-                        android:id="@+id/play_tv"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:background="@drawable/wei_bo_fang"
-                        android:gravity="center"
-                        android:visibility="gone" />
-
-                </LinearLayout>
-            </RelativeLayout>
-
-            <LinearLayout
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_below="@+id/nursing_project_relalyout"
-                android:layout_alignParentRight="true"
-                android:layout_marginTop="4px"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/conductor_name_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginRight="10px"
-                    android:text="处理人"
-                    android:textSize="12px"
-                    android:visibility="gone" />
-
-                <TextView
-                    android:id="@+id/processing_time_tv"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="12:00:00"
-                    android:textSize="12px" />
-            </LinearLayout>
-        </RelativeLayout>
-
-        <RelativeLayout
-            android:id="@+id/event_button_relyout"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentBottom="true"
-            android:layout_centerHorizontal="true"
-            android:background="@drawable/wei_chu_li_bg">
-
-            <TextView
-                android:id="@+id/event_state_tv"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_centerInParent="true"
-                android:text="未处理"
-                android:textSize="8sp" />
-
-
-        </RelativeLayout>
-
-    </RelativeLayout>
-</layout>

+ 0 - 132
home/src/main/res/layout/watch_activity_event_detail.xml

@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FFBDC3"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center">
-            <LinearLayout
-                android:layout_width="35dp"
-                android:layout_height="wrap_content">
-                <ImageView
-                    android:id="@+id/back"
-                    android:layout_width="30dp"
-                    android:layout_height="30dp"
-                    android:layout_gravity="left|center_vertical"
-                    android:layout_marginLeft="3.0dip"
-                    android:src="@drawable/btn_back" />
-            </LinearLayout>
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:gravity="center"
-                android:layout_height="wrap_content">
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:layout_height="wrap_content">
-                    <ImageView
-                        android:id="@+id/bao_mother_image_imagev"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_vertical"
-                        android:src="@drawable/bao_ma_tou_xiang" />
-                </LinearLayout>
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:layout_height="wrap_content">
-                    <LinearLayout
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:gravity="center_horizontal"
-                        android:layout_gravity="center_vertical"
-                        android:orientation="vertical">
-                        <TextView
-                            android:id="@+id/baby_mother_name"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_marginTop="5dp"
-                            android:text="--"
-                            android:textSize="18sp" />
-                        <TextView
-                            android:id="@+id/tv_frame_name"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_marginTop="2dp"
-                            android:text="--"
-                            android:textSize="18sp" />
-                        <TextView
-                            android:id="@+id/event_text"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_gravity="center_horizontal"
-                            android:layout_marginTop="2dp"
-                            android:text="--"
-                            android:textColor="@color/alerter_default_success_background"
-                            android:textSize="22sp" />
-                    </LinearLayout>
-                </LinearLayout>
-            </LinearLayout>
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical"
-            android:gravity="bottom"
-            android:layout_marginBottom="11dp"
-            >
-
-            <TextView
-                android:id="@+id/event_end_text"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_horizontal"
-                android:text="" />
-
-            <LinearLayout
-                android:id="@+id/call_out_linlyout"
-                android:layout_width="match_parent"
-                android:layout_height="65dp"
-                android:layout_marginTop="13dp"
-                android:layout_marginBottom="11dp"
-                android:orientation="horizontal">
-
-                <ImageView
-                    android:id="@+id/call_relyout"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="left|center_vertical"
-                    android:layout_marginLeft="3.0dip"
-                    android:background="@drawable/yu_yin_jie_ting" />
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical"
-                    android:gravity="right"
-                    android:orientation="vertical">
-
-                    <ImageView
-                        android:id="@+id/event_status_img"
-                        android:layout_width="120dp"
-                        android:layout_height="55dp"
-                        android:layout_gravity="right|center_vertical"
-                        android:layout_marginRight="3.0dip"
-                        android:src="@drawable/icon_switch_off" />
-                </LinearLayout>
-            </LinearLayout>
-
-        </LinearLayout>
-
-    </LinearLayout>
-</layout>

+ 0 - 254
home/src/main/res/layout/watch_activity_home.xml

@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1">
-
-                <LinearLayout
-                    android:id="@+id/customer_list_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#00B5DC"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/gu_ke_lie_biao" />
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="10px"
-                        android:text="顾客列表"
-                        android:textColor="#ffffff"
-                        android:textSize="16px" />
-
-                </LinearLayout>
-
-                <LinearLayout
-                    android:id="@+id/call_records_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#E56D37"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/tong_hu_ji_lu" />
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="10px"
-                        android:text="通话记录"
-                        android:textColor="#ffffff"
-                        android:textSize="16px" />
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"
-                android:orientation="horizontal">
-
-
-                <RelativeLayout
-                    android:id="@+id/user_name_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#5CB615"
-                    >
-
-                    <TextView
-                        android:id="@+id/list_item_img_icon_num"
-                        android:layout_width="10dp"
-                        android:layout_height="10dp"
-                        android:layout_alignParentRight="true"
-                        android:background="@drawable/shape_untreated_quantity"
-                        android:gravity="center"
-                        android:textColor="#FF3030"
-                        android:textSize="12sp" />
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:gravity="center"
-                        android:orientation="vertical">
-
-                        <ImageView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:src="@drawable/hu_shi_to_xiang" />
-
-                        <TextView
-                            android:id="@+id/watch_name_tv"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="10px"
-                            android:text="无人使用"
-                            android:textColor="#ffffff"
-                            android:textSize="16px" />
-
-                        <TextView
-                            android:id="@+id/watch_role_name_tv"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="10px"
-                            android:text=""
-                            android:textColor="#ffffff"
-                            android:textSize="16px" />
-                    </LinearLayout>
-                </RelativeLayout>
-
-                <LinearLayout
-                    android:id="@+id/state_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="0dp"
-                        android:layout_weight="1"
-                        android:orientation="horizontal">
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#EA89C0"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <ImageView
-                                android:id="@+id/network_state_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/wifi_lian_jie" />
-
-                            <TextView
-                                android:id="@+id/wifi_rssi_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text="100%"
-                                android:textColor="#ffffff"
-                                android:textSize="16px" />
-                        </LinearLayout>
-
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#FF9900"
-                            android:gravity="center">
-
-                            <ImageView
-                                android:id="@+id/sip_state_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/sip_lian_jie" />
-
-                        </LinearLayout>
-
-
-                    </LinearLayout>
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="0dp"
-                        android:layout_weight="1"
-                        android:orientation="horizontal">
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#48CFB0"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <ImageView
-                                android:id="@+id/electric_quantity_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/dian_liang" />
-
-                            <TextView
-                                android:id="@+id/electric_quantity_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text="100%"
-                                android:textColor="#ffffff"
-                                android:textSize="16px" />
-
-                            <TextView
-                                android:id="@+id/battery_warning_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text=""
-                                android:textColor="#ffffff"
-                                android:textSize="16px"
-                                android:visibility="gone" />
-                        </LinearLayout>
-
-
-                        <LinearLayout
-                            android:id="@+id/other_linyout"
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#FFDE00"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <TextView
-                                android:id="@+id/sip_state_tv"
-                                android:layout_width="8dp"
-                                android:layout_height="8dp"
-                                android:background="#FF0000"
-                                 />
-
-                            <ImageView
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="2dp"
-                                android:src="@drawable/geng_duo" />
-
-
-                        </LinearLayout>
-
-                    </LinearLayout>
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-
-        </LinearLayout>
-
-    </RelativeLayout>
-</layout>

+ 0 - 261
home/src/main/res/layout/watch_activity_home2.xml

@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-      <include
-          android:id="@+id/watch_activity_register_layout"
-          layout="@layout/watch_activity_register"
-          ></include>>
-
-        <LinearLayout
-            android:id="@+id/watch_activity_home_linyout"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical"
-            android:visibility="gone">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1">
-
-                <LinearLayout
-                    android:id="@+id/customer_list_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#00B5DC"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/gu_ke_lie_biao" />
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="10dp"
-                        android:text="顾客列表"
-                        android:textColor="#ffffff"
-                        android:textSize="16dp" />
-
-                </LinearLayout>
-
-                <LinearLayout
-                    android:id="@+id/call_records_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#E56D37"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/tong_hu_ji_lu" />
-
-                    <TextView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="10dp"
-                        android:text="通话记录"
-                        android:textColor="#ffffff"
-                        android:textSize="16dp" />
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"
-                android:orientation="horizontal">
-
-
-                <RelativeLayout
-                    android:id="@+id/user_name_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="#5CB615"
-                    >
-
-                    <TextView
-                        android:id="@+id/list_item_img_icon_num"
-                        android:layout_width="10dp"
-                        android:layout_height="10dp"
-                        android:layout_alignParentRight="true"
-                        android:background="@drawable/shape_untreated_quantity"
-                        android:gravity="center"
-                        android:textColor="#FF3030"
-                        android:textSize="12sp" />
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:gravity="center"
-                        android:orientation="vertical">
-
-                        <ImageView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:src="@drawable/hu_shi_to_xiang" />
-
-                        <TextView
-                            android:id="@+id/watch_name_tv"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:text="王护士"
-                            android:textColor="#ffffff"
-                            android:textSize="16dp" />
-
-                        <TextView
-                            android:id="@+id/watch_role_name_tv"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="10dp"
-                            android:text="护士"
-                            android:textColor="#ffffff"
-                            android:textSize="16dp" />
-                    </LinearLayout>
-                </RelativeLayout>
-
-                <LinearLayout
-                    android:id="@+id/state_linlyout"
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:orientation="vertical">
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="0dp"
-                        android:layout_weight="1"
-                        android:orientation="horizontal">
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#EA89C0"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <ImageView
-                                android:id="@+id/network_state_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/wifi_lian_jie" />
-
-                            <TextView
-                                android:id="@+id/wifi_rssi_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text="100%"
-                                android:textColor="#ffffff"
-                                android:textSize="16dp" />
-                        </LinearLayout>
-
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#FF9900"
-                            android:gravity="center">
-
-                            <ImageView
-                                android:id="@+id/sip_state_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/sip_lian_jie" />
-
-                        </LinearLayout>
-
-
-                    </LinearLayout>
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="0dp"
-                        android:layout_weight="1"
-                        android:orientation="horizontal">
-
-                        <LinearLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#48CFB0"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <ImageView
-                                android:id="@+id/electric_quantity_imagev"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:src="@drawable/dian_liang" />
-
-                            <TextView
-                                android:id="@+id/electric_quantity_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text="100%"
-                                android:textColor="#ffffff"
-                                android:textSize="16dp" />
-
-                            <TextView
-                                android:id="@+id/battery_warning_tv"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text=""
-                                android:textColor="#ffffff"
-                                android:textSize="16dp"
-                                android:visibility="gone" />
-                        </LinearLayout>
-
-
-                        <LinearLayout
-                            android:id="@+id/other_linyout"
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="#FFDE00"
-                            android:gravity="center"
-                            android:orientation="vertical">
-
-                            <TextView
-                                android:id="@+id/sip_state_tv"
-                                android:layout_width="8dp"
-                                android:layout_height="8dp"
-                                android:background="#FF0000"
-                                 />
-
-                            <ImageView
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="2dp"
-                                android:src="@drawable/geng_duo" />
-
-
-                        </LinearLayout>
-
-                    </LinearLayout>
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-
-        </LinearLayout>
-
-    </RelativeLayout>
-</layout>

+ 0 - 59
home/src/main/res/layout/watch_activity_register.xml

@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#FFBDC3"
-    android:padding="10dp"
-    android:orientation="vertical">
-    <ScrollView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
-
-        <TextView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="20dp"
-            android:textSize="20dp"
-            android:text="服务器IP: "/>
-    <TextView
-        android:id="@+id/tv_server_ip"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="40dp"
-        android:textSize="20dp"
-        android:text=""/>
-    <TextView
-        android:id="@+id/tv_mac_addr"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:textSize="20dp"
-        android:text="识别码: "/>
-    <TextView
-        android:id="@+id/tv_feedback_device_info"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:textSize="20dp"
-        android:text=""/>
-    <TextView
-        android:id="@+id/setting_tv"
-        android:layout_width="match_parent"
-        android:layout_marginRight="30dp"
-        android:layout_marginLeft="30dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginBottom="20dp"
-        android:layout_height="40dp"
-        android:background="#ffffff"
-        android:gravity="center"
-        android:textSize="18dp"
-        android:text="系统设置"/>
-    </LinearLayout>
-    </ScrollView>
-</LinearLayout>
-</layout>

+ 0 - 28
home/src/main/res/layout/watch_contacts_lay.xml

@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout>
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:bind="http://schemas.android.com/apk/res-auto"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="#FFBDC3">
-
-        <com.scwang.smartrefresh.layout.SmartRefreshLayout
-            android:id="@+id/refresh"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="6dp"
-            android:layout_marginRight="6dp"
-            bind:srlEnableLoadMore="true"
-            bind:srlEnableRefresh="true">
-
-            <android.support.v7.widget.RecyclerView
-                android:id="@+id/watch_contacts_list"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent">
-
-            </android.support.v7.widget.RecyclerView>
-        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
-
-    </RelativeLayout>
-</layout>

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/api/UrlManager.kt

@@ -55,9 +55,9 @@ private class DevUrlManager : UrlManager{
 
     override val base: String
 //        get() = "http://dev.base.wdklian.com"
-//        get() = "http://8.129.220.143"
+        get() = "http://8.129.220.143"
 //        get() = "http://192.168.1.188"
-      get() = "http://120.76.246.253"
+//      get() = "http://120.76.246.253"
 
     override val device_url: String
 //        get() = "${base}:6005/"

+ 4 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt

@@ -8,7 +8,7 @@ class Constants {
         var partId : Int =-1//科室ID
         var frameId: String =""//医院结构ID
         var ethIp: String ="" //当前设备的IP
-        var deviceId: String =""//当前设备的ID
+        var deviceId: Int =-1//当前设备的ID
         var sipIp: String? =""//sipip
         var sipId: String? =""//sipid
         var sipPassword: String? =""//sip密码
@@ -30,5 +30,8 @@ class Constants {
         const val EVENT_DEVICE_CHANGE = 0x88 //切换设备
         const val EVENT_APP_UPDATE  = 0x13 //app更新
         const val EVENT_BLUETOOTH_ACCEPT_CALL = 0x44 //断网
+
+        const val AUDIO_MSG = 1
+        const val VIDEO_MSG = 0x06
     }
 }

+ 1 - 11
middleware/src/main/code/com/wdkl/ncs/android/middleware/di/PresenterComponent.kt

@@ -19,14 +19,8 @@ import dagger.Component
 @Component(dependencies = arrayOf(ApplicationComponent::class))
 interface PresenterComponent {
 
-    fun inject(presenter: HomeFragmentPresenter)
-
-    fun inject(presenter: HomeActivityPresenter)
-
     fun inject(presenter: WelcomePresenter)
 
-    fun inject(presenter: CategoryFragmentPresenter)
-
     fun inject(presenter: SettingActivityPresenter)
 
     fun inject(presenter: ShopActivityPersenter)
@@ -53,13 +47,9 @@ interface PresenterComponent {
 
 
     //手表相关的
-    fun inject(presenter: WatchHomeActivityPresenter)
+    fun inject(presenter: HomeActivityPresenter)
 
     fun inject(presenter: WatchActivityPresenter)
 
-    fun inject(presenter: WatchCallRecordsFragmentPresenter)
-
     fun inject(presenter: WatchDevicePresenter)
-
-    fun inject(presenter: TakeoverPresenter)
 }

+ 0 - 69
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/CategoryFragmentContract.kt

@@ -1,69 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.contract.home
-
-import com.wdkl.ncs.android.lib.base.BaseContract
-import com.wdkl.ncs.android.middleware.model.ChildCategoryShell
-import com.wdkl.ncs.android.middleware.model.ParentCategoryViewModel
-
-/**
- * @author LDD
- * @Date   2018/1/22 下午12:14
- * @From   com.wdkl.ncs.android.middleware.logic.contract.home
- * @Note   分类Fragment接口控制器
- */
-interface CategoryFragmentContract {
-
-    /**
-     * @author LDD
-     * @Date   2018/1/22 下午12:14
-     * @From   CategoryFragmentContract
-     * @Note   分类Fragment基础接口
-     */
-    interface View:BaseContract.BaseView{
-
-        /**
-         * @author LDD
-         * @From   CategoryFragmentContract.View
-         * @Date   2018/1/22 下午12:14
-         * @Note   展示子分类
-         * @param  childCategoryList 子分类数据
-         */
-        fun showChildCatList(childCategoryList: ArrayList<ChildCategoryShell>)
-
-        /**
-         * @author LDD
-         * @From   CategoryFragmentContract.View
-         * @Date   2018/1/22 下午12:15
-         * @Note   展示父分类
-         * @param  parentCategoryList 父分类数据
-         */
-        fun showParentCatList(parentCategoryList: ArrayList<ParentCategoryViewModel>)
-
-    }
-
-    /**
-     * @author LDD
-     * @Date   2018/1/22 下午12:15
-     * @From   CategoryFragmentContract
-     * @Note   分类Fragement逻辑控制器接口
-     */
-    interface Presenter : BaseContract.BasePresenter{
-
-        /**
-         * @author LDD
-         * @From   CategoryFragmentContract.Presenter
-         * @Date   2018/1/22 下午12:16
-         * @Note   加载父分类数据
-         */
-        fun loadParentCat()
-
-        /**
-         * @author LDD
-         * @From   CategoryFragmentContract.Presenter
-         * @Date   2018/1/22 下午12:17
-         * @Note   加载子分类数据
-         * @param  parentId 父分类ID
-         */
-        fun loadChildCat(parentId :Int)
-    }
-
-}

+ 21 - 43
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/HomeActivityContract.kt

@@ -1,50 +1,28 @@
 package com.wdkl.ncs.android.middleware.logic.contract.home
 
 import com.wdkl.ncs.android.lib.base.BaseContract
-import com.wdkl.ncs.android.middleware.model.MemberViewModel
-
-/**
- * @author LDD
- * @Date   2018/1/16 上午11:56
- * @From   com.wdkl.ncs.android.middleware.logic.contract.home
- * @Note   首页 MVP接口
- */
-interface HomeActivityContract {
-
-    /**
-     * @author LDD
-     * @Date   2018/1/16 下午12:01
-     * @From   HomeActivityContract
-     * @Note   View接口
-     */
-    interface View :BaseContract.BaseView{
-
-        /**
-         * @author LDD
-         * @From   View
-         * @Date   2018/1/16 下午12:02
-         * @Note   处理User相应状态
-         * @param  isLogin 是否登录
-         */
-        fun onUserState(userInfo : MemberViewModel)
-
+import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
+import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
+import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
+import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
+
+interface HomeActivityContract{
+    interface View : BaseContract.BaseView{
+        //显示设备信息
+        fun setDeviceDo(data : DeviceVO)
+        //显示tcp通讯地址
+        fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO)
+        //设置设备设置数据
+        fun setDeviceSettingData(partSettingDO: PartSettingDO)
     }
-
-    /**
-     * @author  LDD
-     * @Date   2018/1/16 下午12:03
-     * @From   HomeActivityContract
-     * @Note   基础Presenter接口
-     */
     interface Presenter : BaseContract.BasePresenter{
-
-        /**
-         * @author LDD
-         * @From   Presenter
-         * @Date   2018/1/16 下午12:04
-         * @Note   用户是否登录
-         */
-        fun isLogin()
-
+        //获取设备信息
+        fun getDeviceVO(ethMac:String)
+        //获取tcp服务器地址
+        fun getTcpServerHost()
+        //获取设备设置数据
+        fun getDeviceSettingData(partId:String)
     }
 }

+ 0 - 51
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/HomeFragmentContract.kt

@@ -1,51 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.contract.home
-
-import com.wdkl.ncs.android.lib.base.BaseContract
-import com.wdkl.ncs.android.middleware.model.FloorViewModel
-import com.wdkl.ncs.android.middleware.model.RecommendGoodsViewModel
-import org.json.JSONArray
-
-/**
- * @author LDD
- * @Date   2018/1/19 下午5:50
- * @From   com.wdkl.ncs.android.middleware.logic.contract.home
- * @Note   HomeFragment接口控制器
- */
-interface HomeFragmentContract {
-
-    /**
-     * @author LDD
-     * @Date   2018/1/19 下午5:51
-     * @From   HomeFragmentContract
-     * @Note   View接口
-     */
-    interface View : BaseContract.BaseView{
-
-        /**
-         * @author LDD
-         * @Date   2018/1/19 下午5:51
-         * @From   HomeFragmentContract.View
-         * @Note   展示七巧板数据
-         */
-        fun renderFloor(data : ArrayList<Any>)
-
-    }
-
-    /**
-     * @author LDD
-     * @Date   2018/1/19 下午5:51
-     * @From   HomeFragmentContract
-     * @Note   逻辑控制接口
-     */
-    interface Presenter : BaseContract.BasePresenter{
-
-        /**
-         * @author LDD
-         * @From   HomeFragmentContract.Presenter
-         * @Date   2018/1/19 下午5:53
-         * @Note   加载七巧板数据
-         */
-        fun loadFloor()
-
-    }
-}

+ 0 - 15
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/TakeoverContract.kt

@@ -1,15 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.contract.home
-
-import com.google.gson.JsonArray
-import com.wdkl.ncs.android.lib.base.BaseContract
-
-interface TakeoverContract {
-    interface View : BaseContract.BaseView{
-        fun renderData(data : JsonArray)
-
-    }
-
-    interface Presenter : BaseContract.BasePresenter{
-        fun loadList(partId: Int)
-    }
-}

+ 0 - 61
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchCallRecordsFragmentContract.kt

@@ -1,61 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.contract.home
-
-import com.wdkl.ncs.android.lib.base.BaseContract
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import org.json.JSONArray
-
-/**
- * @author LDD
- * @Date   2018/1/19 下午5:50
- * @From   com.wdkl.ncs.android.middleware.logic.contract.home
- * @Note   CallRecordsFragment接口控制器
- */
-interface WatchCallRecordsFragmentContract {
-
-    /**
-     * @author LDD
-     * @Date   2018/1/19 下午5:51
-     * @From   HomeFragmentContract
-     * @Note   View接口
-     */
-    interface View : BaseContract.BaseView{
-
-        /**
-         * @author LDD
-         * @Date   2018/1/19 下午5:51
-         * @From   HomeFragmentContract.View
-         * @Note   展示七巧板数据
-         */
-        fun renderList(data : ArrayList<InteractionVO>)
-
-        /**
-         *  显示呼叫人的呼叫数据
-         */
-        fun showInitiatorData(data : ArrayList<InteractionVO>)
-
-    }
-
-    /**
-     * @author LDD
-     * @Date   2018/1/19 下午5:51
-     * @From   HomeFragmentContract
-     * @Note   逻辑控制接口
-     */
-    interface Presenter : BaseContract.BasePresenter{
-
-        /**
-         * @author LDD
-         * @From   HomeFragmentContract.Presenter
-         * @Date   2018/1/19 下午5:53
-         * @Note   加载七巧板数据
-         */
-        fun loadPage(ACTION:String, page_no:Int, page_size:Int, device_id:Int,
-                     customer_id:Int, choice:Int)
-
-//        /**
-//         * 获取呼叫人的呼叫记录
-//         */
-//        fun loadInitiatorData(page_no:Int,page_size:Int,customer_id:Int)
-
-    }
-}

+ 0 - 28
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/contract/home/WatchHomeActivityContract.kt

@@ -1,28 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.contract.home
-
-import com.wdkl.ncs.android.lib.base.BaseContract
-import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
-import com.wdkl.ncs.android.middleware.model.dos.DeviceDO
-import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import com.wdkl.ncs.android.middleware.model.vo.WatchContactsVO
-
-interface WatchHomeActivityContract{
-    interface View : BaseContract.BaseView{
-        //显示设备信息
-        fun setDeviceDo(data : DeviceVO)
-        //显示tcp通讯地址
-        fun setTcpServerHost(tcpSeverDTO: TcpSeverDTO)
-        //设置设备设置数据
-        fun setDeviceSettingData(partSettingDO: PartSettingDO)
-    }
-    interface Presenter : BaseContract.BasePresenter{
-        //获取设备信息
-        fun getDeviceVO(ethMac:String)
-        //获取tcp服务器地址
-        fun getTcpServerHost()
-        //获取设备设置数据
-        fun getDeviceSettingData(partId:String)
-    }
-}

+ 0 - 140
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/CategoryFragmentPresenter.kt

@@ -1,140 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.presenter.home
-
-import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.middleware.api.CategoryApi
-import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
-import com.wdkl.ncs.android.middleware.logic.contract.home.CategoryFragmentContract
-import com.wdkl.ncs.android.middleware.model.ChildCategoryShell
-import com.wdkl.ncs.android.middleware.model.ParentCategoryViewModel
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
-import io.reactivex.disposables.Disposable
-import org.json.JSONArray
-import javax.inject.Inject
-
-/**
- * @author LDD
- * @Date   2018/1/22 下午12:17
- * @From   com.wdkl.ncs.android.middleware.logic.presenter.home
- * @Note   分类Fragment逻辑控制器
- */
-class CategoryFragmentPresenter @Inject constructor() :RxPresenter<CategoryFragmentContract.View>(),CategoryFragmentContract.Presenter {
-
-    /**
-     * @Name  categoryApi
-     * @Type  CategoryApi
-     * @Note  分类API
-     */
-    @Inject
-    protected lateinit var categoryApi :CategoryApi
-
-    /**
-     * 数据监听者
-     */
-    private val observer = object : ConnectionObserver<ArrayList<*>>(){
-
-        override fun onStartWithConnection() {
-            providerView().start()
-        }
-
-        override fun onNextWithConnection(result: ArrayList<*>, connectionQuality: ConnectionQuality) {
-            providerView().complete()
-            result.getOrNull(0)?.more { data ->
-                when(data){
-                    is ParentCategoryViewModel ->{
-                        providerView().showParentCatList(result as ArrayList<ParentCategoryViewModel>)
-                    }
-                    is ChildCategoryShell ->{
-                        providerView().showChildCatList(result as ArrayList<ChildCategoryShell>)
-                    }
-                }
-            }
-        }
-
-        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
-            providerView().onError(error.customMessage)
-        }
-
-        override fun attachSubscribe(var1: Disposable) {
-            addDisposable(var1)
-        }
-    }
-
-    /**
-     * @author LDD
-     * @From   CategroyFragmentPresenter
-     * @Date   2018/1/22 下午12:33
-     * @Note   依赖注入
-     */
-    override fun bindDagger() {
-        MiddlewareDaggerComponent.component.inject(this)
-    }
-
-    /**
-     * @author LDD
-     * @From   CategroyFragmentPresenter
-     * @Date   2018/1/22 下午12:33
-     * @Note   加载分类数据
-     */
-    override fun loadParentCat() {
-        load(0)
-    }
-
-    /**
-     * @author LDD
-     * @From   CategroyFragmentPresenter
-     * @Date   2018/1/22 下午12:33
-     * @Note   加载子分类
-     * @param  parentId 父分类ID
-     */
-    override fun loadChildCat(parentId: Int) {
-        load(parentId)
-    }
-
-
-    private fun load(id :Int){
-        /** 获取父分类数据 */
-        categoryApi.getCat(id).map { respone ->
-            /** 过滤数据 转换为需要的格式 */
-
-            /**获取json字符串*/
-            val jsonResult = respone.getJsonString()
-            /**初始化Result数据*/
-            val result = ArrayList<Any>()
-
-            if (id == 0){
-                if (jsonResult != ""){
-
-                    val jsonArray = JSONArray(jsonResult)
-
-                    for (i in 0..(jsonArray.length() - 1)){
-                        val jsonObject = jsonArray.getJSONObject(i)
-                        val item = ParentCategoryViewModel.map(jsonObject)
-                        item.selected.set(i==0)
-                        result.add(item)
-                    }
-
-                }
-            }else{
-                if (jsonResult != ""){
-
-                    val jsonArray = JSONArray(jsonResult)
-
-                    for (i in 0..(jsonArray.length() - 1)){
-
-                        val item = ChildCategoryShell.map(jsonArray.getJSONObject(i))
-
-                        result.add(item)
-
-                    }
-
-                }
-            }
-
-            return@map result
-            /**设置操作线程 默认 网络请求在io线程执行 UI更新在主线程执行*/
-        }.compose(ThreadFromUtils.defaultSchedulers()).subscribe(observer)
-    }
-}

+ 82 - 53
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/HomeActivityPresenter.kt

@@ -1,96 +1,125 @@
 package com.wdkl.ncs.android.middleware.logic.presenter.home
 
+import com.enation.javashop.net.engine.model.NetState
+import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
+import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
+import com.enation.javashop.net.engine.utils.ThreadFromUtils
+import com.google.gson.FieldNamingPolicy
+import com.google.gson.GsonBuilder
 import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.AppTool
 import com.wdkl.ncs.android.lib.utils.ConnectionObserver
-import com.wdkl.ncs.android.lib.utils.errorLog
 import com.wdkl.ncs.android.lib.utils.getEventCenter
-import com.wdkl.ncs.android.middleware.api.ApiManager
-import com.wdkl.ncs.android.middleware.api.MemberApi
+import com.wdkl.ncs.android.lib.utils.getJsonString
+import com.wdkl.ncs.android.lib.vo.NetStateEvent
+import com.wdkl.ncs.android.middleware.api.WatchDeviceInfoAndTCPMailingAddressApi
+import com.wdkl.ncs.android.middleware.api.WatchManageDeviceApi
 import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
 import com.wdkl.ncs.android.middleware.logic.contract.home.HomeActivityContract
-import com.wdkl.ncs.android.middleware.model.MemberViewModel
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.net.engine.model.NetStateEvent
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
+import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
+import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
+import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
 import io.reactivex.disposables.Disposable
-import okhttp3.ResponseBody
-import retrofit2.HttpException
-import java.security.MessageDigest
 import javax.inject.Inject
 
-/**
- * @author  LDD
- * @Date   2018/1/16 下午12:05
- * @From   com.wdkl.ncs.android.middleware.logic.presenter.home
- * @Note   HomeActivity逻辑支撑
- */
-class HomeActivityPresenter @Inject constructor() :RxPresenter<HomeActivityContract.View>(),HomeActivityContract.Presenter {
+class HomeActivityPresenter @Inject constructor(): RxPresenter<HomeActivityContract.View>(),HomeActivityContract.Presenter{
+
 
     /**
-     * @Name  memberApi
-     * @Type  MemberApi
-     * @Note  会员API
+     *获取当前设备数据api
      */
     @Inject
-    protected lateinit var memberApi : MemberApi
+    protected lateinit var registerDeviceApi: WatchDeviceInfoAndTCPMailingAddressApi
+
+    @Inject
+    protected lateinit var watchManageDeviceApi: WatchManageDeviceApi
+
 
-    /**
-     * @author LDD
-     * @From   HomeActivityPresenter
-     * @Date   2018/1/19 下午6:27
-     * @Note   依赖注入初始化
-     */
     override fun bindDagger() {
         MiddlewareDaggerComponent.component.inject(this)
     }
 
-    /**
-     * @Name  homeActivityObserver
-     * @Type  ConnectionObserver<MemberModel>
-     * @Note  网络数据观察者
-     */
-    private val homeActivityObserver = object :ConnectionObserver<Any>(){
 
+    private val observer = object : ConnectionObserver<Any>(){
         override fun onStartWithConnection() {
             providerView().start()
         }
 
         override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
-            //providerView().onUserState(result)
+            providerView().complete()
+            when (result) {
+                is DeviceVO -> {
+                    //设备信息
+                    providerView().complete()
+                    providerView().setDeviceDo(result as DeviceVO)
+                }
+
+                is TcpSeverDTO -> {
+                    //tcp服务器地址
+                    providerView().complete("")
+                    providerView().setTcpServerHost(result)
+                }
+                is PartSettingDO -> {
+                    //设备设置数据
+                    providerView().complete("")
+                    providerView().setDeviceSettingData(result as PartSettingDO)
+                }
+
+            }
+
         }
 
         override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
             providerView().onError(error.customMessage)
         }
 
-        override fun attachSubscribe(p0: Disposable) {
-            addDisposable(p0)
-        }
-
-        override fun connectionBitsOfSecond(bits: Double) {
-            AppTool.Net.verifyNetSpeed(bits)
+        override fun attachSubscribe(var1: Disposable) {
+            addDisposable(var1)
         }
 
         override fun onNoneNet() {
             getEventCenter().post(NetStateEvent(NetState.NONE))
         }
-
     }
 
+
     /**
-     * @author LDD
-     * @From   HomeActivityPresenter
-     * @Date   2018/1/16 下午12:30
-     * @Note   判断当前用户登录状态
+     *获取当前设备数据
      */
-    override fun isLogin() {
-//        memberApi.getUserState()
-//                .compose(ThreadFromUtils.defaultSchedulers())
-//                .subscribe(homeActivityObserver)
+    override fun getDeviceVO(ethMac:String) {
+
+        registerDeviceApi.getDeviceMessage(ethMac).map {
+            var deviceVO = DeviceVO()
+
+            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+            deviceVO = gson.fromJson(it.getJsonString(), DeviceVO::class.java)
+            return@map deviceVO
+        }
+                .compose(ThreadFromUtils.defaultSchedulers())
+                .subscribe(observer)
+
+    }
+
+    override fun getTcpServerHost() {
+        registerDeviceApi.getTcpServerHost()
+                .map {
+                    val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+                    val tcpServer = gson.fromJson(it.getJsonString(), TcpSeverDTO::class.java)
+
+                    return@map tcpServer
+                }
+                .compose(ThreadFromUtils.defaultSchedulers())
+                .subscribe(observer)
     }
 
-}
+    override fun getDeviceSettingData(partId: String) {
+        registerDeviceApi.getDeviceSettingData(partId).map {
+            var partSettingDO = PartSettingDO()
 
+            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
+            partSettingDO = gson.fromJson(it.getJsonString(), PartSettingDO::class.java)
+            return@map partSettingDO
+        }
+                .compose(ThreadFromUtils.defaultSchedulers())
+                .subscribe(observer)
+    }
+}

+ 0 - 164
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/HomeFragmentPresenter.kt

@@ -1,164 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.presenter.home
-
-import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.middleware.api.ExtraApi
-import com.wdkl.ncs.android.middleware.api.PromotionApi
-import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
-import com.wdkl.ncs.android.middleware.logic.contract.home.HomeFragmentContract
-import com.wdkl.ncs.android.middleware.model.*
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
-import io.reactivex.Observable
-import io.reactivex.disposables.Disposable
-import org.json.JSONArray
-import org.json.JSONObject
-import javax.inject.Inject
-
-/**
- * @author LDD
- * @Date   2018/1/19 下午5:42
- * @From   com.wdkl.ncs.android.middleware.logic.presenter.home
- * @Note   HomeFragment逻辑控制器
- */
-class HomeFragmentPresenter @Inject constructor() :RxPresenter<HomeFragmentContract.View>(),HomeFragmentContract.Presenter  {
-
-    /**
-     * @Name  extraApi
-     * @Type  ExtraApi
-     * @Note  额外Api
-     */
-    @Inject
-    protected lateinit var extraApi: ExtraApi
-
-    /**
-     * @Name  promotionApi
-     * @Type  PromotionApi
-     * @Note  促销Api
-     */
-    @Inject
-    protected lateinit var promotionApi: PromotionApi
-
-    /**
-     * @Name  observer
-     * @Type  ConnectionObserver
-     * @Note  数据监听者
-     */
-    private val observer = object : ConnectionObserver<ArrayList<Any>>() {
-        override fun onStartWithConnection() {
-            providerView()
-        }
-
-        override fun onNextWithConnection(result: ArrayList<Any>, connectionQuality: ConnectionQuality) {
-            providerView().complete()
-            providerView().renderFloor(result)
-        }
-
-        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
-            providerView().onError(error.customMessage)
-        }
-
-        override fun attachSubscribe(var1: Disposable) {
-            addDisposable(var1)
-        }
-    }
-
-
-    /**
-     * @author LDD
-     * @From   HomeFragmentPresenter
-     * @Date   2018/1/19 下午6:28
-     * @Note   依赖注入初始化
-     */
-    override fun bindDagger() {
-        MiddlewareDaggerComponent.component.inject(this)
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragmentPresenter
-     * @Date   2018/1/19 下午5:55
-     * @Note   加载七巧板数据
-     */
-    override fun loadFloor() {
-        var time : SecKillListViewModel? = null
-        var next : SecKillListViewModel? = null
-        val floor =  extraApi.getFloor()
-                .map { respone ->
-                    val result = ArrayList<FloorViewModel>()
-
-                    val jsonArray = JSONArray(JSONObject(respone.getJsonString()).valueString("page_data"))
-
-                    for (i in 0..(jsonArray.length() - 1)){
-                        result.add(FloorViewModel.map(jsonArray.getJSONObject(i)))
-                    }
-
-                    return@map result
-                }
-        val banner =  extraApi.getBanner().map { responseBody ->
-            var result = ArrayList<BannerModel>()
-
-            responseBody.toJsonArray().arrayObjects().forEach { itemJson ->
-                result.add(BannerModel.map(itemJson))
-            }
-            return@map result
-        }
-
-        val menu =  extraApi.getMenu().map { responseBody ->
-            var result = ArrayList<FloorMenuModel>()
-
-            responseBody.toJsonArray().arrayObjects().forEach { itemJson ->
-                result.add(FloorMenuModel.map(itemJson))
-            }
-            return@map result
-        }
-
-        val secKill = promotionApi.getSeckillTimeLine().map { responseBody ->
-            val result = ArrayList<SecKillListViewModel>()
-            if (responseBody.toJsonArray().length() >0){
-                responseBody.toJsonArray().arrayObjects().forEach {
-                    result.add(SecKillListViewModel.map(it))
-                }
-            }
-            return@map result
-        }.flatMap {
-            if (it.size > 0){
-                time = it[0]
-                next = it.getOrNull(1)
-            }
-            return@flatMap promotionApi.getSeckillGoods(if(time == null){-1}else{time!!.text.toInt()},1,5)
-        } .map { responseBody ->
-            val result = ArrayList<GoodsItemViewModel>()
-            responseBody.toJsonObject().valueJsonArray("data").arrayObjects().forEach {
-                result.add(GoodsItemViewModel.secMap(it))
-            }
-            return@map result
-        }
-        Observable.zip(floor,menu,banner,secKill,io.reactivex.functions.Function4<ArrayList<FloorViewModel>,ArrayList<FloorMenuModel>,ArrayList<BannerModel>,ArrayList<GoodsItemViewModel>,ArrayList<Any>> { t1, t2, t3, t4 ->
-
-            var result = ArrayList<Any>()
-
-            result.add(t3)
-            result.add(t2)
-            if ( time != null ){
-                result.add(time!!)
-                if (next == null){
-                    result.add("null")
-                }else{
-                    result.add(next!!)
-                }
-            }else{
-                result.add(SecKillListViewModel())
-                result.add("null")
-            }
-            result.add(t4)
-            result.addAll(t1)
-
-            return@Function4  result
-
-        }).compose(ThreadFromUtils.defaultSchedulers()).subscribe(observer)
-
-    }
-
-}

+ 0 - 64
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/TakeoverPresenter.kt

@@ -1,64 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.presenter.home
-
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
-import com.google.gson.FieldNamingPolicy
-import com.google.gson.GsonBuilder
-import com.google.gson.JsonArray
-import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.middleware.api.WatchNamedUserApi
-import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
-import com.wdkl.ncs.android.middleware.logic.contract.home.TakeoverContract
-import io.reactivex.disposables.Disposable
-import javax.inject.Inject
-
-class TakeoverPresenter@Inject constructor() : RxPresenter<TakeoverContract.View>(), TakeoverContract.Presenter {
-    /**
-     *依赖注入初始化
-     */
-    override fun bindDagger() {
-        MiddlewareDaggerComponent.component.inject(this)
-    }
-
-    @Inject
-    protected lateinit var watchNamedUserApi: WatchNamedUserApi
-
-    override fun loadList(partId:Int) {
-
-        watchNamedUserApi.getPartWatchUsing(partId).map {
-            var data = JsonArray()
-            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-            data = gson.fromJson<JsonArray>(it.getJsonString(), JsonArray::class.java)
-
-            return@map data
-        }
-                .compose(ThreadFromUtils.defaultSchedulers())
-                .subscribe(observable)
-    }
-
-    private val observable = object: ConnectionObserver<Any>(){
-        override fun onStartWithConnection() {
-            providerView()
-        }
-
-        override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
-            when (result) {
-                is JsonArray -> {
-                    providerView().complete()
-                    providerView().renderData(result as JsonArray)
-                }
-            }
-        }
-
-        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
-            providerView().onError(error.customMessage)
-        }
-
-        override fun attachSubscribe(var1: Disposable) {
-            addDisposable(var1)
-        }
-
-    }
-}

+ 0 - 127
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchCallRecordsFragmentPresenter.kt

@@ -1,127 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.presenter.home
-
-import android.annotation.SuppressLint
-import android.util.Log
-import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.*
-import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
-import com.google.gson.FieldNamingPolicy
-import com.google.gson.GsonBuilder
-import com.wdkl.ncs.android.middleware.api.WatchCallRecordsApi
-import com.wdkl.ncs.android.middleware.api.WatchNamedUserApi
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchCallRecordsFragmentContract
-import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
-import io.reactivex.disposables.Disposable
-import javax.inject.Inject
-
-/**
- * @author LDD
- * @Date   2018/1/19 下午5:42
- * @From   com.wdkl.ncs.android.middleware.logic.presenter.home
- * @Note   CallRecordsFragment逻辑控制器
- */
-class WatchCallRecordsFragmentPresenter @Inject constructor() :RxPresenter<WatchCallRecordsFragmentContract.View>(),WatchCallRecordsFragmentContract.Presenter  {
-
-
-    /**
-     * @Name  CallRecordsFragmentApi
-     * @Type  CallRecordsFragmentApi
-     * @Note  通话记录Api
-     */
-    @Inject
-    protected lateinit var callRecordsFragmentApi: WatchCallRecordsApi
-
-    @Inject
-    protected lateinit var watchNamedUserApi: WatchNamedUserApi
-
-    /**
-     * @Name  observer
-     * @Type  ConnectionObserver
-     * @Note  数据监听者
-     */
-    private val observer = object : ConnectionObserver<Any>() {
-        override fun onStartWithConnection() {
-            providerView()
-        }
-
-        @SuppressLint("LongLogTag")
-        override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
-            providerView().complete()
-//            Log.e("WatchCallRecordsFragmentPresenter","result "+result)
-            providerView().renderList(result as ArrayList<InteractionVO>)
-//            providerView().showInitiatorData(result as ArrayList<InteractionVO>)
-        }
-
-        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
-            providerView().onError(error.customMessage)
-        }
-
-        override fun attachSubscribe(var1: Disposable) {
-            addDisposable(var1)
-        }
-    }
-
-
-    /**
-     * @author LDD
-     * @From   HomeFragmentPresenter
-     * @Date   2018/1/19 下午6:28
-     * @Note   依赖注入初始化
-     */
-    override fun bindDagger() {
-        MiddlewareDaggerComponent.component.inject(this)
-    }
-
-    /**
-     * @author LDD
-     * @From   HomeFragmentPresenter
-     * @Date   2018/1/19 下午5:55
-     * @Note   加载七巧板数据
-     */
-    @SuppressLint("LongLogTag")
-    override fun loadPage(ACTION:String, page_no:Int, page_size:Int, device_id:Int, customer_id: Int, choice:Int) {
-        //page_no页码  page_size每页显示的数量  device_id设备ID
-        Log.e("WatchCallRecordsFragmentPresenter","qqqqqqq")
-        //获取全部通话记录数据
-        if(ACTION .equals("ALL")){
-            callRecordsFragmentApi.getCallRecords(page_no,page_size,device_id,choice)
-                    .map {
-                        var shop = ArrayList<InteractionVO>()
-                        var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-//                    var gson = Gson();
-
-                        it.toJsonObject().valueJsonArray("data").arrayObjects().forEach({ dic ->
-                            shop.add(gson.fromJson(dic.toString(),InteractionVO::class.java))
-                        })
-                        return@map shop
-                    }
-                    .compose(ThreadFromUtils.defaultSchedulers())
-                    .subscribe(observer)
-        }else{
-            //获取指定人的通话记录数据
-            watchNamedUserApi.getNamedUserData(page_no,page_size,device_id,customer_id)
-                    .map {
-                        var shop = ArrayList<InteractionVO>()
-                        var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-//                    var gson = Gson();
-
-                        it.toJsonObject().valueJsonArray("data").arrayObjects().forEach({ dic ->
-                            shop.add(gson.fromJson(dic.toString(),InteractionVO::class.java))
-                        })
-                        return@map shop
-                    }
-                    .compose(ThreadFromUtils.defaultSchedulers())
-                    .subscribe(observer)
-
-        }
-
-    }
-
-//    override fun loadInitiatorData(page_no: Int, page_size: Int, device_id: Int) {
-//
-//
-//    }
-}

+ 0 - 125
middleware/src/main/code/com/wdkl/ncs/android/middleware/logic/presenter/home/WatchHomeActivityPresenter.kt

@@ -1,125 +0,0 @@
-package com.wdkl.ncs.android.middleware.logic.presenter.home
-
-import com.enation.javashop.net.engine.model.NetState
-import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
-import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
-import com.enation.javashop.net.engine.utils.ThreadFromUtils
-import com.google.gson.FieldNamingPolicy
-import com.google.gson.GsonBuilder
-import com.wdkl.ncs.android.lib.base.RxPresenter
-import com.wdkl.ncs.android.lib.utils.ConnectionObserver
-import com.wdkl.ncs.android.lib.utils.getEventCenter
-import com.wdkl.ncs.android.lib.utils.getJsonString
-import com.wdkl.ncs.android.lib.vo.NetStateEvent
-import com.wdkl.ncs.android.middleware.api.WatchDeviceInfoAndTCPMailingAddressApi
-import com.wdkl.ncs.android.middleware.api.WatchManageDeviceApi
-import com.wdkl.ncs.android.middleware.di.MiddlewareDaggerComponent
-import com.wdkl.ncs.android.middleware.logic.contract.home.WatchHomeActivityContract
-import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
-import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
-import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
-import io.reactivex.disposables.Disposable
-import javax.inject.Inject
-
-class WatchHomeActivityPresenter @Inject constructor(): RxPresenter<WatchHomeActivityContract.View>(),WatchHomeActivityContract.Presenter{
-
-
-    /**
-     *获取当前设备数据api
-     */
-    @Inject
-    protected lateinit var registerDeviceApi: WatchDeviceInfoAndTCPMailingAddressApi
-
-    @Inject
-    protected lateinit var watchManageDeviceApi: WatchManageDeviceApi
-
-
-    override fun bindDagger() {
-        MiddlewareDaggerComponent.component.inject(this)
-    }
-
-
-    private val observer = object : ConnectionObserver<Any>(){
-        override fun onStartWithConnection() {
-            providerView().start()
-        }
-
-        override fun onNextWithConnection(result: Any, connectionQuality: ConnectionQuality) {
-            providerView().complete()
-            when (result) {
-                is DeviceVO -> {
-                    //设备信息
-                    providerView().complete()
-                    providerView().setDeviceDo(result as DeviceVO)
-                }
-
-                is TcpSeverDTO -> {
-                    //tcp服务器地址
-                    providerView().complete("")
-                    providerView().setTcpServerHost(result)
-                }
-                is PartSettingDO -> {
-                    //设备设置数据
-                    providerView().complete("")
-                    providerView().setDeviceSettingData(result as PartSettingDO)
-                }
-
-            }
-
-        }
-
-        override fun onErrorWithConnection(error: ExceptionHandle.ResponeThrowable, connectionQuality: ConnectionQuality) {
-            providerView().onError(error.customMessage)
-        }
-
-        override fun attachSubscribe(var1: Disposable) {
-            addDisposable(var1)
-        }
-
-        override fun onNoneNet() {
-            getEventCenter().post(NetStateEvent(NetState.NONE))
-        }
-    }
-
-
-    /**
-     *获取当前设备数据
-     */
-    override fun getDeviceVO(ethMac:String) {
-
-        registerDeviceApi.getDeviceMessage(ethMac).map {
-            var deviceVO = DeviceVO()
-
-            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-            deviceVO = gson.fromJson(it.getJsonString(), DeviceVO::class.java)
-            return@map deviceVO
-        }
-                .compose(ThreadFromUtils.defaultSchedulers())
-                .subscribe(observer)
-
-    }
-
-    override fun getTcpServerHost() {
-        registerDeviceApi.getTcpServerHost()
-                .map {
-                    val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-                    val tcpServer = gson.fromJson(it.getJsonString(), TcpSeverDTO::class.java)
-
-                    return@map tcpServer
-                }
-                .compose(ThreadFromUtils.defaultSchedulers())
-                .subscribe(observer)
-    }
-
-    override fun getDeviceSettingData(partId: String) {
-        registerDeviceApi.getDeviceSettingData(partId).map {
-            var partSettingDO = PartSettingDO()
-
-            var gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
-            partSettingDO = gson.fromJson(it.getJsonString(), PartSettingDO::class.java)
-            return@map partSettingDO
-        }
-                .compose(ThreadFromUtils.defaultSchedulers())
-                .subscribe(observer)
-    }
-}

+ 76 - 54
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceChannel.java

@@ -24,63 +24,85 @@ public class DeviceChannel {
 
     public static TcpModel handleTcpReceived(TcpModel tcpModel){
         TcpModel responseTcpModel = null;
-        Log.e(TAG,"收到tcp消息 DeviceChannel "+tcpModel.toJson());
+        Log.i(TAG,"收到tcp消息 DeviceChannel "+tcpModel.toJson());
 
-        if (tcpModel.getType()== TcpType.VOICE){
-            if (tcpModel.getAction()==TcpAction.VoiceAction.SUCCESS) {
-                EventBus.getDefault().post(new MessageEvent(tcpModel, 1));
-            } else if(tcpModel.getAction() == TcpAction.VoiceAction.CALL){
-                if (calling) {
-                    InteractionVO interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
-                    responseTcpModel = VoiceUtil.voiceCalling(Integer.parseInt(Constants.Companion.getDeviceId()), tcpModel.getFromId(), interactionVO.getId());
-                    //给服务器发送正在通话中 tcp
-                    return responseTcpModel;
-                } else { //得到通话
-                    EventBus.getDefault().post(new MessageEvent(tcpModel, 1));
-                }
-            } else if ((tcpModel.getAction() == TcpAction.VoiceAction.ACCEPT)  //我方呼出,对方接受
-                    || (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) //我方呼出,对方拒绝
-                    || (tcpModel.getAction() == TcpAction.VoiceAction.CALLING) //我方呼出,对方通话中
-                    || (tcpModel.getAction() == TcpAction.VoiceAction.HANDOFF)
-                    || (tcpModel.getAction() == TcpAction.VoiceAction.FAILED) //我方呼出,对方不在线,设备离线或其它错误
-                    || (tcpModel.getAction() == TcpAction.VoiceAction.CANCEL)) { //对方取消
-                if (tcpModel.getAction() == TcpAction.VoiceAction.CALLING){
-                    final TcpModel tm = tcpModel;
-                    new Thread(new Runnable() {
-                        @Override
-                        public void run() {
-                            try {
-                                Thread.sleep(3000);
-                            } catch (InterruptedException e) {
-                                e.printStackTrace();
+        switch (tcpModel.getType()){
+            case VOICE:
+                if (tcpModel.getAction()==TcpAction.VoiceAction.SUCCESS) {
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.AUDIO_MSG));
+                } else if(tcpModel.getAction() == TcpAction.VoiceAction.CALL){
+                    if (calling) {
+                        InteractionVO interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
+                        responseTcpModel = VoiceUtil.voiceCalling(Constants.Companion.getDeviceId(), tcpModel.getFromId(), interactionVO.getId());
+                        //给服务器发送正在通话中 tcp
+                        return responseTcpModel;
+                    } else { //得到通话
+                        EventBus.getDefault().post(new MessageEvent(tcpModel, 1));
+                    }
+                } else if ((tcpModel.getAction() == TcpAction.VoiceAction.ACCEPT)  //我方呼出,对方接受
+                        || (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) //我方呼出,对方拒绝
+                        || (tcpModel.getAction() == TcpAction.VoiceAction.CALLING) //我方呼出,对方通话中
+                        || (tcpModel.getAction() == TcpAction.VoiceAction.HANDOFF)
+                        || (tcpModel.getAction() == TcpAction.VoiceAction.FAILED) //我方呼出,对方不在线,设备离线或其它错误
+                        || (tcpModel.getAction() == TcpAction.VoiceAction.CANCEL)) { //对方取消
+                    if (tcpModel.getAction() == TcpAction.VoiceAction.CALLING){
+                        final TcpModel tm = tcpModel;
+                        new Thread(new Runnable() {
+                            @Override
+                            public void run() {
+                                try {
+                                    Thread.sleep(3000);
+                                } catch (InterruptedException e) {
+                                    e.printStackTrace();
+                                }
+                                EventBus.getDefault().post(new MessageEvent(tm, 2));
                             }
-                            EventBus.getDefault().post(new MessageEvent(tm, 2));
-                        }
-                    }).start();
-                } else {
-                    EventBus.getDefault().post(new MessageEvent(tcpModel, 2));
+                        }).start();
+                    } else {
+                        EventBus.getDefault().post(new MessageEvent(tcpModel, 2));
+                    }
+                }
+                break;
+            case VIDEO:
+                EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.VIDEO_MSG));
+                break;
+            case DEVICE:
+                if (tcpModel.getAction() == TcpAction.DeviceAction.RESTART) {
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_DEVICE_CHANGE));
+                } else if (tcpModel.getAction() == TcpAction.DeviceAction.USER_CHANGE){
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_USER_CHANGE));
+                } else if (tcpModel.getAction() == TcpAction.DeviceAction.DEVICE_REFRESH){
+                    //todo: 未处理
+                } else if (tcpModel.getAction() == TcpAction.DeviceAction.APP_UPDATE){
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_APP_UPDATE));
+                }
+                break;
+            case CALLBACK:
+                break;
+            case IM:
+                if (tcpModel.getAction() == TcpAction.IMAction.MSG){
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, 3));
+                }
+                break;
+            case SOS:
+                EventBus.getDefault().post(new MessageEvent(tcpModel, 999));
+                break;
+            case DATA:
+                if (tcpModel.getAction() == TcpAction.DataAction.REFRESH){
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, 4));
+                }
+                break;
+            case TIME:
+                break;
+            case EVENT:
+                if (tcpModel.getAction() == TcpAction.EventAction.KEY_CLICK){
+                    EventBus.getDefault().post(new MessageEvent(tcpModel, 3));
                 }
-            }
-        } else if ((tcpModel.getType()==TcpType.IM && tcpModel.getAction() == TcpAction.IMAction.MSG)
-            || (tcpModel.getType()==TcpType.EVENT && tcpModel.getAction() == TcpAction.EventAction.KEY_CLICK)) {
-            EventBus.getDefault().post(new MessageEvent(tcpModel, 3));
-        } else if (tcpModel.getType() == TcpType.DATA && tcpModel.getAction() == TcpAction.DataAction.REFRESH) {
-            EventBus.getDefault().post(new MessageEvent(tcpModel, 4));
-        } else if(tcpModel.getType() == TcpType.SOS){
-               //紧急呼叫
-            EventBus.getDefault().post(new MessageEvent(tcpModel, 999));
-        } else if(tcpModel.getType() == TcpType.DEVICE){
-            if (tcpModel.getAction() == TcpAction.DeviceAction.RESTART) {
-                EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_DEVICE_CHANGE));
-            } else if (tcpModel.getAction() == TcpAction.DeviceAction.USER_CHANGE){
-                EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_USER_CHANGE));
-            } else if (tcpModel.getAction() == TcpAction.DeviceAction.DEVICE_REFRESH){
-                //todo: 未处理
-            } else if (tcpModel.getAction() == TcpAction.DeviceAction.APP_UPDATE){
-                EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_APP_UPDATE));
-            }
-        } else {
-            EventBus.getDefault().post(new MessageEvent(tcpModel, 0));
+                break;
+            case BROADCAST:
+                break;
+            default:
+                EventBus.getDefault().post(new MessageEvent(tcpModel, 0));
         }
 
         return responseTcpModel;

+ 23 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/VideoUtil.java

@@ -0,0 +1,23 @@
+package com.wdkl.ncs.android.middleware.tcp.channel;
+
+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;
+
+public class VideoUtil {
+    public static TcpModel videoOutCall(Integer fromId){
+        TcpModel tcpModel = new TcpModel();
+        tcpModel.setType(TcpType.VIDEO);
+        tcpModel.setAction(TcpAction.VideoAction.VIDEO_OUT_CALL);
+        tcpModel.setFromId(fromId);
+        return tcpModel;
+    }
+
+    public static TcpModel handOff(Integer iaId){
+        TcpModel tcpModel = new TcpModel();
+        tcpModel.setType(TcpType.VIDEO);
+        tcpModel.setAction(TcpAction.VideoAction.HANDOFF);
+        tcpModel.setData(iaId);
+        return tcpModel;
+    }
+}

+ 0 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä