[Modify]解除屏蔽功能開發
This commit is contained in:
@@ -3,6 +3,74 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.yizhuan.erban">
|
||||
|
||||
<uses-sdk tools:overrideLibrary="com.huawei.android.hms.base,com.huawei.android.hms.push" />
|
||||
<!-- bugly所需权限 -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.RECEIVE_MSG"
|
||||
android:protectionLevel="signature" /> <!-- ShareSdk权限申请 -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.MIPUSH_RECEIVE"
|
||||
android:protectionLevel="signature" /> <!-- 谷歌内购权限 -->
|
||||
<permission
|
||||
android:name="${applicationId}.push.permission.MESSAGE"
|
||||
android:protectionLevel="signature" /> <!-- Required -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.C2D_MESSAGE"
|
||||
android:protectionLevel="signature" />
|
||||
|
||||
<queries>
|
||||
<package android:name="com.facebook.katana" />
|
||||
<package android:name="jp.naver.line.android" />
|
||||
<package android:name="com.android.vending" />
|
||||
</queries>
|
||||
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-feature
|
||||
android:glEsVersion="0x00020000"
|
||||
android:required="true" />
|
||||
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 云信权限声明 -->
|
||||
<!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 外置存储存取权限 -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- 多媒体相关 -->
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_PHONE_STATE"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="android.permission.ACCESS_FINE_LOCATION"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="android.permission.ACCESS_COARSE_LOCATION"
|
||||
tools:node="remove" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 如果需要实时音视频通话模块,下面的权限也是必须的。否则,可以不加 -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- SDK 权限申明, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<!-- 和下面的 uses-permission 一起加入到你的 AndroidManifest 文件中。 -->
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- 接收 SDK 消息广播权限, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 云信集成小米推送 start -->
|
||||
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
|
||||
<uses-permission android:name="android.permission.REORDER_TASKS" /> <!-- 云信集成华为推送 -->
|
||||
<uses-permission android:name="com.xteam.xchat.permission.RECEIVE_MSG" /> <!-- 云信集成oppo推送 -->
|
||||
<uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" /> <!-- 云信集成魅族推送 start -->
|
||||
<!-- 兼容flyme5.0以下版本,魅族内部集成pushSDK必填,不然无法收到消息,将{你的包名} 改开发者App的包名 -->
|
||||
<uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" />
|
||||
<uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE" />
|
||||
<uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE" /> <!-- 兼容flyme3.0配置权限 -->
|
||||
<uses-permission android:name="${applicationId}.push.permission.MESSAGE" />
|
||||
<uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
|
||||
|
||||
<application
|
||||
android:name=".application.XChatApplication"
|
||||
android:allowBackup="false"
|
||||
@@ -876,7 +944,11 @@
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.setting.ShieldManageActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<meta-data
|
||||
android:name="notch.config"
|
||||
@@ -966,73 +1038,5 @@
|
||||
android:name=".service.DaemonService"
|
||||
android:enabled="true" />
|
||||
</application>
|
||||
<!-- bugly所需权限 -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.RECEIVE_MSG"
|
||||
android:protectionLevel="signature" /> <!-- ShareSdk权限申请 -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.MIPUSH_RECEIVE"
|
||||
android:protectionLevel="signature" /> <!-- 谷歌内购权限 -->
|
||||
<permission
|
||||
android:name="${applicationId}.push.permission.MESSAGE"
|
||||
android:protectionLevel="signature" /> <!-- Required -->
|
||||
<permission
|
||||
android:name="${applicationId}.permission.C2D_MESSAGE"
|
||||
android:protectionLevel="signature" />
|
||||
|
||||
<queries>
|
||||
<package android:name="com.facebook.katana" />
|
||||
<package android:name="jp.naver.line.android" />
|
||||
<package android:name="com.android.vending" />
|
||||
</queries>
|
||||
|
||||
<uses-feature android:name="android.hardware.camera" />
|
||||
<uses-feature android:name="android.hardware.camera.autofocus" />
|
||||
<uses-feature
|
||||
android:glEsVersion="0x00020000"
|
||||
android:required="true" />
|
||||
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<uses-permission android:name="com.android.vending.BILLING" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 云信权限声明 -->
|
||||
<!-- 控制呼吸灯,振动器等,用于新消息提醒 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 外置存储存取权限 -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!-- 多媒体相关 -->
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_PHONE_STATE"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="android.permission.ACCESS_FINE_LOCATION"
|
||||
tools:node="remove" />
|
||||
<uses-permission
|
||||
android:name="android.permission.ACCESS_COARSE_LOCATION"
|
||||
tools:node="remove" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" /> <!-- 如果需要实时音视频通话模块,下面的权限也是必须的。否则,可以不加 -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- SDK 权限申明, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<!-- 和下面的 uses-permission 一起加入到你的 AndroidManifest 文件中。 -->
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <!-- 接收 SDK 消息广播权限, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" /> <!-- 云信集成小米推送 start -->
|
||||
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
|
||||
<uses-permission android:name="android.permission.REORDER_TASKS" /> <!-- 云信集成华为推送 -->
|
||||
<uses-permission android:name="com.xteam.xchat.permission.RECEIVE_MSG" /> <!-- 云信集成oppo推送 -->
|
||||
<uses-permission android:name="${applicationId}.permission.MIPUSH_RECEIVE" /> <!-- 云信集成魅族推送 start -->
|
||||
<!-- 兼容flyme5.0以下版本,魅族内部集成pushSDK必填,不然无法收到消息,将{你的包名} 改开发者App的包名 -->
|
||||
<uses-permission android:name="com.coloros.mcs.permission.RECIEVE_MCS_MESSAGE" />
|
||||
<uses-permission android:name="com.heytap.mcs.permission.RECIEVE_MCS_MESSAGE" />
|
||||
<uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE" /> <!-- 兼容flyme3.0配置权限 -->
|
||||
<uses-permission android:name="${applicationId}.push.permission.MESSAGE" />
|
||||
<uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
|
||||
|
||||
<uses-sdk tools:overrideLibrary="com.huawei.android.hms.base,com.huawei.android.hms.push" />
|
||||
|
||||
</manifest>
|
@@ -471,13 +471,6 @@ public abstract class BaseActivity extends RxAppCompatActivity
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 网络连接变化
|
||||
*/
|
||||
/**
|
||||
* 网络连接变化
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param fragmentName Fragment.class.getName()
|
||||
*/
|
||||
|
@@ -13,7 +13,6 @@ import com.yizhuan.xchat_android_core.utils.TextUtils
|
||||
|
||||
class RoomCommonAdapter : BaseQuickAdapter<HomeRoomInfo, BaseViewHolder>(R.layout.item_room_common) {
|
||||
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) {
|
||||
helper.apply {
|
||||
getView<ImageView>(R.id.iv_room_image).load(item.avatar)
|
||||
|
@@ -15,7 +15,6 @@ import com.yizhuan.erban.ui.utils.RVDelegate
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo
|
||||
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent
|
||||
import com.yizhuan.xchat_android_core.room.event.RoomShieldEvent
|
||||
import com.yizhuan.xchat_android_library.common.util.Logger
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
|
@@ -148,6 +148,9 @@ public class SettingActivity extends BaseActivity implements View.OnClickListene
|
||||
case R.id.tv_notice_setting:
|
||||
NoticeSettingActivity.start(context);
|
||||
break;
|
||||
case R.id.tv_shield_manager:
|
||||
ShieldManageActivity.start(context);
|
||||
break;
|
||||
case R.id.rly_permission:
|
||||
PermissionGuideActivity.Companion.start(context);
|
||||
break;
|
||||
|
@@ -0,0 +1,87 @@
|
||||
package com.yizhuan.erban.ui.setting
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import androidx.activity.viewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.netease.nim.uikit.StatusBarUtil
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity
|
||||
import com.yizhuan.erban.common.EmptyViewHelper
|
||||
import com.yizhuan.erban.databinding.ActivityShieldManageBinding
|
||||
import com.yizhuan.erban.ui.setting.adapter.RoomShieldAdapter
|
||||
import com.yizhuan.erban.ui.setting.viewmodel.SetViewModel
|
||||
import com.yizhuan.erban.ui.utils.RVDelegate
|
||||
import com.yizhuan.xchat_android_core.set.bean.ShieldInfo
|
||||
|
||||
/**
|
||||
* author: wushaocheng
|
||||
* time: 2022/12/28
|
||||
* 屏蔽管理
|
||||
*/
|
||||
class ShieldManageActivity : BaseViewBindingActivity<ActivityShieldManageBinding>() {
|
||||
|
||||
private val setViewModel: SetViewModel by viewModels()
|
||||
|
||||
private var pageNum: Int = 1
|
||||
private val pageSize = 20
|
||||
|
||||
private val mAdapter: RoomShieldAdapter by lazy { RoomShieldAdapter() }
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun start(context: Context) {
|
||||
val intent = Intent(context, ShieldManageActivity::class.java)
|
||||
context.startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun init() {
|
||||
initWhiteTitleBar(getString(R.string.shield_manager))
|
||||
|
||||
val rvDelegate = RVDelegate.Builder<ShieldInfo>()
|
||||
.setAdapter(mAdapter)
|
||||
.setLayoutManager(LinearLayoutManager(this))
|
||||
.setPageSize(pageSize)
|
||||
.setEmptyView(
|
||||
EmptyViewHelper.createEmptyView(
|
||||
this,
|
||||
getString(R.string.your_shield_list_is_empty)
|
||||
)
|
||||
)
|
||||
.setRefreshLayout(binding.mRefreshLayout)
|
||||
.setRecyclerView(binding.mRecyclerView)
|
||||
.build()
|
||||
|
||||
mAdapter.setOnLoadMoreListener({
|
||||
loadData(false)
|
||||
}, binding.mRecyclerView)
|
||||
binding.mRefreshLayout.setOnRefreshListener {
|
||||
loadData(true)
|
||||
}
|
||||
setViewModel.shieldRoomLiveData.observe(this) {
|
||||
rvDelegate.loadData(it)
|
||||
}
|
||||
|
||||
setViewModel.getShieldRoom(pageNum, pageSize)
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
fun loadData(isRefresh: Boolean) {
|
||||
binding.mRefreshLayout.isRefreshing = isRefresh
|
||||
pageNum = if (isRefresh) 1 else (pageNum + 1)
|
||||
setViewModel.getShieldRoom(pageNum, pageSize)
|
||||
}
|
||||
|
||||
override fun needSteepStateBar(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun setStatusBar() {
|
||||
super.setStatusBar()
|
||||
StatusBarUtil.transparencyBar(this)
|
||||
StatusBarUtil.StatusBarLightMode(this)
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
package com.yizhuan.erban.ui.setting.adapter
|
||||
|
||||
import android.widget.ImageView
|
||||
import androidx.core.view.isGone
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter
|
||||
import com.chad.library.adapter.base.BaseViewHolder
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2
|
||||
import com.yizhuan.erban.ui.utils.load
|
||||
import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo
|
||||
import com.yizhuan.xchat_android_core.set.bean.ShieldInfo
|
||||
import com.yizhuan.xchat_android_core.utils.TextUtils
|
||||
|
||||
class RoomShieldAdapter : BaseQuickAdapter<ShieldInfo, BaseViewHolder>(R.layout.item_room_shield) {
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: ShieldInfo) {
|
||||
helper.apply {
|
||||
getView<ImageView>(R.id.iv_room_image).load(item.avatar)
|
||||
setText(R.id.tv_room_title, item.title)
|
||||
setText(R.id.tv_id, "ID:${item.erbanNo}")
|
||||
}
|
||||
helper.setGone(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict))
|
||||
ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_room_tag), item.tagPict)
|
||||
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
package com.yizhuan.erban.ui.setting.viewmodel
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.yizhuan.erban.base.BaseViewModel
|
||||
import com.yizhuan.xchat_android_core.bean.response.ListResult
|
||||
import com.yizhuan.xchat_android_core.set.bean.ShieldInfo
|
||||
import com.yizhuan.xchat_android_core.set.model.SetModel
|
||||
import com.yizhuan.xchat_android_core.utils.toast
|
||||
|
||||
class SetViewModel : BaseViewModel() {
|
||||
|
||||
private val _shieldRoomLiveData = MutableLiveData<ListResult<ShieldInfo>>()
|
||||
val shieldRoomLiveData: LiveData<ListResult<ShieldInfo>> = _shieldRoomLiveData
|
||||
|
||||
fun getShieldRoom(pageNum: Int, pageSize: Int) {
|
||||
safeLaunch(
|
||||
onError = {
|
||||
it.message.toast()
|
||||
_shieldRoomLiveData.value = ListResult.failed(pageNum)
|
||||
},
|
||||
block = {
|
||||
val result = SetModel.getShieldRoom(pageNum, pageSize)
|
||||
_shieldRoomLiveData.value = ListResult.success(result, pageNum)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
}
|
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<data>
|
||||
@@ -153,14 +154,34 @@
|
||||
android:id="@+id/tv_notice_setting"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_setting_item_height"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingEnd="@dimen/dp_15"
|
||||
android:text="@string/notice_setting"
|
||||
android:textColor="@color/text_title_color"
|
||||
android:textSize="@dimen/sp_14" />
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:drawableEndCompat="@drawable/arrow_right" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@color/line_353548" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_shield_manager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_setting_item_height"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingStart="@dimen/dp_15"
|
||||
android:paddingEnd="@dimen/dp_15"
|
||||
android:text="@string/shield_manager"
|
||||
android:textColor="@color/text_title_color"
|
||||
android:textSize="@dimen/sp_14"
|
||||
app:drawableEndCompat="@drawable/arrow_right" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
@@ -173,14 +194,14 @@
|
||||
android:id="@+id/tv_black_manager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingLeft="@dimen/dp_15"
|
||||
android:paddingRight="@dimen/dp_15"
|
||||
android:text="@string/text_setting_black_management"
|
||||
android:textColor="@color/text_title_color"
|
||||
android:textSize="14sp" />
|
||||
android:textSize="14sp"
|
||||
app:drawableEndCompat="@drawable/arrow_right" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
@@ -260,7 +281,6 @@
|
||||
android:id="@+id/tv_community_norms"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:drawableEnd="@drawable/arrow_right"
|
||||
android:gravity="center_vertical"
|
||||
android:onClick="@{click}"
|
||||
android:paddingLeft="@dimen/dp_15"
|
||||
@@ -268,7 +288,8 @@
|
||||
android:text="@string/text_setting_community_norms"
|
||||
android:textColor="@color/text_title_color"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"
|
||||
app:drawableEndCompat="@drawable/arrow_right" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
|
33
app/src/main/res/layout/activity_shield_manage.xml
Normal file
33
app/src/main/res/layout/activity_shield_manage.xml
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.setting.ShieldManageActivity">
|
||||
|
||||
<com.yizhuan.erban.base.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_44"
|
||||
android:background="@color/color_white"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/mRefreshLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title_bar"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/mRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:overScrollMode="never"
|
||||
android:scrollbars="none" />
|
||||
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
73
app/src/main/res/layout/item_room_shield.xml
Normal file
73
app/src/main/res/layout/item_room_shield.xml
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="@dimen/dp_15"
|
||||
android:clipChildren="false"
|
||||
android:clipToPadding="false"
|
||||
android:paddingStart="@dimen/dp_36"
|
||||
android:paddingEnd="0dp">
|
||||
|
||||
<View
|
||||
android:id="@+id/view_bg"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="84dp"
|
||||
android:background="@drawable/bg_ffffff_14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.yizhuan.erban.common.widget.CircleImageView
|
||||
android:id="@+id/iv_room_image"
|
||||
android:layout_width="74dp"
|
||||
android:layout_height="74dp"
|
||||
android:layout_marginStart="-22dp"
|
||||
android:src="@drawable/default_cover"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/view_bg"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/view_bg"
|
||||
app:riv_corner_radius="8dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_room_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/color_1F1A4E"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_room_image"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_room_image"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
tools:text="@string/layout_item_room_common_02" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_room_tag"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="14dp"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_room_image"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_room_title"
|
||||
tools:src="@drawable/tag_101" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_16"
|
||||
android:includeFontPadding="false"
|
||||
android:textColor="#66333333"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintStart_toEndOf="@id/iv_room_tag"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_room_title"
|
||||
tools:text="ID:1234" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -5023,5 +5023,7 @@
|
||||
<string name="guild_revenue">公會收益 +</string>
|
||||
<string name="total_member_gold">成員總金幣 -</string>
|
||||
<string name="total_member_exchange">成員總兌換</string>
|
||||
<string name="shield_manager">屏蔽管理</string>
|
||||
<string name="your_shield_list_is_empty">你的屏蔽列表為空哦!</string>
|
||||
|
||||
</resources>
|
@@ -0,0 +1,14 @@
|
||||
package com.yizhuan.xchat_android_core.set.bean
|
||||
|
||||
import lombok.Data
|
||||
|
||||
@Data
|
||||
data class ShieldInfo(
|
||||
val uid: Long = 0,
|
||||
val roomId: Long = 0,
|
||||
val erbanNo: Long = 0,
|
||||
val title: String? = null,
|
||||
val avatar: String? = null,
|
||||
val roomTag: String? = null,
|
||||
val tagPict: String? = null
|
||||
)
|
@@ -0,0 +1,36 @@
|
||||
package com.yizhuan.xchat_android_core.set.model
|
||||
|
||||
import com.yizhuan.xchat_android_core.base.BaseModel
|
||||
import com.yizhuan.xchat_android_core.bean.response.ServiceResult
|
||||
import com.yizhuan.xchat_android_core.home.bean.*
|
||||
import com.yizhuan.xchat_android_core.set.bean.ShieldInfo
|
||||
import com.yizhuan.xchat_android_core.utils.net.launchRequest
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.RxNet
|
||||
import retrofit2.http.GET
|
||||
import retrofit2.http.Query
|
||||
|
||||
object SetModel : BaseModel() {
|
||||
|
||||
private val api = RxNet.create(Api::class.java)
|
||||
|
||||
|
||||
suspend fun getShieldRoom(pageNum: Int, pageSize: Int): List<ShieldInfo>? =
|
||||
launchRequest {
|
||||
api.getShieldRoom(pageNum, pageSize)
|
||||
}
|
||||
|
||||
private interface Api {
|
||||
|
||||
/**
|
||||
* 屏蔽房间列表
|
||||
* @return
|
||||
*/
|
||||
@GET("/user/black/pageRoom")
|
||||
suspend fun getShieldRoom(
|
||||
@Query("pageNum") pageNum: Int,
|
||||
@Query("pageSize") pageSize: Int
|
||||
): ServiceResult<List<ShieldInfo>>
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user