瀏覽代碼

feat: 移除tuicontact模块

DoggyZhang 1 周之前
父節點
當前提交
5634376455
共有 100 個文件被更改,包括 0 次插入13199 次删除
  1. 0 1
      app/build.gradle
  2. 0 6
      app/src/main/java/com/adealink/weparty/module/profile/Router.kt
  3. 0 0
      frame/tuikit/TUIContact/README.md
  4. 0 1
      frame/tuikit/TUIContact/tuicontact/.gitignore
  5. 0 54
      frame/tuikit/TUIContact/tuicontact/build.gradle
  6. 二進制
      frame/tuikit/TUIContact/tuicontact/libs/tinypinyin-2.0.1.jar
  7. 0 131
      frame/tuikit/TUIContact/tuicontact/src/main/AndroidManifest.xml
  8. 0 60
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/TUIContactConstants.java
  9. 0 429
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/TUIContactService.java
  10. 0 92
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/ChatInfo.java
  11. 0 271
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/ContactItemBean.java
  12. 0 129
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/FriendApplicationBean.java
  13. 0 85
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupApplyInfo.java
  14. 0 239
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupInfo.java
  15. 0 51
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupMemberInfo.java
  16. 0 12
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/MessageCustom.java
  17. 0 97
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/ClassicUIExtensionObserver.java
  18. 0 161
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/GroupMemberGridProxy.java
  19. 0 211
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/AddMoreActivity.java
  20. 0 167
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/AddMoreDetailActivity.java
  21. 0 71
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/BlackListActivity.java
  22. 0 458
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/CreateGroupActivity.java
  23. 0 241
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/ForwardSelectGroupActivity.java
  24. 0 127
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupApplyDetailActivity.java
  25. 0 40
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupApplyManagerActivity.java
  26. 0 89
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupListActivity.java
  27. 0 197
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupMemberActivity.java
  28. 0 162
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupTypeSelectActivity.java
  29. 0 300
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/ManageGroupActivity.java
  30. 0 89
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/NewFriendActivity.java
  31. 0 109
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/NewFriendApplicationDetailActivity.java
  32. 0 270
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/SetGroupManagerActivity.java
  33. 0 93
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartC2CChatActivity.java
  34. 0 333
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartGroupChatActivity.java
  35. 0 228
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartGroupMemberSelectActivity.java
  36. 0 86
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/TUIContactFragment.java
  37. 0 45
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/util/ClassicUIUtils.java
  38. 0 220
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactAdapter.java
  39. 0 65
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactLayout.java
  40. 0 177
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactListView.java
  41. 0 70
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ForwardContactSelectorAdapter.java
  42. 0 169
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupApplyAdapter.java
  43. 0 113
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupApplyManagerLayout.java
  44. 0 226
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberAdapter.java
  45. 0 146
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberGridAdapter.java
  46. 0 278
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberLayout.java
  47. 0 155
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/NewFriendListAdapter.java
  48. 0 33
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/bean/BaseIndexBean.java
  49. 0 20
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/bean/BaseIndexPinyinBean.java
  50. 0 28
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/helper/IIndexBarDataHelper.java
  51. 0 114
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/helper/IndexBarDataHelperImpl.java
  52. 0 340
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/widget/IndexBar.java
  53. 0 10
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/suspension/ISuspensionInterface.java
  54. 0 220
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/suspension/SuspensionDecoration.java
  55. 0 23
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/TUIContactConfig.java
  56. 0 169
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/classicui/TUIContactConfigClassic.java
  57. 0 169
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/minimalistui/TUIContactConfigMinimalist.java
  58. 0 69
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/ContactEventListener.java
  59. 0 7
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupEventListener.java
  60. 0 7
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupMemberGridListener.java
  61. 0 11
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupMemberListener.java
  62. 0 7
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IAddMoreActivity.java
  63. 0 20
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IContactListView.java
  64. 0 7
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IFriendProfileLayout.java
  65. 0 17
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupApplyLayout.java
  66. 0 8
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberChangedCallback.java
  67. 0 10
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberLayout.java
  68. 0 15
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberListener.java
  69. 0 9
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/INewFriendActivity.java
  70. 0 158
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/GroupMemberListProxy.java
  71. 0 115
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/MinimalistUIExtensionObserver.java
  72. 0 8
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/interfaces/IContactLayout.java
  73. 0 236
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/AddMoreDetailMinimalistDialogFragment.java
  74. 0 227
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/AddMoreMinimalistDialogFragment.java
  75. 0 64
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/BlackListMinimalistActivity.java
  76. 0 487
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/CreateGroupMinimalistActivity.java
  77. 0 122
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupApplyDetailMinimalistActivity.java
  78. 0 33
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupApplyManagerMinimalistActivity.java
  79. 0 79
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupListMinimalistActivity.java
  80. 0 214
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupMemberMinimalistActivity.java
  81. 0 190
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupTypeSelectMinimalistActivity.java
  82. 0 288
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/ManageGroupMinimalistActivity.java
  83. 0 110
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/NewFriendApplicationDetailMinimalistActivity.java
  84. 0 91
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/NewFriendApplicationMinimalistActivity.java
  85. 0 77
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartC2CChatMinimalistActivity.java
  86. 0 222
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartGroupChatMinimalistActivity.java
  87. 0 245
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartGroupMemberSelectMinimalistActivity.java
  88. 0 90
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/TUIContactMinimalistFragment.java
  89. 0 51
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/util/MinimalistUIUtils.java
  90. 0 276
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactAdapter.java
  91. 0 163
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactLayout.java
  92. 0 178
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactListView.java
  93. 0 116
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactToast.java
  94. 0 171
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupApplyAdapter.java
  95. 0 115
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupApplyManagerLayout.java
  96. 0 149
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupInfoAdapter.java
  97. 0 223
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupMemberAdapter.java
  98. 0 316
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupMemberLayout.java
  99. 0 163
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/Menu.java
  100. 0 155
      frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/NewFriendListAdapter.java

+ 0 - 1
app/build.gradle

@@ -505,7 +505,6 @@ dependencies {
     api libs.tencent.uikit.common
     api project(":timcommon")
     api project(":tuichat")
-    implementation project(":tuicontact")
     implementation project(":tuiconversation")
     api libs.tencent.imsdk
     api 'com.google.auto.service:auto-service-annotations:1.1.1'

+ 0 - 6
app/src/main/java/com/adealink/weparty/module/profile/Router.kt

@@ -41,12 +41,6 @@ interface Profile {
         }
     }
 
-    interface BlackList {
-        companion object {
-            const val PATH = "${Common.PATH}/black_list"
-        }
-    }
-
     interface RelationShip {
         companion object {
             const val PATH = "${Common.PATH}/relationship"

+ 0 - 0
frame/tuikit/TUIContact/README.md


+ 0 - 1
frame/tuikit/TUIContact/tuicontact/.gitignore

@@ -1 +0,0 @@
-/build

+ 0 - 54
frame/tuikit/TUIContact/tuicontact/build.gradle

@@ -1,54 +0,0 @@
-plugins {
-    id 'com.android.library'
-}
-
-android {
-    namespace "com.tencent.qcloud.tuikit.tuicontact"
-    compileSdk libs.versions.compileSdk.get().toInteger()
-
-    defaultConfig {
-        minSdk libs.versions.minSdk.get().toInteger()
-        targetSdk libs.versions.targetSdk.get().toInteger()
-        resConfigs "zh", "en", "in"
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        consumerProguardFiles "consumer-rules.pro"
-        ndk {
-            abiFilters "armeabi-v7a"
-            abiFilters "arm64-v8a"
-        }
-    }
-
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-        }
-    }
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_17
-        targetCompatibility JavaVersion.VERSION_17
-    }
-
-    sourceSets {
-        main {
-            res.srcDirs += "src/main/res-light"
-            res.srcDirs += "src/main/res-lively"
-            res.srcDirs += "src/main/res-serious"
-            res.srcDirs += "src/main/res-minimalist"
-        }
-    }
-
-}
-
-dependencies {
-    implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
-    api project(':timcommon')
-
-    implementation libs.androidx.appcompat
-    implementation libs.android.material
-
-    implementation libs.gson
-
-    annotationProcessor libs.auto.service
-}

二進制
frame/tuikit/TUIContact/tuicontact/libs/tinypinyin-2.0.1.jar


+ 0 - 131
frame/tuikit/TUIContact/tuicontact/src/main/AndroidManifest.xml

@@ -1,131 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <application>
-        <!-- **************** Classic UI Activity Start **************** -->
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.AddMoreActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name=".classicui.pages.AddMoreDetailActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.NewFriendActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.BlackListActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupListActivity"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.StartC2CChatActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.StartGroupChatActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.ForwardSelectGroupActivity"
-            android:launchMode="singleInstance"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.StartGroupMemberSelectActivity"
-            android:launchMode="singleInstance"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.CreateGroupActivity"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupTypeSelectActivity"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.SetGroupManagerActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupMemberActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.ManageGroupActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupApplyManagerActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupApplyDetailActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.classicui.pages.NewFriendApplicationDetailActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-
-        <!-- **************** Classic UI Activity End **************** -->
-
-
-        <!-- **************** Minimalist UI Activity Start **************** -->
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.NewFriendApplicationMinimalistActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.NewFriendApplicationDetailMinimalistActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.BlackListMinimalistActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupListMinimalistActivity"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.StartC2CChatMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/ContactTransparentPopActivityStyle" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.StartGroupChatMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/ContactTransparentPopActivityStyle"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.StartGroupMemberSelectMinimalistActivity"
-            android:launchMode="singleInstance"
-            android:screenOrientation="portrait" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.CreateGroupMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/ContactTransparentPopActivityStyle" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupTypeSelectMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:theme="@style/ContactTransparentPopActivityStyle" />
-
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupMemberMinimalistActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.ManageGroupMinimalistActivity"
-            android:screenOrientation="portrait" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupApplyManagerMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-        <activity
-            android:name="com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupApplyDetailMinimalistActivity"
-            android:screenOrientation="portrait"
-            android:windowSoftInputMode="stateAlwaysHidden|adjustPan" />
-        <!-- **************** Minimalist UI Activity End **************** -->
-
-
-    </application>
-</manifest>

+ 0 - 60
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/TUIContactConstants.java

@@ -1,60 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact;
-
-import com.tencent.imsdk.v2.V2TIMGroupAtInfo;
-
-public class TUIContactConstants {
-    public static final String FORWARD_SELECT_CONVERSATION_KEY = "forward_select_conversation_key";
-    public static final int FORWARD_SELECT_MEMBERS_CODE = 102;
-    public static final int FORWARD_CREATE_GROUP_CODE = 103;
-
-    public static final String FORWARD_CREATE_NEW_CHAT = "forward_create_new_chat";
-    public static final String IM_PRODUCT_DOC_URL = "https://cloud.tencent.com/product/im";
-    public static final String IM_PRODUCT_DOC_URL_EN = "https://www.tencentcloud.com/products/im?lang=en&pg=";
-    /**
-     * 1: Just a text message with a link
-     * 2: The video calling version supported by iOS is no longer compatible
-     * 3: unreleased version
-     * 4: Android/iOS/Web interoperable version for video call
-     */
-    public static final int JSON_VERSION_4 = 4;
-    public static int version = JSON_VERSION_4;
-    public static final String GROUP_PROFILE_BEAN = "groupProfileBean";
-
-    public static final String GROUP_FACE_URL = "https://im.sdk.qcloud.com/download/tuikit-resource/group-avatar/group_avatar_%s.png";
-    public static final int GROUP_FACE_COUNT = 24;
-
-    public static class Selection {
-        public static final String SELECT_ALL = V2TIMGroupAtInfo.AT_ALL_TAG;
-        public static final String CONTENT = "content";
-        public static final String TYPE = "type";
-        public static final String GROUP_TYPE = "groupType";
-        public static final String TITLE = "title";
-        public static final String LIST = "list";
-        public static final String LIMIT = "limit";
-
-        public static final String USER_ID_SELECT = "user_id_select";
-        public static final String USER_NAMECARD_SELECT = "user_namecard_select";
-    }
-
-    public static class GroupType {
-        public static final String TYPE = "type";
-        public static final String GROUP = "isGroup";
-        public static final int PRIVATE = 0;
-        public static final int PUBLIC = 1;
-        public static final int CHAT_ROOM = 2;
-        public static final int COMMUNITY = 3;
-
-        public static final String TYPE_PUBLIC = "Public";
-        public static final String TYPE_MEETING = "Meeting";
-        public static final String TYPE_WORK = "Work";
-        public static final String TYPE_COMMUNITY = "Community";
-    }
-
-    public static final class Group {
-
-        public static final String GROUP_ID = "group_id";
-        public static final String GROUP_INFO = "groupInfo";
-        public static final String MEMBER_APPLY = "apply";
-    }
-
-}

+ 0 - 429
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/TUIContactService.java

@@ -1,429 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact;
-
-import android.content.Context;
-
-import com.google.auto.service.AutoService;
-import com.tencent.imsdk.v2.V2TIMFriendApplication;
-import com.tencent.imsdk.v2.V2TIMFriendInfo;
-import com.tencent.imsdk.v2.V2TIMFriendshipListener;
-import com.tencent.imsdk.v2.V2TIMGroupChangeInfo;
-import com.tencent.imsdk.v2.V2TIMGroupListener;
-import com.tencent.imsdk.v2.V2TIMGroupMemberChangeInfo;
-import com.tencent.imsdk.v2.V2TIMGroupMemberInfo;
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.imsdk.v2.V2TIMSDKListener;
-import com.tencent.imsdk.v2.V2TIMUserStatus;
-import com.tencent.qcloud.tuicore.ServiceInitializer;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerDependency;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerID;
-import com.tencent.qcloud.tuicore.interfaces.ITUINotification;
-import com.tencent.qcloud.tuicore.interfaces.ITUIService;
-import com.tencent.qcloud.tuicore.interfaces.TUIInitializer;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.ContactEventListener;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.GroupEventListener;
-import com.tencent.qcloud.tuikit.tuicontact.util.ContactUtils;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-@AutoService(TUIInitializer.class)
-@TUIInitializerDependency("TIMCommon")
-@TUIInitializerID("TUIContact")
-public class TUIContactService implements TUIInitializer, ITUIService, ITUINotification {
-    public static final String TAG = TUIContactService.class.getSimpleName();
-
-    private static TUIContactService instance;
-
-    public static TUIContactService getInstance() {
-        return instance;
-    }
-
-    private final List<WeakReference<ContactEventListener>> contactEventListenerList = new ArrayList<>();
-    private final List<WeakReference<GroupEventListener>> groupEventListenerList = new ArrayList<>();
-
-    @Override
-    public void init(Context context) {
-        instance = this;
-        initTheme();
-        initService();
-        initEvent();
-        initIMListener();
-    }
-
-    @Override
-    public Object onCall(String method, Map<String, Object> param) {
-        return null;
-    }
-
-    private void initService() {
-        TUICore.registerService(TUIConstants.TUIContact.SERVICE_NAME, this);
-    }
-
-    private void initEvent() {
-        TUICore.registerEvent(TUIConstants.TUIContact.EVENT_FRIEND_INFO_CHANGED, TUIConstants.TUIContact.EVENT_SUB_KEY_FRIEND_REMARK_CHANGED, this);
-    }
-
-    @Override
-    public void onNotifyEvent(String key, String subKey, Map<String, Object> param) {
-        if (key.equals(TUIConstants.TUIContact.EVENT_FRIEND_INFO_CHANGED)) {
-            if (subKey.equals(TUIConstants.TUIContact.EVENT_SUB_KEY_FRIEND_REMARK_CHANGED)) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                if (param == null || param.isEmpty()) {
-                    return;
-                }
-                String id = (String) param.get(TUIConstants.TUIContact.FRIEND_ID);
-                String remark = (String) param.get(TUIConstants.TUIContact.FRIEND_REMARK);
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendRemarkChanged(id, remark);
-                }
-            }
-        }
-    }
-
-    private void initIMListener() {
-        V2TIMManager.getFriendshipManager().addFriendListener(new V2TIMFriendshipListener() {
-            @Override
-            public void onFriendApplicationListAdded(List<V2TIMFriendApplication> applicationList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                List<FriendApplicationBean> friendApplicationBeanList = new ArrayList<>();
-                for (V2TIMFriendApplication v2TIMFriendApplication : applicationList) {
-                    FriendApplicationBean friendApplicationBean = new FriendApplicationBean();
-                    friendApplicationBean.convertFromTimFriendApplication(v2TIMFriendApplication);
-                    friendApplicationBeanList.add(friendApplicationBean);
-                }
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendApplicationListAdded(friendApplicationBeanList);
-                }
-            }
-
-            @Override
-            public void onFriendApplicationListDeleted(List<String> userIDList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendApplicationListDeleted(userIDList);
-                }
-            }
-
-            @Override
-            public void onFriendApplicationListRead() {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendApplicationListRead();
-                }
-            }
-
-            @Override
-            public void onFriendListAdded(List<V2TIMFriendInfo> users) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                List<ContactItemBean> contactItemBeanList = new ArrayList<>();
-                for (V2TIMFriendInfo v2TIMFriendInfo : users) {
-                    ContactItemBean contactItemBean = new ContactItemBean();
-                    contactItemBean.setFriend(true);
-                    contactItemBean.covertTIMFriend(v2TIMFriendInfo);
-                    contactItemBeanList.add(contactItemBean);
-                }
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendListAdded(contactItemBeanList);
-                }
-            }
-
-            @Override
-            public void onFriendListDeleted(List<String> userList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendListDeleted(userList);
-                }
-                HashMap<String, Object> bundle = new HashMap<>();
-                bundle.put(TUIConstants.TUIContact.FRIEND_ID_LIST, new ArrayList<>(userList));
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_FRIEND_STATE_CHANGED, TUIConstants.TUIContact.EVENT_SUB_KEY_FRIEND_DELETE, bundle);
-            }
-
-            @Override
-            public void onBlackListAdd(List<V2TIMFriendInfo> infoList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                List<ContactItemBean> contactItemBeanList = new ArrayList<>();
-                for (V2TIMFriendInfo v2TIMFriendInfo : infoList) {
-                    ContactItemBean contactItemBean = new ContactItemBean();
-                    contactItemBean.covertTIMFriend(v2TIMFriendInfo);
-                    contactItemBeanList.add(contactItemBean);
-                }
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onBlackListAdd(contactItemBeanList);
-                }
-            }
-
-            @Override
-            public void onBlackListDeleted(List<String> userList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onBlackListDeleted(userList);
-                }
-            }
-
-            @Override
-            public void onFriendInfoChanged(List<V2TIMFriendInfo> infoList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                List<ContactItemBean> contactItemBeanList = new ArrayList<>();
-                for (V2TIMFriendInfo v2TIMFriendInfo : infoList) {
-                    ContactItemBean contactItemBean = new ContactItemBean();
-                    contactItemBean.setFriend(true);
-                    contactItemBean.covertTIMFriend(v2TIMFriendInfo);
-                    contactItemBeanList.add(contactItemBean);
-                }
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onFriendInfoChanged(contactItemBeanList);
-                }
-            }
-        });
-
-        V2TIMSDKListener v2TIMSDKListener = new V2TIMSDKListener() {
-            @Override
-            public void onUserStatusChanged(List<V2TIMUserStatus> userStatusList) {
-                List<ContactEventListener> contactEventListenerList = getInstance().getContactEventListenerList();
-                for (ContactEventListener contactEventListener : contactEventListenerList) {
-                    contactEventListener.onUserStatusChanged(userStatusList);
-                }
-            }
-        };
-        V2TIMManager.getInstance().addIMSDKListener(v2TIMSDKListener);
-
-        V2TIMManager.getInstance().addGroupListener(new V2TIMGroupListener() {
-
-            @Override
-            public void onAllGroupMembersMuted(String groupID, boolean isMute) {
-                super.onAllGroupMembersMuted(groupID, isMute);
-            }
-
-            @Override
-            public void onMemberEnter(String groupID, List<V2TIMGroupMemberInfo> memberList) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                ArrayList<String> userIds = new ArrayList<>();
-                for (V2TIMGroupMemberInfo memberInfo : memberList) {
-                    userIds.add(memberInfo.getUserID());
-                }
-                param.put(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST, userIds);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_JOIN_GROUP, param);
-
-                List<GroupEventListener> groupEventListeners = getGroupEventListenerList();
-                for (GroupEventListener groupEventListener : groupEventListeners) {
-                    groupEventListener.onGroupMemberCountChanged(groupID);
-                }
-            }
-
-            @Override
-            public void onMemberLeave(String groupID, V2TIMGroupMemberInfo member) {
-                super.onMemberLeave(groupID, member);
-                List<GroupEventListener> groupEventListeners = getGroupEventListenerList();
-                for (GroupEventListener groupEventListener : groupEventListeners) {
-                    groupEventListener.onGroupMemberCountChanged(groupID);
-                }
-            }
-
-            @Override
-            public void onMemberInvited(String groupID, V2TIMGroupMemberInfo opUser, List<V2TIMGroupMemberInfo> memberList) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                ArrayList<String> userIds = new ArrayList<>();
-                for (V2TIMGroupMemberInfo memberInfo : memberList) {
-                    userIds.add(memberInfo.getUserID());
-                }
-                param.put(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST, userIds);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_INVITED_GROUP, param);
-
-                List<GroupEventListener> groupEventListeners = getGroupEventListenerList();
-                for (GroupEventListener groupEventListener : groupEventListeners) {
-                    groupEventListener.onGroupMemberCountChanged(groupID);
-                }
-            }
-
-            @Override
-            public void onMemberKicked(String groupID, V2TIMGroupMemberInfo opUser, List<V2TIMGroupMemberInfo> memberList) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                ArrayList<String> userIds = new ArrayList<>();
-                for (V2TIMGroupMemberInfo memberInfo : memberList) {
-                    userIds.add(memberInfo.getUserID());
-                }
-                param.put(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST, userIds);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_MEMBER_KICKED_GROUP, param);
-                if (userIds.contains(TUILogin.getLoginUser())) {
-                    ContactUtils.toastGroupEvent(ContactUtils.GROUP_EVENT_TIP_KICKED, groupID);
-                }
-                List<GroupEventListener> groupEventListeners = getGroupEventListenerList();
-                for (GroupEventListener groupEventListener : groupEventListeners) {
-                    groupEventListener.onGroupMemberCountChanged(groupID);
-                }
-            }
-
-            @Override
-            public void onMemberInfoChanged(String groupID, List<V2TIMGroupMemberChangeInfo> v2TIMGroupMemberChangeInfoList) {
-                super.onMemberInfoChanged(groupID, v2TIMGroupMemberChangeInfoList);
-            }
-
-            @Override
-            public void onGroupCreated(String groupID) {
-                super.onGroupCreated(groupID);
-            }
-
-            @Override
-            public void onGroupDismissed(String groupID, V2TIMGroupMemberInfo opUser) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_GROUP_DISMISS, param);
-                ContactUtils.toastGroupEvent(ContactUtils.GROUP_EVENT_TIP_DISBANDED, groupID);
-            }
-
-            @Override
-            public void onGroupRecycled(String groupID, V2TIMGroupMemberInfo opUser) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_GROUP_RECYCLE, param);
-            }
-
-            @Override
-            public void onGroupInfoChanged(String groupID, List<V2TIMGroupChangeInfo> changeInfos) {
-                List<GroupEventListener> groupEventListeners = getGroupEventListenerList();
-                for (GroupEventListener groupEventListener : groupEventListeners) {
-                    groupEventListener.onGroupInfoChanged(groupID);
-                }
-
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                for (V2TIMGroupChangeInfo changeInfo : changeInfos) {
-                    if (changeInfo.getType() == V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_NAME) {
-                        param.put(TUIConstants.TUIContact.GROUP_NAME, changeInfo.getValue());
-                    } else if (changeInfo.getType() == V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_FACE_URL) {
-                        param.put(TUIConstants.TUIContact.GROUP_FACE_URL, changeInfo.getValue());
-                    } else if (changeInfo.getType() == V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_OWNER) {
-                        param.put(TUIConstants.TUIContact.GROUP_OWNER, changeInfo.getValue());
-                    } else if (changeInfo.getType() == V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_NOTIFICATION) {
-                        param.put(TUIConstants.TUIContact.GROUP_NOTIFICATION, changeInfo.getValue());
-                    } else if (changeInfo.getType() == V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_INTRODUCTION) {
-                        param.put(TUIConstants.TUIContact.GROUP_INTRODUCTION, changeInfo.getValue());
-                    } else {
-                        return;
-                    }
-                }
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_GROUP_INFO_CHANGED, param);
-            }
-
-            @Override
-            public void onReceiveJoinApplication(String groupID, V2TIMGroupMemberInfo member, String opReason) {
-                TUICore.notifyEvent(TUIConstants.TUIContact.Event.GroupApplication.KEY_GROUP_APPLICATION,
-                        TUIConstants.TUIContact.Event.GroupApplication.SUB_KEY_GROUP_APPLICATION_NUM_CHANGED, null);
-            }
-
-            @Override
-            public void onApplicationProcessed(String groupID, V2TIMGroupMemberInfo opUser, boolean isAgreeJoin, String opReason) {
-                TUICore.notifyEvent(TUIConstants.TUIContact.Event.GroupApplication.KEY_GROUP_APPLICATION,
-                        TUIConstants.TUIContact.Event.GroupApplication.SUB_KEY_GROUP_APPLICATION_NUM_CHANGED, null);
-            }
-
-            @Override
-            public void onGrantAdministrator(String groupID, V2TIMGroupMemberInfo opUser, List<V2TIMGroupMemberInfo> memberList) {
-                super.onGrantAdministrator(groupID, opUser, memberList);
-            }
-
-            @Override
-            public void onRevokeAdministrator(String groupID, V2TIMGroupMemberInfo opUser, List<V2TIMGroupMemberInfo> memberList) {
-                super.onRevokeAdministrator(groupID, opUser, memberList);
-            }
-
-            @Override
-            public void onQuitFromGroup(String groupID) {
-                HashMap<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.GROUP_ID, groupID);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_EXIT_GROUP, param);
-            }
-
-            @Override
-            public void onReceiveRESTCustomData(String groupID, byte[] customData) {
-                super.onReceiveRESTCustomData(groupID, customData);
-            }
-
-            @Override
-            public void onGroupAttributeChanged(String groupID, Map<String, String> groupAttributeMap) {
-                super.onGroupAttributeChanged(groupID, groupAttributeMap);
-            }
-        });
-    }
-
-    public List<ContactEventListener> getContactEventListenerList() {
-        List<ContactEventListener> contactEventListeners = new ArrayList<>();
-        Iterator<WeakReference<ContactEventListener>> iterator = contactEventListenerList.iterator();
-        while (iterator.hasNext()) {
-            WeakReference<ContactEventListener> weakReference = iterator.next();
-            if (weakReference.get() == null) {
-                iterator.remove();
-                continue;
-            }
-            contactEventListeners.add(weakReference.get());
-        }
-        return contactEventListeners;
-    }
-
-    public void addContactEventListener(ContactEventListener contactEventListener) {
-        WeakReference<ContactEventListener> reference = new WeakReference<>(contactEventListener);
-        Iterator<WeakReference<ContactEventListener>> iterator = contactEventListenerList.iterator();
-        while (iterator.hasNext()) {
-            WeakReference<ContactEventListener> weakReference = iterator.next();
-            if (weakReference.get() == null) {
-                iterator.remove();
-                continue;
-            }
-            if (weakReference.get() == contactEventListener) {
-                return;
-            }
-        }
-        contactEventListenerList.add(reference);
-    }
-
-
-    public void addGroupEventListener(GroupEventListener groupEventListener) {
-        if (groupEventListener == null) {
-            return;
-        }
-        for (WeakReference<GroupEventListener> listenerWeakReference : groupEventListenerList) {
-            if (listenerWeakReference.get() == groupEventListener) {
-                return;
-            }
-        }
-        groupEventListenerList.add(new WeakReference<>(groupEventListener));
-    }
-
-    public List<GroupEventListener> getGroupEventListenerList() {
-        List<GroupEventListener> listeners = new ArrayList<>();
-        Iterator<WeakReference<GroupEventListener>> iterator = groupEventListenerList.listIterator();
-        while (iterator.hasNext()) {
-            WeakReference<GroupEventListener> listenerWeakReference = iterator.next();
-            GroupEventListener listener = listenerWeakReference.get();
-            if (listener == null) {
-                iterator.remove();
-            } else {
-                listeners.add(listener);
-            }
-        }
-        return listeners;
-    }
-
-    private void initTheme() {
-        TUIThemeManager.addLightTheme(R.style.TUIContactLightTheme);
-        TUIThemeManager.addLivelyTheme(R.style.TUIContactLivelyTheme);
-        TUIThemeManager.addSeriousTheme(R.style.TUIContactSeriousTheme);
-    }
-
-    public static Context getAppContext() {
-        return ServiceInitializer.getAppContext();
-    }
-}

+ 0 - 92
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/ChatInfo.java

@@ -1,92 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import com.tencent.imsdk.v2.V2TIMConversation;
-import com.tencent.imsdk.v2.V2TIMGroupAtInfo;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class ChatInfo implements Serializable {
-    public static final int TYPE_C2C = V2TIMConversation.V2TIM_C2C;
-    public static final int TYPE_GROUP = V2TIMConversation.V2TIM_GROUP;
-    public static final int TYPE_INVALID = V2TIMConversation.CONVERSATION_TYPE_INVALID;
-
-    private static List<V2TIMGroupAtInfo> atInfoList;
-
-    private String chatName;
-    private int type = V2TIMConversation.V2TIM_C2C;
-    private String id;
-    private String groupType;
-    private boolean isTopChat;
-
-    public ChatInfo() {}
-
-    /**
-     * Get the title of the chat, usually the name of the other party for a single chat, and the group name for a group chat
-     *
-     * @return
-     */
-    public String getChatName() {
-        return chatName;
-    }
-
-    /**
-     * Set the title of the chat, usually the name of the other party for a single chat, and the group name for a group chat
-     *
-     * @param chatName
-     */
-    public void setChatName(String chatName) {
-        this.chatName = chatName;
-    }
-
-    /**
-     * Get the chat type, C2C is a single chat, Group is a group chat
-     *
-     * @return
-     */
-    public int getType() {
-        return type;
-    }
-
-    /**
-     * Set the chat type, C2C is a single chat, Group is a group chat
-     *
-     * @param type
-     */
-    public void setType(int type) {
-        this.type = type;
-    }
-
-    /**
-     * Get chat unique ID
-     *
-     * @return
-     */
-    public String getId() {
-        return id;
-    }
-
-    /**
-     * Set chat unique ID
-     *
-     * @param id
-     */
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    /**
-     * Get the group type
-     */
-    public String getGroupType() {
-        return groupType;
-    }
-
-    /**
-     * Set the group type
-     */
-    public void setGroupType(String groupType) {
-        this.groupType = groupType;
-    }
-
-}

+ 0 - 271
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/ContactItemBean.java

@@ -1,271 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import android.text.TextUtils;
-import com.tencent.imsdk.v2.V2TIMConversation;
-import com.tencent.imsdk.v2.V2TIMFriendInfo;
-import com.tencent.imsdk.v2.V2TIMGroupInfo;
-import com.tencent.imsdk.v2.V2TIMGroupMemberFullInfo;
-import com.tencent.imsdk.v2.V2TIMUserStatus;
-import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean.BaseIndexPinyinBean;
-
-public class ContactItemBean extends BaseIndexPinyinBean implements Comparable<ContactItemBean> {
-    public static final int TYPE_C2C = V2TIMConversation.V2TIM_C2C;
-    public static final int TYPE_GROUP = V2TIMConversation.V2TIM_GROUP;
-    public static final int TYPE_INVALID = V2TIMConversation.CONVERSATION_TYPE_INVALID;
-
-    public static final int ITEM_BEAN_TYPE_CONTACT = 1;
-    public static final int ITEM_BEAN_TYPE_CONTROLLER = 2;
-
-    public static final String INDEX_STRING_TOP = "↑";
-    private String id;
-    private boolean isTop;
-    private boolean isSelected;
-    private boolean isBlackList;
-    private String remark;
-    private String nickName;
-    private String nameCard;
-    private String avatarUrl;
-    private String signature;
-    private boolean isGroup;
-    private String groupType;
-    private boolean isFriend = false;
-    private boolean isEnable = true;
-    private int statusType = V2TIMUserStatus.V2TIM_USER_STATUS_UNKNOWN;
-    private int itemBeanType = ITEM_BEAN_TYPE_CONTACT;
-    private int avatarResID;
-    private int weight;
-    private TUIExtensionEventListener extensionListener;
-    private int unreadCount;
-
-    public ContactItemBean() {}
-
-    public ContactItemBean(String id) {
-        this.id = id;
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public ContactItemBean setId(String id) {
-        this.id = id;
-        return this;
-    }
-
-    public ContactItemBean setItemBeanType(int itemBeanType) {
-        this.itemBeanType = itemBeanType;
-        return this;
-    }
-
-    public int getItemBeanType() {
-        return itemBeanType;
-    }
-
-    public boolean isTop() {
-        return isTop;
-    }
-
-    public ContactItemBean setTop(boolean top) {
-        isTop = top;
-        return this;
-    }
-
-    @Override
-    public String getTarget() {
-        return getDisplayName();
-    }
-
-    @Override
-    public boolean isNeedToPinyin() {
-        return !isTop;
-    }
-
-    @Override
-    public boolean isShowSuspension() {
-        return !isTop;
-    }
-
-    public boolean isSelected() {
-        return isSelected;
-    }
-
-    public void setSelected(boolean selected) {
-        isSelected = selected;
-    }
-
-    public boolean isEnable() {
-        return isEnable;
-    }
-
-    public void setEnable(boolean enable) {
-        isEnable = enable;
-    }
-
-    public boolean isBlackList() {
-        return isBlackList;
-    }
-
-    public void setBlackList(boolean blacklist) {
-        isBlackList = blacklist;
-    }
-
-    public String getNickName() {
-        return nickName;
-    }
-
-    public void setNickName(String nickName) {
-        this.nickName = nickName;
-    }
-
-    public String getSignature() {
-        return signature;
-    }
-
-    public void setSignature(String signature) {
-        this.signature = signature;
-    }
-
-    public ContactItemBean covertTIMFriend(V2TIMFriendInfo friendInfo) {
-        if (friendInfo == null) {
-            return this;
-        }
-        setId(friendInfo.getUserID());
-        setNickName(friendInfo.getUserProfile().getNickName());
-        setAvatarUrl(friendInfo.getUserProfile().getFaceUrl());
-        setSignature(friendInfo.getUserProfile().getSelfSignature());
-        setRemark(friendInfo.getFriendRemark());
-        return this;
-    }
-
-    public String getRemark() {
-        return remark;
-    }
-
-    public void setRemark(String remark) {
-        this.remark = remark;
-    }
-
-    public void setNameCard(String nameCard) {
-        this.nameCard = nameCard;
-    }
-
-    public String getNameCard() {
-        return nameCard;
-    }
-
-    public boolean isGroup() {
-        return isGroup;
-    }
-
-    public void setGroup(boolean group) {
-        isGroup = group;
-    }
-
-    public String getGroupType() {
-        return groupType;
-    }
-
-    public void setGroupType(String groupType) {
-        this.groupType = groupType;
-    }
-
-    public boolean isFriend() {
-        return isFriend;
-    }
-
-    public void setFriend(boolean friend) {
-        isFriend = friend;
-    }
-
-    public String getAvatarUrl() {
-        return avatarUrl;
-    }
-
-    public void setAvatarUrl(String avatarUrl) {
-        this.avatarUrl = avatarUrl;
-    }
-
-    public int getStatusType() {
-        return statusType;
-    }
-
-    public void setStatusType(int statusType) {
-        this.statusType = statusType;
-    }
-
-    public int getAvatarResID() {
-        return avatarResID;
-    }
-
-    public void setAvatarResID(int avatarResID) {
-        this.avatarResID = avatarResID;
-    }
-
-    public int getWeight() {
-        return weight;
-    }
-
-    public void setWeight(int weight) {
-        this.weight = weight;
-    }
-
-    public TUIExtensionEventListener getExtensionListener() {
-        return extensionListener;
-    }
-
-    public void setExtensionListener(TUIExtensionEventListener extensionListener) {
-        this.extensionListener = extensionListener;
-    }
-
-    public ContactItemBean covertTIMGroupBaseInfo(V2TIMGroupInfo group) {
-        if (group == null) {
-            return this;
-        }
-        setId(group.getGroupID());
-        setRemark(group.getGroupName());
-        setAvatarUrl(group.getFaceUrl());
-        setGroup(true);
-        setGroupType(group.getGroupType());
-        return this;
-    }
-
-    public ContactItemBean covertTIMGroupMemberFullInfo(V2TIMGroupMemberFullInfo member) {
-        if (member == null) {
-            return this;
-        }
-        setId(member.getUserID());
-        setNameCard(member.getNameCard());
-        setRemark(member.getFriendRemark());
-        setNickName(member.getNickName());
-
-        setAvatarUrl(member.getFaceUrl());
-        setGroup(false);
-        return this;
-    }
-
-    public String getDisplayName() {
-        if (!TextUtils.isEmpty(nameCard)) {
-            return nameCard;
-        } else if (!TextUtils.isEmpty(remark)) {
-            return remark;
-        } else if (!TextUtils.isEmpty(nickName)) {
-            return nickName;
-        } else {
-            return id;
-        }
-    }
-
-    @Override
-    public int compareTo(ContactItemBean contactItemBean) {
-        return contactItemBean.getWeight() - this.weight;
-    }
-
-    public void setUnreadCount(int unreadCount) {
-        this.unreadCount = unreadCount;
-    }
-
-    public int getUnreadCount() {
-        return unreadCount;
-    }
-}

+ 0 - 129
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/FriendApplicationBean.java

@@ -1,129 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import com.tencent.imsdk.BaseConstants;
-import com.tencent.imsdk.v2.V2TIMFriendApplication;
-
-import java.io.Serializable;
-
-public class FriendApplicationBean implements Serializable {
-    /**
-     * ## Friend request received by me
-     */
-    public static final int FRIEND_APPLICATION_COME_IN = V2TIMFriendApplication.V2TIM_FRIEND_APPLICATION_COME_IN;
-
-    /**
-     * ## Friend request sent by me
-     */
-    public static final int FRIEND_APPLICATION_SEND_OUT = V2TIMFriendApplication.V2TIM_FRIEND_APPLICATION_SEND_OUT;
-
-    /**
-     * ## Friend requests received and sent by me. Valid only during pulling
-     */
-    public static final int FRIEND_APPLICATION_BOTH = V2TIMFriendApplication.V2TIM_FRIEND_APPLICATION_BOTH;
-
-    /**
-     * ## Accept the friend request (build a one-way friend relationship)
-     */
-    public static final int FRIEND_ACCEPT_AGREE = V2TIMFriendApplication.V2TIM_FRIEND_ACCEPT_AGREE;
-
-    /**
-     * ## Accept the friend request and add the peer party as a friend (build a two-way friend relationship)
-     */
-    public static final int FRIEND_ACCEPT_AGREE_AND_ADD = V2TIMFriendApplication.V2TIM_FRIEND_ACCEPT_AGREE_AND_ADD;
-
-    public static final int ERR_SUCC = BaseConstants.ERR_SUCC;
-    public static final int ERR_SVR_FRIENDSHIP_INVALID_PARAMETERS = BaseConstants.ERR_SVR_FRIENDSHIP_INVALID_PARAMETERS;
-    public static final int ERR_SVR_FRIENDSHIP_COUNT_LIMIT = BaseConstants.ERR_SVR_FRIENDSHIP_COUNT_LIMIT;
-    public static final int ERR_SVR_FRIENDSHIP_ALREADY_FRIENDS = BaseConstants.ERR_SVR_FRIENDSHIP_ALREADY_FRIENDS;
-    public static final int ERR_SVR_FRIENDSHIP_PEER_FRIEND_LIMIT = BaseConstants.ERR_SVR_FRIENDSHIP_PEER_FRIEND_LIMIT;
-    public static final int ERR_SVR_FRIENDSHIP_IN_SELF_BLACKLIST = BaseConstants.ERR_SVR_FRIENDSHIP_IN_SELF_BLACKLIST;
-    public static final int ERR_SVR_FRIENDSHIP_ALLOW_TYPE_DENY_ANY = BaseConstants.ERR_SVR_FRIENDSHIP_ALLOW_TYPE_DENY_ANY;
-    public static final int ERR_SVR_FRIENDSHIP_IN_PEER_BLACKLIST = BaseConstants.ERR_SVR_FRIENDSHIP_IN_PEER_BLACKLIST;
-    public static final int ERR_SVR_FRIENDSHIP_ALLOW_TYPE_NEED_CONFIRM = BaseConstants.ERR_SVR_FRIENDSHIP_ALLOW_TYPE_NEED_CONFIRM;
-
-    private String userId;
-    private String nickName;
-    private String addWording;
-    private int addType;
-    private String faceUrl;
-    private V2TIMFriendApplication friendApplication;
-    private boolean isAccept = false;
-    
-    public FriendApplicationBean() {}
-
-    public String getUserId() {
-        return userId;
-    }
-
-    public void setUserId(String userId) {
-        this.userId = userId;
-    }
-
-    public String getNickName() {
-        return nickName;
-    }
-
-    public void setNickName(String nickName) {
-        this.nickName = nickName;
-    }
-
-    public String getAddWording() {
-        return addWording;
-    }
-
-    public void setAddWording(String addWording) {
-        this.addWording = addWording;
-    }
-
-    public int getAddType() {
-        return addType;
-    }
-
-    public void setAddType(int addType) {
-        this.addType = addType;
-    }
-
-    public void setAccept(boolean accept) {
-        isAccept = accept;
-    }
-
-    public boolean isAccept() {
-        return isAccept;
-    }
-
-    public void setFriendApplication(V2TIMFriendApplication friendApplication) {
-        this.friendApplication = friendApplication;
-    }
-
-    public void setFaceUrl(String faceUrl) {
-        this.faceUrl = faceUrl;
-    }
-
-    public String getFaceUrl() {
-        return faceUrl;
-    }
-
-    public V2TIMFriendApplication getFriendApplication() {
-        return friendApplication;
-    }
-
-    public String getDisplayName() {
-        if (nickName != null && !nickName.isEmpty()) {
-            return nickName;
-        }
-        return userId;
-    }
-
-    public FriendApplicationBean convertFromTimFriendApplication(V2TIMFriendApplication v2TIMFriendApplication) {
-        if (v2TIMFriendApplication == null) {
-            return this;
-        }
-        setAddType(v2TIMFriendApplication.getType());
-        setNickName(v2TIMFriendApplication.getNickname());
-        setAddWording(v2TIMFriendApplication.getAddWording());
-        setUserId(v2TIMFriendApplication.getUserID());
-        setFriendApplication(v2TIMFriendApplication);
-        setFaceUrl(v2TIMFriendApplication.getFaceUrl());
-        return this;
-    }
-}

+ 0 - 85
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupApplyInfo.java

@@ -1,85 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import com.tencent.imsdk.v2.V2TIMGroupApplication;
-import java.io.Serializable;
-
-public class GroupApplyInfo implements Serializable {
-    public static final int APPLIED = 1;
-    public static final int REFUSED = -1;
-    public static final int UNHANDLED = 0;
-
-    private int status;
-    private V2TIMGroupApplication timGroupApplication;
-
-    public GroupApplyInfo(V2TIMGroupApplication timGroupApplication) {
-        this.timGroupApplication = timGroupApplication;
-    }
-
-    public int getStatus() {
-        return status;
-    }
-
-    public void setStatus(int status) {
-        this.status = status;
-    }
-
-    public String getFromUserFaceUrl() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getFromUserFaceUrl();
-        }
-        return null;
-    }
-
-    public String getFromUserID() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getFromUser();
-        }
-        return null;
-    }
-
-    public String getAddWording() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getRequestMsg();
-        }
-        return null;
-    }
-
-    public String getGroupID() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getGroupID();
-        }
-        return null;
-    }
-
-    public V2TIMGroupApplication getGroupApplication() {
-        return timGroupApplication;
-    }
-
-    public String getFromUser() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getFromUser();
-        }
-        return "";
-    }
-
-    public String getFromUserNickName() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getFromUserNickName();
-        }
-        return "";
-    }
-
-    public String getRequestMsg() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getRequestMsg();
-        }
-        return "";
-    }
-
-    public boolean isStatusHandled() {
-        if (timGroupApplication != null) {
-            return timGroupApplication.getHandleStatus() != V2TIMGroupApplication.V2TIM_GROUP_APPLICATION_HANDLE_STATUS_UNHANDLED;
-        }
-        return false;
-    }
-}

+ 0 - 239
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupInfo.java

@@ -1,239 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import android.text.TextUtils;
-
-import com.tencent.imsdk.BaseConstants;
-import com.tencent.imsdk.v2.V2TIMConversation;
-import com.tencent.imsdk.v2.V2TIMGroupInfoResult;
-import com.tencent.imsdk.v2.V2TIMGroupMemberFullInfo;
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.imsdk.v2.V2TIMMessage;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupInfo extends ChatInfo {
-    public static final int ERR_SVR_GROUP_ALLREADY_MEMBER = BaseConstants.ERR_SVR_GROUP_ALLREADY_MEMBER;
-    public static final int ERR_SVR_GROUP_PERMISSION_DENY = BaseConstants.ERR_SVR_GROUP_PERMISSION_DENY;
-    public static final int ERR_SVR_GROUP_NOT_FOUND = BaseConstants.ERR_SVR_GROUP_NOT_FOUND; 
-    public static final int ERR_SVR_GROUP_FULL_MEMBER_COUNT = BaseConstants.ERR_SVR_GROUP_FULL_MEMBER_COUNT;
-    public static final String GROUP_TYPE_MEETING = V2TIMManager.GROUP_TYPE_MEETING;
-    public static final String GROUP_TYPE_AVCHATROOM = V2TIMManager.GROUP_TYPE_AVCHATROOM;
-    public static final String GROUP_TYPE_COMMUNITY = V2TIMManager.GROUP_TYPE_COMMUNITY;
-    public static final String GROUP_TYPE_PUBLIC = V2TIMManager.GROUP_TYPE_PUBLIC;
-    public static final String GROUP_TYPE_WORK = V2TIMManager.GROUP_TYPE_WORK;
-
-    public static final String GROUP_TYPE_ROOM = "Room";
-
-    public static final int GROUP_MEMBER_FILTER_ALL = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ALL;
-    public static final int GROUP_MEMBER_FILTER_OWNER = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_OWNER;
-    public static final int GROUP_MEMBER_FILTER_ADMIN = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_ADMIN;
-    public static final int GROUP_MEMBER_FILTER_COMMON = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_FILTER_COMMON;
-
-    public static final int GROUP_MEMBER_ROLE_MEMBER = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_MEMBER;
-    public static final int GROUP_MEMBER_ROLE_OWNER = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_OWNER;
-    public static final int GROUP_MEMBER_ROLE_ADMIN = V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_ADMIN;
-
-    private String groupType;
-    private String groupName;
-    private String notice;
-    private List<GroupMemberInfo> memberDetails = new ArrayList<>();
-    private int joinType;
-    private String owner;
-    private boolean messageReceiveOption;
-    private String faceUrl;
-    private boolean communitySupportTopic = false;
-    private List<Object> iconUrlList = new ArrayList<>();
-    private int selfRole;
-    private int groupMemberCount = 0;
-    private long mNextSeq = 0;
-    private boolean isAllMuted;
-
-    public GroupInfo() {
-        setType(V2TIMConversation.V2TIM_GROUP);
-    }
-
-    public String getGroupName() {
-        return groupName;
-    }
-
-    public void setGroupName(String groupName) {
-        this.groupName = groupName;
-    }
-
-    /**
-     * 
-     * Set group announcements
-     *
-     * @param signature
-     */
-    public void setNotice(String signature) {
-        this.notice = signature;
-    }
-
-    /**
-     * 
-     *
-     * Get the group verification method
-     *
-     * @return
-     */
-    public int getJoinType() {
-        return joinType;
-    }
-
-    /**
-     * 
-     *
-     * Set the group verification method
-     *
-     * @param joinType
-     */
-    public void setJoinType(int joinType) {
-        this.joinType = joinType;
-    }
-
-    /**
-     * ,Public/Private/ChatRoom
-     *
-     * Get the group type, Public/Private/ChatRoom
-     *
-     * @return
-     */
-    public String getGroupType() {
-        return groupType;
-    }
-
-    /**
-     * 
-     *
-     * Set the group type
-     *
-     * @param groupType
-     */
-    public void setGroupType(String groupType) {
-        this.groupType = groupType;
-    }
-
-    /**
-     * 
-     *
-     * Get member details
-     *
-     * @return
-     */
-    public List<GroupMemberInfo> getMemberDetails() {
-        return memberDetails;
-    }
-
-    /**
-     * 
-     *
-     * Set member details
-     *
-     * @param memberDetails
-     */
-    public void setMemberDetails(List<GroupMemberInfo> memberDetails) {
-        this.memberDetails = memberDetails;
-    }
-
-
-    /**
-     * Set the current user's message receiving option in the group.
-     * @param messageReceiveOption, true,no message will be received; false,messages will be received.
-     */
-    public void setMessageReceiveOption(boolean messageReceiveOption) {
-        this.messageReceiveOption = messageReceiveOption;
-    }
-
-    public String getFaceUrl() {
-        return faceUrl;
-    }
-
-    public void setFaceUrl(String faceUrl) {
-        this.faceUrl = faceUrl;
-    }
-
-    public boolean isCommunitySupportTopic() {
-        return communitySupportTopic;
-    }
-
-    public void setCommunitySupportTopic(boolean communitySupportTopic) {
-        this.communitySupportTopic = communitySupportTopic;
-    }
-
-    public void setIconUrlList(List<Object> iconUrlList) {
-        this.iconUrlList = iconUrlList;
-    }
-
-    public boolean isOwner() {
-        return selfRole == V2TIMGroupMemberFullInfo.V2TIM_GROUP_MEMBER_ROLE_OWNER;
-    }
-
-    public void setNextSeq(long nextSeq) {
-        mNextSeq = nextSeq;
-    }
-
-    public void setInviteType(Integer value) {
-    }
-
-
-
-    public boolean isAllMuted() {
-        return false;
-    }
-
-    public boolean isCanManagerGroup() {
-        return false;
-    }
-
-    public CharSequence getNotice() {
-            return null;
-    }
-
-    public long getNextSeq() {
-        return mNextSeq;
-    }
-
-    public void setTopChat(boolean isSetTop) {
-
-    }
-
-    public void setFolded(boolean b) {
-    }
-
-    public int getInviteType() {
-        return 1;
-    }
-
-    public int getSelfRole() {
-        return selfRole;
-    }
-
-    public void setSelfRole(int selfRole) {
-        this.selfRole = selfRole;
-    }
-
-    public void setGroupMemberCount(int groupMemberCount) {
-        this.groupMemberCount = groupMemberCount;
-    }
-
-    public int getGroupMemberCount() {
-        return groupMemberCount;
-    }
-
-    public void covertTIMGroupDetailInfo(V2TIMGroupInfoResult result) {
-        setChatName(result.getGroupInfo().getGroupName());
-        setGroupName(result.getGroupInfo().getGroupName());
-        setId(result.getGroupInfo().getGroupID());
-        setNotice(result.getGroupInfo().getNotification());
-        setGroupMemberCount(result.getGroupInfo().getMemberCount());
-        setGroupType(result.getGroupInfo().getGroupType());
-        owner = result.getGroupInfo().getOwner();
-        setJoinType(result.getGroupInfo().getGroupAddOpt());
-        setInviteType(result.getGroupInfo().getGroupApproveOpt());
-        setMessageReceiveOption(result.getGroupInfo().getRecvOpt() == V2TIMMessage.V2TIM_RECEIVE_NOT_NOTIFY_MESSAGE ? true : false);
-        setFaceUrl(result.getGroupInfo().getFaceUrl());
-        selfRole = result.getGroupInfo().getRole();
-        isAllMuted = result.getGroupInfo().isAllMuted();
-    }
-}

+ 0 - 51
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/GroupMemberInfo.java

@@ -1,51 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-import com.tencent.imsdk.v2.V2TIMGroupMemberFullInfo;
-import com.tencent.qcloud.tuikit.timcommon.bean.UserBean;
-
-import java.io.Serializable;
-
-public class GroupMemberInfo extends UserBean implements Serializable {
-
-    private long muteUtil = 0;
-    private int role = 0;
-    private boolean isSelected = false;
-
-    public boolean isSelected() {
-        return isSelected;
-    }
-
-    public void setSelected(boolean selected) {
-        this.isSelected = selected;
-    }
-
-    public void setMuteUtil(long muteUtil) {
-        this.muteUtil = muteUtil;
-    }
-
-    public long getMuteUtil() {
-        return muteUtil;
-    }
-
-    public void setRole(int role) {
-        this.role = role;
-    }
-
-    public int getRole() {
-        return role;
-    }
-
-    public GroupMemberInfo covertTIMGroupMemberInfo(V2TIMGroupMemberFullInfo info) {
-        if (info instanceof V2TIMGroupMemberFullInfo) {
-            V2TIMGroupMemberFullInfo v2TIMGroupMemberFullInfo = info;
-            setRole(v2TIMGroupMemberFullInfo.getRole());
-        }
-        setUserId(info.getUserID());
-        setNameCard(info.getNameCard());
-        setFaceUrl(info.getFaceUrl());
-        setNickName(info.getNickName());
-        setFriendRemark(info.getFriendRemark());
-
-        return this;
-    }
-}

+ 0 - 12
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/bean/MessageCustom.java

@@ -1,12 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.bean;
-
-public class MessageCustom {
-    public static final String BUSINESS_ID_GROUP_CREATE = "group_create";
-
-    public int version = 0;
-    public String businessID;
-    public String opUser;
-    public String content;
-    public String data;
-    public int cmd = -1;
-}

+ 0 - 97
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/ClassicUIExtensionObserver.java

@@ -1,97 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui;
-
-import static com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants.GROUP_PROFILE_BEAN;
-
-import android.content.Context;
-import android.content.Intent;
-import android.text.TextUtils;
-import android.view.View;
-import androidx.activity.result.ActivityResultCaller;
-import com.google.auto.service.AutoService;
-import com.tencent.qcloud.tuicore.ServiceInitializer;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerDependency;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerID;
-import com.tencent.qcloud.tuicore.interfaces.ITUIExtension;
-import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener;
-import com.tencent.qcloud.tuicore.interfaces.TUIExtensionInfo;
-import com.tencent.qcloud.tuicore.interfaces.TUIInitializer;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.ManageGroupActivity;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-@AutoService(TUIInitializer.class)
-@TUIInitializerID("TUIContactClassicUIExtensionObserver")
-@TUIInitializerDependency("TUIContact")
-public class ClassicUIExtensionObserver implements TUIInitializer, ITUIExtension {
-
-    @Override
-    public void init(Context context) {
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.EXTENSION_ID, this);
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.EXTENSION_ID, this);
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.EXTENSION_ID, this);
-    }
-
-    @Override
-    public List<TUIExtensionInfo> onGetExtension(String extensionID, Map<String, Object> param) {
-        if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.EXTENSION_ID)) {
-            GroupProfileBean groupProfileBean =
-                (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.GROUP_PROFILE_BEAN);
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.VIEW_TYPE);
-            if (viewType != TUIConstants.TUIChat.VIEW_TYPE_MINIMALIST && groupProfileBean.canManage()) {
-                TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
-                extensionInfo.setText(getAppContext().getString(R.string.group_manager));
-                extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
-                    @Override
-                    public void onClicked(Map<String, Object> param) {
-                        Intent intent = new Intent(getAppContext(), ManageGroupActivity.class);
-                        intent.putExtra(GROUP_PROFILE_BEAN, groupProfileBean);
-                        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        getAppContext().startActivity(intent);
-                    }
-                });
-                return Collections.singletonList(extensionInfo);
-            }
-        } else if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.EXTENSION_ID)) {
-            GroupProfileBean groupProfileBean = (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.GROUP_PROFILE_BEAN);
-            ActivityResultCaller caller = (ActivityResultCaller) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.CALLER);
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.VIEW_TYPE);
-            if (viewType != TUIConstants.TUIChat.VIEW_TYPE_MINIMALIST && groupProfileBean.isOwner()) {
-                TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
-                extensionInfo.setText(getAppContext().getString(R.string.group_transfer_group_owner));
-                extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
-                    @Override
-                    public void onClicked(Map<String, Object> param) {
-                        GroupMemberGridProxy proxy = new GroupMemberGridProxy();
-                        proxy.transferGroupOwner(caller, groupProfileBean);
-                    }
-                });
-                return Collections.singletonList(extensionInfo);
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public boolean onRaiseExtension(String extensionID, View parentView, Map<String, Object> param) {
-        if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.EXTENSION_ID)) {
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.VIEW_TYPE);
-            if (viewType == TUIConstants.TUIChat.VIEW_TYPE_MINIMALIST) {
-                return false;
-            }
-            GroupProfileBean groupProfileBean = (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.GROUP_PROFILE_BEAN);
-            GroupMemberGridProxy proxy = new GroupMemberGridProxy();
-            proxy.raiseExtension(parentView, groupProfileBean);
-        }
-        return true;
-    }
-
-    public static Context getAppContext() {
-        return ServiceInitializer.getAppContext();
-    }
-
-}

+ 0 - 161
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/GroupMemberGridProxy.java

@@ -1,161 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui;
-
-import android.os.Bundle;
-import android.view.View;
-import android.view.ViewGroup;
-import androidx.activity.result.ActivityResult;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.fragment.app.FragmentActivity;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.bean.UserBean;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupMemberActivity;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.StartGroupMemberSelectActivity;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.GroupMemberGridAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.GroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupMemberPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberGridProxy {
-    private static final String TAG = "GroupMemberGridProxy";
-    private static final int COLUMN_NUM = 5;
-
-    private final GroupMemberPresenter groupMemberPresenter = new GroupMemberPresenter();
-
-    public void raiseExtension(View parentView, GroupProfileBean groupProfileBean) {
-        RecyclerView recyclerView = new RecyclerView(parentView.getContext());
-        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
-        recyclerView.setLayoutParams(layoutParams);
-        GridLayoutManager layoutManager = new GridLayoutManager(parentView.getContext(), COLUMN_NUM);
-        recyclerView.setLayoutManager(layoutManager);
-        recyclerView.setBackgroundResource(com.tencent.qcloud.tuikit.timcommon.R.color.white);
-
-        recyclerView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
-            @Override
-            public void onViewAttachedToWindow(View v) {
-                groupMemberPresenter.registerListener();
-            }
-
-            @Override
-            public void onViewDetachedFromWindow(View v) {
-                groupMemberPresenter.unregisterListener();
-            }
-        });
-
-        GroupMemberGridAdapter adapter = new GroupMemberGridAdapter();
-        adapter.setGroupProfileBean(groupProfileBean);
-        recyclerView.setAdapter(adapter);
-        ((ViewGroup) parentView).addView(recyclerView);
-        groupMemberPresenter.setGroupID(groupProfileBean.getGroupID());
-        groupMemberPresenter.setGroupMemberListener(new GroupMemberListener() {
-            @Override
-            public void onGroupMemberLoaded(List<GroupMemberInfo> groupMemberBeanList) {
-                if (!groupMemberBeanList.isEmpty()) {
-                    parentView.setVisibility(View.VISIBLE);
-                }
-                adapter.setGroupMembers(groupMemberBeanList);
-            }
-        });
-        adapter.setGroupMemberGridListener(groupMemberBean -> {
-            FragmentActivity activity = (FragmentActivity) parentView.getContext();
-            if (groupMemberBean == adapter.addItem) {
-                addGroupMember(activity, groupProfileBean);
-            } else if (groupMemberBean == adapter.removeItem) {
-                removeGroupMember(activity, groupProfileBean);
-            } else {
-                openDetails(groupMemberBean);
-            }
-        });
-
-        groupMemberPresenter.loadGroupMemberList();
-    }
-
-    private void addGroupMember(FragmentActivity activity, GroupProfileBean groupProfileBean) {
-        groupMemberPresenter.getFriendListInGroup(groupProfileBean.getGroupID(), new TUIValueCallback<List<UserBean>>() {
-            @Override
-            public void onSuccess(List<UserBean> userBeans) {
-                addGroupMember(activity, groupProfileBean.getGroupID(), userBeans);
-            }
-
-            @Override
-            public void onError(int errorCode, String errorMessage) {
-                TUIContactLog.e(TAG, "add group member error, errorCode: " + errorCode + ", errorMessage: " + errorMessage);
-                addGroupMember(activity, groupProfileBean.getGroupID(), null);
-            }
-        });
-    }
-
-    private void addGroupMember(ActivityResultCaller caller, String groupID, List<UserBean> friendsInGroup) {
-        Bundle param = new Bundle();
-        param.putString(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID, groupID);
-        param.putBoolean(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FRIENDS, true);
-        ArrayList<String> selectedList = new ArrayList<>();
-        if (friendsInGroup != null) {
-            for (UserBean userBean : friendsInGroup) {
-                selectedList.add(userBean.getUserId());
-            }
-        }
-        param.putStringArrayList(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECTED_LIST, selectedList);
-        TUICore.startActivityForResult(caller, StartGroupMemberSelectActivity.class, param, new ActivityResultCallback<ActivityResult>() {
-            @Override
-            public void onActivityResult(ActivityResult result) {
-                if (result != null && result.getData() != null) {
-                    List<String> friends = (List<String>) result.getData().getSerializableExtra(TUIContactConstants.Selection.LIST);
-                    groupMemberPresenter.inviteGroupMembers(groupID, friends);
-                }
-            }
-        });
-    }
-
-    private void removeGroupMember(FragmentActivity activity, GroupProfileBean groupProfileBean) {
-        Bundle param = new Bundle();
-        param.putString(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID, groupProfileBean.getGroupID());
-        param.putBoolean(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FOR_CALL, true);
-
-        TUICore.startActivityForResult(activity, StartGroupMemberSelectActivity.class, param, result -> {
-            if (result.getData() != null) {
-                List<String> groupMembers = (List<String>) result.getData().getSerializableExtra(TUIContactConstants.Selection.LIST);
-                groupMemberPresenter.removeGroupMembers(groupProfileBean.getGroupID(), groupMembers);
-            }
-        });
-    }
-
-    private void openDetails(GroupMemberInfo groupMemberBean) {
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, groupMemberBean.getUserId());
-        TUICore.startActivity("FriendProfileActivity", bundle);
-    }
-
-    public void transferGroupOwner(ActivityResultCaller caller, GroupProfileBean groupProfileBean) {
-        ArrayList<String> excludeList = new ArrayList<>();
-        excludeList.add(TUILogin.getLoginUser());
-        Bundle param = new Bundle();
-        param.putBoolean(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-        param.putString(TUIConstants.TUIContact.GROUP_ID, groupProfileBean.getGroupID());
-        param.putInt(TUIConstants.TUIContact.LIMIT, 1);
-        param.putStringArrayList(TUIConstants.TUIContact.EXCLUDE_LIST, excludeList);
-        param.putString(TUIConstants.TUIContact.TITLE, TUIContactService.getAppContext().getResources().getString(R.string.group_transfer_group_owner));
-
-        TUICore.startActivityForResult(caller, GroupMemberActivity.class, param, result -> {
-            if (result.getData() != null) {
-                List<String> selectedList = result.getData().getStringArrayListExtra(TUIContactConstants.Selection.LIST);
-                if (selectedList != null && !selectedList.isEmpty()) {
-                    String newOwnerId = selectedList.get(0);
-                    groupMemberPresenter.transferGroupOwner(groupProfileBean.getGroupID(), newOwnerId);
-                }
-            }
-        });
-    }
-}

+ 0 - 211
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/AddMoreActivity.java

@@ -1,211 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.Editable;
-import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IAddMoreActivity;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.AddMorePresenter;
-
-public class AddMoreActivity extends BaseLightActivity implements IAddMoreActivity {
-    private static final String TAG = AddMoreActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private EditText searchEdit;
-    private TextView idLabel;
-    private TextView notFoundTip;
-    private TextView searchBtn;
-    private View detailArea;
-
-    private ImageView faceImgView;
-    private TextView idTextView;
-    private TextView groupTypeView;
-    private TextView groupTypeTagView;
-    private TextView nickNameView;
-
-    private boolean mIsGroup;
-
-    private AddMorePresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_add_activity);
-        if (getIntent() != null) {
-            mIsGroup = getIntent().getExtras().getBoolean(TUIContactConstants.GroupType.GROUP);
-        }
-
-        presenter = new AddMorePresenter();
-
-        faceImgView = findViewById(R.id.friend_icon);
-        idTextView = findViewById(R.id.friend_account);
-        groupTypeView = findViewById(R.id.group_type);
-        nickNameView = findViewById(R.id.friend_nick_name);
-        groupTypeTagView = findViewById(R.id.group_type_tag);
-
-        mTitleBar = findViewById(R.id.add_friend_titlebar);
-        mTitleBar.setTitle(
-            mIsGroup ? getResources().getString(R.string.add_group) : getResources().getString(R.string.add_friend), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-
-        searchEdit = findViewById(R.id.search_edit);
-        if (mIsGroup) {
-            searchEdit.setHint(R.string.hint_search_group_id);
-        }
-
-        idLabel = findViewById(R.id.id_label);
-        notFoundTip = findViewById(R.id.not_found_tip);
-        searchBtn = findViewById(R.id.search_button);
-        detailArea = findViewById(R.id.friend_detail_area);
-        searchBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                notFoundTip.setVisibility(View.GONE);
-                String id = searchEdit.getText().toString();
-
-                if (mIsGroup) {
-                    presenter.getGroupInfo(id, new IUIKitCallback<GroupInfo>() {
-                        @Override
-                        public void onSuccess(GroupInfo data) {
-                            setGroupDetail(data);
-                            detailArea.setOnClickListener(new View.OnClickListener() {
-                                @Override
-                                public void onClick(View v) {
-                                    Intent intent = new Intent(AddMoreActivity.this, AddMoreDetailActivity.class);
-                                    intent.putExtra(TUIConstants.TUIContact.CONTENT, data);
-                                    startActivity(intent);
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            setNotFound(true);
-                        }
-                    });
-                    return;
-                }
-
-                presenter.getUserInfo(id, new TUIValueCallback<ContactItemBean>() {
-                    @Override
-                    public void onSuccess(ContactItemBean data) {
-                        setFriendDetail(data.getAvatarUrl(), data.getId(), data.getNickName());
-                        detailArea.setOnClickListener(new View.OnClickListener() {
-                            @Override
-                            public void onClick(View v) {
-                                if (data.isFriend()) {
-                                    ClassicUIUtils.showContactDetails(data.getId());
-                                } else {
-                                    Intent intent = new Intent(AddMoreActivity.this, AddMoreDetailActivity.class);
-                                    intent.putExtra(TUIConstants.TUIContact.CONTENT, data);
-                                    startActivity(intent);
-                                }
-                            }
-                        });
-                    }
-
-                    @Override
-                    public void onError(int errCode, String errMsg) {
-                        setNotFound(false);
-                    }
-                });
-            }
-        });
-
-        if (!mIsGroup) {
-            idLabel.setText(getString(R.string.contact_my_user_id, TUILogin.getLoginUser()));
-        }
-
-        searchEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
-            @Override
-            public void onFocusChange(View v, boolean hasFocus) {
-                if (hasFocus) {
-                    idLabel.setVisibility(View.GONE);
-                }
-            }
-        });
-
-        searchEdit.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
-
-            @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) {}
-
-            @Override
-            public void afterTextChanged(Editable s) {
-                if (TextUtils.isEmpty(searchEdit.getText())) {
-                    detailArea.setVisibility(View.GONE);
-                    notFoundTip.setVisibility(View.GONE);
-                }
-            }
-        });
-    }
-
-    private void setGroupDetail(GroupInfo groupInfo) {
-        int radius = getResources().getDimensionPixelSize(R.dimen.contact_profile_face_radius);
-        GlideEngine.loadUserIcon(faceImgView, groupInfo.getFaceUrl(), TUIUtil.getDefaultGroupIconResIDByGroupType(this, groupInfo.getGroupType()), radius);
-        idTextView.setText(groupInfo.getId());
-        nickNameView.setText(groupInfo.getGroupName());
-        groupTypeTagView.setVisibility(View.VISIBLE);
-        groupTypeView.setVisibility(View.VISIBLE);
-        groupTypeView.setText(groupInfo.getGroupType());
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    private void setFriendDetail(String faceUrl, String id, String nickName) {
-        int radius = getResources().getDimensionPixelSize(R.dimen.contact_profile_face_radius);
-        GlideEngine.loadUserIcon(faceImgView, faceUrl, radius);
-        idTextView.setText(id);
-        if (TextUtils.isEmpty(nickName)) {
-            nickNameView.setText(id);
-        } else {
-            nickNameView.setText(nickName);
-        }
-        groupTypeTagView.setVisibility(View.GONE);
-        groupTypeView.setVisibility(View.GONE);
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    private void setNotFound(boolean isGroup) {
-        detailArea.setVisibility(View.GONE);
-        if (isGroup) {
-            notFoundTip.setText(getString(R.string.contact_no_such_group));
-        } else {
-            notFoundTip.setText(getString(R.string.contact_no_such_user));
-        }
-        notFoundTip.setVisibility(View.VISIBLE);
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 167
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/AddMoreDetailActivity.java

@@ -1,167 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Pair;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.LineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.PopupInputCard;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.AddMorePresenter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.FriendProfilePresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-
-public class AddMoreDetailActivity extends BaseLightActivity {
-    private static final String TAG = "AddMoreDetailActivity";
-
-    private TitleBarLayout mTitleBar;
-    private ImageView mHeadImageView;
-    private TextView mNickNameView;
-    private TextView mIDView;
-    private TextView mSignatureView;
-    private TextView mSignatureTag;
-    private View remarksArea;
-    private LineControllerView addFriendRemarkLv;
-
-    private TextView addSendBtn;
-    private View verifyArea;
-    private EditText addWordingEditText;
-
-    private FriendProfilePresenter presenter = new FriendProfilePresenter();
-    private AddMorePresenter addMorePresenter = new AddMorePresenter();
-    private Object data;
-    private String userID;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_add_more_detail_activity);
-
-        mHeadImageView = findViewById(R.id.friend_icon);
-        mNickNameView = findViewById(R.id.friend_nick_name);
-        mIDView = findViewById(R.id.friend_account);
-        mSignatureView = findViewById(R.id.friend_signature);
-        mSignatureTag = findViewById(R.id.friend_signature_tag);
-        remarksArea = findViewById(R.id.remarks_area);
-        addSendBtn = findViewById(R.id.add_send_btn);
-
-        verifyArea = findViewById(R.id.verify_area);
-        addWordingEditText = findViewById(R.id.add_wording_edit);
-
-        addFriendRemarkLv = findViewById(R.id.friend_remark_lv);
-
-        mTitleBar = findViewById(R.id.add_more_detail_title_bar);
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-
-        Intent intent = getIntent();
-        data = intent.getSerializableExtra(TUIConstants.TUIContact.CONTENT);
-        userID = intent.getStringExtra(TUIConstants.TUIContact.USER_ID);
-        if (data instanceof GroupInfo) {
-            setGroupDetail((GroupInfo) data);
-            remarksArea.setVisibility(View.GONE);
-            mTitleBar.setTitle(getResources().getString(R.string.add_group), ITitleBarLayout.Position.MIDDLE);
-        } else if (data instanceof ContactItemBean) {
-            setFriendDetail((ContactItemBean) data);
-            mTitleBar.setTitle(getResources().getString(R.string.add_friend), ITitleBarLayout.Position.MIDDLE);
-        } else if (!TextUtils.isEmpty(userID)) {
-            mTitleBar.setTitle(getResources().getString(R.string.add_friend), ITitleBarLayout.Position.MIDDLE);
-            addMorePresenter.getUserInfo(userID, new TUIValueCallback<ContactItemBean>() {
-                @Override
-                public void onSuccess(ContactItemBean object) {
-                    setFriendDetail(object);
-                }
-
-                @Override
-                public void onError(int errorCode, String errorMessage) {
-                    TUIContactLog.e(TAG, "get user info failed, userId: " + data);
-                }
-            });
-        }
-
-        setOnClickListener();
-    }
-
-    private void setOnClickListener() {
-        addFriendRemarkLv.setOnClickListener(v -> {
-            PopupInputCard popupInputCard = new PopupInputCard(AddMoreDetailActivity.this);
-            popupInputCard.setContent(addFriendRemarkLv.getContent());
-            popupInputCard.setTitle(getResources().getString(R.string.contact_friend_remark));
-            popupInputCard.setOnPositive((result -> addFriendRemarkLv.setContent(result)));
-            popupInputCard.show(addFriendRemarkLv, Gravity.BOTTOM);
-        });
-
-        addSendBtn.setOnClickListener(v -> {
-            String addWording = addWordingEditText.getText().toString();
-            if (data instanceof GroupInfo) {
-                presenter.joinGroup(((GroupInfo) data).getId(), addWording, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        ToastUtil.toastShortMessage(getString(R.string.success));
-                        finish();
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage(getString(R.string.contact_add_failed) + " " + errMsg);
-                    }
-                });
-            } else if (data instanceof ContactItemBean || !TextUtils.isEmpty(userID)) {
-                String remark = addFriendRemarkLv.getContent();
-                String friendID = userID;
-                if (data instanceof ContactItemBean) {
-                    friendID = ((ContactItemBean) data).getId();
-                }
-                presenter.addFriend(friendID, addWording, remark, new IUIKitCallback<Pair<Integer, String>>() {
-                    @Override
-                    public void onSuccess(Pair<Integer, String> data) {
-                        ToastUtil.toastShortMessage(data.second);
-                        finish();
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage(getString(R.string.contact_add_failed));
-                    }
-                });
-            }
-        });
-    }
-
-    private void setGroupDetail(GroupInfo groupInfo) {
-        int radius = ScreenUtil.dip2px(35);
-        GlideEngine.loadUserIcon(mHeadImageView, groupInfo.getFaceUrl(), TUIUtil.getDefaultGroupIconResIDByGroupType(this, groupInfo.getGroupType()), radius);
-        mIDView.setText(groupInfo.getId());
-        mNickNameView.setText(groupInfo.getGroupName());
-        mSignatureTag.setText(getString(R.string.contact_group_type_tag));
-        mSignatureView.setText(groupInfo.getGroupType());
-    }
-
-    private void setFriendDetail(ContactItemBean bean) {
-        int radius = ScreenUtil.dip2px(35);
-        GlideEngine.loadUserIcon(mHeadImageView, bean.getAvatarUrl(), radius);
-        mIDView.setText(bean.getId());
-        mNickNameView.setText(bean.getDisplayName());
-        mSignatureView.setText(bean.getSignature());
-    }
-}

+ 0 - 71
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/BlackListActivity.java

@@ -1,71 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.ClassicUIExtensionObserver;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class BlackListActivity extends BaseLightActivity {
-    private TitleBarLayout mTitleBar;
-    private ContactListView mListView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_blacklist_activity);
-
-        init();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.black_list_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.blacklist), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-
-        mListView = findViewById(R.id.black_list);
-        mListView.setOnItemClickListener(new ContactListView.OnItemClickListener() {
-            @Override
-            public void onItemClick(int position, ContactItemBean contact) {
-                ClassicUIUtils.showContactDetails(contact.getId());
-            }
-        });
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        loadDataSource();
-    }
-
-    public void loadDataSource() {
-        presenter = new ContactPresenter();
-        mListView.setPresenter(presenter);
-        mListView.setNotFoundTip(getString(R.string.contact_no_block_list));
-        presenter.setContactListView(mListView);
-        presenter.setBlackListListener();
-        mListView.loadDataSource(ContactListView.DataSource.BLACK_LIST);
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 458
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/CreateGroupActivity.java

@@ -1,458 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.TextPaint;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
-import android.text.style.ClickableSpan;
-import android.text.style.ForegroundColorSpan;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.LineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.PopupInputCard;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.ImageSelectActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.ImageSelectMinimalistActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.dialog.TUIKitDialog;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.SynthesizedImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ImageUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ChatInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.ArrayList;
-import java.util.List;
-
-public class CreateGroupActivity extends BaseLightActivity implements View.OnClickListener {
-    private static final String TAG = CreateGroupActivity.class.getSimpleName();
-
-    private static final int CHOOSE_AVATAR_REQUEST_CODE = 1;
-    private static final int CHOOSE_GROUP_TYPE_REQUEST_CODE = 2;
-    private TitleBarLayout titleBarLayout;
-    private SynthesizedImageView groupAvatar;
-    private LineControllerView groupNameLv;
-    private LineControllerView groupIdLv;
-    private LineControllerView groupTypeLv;
-    private View groupAvatarLayout;
-    private TextView confirmButton;
-    private TextView groupTypeContentView;
-    private TextView groupTypeContentUrlView;
-
-    private String groupName;
-    private String groupId;
-    private String groupType = V2TIMManager.GROUP_TYPE_WORK;
-    private String groupAvatarUrl;
-    private List<Object> groupAvatarUrlList;
-    private int joinTypeIndex;
-    private String groupAvatarImageId = "";
-
-    private ArrayList<GroupMemberInfo> mGroupMembers = new ArrayList<>();
-    private boolean mCreating;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_create_group_layout);
-
-        titleBarLayout = findViewById(R.id.create_group_bar);
-        groupNameLv = findViewById(R.id.group_name_layout);
-        groupIdLv = findViewById(R.id.group_id_layout);
-        groupTypeLv = findViewById(R.id.group_type_layout);
-        groupAvatarLayout = findViewById(R.id.group_avatar_layout);
-        groupAvatar = findViewById(R.id.group_avatar);
-        confirmButton = findViewById(R.id.confirm_button);
-        groupTypeContentView = findViewById(R.id.group_type_text);
-        groupTypeContentUrlView = findViewById(R.id.group_type_text_url);
-
-        initData();
-        setupViews();
-    }
-
-    private void initData() {
-        Intent intent = getIntent();
-        if (intent == null) {
-            TUIContactLog.e(TAG, "intent is null");
-            return;
-        }
-        Bundle bundle = intent.getExtras();
-        if (bundle == null) {
-            TUIContactLog.e(TAG, "bundle is null");
-            return;
-        }
-
-        mGroupMembers = (ArrayList<GroupMemberInfo>) bundle.getSerializable(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST);
-
-        if (mGroupMembers == null || mGroupMembers.size() <= 1) {
-            TUIContactLog.e(TAG, "mGroupMemberIcons <= 1");
-        }
-
-        int num = mGroupMembers.size();
-        if (num > 9) {
-            num = 9;
-        }
-        for (int i = 0; i < num; i++) {
-            groupAvatarImageId += mGroupMembers.get(i).getUserId();
-        }
-
-        groupName = bundle.getString(TUIConstants.TUIContact.GROUP_NAME);
-        groupNameLv.setContent(groupName);
-
-        groupTypeLv.setContent(groupType);
-
-        if (TUIConfig.isEnableGroupGridAvatar()) {
-            groupAvatarUrlList = fillGroupGridAvatar();
-            groupAvatar.setImageId(groupAvatarImageId);
-            groupAvatar.displayImage(groupAvatarUrlList).load(groupAvatarImageId);
-            groupAvatarUrl = null;
-        }
-
-        joinTypeIndex = bundle.getInt(TUIConstants.TUIContact.JOIN_TYPE_INDEX, 2);
-    }
-
-    private void setupViews() {
-        titleBarLayout.getRightIcon().setVisibility(View.GONE);
-        titleBarLayout.setTitle(getString(R.string.create_group_chat), ITitleBarLayout.Position.MIDDLE);
-        titleBarLayout.setOnLeftClickListener(this);
-
-        int radius = getResources().getDimensionPixelSize(R.dimen.contact_profile_face_radius);
-        groupAvatar.setRadius(radius);
-        groupAvatar.setOnClickListener(this);
-        groupAvatarLayout.setOnClickListener(this);
-        groupNameLv.setOnClickListener(this);
-        groupIdLv.setOnClickListener(this);
-        groupTypeLv.setOnClickListener(this);
-        groupAvatarLayout.setOnClickListener(this);
-
-        confirmButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                createGroupChat();
-            }
-        });
-
-        presenter = new ContactPresenter();
-        initGroupTypeContentView();
-    }
-
-    private void initGroupTypeContentView() {
-        switch (groupType) {
-            case V2TIMManager.GROUP_TYPE_WORK:
-                groupTypeContentView.setText(getString(R.string.group_work_content));
-                break;
-            case V2TIMManager.GROUP_TYPE_PUBLIC:
-                groupTypeContentView.setText(getString(R.string.group_public_des));
-                break;
-            case V2TIMManager.GROUP_TYPE_MEETING:
-                groupTypeContentView.setText(getString(R.string.group_meeting_des));
-                break;
-            case V2TIMManager.GROUP_TYPE_COMMUNITY:
-                groupTypeContentView.setText(getString(R.string.group_commnity_des));
-                break;
-            default:
-                groupTypeContentView.setText(getString(R.string.group_work_content));
-                break;
-        }
-
-        String groupTypeContent = getResources().getString(R.string.group_type_content_title);
-        String urlContent = getResources().getString(R.string.group_type_content_url);
-        int urlContentIndex = groupTypeContent.lastIndexOf(urlContent);
-
-        final int foregroundColor;
-        int currentTheme = TUIThemeManager.getInstance().getCurrentTheme();
-        if (currentTheme == TUIThemeManager.THEME_LIVELY) {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_lively);
-        } else if (currentTheme == TUIThemeManager.THEME_SERIOUS) {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_serious);
-        } else {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_light);
-        }
-
-        SpannableString spannedString = new SpannableString(groupTypeContent);
-        ForegroundColorSpan colorSpan = new ForegroundColorSpan(foregroundColor);
-        spannedString.setSpan(colorSpan, urlContentIndex, urlContentIndex + urlContent.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        ClickableSpan clickableSpan = new ClickableSpan() {
-            @Override
-            public void onClick(View view) {
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    openWebUrl(TUIContactConstants.IM_PRODUCT_DOC_URL);
-                } else {
-                    openWebUrl(TUIContactConstants.IM_PRODUCT_DOC_URL_EN);
-                }
-            }
-
-            @Override
-            public void updateDrawState(TextPaint ds) {
-                ds.setUnderlineText(false);
-            }
-        };
-        spannedString.setSpan(clickableSpan, urlContentIndex, urlContentIndex + urlContent.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-        groupTypeContentUrlView.setText(spannedString);
-        groupTypeContentUrlView.setMovementMethod(LinkMovementMethod.getInstance());
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v == groupAvatar || v == groupAvatarLayout) {
-            ArrayList<ImageSelectActivity.ImageBean> faceList = new ArrayList<>();
-            if (TUIConfig.isEnableGroupGridAvatar()) {
-                ImageSelectActivity.ImageBean imageBean = new ImageSelectActivity.ImageBean();
-                imageBean.setGroupGridAvatar(fillGroupGridAvatar());
-                imageBean.setImageId(groupAvatarImageId);
-                faceList.add(imageBean);
-            }
-
-            for (int i = 0; i < TUIContactConstants.GROUP_FACE_COUNT; i++) {
-                ImageSelectActivity.ImageBean imageBean = new ImageSelectActivity.ImageBean();
-                imageBean.setThumbnailUri(String.format(TUIContactConstants.GROUP_FACE_URL, (i + 1) + ""));
-                faceList.add(imageBean);
-            }
-
-            Intent intent = new Intent(CreateGroupActivity.this, ImageSelectActivity.class);
-            intent.putExtra(ImageSelectActivity.TITLE, getString(R.string.group_choose_avatar));
-            intent.putExtra(ImageSelectActivity.SPAN_COUNT, 4);
-            intent.putExtra(ImageSelectActivity.PLACEHOLDER, com.tencent.qcloud.tuikit.timcommon.R.drawable.core_default_user_icon_light);
-            int itemWidth = (int) (ScreenUtil.getScreenWidth(this) * 0.2f);
-            intent.putExtra(ImageSelectMinimalistActivity.ITEM_WIDTH, itemWidth);
-            intent.putExtra(ImageSelectMinimalistActivity.ITEM_HEIGHT, itemWidth);
-            intent.putExtra(ImageSelectActivity.DATA, faceList);
-            intent.putExtra(ImageSelectActivity.SELECTED, faceList.get(0));
-            startActivityForResult(intent, CHOOSE_AVATAR_REQUEST_CODE);
-        } else if (v == groupNameLv) {
-            PopupInputCard popupInputCard = new PopupInputCard(this);
-            popupInputCard.setContent(groupNameLv.getContent().toString());
-            popupInputCard.setTitle(getResources().getString(R.string.modify_group_name));
-            popupInputCard.setMaxLimit(30);
-            popupInputCard.setOnPositive(new PopupInputCard.OnClickListener() {
-                @Override
-                public void onClick(String result) {
-                    if (!TextUtils.isEmpty(result)) {
-                        groupName = result;
-                        groupNameLv.setContent(groupName);
-
-                    } else {
-                        ToastUtil.toastLongMessage(getResources().getString(R.string.group_name_edit_null_tips));
-                    }
-                }
-            });
-            popupInputCard.setTextExceedListener(new PopupInputCard.OnTextExceedListener() {
-                @Override
-                public void onTextExceedMax() {
-                    ToastUtil.toastLongMessage(getResources().getString(R.string.group_name_edit_exceed_tips));
-                }
-            });
-            popupInputCard.show(groupNameLv, Gravity.BOTTOM);
-        } else if (v == groupIdLv) {
-            PopupInputCard popupInputCard = new PopupInputCard(this);
-            popupInputCard.setContent(groupIdLv.getContent().toString());
-            popupInputCard.setTitle(getResources().getString(R.string.modify_group_id));
-            popupInputCard.setMaxLimit(48);
-            popupInputCard.setOnPositive(new PopupInputCard.OnClickListener() {
-                @Override
-                public void onClick(String result) {
-                    if (TextUtils.equals(groupType, V2TIMManager.GROUP_TYPE_COMMUNITY)) {
-                        if (!TextUtils.isEmpty(result) && result.startsWith("@TGS#_") == false) {
-                            ToastUtil.toastLongMessage(getResources().getString(R.string.community_id_edit_format_tips));
-                            groupIdLv.setContent("");
-                            groupId = "";
-                            return;
-                        }
-                    } else {
-                        if (!TextUtils.isEmpty(result) && result.startsWith("@TGS#")) {
-                            ToastUtil.toastLongMessage(getResources().getString(R.string.group_id_edit_format_tips));
-                            groupIdLv.setContent("");
-                            groupId = "";
-                            return;
-                        }
-                    }
-
-                    groupIdLv.setContent(result);
-                    groupId = result;
-                }
-            });
-            popupInputCard.setTextExceedListener(new PopupInputCard.OnTextExceedListener() {
-                @Override
-                public void onTextExceedMax() {
-                    ToastUtil.toastLongMessage(getResources().getString(R.string.group_id_edit_exceed_tips));
-                }
-            });
-            popupInputCard.show(groupIdLv, Gravity.BOTTOM);
-        } else if (v == groupTypeLv) {
-            Intent intent = new Intent(this, GroupTypeSelectActivity.class);
-            startActivityForResult(intent, CHOOSE_GROUP_TYPE_REQUEST_CODE);
-        } else if (v == titleBarLayout.getLeftGroup()) {
-            finish();
-        }
-    }
-
-    private List<Object> fillGroupGridAvatar() {
-        final List<Object> urlList = new ArrayList<>();
-        String savedIcon = ImageUtil.getGroupConversationAvatar(groupAvatarImageId);
-        if (TextUtils.isEmpty(savedIcon)) {
-            int faceSize = Math.min(mGroupMembers.size(), 9);
-            for (int i = 0; i < faceSize; i++) {
-                String iconUrl = mGroupMembers.get(i).getFaceUrl();
-                urlList.add(TextUtils.isEmpty(iconUrl) ? TUIConfig.getDefaultAvatarImage() : iconUrl);
-            }
-        } else {
-            urlList.add(savedIcon);
-        }
-
-        return urlList;
-    }
-
-    private void createGroupChat() {
-        if (mCreating) {
-            return;
-        }
-
-        final GroupInfo groupInfo = new GroupInfo();
-        groupInfo.setChatName(groupName);
-        groupInfo.setGroupName(groupName);
-        groupInfo.setMemberDetails(mGroupMembers);
-        groupInfo.setGroupType(groupType);
-        groupInfo.setJoinType(joinTypeIndex);
-        groupInfo.setCommunitySupportTopic(false);
-        groupInfo.setFaceUrl(groupAvatarUrl);
-        groupInfo.setId(groupId);
-
-        mCreating = true;
-
-        presenter.createGroupChat(groupInfo, new IUIKitCallback<String>() {
-            @Override
-            public void onSuccess(String data) {
-                ClassicUIUtils.startChatActivity(data, ChatInfo.TYPE_GROUP, groupInfo.getGroupName(), groupInfo.getGroupType());
-                finish();
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                mCreating = false;
-                if (errCode == TUIConstants.BuyingFeature.ERR_SDK_INTERFACE_NOT_SUPPORT || errCode == 11000) {
-                    showNotSupportDialog();
-                }
-                ToastUtil.toastLongMessage("createGroupChat fail:" + errCode + "=" + errMsg);
-            }
-        });
-    }
-
-    private void showNotSupportDialog() {
-        String string = getResources().getString(R.string.contact_im_flagship_edition_update_tip, getString(R.string.contact_community));
-        String buyingGuidelines = getResources().getString(R.string.contact_buying_guidelines);
-        int buyingGuidelinesIndex = string.lastIndexOf(buyingGuidelines);
-        final int foregroundColor = getResources().getColor(TUIThemeManager.getAttrResId(this, com.tencent.qcloud.tuicore.R.attr.core_primary_color));
-        SpannableString spannedString = new SpannableString(string);
-        ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(foregroundColor);
-        spannedString.setSpan(colorSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        ClickableSpan clickableSpan2 = new ClickableSpan() {
-            @Override
-            public void onClick(View view) {
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC);
-                } else {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC_EN);
-                }
-            }
-
-            @Override
-            public void updateDrawState(TextPaint ds) {
-                ds.setUnderlineText(false);
-            }
-        };
-        spannedString.setSpan(clickableSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        TUIKitDialog.TUIIMUpdateDialog.getInstance()
-            .createDialog(this)
-            .setMovementMethod(LinkMovementMethod.getInstance())
-            .setShowOnlyDebug(true)
-            .setCancelable(true)
-            .setCancelOutside(true)
-            .setTitle(spannedString)
-            .setDialogWidth(0.75f)
-            .setDialogFeatureName(TUIConstants.BuyingFeature.BUYING_FEATURE_COMMUNITY)
-            .setPositiveButton(getString(R.string.contact_no_more_reminders),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().setNeverShow(true);
-                    }
-                })
-            .setNegativeButton(getString(R.string.contact_i_know),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                    }
-                })
-            .show();
-    }
-
-    private void openWebUrl(String url) {
-        Intent intent = new Intent();
-        intent.setAction(Intent.ACTION_VIEW);
-        Uri contentUrl = Uri.parse(url);
-        intent.setData(contentUrl);
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        startActivity(intent);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == CHOOSE_AVATAR_REQUEST_CODE && resultCode == ImageSelectActivity.RESULT_CODE_SUCCESS) {
-            if (data != null) {
-                ImageSelectActivity.ImageBean imageBean = (ImageSelectActivity.ImageBean) data.getSerializableExtra(ImageSelectActivity.DATA);
-                if (imageBean == null) {
-                    return;
-                }
-
-                List<Object> faceUrl = imageBean.getGroupGridAvatar();
-                if (faceUrl != null && !faceUrl.isEmpty()) {
-                    groupAvatar.setImageId(groupAvatarImageId);
-                    groupAvatar.displayImage(faceUrl).load(groupAvatarImageId);
-                    groupAvatarUrlList = faceUrl;
-                    groupAvatarUrl = null;
-                } else {
-                    groupAvatarUrl = imageBean.getThumbnailUri();
-                    GlideEngine.loadImage(groupAvatar, groupAvatarUrl);
-                }
-            }
-        } else if (requestCode == CHOOSE_GROUP_TYPE_REQUEST_CODE) {
-            if (data != null) {
-                String type = data.getStringExtra(TUIContactConstants.Selection.TYPE);
-                if (TextUtils.isEmpty(type)) {
-                    TUIContactLog.e(TAG, "onActivityResult type is null");
-                    return;
-                }
-
-                groupType = type;
-                groupTypeLv.setContent(type);
-                initGroupTypeContentView();
-            }
-        }
-    }
-}

+ 0 - 241
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/ForwardSelectGroupActivity.java

@@ -1,241 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.LineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.SelectionActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ForwardContactSelectorAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.ContactUtils;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-public class ForwardSelectGroupActivity extends BaseLightActivity {
-    private static final String TAG = ForwardSelectGroupActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mContactListView;
-    private LineControllerView mJoinType;
-    private ArrayList<GroupMemberInfo> mMembers = new ArrayList<>();
-    private int mJoinTypeIndex = 2;
-    private ArrayList<String> mJoinTypes = new ArrayList<>();
-    private boolean mCreating;
-    private boolean isCreateNewChat = true;
-
-    private RecyclerView mForwardSelectlistView;
-    private ForwardContactSelectorAdapter mAdapter;
-    private List<String> mSelectConversationIcons = new ArrayList<>();
-    private RelativeLayout mForwardSelectlistViewLayout;
-    private TextView mSureView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_forward_select_group_contact);
-
-        init();
-    }
-
-    private void init() {
-        Intent intent = getIntent();
-        if (intent != null) {
-            isCreateNewChat = intent.getBooleanExtra(TUIContactConstants.FORWARD_CREATE_NEW_CHAT, false);
-        }
-
-        mTitleBar = findViewById(R.id.group_create_title_bar);
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        mJoinType = findViewById(R.id.group_type_join);
-        mJoinType.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                showJoinTypePickerView();
-            }
-        });
-        mJoinType.setCanNav(true);
-        mJoinType.setContent("Public");
-        mJoinType.setVisibility(View.GONE);
-
-        mContactListView = findViewById(R.id.group_create_member_list);
-
-        presenter = new ContactPresenter();
-        mContactListView.setPresenter(presenter);
-        presenter.setFriendListListener();
-        presenter.setContactListView(mContactListView);
-
-        mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    GroupMemberInfo memberInfo = new GroupMemberInfo();
-                    memberInfo.setUserId(contact.getId());
-                    memberInfo.setFaceUrl(contact.getAvatarUrl());
-                    mMembers.add(memberInfo);
-                } else {
-                    for (int i = mMembers.size() - 1; i >= 0; i--) {
-                        if (mMembers.get(i).getUserId().equals(contact.getId())) {
-                            mMembers.remove(i);
-                        }
-                    }
-                }
-                refreshSelectConversations();
-            }
-        });
-
-        setGroupType(TUIContactConstants.GroupType.PUBLIC);
-
-        mForwardSelectlistViewLayout = findViewById(R.id.forward_contact_select_list_layout);
-        mForwardSelectlistViewLayout.setVisibility(View.VISIBLE);
-        mForwardSelectlistView = findViewById(R.id.forward_contact_select_list);
-        mForwardSelectlistView.setLayoutManager(new CustomLinearLayoutManager(this, CustomLinearLayoutManager.HORIZONTAL, false));
-        mAdapter = new ForwardContactSelectorAdapter(this);
-        mForwardSelectlistView.setAdapter(mAdapter);
-
-        mSureView = findViewById(R.id.btn_msg_ok);
-        mSureView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (isCreateNewChat) {
-                    createGroupChat();
-                } else {
-                    Intent intent = new Intent();
-                    HashMap<String, String> conversationMap = new HashMap<>();
-                    if (mMembers != null && mMembers.size() != 0) {
-                        for (int i = 0; i < mMembers.size(); i++) {
-                            conversationMap.put(mMembers.get(i).getUserId(), mMembers.get(i).getFaceUrl());
-                        }
-                    }
-
-                    intent.putExtra(TUIContactConstants.FORWARD_SELECT_CONVERSATION_KEY, conversationMap);
-                    setResult(TUIContactConstants.FORWARD_SELECT_MEMBERS_CODE, intent);
-
-                    finish();
-                }
-            }
-        });
-
-        refreshSelectConversations();
-    }
-
-    private void refreshSelectConversations() {
-        mSelectConversationIcons.clear();
-        if (mMembers != null && mMembers.size() != 0) {
-            for (int i = 0; i < mMembers.size(); i++) {
-                mSelectConversationIcons.add(mMembers.get(i).getFaceUrl());
-            }
-        }
-        mAdapter.setDataSource(mSelectConversationIcons);
-
-        if (mSelectConversationIcons == null || mSelectConversationIcons.size() == 0) {
-            mSureView.setText(getString(com.tencent.qcloud.tuicore.R.string.sure));
-            mSureView.setVisibility(View.GONE);
-            mForwardSelectlistViewLayout.setVisibility(View.GONE);
-        } else {
-            mForwardSelectlistViewLayout.setVisibility(View.VISIBLE);
-            mSureView.setVisibility(View.VISIBLE);
-            mSureView.setText(getString(com.tencent.qcloud.tuicore.R.string.sure) + "(" + mSelectConversationIcons.size() + ")");
-        }
-    }
-
-    public void setGroupType(int type) {
-        mTitleBar.setTitle(getResources().getString(R.string.contact_title), ITitleBarLayout.Position.MIDDLE);
-        mJoinType.setVisibility(View.GONE);
-    }
-
-    private void showJoinTypePickerView() {
-        Bundle bundle = new Bundle();
-        bundle.putString(SelectionActivity.Selection.TITLE, getResources().getString(R.string.group_join_type));
-        bundle.putStringArrayList(SelectionActivity.Selection.LIST, mJoinTypes);
-        bundle.putInt(SelectionActivity.Selection.DEFAULT_SELECT_ITEM_INDEX, mJoinTypeIndex);
-        SelectionActivity.startListSelection(this, bundle, new SelectionActivity.OnResultReturnListener() {
-            @Override
-            public void onReturn(Object text) {
-                mJoinType.setContent(mJoinTypes.get((Integer) text));
-                mJoinTypeIndex = (Integer) text;
-            }
-        });
-    }
-
-    private void createGroupChat() {
-        if (mCreating || mMembers.isEmpty()) {
-            return;
-        }
-
-        if (mMembers.size() == 1) {
-            Intent intent = new Intent();
-            HashMap<String, Boolean> conversationMap = new HashMap<>();
-            conversationMap.put(mMembers.get(0).getUserId(), false);
-            intent.putExtra(TUIContactConstants.FORWARD_SELECT_CONVERSATION_KEY, conversationMap);
-            setResult(TUIContactConstants.FORWARD_CREATE_GROUP_CODE, intent);
-
-            finish();
-            return;
-        }
-        GroupMemberInfo memberInfo = new GroupMemberInfo();
-        memberInfo.setUserId(ContactUtils.getLoginUser());
-        mMembers.add(memberInfo);
-
-        final GroupInfo groupInfo = new GroupInfo();
-        String groupName = ContactUtils.getLoginUser();
-        for (int i = 1; i < mMembers.size(); i++) {
-            groupName = groupName + "、" + mMembers.get(i).getUserId();
-        }
-        if (groupName.length() > 20) {
-            groupName = groupName.substring(0, 17) + "...";
-        }
-        groupInfo.setChatName(groupName);
-        groupInfo.setGroupName(groupName);
-        groupInfo.setMemberDetails(mMembers);
-        groupInfo.setGroupType(TUIContactConstants.GroupType.TYPE_PUBLIC);
-        groupInfo.setJoinType(0);
-
-        mCreating = true;
-
-        presenter.createGroupChat(groupInfo, new IUIKitCallback<String>() {
-            @Override
-            public void onSuccess(String data) {
-                Intent intent = new Intent();
-                HashMap<String, Boolean> conversationMap = new HashMap<>();
-                conversationMap.put(data, true);
-
-                intent.putExtra(TUIContactConstants.FORWARD_SELECT_CONVERSATION_KEY, conversationMap);
-                setResult(TUIContactConstants.FORWARD_CREATE_GROUP_CODE, intent);
-
-                finish();
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                mCreating = false;
-                ToastUtil.toastLongMessage("createGroupChat fail:" + errCode + "=" + errMsg);
-            }
-        });
-    }
-}

+ 0 - 127
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupApplyDetailActivity.java

@@ -1,127 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupApplyLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-public class GroupApplyDetailActivity extends BaseLightActivity implements IGroupApplyLayout {
-
-    private TitleBarLayout mTitleBar;
-    private GroupApplyPresenter presenter;
-    private ShadeImageView avatarView;
-    private TextView userNameTv;
-    private TextView userIDTv;
-    private TextView addWordingTv;
-    private TextView agreeButton;
-    private TextView rejectButton;
-    private TextView resultButton;
-    private GroupApplyInfo groupApplyInfo;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_new_group_apply_detail_activity);
-        Intent intent = getIntent();
-        if (intent != null) {
-            groupApplyInfo = (GroupApplyInfo) intent.getSerializableExtra(TUIContactConstants.Group.MEMBER_APPLY);
-            presenter = new GroupApplyPresenter(this);
-            init();
-        }
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.new_apply_detail_title_bar);
-        mTitleBar.setTitle(getResources().getString(R.string.group_group_application_detail_title), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        avatarView = findViewById(R.id.avatar);
-        avatarView.setRadius(ScreenUtil.dip2px(4));
-        GlideEngine.loadImage(avatarView, groupApplyInfo.getFromUserFaceUrl());
-
-        userNameTv = findViewById(R.id.user_name);
-        if (TextUtils.isEmpty(groupApplyInfo.getFromUserNickName())) {
-            userNameTv.setText(groupApplyInfo.getFromUserID());
-        } else {
-            userNameTv.setText(groupApplyInfo.getFromUserNickName());
-        }
-        userIDTv = findViewById(R.id.user_id);
-        userIDTv.setText(groupApplyInfo.getFromUserID());
-
-        addWordingTv = findViewById(R.id.validation_message);
-        addWordingTv.setText(groupApplyInfo.getAddWording());
-
-        agreeButton = findViewById(R.id.agree);
-        rejectButton = findViewById(R.id.reject);
-        resultButton = findViewById(R.id.result_tv);
-
-        agreeButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.acceptApply(groupApplyInfo, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                        groupApplyInfo.setStatus(GroupApplyInfo.APPLIED);
-
-                        Intent intent = new Intent();
-                        intent.putExtra(TUIContactConstants.Group.MEMBER_APPLY, groupApplyInfo);
-                        setResult(RESULT_OK, intent);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-
-        rejectButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.refuseApply(groupApplyInfo, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                        resultButton.setText(getResources().getString(R.string.refused));
-                        resultButton.setTextColor(getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_error_tip_color_light));
-                        groupApplyInfo.setStatus(GroupApplyInfo.REFUSED);
-                        Intent intent = new Intent();
-                        intent.putExtra(TUIContactConstants.Group.MEMBER_APPLY, groupApplyInfo);
-                        setResult(RESULT_OK, intent);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-    }
-}

+ 0 - 40
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupApplyManagerActivity.java

@@ -1,40 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.os.Bundle;
-
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.GroupApplyManagerLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-public class GroupApplyManagerActivity extends BaseLightActivity {
-    private GroupApplyManagerLayout mManagerLayout;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_apply_manager_activity);
-        if (getIntent().getExtras() == null) {
-            finish();
-            return;
-        }
-        mManagerLayout = findViewById(R.id.group_apply_manager_layout);
-
-        GroupApplyPresenter presenter = new GroupApplyPresenter(mManagerLayout);
-        mManagerLayout.setPresenter(presenter);
-
-        String groupId = getIntent().getExtras().getString(TUIContactConstants.Group.GROUP_ID);
-        GroupInfo groupInfo = new GroupInfo();
-        groupInfo.setId(groupId);
-        mManagerLayout.setDataSource(groupInfo);
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-    }
-}

+ 0 - 89
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupListActivity.java

@@ -1,89 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class GroupListActivity extends BaseLightActivity {
-    private static final String TAG = GroupListActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mListView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_group_list_activity);
-
-        init();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        loadDataSource();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.group_list_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.group), ITitleBarLayout.Position.LEFT);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.setTitle(getResources().getString(R.string.add_group), ITitleBarLayout.Position.RIGHT);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnRightClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent(GroupListActivity.this, AddMoreActivity.class);
-                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                intent.putExtra("isGroup", true);
-                startActivity(intent);
-            }
-        });
-
-        mListView = findViewById(R.id.group_list);
-        mListView.setOnItemClickListener(new ContactListView.OnItemClickListener() {
-            @Override
-            public void onItemClick(int position, ContactItemBean contact) {
-                String chatName = contact.getId();
-                if (!TextUtils.isEmpty(contact.getRemark())) {
-                    chatName = contact.getRemark();
-                } else if (!TextUtils.isEmpty(contact.getNickName())) {
-                    chatName = contact.getNickName();
-                }
-                ClassicUIUtils.startChatActivity(contact.getId(), ContactItemBean.TYPE_GROUP, chatName, contact.getGroupType());
-            }
-        });
-    }
-
-    public void loadDataSource() {
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mListView.setIsGroupList(true);
-        mListView.setPresenter(presenter);
-        mListView.setNotFoundTip(getString(R.string.contact_no_group));
-        presenter.setContactListView(mListView);
-        mListView.loadDataSource(ContactListView.DataSource.GROUP_LIST);
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 197
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupMemberActivity.java

@@ -1,197 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.activity.result.ActivityResult;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.bean.UserBean;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.GroupMemberLayout;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class GroupMemberActivity extends BaseLightActivity {
-    private static final String TAG = "GroupMemberActivity";
-    private GroupMemberLayout mMemberLayout;
-    private String groupID;
-    private GroupInfoPresenter presenter;
-
-    private boolean isSelectMode = false;
-    private ArrayList<String> excludeList;
-    private ArrayList<String> alreadySelectedList;
-    private String userData;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_members_list);
-        mMemberLayout = findViewById(R.id.group_member_grid_layout);
-        init();
-    }
-
-    private void init() {
-        Intent intent = getIntent();
-        groupID = intent.getStringExtra(TUIConstants.TUIContact.GROUP_ID);
-        isSelectMode = intent.getBooleanExtra(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-        excludeList = intent.getStringArrayListExtra(TUIConstants.TUIContact.EXCLUDE_LIST);
-        alreadySelectedList = intent.getStringArrayListExtra(TUIConstants.TUIContact.SELECTED_LIST);
-        userData = intent.getStringExtra(TUIConstants.TUIContact.USER_DATA);
-        mMemberLayout.setSelectMode(isSelectMode);
-        String title = intent.getStringExtra(TUIConstants.TUIContact.TITLE);
-        mMemberLayout.setTitle(title);
-        mMemberLayout.setExcludeList(excludeList);
-        mMemberLayout.setAlreadySelectedList(alreadySelectedList);
-        presenter = new GroupInfoPresenter(mMemberLayout);
-        mMemberLayout.setPresenter(presenter);
-        int filter = intent.getIntExtra(TUIConstants.TUIContact.FILTER, GroupInfo.GROUP_MEMBER_FILTER_ALL);
-        presenter.loadGroupInfo(groupID, filter);
-
-        mMemberLayout.getTitleBar().setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        int limit = getIntent().getIntExtra(TUIConstants.TUIContact.LIMIT, Integer.MAX_VALUE);
-
-        mMemberLayout.setGroupMemberListener(new IGroupMemberListener() {
-            @Override
-            public void setSelectedMember(ArrayList<String> members) {
-                if (members == null || members.isEmpty()) {
-                    return;
-                }
-                if (members.size() > limit) {
-                    String overLimitTip = getString(R.string.group_over_limit_tip, limit);
-                    ToastUtil.toastShortMessage(overLimitTip);
-                    return;
-                }
-                Intent result = new Intent();
-                result.putStringArrayListExtra(TUIConstants.TUIContact.LIST, members);
-                setResult(0, result);
-
-                Map<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.LIST, members);
-                param.put(TUIConstants.TUIContact.USER_DATA, userData);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_GROUP_MEMBER_SELECTED, param);
-
-                finish();
-            }
-
-            @Override
-            public void forwardAddMember(GroupInfo info) {
-                presenter.getFriendListInGroup(info.getId(), new TUIValueCallback<List<UserBean>>() {
-                    @Override
-                    public void onSuccess(List<UserBean> userBeans) {
-                        addGroupMember(info.getId(), userBeans);
-                    }
-
-                    @Override
-                    public void onError(int errorCode, String errorMessage) {
-                        TUIContactLog.e(TAG, "add group member error, errorCode: " + errorCode + ", errorMessage: " + errorMessage);
-                        addGroupMember(info.getId(), null);
-                    }
-                });
-            }
-
-            @Override
-            public void forwardDeleteMember(GroupInfo info) {
-                deleteGroupMember(info.getId());
-            }
-        });
-    }
-
-    private void deleteGroupMember(String groupID) {
-        Bundle param = new Bundle();
-        param.putString(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID, groupID);
-        param.putBoolean(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FOR_CALL, true);
-        TUICore.startActivityForResult(GroupMemberActivity.this, "StartGroupMemberSelectActivity", param, new ActivityResultCallback<ActivityResult>() {
-            @Override
-            public void onActivityResult(ActivityResult result) {
-                if (result != null && result.getData() != null) {
-                    List<String> friends = (List<String>) result.getData().getSerializableExtra(TUIContactConstants.Selection.LIST);
-                    deleteGroupMembers(friends);
-                }
-            }
-        });
-    }
-
-    private void addGroupMember(String groupID, List<UserBean> friendsInGroup) {
-        Bundle param = new Bundle();
-        param.putString(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID, groupID);
-        param.putBoolean(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FRIENDS, true);
-        ArrayList<String> selectedList = new ArrayList<>();
-        if (friendsInGroup != null) {
-            for (UserBean userBean : friendsInGroup) {
-                selectedList.add(userBean.getUserId());
-            }
-        }
-        param.putStringArrayList(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECTED_LIST, selectedList);
-        TUICore.startActivityForResult(GroupMemberActivity.this, "StartGroupMemberSelectActivity", param, new ActivityResultCallback<ActivityResult>() {
-            @Override
-            public void onActivityResult(ActivityResult result) {
-                if (result != null && result.getData() != null) {
-                    List<String> friends = (List<String>) result.getData().getSerializableExtra(TUIContactConstants.Selection.LIST);
-                    inviteGroupMembers(friends);
-                }
-            }
-        });
-    }
-
-
-    private void deleteGroupMembers(List<String> friends) {
-        if (friends != null && !friends.isEmpty()) {
-            if (presenter != null) {
-                presenter.deleteGroupMembers(groupID, friends, new IUIKitCallback<List<String>>() {
-                    @Override
-                    public void onSuccess(List<String> data) {
-                        presenter.loadGroupInfo(groupID);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {}
-                });
-            }
-        }
-    }
-
-    private void inviteGroupMembers(List<String> friends) {
-        if (friends != null && !friends.isEmpty()) {
-            if (presenter != null) {
-                presenter.inviteGroupMembers(groupID, friends, new IUIKitCallback<Object>() {
-                    @Override
-                    public void onSuccess(Object data) {
-                        if (data instanceof String) {
-                            ToastUtil.toastLongMessage(data.toString());
-                        } else {
-                            ToastUtil.toastLongMessage(TUIContactService.getAppContext().getString(R.string.invite_suc));
-                        }
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastLongMessage(TUIContactService.getAppContext().getString(R.string.invite_fail) + errCode + "=" + errMsg);
-                    }
-                });
-            }
-        }
-    }
-}

+ 0 - 162
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/GroupTypeSelectActivity.java

@@ -1,162 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class GroupTypeSelectActivity extends BaseLightActivity implements View.OnClickListener {
-    private static final String TAG = GroupTypeSelectActivity.class.getSimpleName();
-
-    private RecyclerView mRecyclerView;
-    private RecyclerView.LayoutManager mLayoutManager;
-    private RecyclerView.Adapter mAdapter;
-    private List<String> mDatas = new ArrayList<>();
-    private TitleBarLayout titleBarLayout;
-    private TextView viewProductBtn;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_group_type_select_layout);
-
-        initData();
-        initView();
-    }
-
-    private void initView() {
-        mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
-        mAdapter = new MyAdapter(mDatas);
-        mRecyclerView = findViewById(R.id.recycler);
-        mRecyclerView.setLayoutManager(mLayoutManager);
-        mRecyclerView.setAdapter(mAdapter);
-        titleBarLayout = findViewById(R.id.create_group_bar);
-        titleBarLayout.getRightIcon().setVisibility(View.GONE);
-        titleBarLayout.setTitle(getString(R.string.group_type_select_text), ITitleBarLayout.Position.MIDDLE);
-        titleBarLayout.setOnLeftClickListener(this);
-        viewProductBtn = findViewById(R.id.view_product_doc_btn);
-        viewProductBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                String url = "";
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    url = TUIContactConstants.IM_PRODUCT_DOC_URL;
-                } else {
-                    url = TUIContactConstants.IM_PRODUCT_DOC_URL_EN;
-                }
-                Intent intent = new Intent();
-                intent.setAction(Intent.ACTION_VIEW);
-                Uri contentUrl = Uri.parse(url);
-                intent.setData(contentUrl);
-                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                startActivity(intent);
-            }
-        });
-    }
-
-    private void initData() {
-        String[] array = getResources().getStringArray(R.array.group_type);
-        mDatas.addAll(Arrays.asList(array));
-    }
-
-    @Override
-    public void onClick(View view) {
-        if (view == titleBarLayout.getLeftGroup()) {
-            finish();
-        }
-    }
-
-    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
-        private List<String> mDatas;
-
-        public MyAdapter(List<String> datas) {
-            this.mDatas = datas;
-        }
-
-        @Override
-        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_group_type_item, parent, false);
-            ViewHolder viewHolder = new ViewHolder(v);
-            return viewHolder;
-        }
-
-        @Override
-        public void onBindViewHolder(ViewHolder holder, int position) {
-            String type = this.mDatas.get(position);
-            holder.imageView.setImageResource(TUIUtil.getDefaultGroupIconResIDByGroupType(getApplicationContext(), type));
-            switch (type) {
-                case V2TIMManager.GROUP_TYPE_WORK:
-                    holder.textView.setText(getString(R.string.group_work_type));
-                    holder.subTextView.setText(getString(R.string.group_work_content));
-                    break;
-                case V2TIMManager.GROUP_TYPE_PUBLIC:
-                    holder.textView.setText(getString(R.string.group_public_type));
-                    holder.subTextView.setText(getString(R.string.group_public_des));
-                    break;
-                case V2TIMManager.GROUP_TYPE_MEETING:
-                    holder.textView.setText(getString(R.string.group_meeting_type));
-                    holder.subTextView.setText(getString(R.string.group_meeting_des));
-                    break;
-                case V2TIMManager.GROUP_TYPE_COMMUNITY:
-                    holder.textView.setText(getString(R.string.group_commnity_type));
-                    holder.subTextView.setText(getString(R.string.group_commnity_des));
-                    break;
-                default:
-                    holder.textView.setText(getString(R.string.group_work_type));
-                    holder.subTextView.setText(getString(R.string.group_work_content));
-                    break;
-            }
-
-            holder.rootView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    Intent intent = new Intent();
-                    intent.putExtra(TUIContactConstants.Selection.TYPE, type);
-                    setResult(0, intent);
-                    finish();
-                }
-            });
-        }
-
-        @Override
-        public int getItemCount() {
-            return this.mDatas == null ? 0 : this.mDatas.size();
-        }
-
-        public class ViewHolder extends RecyclerView.ViewHolder {
-            View rootView;
-            RelativeLayout itemLayout;
-            ImageView imageView;
-            TextView textView;
-            TextView subTextView;
-
-            public ViewHolder(View itemView) {
-                super(itemView);
-                rootView = itemView;
-                itemLayout = itemView.findViewById(R.id.item_layout);
-                imageView = itemView.findViewById(R.id.group_type_icon);
-                textView = itemView.findViewById(R.id.group_type_text);
-                subTextView = itemView.findViewById(R.id.group_type_content);
-            }
-        }
-    }
-}

+ 0 - 300
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/ManageGroupActivity.java

@@ -1,300 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import static com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants.GROUP_PROFILE_BEAN;
-
-import android.content.Intent;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.CompoundButton;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.LineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupManagerPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ManageGroupActivity extends BaseLightActivity {
-    private TitleBarLayout titleBarLayout;
-    private LineControllerView setManagerView;
-    private LineControllerView muteAllView;
-    private View addMuteMemberView;
-    private RecyclerView mutedList;
-    private MutedMemberAdapter mutedMemberAdapter;
-
-    private GroupManagerPresenter presenter;
-    private GroupProfileBean groupProfileBean;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_group_manager);
-        presenter = new GroupManagerPresenter();
-        titleBarLayout = findViewById(R.id.group_manage_title_bar);
-        setManagerView = findViewById(R.id.group_manage_set_manager);
-        muteAllView = findViewById(R.id.group_manage_mute_all);
-        addMuteMemberView = findViewById(R.id.group_manage_add_mute_member);
-        mutedList = findViewById(R.id.group_manage_muted_member_list);
-        mutedList.setLayoutManager(new CustomLinearLayoutManager(this));
-        mutedMemberAdapter = new MutedMemberAdapter();
-        mutedList.setAdapter(mutedMemberAdapter);
-
-        Intent intent = getIntent();
-        groupProfileBean = (GroupProfileBean) intent.getSerializableExtra(GROUP_PROFILE_BEAN);
-        //
-        muteAllView.setChecked(groupProfileBean.isAllMuted());
-        if (groupProfileBean.isAllMuted()) {
-            addMuteMemberView.setVisibility(View.GONE);
-            mutedList.setVisibility(View.GONE);
-        }
-        titleBarLayout.setTitle(getString(R.string.group_manager), ITitleBarLayout.Position.MIDDLE);
-        setClickListener();
-        loadMutedMember();
-    }
-
-    private void setClickListener() {
-        titleBarLayout.getLeftIcon().setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        muteAllView.setCheckListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                presenter.muteAll(groupProfileBean.getGroupID(), isChecked, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        if (isChecked) {
-                            addMuteMemberView.setVisibility(View.GONE);
-                            mutedList.setVisibility(View.GONE);
-                        } else {
-                            addMuteMemberView.setVisibility(View.VISIBLE);
-                            mutedList.setVisibility(View.VISIBLE);
-                        }
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                    }
-                });
-            }
-        });
-
-        setManagerView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (TextUtils.equals(groupProfileBean.getGroupType(), GroupInfo.GROUP_TYPE_AVCHATROOM)
-                    || TextUtils.equals(groupProfileBean.getGroupType(), GroupInfo.GROUP_TYPE_WORK)) {
-                    ToastUtil.toastShortMessage(getString(R.string.group_not_support_set_manager));
-                    return;
-                }
-                Intent intent = new Intent(ManageGroupActivity.this, SetGroupManagerActivity.class);
-                intent.putExtra(TUIContactConstants.Group.GROUP_INFO, groupProfileBean);
-                startActivity(intent);
-            }
-        });
-
-        addMuteMemberView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (TextUtils.equals(groupProfileBean.getGroupType(), GroupInfo.GROUP_TYPE_AVCHATROOM)
-                    || TextUtils.equals(groupProfileBean.getGroupType(), GroupInfo.GROUP_TYPE_WORK)) {
-                    ToastUtil.toastShortMessage(getString(R.string.group_not_support_mute_member));
-                    return;
-                }
-
-                Intent intent = new Intent(ManageGroupActivity.this, GroupMemberActivity.class);
-                intent.putExtra(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-                intent.putExtra(TUIConstants.TUIContact.FILTER, GroupInfo.GROUP_MEMBER_FILTER_COMMON);
-                if (mutedMemberAdapter.getGroupMemberInfoList() != null) {
-                    ArrayList<String> selectedList = new ArrayList<>();
-                    for (GroupMemberInfo memberInfo : mutedMemberAdapter.getGroupMemberInfoList()) {
-                        selectedList.add(memberInfo.getUserId());
-                    }
-                    intent.putExtra(TUIConstants.TUIContact.SELECTED_LIST, selectedList);
-                }
-                intent.putExtra(TUIConstants.TUIContact.GROUP_ID, groupProfileBean.getGroupID());
-                startActivityForResult(intent, 1);
-            }
-        });
-
-        mutedMemberAdapter.setOnItemLongClickListener(new SetGroupManagerActivity.OnItemLongClickListener() {
-            @Override
-            public void onClick(View view, GroupMemberInfo memberInfo, int position) {
-                Drawable drawable = view.getBackground();
-                if (drawable != null) {
-                    drawable.setColorFilter(0xd9d9d9, PorterDuff.Mode.SRC_IN);
-                }
-                View itemPop = LayoutInflater.from(ManageGroupActivity.this).inflate(R.layout.group_manager_pop_menu, null);
-                PopupWindow popupWindow = new PopupWindow(itemPop, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
-                popupWindow.setBackgroundDrawable(new ColorDrawable());
-                popupWindow.setOutsideTouchable(true);
-                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
-                    @Override
-                    public void onDismiss() {
-                        if (drawable != null) {
-                            drawable.clearColorFilter();
-                        }
-                    }
-                });
-                TextView popText = itemPop.findViewById(R.id.pop_text);
-                popText.setText(R.string.group_cancel_mute_label);
-                popText.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        popupWindow.dismiss();
-                        presenter.cancelMuteGroupMember(groupProfileBean.getGroupID(), memberInfo.getUserId(), new IUIKitCallback<Void>() {
-                            @Override
-                            public void onSuccess(Void data) {
-                                mutedMemberAdapter.onItemRemoved(memberInfo);
-                            }
-
-                            @Override
-                            public void onError(String module, int errCode, String errMsg) {
-                                ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                            }
-                        });
-                    }
-                });
-                int x = view.getWidth() / 2;
-                int y = -view.getHeight() / 2;
-                int popHeight = ScreenUtil.dip2px(45) * 3;
-                if (y + popHeight + view.getY() + view.getHeight() > mutedList.getBottom()) {
-                    y = y - popHeight;
-                }
-                popupWindow.showAsDropDown(view, x, y, Gravity.CENTER);
-            }
-        });
-    }
-
-    private void loadMutedMember() {
-        presenter.loadMutedMembers(groupProfileBean.getGroupID(), new IUIKitCallback<List<GroupMemberInfo>>() {
-            @Override
-            public void onSuccess(List<GroupMemberInfo> data) {
-                mutedMemberAdapter.setGroupMemberInfoList(data);
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-            }
-        });
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == 1 && data != null) {
-            List<String> selectedList = data.getStringArrayListExtra(TUIContactConstants.Selection.LIST);
-            if (selectedList != null && !selectedList.isEmpty()) {
-                for (String userId : selectedList) {
-                    presenter.muteGroupMember(groupProfileBean.getGroupID(), userId, new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            loadMutedMember();
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                        }
-                    });
-                }
-            }
-        }
-    }
-
-    class MutedMemberAdapter extends RecyclerView.Adapter<MutedMemberAdapter.MutedMemberViewHolder> {
-        private List<GroupMemberInfo> groupMemberInfoList;
-
-        private SetGroupManagerActivity.OnItemLongClickListener onItemLongClickListener;
-
-        public void setOnItemLongClickListener(SetGroupManagerActivity.OnItemLongClickListener onItemLongClickListener) {
-            this.onItemLongClickListener = onItemLongClickListener;
-        }
-
-        public void onItemRemoved(GroupMemberInfo memberInfo) {
-            int index = groupMemberInfoList.indexOf(memberInfo);
-            groupMemberInfoList.remove(memberInfo);
-            notifyItemRemoved(index);
-        }
-
-        public void setGroupMemberInfoList(List<GroupMemberInfo> groupMemberInfoList) {
-            this.groupMemberInfoList = groupMemberInfoList;
-            notifyDataSetChanged();
-        }
-
-        public List<GroupMemberInfo> getGroupMemberInfoList() {
-            return groupMemberInfoList;
-        }
-
-        @NonNull
-        @Override
-        public MutedMemberViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_manager_item, parent, false);
-            return new MutedMemberViewHolder(itemView);
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull MutedMemberViewHolder holder, int position) {
-            GroupMemberInfo groupMemberInfo = groupMemberInfoList.get(position);
-            holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
-                @Override
-                public boolean onLongClick(View v) {
-                    if (onItemLongClickListener != null) {
-                        onItemLongClickListener.onClick(v, groupMemberInfo, position);
-                    }
-                    return false;
-                }
-            });
-            String displayName = groupMemberInfo.getDisplayName();
-            holder.managerName.setText(displayName);
-            GlideEngine.loadUserIcon(holder.faceIcon, groupMemberInfo.getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (groupMemberInfoList == null || groupMemberInfoList.isEmpty()) {
-                return 0;
-            }
-            return groupMemberInfoList.size();
-        }
-
-        class MutedMemberViewHolder extends RecyclerView.ViewHolder {
-            ShadeImageView faceIcon;
-            TextView managerName;
-
-            public MutedMemberViewHolder(@NonNull View itemView) {
-                super(itemView);
-                faceIcon = itemView.findViewById(R.id.group_manager_face);
-                managerName = itemView.findViewById(R.id.group_manage_name);
-            }
-        }
-    }
-}

+ 0 - 89
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/NewFriendActivity.java

@@ -1,89 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.os.Bundle;
-import android.view.View;
-import android.widget.ListView;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.NewFriendListAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.INewFriendActivity;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.List;
-
-public class NewFriendActivity extends BaseLightActivity implements INewFriendActivity {
-    private static final String TAG = NewFriendActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ListView mNewFriendLv;
-    private NewFriendListAdapter mAdapter;
-    private TextView notFoundTip;
-
-    private NewFriendPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_new_friend_activity);
-        init();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        initPendency();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.new_friend_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.new_friend), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        presenter = new NewFriendPresenter();
-        presenter.setFriendActivity(this);
-        presenter.setFriendApplicationRead(new IUIKitCallback<Void>() {
-            @Override
-            public void onSuccess(Void data) {}
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {}
-        });
-        mNewFriendLv = findViewById(R.id.new_friend_list);
-        notFoundTip = findViewById(R.id.not_found_tip);
-    }
-
-    private void initPendency() {
-        presenter.loadFriendApplicationList();
-    }
-
-    @Override
-    public void onDataSourceChanged(List<FriendApplicationBean> dataSource) {
-        TUIContactLog.i(TAG, "getFriendApplicationList success");
-        if (dataSource == null || dataSource.isEmpty()) {
-            notFoundTip.setVisibility(View.VISIBLE);
-        } else {
-            notFoundTip.setVisibility(View.GONE);
-        }
-        mNewFriendLv.setVisibility(View.VISIBLE);
-        mAdapter = new NewFriendListAdapter(NewFriendActivity.this, R.layout.contact_new_friend_item, dataSource);
-        mAdapter.setPresenter(presenter);
-        mNewFriendLv.setAdapter(mAdapter);
-        mAdapter.notifyDataSetChanged();
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 109
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/NewFriendApplicationDetailActivity.java

@@ -1,109 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.interfaces.TUICallback;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendApplicationPresenter;
-
-public class NewFriendApplicationDetailActivity extends BaseLightActivity {
-    private static final String TAG = "NewFriendApplicationDetailActivity";
-
-    private TitleBarLayout mTitleBar;
-    private ImageView mHeadImageView;
-    private TextView mNickNameView;
-    private TextView mIDView;
-    private TextView acceptFriendBtn;
-    private TextView refuseFriendBtn;
-    private TextView resultBtn;
-
-    private TextView friendApplicationAddWording;
-    private NewFriendApplicationPresenter presenter = new NewFriendApplicationPresenter();
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_new_friend_application_detail_layout);
-
-        mHeadImageView = findViewById(R.id.friend_icon);
-        mNickNameView = findViewById(R.id.friend_nick_name);
-        mIDView = findViewById(R.id.friend_account);
-        resultBtn = findViewById(R.id.result_button);
-        acceptFriendBtn = findViewById(R.id.accept_friend_send_btn);
-        refuseFriendBtn = findViewById(R.id.refuse_friend_send_btn);
-        friendApplicationAddWording = findViewById(R.id.friend_application_add_wording);
-
-        mTitleBar = findViewById(R.id.new_friend_application_detail_title_bar);
-        mTitleBar.setTitle(getResources().getString(R.string.profile_detail), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-
-        Intent intent = getIntent();
-        FriendApplicationBean applicationBean = (FriendApplicationBean) intent.getSerializableExtra(TUIConstants.TUIContact.CONTENT);
-        setApplicationBean(applicationBean);
-    }
-
-    void setApplicationBean(FriendApplicationBean applicationBean) {
-        int radius = ScreenUtil.dip2px(4.6f);
-        GlideEngine.loadUserIcon(mHeadImageView, applicationBean.getFaceUrl(), radius);
-        mTitleBar.setTitle(getResources().getString(R.string.profile_detail), ITitleBarLayout.Position.MIDDLE);
-        mNickNameView.setText(applicationBean.getDisplayName());
-        mIDView.setText(applicationBean.getUserId());
-        friendApplicationAddWording.setText(applicationBean.getAddWording());
-
-        acceptFriendBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.acceptFriendApplication(applicationBean, new TUICallback() {
-                    @Override
-                    public void onSuccess() {
-                        acceptFriendBtn.setVisibility(View.GONE);
-                        refuseFriendBtn.setVisibility(View.GONE);
-                        resultBtn.setVisibility(View.VISIBLE);
-                        resultBtn.setText(R.string.accepted);
-                        finish();
-                    }
-
-                    @Override
-                    public void onError(int errorCode, String errorMessage) {
-                        ToastUtil.toastShortMessage(errorMessage);
-                    }
-                });
-            }
-        });
-
-        refuseFriendBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.refuseFriendApplication(applicationBean, new TUICallback() {
-                    @Override
-                    public void onSuccess() {
-                        acceptFriendBtn.setVisibility(View.GONE);
-                        refuseFriendBtn.setVisibility(View.GONE);
-                        resultBtn.setVisibility(View.VISIBLE);
-                        resultBtn.setText(R.string.refused);
-                        finish();
-                    }
-
-                    @Override
-                    public void onError(int errorCode, String errorMessage) {
-                        ToastUtil.toastShortMessage(errorMessage);
-                    }
-                });
-            }
-        });
-    }
-}

+ 0 - 270
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/SetGroupManagerActivity.java

@@ -1,270 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupManagerPresenter;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-public class SetGroupManagerActivity extends BaseLightActivity {
-    private TitleBarLayout titleBarLayout;
-    private TextView managerCountLabel;
-
-    private GroupManagerPresenter presenter;
-    private GroupProfileBean profileBean;
-    private RecyclerView managerList;
-    private ManagerAdapter managerAdapter;
-    private ShadeImageView ownerFace;
-    private TextView ownerName;
-    private View setManagerView;
-    private String ownerID;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_set_group_manager);
-        titleBarLayout = findViewById(R.id.set_group_manager_title_bar);
-        managerCountLabel = findViewById(R.id.set_group_manager_manager_label);
-        managerList = findViewById(R.id.set_group_manager_manager_list);
-        ownerFace = findViewById(R.id.set_group_manager_owner_face);
-        ownerName = findViewById(R.id.set_group_manager_owner_name);
-        setManagerView = findViewById(R.id.set_group_manager_add_manager);
-
-        titleBarLayout.setTitle(getString(R.string.group_set_manager), ITitleBarLayout.Position.MIDDLE);
-        managerList.setLayoutManager(new CustomLinearLayoutManager(this));
-        managerAdapter = new ManagerAdapter();
-        managerList.setAdapter(managerAdapter);
-        profileBean = (GroupProfileBean) getIntent().getSerializableExtra(TUIContactConstants.Group.GROUP_INFO);
-
-        presenter = new GroupManagerPresenter();
-
-        setClickListener();
-        loadGroupManager();
-        loadGroupOwner();
-    }
-
-    private void loadGroupManager() {
-        presenter.loadGroupManager(profileBean.getGroupID(), new IUIKitCallback<List<GroupMemberInfo>>() {
-            @Override
-            public void onSuccess(List<GroupMemberInfo> data) {
-                if (data != null) {
-                    managerCountLabel.setText(String.format(Locale.US, getString(R.string.group_add_manager_count_label), data.size()));
-                    managerAdapter.setGroupMemberInfoList(data);
-                }
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {}
-        });
-    }
-
-    private void loadGroupOwner() {
-        presenter.loadGroupOwner(profileBean.getGroupID(), new IUIKitCallback<GroupMemberInfo>() {
-            @Override
-            public void onSuccess(GroupMemberInfo data) {
-                ownerID = data.getUserId();
-                String faceUrl = data.getFaceUrl();
-                String displayName = data.getDisplayName();
-                GlideEngine.loadUserIcon(ownerFace, faceUrl);
-                ownerName.setText(displayName);
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {}
-        });
-    }
-
-    private void setClickListener() {
-        titleBarLayout.getLeftIcon().setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        setManagerView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SetGroupManagerActivity.this, GroupMemberActivity.class);
-                intent.putExtra(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-                ArrayList<String> selectedList = new ArrayList<>();
-                if (managerAdapter.getGroupMemberInfoList() != null) {
-                    for (GroupMemberInfo memberInfo : managerAdapter.getGroupMemberInfoList()) {
-                        selectedList.add(memberInfo.getUserId());
-                    }
-                    intent.putExtra(TUIConstants.TUIContact.SELECTED_LIST, selectedList);
-                }
-                ArrayList<String> excludeList = new ArrayList<>();
-                excludeList.add(ownerID);
-                intent.putExtra(TUIConstants.TUIContact.EXCLUDE_LIST, excludeList);
-                intent.putExtra(TUIConstants.TUIContact.GROUP_ID, profileBean.getGroupID());
-                startActivityForResult(intent, 1);
-            }
-        });
-
-        managerAdapter.setOnItemLongClickListener(new OnItemLongClickListener() {
-            @Override
-            public void onClick(View view, GroupMemberInfo memberInfo, int position) {
-                Drawable drawable = view.getBackground();
-                if (drawable != null) {
-                    drawable.setColorFilter(0xd9d9d9, PorterDuff.Mode.SRC_IN);
-                }
-                View itemPop = LayoutInflater.from(SetGroupManagerActivity.this).inflate(R.layout.group_manager_pop_menu, null);
-                PopupWindow popupWindow = new PopupWindow(itemPop, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
-                popupWindow.setBackgroundDrawable(new ColorDrawable());
-                popupWindow.setOutsideTouchable(true);
-                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
-                    @Override
-                    public void onDismiss() {
-                        if (drawable != null) {
-                            drawable.clearColorFilter();
-                        }
-                    }
-                });
-                TextView popText = itemPop.findViewById(R.id.pop_text);
-                popText.setText(R.string.group_remove_manager_label);
-                popText.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        popupWindow.dismiss();
-                        presenter.clearGroupManager(profileBean.getGroupID(), memberInfo.getUserId(), new IUIKitCallback<Void>() {
-                            @Override
-                            public void onSuccess(Void data) {
-                                loadGroupManager();
-                            }
-
-                            @Override
-                            public void onError(String module, int errCode, String errMsg) {}
-                        });
-                    }
-                });
-                int x = view.getWidth() / 2;
-                int y = -view.getHeight() / 2;
-                int popHeight = ScreenUtil.dip2px(45) * 3;
-                if (y + popHeight + view.getY() + view.getHeight() > managerList.getBottom()) {
-                    y = y - popHeight;
-                }
-                popupWindow.showAsDropDown(view, x, y, Gravity.CENTER);
-            }
-        });
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == 1 && data != null) {
-            List<String> selectedList = data.getStringArrayListExtra(TUIContactConstants.Selection.LIST);
-            if (selectedList != null && !selectedList.isEmpty()) {
-                for (String userId : selectedList) {
-                    presenter.setGroupManager(profileBean.getGroupID(), userId, new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            loadGroupManager();
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                        }
-                    });
-                }
-            }
-        }
-    }
-
-    class ManagerAdapter extends RecyclerView.Adapter<ManagerAdapter.ManagerViewHolder> {
-        private List<GroupMemberInfo> groupMemberInfoList;
-
-        private OnItemLongClickListener onItemLongClickListener;
-
-        public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
-            this.onItemLongClickListener = onItemLongClickListener;
-        }
-
-        public void setGroupMemberInfoList(List<GroupMemberInfo> groupMemberInfoList) {
-            this.groupMemberInfoList = groupMemberInfoList;
-            notifyDataSetChanged();
-        }
-
-        public List<GroupMemberInfo> getGroupMemberInfoList() {
-            return groupMemberInfoList;
-        }
-
-        @NonNull
-        @Override
-        public ManagerAdapter.ManagerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_manager_item, parent, false);
-            return new ManagerViewHolder(itemView);
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull ManagerViewHolder holder, int position) {
-            GroupMemberInfo groupMemberInfo = groupMemberInfoList.get(position);
-            holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
-                @Override
-                public boolean onLongClick(View v) {
-                    if (onItemLongClickListener != null) {
-                        onItemLongClickListener.onClick(v, groupMemberInfo, position);
-                    }
-                    return true;
-                }
-            });
-            holder.managerName.setText(groupMemberInfo.getDisplayName());
-            GlideEngine.loadUserIcon(holder.faceIcon, groupMemberInfo.getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (groupMemberInfoList == null || groupMemberInfoList.isEmpty()) {
-                return 0;
-            }
-            return groupMemberInfoList.size();
-        }
-
-        class ManagerViewHolder extends RecyclerView.ViewHolder {
-            ShadeImageView faceIcon;
-            TextView managerName;
-
-            public ManagerViewHolder(@NonNull View itemView) {
-                super(itemView);
-                faceIcon = itemView.findViewById(R.id.group_manager_face);
-                managerName = itemView.findViewById(R.id.group_manage_name);
-            }
-        }
-    }
-
-    interface OnItemLongClickListener {
-        void onClick(View view, GroupMemberInfo groupMemberInfo, int position);
-    }
-}

+ 0 - 93
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartC2CChatActivity.java

@@ -1,93 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class StartC2CChatActivity extends BaseLightActivity {
-    private static final String TAG = StartC2CChatActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mContactListView;
-    private ContactItemBean mSelectedItem;
-    private List<ContactItemBean> mContacts = new ArrayList<>();
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_popup_start_c2c_chat_activity);
-
-        mTitleBar = findViewById(R.id.start_c2c_chat_title);
-        mTitleBar.setTitle(getResources().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnRightClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                startConversation();
-            }
-        });
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        mContactListView = findViewById(R.id.contact_list_view);
-        mContactListView.setSingleSelectMode(true);
-
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-
-        mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    if (mSelectedItem != contact) {
-                        if (mSelectedItem != null) {
-                            mSelectedItem.setSelected(false);
-                        }
-                        mSelectedItem = contact;
-                    }
-                } else {
-                    if (mSelectedItem == contact) {
-                        mSelectedItem.setSelected(false);
-                    }
-                }
-            }
-        });
-    }
-
-    public void startConversation() {
-        if (mSelectedItem == null || !mSelectedItem.isSelected()) {
-            ToastUtil.toastLongMessage(getString(R.string.select_chat));
-            return;
-        }
-        String chatName = mSelectedItem.getId();
-        if (!TextUtils.isEmpty(mSelectedItem.getRemark())) {
-            chatName = mSelectedItem.getRemark();
-        } else if (!TextUtils.isEmpty(mSelectedItem.getNickName())) {
-            chatName = mSelectedItem.getNickName();
-        }
-
-        ClassicUIUtils.startChatActivity(mSelectedItem.getId(), ContactItemBean.TYPE_C2C, chatName, "");
-        finish();
-    }
-}

+ 0 - 333
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartGroupChatActivity.java

@@ -1,333 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.TextPaint;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
-import android.text.style.ClickableSpan;
-import android.text.style.ForegroundColorSpan;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.LineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.SelectionActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.dialog.TUIKitDialog;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ChatInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.ContactUtils;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-public class StartGroupChatActivity extends BaseLightActivity {
-    private static final String TAG = StartGroupChatActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mContactListView;
-    private LineControllerView mJoinType;
-    private ArrayList<GroupMemberInfo> mMembers = new ArrayList<>();
-    private int mGroupType = -1;
-    private boolean communitySupportTopic = false;
-    private int mJoinTypeIndex = 2;
-    private ArrayList<String> mJoinTypes = new ArrayList<>();
-    private ArrayList<String> mGroupTypeValue = new ArrayList<>();
-    private boolean mCreating;
-    private RecyclerView selectedList;
-    private StartGroupMemberSelectActivity.SelectedAdapter selectedListAdapter;
-    private TextView confirmButton;
-    private ContactPresenter presenter;
-    private GroupMemberInfo selfInfo;
-    private int limit;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_popup_start_group_chat_activity);
-        selfInfo = new GroupMemberInfo();
-        selfInfo.setUserId(ContactUtils.getLoginUser());
-        selfInfo.setNickName(TUIConfig.getSelfNickName());
-        init();
-    }
-
-    private void init() {
-        limit = getIntent().getIntExtra(TUIContactConstants.Selection.LIMIT, Integer.MAX_VALUE);
-        String[] array = getResources().getStringArray(R.array.group_type);
-        mGroupTypeValue.addAll(Arrays.asList(array));
-        array = getResources().getStringArray(R.array.group_join_type);
-        mJoinTypes.addAll(Arrays.asList(array));
-
-        mTitleBar = findViewById(R.id.group_create_title_bar);
-        mTitleBar.setTitle(getResources().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnRightClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                toCreateGroupChat();
-            }
-        });
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        mJoinType = findViewById(R.id.group_type_join);
-        mJoinType.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                showJoinTypePickerView();
-            }
-        });
-        mJoinType.setCanNav(true);
-        mJoinType.setContent(mJoinTypes.get(2));
-
-        mContactListView = findViewById(R.id.group_create_member_list);
-        confirmButton = findViewById(R.id.confirm_button);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new StartGroupMemberSelectActivity.SelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-
-        ArrayList<String> alreadySelectedList = new ArrayList<>();
-        alreadySelectedList.add(TUILogin.getLoginUser());
-        mContactListView.setAlreadySelectedList(alreadySelectedList);
-        mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    GroupMemberInfo memberInfo = new GroupMemberInfo();
-                    memberInfo.setUserId(contact.getId());
-                    memberInfo.setNickName(contact.getNickName());
-                    memberInfo.setFaceUrl(contact.getAvatarUrl());
-                    mMembers.add(memberInfo);
-                } else {
-                    for (int i = mMembers.size() - 1; i >= 0; i--) {
-                        if (mMembers.get(i).getUserId().equals(contact.getId())) {
-                            mMembers.remove(i);
-                        }
-                    }
-                }
-                selectedListAdapter.setMembers(mMembers);
-                selectedListAdapter.notifyDataSetChanged();
-                if (mMembers.size() > 0) {
-                    confirmButton.setAlpha(1f);
-                    confirmButton.setEnabled(true);
-                } else {
-                    confirmButton.setAlpha(0.5f);
-                    confirmButton.setEnabled(false);
-                }
-            }
-        });
-        confirmButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                toCreateGroupChat();
-            }
-        });
-        confirmButton.setAlpha(0.5f);
-        confirmButton.setEnabled(false);
-        Intent intent = getIntent();
-        communitySupportTopic = intent.getBooleanExtra(TUIConstants.TUIContact.COMMUNITY_SUPPORT_TOPIC_KEY, false);
-        setGroupType(intent.getIntExtra(TUIConstants.TUIContact.GROUP_TYPE_KEY, TUIContactConstants.GroupType.PRIVATE));
-    }
-
-    public void setGroupType(int type) {
-        mGroupType = type;
-        switch (type) {
-            case TUIContactConstants.GroupType.PUBLIC:
-                mTitleBar.setTitle(getResources().getString(R.string.create_group_chat), ITitleBarLayout.Position.MIDDLE);
-                break;
-            case TUIContactConstants.GroupType.CHAT_ROOM:
-                mTitleBar.setTitle(getResources().getString(R.string.create_chat_room), ITitleBarLayout.Position.MIDDLE);
-                break;
-            case TUIContactConstants.GroupType.COMMUNITY:
-                mTitleBar.setTitle(getResources().getString(R.string.create_community), ITitleBarLayout.Position.MIDDLE);
-                break;
-            case TUIContactConstants.GroupType.PRIVATE:
-            default:
-                mTitleBar.setTitle(getResources().getString(R.string.create_private_group), ITitleBarLayout.Position.MIDDLE);
-                break;
-        }
-    }
-
-    private void showJoinTypePickerView() {
-        Bundle bundle = new Bundle();
-        bundle.putString(SelectionActivity.Selection.TITLE, getResources().getString(R.string.group_join_type));
-        bundle.putStringArrayList(SelectionActivity.Selection.LIST, mJoinTypes);
-        bundle.putInt(SelectionActivity.Selection.DEFAULT_SELECT_ITEM_INDEX, mJoinTypeIndex);
-        SelectionActivity.startListSelection(this, bundle, new SelectionActivity.OnResultReturnListener() {
-            @Override
-            public void onReturn(Object text) {
-                mJoinType.setContent(mJoinTypes.get((Integer) text));
-                mJoinTypeIndex = (Integer) text;
-            }
-        });
-    }
-
-    private void toCreateGroupChat() {
-        mMembers.add(0, selfInfo);
-        if (mMembers.size() == 1) {
-            ToastUtil.toastLongMessage(getResources().getString(R.string.tips_empty_group_member));
-            return;
-        }
-
-        String groupName = selfInfo.getDisplayName();
-        for (int i = 1; i < mMembers.size(); i++) {
-            groupName = groupName + "、" + mMembers.get(i).getDisplayName();
-        }
-        if (groupName.length() >= 10) {
-            groupName = groupName.substring(0, 7) + "..";
-        }
-
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIContact.GROUP_NAME, groupName);
-        bundle.putInt(TUIConstants.TUIContact.JOIN_TYPE_INDEX, mJoinTypeIndex);
-        bundle.putSerializable(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST, mMembers);
-        TUICore.startActivity("CreateGroupActivity", bundle);
-        finish();
-    }
-
-    private void createGroupChat() {
-        if (mCreating) {
-            return;
-        }
-        mMembers.add(0, selfInfo);
-        if (mGroupType < 3 && mMembers.size() == 1) {
-            ToastUtil.toastLongMessage(getResources().getString(R.string.tips_empty_group_member));
-            return;
-        }
-        if (mGroupType > 0 && mJoinTypeIndex == -1) {
-            ToastUtil.toastLongMessage(getResources().getString(R.string.tips_empty_group_type));
-            return;
-        }
-        if (mGroupType == 0) {
-            mJoinTypeIndex = -1;
-        }
-        final GroupInfo groupInfo = new GroupInfo();
-        String groupName = selfInfo.getDisplayName();
-        for (int i = 1; i < mMembers.size(); i++) {
-            groupName = groupName + "、" + mMembers.get(i).getDisplayName();
-        }
-        if (groupName.length() >= 10) {
-            groupName = groupName.substring(0, 7) + "..";
-        }
-        groupInfo.setChatName(groupName);
-        groupInfo.setGroupName(groupName);
-        groupInfo.setMemberDetails(mMembers);
-        groupInfo.setGroupType(mGroupTypeValue.get(mGroupType));
-        groupInfo.setJoinType(mJoinTypeIndex);
-        groupInfo.setCommunitySupportTopic(communitySupportTopic);
-
-        mCreating = true;
-
-        presenter.createGroupChat(groupInfo, new IUIKitCallback<String>() {
-            @Override
-            public void onSuccess(String data) {
-                if (!communitySupportTopic) {
-                    ClassicUIUtils.startChatActivity(data, ChatInfo.TYPE_GROUP, groupInfo.getGroupName(), groupInfo.getGroupType());
-                }
-                finish();
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                mCreating = false;
-                mMembers.remove(selfInfo);
-                if (errCode == TUIConstants.BuyingFeature.ERR_SDK_INTERFACE_NOT_SUPPORT || errCode == 11000) {
-                    showNotSupportDialog();
-                }
-                ToastUtil.toastLongMessage("createGroupChat fail:" + errCode + "=" + errMsg);
-            }
-        });
-    }
-
-    private void showNotSupportDialog() {
-        String string = getResources().getString(R.string.contact_im_flagship_edition_update_tip, getString(R.string.contact_community));
-        String buyingGuidelines = getResources().getString(R.string.contact_buying_guidelines);
-        int buyingGuidelinesIndex = string.lastIndexOf(buyingGuidelines);
-        final int foregroundColor = getResources().getColor(TUIThemeManager.getAttrResId(this, com.tencent.qcloud.tuicore.R.attr.core_primary_color));
-        SpannableString spannedString = new SpannableString(string);
-        ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(foregroundColor);
-        spannedString.setSpan(colorSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        ClickableSpan clickableSpan2 = new ClickableSpan() {
-            @Override
-            public void onClick(View view) {
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC);
-                } else {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC_EN);
-                }
-            }
-
-            @Override
-            public void updateDrawState(TextPaint ds) {
-                ds.setUnderlineText(false);
-            }
-        };
-        spannedString.setSpan(clickableSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        TUIKitDialog.TUIIMUpdateDialog.getInstance()
-            .createDialog(this)
-            .setMovementMethod(LinkMovementMethod.getInstance())
-            .setShowOnlyDebug(true)
-            .setCancelable(true)
-            .setCancelOutside(true)
-            .setTitle(spannedString)
-            .setDialogWidth(0.75f)
-            .setDialogFeatureName(TUIConstants.BuyingFeature.BUYING_FEATURE_COMMUNITY)
-            .setPositiveButton(getString(R.string.contact_no_more_reminders),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().setNeverShow(true);
-                    }
-                })
-            .setNegativeButton(getString(R.string.contact_i_know),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                    }
-                })
-            .show();
-    }
-
-    private void openWebUrl(String url) {
-        Intent intent = new Intent();
-        intent.setAction(Intent.ACTION_VIEW);
-        Uri contentUrl = Uri.parse(url);
-        intent.setData(contentUrl);
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        startActivity(intent);
-    }
-}

+ 0 - 228
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/StartGroupMemberSelectActivity.java

@@ -1,228 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-
-public class StartGroupMemberSelectActivity extends BaseLightActivity {
-    private static final String TAG = StartGroupMemberSelectActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mContactListView;
-    private ArrayList<GroupMemberInfo> mMembers = new ArrayList<>();
-    private ArrayList<String> alreadySelectedList;
-    private RecyclerView selectedList;
-    private SelectedAdapter selectedListAdapter;
-    private TextView confirmButton;
-    private ContactPresenter presenter;
-    private int limit;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_popup_start_group_select_activity);
-
-        init();
-    }
-
-    private ArrayList<String> getMembersDisplayName() {
-        if (mMembers.isEmpty()) {
-            return new ArrayList<>();
-        }
-
-        ArrayList<String> nameCards = new ArrayList<>();
-        for (int i = 0; i < mMembers.size(); i++) {
-            nameCards.add(mMembers.get(i).getDisplayName());
-        }
-        return nameCards;
-    }
-
-    private ArrayList<String> getMembersUserId() {
-        if (mMembers.isEmpty()) {
-            return new ArrayList<>();
-        }
-
-        ArrayList<String> userIds = new ArrayList<>();
-        for (int i = 0; i < mMembers.size(); i++) {
-            userIds.add(mMembers.get(i).getUserId());
-        }
-        return userIds;
-    }
-
-    private void init() {
-        mMembers.clear();
-
-        limit = getIntent().getIntExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.MEMBER_LIMIT, Integer.MAX_VALUE);
-        alreadySelectedList = getIntent().getStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECTED_LIST);
-        mTitleBar = findViewById(R.id.group_create_title_bar);
-        mTitleBar.setTitle(getResources().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnRightClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        confirmButton = findViewById(R.id.confirm_button);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new SelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-        mContactListView = findViewById(R.id.group_create_member_list);
-        mContactListView.setAlreadySelectedList(alreadySelectedList);
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        boolean isSelectForCall = getIntent().getBooleanExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FOR_CALL, false);
-        presenter.setIsForCall(isSelectForCall);
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-        String groupId = getIntent().getStringExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID);
-        mContactListView.setGroupId(groupId);
-        boolean isSelectFriends = getIntent().getBooleanExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FRIENDS, false);
-        if (isSelectFriends) {
-            mTitleBar.setTitle(getString(R.string.add_group_member), TitleBarLayout.Position.MIDDLE);
-            mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        } else {
-            mContactListView.loadDataSource(ContactListView.DataSource.GROUP_MEMBER_LIST);
-        }
-
-        if (!isSelectForCall && !isSelectFriends) {
-            mContactListView.setOnItemClickListener(new ContactListView.OnItemClickListener() {
-                @Override
-                public void onItemClick(int position, ContactItemBean contact) {
-                    if (position == 0) {
-                        mMembers.clear();
-
-                        Intent i = new Intent();
-                        i.putStringArrayListExtra(
-                            TUIContactConstants.Selection.USER_NAMECARD_SELECT, new ArrayList<String>(Arrays.asList(getString(R.string.at_all))));
-                        i.putStringArrayListExtra(
-                            TUIContactConstants.Selection.USER_ID_SELECT, new ArrayList<String>(Arrays.asList(TUIContactConstants.Selection.SELECT_ALL)));
-                        setResult(3, i);
-
-                        finish();
-                    }
-                }
-            });
-        }
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    GroupMemberInfo memberInfo = new GroupMemberInfo();
-                    memberInfo.setUserId(contact.getId());
-                    memberInfo.setFaceUrl(contact.getAvatarUrl());
-                    memberInfo.setNameCard(contact.getNameCard());
-                    memberInfo.setFriendRemark(contact.getRemark());
-                    memberInfo.setNickName(contact.getNickName());
-                    mMembers.add(memberInfo);
-                } else {
-                    for (int i = mMembers.size() - 1; i >= 0; i--) {
-                        if (mMembers.get(i).getUserId().equals(contact.getId())) {
-                            mMembers.remove(i);
-                        }
-                    }
-                }
-                selectedListAdapter.setMembers(mMembers);
-                selectedListAdapter.notifyDataSetChanged();
-            }
-        });
-        confirmButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-    }
-
-    private void confirmAndFinish() {
-        if (mMembers.size() > limit) {
-            String overLimitTip = String.format(Locale.US, getString(R.string.contact_over_limit_tip), limit);
-            ToastUtil.toastShortMessage(overLimitTip);
-            return;
-        }
-        Intent i = new Intent();
-        List<String> friendIdList = new ArrayList<>();
-        for (GroupMemberInfo memberInfo : mMembers) {
-            friendIdList.add(memberInfo.getUserId());
-        }
-        i.putExtra(TUIContactConstants.Selection.LIST, (Serializable) friendIdList);
-        i.putExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.DATA_LIST, (Serializable) friendIdList);
-        i.putStringArrayListExtra(TUIContactConstants.Selection.USER_NAMECARD_SELECT, getMembersDisplayName());
-        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_NAME_CARD_SELECT, getMembersDisplayName());
-        i.putStringArrayListExtra(TUIContactConstants.Selection.USER_ID_SELECT, getMembersUserId());
-        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_ID_SELECT, getMembersUserId());
-        i.putExtras(getIntent());
-        setResult(3, i);
-
-        finish();
-    }
-
-    public static class SelectedAdapter extends RecyclerView.Adapter<SelectedAdapter.SelectedViewHolder> {
-        private List<GroupMemberInfo> mMembers;
-
-        public void setMembers(List<GroupMemberInfo> mMembers) {
-            this.mMembers = mMembers;
-        }
-
-        @NonNull
-        @Override
-        public SelectedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            return new SelectedViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_forward_contact_selector_item, parent, false));
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull StartGroupMemberSelectActivity.SelectedAdapter.SelectedViewHolder holder, int position) {
-            GlideEngine.loadImage(holder.userIconView, mMembers.get(position).getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (mMembers == null) {
-                return 0;
-            }
-            return mMembers.size();
-        }
-
-        public class SelectedViewHolder extends RecyclerView.ViewHolder {
-            public ImageView userIconView;
-
-            public SelectedViewHolder(@NonNull View itemView) {
-                super(itemView);
-                userIconView = itemView.findViewById(R.id.ivAvatar);
-            }
-        }
-    }
-}

+ 0 - 86
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/pages/TUIContactFragment.java

@@ -1,86 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.ClassicUIExtensionObserver;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.util.ClassicUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactLayout;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.HashMap;
-import java.util.Map;
-
-public class TUIContactFragment extends Fragment {
-    private static final String TAG = TUIContactFragment.class.getSimpleName();
-    private ContactLayout mContactLayout;
-
-    private ContactPresenter presenter;
-
-    @Nullable
-    @Override
-    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
-        View baseView = inflater.inflate(R.layout.contact_fragment, container, false);
-        initViews(baseView);
-
-        return baseView;
-    }
-
-    private void initViews(View view) {
-        mContactLayout = view.findViewById(R.id.contact_layout);
-
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactLayout.setPresenter(presenter);
-        mContactLayout.initDefault();
-
-        mContactLayout.getContactListView().setOnItemClickListener(new ContactListView.OnItemClickListener() {
-            @Override
-            public void onItemClick(int position, ContactItemBean contact) {
-                if (position == 0) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), NewFriendActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else if (position == 1) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), GroupListActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else if (position == 2) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), BlackListActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else {
-                    if (contact.isTop() && contact.getExtensionListener() != null) {
-                        Map<String, Object> param = new HashMap<>();
-                        param.put(TUIConstants.TUIContact.CONTEXT, getActivity());
-                        contact.getExtensionListener().onClicked(param);
-                    } else {
-                        ClassicUIUtils.showContactDetails(contact.getId());
-                    }
-                }
-            }
-        });
-    }
-
-    public void reloadData() {
-        if (mContactLayout != null) {
-            mContactLayout.reloadData();
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        TUIContactLog.i(TAG, "onResume");
-    }
-}

+ 0 - 45
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/util/ClassicUIUtils.java

@@ -1,45 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.util;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.tencent.imsdk.v2.V2TIMConversation;
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-
-public class ClassicUIUtils {
-    public static boolean isC2CChat(int chatType) {
-        return chatType == V2TIMConversation.V2TIM_C2C;
-    }
-
-    public static boolean isGroupChat(int chatType) {
-        return chatType == V2TIMConversation.V2TIM_GROUP;
-    }
-
-    public static void startChatActivity(String chatId, int chatType, String chatName, String groupType) {
-        if (TextUtils.isEmpty(chatId)) {
-            return;
-        }
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, chatId);
-        bundle.putString(TUIConstants.TUIChat.CHAT_NAME, chatName);
-        bundle.putInt(TUIConstants.TUIChat.CHAT_TYPE, chatType);
-        if (isC2CChat(chatType)) {
-            TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, bundle);
-        } else if (isGroupChat(chatType)) {
-            bundle.putString(TUIConstants.TUIChat.GROUP_TYPE, groupType);
-            TUICore.startActivity(TUIConstants.TUIChat.GROUP_CHAT_ACTIVITY_NAME, bundle);
-        }
-    }
-
-    public static void showContactDetails(String userID) {
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, userID);
-        TUICore.startActivity("FriendProfileActivity", bundle);
-    }
-
-    public static String getLoginUser() {
-        return V2TIMManager.getInstance().getLoginUser();
-    }
-}

+ 0 - 220
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactAdapter.java

@@ -1,220 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.imsdk.v2.V2TIMUserStatus;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.config.classicui.TUIContactConfigClassic;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContactAdapter extends RecyclerView.Adapter<ContactAdapter.ViewHolder> {
-    protected List<ContactItemBean> mData;
-    private ContactListView.OnSelectChangedListener mOnSelectChangedListener;
-    private ContactListView.OnItemClickListener mOnClickListener;
-
-    private int mPreSelectedPosition;
-    private boolean isSingleSelectMode;
-    private ContactPresenter presenter;
-    private boolean isGroupList = false;
-    private int dataSourceType = ContactListView.DataSource.UNKNOWN;
-    private ArrayList<String> alreadySelectedList;
-
-    public ContactAdapter(List<ContactItemBean> data) {
-        this.mData = data;
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public void setIsGroupList(boolean groupList) {
-        isGroupList = groupList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        this.alreadySelectedList = alreadySelectedList;
-    }
-
-    @Override
-    public ContactAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        return new ContactAdapter.ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_selecable_adapter_item, parent, false));
-    }
-
-    @Override
-    public void onBindViewHolder(final ContactAdapter.ViewHolder holder, final int position) {
-        final ContactItemBean contactBean = mData.get(position);
-        holder.tvName.setText(contactBean.getDisplayName());
-
-        if (mOnSelectChangedListener != null) {
-            holder.ccSelect.setVisibility(View.VISIBLE);
-            holder.ccSelect.setChecked(contactBean.isSelected());
-        }
-
-        holder.content.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (!contactBean.isEnable()) {
-                    return;
-                }
-                holder.ccSelect.setChecked(!holder.ccSelect.isChecked());
-                if (mOnSelectChangedListener != null) {
-                    mOnSelectChangedListener.onSelectChanged(getItem(position), holder.ccSelect.isChecked());
-                }
-                contactBean.setSelected(holder.ccSelect.isChecked());
-                if (mOnClickListener != null) {
-                    mOnClickListener.onItemClick(position, contactBean);
-                }
-                if (isSingleSelectMode && position != mPreSelectedPosition && contactBean.isSelected()) {
-                    mData.get(mPreSelectedPosition).setSelected(false);
-                    notifyItemChanged(mPreSelectedPosition);
-                }
-                mPreSelectedPosition = position;
-            }
-        });
-        holder.unreadText.setVisibility(View.GONE);
-        holder.userStatusView.setVisibility(View.GONE);
-
-        int radius = ScreenUtil.dip2px(4.6f);
-        if (TUIContactConfigClassic.getContactAvatarRadius() != TUIContactConfigClassic.UNDEFINED) {
-            radius = TUIContactConfigClassic.getContactAvatarRadius();
-        }
-        holder.avatar.setRadius(radius);
-
-        if (presenter.newContacts == contactBean) {
-            holder.avatar.setImageResource(TUIThemeManager.getAttrResId(holder.itemView.getContext(), R.attr.contact_new_friend_icon));
-            holder.unreadText.setText(contactBean.getUnreadCount() + "");
-            if (contactBean.getUnreadCount() > 0) {
-                holder.unreadText.setVisibility(View.VISIBLE);
-            } else {
-                holder.unreadText.setVisibility(View.GONE);
-            }
-        } else if (presenter.groupChats == contactBean) {
-            holder.avatar.setImageResource(TUIThemeManager.getAttrResId(holder.itemView.getContext(), R.attr.contact_group_list_icon));
-        } else if (presenter.blackList == contactBean) {
-            holder.avatar.setImageResource(TUIThemeManager.getAttrResId(holder.itemView.getContext(), R.attr.contact_black_list_icon));
-        } else {
-            if (contactBean.isTop() && contactBean.getExtensionListener() != null) {
-                holder.avatar.setImageResource(contactBean.getAvatarResID());
-            } else {
-                if (isGroupList) {
-                    int defaultIconResId = TUIUtil.getDefaultGroupIconResIDByGroupType(holder.itemView.getContext(), contactBean.getGroupType());
-                    GlideEngine.loadUserIcon(holder.avatar, contactBean.getAvatarUrl(), defaultIconResId, radius);
-                } else {
-                    GlideEngine.loadUserIcon(holder.avatar, contactBean.getAvatarUrl(), radius);
-                }
-                if (dataSourceType == ContactListView.DataSource.CONTACT_LIST && TUIContactConfigClassic.isShowUserOnlineStatusIcon()) {
-                    holder.userStatusView.setVisibility(View.VISIBLE);
-                    if (contactBean.getStatusType() == V2TIMUserStatus.V2TIM_USER_STATUS_ONLINE) {
-                        holder.userStatusView.setBackgroundResource(
-                            TUIThemeManager.getAttrResId(TUIContactService.getAppContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.user_status_online));
-                    } else {
-                        holder.userStatusView.setBackgroundResource(
-                            TUIThemeManager.getAttrResId(TUIContactService.getAppContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.user_status_offline));
-                    }
-                } else {
-                    holder.userStatusView.setVisibility(View.GONE);
-                }
-            }
-        }
-        setAlreadySelected(holder, contactBean);
-    }
-
-    private void setAlreadySelected(ContactAdapter.ViewHolder holder, ContactItemBean contactItemBean) {
-        if (alreadySelectedList != null && alreadySelectedList.contains(contactItemBean.getId())) {
-            holder.ccSelect.setChecked(true);
-            holder.itemView.setEnabled(false);
-            holder.ccSelect.setEnabled(false);
-        } else {
-            holder.itemView.setEnabled(true);
-            holder.ccSelect.setEnabled(true);
-            holder.ccSelect.setSelected(contactItemBean.isSelected());
-        }
-    }
-
-    @Override
-    public void onViewRecycled(ContactAdapter.ViewHolder holder) {
-        if (holder != null) {
-            GlideEngine.clear(holder.avatar);
-            holder.avatar.setImageResource(0);
-        }
-        super.onViewRecycled(holder);
-    }
-
-    private ContactItemBean getItem(int position) {
-        if (position < mData.size()) {
-            return mData.get(position);
-        }
-        return null;
-    }
-
-    @Override
-    public int getItemCount() {
-        return mData != null ? mData.size() : 0;
-    }
-
-    public void setDataSource(List<ContactItemBean> datas) {
-        this.mData = datas;
-        notifyDataSetChanged();
-    }
-
-    public void onDataChanged(ContactItemBean data) {
-        int index = mData.indexOf(data);
-        if (index != -1) {
-            notifyItemChanged(index);
-        }
-    }
-
-    public void setSingleSelectMode(boolean mode) {
-        isSingleSelectMode = mode;
-    }
-
-    public void setOnSelectChangedListener(ContactListView.OnSelectChangedListener selectListener) {
-        mOnSelectChangedListener = selectListener;
-    }
-
-    public void setOnItemClickListener(ContactListView.OnItemClickListener listener) {
-        mOnClickListener = listener;
-    }
-
-    public void setDataSourceType(int dataSourceType) {
-        this.dataSourceType = dataSourceType;
-    }
-
-    public static class ViewHolder extends RecyclerView.ViewHolder {
-        TextView tvName;
-        TextView unreadText;
-        ShadeImageView avatar;
-        CheckBox ccSelect;
-        View content;
-        View line;
-        View userStatusView;
-
-        public ViewHolder(View itemView) {
-            super(itemView);
-            tvName = itemView.findViewById(R.id.tvCity);
-            unreadText = itemView.findViewById(R.id.conversation_unread);
-            unreadText.setVisibility(View.GONE);
-            avatar = itemView.findViewById(R.id.ivAvatar);
-            ccSelect = itemView.findViewById(R.id.contact_check_box);
-            content = itemView.findViewById(R.id.selectable_contact_item);
-            line = itemView.findViewById(R.id.view_line);
-            userStatusView = itemView.findViewById(R.id.user_status);
-        }
-    }
-}

+ 0 - 65
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactLayout.java

@@ -1,65 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.LinearLayout;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ILayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class ContactLayout extends LinearLayout implements ILayout {
-    private static final String TAG = ContactLayout.class.getSimpleName();
-
-    private ContactListView mContactListView;
-
-    private ContactPresenter presenter;
-
-    public ContactLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public ContactLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public ContactLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.contact_contact_list_layout, this);
-        mContactListView = findViewById(R.id.contact_listview);
-    }
-
-    public void initDefault() {
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-        presenter.setIsClassicStyle(true);
-        mContactListView.loadDataSource(ContactListView.DataSource.CONTACT_LIST);
-    }
-
-    public void reloadData() {
-        mContactListView.reloadContactList();
-    }
-
-    public ContactListView getContactListView() {
-        return mContactListView;
-    }
-
-    @Override
-    public TitleBarLayout getTitleBar() {
-        return null;
-    }
-
-    @Override
-    public void setParentLayout(Object parent) {}
-}

+ 0 - 177
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ContactListView.java

@@ -1,177 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.widget.LinearLayout;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.widget.IndexBar;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.suspension.SuspensionDecoration;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContactListView extends LinearLayout implements IContactListView {
-    private static final String TAG = ContactListView.class.getSimpleName();
-
-    private RecyclerView mRv;
-    private ContactAdapter mAdapter;
-    private CustomLinearLayoutManager mManager;
-    private List<ContactItemBean> mData = new ArrayList<>();
-    private SuspensionDecoration mDecoration;
-    private ProgressBar mContactLoadingBar;
-    private String groupId;
-    private boolean isGroupList = false;
-
-    private TextView notFoundTip;
-
-    private IndexBar mIndexBar;
-
-    private TextView mTvSideBarHint;
-
-    private ContactPresenter presenter;
-
-    public ContactListView(Context context) {
-        super(context);
-        init();
-    }
-
-    public ContactListView(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public ContactListView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-        if (mAdapter != null) {
-            mAdapter.setPresenter(presenter);
-            mAdapter.setIsGroupList(isGroupList);
-        }
-    }
-
-    public void setIsGroupList(boolean isGroupList) {
-        this.isGroupList = isGroupList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        mAdapter.setAlreadySelectedList(alreadySelectedList);
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.contact_list, this);
-        mRv = findViewById(R.id.contact_member_list);
-        notFoundTip = findViewById(R.id.not_found_tip);
-        mManager = new CustomLinearLayoutManager(getContext());
-        mRv.setLayoutManager(mManager);
-
-        mAdapter = new ContactAdapter(mData);
-        mRv.setAdapter(mAdapter);
-        mRv.addItemDecoration(mDecoration = new SuspensionDecoration(getContext(), mData));
-        mRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
-                super.onScrolled(recyclerView, dx, dy);
-                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
-                int lastCompletelyVisibleItemPosition = layoutManager.findLastCompletelyVisibleItemPosition();
-                if (lastCompletelyVisibleItemPosition == layoutManager.getItemCount() - 1) {
-                    if (presenter.getNextSeq() > 0) {
-                        presenter.loadGroupMemberList(groupId);
-                    }
-                }
-            }
-        });
-        mTvSideBarHint = findViewById(R.id.contact_tvSideBarHint);
-        mIndexBar = findViewById(R.id.contact_indexBar);
-        mIndexBar.setPressedShowTextView(mTvSideBarHint).setNeedRealIndex(false).setLayoutManager(mManager);
-        mContactLoadingBar = findViewById(R.id.contact_loading_bar);
-    }
-
-    public ContactAdapter getAdapter() {
-        return mAdapter;
-    }
-
-    public void setNotFoundTip(String text) {
-        notFoundTip.setText(text);
-    }
-
-    @Override
-    public void onDataSourceChanged(List<ContactItemBean> data) {
-        if (data == null || data.isEmpty()) {
-            if (!TextUtils.isEmpty(notFoundTip.getText())) {
-                notFoundTip.setVisibility(VISIBLE);
-            }
-        } else {
-            notFoundTip.setVisibility(GONE);
-        }
-        mContactLoadingBar.setVisibility(GONE);
-        this.mData = data;
-        mAdapter.setDataSource(mData);
-        mIndexBar.setSourceDatas(mData).invalidate();
-        mDecoration.setDatas(mData);
-    }
-
-    public void setSingleSelectMode(boolean mode) {
-        mAdapter.setSingleSelectMode(mode);
-    }
-
-    public void setOnSelectChangeListener(OnSelectChangedListener selectChangeListener) {
-        mAdapter.setOnSelectChangedListener(selectChangeListener);
-    }
-
-    public void setOnItemClickListener(OnItemClickListener listener) {
-        mAdapter.setOnItemClickListener(listener);
-    }
-
-    public void loadDataSource(int dataSource) {
-        if (presenter == null) {
-            return;
-        }
-        if (mAdapter != null) {
-            mAdapter.setDataSourceType(dataSource);
-        }
-        mContactLoadingBar.setVisibility(VISIBLE);
-        if (dataSource == ContactListView.DataSource.GROUP_MEMBER_LIST) {
-            presenter.loadGroupMemberList(groupId);
-        } else {
-            presenter.loadDataSource(dataSource);
-        }
-    }
-
-    public void reloadContactList() {
-        if (presenter != null) {
-            presenter.reloadContactList();
-        }
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    @Override
-    public void onDataChanged(ContactItemBean contactItemBean) {
-        if (mAdapter != null) {
-            mAdapter.onDataChanged(contactItemBean);
-        }
-    }
-
-    public interface OnSelectChangedListener {
-        void onSelectChanged(ContactItemBean contact, boolean selected);
-    }
-
-    public interface OnItemClickListener {
-        void onItemClick(int position, ContactItemBean contact);
-    }
-}

+ 0 - 70
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/ForwardContactSelectorAdapter.java

@@ -1,70 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import java.util.List;
-
-public class ForwardContactSelectorAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
-    private Context context;
-    private List<String> list;
-    private RecyclerView mRecycleView;
-
-    public ForwardContactSelectorAdapter(Context context) {
-        this.context = context;
-    }
-
-    @Override
-    public void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView) {
-        super.onAttachedToRecyclerView(recyclerView);
-        mRecycleView = recyclerView;
-    }
-
-    @Override
-    public ContactViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        return new ContactViewHolder(LayoutInflater.from(context).inflate(R.layout.contact_forward_contact_selector_item, parent, false));
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
-        ContactViewHolder viewHolder = (ContactViewHolder) holder;
-        if (viewHolder != null) {
-            if (!TextUtils.isEmpty(list.get(position))) {
-                GlideEngine.loadImage(viewHolder.userIconView, list.get(position));
-            }
-        }
-    }
-
-    public void setDataSource(List<String> provider) {
-        if (provider == null) {
-            if (list != null) {
-                list.clear();
-            }
-        } else {
-            list = provider;
-        }
-
-        notifyDataSetChanged();
-    }
-
-    @Override
-    public int getItemCount() {
-        return list == null ? 0 : list.size();
-    }
-
-    class ContactViewHolder extends RecyclerView.ViewHolder {
-        public ImageView userIconView;
-
-        public ContactViewHolder(View itemView) {
-            super(itemView);
-            userIconView = itemView.findViewById(R.id.ivAvatar);
-        }
-    }
-}

+ 0 - 169
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupApplyAdapter.java

@@ -1,169 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.TextView;
-import com.tencent.imsdk.v2.V2TIMGroupApplication;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupApplyAdapter extends BaseAdapter {
-    private List<GroupApplyInfo> mGroupMembers = new ArrayList<>();
-    private OnItemClickListener mOnItemClickListener;
-    private GroupApplyPresenter presenter;
-
-    public GroupApplyAdapter() {}
-
-    public void setPresenter(GroupApplyPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    @Override
-    public int getCount() {
-        return mGroupMembers.size();
-    }
-
-    @Override
-    public GroupApplyInfo getItem(int i) {
-        return mGroupMembers.get(i);
-    }
-
-    @Override
-    public long getItemId(int i) {
-        return 0;
-    }
-
-    @Override
-    public View getView(final int i, View view, ViewGroup viewGroup) {
-        MyViewHolder holder;
-        final GroupApplyInfo info = getItem(i);
-        if (view == null) {
-            view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.group_member_apply_adpater, viewGroup, false);
-            view.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (mOnItemClickListener != null && info.getStatus() == GroupApplyInfo.UNHANDLED) {
-                        mOnItemClickListener.onItemClick(info);
-                    }
-                }
-            });
-            holder = new MyViewHolder();
-            holder.memberIcon = view.findViewById(R.id.group_apply_member_icon);
-            holder.memberName = view.findViewById(R.id.group_apply_member_name);
-            holder.reason = view.findViewById(R.id.group_apply_reason);
-            holder.accept = view.findViewById(R.id.group_apply_accept);
-            holder.refuse = view.findViewById(R.id.group_apply_refuse);
-            view.setTag(holder);
-        } else {
-            holder = (MyViewHolder) view.getTag();
-        }
-
-        if (info.getGroupApplication().getApplicationType() == V2TIMGroupApplication.V2TIM_GROUP_INVITE_APPLICATION_NEED_APPROVED_BY_ADMIN) {
-            holder.memberName.setText(info.getGroupApplication().getFromUser());
-            holder.reason.setText(view.getResources().getString(R.string.invite) + " " + info.getGroupApplication().getToUser());
-        } else {
-            if (TextUtils.isEmpty(info.getFromUserNickName())) {
-                holder.memberName.setText(info.getFromUserID());
-            } else {
-                holder.memberName.setText(info.getFromUserNickName());
-            }
-            holder.reason.setText(info.getAddWording());
-        }
-        GlideEngine.loadUserIcon(holder.memberIcon, info.getFromUserFaceUrl(), ScreenUtil.dip2px(4));
-
-        if (info.getStatus() == GroupApplyInfo.UNHANDLED) {
-            holder.accept.setVisibility(View.VISIBLE);
-            holder.accept.setText(R.string.accept);
-            holder.accept.setBackground(TUIContactService.getAppContext().getResources().getDrawable(R.drawable.group_bg_positive_btn));
-            holder.accept.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    acceptApply(i, info);
-                }
-            });
-            holder.refuse.setVisibility(View.VISIBLE);
-            holder.refuse.setText(R.string.refuse);
-            holder.refuse.setBackground(TUIContactService.getAppContext().getResources().getDrawable(R.drawable.group_bg_negative_btn));
-            holder.refuse.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    refuseApply(i, info);
-                }
-            });
-        } else if (info.getStatus() == GroupApplyInfo.APPLIED) {
-            holder.accept.setVisibility(View.VISIBLE);
-            holder.accept.setClickable(false);
-            holder.accept.setText(R.string.accepted);
-            holder.accept.setBackground(TUIContactService.getAppContext().getResources().getDrawable(R.drawable.group_gray_btn_bg));
-            holder.refuse.setVisibility(View.GONE);
-        } else if (info.getStatus() == GroupApplyInfo.REFUSED) {
-            holder.refuse.setVisibility(View.VISIBLE);
-            holder.refuse.setClickable(false);
-            holder.refuse.setText(R.string.refused);
-            holder.refuse.setBackground(TUIContactService.getAppContext().getResources().getDrawable(R.drawable.group_gray_btn_bg));
-            holder.accept.setVisibility(View.GONE);
-        }
-
-        return view;
-    }
-
-    public void setOnItemClickListener(OnItemClickListener l) {
-        mOnItemClickListener = l;
-    }
-
-    public void updateItemData(GroupApplyInfo info) {
-        for (GroupApplyInfo i : mGroupMembers) {
-            if (TextUtils.equals(i.getGroupApplication().getFromUser(), info.getGroupApplication().getFromUser())) {
-                i.setStatus(info.getStatus());
-                notifyDataSetChanged();
-                break;
-            }
-        }
-    }
-
-    public void setDataSource(GroupInfo info) {
-        presenter.loadGroupApplies();
-    }
-
-    public void setDataSource(List<GroupApplyInfo> applyInfoList) {
-        mGroupMembers = applyInfoList;
-        notifyDataSetChanged();
-    }
-
-    public void acceptApply(final int position, final GroupApplyInfo item) {
-        if (presenter == null) {
-            return;
-        }
-        presenter.acceptApply(item, null);
-    }
-
-    public void refuseApply(final int position, final GroupApplyInfo item) {
-        if (presenter == null) {
-            return;
-        }
-        presenter.refuseApply(item, null);
-    }
-
-    public interface OnItemClickListener {
-        void onItemClick(GroupApplyInfo info);
-    }
-
-    private class MyViewHolder {
-        private ImageView memberIcon;
-        private TextView memberName;
-        private TextView reason;
-        private TextView accept;
-        private TextView refuse;
-    }
-}

+ 0 - 113
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupApplyManagerLayout.java

@@ -1,113 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import static android.app.Activity.RESULT_OK;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-
-import androidx.activity.result.ActivityResult;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupApplyDetailActivity;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupApplyLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-import java.util.List;
-
-public class GroupApplyManagerLayout extends LinearLayout implements IGroupApplyLayout {
-    private TitleBarLayout mTitleBar;
-    private ListView mApplyMemberList;
-    private GroupApplyAdapter mAdapter;
-
-    private GroupApplyPresenter presenter;
-    
-    public GroupApplyManagerLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public GroupApplyManagerLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public GroupApplyManagerLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.group_apply_manager_layout, this);
-        mApplyMemberList = findViewById(R.id.group_apply_members);
-        mAdapter = new GroupApplyAdapter();
-        mAdapter.setOnItemClickListener(new GroupApplyAdapter.OnItemClickListener() {
-            @Override
-            public void onItemClick(GroupApplyInfo info) {
-                Bundle bundle = new Bundle();
-                bundle.putSerializable(TUIContactConstants.Group.MEMBER_APPLY, info);
-                TUICore.startActivityForResult(
-                    (ActivityResultCaller) getContext(), GroupApplyDetailActivity.class, bundle, new ActivityResultCallback<ActivityResult>() {
-                        @Override
-                        public void onActivityResult(ActivityResult result) {
-                            if (result.getResultCode() != RESULT_OK || result.getData() == null) {
-                                return;
-                            }
-                            GroupApplyInfo info = (GroupApplyInfo) result.getData().getSerializableExtra(TUIContactConstants.Group.MEMBER_APPLY);
-                            if (info == null) {
-                                return;
-                            }
-                            updateItemData(info);
-                        }
-                    });
-            }
-        });
-        mApplyMemberList.setAdapter(mAdapter);
-        mTitleBar = findViewById(R.id.group_apply_title_bar);
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-        mTitleBar.setTitle(getResources().getString(R.string.group_apply_members), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (getContext() instanceof Activity) {
-                    ((Activity) getContext()).finish();
-                }
-            }
-        });
-    }
-
-    public void updateItemData(GroupApplyInfo info) {
-        mAdapter.updateItemData(info);
-    }
-
-    public void onDataSetChanged() {
-        mAdapter.notifyDataSetChanged();
-    }
-
-    public void setPresenter(GroupApplyPresenter groupApplyPresenter) {
-        this.presenter = groupApplyPresenter;
-        mAdapter.setPresenter(groupApplyPresenter);
-    }
-
-    public void onGroupApplyInfoListChanged(List<GroupApplyInfo> applyInfoList) {
-        mAdapter.setDataSource(applyInfoList);
-    }
-
-    public void setDataSource(GroupInfo dataSource) {
-        presenter.setGroupInfo(dataSource);
-        mAdapter.setDataSource(dataSource);
-    }
-}

+ 0 - 226
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberAdapter.java

@@ -1,226 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.PopWindowUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.ThreadUtils;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberChangedCallback;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberAdapter extends RecyclerView.Adapter<GroupMemberAdapter.GroupMemberViewHodler> {
-    private IGroupMemberChangedCallback mCallback;
-    private GroupInfo mGroupInfo;
-    private List<GroupMemberInfo> mGroupMembers = new ArrayList<>();
-    private List<GroupMemberInfo> selectedGroupMemberInfos = new ArrayList<>();
-
-    private GroupInfoPresenter presenter;
-    private boolean isSelectMode;
-    private GroupMemberLayout.OnSelectChangedListener onSelectChangedListener;
-    private ArrayList<String> selectedMember = new ArrayList<>();
-    private ArrayList<String> excludeList;
-    private ArrayList<String> alreadySelectedList;
-
-    public void setSelectMode(boolean selectMode) {
-        isSelectMode = selectMode;
-    }
-
-    public ArrayList<String> getSelectedMember() {
-        return selectedMember;
-    }
-
-    public List<GroupMemberInfo> getSelectedMemberInfoList() {
-        return selectedGroupMemberInfos;
-    }
-
-    public void setPresenter(GroupInfoPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public void setMemberChangedCallback(IGroupMemberChangedCallback callback) {
-        this.mCallback = callback;
-    }
-
-    public void setExcludeList(ArrayList<String> excludeList) {
-        this.excludeList = excludeList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        this.alreadySelectedList = alreadySelectedList;
-    }
-
-    public void setOnSelectChangedListener(GroupMemberLayout.OnSelectChangedListener onSelectChangedListener) {
-        this.onSelectChangedListener = onSelectChangedListener;
-    }
-
-    @NonNull
-    @Override
-    public GroupMemberViewHodler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_member_list_item, parent, false);
-        return new GroupMemberViewHodler(view);
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull GroupMemberViewHodler holder, int position) {
-        final GroupMemberInfo info = mGroupMembers.get(position);
-        GlideEngine.loadImage(holder.memberIcon, info.getFaceUrl());
-        holder.memberName.setText(info.getDisplayName());
-
-        if (isSelectMode) {
-            holder.checkBox.setVisibility(View.VISIBLE);
-            holder.checkBox.setChecked(info.isSelected());
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    holder.checkBox.setChecked(!holder.checkBox.isChecked());
-                    if (holder.checkBox.isChecked()) {
-                        info.setSelected(true);
-                        selectedMember.add(info.getUserId());
-                        selectedGroupMemberInfos.add(info);
-                    } else {
-                        info.setSelected(false);
-                        selectedMember.remove(info.getUserId());
-                        selectedGroupMemberInfos.remove(info);
-                    }
-                    if (onSelectChangedListener != null) {
-                        onSelectChangedListener.onSelectChanged();
-                    }
-                }
-            });
-
-        } else {
-            holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
-                @Override
-                public boolean onLongClick(View v) {
-                    if (!mGroupInfo.isOwner()) {
-                        return false;
-                    }
-                    TextView delete = new TextView(holder.itemView.getContext());
-                    delete.setText(R.string.group_remove_member);
-                    int padding = ScreenUtil.getPxByDp(10);
-                    delete.setPaddingRelative(padding, padding, padding, padding);
-                    delete.setBackgroundResource(R.drawable.text_border);
-                    int[] location = new int[2];
-                    v.getLocationInWindow(location);
-                    final PopupWindow window = PopWindowUtil.popupWindow(delete, holder.itemView, location[0], location[1] + v.getMeasuredHeight() / 3);
-                    delete.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            List<GroupMemberInfo> dels = new ArrayList<>();
-                            dels.add(info);
-                            if (presenter == null) {
-                                return;
-                            }
-                            presenter.removeGroupMembers(mGroupInfo, dels, new IUIKitCallback() {
-                                @Override
-                                public void onSuccess(Object data) {
-                                    mGroupMembers.remove(info);
-                                    notifyDataSetChanged();
-                                    if (mCallback != null) {
-                                        mCallback.onMemberRemoved(info);
-                                    }
-                                }
-
-                                @Override
-                                public void onError(String module, int errCode, String errMsg) {
-                                    ToastUtil.toastLongMessage(TUIContactService.getAppContext().getString(R.string.remove_fail_tip) + ":errCode=" + errCode);
-                                }
-                            });
-                            window.dismiss();
-                        }
-                    });
-                    return false;
-                }
-            });
-
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Bundle bundle = new Bundle();
-                    bundle.putString(TUIConstants.TUIChat.CHAT_ID, info.getUserId());
-                    TUICore.startActivity("FriendProfileActivity", bundle);
-                }
-            });
-        }
-
-        setAlreadySelected(holder, info);
-    }
-
-    private void setAlreadySelected(GroupMemberViewHodler holder, GroupMemberInfo memberInfo) {
-        if (alreadySelectedList != null && alreadySelectedList.contains(memberInfo.getUserId())) {
-            holder.checkBox.setChecked(true);
-            holder.itemView.setEnabled(false);
-            holder.checkBox.setEnabled(false);
-        } else {
-            holder.itemView.setEnabled(true);
-            holder.checkBox.setEnabled(true);
-            holder.checkBox.setSelected(memberInfo.isSelected());
-        }
-    }
-
-    @Override
-    public int getItemCount() {
-        if (mGroupMembers == null) {
-            return 0;
-        }
-        return mGroupMembers.size();
-    }
-
-    public void setDataSource(GroupInfo groupInfo) {
-        if (groupInfo != null) {
-            mGroupInfo = groupInfo;
-            mGroupMembers.clear();
-            if (excludeList == null || excludeList.isEmpty()) {
-                mGroupMembers.addAll(groupInfo.getMemberDetails());
-            } else {
-                for (GroupMemberInfo groupMemberInfo : groupInfo.getMemberDetails()) {
-                    if (excludeList.contains(groupMemberInfo.getUserId())) {
-                        continue;
-                    }
-                    mGroupMembers.add(groupMemberInfo);
-                }
-            }
-            ThreadUtils.runOnUiThread(new Runnable() {
-                @Override
-                public void run() {
-                    notifyDataSetChanged();
-                }
-            });
-        }
-    }
-
-    protected class GroupMemberViewHodler extends RecyclerView.ViewHolder {
-        private ImageView memberIcon;
-        private TextView memberName;
-        private CheckBox checkBox;
-
-        public GroupMemberViewHodler(@NonNull View itemView) {
-            super(itemView);
-            checkBox = itemView.findViewById(R.id.group_member_check_box);
-            memberIcon = itemView.findViewById(R.id.group_member_icon);
-            memberName = itemView.findViewById(R.id.group_member_name);
-        }
-    }
-}

+ 0 - 146
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberGridAdapter.java

@@ -1,146 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.graphics.Matrix;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.imsdk.v2.V2TIMGroupInfo;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.GroupMemberGridListener;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberGridAdapter extends RecyclerView.Adapter<GroupMemberGridAdapter.MyViewHolder> {
-    private static final int OWNER_PRIVATE_MAX_LIMIT = 8;
-    private static final int OWNER_PUBLIC_MAX_LIMIT = 9;
-    private static final int OWNER_CHATROOM_MAX_LIMIT = 9;
-    private static final int OWNER_COMMUNITY_MAX_LIMIT = 8;
-    private static final int NORMAL_PRIVATE_MAX_LIMIT = 9;
-    private static final int NORMAL_PUBLIC_MAX_LIMIT = 10;
-    private static final int NORMAL_CHATROOM_MAX_LIMIT = 10;
-    private static final int NORMAL_COMMUNITY_MAX_LIMIT = 9;
-
-    private final List<GroupMemberInfo> groupMembers = new ArrayList<>();
-    private GroupMemberGridListener groupMemberGridListener;
-    private GroupProfileBean groupProfileBean;
-
-    public GroupMemberInfo addItem = new GroupMemberInfo();
-    public GroupMemberInfo removeItem = new GroupMemberInfo();
-
-    public void setGroupMemberGridListener(GroupMemberGridListener groupMemberGridListener) {
-        this.groupMemberGridListener = groupMemberGridListener;
-    }
-
-    @NonNull
-    @Override
-    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_member_item_layout, parent, false);
-        return new MyViewHolder(view);
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
-        final GroupMemberInfo groupMemberInfo = getItem(position);
-        GlideEngine.loadImage(holder.memberIcon, groupMemberInfo.getFaceUrl());
-        holder.memberName.setText(groupMemberInfo.getDisplayName());
-
-        holder.itemView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (groupMemberGridListener != null) {
-                    groupMemberGridListener.onGroupMemberClicked(groupMemberInfo);
-                }
-            }
-        });
-        holder.memberIcon.setBackground(null);
-        holder.memberIcon.setPaddingRelative(0, 0, 0, 0);
-        int controlPadding = ScreenUtil.dip2px(15);
-        if (groupMemberInfo == addItem) {
-            holder.memberIcon.setImageResource(R.drawable.add_group_member);
-            holder.memberIcon.setPaddingRelative(controlPadding, controlPadding, controlPadding, controlPadding);
-            holder.memberIcon.setBackgroundResource(R.drawable.bottom_action_border);
-        } else if (groupMemberInfo == removeItem) {
-            holder.memberIcon.setImageResource(R.drawable.del_group_member);
-            holder.memberIcon.setPaddingRelative(controlPadding, controlPadding, controlPadding, controlPadding);
-            holder.memberIcon.setBackgroundResource(R.drawable.bottom_action_border);
-        }
-    }
-
-    public GroupMemberInfo getItem(int i) {
-        return groupMembers.get(i);
-    }
-
-    @Override
-    public int getItemCount() {
-        return groupMembers.size();
-    }
-
-    public void setGroupProfileBean(GroupProfileBean groupProfileBean) {
-        this.groupProfileBean = groupProfileBean;
-    }
-
-    public void setGroupMembers(List<GroupMemberInfo> members) {
-        groupMembers.clear();
-        int shootMemberCount = 0;
-        if (TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_PRIVATE)
-            || TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_WORK)) {
-            if (groupProfileBean.isOwner()) {
-                shootMemberCount = members.size() > OWNER_PRIVATE_MAX_LIMIT ? OWNER_PRIVATE_MAX_LIMIT : members.size();
-            } else {
-                shootMemberCount = members.size() > NORMAL_PRIVATE_MAX_LIMIT ? NORMAL_PRIVATE_MAX_LIMIT : members.size();
-            }
-        } else if (TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_PUBLIC)) {
-            if (groupProfileBean.isOwner()) {
-                shootMemberCount = members.size() > OWNER_PUBLIC_MAX_LIMIT ? OWNER_PUBLIC_MAX_LIMIT : members.size();
-            } else {
-                shootMemberCount = members.size() > NORMAL_PUBLIC_MAX_LIMIT ? NORMAL_PUBLIC_MAX_LIMIT : members.size();
-            }
-        } else if (TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_CHAT_ROOM)
-            || TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_MEETING)) {
-            if (groupProfileBean.isOwner()) {
-                shootMemberCount = members.size() > OWNER_CHATROOM_MAX_LIMIT ? OWNER_CHATROOM_MAX_LIMIT : members.size();
-            } else {
-                shootMemberCount = members.size() > NORMAL_CHATROOM_MAX_LIMIT ? NORMAL_CHATROOM_MAX_LIMIT : members.size();
-            }
-        } else if (TextUtils.equals(groupProfileBean.getGroupType(), TUIConstants.GroupType.TYPE_COMMUNITY)) {
-            if (groupProfileBean.isOwner()) {
-                shootMemberCount = members.size() > OWNER_COMMUNITY_MAX_LIMIT ? OWNER_COMMUNITY_MAX_LIMIT : members.size();
-            } else {
-                shootMemberCount = members.size() > NORMAL_COMMUNITY_MAX_LIMIT ? NORMAL_COMMUNITY_MAX_LIMIT : members.size();
-            }
-        }
-
-        for (int i = 0; i < shootMemberCount; i++) {
-            groupMembers.add(members.get(i));
-        }
-        if (groupProfileBean.getApproveOpt() != V2TIMGroupInfo.V2TIM_GROUP_ADD_FORBID) {
-            groupMembers.add(addItem);
-        }
-
-        if (groupProfileBean.canManage()) {
-            groupMembers.add(removeItem);
-        }
-        notifyDataSetChanged();
-    }
-
-    public static class MyViewHolder extends RecyclerView.ViewHolder {
-        private final ImageView memberIcon;
-        private final TextView memberName;
-
-        public MyViewHolder(@NonNull View itemView) {
-            super(itemView);
-            memberIcon = itemView.findViewById(R.id.group_member_icon);
-            memberName = itemView.findViewById(R.id.group_member_name);
-        }
-    }
-}

+ 0 - 278
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/GroupMemberLayout.java

@@ -1,278 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuikit.timcommon.component.BottomSelectSheet;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberChangedCallback;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberLayout;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberLayout extends LinearLayout implements IGroupMemberLayout {
-    private TitleBarLayout mTitleBar;
-    private GroupMemberAdapter mAdapter;
-    private IGroupMemberListener groupMemberListener;
-    private GroupInfo mGroupInfo;
-    private RecyclerView recyclerView;
-    private boolean isSelectMode;
-    private String title;
-    private RecyclerView selectedList;
-    private SelectedAdapter selectedListAdapter;
-    private View selectArea;
-    private TextView confirmButton;
-
-    private GroupInfoPresenter presenter;
-
-    public GroupMemberLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public GroupMemberLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public GroupMemberLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.group_member_layout, this);
-        mTitleBar = findViewById(R.id.group_member_title_bar);
-        mTitleBar.setTitle(getContext().getString(R.string.manager), ITitleBarLayout.Position.RIGHT);
-        mTitleBar.getRightIcon().setVisibility(GONE);
-        mTitleBar.setOnRightClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                buildPopMenu();
-            }
-        });
-        mAdapter = new GroupMemberAdapter();
-        mAdapter.setMemberChangedCallback(new IGroupMemberChangedCallback() {
-            @Override
-            public void onMemberRemoved(GroupMemberInfo memberInfo) {
-                if (!TextUtils.isEmpty(title)) {
-                    mTitleBar.setTitle(title, ITitleBarLayout.Position.MIDDLE);
-                } else {
-                    mTitleBar.setTitle(
-                        getContext().getString(R.string.group_members) + "(" + mGroupInfo.getGroupMemberCount() + ")", TitleBarLayout.Position.MIDDLE);
-                }
-            }
-        });
-        recyclerView = findViewById(R.id.group_all_members);
-        recyclerView.setLayoutManager(new CustomLinearLayoutManager(getContext()));
-        recyclerView.setAdapter(mAdapter);
-        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
-                super.onScrollStateChanged(recyclerView, newState);
-                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
-                    LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
-                    if (layoutManager == null) {
-                        return;
-                    }
-                    int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition();
-                    if (mAdapter != null) {
-                        if (lastPosition == mAdapter.getItemCount() - 1) {
-                            if (mGroupInfo != null && mGroupInfo.getNextSeq() != 0) {
-                                presenter.getGroupMembers(mGroupInfo, new IUIKitCallback<GroupInfo>() {
-                                    @Override
-                                    public void onSuccess(GroupInfo data) {
-                                        onGroupMemberListChanged(data);
-                                        mAdapter.notifyDataSetChanged();
-                                    }
-
-                                    @Override
-                                    public void onError(String module, int errCode, String errMsg) {}
-                                });
-                            }
-                        }
-                    }
-                }
-            }
-        });
-
-        selectArea = findViewById(R.id.select_area);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new SelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-
-        confirmButton = findViewById(R.id.confirm_button);
-        confirmButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-
-        mAdapter.setOnSelectChangedListener(new OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged() {
-                selectedListAdapter.setMembers(mAdapter.getSelectedMemberInfoList());
-                selectedListAdapter.notifyDataSetChanged();
-            }
-        });
-    }
-
-    private void confirmAndFinish() {
-        if (groupMemberListener != null) {
-            groupMemberListener.setSelectedMember(mAdapter.getSelectedMember());
-        }
-    }
-
-    public TitleBarLayout getTitleBar() {
-        return mTitleBar;
-    }
-
-    public void setExcludeList(ArrayList<String> excludeList) {
-        mAdapter.setExcludeList(excludeList);
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        mAdapter.setAlreadySelectedList(alreadySelectedList);
-    }
-
-    public void setSelectMode(boolean selectMode) {
-        isSelectMode = selectMode;
-        if (isSelectMode) {
-            mTitleBar.setTitle(getContext().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-            mTitleBar.getRightGroup().setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (groupMemberListener != null) {
-                        groupMemberListener.setSelectedMember(mAdapter.getSelectedMember());
-                    }
-                }
-            });
-            selectArea.setVisibility(VISIBLE);
-        }
-
-        mAdapter.setSelectMode(isSelectMode);
-    }
-
-    @Override
-    public void setParentLayout(Object parent) {}
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    @Override
-    public void onGroupInfoChanged(GroupInfo groupInfo) {}
-
-    @Override
-    public void onGroupMemberListChanged(GroupInfo groupInfo) {
-        mGroupInfo = groupInfo;
-        presenter.setGroupInfo(groupInfo);
-        mAdapter.setDataSource(groupInfo);
-        if (groupInfo != null) {
-            if (!TextUtils.isEmpty(title)) {
-                mTitleBar.setTitle(title, ITitleBarLayout.Position.MIDDLE);
-            } else {
-                mTitleBar.setTitle(
-                    getContext().getString(R.string.group_members) + "(" + groupInfo.getGroupMemberCount() + ")", TitleBarLayout.Position.MIDDLE);
-            }
-        }
-    }
-
-    private void buildPopMenu() {
-        if (mGroupInfo == null) {
-            return;
-        }
-
-        List<String> stringList = new ArrayList<>();
-        String addMember = getResources().getString(R.string.add_group_member);
-        String removeMember = getResources().getString(R.string.remove_group_member);
-        stringList.add(addMember);
-        if (mGroupInfo.isOwner()) {
-            stringList.add(removeMember);
-        }
-        BottomSelectSheet sheet = new BottomSelectSheet(getContext());
-        sheet.setSelectList(stringList);
-        sheet.setOnClickListener(index -> {
-            if (index == 0) {
-                if (groupMemberListener != null) {
-                    groupMemberListener.forwardAddMember(mGroupInfo);
-                }
-            } else if (index == 1) {
-                if (groupMemberListener != null) {
-                    groupMemberListener.forwardDeleteMember(mGroupInfo);
-                }
-            }
-        });
-        sheet.show();
-    }
-
-    public void setGroupMemberListener(IGroupMemberListener listener) {
-        this.groupMemberListener = listener;
-    }
-
-    public void setPresenter(GroupInfoPresenter presenter) {
-        this.presenter = presenter;
-        mAdapter.setPresenter(presenter);
-    }
-
-    public static class SelectedAdapter extends RecyclerView.Adapter<SelectedAdapter.SelectedViewHolder> {
-        private List<GroupMemberInfo> mMembers;
-
-        public void setMembers(List<GroupMemberInfo> mMembers) {
-            this.mMembers = mMembers;
-        }
-
-        @NonNull
-        @Override
-        public SelectedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            return new SelectedViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.group_member_selected_item, parent, false));
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull SelectedViewHolder holder, int position) {
-            GlideEngine.loadImage(holder.userIconView, mMembers.get(position).getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (mMembers == null) {
-                return 0;
-            }
-            return mMembers.size();
-        }
-
-        public static class SelectedViewHolder extends RecyclerView.ViewHolder {
-            public final ImageView userIconView;
-
-            public SelectedViewHolder(@NonNull View itemView) {
-                super(itemView);
-                userIconView = itemView.findViewById(R.id.ivAvatar);
-            }
-        }
-    }
-
-    public interface OnSelectChangedListener {
-        void onSelectChanged();
-    }
-}

+ 0 - 155
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/classicui/widget/NewFriendListAdapter.java

@@ -1,155 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.classicui.widget;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.NewFriendApplicationDetailActivity;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendPresenter;
-import java.util.List;
-
-public class NewFriendListAdapter extends ArrayAdapter<FriendApplicationBean> {
-    private static final String TAG = NewFriendListAdapter.class.getSimpleName();
-
-    private int mResourceId;
-    private View mView;
-    private ViewHolder mViewHolder;
-
-    private NewFriendPresenter presenter;
-
-    /**
-     * Constructor
-     *
-     * @param context  The current context.
-     * @param resource The resource ID for a layout ic_chat_input_file containing a TextView to use when
-     *                 instantiating views.
-     * @param objects  The objects to represent in the ListView.
-     */
-    public NewFriendListAdapter(Context context, int resource, List<FriendApplicationBean> objects) {
-        super(context, resource, objects);
-        mResourceId = resource;
-    }
-
-    @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        final FriendApplicationBean data = getItem(position);
-        if (convertView != null) {
-            mView = convertView;
-            mViewHolder = (ViewHolder) mView.getTag();
-        } else {
-            mView = LayoutInflater.from(getContext()).inflate(mResourceId, null);
-            mView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Intent intent = new Intent(getContext(), NewFriendApplicationDetailActivity.class);
-                    intent.putExtra(TUIConstants.TUIContact.CONTENT, data);
-                    getContext().startActivity(intent);
-                }
-            });
-            mViewHolder = new ViewHolder();
-            mViewHolder.avatar = mView.findViewById(R.id.avatar);
-            mViewHolder.name = mView.findViewById(R.id.name);
-            mViewHolder.des = mView.findViewById(R.id.description);
-            mViewHolder.agree = mView.findViewById(R.id.agree);
-            mViewHolder.reject = mView.findViewById(R.id.reject);
-            mViewHolder.result = mView.findViewById(R.id.result_tv);
-            mView.setTag(mViewHolder);
-        }
-        Resources res = getContext().getResources();
-        int radius = mView.getResources().getDimensionPixelSize(R.dimen.contact_profile_face_radius);
-        GlideEngine.loadUserIcon(mViewHolder.avatar, data.getFaceUrl(), radius);
-        mViewHolder.name.setText(TextUtils.isEmpty(data.getNickName()) ? data.getUserId() : data.getNickName());
-        mViewHolder.des.setText(data.getAddWording());
-        switch (data.getAddType()) {
-            case FriendApplicationBean.FRIEND_APPLICATION_COME_IN:
-                mViewHolder.agree.setText(res.getString(R.string.request_agree));
-                mViewHolder.agree.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        doResponse(data, true);
-                    }
-                });
-                mViewHolder.reject.setText(res.getString(R.string.refuse));
-                mViewHolder.reject.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        doResponse(data, false);
-                    }
-                });
-                if (data.isAccept()) {
-                    mViewHolder.agree.setVisibility(View.GONE);
-                    mViewHolder.reject.setVisibility(View.GONE);
-                    mViewHolder.result.setVisibility(View.VISIBLE);
-                }
-                break;
-            case FriendApplicationBean.FRIEND_APPLICATION_BOTH:
-                mViewHolder.agree.setText(res.getString(R.string.request_accepted));
-                break;
-            default:
-                break;
-        }
-        return mView;
-    }
-
-    private void doResponse(FriendApplicationBean bean, boolean isAccept) {
-        if (presenter != null) {
-            if (isAccept) {
-                presenter.acceptFriendApplication(bean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        bean.setAccept(true);
-                        refreshList();
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage("Error code = " + errCode + ", desc = " + errMsg);
-                    }
-                });
-            } else {
-                presenter.refuseFriendApplication(bean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {}
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage("Error code = " + errCode + ", desc = " + errMsg);
-                    }
-                });
-            }
-        }
-    }
-
-    private void refreshList() {
-        notifyDataSetChanged();
-    }
-
-    public void setPresenter(NewFriendPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public class ViewHolder {
-        ImageView avatar;
-        TextView name;
-        TextView des;
-        TextView agree;
-        TextView reject;
-        TextView result;
-    }
-}

+ 0 - 33
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/bean/BaseIndexBean.java

@@ -1,33 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean;
-
-import android.text.TextUtils;
-
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.suspension.ISuspensionInterface;
-
-import java.io.Serializable;
-
-public abstract class BaseIndexBean implements ISuspensionInterface, Serializable {
-    private String baseIndexTag; 
-
-    public String getBaseIndexTag() {
-        return baseIndexTag;
-    }
-
-    public BaseIndexBean setBaseIndexTag(String baseIndexTag) {
-        this.baseIndexTag = baseIndexTag;
-        return this;
-    }
-
-    @Override
-    public String getSuspensionTag() {
-        if (TextUtils.isEmpty(baseIndexTag)) {
-            return "";
-        }
-        return baseIndexTag;
-    }
-
-    @Override
-    public boolean isShowSuspension() {
-        return true;
-    }
-}

+ 0 - 20
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/bean/BaseIndexPinyinBean.java

@@ -1,20 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean;
-
-public abstract class BaseIndexPinyinBean extends BaseIndexBean {
-    private String baseIndexPinyin;
-
-    public String getBaseIndexPinyin() {
-        return baseIndexPinyin;
-    }
-
-    public BaseIndexPinyinBean setBaseIndexPinyin(String baseIndexPinyin) {
-        this.baseIndexPinyin = baseIndexPinyin;
-        return this;
-    }
-
-    public boolean isNeedToPinyin() {
-        return true;
-    }
-
-    public abstract String getTarget();
-}

+ 0 - 28
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/helper/IIndexBarDataHelper.java

@@ -1,28 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.helper;
-
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean.BaseIndexPinyinBean;
-
-import java.util.List;
-
-/**
- * Introduction: Data-related helper classes for IndexBar
- * 1 Convert Chinese to Pinyin
- * 2 filling indexTag
- * 3 Sort source data
- * 4 According to the sorted source data -> source data of indexBar
- */
-
-public interface IIndexBarDataHelper {
-    
-    // Chinese to Pinyin
-    IIndexBarDataHelper convert(List<? extends BaseIndexPinyinBean> data);
-
-    // Pinyin to tag
-    IIndexBarDataHelper fillInexTag(List<? extends BaseIndexPinyinBean> data);
-
-    // Sort source data
-    IIndexBarDataHelper sortSourceDatas(List<? extends BaseIndexPinyinBean> datas);
-
-    // sort source data of indexBar, call after the method of sortSourceDatas
-    IIndexBarDataHelper getSortedIndexDatas(List<? extends BaseIndexPinyinBean> sourceDatas, List<String> datas);
-}

+ 0 - 114
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/helper/IndexBarDataHelperImpl.java

@@ -1,114 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.helper;
-
-import android.text.TextUtils;
-import com.github.promeg.pinyinhelper.Pinyin;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean.BaseIndexPinyinBean;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-public class IndexBarDataHelperImpl implements IIndexBarDataHelper {
-    @Override
-    public IIndexBarDataHelper convert(List<? extends BaseIndexPinyinBean> datas) {
-        if (null == datas || datas.isEmpty()) {
-            return this;
-        }
-        int size = datas.size();
-        for (int i = 0; i < size; i++) {
-            BaseIndexPinyinBean indexPinyinBean = datas.get(i);
-            StringBuilder pySb = new StringBuilder();
-            if (indexPinyinBean.isNeedToPinyin()) {
-                String target = indexPinyinBean.getTarget();
-                
-                // Traverse each char of target to get its full pinyin
-                if (target == null) {
-                    continue;
-                }
-                for (int i1 = 0; i1 < target.length(); i1++) {
-                    //  Convert char to Pinyin using TinyPinyin
-                    //  If char is Chinese characters, return uppercase pinyin. If c is not a Chinese character, return String.valueOf(c)
-                    pySb.append(Pinyin.toPinyin(target.charAt(i1)).toUpperCase());
-                }
-                indexPinyinBean.setBaseIndexPinyin(pySb.toString());
-            } else {
-                // pySb.append(indexPinyinBean.getBaseIndexPinyin());
-            }
-        }
-        return this;
-    }
-
-    @Override
-    public IIndexBarDataHelper fillInexTag(List<? extends BaseIndexPinyinBean> datas) {
-        if (null == datas || datas.isEmpty()) {
-            return this;
-        }
-        int size = datas.size();
-        for (int i = 0; i < size; i++) {
-            BaseIndexPinyinBean indexPinyinBean = datas.get(i);
-            if (indexPinyinBean.isNeedToPinyin()) {
-                if (TextUtils.isEmpty(indexPinyinBean.getBaseIndexPinyin())) {
-                    indexPinyinBean.setBaseIndexTag("#");
-                    continue;
-                }
-                String tagString = indexPinyinBean.getBaseIndexPinyin().substring(0, 1);
-                if (tagString.matches("[A-Z]")) {
-                    indexPinyinBean.setBaseIndexTag(tagString);
-                } else {
-                    indexPinyinBean.setBaseIndexTag("#");
-                }
-            }
-        }
-        return this;
-    }
-
-    @Override
-    public IIndexBarDataHelper sortSourceDatas(List<? extends BaseIndexPinyinBean> datas) {
-        if (null == datas || datas.isEmpty()) {
-            return this;
-        }
-        convert(datas);
-        fillInexTag(datas);
-
-        Collections.sort(datas, new Comparator<BaseIndexPinyinBean>() {
-            @Override
-            public int compare(BaseIndexPinyinBean lhs, BaseIndexPinyinBean rhs) {
-                if (lhs.getBaseIndexPinyin() == null && rhs.getBaseIndexPinyin() == null) {
-                    return 0;
-                } else if (lhs.getBaseIndexPinyin() == null && rhs.getBaseIndexPinyin() != null) {
-                    return -1;
-                } else if (lhs.getBaseIndexPinyin() != null && rhs.getBaseIndexPinyin() == null) {
-                    return 1;
-                }
-                if (!lhs.isNeedToPinyin()) {
-                    return 0;
-                } else if (!rhs.isNeedToPinyin()) {
-                    return 0;
-                } else if (lhs.getBaseIndexTag().equals("#") && !rhs.getBaseIndexTag().equals("#")) {
-                    return 1;
-                } else if (!lhs.getBaseIndexTag().equals("#") && rhs.getBaseIndexTag().equals("#")) {
-                    return -1;
-                } else {
-                    return lhs.getBaseIndexPinyin().compareTo(rhs.getBaseIndexPinyin());
-                }
-            }
-        });
-        return this;
-    }
-
-    @Override
-    public IIndexBarDataHelper getSortedIndexDatas(List<? extends BaseIndexPinyinBean> sourceDatas, List<String> indexDatas) {
-        if (null == sourceDatas || sourceDatas.isEmpty()) {
-            return this;
-        }
-
-        int size = sourceDatas.size();
-        String baseIndexTag;
-        for (int i = 0; i < size; i++) {
-            baseIndexTag = sourceDatas.get(i).getBaseIndexTag();
-            if (!indexDatas.contains(baseIndexTag)) {
-                indexDatas.add(baseIndexTag);
-            }
-        }
-        return this;
-    }
-}

+ 0 - 340
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/indexbar/widget/IndexBar.java

@@ -1,340 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.widget;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.view.MotionEvent;
-import android.view.View;
-import android.widget.TextView;
-import com.tencent.qcloud.tuikit.timcommon.R;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.bean.BaseIndexPinyinBean;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.helper.IIndexBarDataHelper;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.helper.IndexBarDataHelperImpl;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class IndexBar extends View {
-    private static final String TAG = IndexBar.class.getSimpleName();
-
-    public static String[] INDEX_STRING = {
-        "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "#"};
-    
-    // Whether the index data source needs to be generated based on the actual data
-    private boolean isNeedRealIndex;
-
-    private List<String> mIndexDatas;
-
-    private int mWidth;
-    private int mHeight;
-
-    private int mGapHeight;
-
-    private Paint mPaint;
-
-    // background color when finger is pressed
-    private int mPressedBackground;
-
-    private IIndexBarDataHelper mDataHelper;
-
-    private TextView mPressedShowTextView;
-    private boolean isSourceDatasAlreadySorted;
-    private List<? extends BaseIndexPinyinBean> mSourceDatas;
-    private CustomLinearLayoutManager mLayoutManager;
-    private int mHeaderViewCount = 0;
-    private OnIndexPressedListener mOnIndexPressedListener;
-
-    public IndexBar(Context context) {
-        this(context, null);
-    }
-
-    public IndexBar(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public IndexBar(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init(context, attrs, defStyleAttr);
-    }
-
-    public int getHeaderViewCount() {
-        return mHeaderViewCount;
-    }
-
-    private void init(Context context, AttributeSet attrs, int defStyleAttr) {
-        int textSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 12, getResources().getDisplayMetrics());
-        mPressedBackground = Color.BLACK;
-        TypedArray typedArray = context.getTheme().obtainStyledAttributes(attrs, R.styleable.IndexBar, defStyleAttr, 0);
-        int n = typedArray.getIndexCount();
-        for (int i = 0; i < n; i++) {
-            int attr = typedArray.getIndex(i);
-            if (attr == R.styleable.IndexBar_indexBarTextSize) {
-                textSize = typedArray.getDimensionPixelSize(attr, textSize);
-            } else if (attr == R.styleable.IndexBar_indexBarPressBackground) {
-                mPressedBackground = typedArray.getColor(attr, mPressedBackground);
-            }
-        }
-        typedArray.recycle();
-
-        initIndexDatas();
-
-        mPaint = new Paint();
-        mPaint.setAntiAlias(true);
-        mPaint.setTextSize(textSize);
-        mPaint.setColor(0xff888888);
-
-        setOnIndexPressedListener(new OnIndexPressedListener() {
-            @Override
-            public void onIndexPressed(int index, String text) {
-                if (mPressedShowTextView != null) {
-                    mPressedShowTextView.setVisibility(View.VISIBLE);
-                    mPressedShowTextView.setText(text);
-                }
-
-                if (mLayoutManager != null) {
-                    int position = getPosByTag(text);
-                    if (position != -1) {
-                        mLayoutManager.scrollToPositionWithOffset(position, 0);
-                    }
-                }
-            }
-
-            @Override
-            public void onMotionEventEnd() {
-                if (mPressedShowTextView != null) {
-                    mPressedShowTextView.setVisibility(View.GONE);
-                }
-            }
-        });
-
-        mDataHelper = new IndexBarDataHelperImpl();
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        int measureWidth = 0;
-        int measureHeight = 0;
-
-        Rect indexBounds = new Rect(); 
-        String index; 
-        for (int i = 0; i < mIndexDatas.size(); i++) {
-            index = mIndexDatas.get(i);
-            mPaint.getTextBounds(index, 0, index.length(), indexBounds);
-            measureWidth = Math.max(indexBounds.width(), measureWidth);
-            measureHeight = Math.max(indexBounds.height(), measureHeight);
-        }
-        int wMode = MeasureSpec.getMode(widthMeasureSpec);
-        measureHeight *= mIndexDatas.size();
-        int wSize = MeasureSpec.getSize(widthMeasureSpec);
-        switch (wMode) {
-            case MeasureSpec.EXACTLY:
-                measureWidth = wSize;
-                break;
-            case MeasureSpec.AT_MOST:
-                measureWidth = Math.min(measureWidth, wSize);
-                break;
-            case MeasureSpec.UNSPECIFIED:
-                break;
-            default:
-                break;
-        }
-        int hMode = MeasureSpec.getMode(heightMeasureSpec);
-        int hSize = MeasureSpec.getSize(heightMeasureSpec);
-        switch (hMode) {
-            case MeasureSpec.EXACTLY:
-                measureHeight = hSize;
-                break;
-            case MeasureSpec.AT_MOST:
-                measureHeight = Math.min(measureHeight, hSize);
-                break;
-            case MeasureSpec.UNSPECIFIED:
-                break;
-            default:
-                break;
-        }
-
-        setMeasuredDimension(measureWidth, measureHeight);
-    }
-
-    @Override
-    protected void onDraw(Canvas canvas) {
-        int t = getPaddingTop();
-        String index;
-        for (int i = 0; i < mIndexDatas.size(); i++) {
-            index = mIndexDatas.get(i);
-            
-            // Get the FontMetrics of the brush, used to calculate the baseLine. Because the y coordinate of drawText represents the position of the baseLine of
-            // the drawn text
-            Paint.FontMetrics fontMetrics = mPaint.getFontMetrics();
-            
-            // Calculate the baseLine value centered vertically in the index area of each grid
-            int baseline = (int) ((mGapHeight - fontMetrics.bottom - fontMetrics.top) / 2);
-            
-            // Call drawText to center the drawing index
-            canvas.drawText(index, mWidth / 2 - mPaint.measureText(index) / 2, t + mGapHeight * i + baseline, mPaint);
-        }
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        switch (event.getAction()) {
-            case MotionEvent.ACTION_DOWN:
-                setBackgroundColor(mPressedBackground);
-                onTouchMove(event);
-                break;
-            case MotionEvent.ACTION_MOVE:
-                onTouchMove(event);
-                break;
-            case MotionEvent.ACTION_UP:
-            case MotionEvent.ACTION_CANCEL:
-            default:
-                setBackgroundResource(android.R.color.transparent);
-
-                if (null != mOnIndexPressedListener) {
-                    mOnIndexPressedListener.onMotionEventEnd();
-                }
-                break;
-        }
-        return true;
-    }
-
-    private void onTouchMove(MotionEvent event) {
-
-        float y = event.getY();
-        
-        // Determine which area the landing point is in by calculating:
-        int pressI = (int) ((y - getPaddingTop()) / mGapHeight);
-        
-        // Boundary processing (when the finger moves, it may have moved out of the boundary to prevent crossing the boundary)
-        if (pressI < 0) {
-            pressI = 0;
-        } else if (pressI >= mIndexDatas.size()) {
-            pressI = mIndexDatas.size() - 1;
-        }
-
-        if (null != mOnIndexPressedListener && pressI > -1 && pressI < mIndexDatas.size()) {
-            mOnIndexPressedListener.onIndexPressed(pressI, mIndexDatas.get(pressI));
-        }
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
-        super.onSizeChanged(w, h, oldw, oldh);
-        mWidth = w;
-        mHeight = h;
-
-        if (null == mIndexDatas || mIndexDatas.isEmpty()) {
-            return;
-        }
-        computeGapHeight();
-    }
-
-    public OnIndexPressedListener getOnIndexPressedListener() {
-        return mOnIndexPressedListener;
-    }
-
-    public void setOnIndexPressedListener(OnIndexPressedListener mOnIndexPressedListener) {
-        this.mOnIndexPressedListener = mOnIndexPressedListener;
-    }
-
-    /**
-     * Displays the TextView of the currently pressed index
-     *
-     * @return
-     */
-    public IndexBar setPressedShowTextView(TextView mPressedShowTextView) {
-        this.mPressedShowTextView = mPressedShowTextView;
-        return this;
-    }
-
-    public IndexBar setLayoutManager(CustomLinearLayoutManager mLayoutManager) {
-        this.mLayoutManager = mLayoutManager;
-        return this;
-    }
-
-    /**
-     * Be sure to call before setting the data source {@link #setSourceDatas(List)}
-     *
-     * @param needRealIndex
-     * @return
-     */
-    public IndexBar setNeedRealIndex(boolean needRealIndex) {
-        isNeedRealIndex = needRealIndex;
-        initIndexDatas();
-        return this;
-    }
-
-    private void initIndexDatas() {
-        if (isNeedRealIndex) {
-            mIndexDatas = new ArrayList<>();
-        } else {
-            mIndexDatas = Arrays.asList(INDEX_STRING);
-        }
-    }
-
-    public IndexBar setSourceDatas(List<? extends BaseIndexPinyinBean> mSourceDatas) {
-        this.mSourceDatas = mSourceDatas;
-        initSourceDatas();
-        return this;
-    }
-
-    /**
-     * Initialize the original data source and take out the index data source
-     *
-     * @return
-     */
-    private void initSourceDatas() {
-        if (null == mSourceDatas || mSourceDatas.isEmpty()) {
-            return;
-        }
-        if (!isSourceDatasAlreadySorted) {
-            mDataHelper.sortSourceDatas(mSourceDatas);
-        } else {
-            mDataHelper.convert(mSourceDatas);
-            mDataHelper.fillInexTag(mSourceDatas);
-        }
-        if (isNeedRealIndex) {
-            mDataHelper.getSortedIndexDatas(mSourceDatas, mIndexDatas);
-            computeGapHeight();
-        }
-        // sortData();
-    }
-
-    /**
-     * Called when:
-     * 1 change in data source
-     * 2 When the control size changes
-     * Calculate gapHeight
-     */
-    private void computeGapHeight() {
-        mGapHeight = (mHeight - getPaddingTop() - getPaddingBottom()) / mIndexDatas.size();
-    }
-
-    private int getPosByTag(String tag) {
-        if (null == mSourceDatas || mSourceDatas.isEmpty()) {
-            return -1;
-        }
-        if (TextUtils.isEmpty(tag)) {
-            return -1;
-        }
-        for (int i = 0; i < mSourceDatas.size(); i++) {
-            if (tag.equals(mSourceDatas.get(i).getBaseIndexTag())) {
-                return i + getHeaderViewCount();
-            }
-        }
-        return -1;
-    }
-
-    public interface OnIndexPressedListener {
-        void onIndexPressed(int index, String text);
-
-        void onMotionEventEnd();
-    }
-}

+ 0 - 10
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/suspension/ISuspensionInterface.java

@@ -1,10 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.suspension;
-
-public interface ISuspensionInterface {
-    
-    // Whether to display the hover title
-    boolean isShowSuspension();
-
-    // hover title
-    String getSuspensionTag();
-}

+ 0 - 220
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/component/indexlib/suspension/SuspensionDecoration.java

@@ -1,220 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.component.indexlib.suspension;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.util.TypedValue;
-import android.view.View;
-
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.qcloud.tuikit.timcommon.util.LayoutUtil;
-
-import java.util.List;
-
-public class SuspensionDecoration extends RecyclerView.ItemDecoration {
-    private static final String TAG = SuspensionDecoration.class.getSimpleName();
-    private static int COLOR_TITLE_BG = Color.parseColor("#FFF2F3F5");
-    private static int COLOR_TITLE_BOTTOM_LINE = Color.parseColor("#FFCACACA");
-    private static int COLOR_TITLE_FONT = Color.parseColor("#FF888888");
-    private int mTitleFontSize;
-    private List<? extends ISuspensionInterface> mDatas;
-    private Paint mPaint;
-    private Rect mBounds;
-    private int mTitleHeight;
-    private boolean isShowLine = true;
-    private int mHeaderViewCount = 0;
-
-    public SuspensionDecoration(Context context, List<? extends ISuspensionInterface> datas) {
-        super();
-        mDatas = datas;
-        mPaint = new Paint();
-        mBounds = new Rect();
-        mTitleHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 33f, context.getResources().getDisplayMetrics());
-        mTitleFontSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 13f, context.getResources().getDisplayMetrics());
-        mPaint.setTextSize(mTitleFontSize);
-        mPaint.setAntiAlias(true);
-    }
-
-    public SuspensionDecoration setTitleHeight(int mTitleHeight) {
-        this.mTitleHeight = mTitleHeight;
-        return this;
-    }
-
-    public SuspensionDecoration setShowLine(boolean isShowLine) {
-        this.isShowLine = isShowLine;
-        return this;
-    }
-
-    public SuspensionDecoration setColorTitleBg(int colorTitleBg) {
-        COLOR_TITLE_BG = colorTitleBg;
-        return this;
-    }
-
-    public SuspensionDecoration setColorTitleFont(int colorTitleFont) {
-        COLOR_TITLE_FONT = colorTitleFont;
-        return this;
-    }
-
-    public SuspensionDecoration setTitleFontSize(int mTitleFontSize) {
-        mPaint.setTextSize(mTitleFontSize);
-        return this;
-    }
-
-    public SuspensionDecoration setDatas(List<? extends ISuspensionInterface> mDatas) {
-        this.mDatas = mDatas;
-        return this;
-    }
-
-    public int getHeaderViewCount() {
-        return mHeaderViewCount;
-    }
-
-    public SuspensionDecoration setHeaderViewCount(int headerViewCount) {
-        mHeaderViewCount = headerViewCount;
-        return this;
-    }
-
-    @Override
-    public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
-        super.onDraw(c, parent, state);
-        final int left = parent.getPaddingLeft();
-        final int right = parent.getWidth() - parent.getPaddingRight();
-        final int childCount = parent.getChildCount();
-        for (int i = 0; i < childCount; i++) {
-            final View child = parent.getChildAt(i);
-            final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
-            int position = params.getViewLayoutPosition();
-            position -= getHeaderViewCount();
-
-            if (mDatas == null || mDatas.isEmpty() || position > mDatas.size() - 1 || position < 0 || !mDatas.get(position).isShowSuspension()) {
-                continue;
-            }
-
-            if (position > -1) {
-                if (position == 0) {
-                    drawTitleArea(c, left, right, child, params, position);
-
-                } else {
-                    if (null != mDatas.get(position).getSuspensionTag()
-                        && !mDatas.get(position).getSuspensionTag().equals(mDatas.get(position - 1).getSuspensionTag())) {
-                        drawTitleArea(c, left, right, child, params, position);
-                    } else {
-                        // none
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * How to draw the background and text of the Title area
-     *
-     * @param c
-     * @param left
-     * @param right
-     * @param child
-     * @param params
-     * @param position
-     */
-    private void drawTitleArea(Canvas c, int left, int right, View child, RecyclerView.LayoutParams params,
-        int position) { 
-        mPaint.setColor(COLOR_TITLE_BG);
-        c.drawRect(left, child.getTop() - params.topMargin - mTitleHeight, right, child.getTop() - params.topMargin, mPaint);
-
-        if (isShowLine) {
-            mPaint.setColor(COLOR_TITLE_BOTTOM_LINE);
-            c.drawRect(left, child.getTop() - params.topMargin - 1, right, child.getTop() - params.topMargin, mPaint);
-        }
-
-        mPaint.setColor(COLOR_TITLE_FONT);
-        mPaint.getTextBounds(mDatas.get(position).getSuspensionTag(), 0, mDatas.get(position).getSuspensionTag().length(), mBounds);
-
-        int x = child.getPaddingLeft() + 61;
-        int y = child.getTop() - params.topMargin - (mTitleHeight / 2 - mBounds.height() / 2);
-        if (LayoutUtil.isRTL()) {
-            x = child.getWidth() - child.getPaddingRight() - mBounds.width() - 61;
-        }
-        c.drawText(mDatas.get(position).getSuspensionTag(), x, y, mPaint);
-    }
-
-    @Override public void onDrawOver(Canvas c, final RecyclerView parent, RecyclerView.State state) { 
-        int pos = ((LinearLayoutManager) (parent.getLayoutManager())).findFirstVisibleItemPosition();
-        pos -= getHeaderViewCount();
-
-        if (mDatas == null || mDatas.isEmpty() || pos > mDatas.size() - 1 || pos < 0 || !mDatas.get(pos).isShowSuspension()) {
-            return;
-        }
-
-        String tag = mDatas.get(pos).getSuspensionTag();
-        // View child = parent.getChildAt(pos);
-        View child = parent.findViewHolderForLayoutPosition(pos + getHeaderViewCount()).itemView;
-
-        boolean flag = false; 
-        if ((pos + 1) < mDatas.size()) {
-            if (null != tag && !tag.equals(mDatas.get(pos + 1).getSuspensionTag())) {
-                
-                // The tag of the current first visible item is not equal to the tag of the next item, indicating that the floating View is about to be
-                // switched.
-                //                TUIKitLog.d(TAG, "onDrawOver() called with: c = [" + child.getTop());
-                if (child.getHeight() + child.getTop() < mTitleHeight) {
-                    
-                    // When the remaining height of the first visible item on the screen is less than the height of the title area, we should also start to do
-                    // the "swap animation" of the floating Title
-                    c.save();
-                    flag = true;
-
-                    // parent.getRight() - parent.getPaddingRight(), parent.getPaddingTop() + child.getHeight() + child.getTop());
-
-                    //  Similar to Ele.me ordering, the hover head of the product list switches the "animation effect"
-                    //  When sliding up, move the canvas up (y is a negative number), so the Rect and Text drawn by the canvas are moved up, and there is a kind
-                    //  of "animation" feeling of switching
-                    c.translate(0, child.getHeight() + child.getTop() - mTitleHeight);
-                }
-            }
-        }
-        mPaint.setColor(COLOR_TITLE_BG);
-        c.drawRect(
-            parent.getPaddingLeft(), parent.getPaddingTop(), parent.getRight() - parent.getPaddingRight(), parent.getPaddingTop() + mTitleHeight, mPaint);
-        mPaint.setColor(COLOR_TITLE_FONT);
-        mPaint.getTextBounds(tag, 0, tag.length(), mBounds);
-
-        int x = child.getPaddingLeft() + 61;
-        int y = parent.getPaddingTop() + mTitleHeight - (mTitleHeight / 2 - mBounds.height() / 2);
-        if (LayoutUtil.isRTL()) {
-            x = child.getWidth() - child.getPaddingRight() - mBounds.width() - 61;
-        }
-        c.drawText(tag, x, y, mPaint);
-
-        if (flag) {
-            c.restore();
-        }
-    }
-
-    @Override
-    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
-        super.getItemOffsets(outRect, view, parent, state);
-        int position = ((RecyclerView.LayoutParams) view.getLayoutParams()).getViewLayoutPosition();
-        position -= getHeaderViewCount();
-        if (mDatas == null || mDatas.isEmpty() || position > mDatas.size() - 1) {
-            return;
-        }
-
-        if (position > -1) {
-            ISuspensionInterface titleCategoryInterface = mDatas.get(position);
-            if (titleCategoryInterface.isShowSuspension()) {
-                if (position == 0) {
-                    outRect.set(0, mTitleHeight, 0, 0);
-                } else {
-                    if (null != titleCategoryInterface.getSuspensionTag()
-                            && !titleCategoryInterface.getSuspensionTag().equals(mDatas.get(position - 1).getSuspensionTag())) {
-                        outRect.set(0, mTitleHeight, 0, 0);
-                    }
-                }
-            }
-        }
-    }
-}

+ 0 - 23
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/TUIContactConfig.java

@@ -1,23 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.config;
-
-public class TUIContactConfig {
-    public static final String TAG = TUIContactConfig.class.getSimpleName();
-    private static TUIContactConfig instance;
-    private boolean isShowUserStatus;
-
-    public static TUIContactConfig getInstance() {
-        if (instance == null) {
-            instance = new TUIContactConfig();
-        }
-
-        return instance;
-    }
-
-    public boolean isShowUserStatus() {
-        return isShowUserStatus;
-    }
-
-    public void setShowUserStatus(boolean showUserStatus) {
-        isShowUserStatus = showUserStatus;
-    }
-}

+ 0 - 169
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/classicui/TUIContactConfigClassic.java

@@ -1,169 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.config.classicui;
-
-import androidx.annotation.IntDef;
-
-import com.tencent.qcloud.tuikit.tuicontact.config.TUIContactConfig;
-
-public class TUIContactConfigClassic {
-    private TUIContactConfigClassic() {}
-
-    private static final class TUIContactConfigClassicHolder {
-        private static final TUIContactConfigClassic INSTANCE = new TUIContactConfigClassic();
-    }
-
-    private static TUIContactConfigClassic getInstance() {
-        return TUIContactConfigClassicHolder.INSTANCE;
-    }
-
-    public static final int UNDEFINED = -1;
-
-    public static final int ALIAS = 1;
-    public static final int MUTE_AND_PIN = 2;
-    public static final int BACKGROUND = 3;
-    public static final int BLOCK = 4;
-    public static final int CLEAR_CHAT_HISTORY = 5;
-    public static final int DELETE = 6;
-    public static final int ADD_FRIEND = 7;
-
-    @IntDef({ALIAS, MUTE_AND_PIN, BACKGROUND, BLOCK, CLEAR_CHAT_HISTORY, DELETE, ADD_FRIEND})
-    private @interface Items {}
-
-    private boolean showAlias = true;
-    private boolean showMuteAndPin = true;
-    private boolean showBackground = true;
-    private boolean showBlock = true;
-    private boolean showClearChatHistory = true;
-    private boolean showDelete = true;
-    private boolean showAddFriend = true;
-    private int contactListAvatarRadius = UNDEFINED;
-
-    /**
-     * Hide items in contact config interface.
-     * @param items
-     */
-    public static void hideItemsInContactConfig(@Items int... items) {
-        for (int itemType : items) {
-            switch (itemType) {
-                case ALIAS: {
-                    getInstance().showAlias = false;
-                    break;
-                }
-                case MUTE_AND_PIN: {
-                    getInstance().showMuteAndPin = false;
-                    break;
-                }
-                case BACKGROUND: {
-                    getInstance().showBackground = false;
-                    break;
-                }
-                case BLOCK: {
-                    getInstance().showBlock = false;
-                    break;
-                }
-                case CLEAR_CHAT_HISTORY: {
-                    getInstance().showClearChatHistory = false;
-                    break;
-                }
-                case DELETE: {
-                    getInstance().showDelete = false;
-                    break;
-                }
-                case ADD_FRIEND: {
-                    getInstance().showAddFriend = false;
-                    break;
-                }
-                default: {
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * Get whether to show alias setting.
-     * @return
-     */
-    public static boolean isShowAlias() {
-        return getInstance().showAlias;
-    }
-
-    /**
-     * Get whether to show mute and pin setting.
-     * @return
-     */
-    public static boolean isShowMuteAndPin() {
-        return getInstance().showMuteAndPin;
-    }
-
-    /**
-     * Get whether to show the chat background setting.
-     * @return
-     */
-    public static boolean isShowBackground() {
-        return getInstance().showBackground;
-    }
-
-    /**
-     * Get whether to show block setting.
-     * @return
-     */
-    public static boolean isShowBlock() {
-        return getInstance().showBlock;
-    }
-
-    /**
-     * Get whether to show clear chat history button.
-     * @return
-     */
-    public static boolean isShowClearChatHistory() {
-        return getInstance().showClearChatHistory;
-    }
-
-    /**
-     * Get whether to show delete button.
-     * @return
-     */
-    public static boolean isShowDelete() {
-        return getInstance().showDelete;
-    }
-
-    /**
-     * Get whether to show add friend button.
-     * @return
-     */
-    public static boolean isShowAddFriend() {
-        return getInstance().showAddFriend;
-    }
-
-    /**
-     * Set whether to show user online status icon.
-     * @param showUserOnlineStatusIcon
-     */
-    public static void setShowUserOnlineStatusIcon(boolean showUserOnlineStatusIcon) {
-        TUIContactConfig.getInstance().setShowUserStatus(showUserOnlineStatusIcon);
-    }
-
-    /**
-     * Get whether to show user online status icon.
-     * @return
-     */
-    public static boolean isShowUserOnlineStatusIcon() {
-        return TUIContactConfig.getInstance().isShowUserStatus();
-    }
-
-    /**
-     * Set the radius of the avatar in the contact list.
-     * @param avatarRadius
-     */
-    public static void setContactListAvatarRadius(int avatarRadius) {
-        getInstance().contactListAvatarRadius = avatarRadius;
-    }
-
-    /**
-     * Get the radius of the avatar in the contact list.
-     * @return
-     */
-    public static int getContactAvatarRadius() {
-        return getInstance().contactListAvatarRadius;
-    }
-}

+ 0 - 169
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/config/minimalistui/TUIContactConfigMinimalist.java

@@ -1,169 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.config.minimalistui;
-
-import androidx.annotation.IntDef;
-
-import com.tencent.qcloud.tuikit.tuicontact.config.TUIContactConfig;
-
-public class TUIContactConfigMinimalist {
-    private TUIContactConfigMinimalist() {}
-
-    private static final class TUIContactConfigMinimalistHolder {
-        private static final TUIContactConfigMinimalist INSTANCE = new TUIContactConfigMinimalist();
-    }
-
-    private static TUIContactConfigMinimalist getInstance() {
-        return TUIContactConfigMinimalistHolder.INSTANCE;
-    }
-
-    public static final int UNDEFINED = -1;
-
-    public static final int ALIAS = 1;
-    public static final int MUTE_AND_PIN = 2;
-    public static final int BACKGROUND = 3;
-    public static final int BLOCK = 4;
-    public static final int CLEAR_CHAT_HISTORY = 5;
-    public static final int DELETE = 6;
-    public static final int ADD_FRIEND = 7;
-
-    @IntDef({ALIAS, MUTE_AND_PIN, BACKGROUND, BLOCK, CLEAR_CHAT_HISTORY, DELETE, ADD_FRIEND})
-    private @interface Items {}
-
-    private boolean showAlias = true;
-    private boolean showMuteAndPin = true;
-    private boolean showBackground = true;
-    private boolean showBlock = true;
-    private boolean showClearChatHistory = true;
-    private boolean showDelete = true;
-    private boolean showAddFriend = true;
-    private int contactListAvatarRadius = UNDEFINED;
-
-    /**
-     * Hide items in contact config interface.
-     * @param items
-     */
-    public static void hideItemsInContactConfig(@Items int... items) {
-        for (int itemType : items) {
-            switch (itemType) {
-                case ALIAS: {
-                    getInstance().showAlias = false;
-                    break;
-                }
-                case MUTE_AND_PIN: {
-                    getInstance().showMuteAndPin = false;
-                    break;
-                }
-                case BACKGROUND: {
-                    getInstance().showBackground = false;
-                    break;
-                }
-                case BLOCK: {
-                    getInstance().showBlock = false;
-                    break;
-                }
-                case CLEAR_CHAT_HISTORY: {
-                    getInstance().showClearChatHistory = false;
-                    break;
-                }
-                case DELETE: {
-                    getInstance().showDelete = false;
-                    break;
-                }
-                case ADD_FRIEND: {
-                    getInstance().showAddFriend = false;
-                    break;
-                }
-                default: {
-                    break;
-                }
-            }
-        }
-    }
-
-    /**
-     * Get whether to show alias setting.
-     * @return
-     */
-    public static boolean isShowAlias() {
-        return getInstance().showAlias;
-    }
-
-    /**
-     * Get whether to show mute and pin setting.
-     * @return
-     */
-    public static boolean isShowMuteAndPin() {
-        return getInstance().showMuteAndPin;
-    }
-
-    /**
-     * Get whether to show the chat background setting.
-     * @return
-     */
-    public static boolean isShowBackground() {
-        return getInstance().showBackground;
-    }
-
-    /**
-     * Get whether to show block setting.
-     * @return
-     */
-    public static boolean isShowBlock() {
-        return getInstance().showBlock;
-    }
-
-    /**
-     * Get whether to show clear chat history button.
-     * @return
-     */
-    public static boolean isShowClearChatHistory() {
-        return getInstance().showClearChatHistory;
-    }
-
-    /**
-     * Get whether to show delete button.
-     * @return
-     */
-    public static boolean isShowDelete() {
-        return getInstance().showDelete;
-    }
-
-    /**
-     * Get whether to show add friend button.
-     * @return
-     */
-    public static boolean isShowAddFriend() {
-        return getInstance().showAddFriend;
-    }
-
-    /**
-     * Set whether to show user online status icon.
-     * @param showUserOnlineStatusIcon
-     */
-    public static void setShowUserOnlineStatusIcon(boolean showUserOnlineStatusIcon) {
-        TUIContactConfig.getInstance().setShowUserStatus(showUserOnlineStatusIcon);
-    }
-
-    /**
-     * Get whether to show user online status icon.
-     * @return
-     */
-    public static boolean isShowUserOnlineStatusIcon() {
-        return TUIContactConfig.getInstance().isShowUserStatus();
-    }
-
-    /**
-     * Set the radius of the avatar in the contact list.
-     * @param avatarRadius
-     */
-    public static void setContactListAvatarRadius(int avatarRadius) {
-        getInstance().contactListAvatarRadius = avatarRadius;
-    }
-
-    /**
-     * Get the radius of the avatar in the contact list.
-     * @return
-     */
-    public static int getContactAvatarRadius() {
-        return getInstance().contactListAvatarRadius;
-    }
-}

+ 0 - 69
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/ContactEventListener.java

@@ -1,69 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.imsdk.v2.V2TIMUserStatus;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import java.util.List;
-
-public abstract class ContactEventListener {
-    /**
-     * New friend request notification. You will receive this callback in the following cases:
-     * 1. You send a friend request to others.
-     * 2. You receive a friend request from others.
-     */
-    public void onFriendApplicationListAdded(List<FriendApplicationBean> applicationList) {}
-
-    /**
-     * Friend request deletion notification. You will receive this callback in the following cases:
-     * 1. You call deleteFriendApplication to proactively delete a friend request.
-     * 2. You call refuseFriendApplication to reject a friend request.
-     * 3. You call acceptFriendApplication to accept a friend request and the acceptance type is V2TIM_FRIEND_ACCEPT_AGREE.
-     * 4. Your friend request is rejected by others.
-     */
-    public void onFriendApplicationListDeleted(List<String> userIDList) {}
-
-    /**
-     * Friend request read notification. When you call setFriendApplicationRead to set the friend request list as read, you will receive this callback (mainly
-     * used for multi-device synchronization).
-     */
-    public void onFriendApplicationListRead() {}
-
-    /**
-     * New friend notification
-     */
-    public void onFriendListAdded(List<ContactItemBean> users) {}
-
-    /**
-     * Friend deletion notification. You will receive this callback in the following cases:
-     * 1. You delete a friend (received for one-way or two-way friend deletion).
-     * 2. You are deleted by a friend (received for two-way friend deletion).
-     */
-    public void onFriendListDeleted(List<String> userList) {}
-
-    /**
-     * New blocklist notification
-     */
-    public void onBlackListAdd(List<ContactItemBean> infoList) {}
-
-    /**
-     * Blocklist deletion notification
-     */
-    public void onBlackListDeleted(List<String> userList) {}
-
-    /**
-     * Friend profile update notification
-     */
-    public void onFriendInfoChanged(List<ContactItemBean> infoList) {}
-
-    /**
-     * Friend Remark update notification
-     */
-    public void onFriendRemarkChanged(String id, String remark) {}
-
-    /**
-     * User status update notification
-     */
-    public void onUserStatusChanged(List<V2TIMUserStatus> userStatusList){}
-
-    public void refreshUserStatusFragmentUI() {}
-}

+ 0 - 7
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupEventListener.java

@@ -1,7 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-public abstract class GroupEventListener {
-    public void onGroupInfoChanged(String groupID) {}
-    
-    public void onGroupMemberCountChanged(String groupID) {}
-}

+ 0 - 7
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupMemberGridListener.java

@@ -1,7 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-
-public interface GroupMemberGridListener {
-    void onGroupMemberClicked(GroupMemberInfo groupMemberBean);
-}

+ 0 - 11
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/GroupMemberListener.java

@@ -1,11 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-
-import java.util.List;
-
-public interface GroupMemberListener {
-
-    default void onGroupMemberLoaded(List<GroupMemberInfo> groupMemberBeanList) {}
-}

+ 0 - 7
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IAddMoreActivity.java

@@ -1,7 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-public interface IAddMoreActivity {
-    String getString(int resId);
-
-    void finish();
-}

+ 0 - 20
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IContactListView.java

@@ -1,20 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-
-import java.util.List;
-
-public interface IContactListView {
-    class DataSource {
-        public static final int UNKNOWN = -1;
-        public static final int FRIEND_LIST = 1;
-        public static final int BLACK_LIST = 2;
-        public static final int GROUP_LIST = 3;
-        public static final int CONTACT_LIST = 4;
-        public static final int GROUP_MEMBER_LIST = 5;
-    }
-
-    void onDataSourceChanged(List<ContactItemBean> contactItemBeanList);
-
-    void onDataChanged(ContactItemBean contactItemBean);
-}

+ 0 - 7
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IFriendProfileLayout.java

@@ -1,7 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-
-public interface IFriendProfileLayout {
-    void onDataSourceChanged(ContactItemBean bean);
-}

+ 0 - 17
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupApplyLayout.java

@@ -1,17 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import android.content.Context;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-
-import java.util.List;
-
-public interface IGroupApplyLayout {
-    default void onGroupApplyInfoListChanged(List<GroupApplyInfo> dataSource) {}
-
-    default void onDataSetChanged() {}
-
-    default Context getContext() {
-        return null;
-    }
-}

+ 0 - 8
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberChangedCallback.java

@@ -1,8 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-
-public interface IGroupMemberChangedCallback {
-    void onMemberRemoved(GroupMemberInfo memberInfo);
-}

+ 0 - 10
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberLayout.java

@@ -1,10 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ILayout;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-
-public interface IGroupMemberLayout extends ILayout {
-    void onGroupInfoChanged(GroupInfo dataSource);
-
-    void onGroupMemberListChanged(GroupInfo dataSource);
-}

+ 0 - 15
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/IGroupMemberListener.java

@@ -1,15 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-
-import java.util.ArrayList;
-
-public interface IGroupMemberListener {
-
-    default void forwardAddMember(GroupInfo info) {}
-
-    default void forwardDeleteMember(GroupInfo info) {}
-
-    default void setSelectedMember(ArrayList<String> members) {}
-}

+ 0 - 9
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/interfaces/INewFriendActivity.java

@@ -1,9 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.interfaces;
-
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-
-import java.util.List;
-
-public interface INewFriendActivity {
-    void onDataSourceChanged(List<FriendApplicationBean> beanList);
-}

+ 0 - 158
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/GroupMemberListProxy.java

@@ -1,158 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui;
-
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.activity.result.ActivityResultCaller;
-import androidx.fragment.app.FragmentActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.imsdk.v2.V2TIMGroupInfo;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.bean.UserBean;
-import com.tencent.qcloud.tuikit.timcommon.component.MinimalistLineControllerView;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.classicui.pages.GroupMemberActivity;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.GroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupMemberMinimalistActivity;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.StartGroupMemberSelectMinimalistActivity;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.GroupInfoAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupMemberPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberListProxy {
-    private static final String TAG = "GroupMemberListProxy";
-
-    private final GroupMemberPresenter groupMemberPresenter = new GroupMemberPresenter();
-    private MinimalistLineControllerView addMemberButton;
-
-    public void raiseExtension(View parentView, GroupProfileBean groupProfileBean) {
-        View view = LayoutInflater.from(parentView.getContext()).inflate(R.layout.contact_minimalist_group_member_list, null);
-
-        addMemberButton = view.findViewById(R.id.add_group_members);
-        addMemberButton.setNameColor(0xFF0365F9);
-        addMemberButton.setBackgroundColor(0xF0F9F9F9);
-
-        RecyclerView recyclerView = view.findViewById(R.id.group_members);
-        LinearLayoutManager layoutManager = new LinearLayoutManager(parentView.getContext());
-        recyclerView.setLayoutManager(layoutManager);
-        recyclerView.setBackgroundResource(com.tencent.qcloud.tuikit.timcommon.R.color.white);
-
-        recyclerView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
-            @Override
-            public void onViewAttachedToWindow(View v) {
-                groupMemberPresenter.registerListener();
-            }
-
-            @Override
-            public void onViewDetachedFromWindow(View v) {
-                groupMemberPresenter.unregisterListener();
-            }
-        });
-        GroupInfoAdapter adapter = new GroupInfoAdapter();
-        adapter.setGroupProfileBean(groupProfileBean);
-        recyclerView.setAdapter(adapter);
-        ((ViewGroup) parentView).addView(view);
-        groupMemberPresenter.setGroupID(groupProfileBean.getGroupID());
-        groupMemberPresenter.setGroupMemberListener(new GroupMemberListener() {
-            @Override
-            public void onGroupMemberLoaded(List<GroupMemberInfo> groupMemberBeanList) {
-                if (!groupMemberBeanList.isEmpty()) {
-                    parentView.setVisibility(View.VISIBLE);
-                }
-                setAddMemberButtonVisibility(groupProfileBean);
-                adapter.setMemberList(groupMemberBeanList);
-            }
-        });
-        adapter.setGroupMemberGridListener(this::openDetails);
-        addMemberButton.setOnClickListener(v -> {
-            FragmentActivity activity = (FragmentActivity) parentView.getContext();
-            addGroupMember(activity, groupProfileBean);
-        });
-
-        groupMemberPresenter.loadGroupMemberList();
-    }
-
-    private void setAddMemberButtonVisibility(GroupProfileBean groupProfileBean) {
-        if (groupProfileBean.getApproveOpt() != V2TIMGroupInfo.V2TIM_GROUP_ADD_FORBID) {
-            addMemberButton.setVisibility(View.VISIBLE);
-        } else {
-            addMemberButton.setVisibility(View.GONE);
-        }
-    }
-
-    private void addGroupMember(FragmentActivity activity, GroupProfileBean groupProfileBean) {
-        groupMemberPresenter.getFriendListInGroup(groupProfileBean.getGroupID(), new TUIValueCallback<List<UserBean>>() {
-            @Override
-            public void onSuccess(List<UserBean> userBeans) {
-                addGroupMember(activity, groupProfileBean.getGroupID(), userBeans);
-            }
-
-            @Override
-            public void onError(int errorCode, String errorMessage) {
-                TUIContactLog.e(TAG, "add group member error, errorCode: " + errorCode + ", errorMessage: " + errorMessage);
-                addGroupMember(activity, groupProfileBean.getGroupID(), null);
-            }
-        });
-    }
-
-    private void addGroupMember(ActivityResultCaller caller, String groupID, List<UserBean> friendsInGroup) {
-        Bundle param = new Bundle();
-        param.putString(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID, groupID);
-        param.putBoolean(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FRIENDS, true);
-        ArrayList<String> selectedList = new ArrayList<>();
-        if (friendsInGroup != null) {
-            for (UserBean userBean : friendsInGroup) {
-                selectedList.add(userBean.getUserId());
-            }
-        }
-        param.putStringArrayList(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECTED_LIST, selectedList);
-        TUICore.startActivityForResult(caller, StartGroupMemberSelectMinimalistActivity.class, param, result -> {
-            if (result != null && result.getData() != null) {
-                List<String> friends = (List<String>) result.getData().getSerializableExtra(TUIContactConstants.Selection.LIST);
-                groupMemberPresenter.inviteGroupMembers(groupID, friends);
-            }
-        });
-    }
-
-    private void openDetails(GroupMemberInfo groupMemberBean) {
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, groupMemberBean.getUserId());
-        TUICore.startActivity("FriendProfileMinimalistActivity", bundle);
-    }
-
-
-    public void transferGroupOwner(ActivityResultCaller caller, GroupProfileBean groupProfileBean) {
-        ArrayList<String> excludeList = new ArrayList<>();
-        excludeList.add(TUILogin.getLoginUser());
-        Bundle param = new Bundle();
-        param.putBoolean(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-        param.putString(TUIConstants.TUIContact.GROUP_ID, groupProfileBean.getGroupID());
-        param.putInt(TUIConstants.TUIContact.LIMIT, 1);
-        param.putStringArrayList(TUIConstants.TUIContact.EXCLUDE_LIST, excludeList);
-        param.putString(TUIConstants.TUIContact.TITLE, TUIContactService.getAppContext().getResources().getString(R.string.group_transfer_group_owner));
-
-        TUICore.startActivityForResult(caller, GroupMemberMinimalistActivity.class, param, result -> {
-            if (result.getData() != null) {
-                List<String> selectedList = result.getData().getStringArrayListExtra(TUIContactConstants.Selection.LIST);
-                if (selectedList != null && !selectedList.isEmpty()) {
-                    String newOwnerId = selectedList.get(0);
-                    groupMemberPresenter.transferGroupOwner(groupProfileBean.getGroupID(), newOwnerId);
-                }
-            }
-        });
-    }
-}

+ 0 - 115
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/MinimalistUIExtensionObserver.java

@@ -1,115 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui;
-
-import static com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants.GROUP_PROFILE_BEAN;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.FragmentActivity;
-
-import com.google.auto.service.AutoService;
-import com.tencent.qcloud.tuicore.ServiceInitializer;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerDependency;
-import com.tencent.qcloud.tuicore.annotations.TUIInitializerID;
-import com.tencent.qcloud.tuicore.interfaces.ITUIExtension;
-import com.tencent.qcloud.tuicore.interfaces.ITUIService;
-import com.tencent.qcloud.tuicore.interfaces.TUIExtensionEventListener;
-import com.tencent.qcloud.tuicore.interfaces.TUIExtensionInfo;
-import com.tencent.qcloud.tuicore.interfaces.TUIInitializer;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.AddMoreDetailMinimalistDialogFragment;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.ManageGroupMinimalistActivity;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-@AutoService(TUIInitializer.class)
-@TUIInitializerID("TUIContactMinimalistUIExtensionObserver")
-@TUIInitializerDependency("TUIContact")
-public class MinimalistUIExtensionObserver implements TUIInitializer, ITUIExtension, ITUIService {
-    @Override
-    public void init(Context context) {
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.EXTENSION_ID, this);
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.EXTENSION_ID, this);
-        TUICore.registerExtension(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.EXTENSION_ID, this);
-        TUICore.registerService(TUIConstants.TUIContact.MINIMALIST_SERVICE_NAME, this);
-    }
-
-    @Override
-    public Object onCall(String method, Map<String, Object> param) {
-        if (TextUtils.equals(method, TUIConstants.TUIContact.Method.AddFriend.METHOD_NAME)) {
-            String userID = (String) param.get(TUIConstants.TUIContact.Method.AddFriend.USER_ID);
-            FragmentActivity activity = (FragmentActivity) param.get(TUIConstants.TUIContact.Method.AddFriend.ACTIVITY);
-            AddMoreDetailMinimalistDialogFragment dialogFragment = new AddMoreDetailMinimalistDialogFragment();
-            dialogFragment.setUserID(userID);
-            dialogFragment.show(activity.getSupportFragmentManager(), "AddMoreDetailMinimalistDialogFragment");
-        }
-        return null;
-    }
-
-    @Override
-    public List<TUIExtensionInfo> onGetExtension(String extensionID, Map<String, Object> param) {
-        if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.EXTENSION_ID)) {
-            GroupProfileBean groupProfileBean =
-                (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.GROUP_PROFILE_BEAN);
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.VIEW_TYPE);
-            if (viewType != TUIConstants.TUIChat.VIEW_TYPE_CLASSIC && groupProfileBean.canManage()) {
-                TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
-                extensionInfo.setText(getAppContext().getString(R.string.group_manager));
-                extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
-                    @Override
-                    public void onClicked(Map<String, Object> param) {
-                        Intent intent = new Intent(getAppContext(), ManageGroupMinimalistActivity.class);
-                        intent.putExtra(GROUP_PROFILE_BEAN, groupProfileBean);
-                        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                        getAppContext().startActivity(intent);
-                    }
-                });
-                return Collections.singletonList(extensionInfo);
-            }
-        } else if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.EXTENSION_ID)) {
-            GroupProfileBean groupProfileBean = (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.GROUP_PROFILE_BEAN);
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.VIEW_TYPE);
-            ActivityResultCaller caller = (ActivityResultCaller) param.get(TUIConstants.TUIChat.Extension.GroupProfileBottomItemExtension.CALLER);
-            if (viewType != TUIConstants.TUIChat.VIEW_TYPE_CLASSIC && groupProfileBean.isOwner()) {
-                TUIExtensionInfo extensionInfo = new TUIExtensionInfo();
-                extensionInfo.setText(getAppContext().getString(R.string.group_transfer_group_owner));
-                extensionInfo.setExtensionListener(new TUIExtensionEventListener() {
-                    @Override
-                    public void onClicked(Map<String, Object> param) {
-                        GroupMemberListProxy proxy = new GroupMemberListProxy();
-                        proxy.transferGroupOwner(caller, groupProfileBean);
-                    }
-                });
-                return Collections.singletonList(extensionInfo);
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public boolean onRaiseExtension(String extensionID, View parentView, Map<String, Object> param) {
-        if (TextUtils.equals(extensionID, TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.EXTENSION_ID)) {
-            int viewType = (int) param.get(TUIConstants.TUIChat.Extension.GroupProfileSettingsItemExtension.VIEW_TYPE);
-            if (viewType == TUIConstants.TUIChat.VIEW_TYPE_CLASSIC) {
-                return false;
-            }
-            GroupProfileBean groupProfileBean = (GroupProfileBean) param.get(TUIConstants.TUIChat.Extension.GroupProfileMemberListExtension.GROUP_PROFILE_BEAN);
-            GroupMemberListProxy proxy = new GroupMemberListProxy();
-            proxy.raiseExtension(parentView, groupProfileBean);
-        }
-        return true;
-    }
-
-    public static Context getAppContext() {
-        return ServiceInitializer.getAppContext();
-    }
-}

+ 0 - 8
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/interfaces/IContactLayout.java

@@ -1,8 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.interfaces;
-
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ILayout;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-
-public interface IContactLayout extends ILayout {
-    ContactListView getContactListView();
-}

+ 0 - 236
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/AddMoreDetailMinimalistDialogFragment.java

@@ -1,236 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.Pair;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.EditText;
-import android.widget.FrameLayout;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.DialogFragment;
-
-import com.google.android.material.bottomsheet.BottomSheetBehavior;
-import com.google.android.material.bottomsheet.BottomSheetDialog;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.interfaces.TUICallback;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.MinimalistLineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.PopupInputCard;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IAddMoreActivity;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactToast;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.AddMorePresenter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.FriendProfilePresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-
-public class AddMoreDetailMinimalistDialogFragment extends DialogFragment implements IAddMoreActivity {
-    private static final String TAG = "AddMoreDetailMinimalist";
-
-    private BottomSheetDialog dialog;
-
-    private View detailArea;
-
-    private ShadeImageView faceImgView;
-    private TextView idTextView;
-    private TextView groupTypeView;
-    private TextView groupTypeTagView;
-    private TextView nickNameView;
-    private TextView cancelButton;
-
-    private EditText validationEdit;
-    private View validationArea;
-    private View remarksArea;
-    private MinimalistLineControllerView remarkController;
-    private TextView sendButton;
-
-    private TUICallback addMoreCallback;
-    private Object data;
-    private String userID;
-    private FriendProfilePresenter presenter;
-    private AddMorePresenter addMorePresenter = new AddMorePresenter();
-
-    @NonNull
-    @Override
-    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
-        dialog = new BottomSheetDialog(getContext(), R.style.ContactPopActivityStyle);
-        dialog.setCanceledOnTouchOutside(true);
-        BottomSheetBehavior<FrameLayout> bottomSheetBehavior = dialog.getBehavior();
-        bottomSheetBehavior.setFitToContents(false);
-        bottomSheetBehavior.setSkipCollapsed(true);
-        bottomSheetBehavior.setExpandedOffset(ScreenUtil.dip2px(24));
-        bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
-        return dialog;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(R.layout.contact_minimalist_add_friend_group_detail_layout, container);
-        presenter = new FriendProfilePresenter();
-
-        faceImgView = view.findViewById(R.id.friend_icon);
-        idTextView = view.findViewById(R.id.friend_account);
-        groupTypeView = view.findViewById(R.id.group_type);
-        nickNameView = view.findViewById(R.id.friend_nick_name);
-        groupTypeTagView = view.findViewById(R.id.group_type_tag);
-        validationEdit = view.findViewById(R.id.validation_message_input);
-        validationArea = view.findViewById(R.id.validation_message_area);
-        sendButton = view.findViewById(R.id.send_button);
-        cancelButton = view.findViewById(R.id.cancel_button);
-        cancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                dismiss();
-            }
-        });
-
-        detailArea = view.findViewById(R.id.friend_detail_area);
-
-        remarksArea = view.findViewById(R.id.remark_area);
-        remarkController = view.findViewById(R.id.remarks_controller);
-
-        remarkController.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                PopupInputCard popupInputCard = new PopupInputCard((Activity) getContext());
-                popupInputCard.setContent(remarkController.getContent());
-                popupInputCard.setTitle(getResources().getString(R.string.profile_remark_edit));
-                String description = getResources().getString(R.string.contact_modify_remark_rule);
-                popupInputCard.setDescription(description);
-                popupInputCard.setOnPositive((result -> {
-                    remarkController.setContent(result);
-                }));
-                popupInputCard.show(remarkController, Gravity.BOTTOM);
-            }
-        });
-
-        sendButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                String addWording = validationEdit.getText().toString();
-                if (data instanceof GroupInfo) {
-                    presenter.joinGroup(((GroupInfo) data).getId(), addWording, new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            ToastUtil.toastShortMessage(getContext().getString(R.string.success));
-                            dismiss();
-                            TUICallback.onSuccess(addMoreCallback);
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastShortMessage(getContext().getString(R.string.contact_add_failed) + " " + errMsg);
-                            TUICallback.onError(addMoreCallback, errCode, errMsg);
-                        }
-                    });
-                } else if (data instanceof ContactItemBean || !TextUtils.isEmpty(userID)) {
-                    String friendID = userID;
-                    if (data instanceof ContactItemBean) {
-                        friendID = ((ContactItemBean) data).getId();
-                    }
-                    String remark = remarkController.getContent();
-                    presenter.addFriend(friendID, addWording, remark, new IUIKitCallback<Pair<Integer, String>>() {
-                        @Override
-                        public void onSuccess(Pair<Integer, String> data) {
-                            int toastIconType = ContactToast.TOAST_ICON_NEGATIVE;
-                            if (data.first == FriendApplicationBean.ERR_SVR_FRIENDSHIP_ALLOW_TYPE_NEED_CONFIRM
-                                || data.first == FriendApplicationBean.ERR_SUCC) {
-                                toastIconType = ContactToast.TOAST_ICON_POSITIVE;
-                            }
-                            ContactToast.showToast(getContext(), data.second, toastIconType);
-                            dismiss();
-                            TUICallback.onSuccess(addMoreCallback);
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ContactToast.showToast(getContext(), getContext().getString(R.string.contact_add_failed), ContactToast.TOAST_ICON_NEGATIVE);
-                            TUICallback.onError(addMoreCallback, errCode, errMsg);
-                        }
-                    });
-                }
-            }
-        });
-        if (data instanceof GroupInfo) {
-            setGroupDetail((GroupInfo) data);
-            remarksArea.setVisibility(View.GONE);
-        } else if (data instanceof ContactItemBean) {
-            setFriendDetail(((ContactItemBean) data).getAvatarUrl(), ((ContactItemBean) data).getId(), ((ContactItemBean) data).getNickName());
-        } else if (!TextUtils.isEmpty(userID)) {
-            addMorePresenter.getUserInfo(userID, new TUIValueCallback<ContactItemBean>() {
-                @Override
-                public void onSuccess(ContactItemBean object) {
-                    setFriendDetail(object.getAvatarUrl(), object.getId(), object.getNickName());
-                }
-
-                @Override
-                public void onError(int errorCode, String errorMessage) {
-                    TUIContactLog.e(TAG, "getUserInfo onError: " + errorMessage);
-                }
-            });
-        }
-        String nickName = TUIConfig.getSelfNickName();
-        if (TextUtils.isEmpty(nickName)) {
-            nickName = TUILogin.getLoginUser();
-        }
-        validationEdit.setText(getString(R.string.contact_add_friend_default_validation, nickName));
-        return view;
-    }
-
-    private void setGroupDetail(GroupInfo groupInfo) {
-        int radius = ScreenUtil.dip2px(35);
-        GlideEngine.loadUserIcon(
-            faceImgView, groupInfo.getFaceUrl(), TUIUtil.getDefaultGroupIconResIDByGroupType(getContext(), groupInfo.getGroupType()), radius);
-        idTextView.setText(groupInfo.getId());
-        nickNameView.setText(groupInfo.getGroupName());
-        groupTypeTagView.setVisibility(View.VISIBLE);
-        groupTypeView.setVisibility(View.VISIBLE);
-        groupTypeView.setText(groupInfo.getGroupType());
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    private void setFriendDetail(String faceUrl, String id, String nickName) {
-        int radius = ScreenUtil.dip2px(35);
-        GlideEngine.loadUserIcon(faceImgView, faceUrl, radius);
-        idTextView.setText(id);
-        if (TextUtils.isEmpty(nickName)) {
-            nickNameView.setText(id);
-        } else {
-            nickNameView.setText(nickName);
-        }
-        groupTypeTagView.setVisibility(View.GONE);
-        groupTypeView.setVisibility(View.GONE);
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    public void setData(Object data) {
-        this.data = data;
-    }
-
-    public void setUserID(String userID) {
-        this.userID = userID;
-    }
-
-    @Override
-    public void finish() {
-        dismiss();
-    }
-}

+ 0 - 227
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/AddMoreMinimalistDialogFragment.java

@@ -1,227 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.app.Dialog;
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.Editable;
-import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.EditText;
-import android.widget.FrameLayout;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.fragment.app.DialogFragment;
-import com.google.android.material.bottomsheet.BottomSheetBehavior;
-import com.google.android.material.bottomsheet.BottomSheetDialog;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.interfaces.TUIValueCallback;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IAddMoreActivity;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.MinimalistUIExtensionObserver;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.AddMorePresenter;
-
-public class AddMoreMinimalistDialogFragment extends DialogFragment implements IAddMoreActivity {
-    private BottomSheetDialog dialog;
-
-    private EditText searchEdit;
-    private TextView idLabel;
-    private View notFoundTip;
-    private TextView searchBtn;
-    private TextView titleTv;
-    private View detailArea;
-
-    private ShadeImageView faceImgView;
-    private TextView idTextView;
-    private TextView groupTypeView;
-    private TextView groupTypeTagView;
-    private TextView nickNameView;
-    private TextView cancelButton;
-
-    private boolean isGroup;
-
-    private AddMorePresenter presenter;
-
-    @NonNull
-    @Override
-    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
-        dialog = new BottomSheetDialog(getContext(), R.style.ContactPopActivityStyle);
-        dialog.setCanceledOnTouchOutside(true);
-        BottomSheetBehavior<FrameLayout> bottomSheetBehavior = dialog.getBehavior();
-        bottomSheetBehavior.setFitToContents(false);
-        bottomSheetBehavior.setSkipCollapsed(true);
-        bottomSheetBehavior.setExpandedOffset(ScreenUtil.dip2px(24));
-        bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
-        return dialog;
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-        View view = inflater.inflate(R.layout.contact_minimalist_add_friend_group_layout, container);
-        presenter = new AddMorePresenter();
-
-        faceImgView = view.findViewById(R.id.friend_icon);
-        titleTv = view.findViewById(R.id.title_tv);
-        idTextView = view.findViewById(R.id.friend_account);
-        groupTypeView = view.findViewById(R.id.group_type);
-        nickNameView = view.findViewById(R.id.friend_nick_name);
-        groupTypeTagView = view.findViewById(R.id.group_type_tag);
-
-        searchEdit = view.findViewById(R.id.search_edit);
-        if (isGroup) {
-            searchEdit.setHint(R.string.hint_search_group_id);
-            titleTv.setText(getString(R.string.add_group));
-        }
-
-        cancelButton = view.findViewById(R.id.cancel_button);
-        cancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                dismiss();
-            }
-        });
-
-        idLabel = view.findViewById(R.id.id_label);
-        notFoundTip = view.findViewById(R.id.not_found_tip);
-        searchBtn = view.findViewById(R.id.search_button);
-        detailArea = view.findViewById(R.id.friend_detail_area);
-        searchBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                notFoundTip.setVisibility(View.GONE);
-                String id = searchEdit.getText().toString();
-
-                if (isGroup) {
-                    presenter.getGroupInfo(id, new IUIKitCallback<GroupInfo>() {
-                        @Override
-                        public void onSuccess(GroupInfo data) {
-                            setGroupDetail(data);
-                            detailArea.setOnClickListener(new View.OnClickListener() {
-                                @Override
-                                public void onClick(View v) {
-                                    AddMoreDetailMinimalistDialogFragment detailDialog = new AddMoreDetailMinimalistDialogFragment();
-                                    detailDialog.setData(data);
-                                    detailDialog.show(((AppCompatActivity) getContext()).getSupportFragmentManager(), "AddMoreDetail");
-                                }
-                            });
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            setNotFound();
-                        }
-                    });
-                    return;
-                }
-
-                presenter.getUserInfo(id, new TUIValueCallback<ContactItemBean>() {
-                    @Override
-                    public void onSuccess(ContactItemBean data) {
-                        setFriendDetail(data.getAvatarUrl(), data.getId(), data.getNickName());
-                        detailArea.setOnClickListener(v1 -> {
-                            if (data.isFriend()) {
-                                MinimalistUIUtils.showContactDetails(data.getId());
-                            } else {
-                                AddMoreDetailMinimalistDialogFragment detailDialog = new AddMoreDetailMinimalistDialogFragment();
-                                detailDialog.setData(data);
-                                detailDialog.show(((AppCompatActivity) getContext()).getSupportFragmentManager(), "AddMoreDetail");
-                            }
-                        });
-                    }
-
-                    @Override
-                    public void onError(int errCode, String errMsg) {
-                        setNotFound();
-                    }
-                });
-            }
-        });
-
-        if (!isGroup) {
-            idLabel.setText(getString(R.string.contact_my_user_id, TUILogin.getLoginUser()));
-        }
-
-        searchEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
-            @Override
-            public void onFocusChange(View v, boolean hasFocus) {
-                if (hasFocus) {
-                    idLabel.setVisibility(View.GONE);
-                }
-            }
-        });
-
-        searchEdit.addTextChangedListener(new TextWatcher() {
-            @Override
-            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
-
-            @Override
-            public void onTextChanged(CharSequence s, int start, int before, int count) {}
-
-            @Override
-            public void afterTextChanged(Editable s) {
-                if (TextUtils.isEmpty(searchEdit.getText())) {
-                    detailArea.setVisibility(View.GONE);
-                    notFoundTip.setVisibility(View.GONE);
-                }
-            }
-        });
-        return view;
-    }
-
-    public void setIsGroup(boolean isGroup) {
-        this.isGroup = isGroup;
-    }
-
-    private void setGroupDetail(GroupInfo groupInfo) {
-        int radius = ScreenUtil.dip2px(28);
-        faceImgView.setRadius(radius);
-        GlideEngine.loadUserIcon(
-            faceImgView, groupInfo.getFaceUrl(), TUIUtil.getDefaultGroupIconResIDByGroupType(getContext(), groupInfo.getGroupType()), radius);
-        idTextView.setText(groupInfo.getId());
-        nickNameView.setText(groupInfo.getGroupName());
-        groupTypeTagView.setVisibility(View.VISIBLE);
-        groupTypeView.setVisibility(View.VISIBLE);
-        groupTypeView.setText(groupInfo.getGroupType());
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    private void setFriendDetail(String faceUrl, String id, String nickName) {
-        int radius = ScreenUtil.dip2px(28);
-        faceImgView.setRadius(radius);
-        GlideEngine.loadUserIcon(faceImgView, faceUrl, radius);
-        idTextView.setText(id);
-        if (TextUtils.isEmpty(nickName)) {
-            nickNameView.setText(id);
-        } else {
-            nickNameView.setText(nickName);
-        }
-        groupTypeTagView.setVisibility(View.GONE);
-        groupTypeView.setVisibility(View.GONE);
-        detailArea.setVisibility(View.VISIBLE);
-    }
-
-    private void setNotFound() {
-        detailArea.setVisibility(View.GONE);
-        notFoundTip.setVisibility(View.VISIBLE);
-    }
-
-    @Override
-    public void finish() {
-        dismiss();
-    }
-}

+ 0 - 64
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/BlackListMinimalistActivity.java

@@ -1,64 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.os.Bundle;
-import android.view.View;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.MinimalistUIExtensionObserver;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class BlackListMinimalistActivity extends BaseMinimalistLightActivity {
-    private TitleBarLayout mTitleBar;
-    private ContactListView mListView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.minimalist_contact_blacklist_activity);
-
-        init();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.black_list_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.blacklist), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-
-        mListView = findViewById(R.id.black_list);
-        mListView.setOnItemClickListener((position, contact) -> MinimalistUIUtils.showContactDetails(contact.getId()));
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        loadDataSource();
-    }
-
-    public void loadDataSource() {
-        presenter = new ContactPresenter();
-        mListView.setPresenter(presenter);
-        mListView.setNotFoundTip(getString(R.string.contact_no_block_list));
-        presenter.setContactListView(mListView);
-        presenter.setBlackListListener();
-        mListView.loadDataSource(ContactListView.DataSource.BLACK_LIST);
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 487
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/CreateGroupMinimalistActivity.java

@@ -1,487 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Rect;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.TextPaint;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
-import android.text.style.ClickableSpan;
-import android.text.style.ForegroundColorSpan;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.TextView;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultLauncher;
-import androidx.activity.result.contract.ActivityResultContract;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.recyclerview.widget.SimpleItemAnimator;
-
-import com.tencent.imsdk.v2.V2TIMManager;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.MinimalistLineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.ImageSelectMinimalistActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.dialog.TUIKitDialog;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ImageUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.LayoutUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ChatInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.ArrayList;
-import java.util.List;
-
-public class CreateGroupMinimalistActivity extends AppCompatActivity implements View.OnClickListener {
-    private static final String TAG = CreateGroupMinimalistActivity.class.getSimpleName();
-
-    private EditText groupNameEdit;
-    private EditText groupIdEdit;
-    private MinimalistLineControllerView groupTypeLv;
-    private TextView createButton;
-    private TextView cancelButton;
-    private TextView groupTypeContentView;
-    private RecyclerView groupAvatarList;
-    private RecyclerView groupMemberList;
-    private StartGroupChatMinimalistActivity.GroupMemberSelectedAdapter groupMemberSelectedAdapter;
-    private ImageSelectMinimalistActivity.ImageGridAdapter groupAvatarSelectAdapter;
-
-    private String groupName;
-    private String groupType = TUIContactConstants.GroupType.TYPE_WORK;
-    private String groupAvatarUrl;
-    private ArrayList<Object> groupAvatarUrlList = new ArrayList<>();
-    private int joinTypeIndex;
-    private String groupAvatarImageId = "";
-
-    private ArrayList<GroupMemberInfo> mGroupMembers = new ArrayList<>();
-    private boolean mCreating;
-
-    private ActivityResultLauncher<String> groupTypeLauncher;
-
-    private ContactPresenter presenter;
-
-    public static class GroupTypeResultContract extends ActivityResultContract<String, String> {
-        @NonNull
-        @Override
-        public Intent createIntent(@NonNull Context context, String type) {
-            Intent intent = new Intent(context, GroupTypeSelectMinimalistActivity.class);
-            intent.putExtra(TUIContactConstants.Selection.GROUP_TYPE, type);
-            return intent;
-        }
-
-        @Override
-        public String parseResult(int i, @Nullable Intent data) {
-            if (data != null) {
-                String type = data.getStringExtra(TUIContactConstants.Selection.TYPE);
-                if (TextUtils.isEmpty(type)) {
-                    TUIContactLog.e(TAG, "onActivityResult type is null");
-                    return null;
-                } else {
-                    return type;
-                }
-            }
-            return null;
-        }
-    }
-
-    private ActivityResultCallback<String> groupTypeSelectedCallback = new ActivityResultCallback<String>() {
-        @Override
-        public void onActivityResult(String type) {
-            if (!TextUtils.isEmpty(type)) {
-                groupType = type;
-                groupTypeLv.setContent(type);
-                initGroupTypeContentView();
-            }
-        }
-    };
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        groupTypeLauncher = registerForActivityResult(new GroupTypeResultContract(), groupTypeSelectedCallback);
-
-        setContentView(R.layout.contact_minimalist_create_group_layout);
-
-        groupNameEdit = findViewById(R.id.group_name_edit);
-        groupIdEdit = findViewById(R.id.group_id_edit);
-        groupTypeLv = findViewById(R.id.group_type_layout);
-        createButton = findViewById(R.id.create_button);
-        cancelButton = findViewById(R.id.cancel_button);
-        groupTypeContentView = findViewById(R.id.group_type_text);
-        groupAvatarList = findViewById(R.id.group_avatar_list);
-        groupMemberList = findViewById(R.id.selected_list);
-
-        initData();
-        setupViews();
-    }
-
-    private void initData() {
-        Intent intent = getIntent();
-        if (intent == null) {
-            TUIContactLog.e(TAG, "intent is null");
-            return;
-        }
-        Bundle bundle = intent.getExtras();
-        if (bundle == null) {
-            TUIContactLog.e(TAG, "bundle is null");
-            return;
-        }
-
-        mGroupMembers = (ArrayList<GroupMemberInfo>) bundle.getSerializable(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST);
-
-        if (mGroupMembers == null || mGroupMembers.size() <= 1) {
-            TUIContactLog.e(TAG, "mGroupMemberIcons <= 1");
-        }
-        generateImageID();
-
-        groupName = bundle.getString(TUIConstants.TUIContact.GROUP_NAME);
-        groupNameEdit.setText(groupName);
-
-        groupTypeLv.setContent(groupType);
-
-        if (TUIConfig.isEnableGroupGridAvatar()) {
-            groupAvatarUrlList.clear();
-            groupAvatarUrlList.addAll(fillGroupGridAvatar());
-            groupAvatarUrl = null;
-        }
-
-        joinTypeIndex = bundle.getInt(TUIConstants.TUIContact.JOIN_TYPE_INDEX, 2);
-    }
-
-    private void generateImageID() {
-        groupAvatarImageId = System.currentTimeMillis() + "";
-    }
-
-    private void setupViews() {
-        groupTypeLv.setOnClickListener(this);
-        cancelButton.setOnClickListener(this);
-        createButton.setOnClickListener(this);
-        presenter = new ContactPresenter();
-        initGroupTypeContentView();
-        initAvatarList();
-        initSelectedMemberList();
-    }
-
-    private void initGroupTypeContentView() {
-        switch (groupType) {
-            case TUIContactConstants.GroupType.TYPE_WORK:
-                groupTypeContentView.setText(getString(R.string.group_work_content));
-                break;
-            case TUIContactConstants.GroupType.TYPE_PUBLIC:
-                groupTypeContentView.setText(getString(R.string.group_public_des));
-                break;
-            case TUIContactConstants.GroupType.TYPE_MEETING:
-                groupTypeContentView.setText(getString(R.string.group_meeting_des));
-                break;
-            case TUIContactConstants.GroupType.TYPE_COMMUNITY:
-                groupTypeContentView.setText(getString(R.string.group_commnity_des));
-                break;
-            default:
-                break;
-        }
-
-        String groupTypeContent = getResources().getString(R.string.group_type_content_title);
-        String urlContent = getResources().getString(R.string.group_type_content_url);
-        int urlContentIndex = groupTypeContent.lastIndexOf(urlContent);
-
-        final int foregroundColor;
-        int currentTheme = TUIThemeManager.getInstance().getCurrentTheme();
-        if (currentTheme == TUIThemeManager.THEME_LIVELY) {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_lively);
-        } else if (currentTheme == TUIThemeManager.THEME_SERIOUS) {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_serious);
-        } else {
-            foregroundColor = getResources().getColor(com.tencent.qcloud.tuicore.R.color.core_primary_color_light);
-        }
-
-        SpannableString spannedString = new SpannableString(groupTypeContent);
-        ForegroundColorSpan colorSpan = new ForegroundColorSpan(foregroundColor);
-        spannedString.setSpan(colorSpan, urlContentIndex, urlContentIndex + urlContent.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        ClickableSpan clickableSpan = new ClickableSpan() {
-            @Override
-            public void onClick(View view) {
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    openWebUrl(TUIContactConstants.IM_PRODUCT_DOC_URL);
-                } else {
-                    openWebUrl(TUIContactConstants.IM_PRODUCT_DOC_URL_EN);
-                }
-            }
-
-            @Override
-            public void updateDrawState(TextPaint ds) {
-                ds.setUnderlineText(false);
-            }
-        };
-        spannedString.setSpan(clickableSpan, urlContentIndex, urlContentIndex + urlContent.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-        groupTypeContentView.append(spannedString);
-        groupTypeContentView.setMovementMethod(LinkMovementMethod.getInstance());
-    }
-
-    private void initAvatarList() {
-        int columnCount = 2;
-        groupAvatarList.setLayoutManager(new GridLayoutManager(this, columnCount, RecyclerView.HORIZONTAL, false));
-        int leftRightSpace = ScreenUtil.dip2px(23);
-        groupAvatarList.addItemDecoration(new GridDecoration(leftRightSpace, ScreenUtil.dip2px(20)));
-        groupAvatarList.setItemAnimator(null);
-        SimpleItemAnimator animator = (SimpleItemAnimator) groupAvatarList.getItemAnimator();
-        if (animator != null) {
-            animator.setSupportsChangeAnimations(false);
-        }
-        groupAvatarSelectAdapter = new ImageSelectMinimalistActivity.ImageGridAdapter();
-        ArrayList<ImageSelectMinimalistActivity.ImageBean> faceList = new ArrayList<>();
-        if (TUIConfig.isEnableGroupGridAvatar()) {
-            ImageSelectMinimalistActivity.ImageBean imageBean = new ImageSelectMinimalistActivity.ImageBean();
-            imageBean.setGroupGridAvatar(fillGroupGridAvatar());
-            imageBean.setImageId(groupAvatarImageId);
-            faceList.add(imageBean);
-        }
-        for (int i = 0; i < TUIContactConstants.GROUP_FACE_COUNT; i++) {
-            ImageSelectMinimalistActivity.ImageBean imageBean = new ImageSelectMinimalistActivity.ImageBean();
-            imageBean.setThumbnailUri(String.format(TUIContactConstants.GROUP_FACE_URL, (i + 1) + ""));
-            faceList.add(imageBean);
-        }
-        groupAvatarSelectAdapter.setItemHeight(ScreenUtil.dip2px(50));
-        groupAvatarSelectAdapter.setItemWidth(ScreenUtil.dip2px(50));
-        groupAvatarSelectAdapter.setSelected(faceList.get(0));
-        groupAvatarSelectAdapter.setData(faceList);
-        groupAvatarSelectAdapter.setOnItemClickListener(new ImageSelectMinimalistActivity.OnItemClickListener() {
-            @Override
-            public void onClick(ImageSelectMinimalistActivity.ImageBean imageBean) {
-                List<Object> faceUrlList = imageBean.getGroupGridAvatar();
-                if (faceUrlList != null && !faceUrlList.isEmpty()) {
-                    groupAvatarUrlList.clear();
-                    groupAvatarUrlList.addAll(faceUrlList);
-                    groupAvatarUrl = null;
-                } else {
-                    groupAvatarUrl = imageBean.getThumbnailUri();
-                }
-                groupAvatarSelectAdapter.setSelected(imageBean);
-            }
-        });
-        groupAvatarList.setAdapter(groupAvatarSelectAdapter);
-    }
-
-    private void initSelectedMemberList() {
-        groupMemberList.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
-        groupMemberList.setItemAnimator(null);
-        SimpleItemAnimator animator = (SimpleItemAnimator) groupMemberList.getItemAnimator();
-        if (animator != null) {
-            animator.setSupportsChangeAnimations(false);
-        }
-        groupMemberSelectedAdapter = new StartGroupChatMinimalistActivity.GroupMemberSelectedAdapter();
-        groupMemberSelectedAdapter.setMembers(mGroupMembers);
-        groupMemberSelectedAdapter.setSelectedMemberClickedListener(new StartGroupChatMinimalistActivity.OnSelectedMemberClickedListener() {
-            @Override
-            public void onRemove(GroupMemberInfo groupMemberInfo) {
-                groupMemberSelectedAdapter.notifyItemRemoved(mGroupMembers.indexOf(groupMemberInfo));
-                mGroupMembers.remove(groupMemberInfo);
-                ImageSelectMinimalistActivity.ImageBean imageBean = groupAvatarSelectAdapter.getDataByPosition(0);
-                if (imageBean != null) {
-                    generateImageID();
-                    List<Object> avatarList = fillGroupGridAvatar();
-                    imageBean.setImageId(groupAvatarImageId);
-                    imageBean.setGroupGridAvatar(avatarList);
-                    groupAvatarSelectAdapter.notifyItemChanged(0);
-                    groupAvatarUrlList.clear();
-                    groupAvatarUrlList.addAll(avatarList);
-                }
-            }
-        });
-        groupMemberList.addItemDecoration(new RecyclerView.ItemDecoration() {
-            @Override
-            public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
-                outRect.bottom = ScreenUtil.dip2px(10);
-            }
-        });
-        groupMemberList.setAdapter(groupMemberSelectedAdapter);
-    }
-
-    @Override
-    public void onClick(View v) {
-        if (v == groupTypeLv) {
-            groupTypeLauncher.launch(groupType);
-        } else if (v == cancelButton) {
-            finish();
-        } else if (v == createButton) {
-            createGroupChat();
-        }
-    }
-
-    private List<Object> fillGroupGridAvatar() {
-        final List<Object> urlList = new ArrayList<>();
-        String savedIcon = ImageUtil.getGroupConversationAvatar(groupAvatarImageId);
-        if (TextUtils.isEmpty(savedIcon)) {
-            int faceSize = Math.min(mGroupMembers.size(), 9);
-            urlList.add(TUIConfig.getSelfFaceUrl());
-            for (int i = 0; i < faceSize; i++) {
-                String iconUrl = mGroupMembers.get(i).getFaceUrl();
-                urlList.add(TextUtils.isEmpty(iconUrl) ? TUIConfig.getDefaultAvatarImage() : iconUrl);
-            }
-        } else {
-            urlList.add(savedIcon);
-        }
-
-        return urlList;
-    }
-
-    private void createGroupChat() {
-        if (mCreating) {
-            return;
-        }
-        groupName = groupNameEdit.getText().toString();
-        final GroupInfo groupInfo = new GroupInfo();
-        groupInfo.setChatName(groupName);
-        groupInfo.setGroupName(groupName);
-        groupInfo.setMemberDetails(mGroupMembers);
-        groupInfo.setGroupType(groupType);
-        groupInfo.setJoinType(joinTypeIndex);
-        groupInfo.setCommunitySupportTopic(false);
-        groupInfo.setFaceUrl(groupAvatarUrl);
-        groupInfo.setIconUrlList(groupAvatarUrlList);
-
-        String groupId = groupIdEdit.getText().toString();
-        if (TextUtils.equals(groupType, V2TIMManager.GROUP_TYPE_COMMUNITY)) {
-            if (!TextUtils.isEmpty(groupId) && !groupId.startsWith("@TGS#_")) {
-                ToastUtil.toastLongMessage(getResources().getString(R.string.community_id_edit_format_tips));
-                return;
-            }
-        } else {
-            if (!TextUtils.isEmpty(groupId) && groupId.startsWith("@TGS#")) {
-                ToastUtil.toastLongMessage(getResources().getString(R.string.group_id_edit_format_tips));
-                return;
-            }
-        }
-        if (!TextUtils.isEmpty(groupId) && groupId.length() > 48) {
-            ToastUtil.toastLongMessage(getResources().getString(R.string.group_id_edit_exceed_tips));
-            return;
-        }
-
-        if (!TextUtils.isEmpty(groupId)) {
-            groupInfo.setId(groupId);
-        } else {
-            groupInfo.setId("");
-        }
-
-        mCreating = true;
-
-        presenter.createGroupChat(groupInfo, new IUIKitCallback<String>() {
-            @Override
-            public void onSuccess(String data) {
-                MinimalistUIUtils.startChatActivity(data, ChatInfo.TYPE_GROUP, groupInfo.getGroupName(), groupAvatarUrl, groupAvatarUrlList);
-                finish();
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                mCreating = false;
-                if (errCode == TUIConstants.BuyingFeature.ERR_SDK_INTERFACE_NOT_SUPPORT || errCode == 11000) {
-                    showNotSupportDialog();
-                }
-                ToastUtil.toastLongMessage("createGroupChat fail:" + errCode + "=" + errMsg);
-            }
-        });
-    }
-
-    private void showNotSupportDialog() {
-        String string = getResources().getString(R.string.contact_im_flagship_edition_update_tip, getString(R.string.contact_community));
-        String buyingGuidelines = getResources().getString(R.string.contact_buying_guidelines);
-        int buyingGuidelinesIndex = string.lastIndexOf(buyingGuidelines);
-        final int foregroundColor = getResources().getColor(TUIThemeManager.getAttrResId(this, com.tencent.qcloud.tuicore.R.attr.core_primary_color));
-        SpannableString spannedString = new SpannableString(string);
-        ForegroundColorSpan colorSpan2 = new ForegroundColorSpan(foregroundColor);
-        spannedString.setSpan(colorSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        ClickableSpan clickableSpan2 = new ClickableSpan() {
-            @Override
-            public void onClick(View view) {
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC);
-                } else {
-                    openWebUrl(TUIConstants.BuyingFeature.BUYING_PRICE_DESC_EN);
-                }
-            }
-
-            @Override
-            public void updateDrawState(TextPaint ds) {
-                ds.setUnderlineText(false);
-            }
-        };
-        spannedString.setSpan(clickableSpan2, buyingGuidelinesIndex, buyingGuidelinesIndex + buyingGuidelines.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
-
-        TUIKitDialog.TUIIMUpdateDialog.getInstance()
-            .createDialog(this)
-            .setMovementMethod(LinkMovementMethod.getInstance())
-            .setShowOnlyDebug(true)
-            .setCancelable(true)
-            .setCancelOutside(true)
-            .setTitle(spannedString)
-            .setDialogWidth(0.75f)
-            .setDialogFeatureName(TUIConstants.BuyingFeature.BUYING_FEATURE_COMMUNITY)
-            .setPositiveButton(getString(R.string.contact_no_more_reminders),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().setNeverShow(true);
-                    }
-                })
-            .setNegativeButton(getString(R.string.contact_i_know),
-                new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        TUIKitDialog.TUIIMUpdateDialog.getInstance().dismiss();
-                    }
-                })
-            .show();
-    }
-
-    private void openWebUrl(String url) {
-        Intent intent = new Intent();
-        intent.setAction(Intent.ACTION_VIEW);
-        Uri contentUrl = Uri.parse(url);
-        intent.setData(contentUrl);
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        startActivity(intent);
-    }
-
-    /**
-     * add spacing
-     */
-    public static class GridDecoration extends RecyclerView.ItemDecoration {
-        private final int leftRightSpace; // vertical spacing
-        private final int topBottomSpace; // horizontal spacing
-
-        public GridDecoration(int leftRightSpace, int topBottomSpace) {
-            this.leftRightSpace = leftRightSpace;
-            this.topBottomSpace = topBottomSpace;
-        }
-
-        @Override
-        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
-            if (LayoutUtil.isRTL()) {
-                outRect.left = leftRightSpace;
-            } else {
-                outRect.right = leftRightSpace;
-            }
-            outRect.bottom = topBottomSpace;
-        }
-    }
-}

+ 0 - 122
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupApplyDetailMinimalistActivity.java

@@ -1,122 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupApplyLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-public class GroupApplyDetailMinimalistActivity extends BaseMinimalistLightActivity implements IGroupApplyLayout {
-    private static final String TAG = GroupApplyDetailMinimalistActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private GroupApplyPresenter presenter;
-    private ShadeImageView avatarView;
-    private TextView userNameTv;
-    private TextView userIDTv;
-    private TextView addWordingTv;
-    private TextView agreeButton;
-    private TextView rejectButton;
-    private TextView resultButton;
-    private GroupApplyInfo groupApplyInfo;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_minimalist_new_group_apply_detail_activity);
-        Intent intent = getIntent();
-        if (intent != null) {
-            groupApplyInfo = (GroupApplyInfo) intent.getSerializableExtra(TUIContactConstants.Group.MEMBER_APPLY);
-            presenter = new GroupApplyPresenter(this);
-            init();
-        }
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.new_apply_detail_title_bar);
-        mTitleBar.setTitle(getResources().getString(R.string.group_group_application_detail_title), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-
-        avatarView = findViewById(R.id.avatar);
-        avatarView.setRadius(ScreenUtil.dip2px(25));
-        GlideEngine.loadImage(avatarView, groupApplyInfo.getFromUserFaceUrl());
-
-        userNameTv = findViewById(R.id.user_name);
-        if (TextUtils.isEmpty(groupApplyInfo.getFromUserNickName())) {
-            userNameTv.setText(groupApplyInfo.getFromUserID());
-        } else {
-            userNameTv.setText(groupApplyInfo.getFromUserNickName());
-        }
-        userIDTv = findViewById(R.id.user_id);
-        userIDTv.setText(groupApplyInfo.getFromUserID());
-
-        addWordingTv = findViewById(R.id.validation_message);
-        addWordingTv.setText(groupApplyInfo.getAddWording());
-
-        agreeButton = findViewById(R.id.agree);
-        rejectButton = findViewById(R.id.reject);
-        resultButton = findViewById(R.id.result_tv);
-
-        agreeButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.acceptApply(groupApplyInfo, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                        groupApplyInfo.setStatus(GroupApplyInfo.APPLIED);
-
-                        Intent intent = new Intent();
-                        intent.putExtra(TUIContactConstants.Group.MEMBER_APPLY, groupApplyInfo);
-                        setResult(RESULT_OK, intent);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-
-        rejectButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.refuseApply(groupApplyInfo, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                        resultButton.setText(getResources().getString(R.string.refused));
-                        resultButton.setTextColor(0xFFFF584C);
-                        groupApplyInfo.setStatus(GroupApplyInfo.REFUSED);
-                        Intent intent = new Intent();
-                        intent.putExtra(TUIContactConstants.Group.MEMBER_APPLY, groupApplyInfo);
-                        setResult(RESULT_OK, intent);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-    }
-}

+ 0 - 33
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupApplyManagerMinimalistActivity.java

@@ -1,33 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.os.Bundle;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.GroupApplyManagerLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-public class GroupApplyManagerMinimalistActivity extends BaseMinimalistLightActivity {
-    private GroupApplyManagerLayout mManagerLayout;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_minimalist_apply_manager_activity);
-        if (getIntent().getExtras() == null) {
-            finish();
-            return;
-        }
-        mManagerLayout = findViewById(R.id.group_apply_manager_layout);
-
-        GroupApplyPresenter presenter = new GroupApplyPresenter(mManagerLayout);
-        mManagerLayout.setPresenter(presenter);
-
-        String groupId = getIntent().getExtras().getString(TUIContactConstants.Group.GROUP_ID);
-        GroupInfo groupInfo = new GroupInfo();
-        groupInfo.setId(groupId);
-        mManagerLayout.setDataSource(groupInfo);
-    }
-}

+ 0 - 79
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupListMinimalistActivity.java

@@ -1,79 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class GroupListMinimalistActivity extends BaseMinimalistLightActivity {
-    private static final String TAG = GroupListMinimalistActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mListView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.minimalist_group_list_activity);
-
-        init();
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        loadDataSource();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.group_list_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.group), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        mListView = findViewById(R.id.group_list);
-        mListView.setOnItemClickListener(new ContactListView.OnItemClickListener() {
-            @Override
-            public void onItemClick(int position, ContactItemBean contact) {
-                String chatName = contact.getId();
-                if (!TextUtils.isEmpty(contact.getRemark())) {
-                    chatName = contact.getRemark();
-                } else if (!TextUtils.isEmpty(contact.getNickName())) {
-                    chatName = contact.getNickName();
-                }
-                MinimalistUIUtils.startChatActivity(contact.getId(), ContactItemBean.TYPE_GROUP, chatName, contact.getAvatarUrl(), null);
-            }
-        });
-    }
-
-    public void loadDataSource() {
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mListView.setIsGroupList(true);
-        mListView.setPresenter(presenter);
-        mListView.setNotFoundTip(getString(R.string.contact_no_group));
-        presenter.setContactListView(mListView);
-        mListView.loadDataSource(ContactListView.DataSource.GROUP_LIST);
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 214
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupMemberMinimalistActivity.java

@@ -1,214 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.GroupMemberLayout;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class GroupMemberMinimalistActivity extends BaseMinimalistLightActivity {
-    private GroupMemberLayout mMemberLayout;
-    private String groupID;
-    private GroupInfoPresenter presenter;
-
-    private boolean isSelectMode = false;
-    private ArrayList<String> excludeList;
-    private ArrayList<String> alreadySelectedList;
-    private String userData;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_minimalist_members_list);
-        mMemberLayout = findViewById(R.id.group_member_grid_layout);
-        init();
-    }
-
-    private void init() {
-        Intent intent = getIntent();
-        groupID = intent.getStringExtra(TUIConstants.TUIContact.GROUP_ID);
-        isSelectMode = intent.getBooleanExtra(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-        excludeList = intent.getStringArrayListExtra(TUIConstants.TUIContact.EXCLUDE_LIST);
-        alreadySelectedList = intent.getStringArrayListExtra(TUIConstants.TUIContact.SELECTED_LIST);
-        userData = intent.getStringExtra(TUIConstants.TUIContact.USER_DATA);
-        mMemberLayout.setSelectMode(isSelectMode);
-        String title = intent.getStringExtra(TUIConstants.TUIContact.TITLE);
-        mMemberLayout.setTitle(title);
-        mMemberLayout.setExcludeList(excludeList);
-        mMemberLayout.setAlreadySelectedList(alreadySelectedList);
-        presenter = new GroupInfoPresenter(mMemberLayout);
-        mMemberLayout.setPresenter(presenter);
-        int filter = intent.getIntExtra(TUIConstants.TUIContact.FILTER, GroupInfo.GROUP_MEMBER_FILTER_ALL);
-        presenter.loadGroupInfo(groupID, filter);
-
-        mMemberLayout.getTitleBar().setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        int limit = getIntent().getIntExtra(TUIConstants.TUIContact.LIMIT, Integer.MAX_VALUE);
-        mMemberLayout.setGroupMemberListener(new IGroupMemberListener() {
-            @Override
-            public void setSelectedMember(ArrayList<String> members) {
-                if (members == null || members.isEmpty()) {
-                    return;
-                }
-                if (members.size() > limit) {
-                    String overLimitTip = getString(R.string.group_over_limit_tip, limit);
-                    ToastUtil.toastShortMessage(overLimitTip);
-                    return;
-                }
-                Intent result = new Intent();
-                result.putStringArrayListExtra(TUIConstants.TUIContact.LIST, members);
-                setResult(0, result);
-
-                Map<String, Object> param = new HashMap<>();
-                param.put(TUIConstants.TUIContact.LIST, members);
-                param.put(TUIConstants.TUIContact.USER_DATA, userData);
-                TUICore.notifyEvent(TUIConstants.TUIContact.EVENT_GROUP, TUIConstants.TUIContact.EVENT_SUB_KEY_GROUP_MEMBER_SELECTED, param);
-
-                finish();
-            }
-
-        });
-
-        mMemberLayout.setOnGroupMemberClickListener(new GroupMemberLayout.OnGroupMemberClickListener() {
-            @Override
-            public void onShowInfo(GroupMemberInfo groupMemberInfo) {
-                Bundle bundle = new Bundle();
-                bundle.putString(TUIConstants.TUIChat.CHAT_ID, groupMemberInfo.getUserId());
-                TUICore.startActivity("FriendProfileMinimalistActivity", bundle);
-            }
-
-            @Override
-            public void onAdminRoleChanged(GroupMemberInfo groupMemberInfo) {
-                if (!presenter.isAdmin(groupMemberInfo.getRole())) {
-                    presenter.setGroupManager(groupID, groupMemberInfo.getUserId(), new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            ToastUtil.toastLongMessage(getString(com.tencent.qcloud.tuikit.timcommon.R.string.setting_success));
-                            GroupMemberMinimalistActivity.this.onAdminRoleChanged(groupMemberInfo);
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastLongMessage(
-                                getString(com.tencent.qcloud.tuikit.timcommon.R.string.setting_fail) + ", errCode = " + errCode + ", errMsg = " + errMsg);
-                        }
-                    });
-                } else {
-                    presenter.setGroupMemberRole(groupID, groupMemberInfo.getUserId(), new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            GroupMemberMinimalistActivity.this.onAdminRoleChanged(groupMemberInfo);
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastLongMessage(
-                                getString(com.tencent.qcloud.tuikit.timcommon.R.string.setting_fail) + ", errCode = " + errCode + ", errMsg = " + errMsg);
-                        }
-                    });
-                }
-            }
-
-            @Override
-            public void onDelete(GroupMemberInfo groupMemberInfo) {
-                presenter.deleteGroupMembers(groupID, Collections.singletonList(groupMemberInfo.getUserId()), new IUIKitCallback<List<String>>() {
-                    @Override
-                    public void onSuccess(List<String> data) {
-                        ToastUtil.toastLongMessage(getString(R.string.remove_tip_suc));
-                        onMemberDeleted(data);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastLongMessage(getString(R.string.remove_fail_tip) + ", errCode = " + errCode + ", errMsg = " + errMsg);
-                    }
-                });
-            }
-        });
-    }
-
-    private void onMemberDeleted(List<String> memberIDs) {
-        mMemberLayout.deleteMember(memberIDs);
-    }
-
-    private void onAdminRoleChanged(GroupMemberInfo groupMemberInfo) {
-        if (presenter.isAdmin(groupMemberInfo.getRole())) {
-            groupMemberInfo.setRole(GroupInfo.GROUP_MEMBER_ROLE_MEMBER);
-        } else {
-            groupMemberInfo.setRole(GroupInfo.GROUP_MEMBER_ROLE_ADMIN);
-        }
-        mMemberLayout.memberChanged(groupMemberInfo);
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (resultCode == 3) {
-            List<String> friends = (List<String>) data.getSerializableExtra(TUIContactConstants.Selection.LIST);
-            if (requestCode == 1) {
-                inviteGroupMembers(friends);
-            } else if (requestCode == 2) {
-                deleteGroupMembers(friends);
-            }
-        }
-    }
-
-    private void deleteGroupMembers(List<String> friends) {
-        if (friends != null && friends.size() > 0) {
-            if (presenter != null) {
-                presenter.deleteGroupMembers(groupID, friends, new IUIKitCallback<List<String>>() {
-                    @Override
-                    public void onSuccess(List<String> data) {
-                        presenter.loadGroupInfo(groupID);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {}
-                });
-            }
-        }
-    }
-
-    private void inviteGroupMembers(List<String> friends) {
-        if (friends != null && friends.size() > 0) {
-            if (presenter != null) {
-                presenter.inviteGroupMembers(groupID, friends, new IUIKitCallback<Object>() {
-                    @Override
-                    public void onSuccess(Object data) {
-                        if (data instanceof String) {
-                            ToastUtil.toastLongMessage(data.toString());
-                        } else {
-                            ToastUtil.toastLongMessage(TUIContactService.getAppContext().getString(R.string.invite_suc));
-                        }
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastLongMessage(TUIContactService.getAppContext().getString(R.string.invite_fail) + errCode + "=" + errMsg);
-                    }
-                });
-            }
-        }
-    }
-}

+ 0 - 190
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/GroupTypeSelectMinimalistActivity.java

@@ -1,190 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class GroupTypeSelectMinimalistActivity extends AppCompatActivity {
-    private static final String TAG = GroupTypeSelectMinimalistActivity.class.getSimpleName();
-
-    private RecyclerView mRecyclerView;
-    private RecyclerView.LayoutManager mLayoutManager;
-    private RecyclerView.Adapter mAdapter;
-    private TextView cancelButton;
-    private TextView confirmButton;
-    private List<String> mDatas = new ArrayList<>();
-    private TextView groupTypeTextView;
-    private String groupType;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_minimalist_group_type_select_layout);
-
-        initData();
-        initView();
-    }
-
-    private void initView() {
-        mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
-        mAdapter = new MyAdapter(mDatas);
-        cancelButton = findViewById(R.id.cancel_button);
-        confirmButton = findViewById(R.id.confirm_button);
-        mRecyclerView = (RecyclerView) findViewById(R.id.recycler);
-        mRecyclerView.setLayoutManager(mLayoutManager);
-        mRecyclerView.setAdapter(mAdapter);
-        cancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        confirmButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                setResult();
-            }
-        });
-
-        groupTypeTextView = findViewById(R.id.group_type_text);
-        groupTypeTextView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                String url = "";
-                if (TextUtils.equals(TUIThemeManager.getInstance().getCurrentLanguage(), "zh")) {
-                    url = TUIContactConstants.IM_PRODUCT_DOC_URL;
-                } else {
-                    url = TUIContactConstants.IM_PRODUCT_DOC_URL_EN;
-                }
-                Intent intent = new Intent();
-                intent.setAction(Intent.ACTION_VIEW);
-                Uri contentUrl = Uri.parse(url);
-                intent.setData(contentUrl);
-                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                startActivity(intent);
-            }
-        });
-    }
-
-    private void initData() {
-        String[] array = getResources().getStringArray(R.array.group_type);
-        mDatas.addAll(Arrays.asList(array));
-        groupType = mDatas.get(0);
-        Intent intent = getIntent();
-        String groupTypeTemp = intent.getStringExtra(TUIContactConstants.Selection.GROUP_TYPE);
-        if (!TextUtils.isEmpty(groupTypeTemp)) {
-            groupType = groupTypeTemp;
-        }
-    }
-
-    private void setResult() {
-        Intent intent = new Intent();
-        intent.putExtra(TUIContactConstants.Selection.TYPE, groupType);
-        setResult(0, intent);
-        finish();
-    }
-
-    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
-        private List<String> mDatas;
-
-        public MyAdapter(List<String> datas) {
-            this.mDatas = datas;
-        }
-
-        @Override
-        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_minimalist_group_type_item, parent, false);
-            ViewHolder viewHolder = new ViewHolder(v);
-            return viewHolder;
-        }
-
-        @Override
-        public void onBindViewHolder(ViewHolder holder, int position) {
-            String type = this.mDatas.get(position);
-            switch (type) {
-                case TUIContactConstants.GroupType.TYPE_WORK:
-                    holder.textView.setText(getString(R.string.group_work_type));
-                    holder.subTextView.setText(getString(R.string.group_work_content));
-                    break;
-                case TUIContactConstants.GroupType.TYPE_PUBLIC:
-                    holder.textView.setText(getString(R.string.group_public_type));
-                    holder.subTextView.setText(getString(R.string.group_public_des));
-                    break;
-                case TUIContactConstants.GroupType.TYPE_MEETING:
-                    holder.textView.setText(getString(R.string.group_meeting_type));
-                    holder.subTextView.setText(getString(R.string.group_meeting_des));
-                    break;
-                case TUIContactConstants.GroupType.TYPE_COMMUNITY:
-                    holder.textView.setText(getString(R.string.group_commnity_type));
-                    holder.subTextView.setText(getString(R.string.group_commnity_des));
-                    break;
-                default:
-                    break;
-            }
-
-            if (TextUtils.equals(groupType, type)) {
-                holder.showSelected();
-            } else {
-                holder.hideSelected();
-            }
-
-            holder.rootView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    groupType = type;
-                    notifyDataSetChanged();
-                }
-            });
-        }
-
-        @Override
-        public int getItemCount() {
-            return this.mDatas == null ? 0 : this.mDatas.size();
-        }
-
-        public class ViewHolder extends RecyclerView.ViewHolder {
-            View rootView;
-            TextView textView;
-            TextView subTextView;
-            View selectedBorder;
-            View notSelectedBorder;
-            View selectedIcon;
-
-            public ViewHolder(View itemView) {
-                super(itemView);
-                rootView = itemView;
-                selectedIcon = itemView.findViewById(R.id.checked_icon);
-                selectedBorder = itemView.findViewById(R.id.selected_border);
-                notSelectedBorder = itemView.findViewById(R.id.not_selected_border);
-                textView = itemView.findViewById(R.id.group_type_text);
-                subTextView = itemView.findViewById(R.id.group_type_content);
-            }
-
-            public void showSelected() {
-                selectedBorder.setVisibility(View.VISIBLE);
-                notSelectedBorder.setVisibility(View.GONE);
-                selectedIcon.setVisibility(View.VISIBLE);
-            }
-
-            public void hideSelected() {
-                selectedBorder.setVisibility(View.GONE);
-                notSelectedBorder.setVisibility(View.VISIBLE);
-                selectedIcon.setVisibility(View.GONE);
-            }
-        }
-    }
-}

+ 0 - 288
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/ManageGroupMinimalistActivity.java

@@ -1,288 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import static com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants.GROUP_PROFILE_BEAN;
-
-import android.content.Intent;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.CompoundButton;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.MinimalistLineControllerView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupManagerPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ManageGroupMinimalistActivity extends BaseMinimalistLightActivity {
-    private TitleBarLayout titleBarLayout;
-    private MinimalistLineControllerView muteAllView;
-    private View addMuteMemberView;
-    private RecyclerView mutedList;
-    private MutedMemberAdapter mutedMemberAdapter;
-
-    private GroupManagerPresenter presenter;
-    private GroupProfileBean profileBean;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.group_minimalist_manager);
-        presenter = new GroupManagerPresenter();
-        titleBarLayout = findViewById(R.id.group_manage_title_bar);
-        muteAllView = findViewById(R.id.group_manage_mute_all);
-        addMuteMemberView = findViewById(R.id.group_manage_add_mute_member);
-        mutedList = findViewById(R.id.group_manage_muted_member_list);
-        mutedList.setLayoutManager(new CustomLinearLayoutManager(this));
-        mutedMemberAdapter = new MutedMemberAdapter();
-        mutedList.setAdapter(mutedMemberAdapter);
-
-        profileBean = (GroupProfileBean) getIntent().getSerializableExtra(GROUP_PROFILE_BEAN);
-
-        muteAllView.setChecked(profileBean.isAllMuted());
-        if (profileBean.isAllMuted()) {
-            addMuteMemberView.setVisibility(View.GONE);
-            mutedList.setVisibility(View.GONE);
-        }
-
-        titleBarLayout.setTitle(getString(R.string.group_manager), ITitleBarLayout.Position.MIDDLE);
-        setClickListener();
-        loadMutedMember();
-    }
-
-    private void setClickListener() {
-        titleBarLayout.getLeftIcon().setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        muteAllView.setCheckListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                presenter.muteAll(profileBean.getGroupID(), isChecked, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        if (isChecked) {
-                            addMuteMemberView.setVisibility(View.GONE);
-                            mutedList.setVisibility(View.GONE);
-                        } else {
-                            addMuteMemberView.setVisibility(View.VISIBLE);
-                            mutedList.setVisibility(View.VISIBLE);
-                        }
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                    }
-                });
-            }
-        });
-
-        addMuteMemberView.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (TextUtils.equals(profileBean.getGroupType(), GroupInfo.GROUP_TYPE_AVCHATROOM)
-                    || TextUtils.equals(profileBean.getGroupType(), GroupInfo.GROUP_TYPE_WORK)) {
-                    ToastUtil.toastShortMessage(getString(R.string.group_not_support_mute_member));
-                    return;
-                }
-
-                Intent intent = new Intent(ManageGroupMinimalistActivity.this, GroupMemberMinimalistActivity.class);
-                intent.putExtra(TUIConstants.TUIContact.IS_SELECT_MODE, true);
-                intent.putExtra(TUIConstants.TUIContact.FILTER, GroupInfo.GROUP_MEMBER_FILTER_COMMON);
-                if (mutedMemberAdapter.getGroupMemberInfoList() != null) {
-                    ArrayList<String> selectedList = new ArrayList<>();
-                    for (GroupMemberInfo memberInfo : mutedMemberAdapter.getGroupMemberInfoList()) {
-                        selectedList.add(memberInfo.getUserId());
-                    }
-                    intent.putExtra(TUIConstants.TUIContact.SELECTED_LIST, selectedList);
-                }
-                intent.putExtra(TUIConstants.TUIContact.GROUP_ID, profileBean.getGroupID());
-                startActivityForResult(intent, 1);
-            }
-        });
-
-        mutedMemberAdapter.setOnItemLongClickListener(new OnItemLongClickListener() {
-            @Override
-            public void onClick(View view, GroupMemberInfo memberInfo) {
-                Drawable drawable = view.getBackground();
-                if (drawable != null) {
-                    drawable.setColorFilter(0xd9d9d9, PorterDuff.Mode.SRC_IN);
-                }
-                View itemPop = LayoutInflater.from(ManageGroupMinimalistActivity.this).inflate(R.layout.group_manager_pop_menu, null);
-                PopupWindow popupWindow = new PopupWindow(itemPop, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT);
-                popupWindow.setBackgroundDrawable(new ColorDrawable());
-                popupWindow.setOutsideTouchable(true);
-                popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
-                    @Override
-                    public void onDismiss() {
-                        if (drawable != null) {
-                            drawable.clearColorFilter();
-                        }
-                    }
-                });
-                TextView popText = itemPop.findViewById(R.id.pop_text);
-                popText.setText(R.string.group_cancel_mute_label);
-                popText.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        popupWindow.dismiss();
-                        presenter.cancelMuteGroupMember(profileBean.getGroupID(), memberInfo.getUserId(), new IUIKitCallback<Void>() {
-                            @Override
-                            public void onSuccess(Void data) {
-                                mutedMemberAdapter.onItemRemoved(memberInfo);
-                            }
-
-                            @Override
-                            public void onError(String module, int errCode, String errMsg) {
-                                ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                            }
-                        });
-                    }
-                });
-                int x = view.getWidth() / 2;
-                int y = -view.getHeight() / 3;
-                int popHeight = ScreenUtil.dip2px(45) * 3;
-                if (y + popHeight + view.getY() + view.getHeight() > mutedList.getBottom()) {
-                    y = y - popHeight;
-                }
-                popupWindow.showAsDropDown(view, x, y, Gravity.TOP | Gravity.START);
-            }
-        });
-    }
-
-    private void loadMutedMember() {
-        presenter.loadMutedMembers(profileBean.getGroupID(), new IUIKitCallback<List<GroupMemberInfo>>() {
-            @Override
-            public void onSuccess(List<GroupMemberInfo> data) {
-                mutedMemberAdapter.setGroupMemberInfoList(data);
-            }
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {
-                ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-            }
-        });
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        if (requestCode == 1 && data != null) {
-            List<String> selectedList = data.getStringArrayListExtra(TUIContactConstants.Selection.LIST);
-            if (selectedList != null && !selectedList.isEmpty()) {
-                for (String userId : selectedList) {
-                    presenter.muteGroupMember(profileBean.getGroupID(), userId, new IUIKitCallback<Void>() {
-                        @Override
-                        public void onSuccess(Void data) {
-                            loadMutedMember();
-                        }
-
-                        @Override
-                        public void onError(String module, int errCode, String errMsg) {
-                            ToastUtil.toastShortMessage(errCode + ", " + errMsg);
-                        }
-                    });
-                }
-            }
-        }
-    }
-
-    class MutedMemberAdapter extends RecyclerView.Adapter<MutedMemberAdapter.MutedMemberViewHolder> {
-        private List<GroupMemberInfo> groupMemberInfoList;
-
-        private OnItemLongClickListener onItemLongClickListener;
-
-        public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
-            this.onItemLongClickListener = onItemLongClickListener;
-        }
-
-        public void onItemRemoved(GroupMemberInfo memberInfo) {
-            int index = groupMemberInfoList.indexOf(memberInfo);
-            groupMemberInfoList.remove(memberInfo);
-            notifyItemRemoved(index);
-        }
-
-        public void setGroupMemberInfoList(List<GroupMemberInfo> groupMemberInfoList) {
-            this.groupMemberInfoList = groupMemberInfoList;
-            notifyDataSetChanged();
-        }
-
-        public List<GroupMemberInfo> getGroupMemberInfoList() {
-            return groupMemberInfoList;
-        }
-
-        @NonNull
-        @Override
-        public MutedMemberViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_minimalist_manager_item, parent, false);
-            return new MutedMemberViewHolder(itemView);
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull MutedMemberViewHolder holder, int position) {
-            GroupMemberInfo groupMemberInfo = groupMemberInfoList.get(position);
-            holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
-                @Override
-                public boolean onLongClick(View v) {
-                    if (onItemLongClickListener != null) {
-                        onItemLongClickListener.onClick(v, groupMemberInfo);
-                    }
-                    return false;
-                }
-            });
-            holder.managerName.setText(groupMemberInfo.getDisplayName());
-            GlideEngine.loadUserIcon(holder.faceIcon, groupMemberInfo.getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (groupMemberInfoList == null || groupMemberInfoList.isEmpty()) {
-                return 0;
-            }
-            return groupMemberInfoList.size();
-        }
-
-        class MutedMemberViewHolder extends RecyclerView.ViewHolder {
-            ShadeImageView faceIcon;
-            TextView managerName;
-
-            public MutedMemberViewHolder(@NonNull View itemView) {
-                super(itemView);
-                faceIcon = itemView.findViewById(R.id.group_manager_face);
-                faceIcon.setRadius(ScreenUtil.dip2px(25));
-                managerName = itemView.findViewById(R.id.group_manage_name);
-            }
-        }
-    }
-
-    interface OnItemLongClickListener {
-        void onClick(View view, GroupMemberInfo groupMemberInfo);
-    }
-}

+ 0 - 110
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/NewFriendApplicationDetailMinimalistActivity.java

@@ -1,110 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendPresenter;
-
-public class NewFriendApplicationDetailMinimalistActivity extends BaseMinimalistLightActivity {
-    private static final String TAG = NewFriendApplicationDetailMinimalistActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private NewFriendPresenter presenter;
-    private FriendApplicationBean applicationBean;
-    private ShadeImageView avatarView;
-    private TextView userNameTv;
-    private TextView userIDTv;
-    private TextView addWordingTv;
-    private TextView agreeButton;
-    private TextView rejectButton;
-    private TextView resultButton;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_minimalist_new_friend_application_detail_activity);
-        applicationBean = (FriendApplicationBean) getIntent().getSerializableExtra(TUIConstants.TUIContact.CONTENT);
-        init();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.new_friend_detail_title_bar);
-        mTitleBar.setTitle(getResources().getString(R.string.contact_friend_application_detail_title), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-
-        avatarView = findViewById(R.id.avatar);
-        avatarView.setRadius(ScreenUtil.dip2px(25));
-        GlideEngine.loadImage(avatarView, applicationBean.getFaceUrl());
-
-        userNameTv = findViewById(R.id.user_name);
-        if (TextUtils.isEmpty(applicationBean.getNickName())) {
-            userNameTv.setText(applicationBean.getUserId());
-        } else {
-            userNameTv.setText(applicationBean.getNickName());
-        }
-        userIDTv = findViewById(R.id.user_id);
-        userIDTv.setText(applicationBean.getUserId());
-
-        addWordingTv = findViewById(R.id.validation_message);
-        addWordingTv.setText(applicationBean.getAddWording());
-
-        agreeButton = findViewById(R.id.agree);
-        rejectButton = findViewById(R.id.reject);
-        resultButton = findViewById(R.id.result_tv);
-
-        presenter = new NewFriendPresenter();
-        agreeButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.acceptFriendApplication(applicationBean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-
-        rejectButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                presenter.refuseFriendApplication(applicationBean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        agreeButton.setVisibility(View.GONE);
-                        rejectButton.setVisibility(View.GONE);
-                        resultButton.setVisibility(View.VISIBLE);
-                        resultButton.setText(getResources().getString(R.string.refused));
-                        resultButton.setTextColor(0xFFFF584C);
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        super.onError(module, errCode, errMsg);
-                    }
-                });
-            }
-        });
-    }
-}

+ 0 - 91
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/NewFriendApplicationMinimalistActivity.java

@@ -1,91 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.os.Bundle;
-import android.view.View;
-import android.widget.ListView;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.INewFriendActivity;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.NewFriendListAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-import java.util.List;
-
-public class NewFriendApplicationMinimalistActivity extends BaseMinimalistLightActivity implements INewFriendActivity {
-    private static final String TAG = NewFriendApplicationMinimalistActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ListView mNewFriendLv;
-    private NewFriendListAdapter mAdapter;
-    private TextView notFoundTip;
-
-    private NewFriendPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_minimalist_new_friend_activity);
-        init();
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        initPendency();
-    }
-
-    private void init() {
-        mTitleBar = findViewById(R.id.new_friend_titlebar);
-        mTitleBar.setTitle(getResources().getString(R.string.contact_new_application_title, 0), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        presenter = new NewFriendPresenter();
-        presenter.setFriendActivity(this);
-        presenter.setFriendApplicationRead(new IUIKitCallback<Void>() {
-            @Override
-            public void onSuccess(Void data) {}
-
-            @Override
-            public void onError(String module, int errCode, String errMsg) {}
-        });
-        mNewFriendLv = findViewById(R.id.new_friend_list);
-        notFoundTip = findViewById(R.id.not_found_tip);
-    }
-
-    private void initPendency() {
-        presenter.loadFriendApplicationList();
-    }
-
-    @Override
-    public void onDataSourceChanged(List<FriendApplicationBean> dataSource) {
-        TUIContactLog.i(TAG, "getFriendApplicationList success");
-        if (dataSource == null || dataSource.isEmpty()) {
-            notFoundTip.setVisibility(View.VISIBLE);
-            mTitleBar.setTitle(getResources().getString(R.string.contact_no_new_friend_application), ITitleBarLayout.Position.MIDDLE);
-        } else {
-            mTitleBar.setTitle(getResources().getString(R.string.contact_new_application_title, dataSource.size()), ITitleBarLayout.Position.MIDDLE);
-            notFoundTip.setVisibility(View.GONE);
-        }
-        mNewFriendLv.setVisibility(View.VISIBLE);
-        mAdapter = new NewFriendListAdapter(NewFriendApplicationMinimalistActivity.this, R.layout.contact_minimalist_new_friend_application_item, dataSource);
-        mAdapter.setPresenter(presenter);
-        mNewFriendLv.setAdapter(mAdapter);
-        mAdapter.notifyDataSetChanged();
-    }
-
-    @Override
-    public void finish() {
-        super.finish();
-    }
-}

+ 0 - 77
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartC2CChatMinimalistActivity.java

@@ -1,77 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-
-public class StartC2CChatMinimalistActivity extends AppCompatActivity {
-    private static final String TAG = StartC2CChatMinimalistActivity.class.getSimpleName();
-
-    private TextView cancelButton;
-    private View createGroupButton;
-    private ContactListView mContactListView;
-
-    private ContactPresenter presenter;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.minimalist_popup_start_c2c_chat_activity);
-        cancelButton = findViewById(R.id.cancel_button);
-        mContactListView = findViewById(R.id.contact_list_view);
-        mContactListView.setSingleSelectMode(true);
-        createGroupButton = findViewById(R.id.create_group_button);
-        cancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        createGroupButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(StartC2CChatMinimalistActivity.this, StartGroupChatMinimalistActivity.class);
-                startActivity(intent);
-                finish();
-            }
-        });
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-
-        mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                startConversation(contact);
-            }
-        });
-    }
-
-    public void startConversation(ContactItemBean selectedItem) {
-        if (selectedItem == null) {
-            ToastUtil.toastLongMessage(getString(R.string.select_chat));
-            return;
-        }
-        String chatName = selectedItem.getId();
-        if (!TextUtils.isEmpty(selectedItem.getRemark())) {
-            chatName = selectedItem.getRemark();
-        } else if (!TextUtils.isEmpty(selectedItem.getNickName())) {
-            chatName = selectedItem.getNickName();
-        }
-
-        MinimalistUIUtils.startChatActivity(selectedItem.getId(), ContactItemBean.TYPE_C2C, chatName, selectedItem.getAvatarUrl(), null);
-        finish();
-    }
-}

+ 0 - 222
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartGroupChatMinimalistActivity.java

@@ -1,222 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.RoundCornerImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactAdapter;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.ContactUtils;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class StartGroupChatMinimalistActivity extends AppCompatActivity {
-    private static final String TAG = StartGroupChatMinimalistActivity.class.getSimpleName();
-
-    private TextView cancelButton;
-    private TextView nextButton;
-    private ContactListView mContactListView;
-    private ArrayList<GroupMemberInfo> mMembers = new ArrayList<>();
-    private int mJoinTypeIndex = 2;
-    private ArrayList<String> mJoinTypes = new ArrayList<>();
-    private ArrayList<String> mGroupTypeValue = new ArrayList<>();
-    private RecyclerView selectedList;
-    private GroupMemberSelectedAdapter selectedListAdapter;
-    private ContactPresenter presenter;
-    private GroupMemberInfo selfInfo;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.minimalist_popup_start_group_chat_activity);
-        selfInfo = new GroupMemberInfo();
-        selfInfo.setUserId(ContactUtils.getLoginUser());
-        selfInfo.setNickName(TUIConfig.getSelfNickName());
-        init();
-    }
-
-    private void init() {
-        String[] array = getResources().getStringArray(R.array.group_type);
-        mGroupTypeValue.addAll(Arrays.asList(array));
-        array = getResources().getStringArray(R.array.group_join_type);
-        mJoinTypes.addAll(Arrays.asList(array));
-
-        cancelButton = findViewById(R.id.cancel_button);
-        nextButton = findViewById(R.id.next_button);
-
-        nextButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                toCreateGroupChat();
-            }
-        });
-        cancelButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-
-        mContactListView = findViewById(R.id.group_create_member_list);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new GroupMemberSelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-        selectedList.setVisibility(View.GONE);
-        selectedListAdapter.setSelectedMemberClickedListener(new OnSelectedMemberClickedListener() {
-            @Override
-            public void onRemove(GroupMemberInfo groupMemberInfo) {
-                ContactAdapter adapter = mContactListView.getAdapter();
-                adapter.setSelected(groupMemberInfo.getUserId(), false);
-            }
-        });
-
-        ArrayList<String> alreadySelectedList = new ArrayList<>();
-        alreadySelectedList.add(TUILogin.getLoginUser());
-        mContactListView.setAlreadySelectedList(alreadySelectedList);
-        mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    GroupMemberInfo memberInfo = new GroupMemberInfo();
-                    memberInfo.setUserId(contact.getId());
-                    memberInfo.setNickName(contact.getNickName());
-                    memberInfo.setFaceUrl(contact.getAvatarUrl());
-                    mMembers.add(memberInfo);
-                    selectedListAdapter.setMembers(mMembers);
-                    selectedListAdapter.notifyItemInserted(mMembers.indexOf(memberInfo));
-                } else {
-                    for (int i = mMembers.size() - 1; i >= 0; i--) {
-                        if (mMembers.get(i).getUserId().equals(contact.getId())) {
-                            selectedListAdapter.notifyItemRemoved(i);
-                            mMembers.remove(i);
-                            selectedListAdapter.setMembers(mMembers);
-                            break;
-                        }
-                    }
-                }
-
-                if (mMembers.size() > 0) {
-                    nextButton.setAlpha(1f);
-                    nextButton.setEnabled(true);
-                    selectedList.setVisibility(View.VISIBLE);
-                } else {
-                    nextButton.setAlpha(0.5f);
-                    nextButton.setEnabled(false);
-                    selectedList.setVisibility(View.GONE);
-                }
-            }
-        });
-
-        nextButton.setAlpha(0.5f);
-        nextButton.setEnabled(false);
-    }
-
-    private void toCreateGroupChat() {
-        if (mMembers.isEmpty()) {
-            ToastUtil.toastLongMessage(getResources().getString(R.string.tips_empty_group_member));
-            return;
-        }
-
-        String groupName = selfInfo.getDisplayName();
-        for (int i = 1; i < mMembers.size(); i++) {
-            groupName = groupName + "、" + mMembers.get(i).getDisplayName();
-        }
-        if (groupName.length() >= 10) {
-            groupName = groupName.substring(0, 7) + "..";
-        }
-
-        Intent intent = new Intent(this, CreateGroupMinimalistActivity.class);
-        intent.putExtra(TUIConstants.TUIContact.GROUP_NAME, groupName);
-        intent.putExtra(TUIConstants.TUIContact.JOIN_TYPE_INDEX, mJoinTypeIndex);
-        intent.putExtra(TUIConstants.TUIContact.GROUP_MEMBER_ID_LIST, mMembers);
-        startActivity(intent);
-        finish();
-    }
-
-    public interface OnSelectedMemberClickedListener {
-        void onRemove(GroupMemberInfo groupMemberInfo);
-    }
-
-    public static class GroupMemberSelectedAdapter extends RecyclerView.Adapter<GroupMemberSelectedAdapter.GroupMemberSelectedViewHolder> {
-        private List<GroupMemberInfo> mMembers;
-        private OnSelectedMemberClickedListener selectedMemberClickedListener;
-
-        public void setMembers(List<GroupMemberInfo> mMembers) {
-            this.mMembers = mMembers;
-        }
-
-        public void setSelectedMemberClickedListener(OnSelectedMemberClickedListener selectedMemberClickedListener) {
-            this.selectedMemberClickedListener = selectedMemberClickedListener;
-        }
-
-        @NonNull
-        @Override
-        public GroupMemberSelectedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            return new GroupMemberSelectedViewHolder(
-                LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_create_group_list_selected_item, parent, false));
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull GroupMemberSelectedViewHolder holder, int position) {
-            GroupMemberInfo groupMemberInfo = mMembers.get(position);
-            GlideEngine.loadImage(holder.userIconView, groupMemberInfo.getFaceUrl());
-            holder.userNameTv.setText(groupMemberInfo.getDisplayName());
-            holder.removeIcon.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (selectedMemberClickedListener != null) {
-                        selectedMemberClickedListener.onRemove(groupMemberInfo);
-                    }
-                }
-            });
-        }
-
-        @Override
-        public int getItemCount() {
-            if (mMembers == null) {
-                return 0;
-            }
-            return mMembers.size();
-        }
-
-        public static class GroupMemberSelectedViewHolder extends RecyclerView.ViewHolder {
-            public RoundCornerImageView userIconView;
-            public ImageView removeIcon;
-            public TextView userNameTv;
-
-            public GroupMemberSelectedViewHolder(@NonNull View itemView) {
-                super(itemView);
-                userIconView = itemView.findViewById(R.id.ivAvatar);
-                removeIcon = itemView.findViewById(R.id.remove_icon);
-                userNameTv = itemView.findViewById(R.id.user_name_tv);
-                userIconView.setRadius(ScreenUtil.dip2px(25));
-            }
-        }
-    }
-}

+ 0 - 245
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/StartGroupMemberSelectMinimalistActivity.java

@@ -1,245 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.RoundCornerImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.activities.BaseMinimalistLightActivity;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
-
-public class StartGroupMemberSelectMinimalistActivity extends BaseMinimalistLightActivity {
-    private static final String TAG = StartGroupMemberSelectMinimalistActivity.class.getSimpleName();
-
-    private TitleBarLayout mTitleBar;
-    private ContactListView mContactListView;
-    private ArrayList<GroupMemberInfo> mMembers = new ArrayList<>();
-    private ArrayList<String> alreadySelectedList;
-    private RecyclerView selectedList;
-    private SelectedAdapter selectedListAdapter;
-    private TextView confirmButton;
-    private ContactPresenter presenter;
-    private int limit;
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.contact_minimalist_start_group_select_activity);
-
-        init();
-    }
-
-    private ArrayList<String> getMembersDisplayName() {
-        if (mMembers.isEmpty()) {
-            return new ArrayList<>();
-        }
-
-        ArrayList<String> nameCards = new ArrayList<>();
-        for (int i = 0; i < mMembers.size(); i++) {
-            nameCards.add(mMembers.get(i).getDisplayName());
-        }
-        return nameCards;
-    }
-
-    private ArrayList<String> getMembersUserId() {
-        if (mMembers.isEmpty()) {
-            return new ArrayList<>();
-        }
-
-        ArrayList<String> userIds = new ArrayList<>();
-        for (int i = 0; i < mMembers.size(); i++) {
-            userIds.add(mMembers.get(i).getUserId());
-        }
-        return userIds;
-    }
-
-    private void init() {
-        mMembers.clear();
-
-        String groupId = getIntent().getStringExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.GROUP_ID);
-        if (TextUtils.isEmpty(groupId)) {
-            groupId = getIntent().getStringExtra(TUIConstants.TUIContact.GROUP_ID);
-        }
-        String title = getIntent().getStringExtra(TUIContactConstants.Selection.TITLE);
-        if (TextUtils.isEmpty(title)) {
-            title = getIntent().getStringExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.PAGE_TITLE);
-        }
-        limit = getIntent().getIntExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.MEMBER_LIMIT, Integer.MAX_VALUE);
-        alreadySelectedList = getIntent().getStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECTED_LIST);
-        mTitleBar = findViewById(R.id.group_create_title_bar);
-        mTitleBar.setTitle(getResources().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-        if (!TextUtils.isEmpty(title)) {
-            mTitleBar.setTitle(title, ITitleBarLayout.Position.MIDDLE);
-        }
-        mTitleBar.getRightIcon().setVisibility(View.GONE);
-        mTitleBar.setOnRightClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-        mTitleBar.setOnLeftClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                finish();
-            }
-        });
-        confirmButton = findViewById(R.id.confirm_button);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new SelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-        mContactListView = findViewById(R.id.group_create_member_list);
-        mContactListView.setAlreadySelectedList(alreadySelectedList);
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        boolean isSelectForCall = getIntent().getBooleanExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FOR_CALL, false);
-        presenter.setIsForCall(isSelectForCall);
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-
-        mContactListView.setGroupId(groupId);
-        boolean isSelectFriends = getIntent().getBooleanExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.SELECT_FRIENDS, false);
-        if (isSelectFriends) {
-            mTitleBar.setTitle(getString(R.string.add_group_member), TitleBarLayout.Position.MIDDLE);
-            mContactListView.loadDataSource(ContactListView.DataSource.FRIEND_LIST);
-        } else {
-            mContactListView.loadDataSource(ContactListView.DataSource.GROUP_MEMBER_LIST);
-        }
-
-        if (!isSelectForCall && !isSelectFriends) {
-            mContactListView.setOnItemClickListener(new ContactListView.OnItemClickListener() {
-                @Override
-                public void onItemClick(int position, ContactItemBean contact) {
-                    if (position == 0) {
-                        mMembers.clear();
-
-                        Intent i = new Intent();
-                        i.putStringArrayListExtra(
-                            TUIContactConstants.Selection.USER_NAMECARD_SELECT, new ArrayList<String>(Arrays.asList(getString(R.string.at_all))));
-                        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_NAME_CARD_SELECT,
-                            new ArrayList<String>(Arrays.asList(getString(R.string.at_all))));
-                        i.putStringArrayListExtra(
-                            TUIContactConstants.Selection.USER_ID_SELECT, new ArrayList<String>(Arrays.asList(TUIContactConstants.Selection.SELECT_ALL)));
-                        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_ID_SELECT,
-                            new ArrayList<String>(Arrays.asList(TUIContactConstants.Selection.SELECT_ALL)));
-                        setResult(3, i);
-
-                        finish();
-                    }
-                }
-            });
-        }
-        mContactListView.setOnSelectChangeListener(new ContactListView.OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged(ContactItemBean contact, boolean selected) {
-                if (selected) {
-                    GroupMemberInfo memberInfo = new GroupMemberInfo();
-                    memberInfo.setUserId(contact.getId());
-                    memberInfo.setFaceUrl(contact.getAvatarUrl());
-                    memberInfo.setNameCard(contact.getNameCard());
-                    memberInfo.setFriendRemark(contact.getRemark());
-                    memberInfo.setNickName(contact.getNickName());
-                    mMembers.add(memberInfo);
-                } else {
-                    for (int i = mMembers.size() - 1; i >= 0; i--) {
-                        if (mMembers.get(i).getUserId().equals(contact.getId())) {
-                            mMembers.remove(i);
-                        }
-                    }
-                }
-                selectedListAdapter.setMembers(mMembers);
-                selectedListAdapter.notifyDataSetChanged();
-            }
-        });
-        confirmButton.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-    }
-
-    private void confirmAndFinish() {
-        if (mMembers.size() > limit) {
-            String overLimitTip = String.format(Locale.US, getString(R.string.contact_over_limit_tip), limit);
-            ToastUtil.toastShortMessage(overLimitTip);
-            return;
-        }
-        Intent i = new Intent();
-        List<String> friendIdList = new ArrayList<>();
-        for (GroupMemberInfo memberInfo : mMembers) {
-            friendIdList.add(memberInfo.getUserId());
-        }
-        i.putExtra(TUIContactConstants.Selection.LIST, (Serializable) friendIdList);
-        i.putExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.DATA_LIST, (Serializable) friendIdList);
-        i.putStringArrayListExtra(TUIContactConstants.Selection.USER_NAMECARD_SELECT, getMembersDisplayName());
-        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_NAME_CARD_SELECT, getMembersDisplayName());
-        i.putStringArrayListExtra(TUIContactConstants.Selection.USER_ID_SELECT, getMembersUserId());
-        i.putStringArrayListExtra(TUIConstants.TUIContact.StartActivity.GroupMemberSelect.USER_ID_SELECT, getMembersUserId());
-        i.putExtras(getIntent());
-        setResult(3, i);
-
-        finish();
-    }
-
-    public static class SelectedAdapter extends RecyclerView.Adapter<SelectedAdapter.SelectedViewHolder> {
-        private List<GroupMemberInfo> mMembers;
-
-        public void setMembers(List<GroupMemberInfo> mMembers) {
-            this.mMembers = mMembers;
-        }
-
-        @NonNull
-        @Override
-        public SelectedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            return new SelectedViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_forward_contact_selector_item, parent, false));
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull SelectedViewHolder holder, int position) {
-            GlideEngine.loadImage(holder.userIconView, mMembers.get(position).getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (mMembers == null) {
-                return 0;
-            }
-            return mMembers.size();
-        }
-
-        public class SelectedViewHolder extends RecyclerView.ViewHolder {
-            public RoundCornerImageView userIconView;
-
-            public SelectedViewHolder(@NonNull View itemView) {
-                super(itemView);
-                userIconView = itemView.findViewById(R.id.ivAvatar);
-                userIconView.setRadius(ScreenUtil.dip2px(20));
-            }
-        }
-    }
-}

+ 0 - 90
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/pages/TUIContactMinimalistFragment.java

@@ -1,90 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.MinimalistUIExtensionObserver;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.util.MinimalistUIUtils;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactLayout;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget.ContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import com.tencent.qcloud.tuikit.tuicontact.util.TUIContactLog;
-
-public class TUIContactMinimalistFragment extends Fragment {
-    private static final String TAG = TUIContactMinimalistFragment.class.getSimpleName();
-    private ContactLayout mContactLayout;
-
-    private ContactPresenter presenter;
-
-    @Nullable
-    @Override
-    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
-        View baseView = inflater.inflate(R.layout.minimalist_contact_fragment, container, false);
-        initViews(baseView);
-
-        return baseView;
-    }
-
-    private void initViews(View view) {
-        mContactLayout = view.findViewById(R.id.contact_layout);
-
-        presenter = new ContactPresenter();
-        presenter.setFriendListListener();
-        mContactLayout.setPresenter(presenter);
-        mContactLayout.initDefault();
-
-        mContactLayout.setOnClickListener(new OnClickListener() {
-            @Override
-            public void finishActivity() {
-                getActivity().finish();
-            }
-        });
-
-        mContactLayout.getContactListView().setOnItemClickListener(new ContactListView.OnItemClickListener() {
-            @Override
-            public void onItemClick(int position, ContactItemBean contact) {
-                if (position == 0) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), NewFriendApplicationMinimalistActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else if (position == 1) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), GroupListMinimalistActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else if (position == 2) {
-                    Intent intent = new Intent(TUIContactService.getAppContext(), BlackListMinimalistActivity.class);
-                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                    TUIContactService.getAppContext().startActivity(intent);
-                } else {
-                    MinimalistUIUtils.showContactDetails(contact.getId());
-                }
-            }
-        });
-    }
-
-    public void reloadData() {
-        if (mContactLayout != null) {
-            mContactLayout.reloadData();
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        TUIContactLog.i(TAG, "onResume");
-        mContactLayout.initUI();
-    }
-
-    public interface OnClickListener {
-        void finishActivity();
-    }
-}

+ 0 - 51
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/util/MinimalistUIUtils.java

@@ -1,51 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.util;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import com.tencent.imsdk.v2.V2TIMConversation;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-
-import java.util.ArrayList;
-
-public class MinimalistUIUtils {
-    public static boolean isC2CChat(int chatType) {
-        return chatType == V2TIMConversation.V2TIM_C2C;
-    }
-
-    public static boolean isGroupChat(int chatType) {
-        return chatType == V2TIMConversation.V2TIM_GROUP;
-    }
-
-    public static void startChatActivity(String chatId, int chatType, String chatName, String faceUrl, ArrayList<Object> faceIconList) {
-        if (TextUtils.isEmpty(chatId)) {
-            return;
-        }
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, chatId);
-        bundle.putString(TUIConstants.TUIChat.CHAT_NAME, chatName);
-        bundle.putInt(TUIConstants.TUIChat.CHAT_TYPE, chatType);
-        bundle.putString(TUIConstants.TUIChat.FACE_URL, faceUrl);
-        if (isGroupChat(chatType)) {
-            if (!TextUtils.isEmpty(faceUrl)) {
-                ArrayList<Object> realList = new ArrayList<>();
-                realList.add(faceUrl);
-                bundle.putSerializable(TUIConstants.TUIChat.FACE_URL_LIST, realList);
-            } else {
-                bundle.putSerializable(TUIConstants.TUIChat.FACE_URL_LIST, faceIconList);
-            }
-        }
-        if (isGroupChat(chatType)) {
-            TUICore.startActivity("TUIGroupChatMinimalistActivity", bundle);
-        } else {
-            TUICore.startActivity("TUIC2CChatMinimalistActivity", bundle);
-        }
-    }
-
-    public static void showContactDetails(String userID) {
-        Bundle bundle = new Bundle();
-        bundle.putString(TUIConstants.TUIChat.CHAT_ID, userID);
-        TUICore.startActivity("FriendProfileMinimalistActivity", bundle);
-    }
-}

+ 0 - 276
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactAdapter.java

@@ -1,276 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.graphics.drawable.Drawable;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.imsdk.v2.V2TIMUserStatus;
-import com.tencent.qcloud.tuicore.TUIThemeManager;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.TUIUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactService;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.config.TUIContactConfig;
-import com.tencent.qcloud.tuikit.tuicontact.config.minimalistui.TUIContactConfigMinimalist;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContactAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
-    protected List<ContactItemBean> mData;
-    private ContactListView.OnSelectChangedListener mOnSelectChangedListener;
-    private ContactListView.OnItemClickListener mOnClickListener;
-
-    private boolean isSingleSelectMode;
-    private ContactPresenter presenter;
-    private boolean isGroupList = false;
-    private int dataSourceType = ContactListView.DataSource.UNKNOWN;
-    private ArrayList<String> alreadySelectedList;
-
-    public ContactAdapter(List<ContactItemBean> data) {
-        this.mData = data;
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public void setIsGroupList(boolean groupList) {
-        isGroupList = groupList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        this.alreadySelectedList = alreadySelectedList;
-    }
-
-    @Override
-    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        if (viewType == ContactItemBean.ITEM_BEAN_TYPE_CONTACT) {
-            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_minimalist_selecable_adapter_item, parent, false);
-            return new ContactItemViewHolder(view);
-        } else {
-            View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.contact_minimalist_controller_item_layout, parent, false);
-            return new ContactControllerViewHolder(view);
-        }
-    }
-
-    @Override
-    public void onBindViewHolder(final RecyclerView.ViewHolder viewHolder, final int position) {
-        final ContactItemBean contactBean = mData.get(position);
-        if (viewHolder instanceof ContactItemViewHolder) {
-            ContactItemViewHolder itemViewHolder = (ContactItemViewHolder) viewHolder;
-            itemViewHolder.tvName.setText(contactBean.getDisplayName());
-            if (!isSingleSelectMode && mOnSelectChangedListener != null) {
-                itemViewHolder.ccSelect.setVisibility(View.VISIBLE);
-                itemViewHolder.ccSelect.setChecked(contactBean.isSelected());
-            }
-
-            itemViewHolder.content.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (!contactBean.isEnable()) {
-                        return;
-                    }
-
-                    itemViewHolder.ccSelect.setChecked(!itemViewHolder.ccSelect.isChecked());
-                    if (mOnSelectChangedListener != null) {
-                        mOnSelectChangedListener.onSelectChanged(getItem(position), itemViewHolder.ccSelect.isChecked());
-                    }
-                    contactBean.setSelected(itemViewHolder.ccSelect.isChecked());
-                    if (mOnClickListener != null) {
-                        mOnClickListener.onItemClick(position, contactBean);
-                    }
-                }
-            });
-            itemViewHolder.unreadText.setVisibility(View.GONE);
-            itemViewHolder.userStatusView.setVisibility(View.GONE);
-            int radius = ScreenUtil.dip2px(20);
-            if (TUIContactConfigMinimalist.getContactAvatarRadius() != TUIContactConfigMinimalist.UNDEFINED) {
-                radius = TUIContactConfigMinimalist.getContactAvatarRadius();
-            }
-            itemViewHolder.avatar.setRadius(radius);
-            if (isGroupList) {
-                int defaultIconResId = TUIUtil.getDefaultGroupIconResIDByGroupType(itemViewHolder.itemView.getContext(), contactBean.getGroupType());
-                GlideEngine.loadUserIcon(itemViewHolder.avatar, contactBean.getAvatarUrl(), defaultIconResId, radius);
-            } else {
-                GlideEngine.loadUserIcon(itemViewHolder.avatar, contactBean.getAvatarUrl(), radius);
-            }
-            if (dataSourceType == ContactListView.DataSource.CONTACT_LIST && TUIContactConfigMinimalist.isShowUserOnlineStatusIcon()) {
-                itemViewHolder.userStatusView.setVisibility(View.VISIBLE);
-                if (contactBean.getStatusType() == V2TIMUserStatus.V2TIM_USER_STATUS_ONLINE) {
-                    itemViewHolder.userStatusView.setBackgroundResource(
-                        TUIThemeManager.getAttrResId(TUIContactService.getAppContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.user_status_online));
-                } else {
-                    itemViewHolder.userStatusView.setBackgroundResource(
-                        TUIThemeManager.getAttrResId(TUIContactService.getAppContext(), com.tencent.qcloud.tuikit.timcommon.R.attr.user_status_offline));
-                }
-            } else {
-                itemViewHolder.userStatusView.setVisibility(View.GONE);
-            }
-            setAlreadySelected(itemViewHolder, contactBean);
-        } else {
-            ContactControllerViewHolder controllerViewHolder = (ContactControllerViewHolder) viewHolder;
-            String newFriendString = TUIContactService.getAppContext().getResources().getString(R.string.new_friend);
-            String myGroupString = TUIContactService.getAppContext().getResources().getString(R.string.group);
-            String blokeListString = TUIContactService.getAppContext().getResources().getString(R.string.blacklist);
-            if (presenter.newContacts == contactBean) {
-                controllerViewHolder.controllerName.setText(newFriendString);
-                controllerViewHolder.unreadText.setText(contactBean.getUnreadCount() + "");
-                if (contactBean.getUnreadCount() > 0) {
-                    controllerViewHolder.unreadText.setVisibility(View.VISIBLE);
-                } else {
-                    controllerViewHolder.unreadText.setVisibility(View.GONE);
-                }
-            } else if (TextUtils.equals(myGroupString, contactBean.getId())) {
-                controllerViewHolder.controllerName.setText(myGroupString);
-                controllerViewHolder.unreadText.setVisibility(View.GONE);
-            } else if (TextUtils.equals(blokeListString, contactBean.getId())) {
-                controllerViewHolder.controllerName.setText(blokeListString);
-                controllerViewHolder.unreadText.setVisibility(View.GONE);
-            }
-            controllerViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (mOnClickListener != null) {
-                        mOnClickListener.onItemClick(position, contactBean);
-                    }
-                }
-            });
-        }
-    }
-
-    public void setSelected(String userID, boolean isSelected) {
-        ContactItemBean contact = null;
-        for (ContactItemBean item : mData) {
-            if (TextUtils.equals(item.getId(), userID)) {
-                contact = item;
-                break;
-            }
-        }
-        if (contact == null) {
-            return;
-        }
-        contact.setSelected(isSelected);
-        if (mOnSelectChangedListener != null) {
-            mOnSelectChangedListener.onSelectChanged(contact, isSelected);
-        }
-        notifyDataSetChanged();
-    }
-
-    private void setAlreadySelected(ContactItemViewHolder holder, ContactItemBean contactItemBean) {
-        if (alreadySelectedList != null && alreadySelectedList.contains(contactItemBean.getId())) {
-            holder.ccSelect.setChecked(true);
-            holder.itemView.setEnabled(false);
-            holder.ccSelect.setEnabled(false);
-        } else {
-            holder.itemView.setEnabled(true);
-            holder.ccSelect.setEnabled(true);
-            holder.ccSelect.setSelected(contactItemBean.isSelected());
-        }
-    }
-
-    @Override
-    public int getItemViewType(int position) {
-        final ContactItemBean contactBean = mData.get(position);
-        return contactBean.getItemBeanType();
-    }
-
-    @Override
-    public void onViewRecycled(RecyclerView.ViewHolder holder) {
-        if (holder instanceof ContactItemViewHolder) {
-            GlideEngine.clear(((ContactItemViewHolder) holder).avatar);
-            ((ContactItemViewHolder) holder).avatar.setImageResource(0);
-        }
-        super.onViewRecycled(holder);
-    }
-
-    private ContactItemBean getItem(int position) {
-        if (position < mData.size()) {
-            return mData.get(position);
-        }
-        return null;
-    }
-
-    @Override
-    public int getItemCount() {
-        return mData != null ? mData.size() : 0;
-    }
-
-    public void setDataSource(List<ContactItemBean> datas) {
-        this.mData = datas;
-        notifyDataSetChanged();
-    }
-
-    public void setSingleSelectMode(boolean mode) {
-        isSingleSelectMode = mode;
-    }
-
-    public void setOnSelectChangedListener(ContactListView.OnSelectChangedListener selectListener) {
-        mOnSelectChangedListener = selectListener;
-    }
-
-    public void setOnItemClickListener(ContactListView.OnItemClickListener listener) {
-        mOnClickListener = listener;
-    }
-
-    public void setDataSourceType(int dataSourceType) {
-        this.dataSourceType = dataSourceType;
-    }
-
-    public void onDataChanged(ContactItemBean data) {
-        int index = mData.indexOf(data);
-        if (index != -1) {
-            notifyItemChanged(index);
-        }
-    }
-
-    public static class ContactItemViewHolder extends RecyclerView.ViewHolder {
-        TextView tvName;
-        TextView unreadText;
-        ShadeImageView avatar;
-        CheckBox ccSelect;
-        View content;
-        View userStatusView;
-
-        public ContactItemViewHolder(View itemView) {
-            super(itemView);
-            tvName = itemView.findViewById(R.id.tvCity);
-            unreadText = itemView.findViewById(R.id.conversation_unread);
-            unreadText.setVisibility(View.GONE);
-            avatar = itemView.findViewById(R.id.ivAvatar);
-            ccSelect = itemView.findViewById(R.id.contact_check_box);
-            content = itemView.findViewById(R.id.selectable_contact_item);
-            userStatusView = itemView.findViewById(R.id.user_status);
-
-            avatar.setRadius(ScreenUtil.dip2px(20));
-        }
-    }
-
-    public static class ContactControllerViewHolder extends RecyclerView.ViewHolder {
-        TextView controllerName;
-        TextView unreadText;
-        ImageView arrow;
-
-        public ContactControllerViewHolder(View itemView) {
-            super(itemView);
-            controllerName = itemView.findViewById(R.id.controller_name);
-            unreadText = itemView.findViewById(R.id.unread_count);
-            arrow = itemView.findViewById(R.id.arrow_icon);
-            Drawable arrowDrawable = arrow.getBackground();
-            if (arrowDrawable != null) {
-                arrowDrawable.setAutoMirrored(true);
-            }
-            unreadText.setVisibility(View.GONE);
-        }
-    }
-}

+ 0 - 163
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactLayout.java

@@ -1,163 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.action.PopActionClickListener;
-import com.tencent.qcloud.tuikit.timcommon.component.action.PopMenuAction;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.interfaces.IContactLayout;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.AddMoreMinimalistDialogFragment;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.TUIContactMinimalistFragment;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContactLayout extends LinearLayout implements IContactLayout {
-    private static final String TAG = ContactLayout.class.getSimpleName();
-
-    private ContactListView mContactListView;
-    private View createNewButton;
-    private Menu menu;
-    private ImageView homeView;
-    private TextView titleView;
-    private TextView rtCubeTitleView;
-
-    private TUIContactMinimalistFragment.OnClickListener mClickListener = null;
-
-    private ContactPresenter presenter;
-
-    public ContactLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public ContactLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public ContactLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.minimalist_contact_layout, this);
-        mContactListView = findViewById(R.id.contact_listview);
-        createNewButton = findViewById(R.id.create_new_button);
-        homeView = findViewById(R.id.home_rtcube);
-        titleView = findViewById(R.id.title);
-        rtCubeTitleView = findViewById(R.id.title_rtcube);
-        initContactMenu();
-        createNewButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (menu != null && !menu.isShowing()) {
-                    menu.show();
-                }
-            }
-        });
-    }
-
-    public void setOnClickListener(TUIContactMinimalistFragment.OnClickListener listener) {
-        mClickListener = listener;
-    }
-
-    public void initUI() {
-        if (TUIConfig.getTUIHostType() != TUIConfig.TUI_HOST_TYPE_RTCUBE) {
-            homeView.setVisibility(GONE);
-            titleView.setVisibility(VISIBLE);
-            rtCubeTitleView.setVisibility(GONE);
-        } else {
-            homeView.setVisibility(VISIBLE);
-            titleView.setVisibility(GONE);
-            rtCubeTitleView.setVisibility(VISIBLE);
-            homeView.setBackgroundResource(com.tencent.qcloud.tuikit.timcommon.R.drawable.common_title_bar_home_icon);
-            homeView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    Bundle bundle = new Bundle();
-                    bundle.putString(TUIConstants.TIMAppKit.BACK_TO_RTCUBE_DEMO_TYPE_KEY, TUIConstants.TIMAppKit.BACK_TO_RTCUBE_DEMO_TYPE_IM);
-                    TUICore.startActivity("TRTCMainActivity", bundle);
-                    if (mClickListener != null) {
-                        mClickListener.finishActivity();
-                    }
-                }
-            });
-        }
-    }
-
-    private void initContactMenu() {
-        menu = new Menu((Activity) getContext(), createNewButton);
-        PopActionClickListener popActionClickListener = new PopActionClickListener() {
-            @Override
-            public void onActionClick(int index, Object data) {
-                PopMenuAction action = (PopMenuAction) data;
-                boolean isGroup = false;
-                if (TextUtils.equals(action.getActionName(), getResources().getString(R.string.add_friend))) {
-                    isGroup = false;
-                }
-                if (TextUtils.equals(action.getActionName(), getResources().getString(R.string.add_group))) {
-                    isGroup = true;
-                }
-                AddMoreMinimalistDialogFragment addFragment = new AddMoreMinimalistDialogFragment();
-                addFragment.setIsGroup(isGroup);
-                addFragment.show(((AppCompatActivity) getContext()).getSupportFragmentManager(), "AddMoreDialog");
-                menu.hide();
-            }
-        };
-        PopMenuAction action = new PopMenuAction();
-        action.setActionName(getResources().getString(R.string.add_friend));
-        action.setIconResId(R.drawable.contact_add_friend);
-        action.setActionClickListener(popActionClickListener);
-        List<PopMenuAction> menuActionList = new ArrayList<>(2);
-        menuActionList.add(action);
-
-        action = new PopMenuAction();
-        action.setActionName(getResources().getString(R.string.add_group));
-        action.setIconResId(R.drawable.contact_add_group);
-        action.setActionClickListener(popActionClickListener);
-        menuActionList.add(action);
-        menu.setMenuAction(menuActionList);
-    }
-
-    public void initDefault() {
-        mContactListView.setPresenter(presenter);
-        presenter.setContactListView(mContactListView);
-        mContactListView.loadDataSource(ContactListView.DataSource.CONTACT_LIST);
-    }
-
-    public void reloadData() {
-        mContactListView.loadDataSource(ContactListView.DataSource.CONTACT_LIST);
-    }
-
-    @Override
-    public ContactListView getContactListView() {
-        return mContactListView;
-    }
-
-    @Override
-    public TitleBarLayout getTitleBar() {
-        return null;
-    }
-
-    @Override
-    public void setParentLayout(Object parent) {}
-}

+ 0 - 178
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactListView.java

@@ -1,178 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.content.Context;
-import android.graphics.Color;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.widget.LinearLayout;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.ContactItemBean;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.indexbar.widget.IndexBar;
-import com.tencent.qcloud.tuikit.tuicontact.component.indexlib.suspension.SuspensionDecoration;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IContactListView;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.ContactPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class ContactListView extends LinearLayout implements IContactListView {
-    private static final String TAG = ContactListView.class.getSimpleName();
-
-    private RecyclerView mRv;
-    private ContactAdapter mAdapter;
-    private CustomLinearLayoutManager mManager;
-    private List<ContactItemBean> mData = new ArrayList<>();
-    private SuspensionDecoration mDecoration;
-    private ProgressBar mContactLoadingBar;
-    private String groupId;
-    private boolean isGroupList = false;
-
-    private TextView notFoundTip;
-
-    private IndexBar mIndexBar;
-
-    private TextView mTvSideBarHint;
-
-    private ContactPresenter presenter;
-
-    public ContactListView(Context context) {
-        super(context);
-        init();
-    }
-
-    public ContactListView(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public ContactListView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    public void setPresenter(ContactPresenter presenter) {
-        this.presenter = presenter;
-        if (mAdapter != null) {
-            mAdapter.setPresenter(presenter);
-            mAdapter.setIsGroupList(isGroupList);
-        }
-    }
-
-    public void setIsGroupList(boolean isGroupList) {
-        this.isGroupList = isGroupList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        mAdapter.setAlreadySelectedList(alreadySelectedList);
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.minimalist_contact_list, this);
-        mRv = findViewById(R.id.contact_member_list);
-        notFoundTip = findViewById(R.id.not_found_tip);
-        mManager = new CustomLinearLayoutManager(getContext());
-        mRv.setLayoutManager(mManager);
-
-        mAdapter = new ContactAdapter(mData);
-        mRv.setAdapter(mAdapter);
-        mDecoration = new SuspensionDecoration(getContext(), mData);
-        mDecoration.setColorTitleBg(Color.WHITE);
-        mDecoration.setColorTitleFont(Color.BLACK);
-        mDecoration.setTitleHeight(ScreenUtil.dip2px(44));
-        mDecoration.setShowLine(false);
-        mRv.addItemDecoration(mDecoration);
-        mRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
-                super.onScrolled(recyclerView, dx, dy);
-                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
-                int lastCompletelyVisibleItemPosition = layoutManager.findLastCompletelyVisibleItemPosition();
-                if (lastCompletelyVisibleItemPosition == layoutManager.getItemCount() - 1) {
-                    if (presenter.getNextSeq() > 0) {
-                        presenter.loadGroupMemberList(groupId);
-                    }
-                }
-            }
-        });
-        mTvSideBarHint = findViewById(R.id.contact_tvSideBarHint);
-        mIndexBar = findViewById(R.id.contact_indexBar);
-        mIndexBar.setPressedShowTextView(mTvSideBarHint).setNeedRealIndex(false).setLayoutManager(mManager);
-        mContactLoadingBar = findViewById(R.id.contact_loading_bar);
-    }
-
-    public ContactAdapter getAdapter() {
-        return mAdapter;
-    }
-
-    public void setNotFoundTip(String text) {
-        notFoundTip.setText(text);
-    }
-
-    @Override
-    public void onDataSourceChanged(List<ContactItemBean> data) {
-        if (data == null || data.isEmpty()) {
-            if (!TextUtils.isEmpty(notFoundTip.getText())) {
-                notFoundTip.setVisibility(VISIBLE);
-            }
-        } else {
-            notFoundTip.setVisibility(GONE);
-        }
-        mContactLoadingBar.setVisibility(GONE);
-        this.mData = data;
-        mAdapter.setDataSource(mData);
-        mIndexBar.setSourceDatas(mData).invalidate();
-        mDecoration.setDatas(mData);
-    }
-
-    @Override
-    public void onDataChanged(ContactItemBean contactItemBean) {
-        if (mAdapter != null) {
-            mAdapter.onDataChanged(contactItemBean);
-        }
-    }
-
-    public void setSingleSelectMode(boolean mode) {
-        mAdapter.setSingleSelectMode(mode);
-    }
-
-    public void setOnSelectChangeListener(OnSelectChangedListener selectChangeListener) {
-        mAdapter.setOnSelectChangedListener(selectChangeListener);
-    }
-
-    public void setOnItemClickListener(OnItemClickListener listener) {
-        mAdapter.setOnItemClickListener(listener);
-    }
-
-    public void loadDataSource(int dataSource) {
-        if (presenter == null) {
-            return;
-        }
-        if (mAdapter != null) {
-            mAdapter.setDataSourceType(dataSource);
-        }
-        mContactLoadingBar.setVisibility(VISIBLE);
-        if (dataSource == DataSource.GROUP_MEMBER_LIST) {
-            presenter.loadGroupMemberList(groupId);
-        } else {
-            presenter.loadDataSource(dataSource);
-        }
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    public interface OnSelectChangedListener {
-        void onSelectChanged(ContactItemBean contact, boolean selected);
-    }
-
-    public interface OnItemClickListener {
-        void onItemClick(int position, ContactItemBean contact);
-    }
-}

+ 0 - 116
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/ContactToast.java

@@ -1,116 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.app.AppCompatDialogFragment;
-import androidx.fragment.app.FragmentManager;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-
-public class ContactToast {
-    public static final int TOAST_ICON_NONE = 0;
-    public static final int TOAST_ICON_POSITIVE = 1;
-    public static final int TOAST_ICON_NEGATIVE = 2;
-
-    private final Handler handler;
-    private ToastFragment toast;
-
-    private static class ContactToastHolder {
-        private static final ContactToast instance = new ContactToast();
-    }
-
-    private static ContactToast getInstance() {
-        return ContactToastHolder.instance;
-    }
-
-    private ContactToast() {
-        handler = new Handler(Looper.getMainLooper());
-    }
-
-    public static void showToast(Context context, String toastContent) {
-        showToast(context, toastContent, true, TOAST_ICON_NONE);
-    }
-
-    public static void showToast(Context context, String toastContent, int iconType) {
-        showToast(context, toastContent, true, iconType);
-    }
-
-    public static void showToast(Context context, String toastContent, boolean isShortTime, int iconType) {
-        long time = 3000;
-        if (isShortTime) {
-            time = 1500;
-        }
-        getInstance().showToast(context, toastContent, time, iconType);
-    }
-
-    private void showToast(Context context, String toastContent, long time, int iconType) {
-        if (context instanceof AppCompatActivity) {
-            if (toast != null) {
-                dismiss();
-            }
-            toast = new ToastFragment();
-            toast.iconType = iconType;
-            toast.text = toastContent;
-            FragmentManager fragmentManager = ((AppCompatActivity) context).getSupportFragmentManager();
-            toast.show(fragmentManager, "ContactToast");
-            handler.postDelayed(new Runnable() {
-                @Override
-                public void run() {
-                    dismiss();
-                }
-            }, time);
-        }
-    }
-
-    private void dismiss() {
-        if (toast != null) {
-            toast.dismiss();
-            toast = null;
-        }
-        handler.removeCallbacksAndMessages(null);
-    }
-
-    public static class ToastFragment extends AppCompatDialogFragment {
-        int iconType = TOAST_ICON_NONE;
-        String text;
-
-        @NonNull
-        @Override
-        public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
-            Dialog dialog = super.onCreateDialog(savedInstanceState);
-            dialog.setCancelable(false);
-            dialog.setCanceledOnTouchOutside(false);
-            Window window = dialog.getWindow();
-            window.setBackgroundDrawableResource(R.drawable.contact_custom_toast_border);
-            return dialog;
-        }
-
-        @Nullable
-        @Override
-        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
-            View view = inflater.inflate(R.layout.contact_custom_toast_layout, container);
-            TextView textView = view.findViewById(R.id.text_tv);
-            ImageView iconView = view.findViewById(R.id.icon_iv);
-            textView.setText(text);
-            if (iconType == TOAST_ICON_POSITIVE) {
-                iconView.setBackgroundResource(R.drawable.contact_toast_postive_icon);
-            } else if (iconType == TOAST_ICON_NEGATIVE) {
-                iconView.setBackgroundResource(R.drawable.contact_toast_negative_icon);
-            } else {
-                iconView.setVisibility(View.GONE);
-            }
-            return view;
-        }
-    }
-}

+ 0 - 171
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupApplyAdapter.java

@@ -1,171 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.TextView;
-import com.tencent.imsdk.v2.V2TIMGroupApplication;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupApplyAdapter extends BaseAdapter {
-    private List<GroupApplyInfo> mGroupMembers = new ArrayList<>();
-    private OnItemClickListener mOnItemClickListener;
-    private GroupApplyPresenter presenter;
-
-    public GroupApplyAdapter() {}
-
-    public void setPresenter(GroupApplyPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    @Override
-    public int getCount() {
-        return mGroupMembers.size();
-    }
-
-    @Override
-    public GroupApplyInfo getItem(int i) {
-        return mGroupMembers.get(i);
-    }
-
-    @Override
-    public long getItemId(int i) {
-        return 0;
-    }
-
-    @Override
-    public View getView(final int i, View view, ViewGroup viewGroup) {
-        ApplyViewHolder holder;
-        final GroupApplyInfo info = getItem(i);
-        if (view == null) {
-            view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.group_minimalist_new_group_application_item, viewGroup, false);
-            view.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (mOnItemClickListener != null && info.getStatus() == GroupApplyInfo.UNHANDLED) {
-                        mOnItemClickListener.onItemClick(info);
-                    }
-                }
-            });
-            holder = new ApplyViewHolder();
-            holder.memberIcon = view.findViewById(R.id.avatar);
-            holder.memberName = view.findViewById(R.id.name);
-            holder.reason = view.findViewById(R.id.description);
-            holder.accept = view.findViewById(R.id.agree);
-            holder.refuse = view.findViewById(R.id.reject);
-            holder.resultTv = view.findViewById(R.id.result_tv);
-            view.setTag(holder);
-        } else {
-            holder = (ApplyViewHolder) view.getTag();
-        }
-
-        if (info.getGroupApplication().getApplicationType() == V2TIMGroupApplication.V2TIM_GROUP_INVITE_APPLICATION_NEED_APPROVED_BY_ADMIN) {
-            holder.memberName.setText(info.getGroupApplication().getFromUser());
-            holder.reason.setText(view.getResources().getString(R.string.invite) + " " + info.getGroupApplication().getToUser());
-        } else {
-            if (TextUtils.isEmpty(info.getFromUserNickName())) {
-                holder.memberName.setText(info.getFromUserID());
-            } else {
-                holder.memberName.setText(info.getFromUserNickName());
-            }
-            holder.reason.setText(info.getAddWording());
-        }
-        int radius = ScreenUtil.dip2px(25);
-        holder.memberIcon.setRadius(radius);
-        GlideEngine.loadUserIcon(holder.memberIcon, info.getFromUserFaceUrl(), radius);
-
-        if (info.getStatus() == GroupApplyInfo.UNHANDLED) {
-            holder.accept.setVisibility(View.VISIBLE);
-            holder.accept.setText(R.string.accept);
-            holder.accept.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    acceptApply(i, info);
-                }
-            });
-            holder.refuse.setVisibility(View.VISIBLE);
-            holder.refuse.setText(R.string.refuse);
-            holder.refuse.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View view) {
-                    refuseApply(i, info);
-                }
-            });
-        } else if (info.getStatus() == GroupApplyInfo.APPLIED) {
-            holder.accept.setClickable(false);
-            holder.resultTv.setText(R.string.accepted);
-            holder.resultTv.setVisibility(View.VISIBLE);
-            holder.accept.setVisibility(View.GONE);
-            holder.refuse.setVisibility(View.GONE);
-        } else if (info.getStatus() == GroupApplyInfo.REFUSED) {
-            holder.refuse.setClickable(false);
-            holder.resultTv.setVisibility(View.VISIBLE);
-            holder.resultTv.setText(R.string.refused);
-            holder.accept.setVisibility(View.GONE);
-            holder.refuse.setVisibility(View.GONE);
-        }
-
-        return view;
-    }
-
-    public void setOnItemClickListener(OnItemClickListener l) {
-        mOnItemClickListener = l;
-    }
-
-    public void updateItemData(GroupApplyInfo info) {
-        for (GroupApplyInfo item : mGroupMembers) {
-            if (TextUtils.equals(item.getGroupApplication().getFromUser(), info.getGroupApplication().getFromUser())
-                && TextUtils.equals(item.getGroupID(), info.getGroupID())) {
-                item.setStatus(info.getStatus());
-                notifyDataSetChanged();
-                break;
-            }
-        }
-    }
-
-    public void setDataSource(GroupInfo info) {
-        presenter.loadGroupApplies();
-    }
-
-    public void setDataSource(List<GroupApplyInfo> applyInfoList) {
-        mGroupMembers = applyInfoList;
-        notifyDataSetChanged();
-    }
-
-    public void acceptApply(final int position, final GroupApplyInfo item) {
-        if (presenter == null) {
-            return;
-        }
-        presenter.acceptApply(item, null);
-    }
-
-    public void refuseApply(final int position, final GroupApplyInfo item) {
-        if (presenter == null) {
-            return;
-        }
-        presenter.refuseApply(item, null);
-    }
-
-    public interface OnItemClickListener {
-        void onItemClick(GroupApplyInfo info);
-    }
-
-    private static class ApplyViewHolder {
-        private ShadeImageView memberIcon;
-        private TextView memberName;
-        private TextView reason;
-        private TextView accept;
-        private TextView refuse;
-        private TextView resultTv;
-    }
-}

+ 0 - 115
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupApplyManagerLayout.java

@@ -1,115 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import static android.app.Activity.RESULT_OK;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-
-import androidx.activity.result.ActivityResult;
-import androidx.activity.result.ActivityResultCallback;
-import androidx.activity.result.ActivityResultCaller;
-import androidx.annotation.Nullable;
-
-import com.tencent.qcloud.tuicore.TUICore;
-import com.tencent.qcloud.tuikit.timcommon.component.MinimalistTitleBar;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupApplyInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupApplyLayout;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.GroupApplyDetailMinimalistActivity;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupApplyPresenter;
-
-import java.util.List;
-
-public class GroupApplyManagerLayout extends LinearLayout implements IGroupApplyLayout {
-    private MinimalistTitleBar mTitleBar;
-    private ListView mApplyMemberList;
-    private GroupApplyAdapter mAdapter;
-
-    private GroupApplyPresenter presenter;
-    
-    public GroupApplyManagerLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public GroupApplyManagerLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public GroupApplyManagerLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.group_minimalist_apply_manager_layout, this);
-        mApplyMemberList = findViewById(R.id.group_apply_members);
-        mAdapter = new GroupApplyAdapter();
-        mAdapter.setOnItemClickListener(new GroupApplyAdapter.OnItemClickListener() {
-            @Override
-            public void onItemClick(GroupApplyInfo info) {
-                Bundle bundle = new Bundle();
-                bundle.putSerializable(TUIContactConstants.Group.MEMBER_APPLY, info);
-                TUICore.startActivityForResult(
-                    (ActivityResultCaller) getContext(), GroupApplyDetailMinimalistActivity.class, bundle, new ActivityResultCallback<ActivityResult>() {
-                        @Override
-                        public void onActivityResult(ActivityResult result) {
-                            if (result.getResultCode() != RESULT_OK || result.getData() == null) {
-                                return;
-                            }
-                            GroupApplyInfo info = (GroupApplyInfo) result.getData().getSerializableExtra(TUIContactConstants.Group.MEMBER_APPLY);
-                            if (info == null) {
-                                return;
-                            }
-                            updateItemData(info);
-                        }
-                    });
-            }
-        });
-
-        mApplyMemberList.setAdapter(mAdapter);
-        mTitleBar = findViewById(R.id.group_apply_title_bar);
-        mTitleBar.getRightGroup().setVisibility(View.GONE);
-        mTitleBar.setTitle(getResources().getString(R.string.group_apply_members), ITitleBarLayout.Position.MIDDLE);
-        mTitleBar.setOnLeftClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                if (getContext() instanceof Activity) {
-                    ((Activity) getContext()).finish();
-                }
-            }
-        });
-    }
-
-    public void updateItemData(GroupApplyInfo info) {
-        mAdapter.updateItemData(info);
-    }
-
-    public void onDataSetChanged() {
-        mAdapter.notifyDataSetChanged();
-    }
-
-    public void setPresenter(GroupApplyPresenter groupApplyPresenter) {
-        this.presenter = groupApplyPresenter;
-        mAdapter.setPresenter(groupApplyPresenter);
-    }
-
-    public void onGroupApplyInfoListChanged(List<GroupApplyInfo> applyInfoList) {
-        mAdapter.setDataSource(applyInfoList);
-    }
-
-    public void setDataSource(GroupInfo dataSource) {
-        presenter.setGroupInfo(dataSource);
-        mAdapter.setDataSource(dataSource);
-    }
-}

+ 0 - 149
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupInfoAdapter.java

@@ -1,149 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.content.res.Resources;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.qcloud.tuicore.TUIConfig;
-import com.tencent.qcloud.tuicore.TUILogin;
-import com.tencent.qcloud.tuikit.timcommon.bean.GroupProfileBean;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.GroupMemberGridListener;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-public class GroupInfoAdapter extends RecyclerView.Adapter<GroupInfoAdapter.GroupInfoMembersHolder> {
-    private List<GroupMemberInfo> groupMemberBeans = new ArrayList<>();
-
-    private GroupMemberGridListener groupMemberGridListener;
-    private GroupProfileBean groupProfileBean;
-
-    public void setGroupProfileBean(GroupProfileBean groupProfileBean) {
-        this.groupProfileBean = groupProfileBean;
-    }
-
-    public GroupMemberInfo getItem(int i) {
-        return groupMemberBeans.get(i);
-    }
-
-    @NonNull
-    @Override
-    public GroupInfoMembersHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_info_member_item_layout, parent, false);
-        return new GroupInfoMembersHolder(view);
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull GroupInfoMembersHolder holder, int position) {
-        final GroupMemberInfo groupMemberBean = getItem(position);
-        GlideEngine.loadImage(holder.memberIcon, groupMemberBean.getFaceUrl());
-        if (isSelf(groupMemberBean.getUserId())) {
-            holder.memberName.setText(holder.itemView.getResources().getString(R.string.group_you));
-            holder.rightArrow.setVisibility(View.GONE);
-            holder.roleName.setText(getRoleString(holder.itemView.getResources(), groupMemberBean.getRole()));
-            holder.itemView.setOnClickListener(null);
-        } else {
-            holder.memberName.setText(groupMemberBean.getDisplayName());
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (groupMemberGridListener != null) {
-                        groupMemberGridListener.onGroupMemberClicked(groupMemberBean);
-                    }
-                }
-            });
-        }
-        holder.memberIcon.setBackground(null);
-        holder.memberIcon.setScaleType(ImageView.ScaleType.CENTER_CROP);
-    }
-
-    @Override
-    public int getItemCount() {
-        return groupMemberBeans.size();
-    }
-
-    public void setGroupMemberGridListener(GroupMemberGridListener groupMemberGridListener) {
-        this.groupMemberGridListener = groupMemberGridListener;
-    }
-
-    public void setMemberList(List<GroupMemberInfo> members) {
-        groupMemberBeans.clear();
-        if (members == null || members.isEmpty()) {
-            return;
-        } else {
-            boolean containSelf = false;
-            for (GroupMemberInfo memberInfo : members) {
-                if (isSelf(memberInfo.getUserId())) {
-                    containSelf = true;
-                    break;
-                }
-            }
-            if (!containSelf) {
-                GroupMemberInfo selfInfo = new GroupMemberInfo();
-                selfInfo.setUserId(TUILogin.getLoginUser());
-                selfInfo.setFaceUrl(TUIConfig.getSelfFaceUrl());
-                selfInfo.setRole(groupProfileBean.getRoleInGroup());
-                members.add(selfInfo);
-            }
-            Collections.sort(members, new Comparator<GroupMemberInfo>() {
-                @Override
-                public int compare(GroupMemberInfo o1, GroupMemberInfo o2) {
-                    if (isSelf(o1.getUserId())) {
-                        return -1;
-                    } else if (isSelf(o2.getUserId())) {
-                        return 1;
-                    }
-                    return 0;
-                }
-            });
-            if (members.size() <= 3) {
-                groupMemberBeans.addAll(members);
-            } else {
-                groupMemberBeans.addAll(members.subList(0, 3));
-            }
-        }
-        notifyDataSetChanged();
-    }
-
-    public String getRoleString(Resources resources, int memberType) {
-        if (groupProfileBean.isOwner()) {
-            return resources.getString(R.string.group_owner_label);
-        } else if (groupProfileBean.isAdmin()) {
-            return resources.getString(R.string.group_manager_label);
-        } else {
-            return resources.getString(R.string.group_member_label);
-        }
-    }
-
-    public boolean isSelf(String userId) {
-        return TextUtils.equals(TUILogin.getLoginUser(), userId);
-    }
-
-    public static class GroupInfoMembersHolder extends RecyclerView.ViewHolder {
-        private final ShadeImageView memberIcon;
-        private final TextView memberName;
-        private final TextView roleName;
-        private final ImageView rightArrow;
-
-        public GroupInfoMembersHolder(@NonNull View itemView) {
-            super(itemView);
-            memberIcon = itemView.findViewById(R.id.group_member_icon);
-            memberIcon.setRadius(ScreenUtil.dip2px(24));
-            memberName = itemView.findViewById(R.id.group_member_name);
-            roleName = itemView.findViewById(R.id.role_text);
-            rightArrow = itemView.findViewById(R.id.rightArrow);
-        }
-    }
-}

+ 0 - 223
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupMemberAdapter.java

@@ -1,223 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.timcommon.util.ThreadUtils;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberChangedCallback;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-public class GroupMemberAdapter extends RecyclerView.Adapter<GroupMemberAdapter.GroupMemberViewHodler> {
-    private IGroupMemberChangedCallback mCallback;
-    private GroupInfo mGroupInfo;
-    private List<GroupMemberInfo> mGroupMembers = new ArrayList<>();
-    private List<GroupMemberInfo> selectedGroupMemberInfos = new ArrayList<>();
-
-    private GroupInfoPresenter presenter;
-    private boolean isSelectMode;
-    private GroupMemberLayout.OnSelectChangedListener onSelectChangedListener;
-    private ArrayList<String> selectedMember = new ArrayList<>();
-    private ArrayList<String> excludeList;
-    private ArrayList<String> alreadySelectedList;
-
-    private GroupMemberLayout.OnGroupMemberClickListener onGroupMemberClickListener;
-
-    public void setSelectMode(boolean selectMode) {
-        isSelectMode = selectMode;
-    }
-
-    public ArrayList<String> getSelectedMember() {
-        return selectedMember;
-    }
-
-    public List<GroupMemberInfo> getSelectedMemberInfoList() {
-        return selectedGroupMemberInfos;
-    }
-
-    public void setPresenter(GroupInfoPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public void setMemberChangedCallback(IGroupMemberChangedCallback callback) {
-        this.mCallback = callback;
-    }
-
-    public void setExcludeList(ArrayList<String> excludeList) {
-        this.excludeList = excludeList;
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        this.alreadySelectedList = alreadySelectedList;
-    }
-
-    public void setOnSelectChangedListener(GroupMemberLayout.OnSelectChangedListener onSelectChangedListener) {
-        this.onSelectChangedListener = onSelectChangedListener;
-    }
-
-    public void setOnGroupMemberClickListener(GroupMemberLayout.OnGroupMemberClickListener onGroupMemberClickListener) {
-        this.onGroupMemberClickListener = onGroupMemberClickListener;
-    }
-
-    @NonNull
-    @Override
-    public GroupMemberViewHodler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.group_minimalist_member_list_item, parent, false);
-        return new GroupMemberViewHodler(view);
-    }
-
-    @Override
-    public void onBindViewHolder(@NonNull GroupMemberViewHodler holder, int position) {
-        final GroupMemberInfo info = mGroupMembers.get(position);
-        GlideEngine.loadImage(holder.memberIcon, info.getFaceUrl());
-        holder.memberName.setText(info.getDisplayName());
-
-        if (isSelectMode) {
-            holder.checkBox.setVisibility(View.VISIBLE);
-            holder.checkBox.setChecked(info.isSelected());
-            holder.arrowRight.setVisibility(View.GONE);
-            holder.itemView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    holder.checkBox.setChecked(!holder.checkBox.isChecked());
-                    if (holder.checkBox.isChecked()) {
-                        info.setSelected(true);
-                        selectedMember.add(info.getUserId());
-                        selectedGroupMemberInfos.add(info);
-                    } else {
-                        info.setSelected(false);
-                        selectedMember.remove(info.getUserId());
-                        selectedGroupMemberInfos.remove(info);
-                    }
-                    if (onSelectChangedListener != null) {
-                        onSelectChangedListener.onSelectChanged();
-                    }
-                }
-            });
-            holder.memberRoleTv.setVisibility(View.GONE);
-        } else {
-            if (presenter.isSelf(info.getUserId())) {
-                holder.itemView.setOnClickListener(null);
-                holder.arrowRight.setVisibility(View.GONE);
-            } else {
-                holder.arrowRight.setVisibility(View.VISIBLE);
-                holder.itemView.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        if (onGroupMemberClickListener != null) {
-                            onGroupMemberClickListener.onClick(info);
-                        }
-                    }
-                });
-            }
-            if (presenter.isOwner(info.getRole())) {
-                holder.memberRoleTv.setVisibility(View.VISIBLE);
-                holder.memberRoleTv.setText(holder.itemView.getResources().getString(R.string.group_owner_label));
-            } else if (presenter.isAdmin(info.getRole())) {
-                holder.memberRoleTv.setVisibility(View.VISIBLE);
-                holder.memberRoleTv.setText(holder.itemView.getResources().getString(R.string.group_manager_label));
-            } else {
-                holder.memberRoleTv.setVisibility(View.GONE);
-            }
-        }
-
-        setAlreadySelected(holder, info);
-    }
-
-    private void setAlreadySelected(GroupMemberViewHodler holder, GroupMemberInfo memberInfo) {
-        if (alreadySelectedList != null && alreadySelectedList.contains(memberInfo.getUserId())) {
-            holder.checkBox.setChecked(true);
-            holder.itemView.setEnabled(false);
-            holder.checkBox.setEnabled(false);
-        } else {
-            holder.itemView.setEnabled(true);
-            holder.checkBox.setEnabled(true);
-            holder.checkBox.setSelected(memberInfo.isSelected());
-        }
-    }
-
-    @Override
-    public int getItemCount() {
-        if (mGroupMembers == null) {
-            return 0;
-        }
-        return mGroupMembers.size();
-    }
-
-    public void setDataSource(GroupInfo groupInfo) {
-        if (groupInfo != null) {
-            mGroupInfo = groupInfo;
-            mGroupMembers.clear();
-            if (excludeList == null || excludeList.isEmpty()) {
-                mGroupMembers.addAll(groupInfo.getMemberDetails());
-            } else {
-                for (GroupMemberInfo groupMemberInfo : groupInfo.getMemberDetails()) {
-                    if (excludeList.contains(groupMemberInfo.getUserId())) {
-                        continue;
-                    }
-                    mGroupMembers.add(groupMemberInfo);
-                }
-            }
-            ThreadUtils.runOnUiThread(new Runnable() {
-                @Override
-                public void run() {
-                    notifyDataSetChanged();
-                }
-            });
-        }
-    }
-
-    public void deleteMember(List<String> members) {
-        if (members == null || members.isEmpty()) {
-            return;
-        }
-        Iterator<GroupMemberInfo> iterator = mGroupMembers.listIterator();
-        while (iterator.hasNext()) {
-            if (members.contains(iterator.next().getUserId())) {
-                iterator.remove();
-            }
-        }
-        notifyDataSetChanged();
-    }
-
-    public void memberChanged(GroupMemberInfo groupMemberInfo) {
-        int index = mGroupMembers.indexOf(groupMemberInfo);
-        if (index != -1) {
-            notifyItemChanged(index);
-        }
-    }
-
-    protected class GroupMemberViewHodler extends RecyclerView.ViewHolder {
-        private ShadeImageView memberIcon;
-        private TextView memberName;
-        private TextView memberRoleTv;
-        private CheckBox checkBox;
-        private View arrowRight;
-
-        public GroupMemberViewHodler(@NonNull View itemView) {
-            super(itemView);
-            arrowRight = itemView.findViewById(R.id.rightArrow);
-            arrowRight.getBackground().setAutoMirrored(true);
-            checkBox = itemView.findViewById(R.id.group_member_check_box);
-            memberIcon = itemView.findViewById(R.id.group_member_icon);
-            memberIcon.setRadius(ScreenUtil.dip2px(20));
-            memberName = itemView.findViewById(R.id.group_member_name);
-            memberRoleTv = itemView.findViewById(R.id.member_role_tv);
-        }
-    }
-}

+ 0 - 316
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/GroupMemberLayout.java

@@ -1,316 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import com.tencent.qcloud.tuikit.timcommon.component.BottomSelectSheet;
-import com.tencent.qcloud.tuikit.timcommon.component.CustomLinearLayoutManager;
-import com.tencent.qcloud.tuikit.timcommon.component.RoundCornerImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.TitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.ITitleBarLayout;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupInfo;
-import com.tencent.qcloud.tuikit.tuicontact.bean.GroupMemberInfo;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberChangedCallback;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberLayout;
-import com.tencent.qcloud.tuikit.tuicontact.interfaces.IGroupMemberListener;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.GroupInfoPresenter;
-import java.util.ArrayList;
-import java.util.List;
-
-public class GroupMemberLayout extends LinearLayout implements IGroupMemberLayout {
-    // Take a large enough offset to scroll to the bottom at one time
-    private static final int SCROLL_TO_END_OFFSET = -999999;
-
-    private TitleBarLayout mTitleBar;
-    private GroupMemberAdapter mAdapter;
-    private IGroupMemberListener groupMemberListener;
-    private OnGroupMemberClickListener onGroupMemberClickListener;
-    private GroupInfo mGroupInfo;
-    private RecyclerView recyclerView;
-    private boolean isSelectMode;
-    private String title;
-    private ArrayList<String> excludeList;
-    private ArrayList<String> alreadySelectedList;
-    private RecyclerView selectedList;
-    private SelectedAdapter selectedListAdapter;
-    private View selectArea;
-    private TextView confirmButton;
-
-    private GroupInfoPresenter presenter;
-
-    public GroupMemberLayout(Context context) {
-        super(context);
-        init();
-    }
-
-    public GroupMemberLayout(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        init();
-    }
-
-    public GroupMemberLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-        init();
-    }
-
-    private void init() {
-        inflate(getContext(), R.layout.group_minimalist_member_layout, this);
-        mTitleBar = findViewById(R.id.group_member_title_bar);
-        mAdapter = new GroupMemberAdapter();
-        mAdapter.setMemberChangedCallback(new IGroupMemberChangedCallback() {
-            @Override
-            public void onMemberRemoved(GroupMemberInfo memberInfo) {
-                if (!TextUtils.isEmpty(title)) {
-                    mTitleBar.setTitle(title, ITitleBarLayout.Position.MIDDLE);
-                } else {
-                    mTitleBar.setTitle(
-                        getContext().getString(R.string.group_members) + "(" + mGroupInfo.getGroupMemberCount() + ")", TitleBarLayout.Position.MIDDLE);
-                }
-            }
-        });
-        mAdapter.setOnGroupMemberClickListener(new OnGroupMemberClickListener() {
-            @Override
-            public void onClick(GroupMemberInfo groupMemberInfo) {
-                buildPopMenu(groupMemberInfo);
-            }
-        });
-        recyclerView = findViewById(R.id.group_all_members);
-        recyclerView.setLayoutManager(new CustomLinearLayoutManager(getContext()));
-        recyclerView.setAdapter(mAdapter);
-        recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
-            @Override
-            public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
-                super.onScrollStateChanged(recyclerView, newState);
-                if (newState == RecyclerView.SCROLL_STATE_IDLE) {
-                    LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
-                    if (layoutManager == null) {
-                        return;
-                    }
-                    int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition();
-                    if (mAdapter != null) {
-                        if (lastPosition == mAdapter.getItemCount() - 1) {
-                            if (mGroupInfo != null && mGroupInfo.getNextSeq() != 0) {
-                                presenter.getGroupMembers(mGroupInfo, new IUIKitCallback<GroupInfo>() {
-                                    @Override
-                                    public void onSuccess(GroupInfo data) {
-                                        onGroupMemberListChanged(data);
-                                        mAdapter.notifyDataSetChanged();
-                                    }
-
-                                    @Override
-                                    public void onError(String module, int errCode, String errMsg) {}
-                                });
-                            }
-                        }
-                    }
-                }
-            }
-        });
-
-        selectArea = findViewById(R.id.select_area);
-        selectedList = findViewById(R.id.selected_list);
-        selectedListAdapter = new SelectedAdapter();
-        selectedList.setLayoutManager(new LinearLayoutManager(getContext(), RecyclerView.HORIZONTAL, false));
-        selectedList.setAdapter(selectedListAdapter);
-
-        confirmButton = findViewById(R.id.confirm_button);
-        confirmButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                confirmAndFinish();
-            }
-        });
-
-        mAdapter.setOnSelectChangedListener(new OnSelectChangedListener() {
-            @Override
-            public void onSelectChanged() {
-                selectedListAdapter.setMembers(mAdapter.getSelectedMemberInfoList());
-                selectedListAdapter.notifyDataSetChanged();
-            }
-        });
-    }
-
-    private void confirmAndFinish() {
-        if (groupMemberListener != null) {
-            groupMemberListener.setSelectedMember(mAdapter.getSelectedMember());
-        }
-    }
-
-    public TitleBarLayout getTitleBar() {
-        return mTitleBar;
-    }
-
-    public void setExcludeList(ArrayList<String> excludeList) {
-        this.excludeList = excludeList;
-        mAdapter.setExcludeList(excludeList);
-    }
-
-    public void setAlreadySelectedList(ArrayList<String> alreadySelectedList) {
-        this.alreadySelectedList = alreadySelectedList;
-        mAdapter.setAlreadySelectedList(alreadySelectedList);
-    }
-
-    public void setSelectMode(boolean selectMode) {
-        isSelectMode = selectMode;
-        if (isSelectMode) {
-            mTitleBar.setTitle(getContext().getString(com.tencent.qcloud.tuicore.R.string.sure), ITitleBarLayout.Position.RIGHT);
-            mTitleBar.getRightGroup().setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (groupMemberListener != null) {
-                        groupMemberListener.setSelectedMember(mAdapter.getSelectedMember());
-                    }
-                }
-            });
-            selectArea.setVisibility(VISIBLE);
-        }
-
-        mAdapter.setSelectMode(isSelectMode);
-    }
-
-    @Override
-    public void setParentLayout(Object parent) {}
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public void deleteMember(List<String> members) {
-        mAdapter.deleteMember(members);
-    }
-
-    public void memberChanged(GroupMemberInfo groupMemberInfo) {
-        mAdapter.memberChanged(groupMemberInfo);
-    }
-
-    public void onGroupInfoChanged(GroupInfo groupInfo) {}
-
-    @Override
-    public void onGroupMemberListChanged(GroupInfo groupInfo) {
-        mGroupInfo = groupInfo;
-        presenter.setGroupInfo(groupInfo);
-        mAdapter.setDataSource(groupInfo);
-        if (groupInfo != null) {
-            if (!TextUtils.isEmpty(title)) {
-                mTitleBar.setTitle(title, ITitleBarLayout.Position.MIDDLE);
-            } else {
-                mTitleBar.setTitle(
-                    getContext().getString(R.string.group_members) + "(" + groupInfo.getGroupMemberCount() + ")", TitleBarLayout.Position.MIDDLE);
-            }
-        }
-    }
-
-    private void buildPopMenu(GroupMemberInfo groupMemberInfo) {
-        if (mGroupInfo == null) {
-            return;
-        }
-
-        List<String> stringList = new ArrayList<>();
-        String showInfo = getResources().getString(R.string.group_member_info);
-        String setAdminRole = getResources().getString(R.string.group_set_admin);
-        String removeMember = getResources().getString(R.string.group_delete);
-        stringList.add(showInfo);
-        if (presenter.isAdmin(groupMemberInfo.getRole())) {
-            setAdminRole = getResources().getString(R.string.group_remove_manager_label);
-        }
-        if (mGroupInfo.isOwner()) {
-            stringList.add(setAdminRole);
-            stringList.add(removeMember);
-        }
-        BottomSelectSheet sheet = new BottomSelectSheet(getContext());
-        sheet.setSelectList(stringList);
-        sheet.setOnClickListener(new BottomSelectSheet.BottomSelectSheetOnClickListener() {
-            @Override
-            public void onSheetClick(int index) {
-                if (onGroupMemberClickListener == null) {
-                    return;
-                }
-                if (index == 0) {
-                    onGroupMemberClickListener.onShowInfo(groupMemberInfo);
-                } else if (index == 1) {
-                    onGroupMemberClickListener.onAdminRoleChanged(groupMemberInfo);
-                } else if (index == 2) {
-                    onGroupMemberClickListener.onDelete(groupMemberInfo);
-                }
-            }
-        });
-        sheet.show();
-    }
-
-    public void setGroupMemberListener(IGroupMemberListener listener) {
-        this.groupMemberListener = listener;
-    }
-
-    public void setOnGroupMemberClickListener(OnGroupMemberClickListener onGroupMemberClickListener) {
-        this.onGroupMemberClickListener = onGroupMemberClickListener;
-    }
-
-    public void setPresenter(GroupInfoPresenter presenter) {
-        this.presenter = presenter;
-        mAdapter.setPresenter(presenter);
-    }
-
-    public static class SelectedAdapter extends RecyclerView.Adapter<SelectedAdapter.SelectedViewHolder> {
-        private List<GroupMemberInfo> mMembers;
-
-        public void setMembers(List<GroupMemberInfo> mMembers) {
-            this.mMembers = mMembers;
-        }
-
-        @NonNull
-        @Override
-        public SelectedViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-            return new SelectedViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.group_member_selected_item, parent, false));
-        }
-
-        @Override
-        public void onBindViewHolder(@NonNull SelectedViewHolder holder, int position) {
-            GlideEngine.loadImage(holder.userIconView, mMembers.get(position).getFaceUrl());
-        }
-
-        @Override
-        public int getItemCount() {
-            if (mMembers == null) {
-                return 0;
-            }
-            return mMembers.size();
-        }
-
-        public static class SelectedViewHolder extends RecyclerView.ViewHolder {
-            public final RoundCornerImageView userIconView;
-
-            public SelectedViewHolder(@NonNull View itemView) {
-                super(itemView);
-                userIconView = itemView.findViewById(R.id.ivAvatar);
-                userIconView.setRadius(ScreenUtil.dip2px(20));
-            }
-        }
-    }
-
-    public interface OnSelectChangedListener {
-        void onSelectChanged();
-    }
-
-    public abstract static class OnGroupMemberClickListener {
-        public void onClick(GroupMemberInfo groupMemberInfo) {}
-
-        public void onShowInfo(GroupMemberInfo groupMemberInfo) {}
-
-        public void onAdminRoleChanged(GroupMemberInfo groupMemberInfo) {}
-
-        public void onDelete(GroupMemberInfo groupMemberInfo) {}
-    }
-}

+ 0 - 163
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/Menu.java

@@ -1,163 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.app.Activity;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.ColorFilter;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.PixelFormat;
-import android.graphics.RectF;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ListView;
-import android.widget.PopupWindow;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import com.tencent.qcloud.tuikit.timcommon.R;
-import com.tencent.qcloud.tuikit.timcommon.component.action.PopMenuAction;
-import com.tencent.qcloud.tuikit.timcommon.component.action.PopMenuAdapter;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import java.util.ArrayList;
-import java.util.List;
-
-public class Menu {
-    private static final int SHADOW_WIDTH = 10;
-    private static final int Y_OFFSET = 4;
-
-    private ListView mMenuList;
-    private PopMenuAdapter mMenuAdapter;
-    private PopupWindow mMenuWindow;
-    private List<PopMenuAction> mActions = new ArrayList<>();
-    private Activity mActivity;
-    private View mAttachView;
-
-    public Menu(Activity activity, View attach) {
-        mActivity = activity;
-        mAttachView = attach;
-    }
-
-    public void setMenuAction(List<PopMenuAction> menuActions) {
-        mActions.clear();
-        mActions.addAll(menuActions);
-    }
-
-    public boolean isShowing() {
-        if (mMenuWindow == null) {
-            return false;
-        }
-        return mMenuWindow.isShowing();
-    }
-
-    public void hide() {
-        mMenuWindow.dismiss();
-    }
-
-    public void show() {
-        if (mActions == null || mActions.size() == 0) {
-            return;
-        }
-        mMenuWindow = new PopupWindow(mActivity);
-        mMenuWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
-        mMenuWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
-        mMenuWindow.setBackgroundDrawable(new ColorDrawable());
-
-        mMenuAdapter = new PopMenuAdapter();
-        mMenuAdapter.setDataSource(mActions);
-        View menuView = LayoutInflater.from(mActivity).inflate(R.layout.core_pop_menu, null);
-
-        menuView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
-        mMenuWindow.setContentView(menuView);
-        mMenuList = menuView.findViewById(R.id.menu_pop_list);
-        mMenuList.setAdapter(mMenuAdapter);
-        mMenuList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                PopMenuAction action = (PopMenuAction) mMenuAdapter.getItem(position);
-                if (action != null && action.getActionClickListener() != null) {
-                    action.getActionClickListener().onActionClick(position, mActions.get(position));
-                }
-            }
-        });
-
-        int paddingLeftRight = ScreenUtil.dip2px(15.0f);
-        int paddingTopBottom = ScreenUtil.dip2px(12.0f);
-
-        int itemWidth = mActivity.getResources().getDimensionPixelSize(R.dimen.core_pop_menu_item_width);
-        int itemHeight = mActivity.getResources().getDimensionPixelSize(R.dimen.core_pop_menu_item_height);
-
-        mMenuWindow.getContentView().measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
-
-        int[] location = new int[2];
-        mAttachView.getLocationOnScreen(location);
-        int rowCount = mActions.size();
-        int indicatorHeight = mActivity.getResources().getDimensionPixelOffset(R.dimen.core_pop_menu_indicator_height);
-
-        int popWidth = itemWidth + paddingLeftRight * 2 - SHADOW_WIDTH;
-        int popHeight = itemHeight * rowCount + paddingTopBottom * 2 - SHADOW_WIDTH;
-        float anchorWidth = mAttachView.getWidth();
-        float indicatorX = anchorWidth / 2 + indicatorHeight;
-        int screenWidth = ScreenUtil.getScreenWidth(mActivity);
-        int x = location[0] - indicatorHeight;
-        int y;
-        float xOffset = anchorWidth / 2;
-        // If it is on the right, the x-coordinate of the small arrow and the x-position of the pop-up window will change
-        if (location[0] * 2 + anchorWidth > screenWidth) {
-            indicatorX = popWidth - anchorWidth / 2 - xOffset;
-            x = (int) (location[0] + anchorWidth - popWidth + xOffset);
-        }
-        float anchorHeight = mAttachView.getHeight();
-        y = (int) (location[1] + anchorHeight) + Y_OFFSET;
-        popHeight = popHeight - indicatorHeight;
-
-        Drawable backgroundDrawable = getBackgroundDrawable(popWidth, popHeight, indicatorX, indicatorHeight, 16);
-        menuView.setBackground(backgroundDrawable);
-
-        mMenuWindow.setFocusable(true);
-        mMenuWindow.setTouchable(true);
-        mMenuWindow.setOutsideTouchable(true);
-        mMenuWindow.showAtLocation(mAttachView, Gravity.NO_GRAVITY, x, y);
-    }
-
-    /**
-     * Draw a popup background with small triangles
-     */
-    public Drawable getBackgroundDrawable(final float widthPixel, final float heightPixel, float indicatorX, float indicatorHeight, float radius) {
-        int borderWidth = SHADOW_WIDTH;
-
-        Path path = new Path();
-        Drawable drawable = new Drawable() {
-            @Override
-            public void draw(@NonNull Canvas canvas) {
-                Paint paint = new Paint();
-                paint.setColor(Color.WHITE);
-                paint.setStyle(Paint.Style.FILL);
-                paint.setShadowLayer(borderWidth, 0, 0, 0xFFAAAAAA);
-                path.addRoundRect(new RectF(borderWidth, indicatorHeight + borderWidth, widthPixel - borderWidth, heightPixel + indicatorHeight - borderWidth),
-                    radius, radius, Path.Direction.CW);
-                path.moveTo(indicatorX - indicatorHeight, indicatorHeight + borderWidth);
-                path.lineTo(indicatorX, borderWidth);
-                path.lineTo(indicatorX + indicatorHeight, indicatorHeight + borderWidth);
-                path.close();
-                canvas.drawPath(path, paint);
-            }
-
-            @Override
-            public void setAlpha(int alpha) {}
-
-            @Override
-            public void setColorFilter(@Nullable ColorFilter colorFilter) {}
-
-            @Override
-            public int getOpacity() {
-                return PixelFormat.TRANSLUCENT;
-            }
-        };
-        return drawable;
-    }
-}

+ 0 - 155
frame/tuikit/TUIContact/tuicontact/src/main/java/com/tencent/qcloud/tuikit/tuicontact/minimalistui/widget/NewFriendListAdapter.java

@@ -1,155 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicontact.minimalistui.widget;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ArrayAdapter;
-import android.widget.TextView;
-
-import com.tencent.qcloud.tuicore.TUIConstants;
-import com.tencent.qcloud.tuicore.util.ToastUtil;
-import com.tencent.qcloud.tuikit.timcommon.component.gatherimage.ShadeImageView;
-import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine;
-import com.tencent.qcloud.tuikit.timcommon.component.interfaces.IUIKitCallback;
-import com.tencent.qcloud.tuikit.timcommon.util.ScreenUtil;
-import com.tencent.qcloud.tuikit.tuicontact.R;
-import com.tencent.qcloud.tuikit.tuicontact.TUIContactConstants;
-import com.tencent.qcloud.tuikit.tuicontact.bean.FriendApplicationBean;
-import com.tencent.qcloud.tuikit.tuicontact.minimalistui.pages.NewFriendApplicationDetailMinimalistActivity;
-import com.tencent.qcloud.tuikit.tuicontact.presenter.NewFriendPresenter;
-import java.util.List;
-
-public class NewFriendListAdapter extends ArrayAdapter<FriendApplicationBean> {
-    private static final String TAG = NewFriendListAdapter.class.getSimpleName();
-
-    private int mResourceId;
-    private View mView;
-    private ViewHolder mViewHolder;
-
-    private NewFriendPresenter presenter;
-
-    /**
-     * Constructor
-     *
-     * @param context  The current context.
-     * @param resource The resource ID for a layout ic_chat_input_file containing a TextView to use when
-     *                 instantiating views.
-     * @param objects  The objects to represent in the ListView.
-     */
-    public NewFriendListAdapter(Context context, int resource, List<FriendApplicationBean> objects) {
-        super(context, resource, objects);
-        mResourceId = resource;
-    }
-
-    @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        final FriendApplicationBean data = getItem(position);
-        if (convertView != null) {
-            mView = convertView;
-            mViewHolder = (ViewHolder) mView.getTag();
-        } else {
-            mView = LayoutInflater.from(getContext()).inflate(mResourceId, null);
-            mView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Intent intent = new Intent(getContext(), NewFriendApplicationDetailMinimalistActivity.class);
-                    intent.putExtra(TUIConstants.TUIContact.CONTENT, data);
-                    getContext().startActivity(intent);
-                }
-            });
-            mViewHolder = new ViewHolder();
-            mViewHolder.avatar = mView.findViewById(R.id.avatar);
-            mViewHolder.name = mView.findViewById(R.id.name);
-            mViewHolder.des = mView.findViewById(R.id.description);
-            mViewHolder.agree = mView.findViewById(R.id.agree);
-            mViewHolder.reject = mView.findViewById(R.id.reject);
-            mViewHolder.result = mView.findViewById(R.id.result_tv);
-            mView.setTag(mViewHolder);
-        }
-        Resources res = getContext().getResources();
-        int radius = ScreenUtil.dip2px(25);
-        mViewHolder.avatar.setRadius(radius);
-        GlideEngine.loadUserIcon(mViewHolder.avatar, data.getFaceUrl(), radius);
-        mViewHolder.name.setText(TextUtils.isEmpty(data.getNickName()) ? data.getUserId() : data.getNickName());
-        mViewHolder.des.setText(data.getAddWording());
-        switch (data.getAddType()) {
-            case FriendApplicationBean.FRIEND_APPLICATION_COME_IN:
-                mViewHolder.agree.setText(res.getString(R.string.request_agree));
-                mViewHolder.agree.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        doResponse(data, true);
-                    }
-                });
-                mViewHolder.reject.setText(res.getString(R.string.refuse));
-                mViewHolder.reject.setOnClickListener(new View.OnClickListener() {
-                    @Override
-                    public void onClick(View v) {
-                        doResponse(data, false);
-                    }
-                });
-                if (data.isAccept()) {
-                    mViewHolder.agree.setVisibility(View.GONE);
-                    mViewHolder.reject.setVisibility(View.GONE);
-                    mViewHolder.result.setVisibility(View.VISIBLE);
-                }
-                break;
-            case FriendApplicationBean.FRIEND_APPLICATION_BOTH:
-                mViewHolder.agree.setText(res.getString(R.string.request_accepted));
-                break;
-            default:
-                break;
-        }
-        return mView;
-    }
-
-    private void doResponse(FriendApplicationBean bean, boolean isAccept) {
-        if (presenter != null) {
-            if (isAccept) {
-                presenter.acceptFriendApplication(bean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {
-                        bean.setAccept(true);
-                        refreshList();
-                    }
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage("Error code = " + errCode + ", desc = " + errMsg);
-                    }
-                });
-            } else {
-                presenter.refuseFriendApplication(bean, new IUIKitCallback<Void>() {
-                    @Override
-                    public void onSuccess(Void data) {}
-
-                    @Override
-                    public void onError(String module, int errCode, String errMsg) {
-                        ToastUtil.toastShortMessage("Error code = " + errCode + ", desc = " + errMsg);
-                    }
-                });
-            }
-        }
-    }
-
-    private void refreshList() {
-        notifyDataSetChanged();
-    }
-
-    public void setPresenter(NewFriendPresenter presenter) {
-        this.presenter = presenter;
-    }
-
-    public class ViewHolder {
-        ShadeImageView avatar;
-        TextView name;
-        TextView des;
-        TextView agree;
-        TextView reject;
-        TextView result;
-    }
-}

部分文件因文件數量過多而無法顯示