Commit 28e24bd3 authored by feihuaduo's avatar feihuaduo

聊天室地址变更

列表不在底部时有其他人的新消息不滑下去
聊天信息框边距加宽
parent f8dbbd05
......@@ -17,7 +17,7 @@ buildscript {
}
ext {
compileSdkVersion = 30
compileSdkVersion = 31
//buildToolsVersion = compileSdkVersion+".0.0"
supportVersion = "30.0.0"
}
......
......@@ -121,7 +121,7 @@ dependencies {
implementation 'com.nightonke:boommenu:2.1.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
//dialog库
implementation 'com.github.feihuaduo:DialogUtils:1.8.9.20'
implementation 'com.github.feihuaduo:DialogUtils:1.8.9.23'
//recyclerview的adapter库
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
implementation 'androidx.appcompat:appcompat:1.2.0'
......
......@@ -48,7 +48,7 @@ public class TextSelectAdapter<T extends TextSelect> extends BaseQuickAdapter<T,
@SuppressLint("ResourceType")
@Override
protected void convert(BaseViewHolder helper, T item) {
int position = helper.getAdapterPosition();
int position = getItemPosition(item);
helper.setText(R.id.tv_name, item.getName());
if (isManySelect) {
......
......@@ -6,7 +6,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -20,9 +19,9 @@ import com.ourygo.assistant.util.Util;
import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.mycard.MycardFragment;
import cn.garymb.ygomobile.ui.mycard.mcchat.adapter.ChatAdapter;
import cn.garymb.ygomobile.ui.mycard.mcchat.management.ServiceManagement;
import cn.garymb.ygomobile.ui.mycard.mcchat.management.UserManagement;
import cn.garymb.ygomobile.utils.YGOUtil;
public class MycardChatFragment extends BaseFragemnt implements ChatListener {
......@@ -95,8 +94,11 @@ public class MycardChatFragment extends BaseFragemnt implements ChatListener {
@Override
public void addChatMessage(ChatMessage message) {
boolean isSmooth = YGOUtil.isVisBottom(main_rec) || message.getName().equals(UserManagement.getUserName());
cadp.sx();
main_rec.smoothScrollToPosition(serviceManagement.getData().size() - 1);
//如果在底部新消息来了或者消息是自己发送才滑到最下面,最后一个item有显示才算在底部
if (isSmooth)
main_rec.smoothScrollToPosition(serviceManagement.getData().size() - 1);
}
@Override
......
......@@ -20,6 +20,7 @@ import org.jxmpp.jid.parts.Resourcepart;
import org.jxmpp.stringprep.XmppStringprepException;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.List;
......@@ -215,7 +216,7 @@ public class ServiceManagement {
.setXmppDomain("mycard.moe")
.setKeystoreType(null)
.setSecurityMode(ConnectionConfiguration.SecurityMode.ifpossible)
.setHost("chat.mycard.moe")
.setHostAddress(InetAddress.getByName("mchat.moecube.com"))
.build();
con = new XMPPTCPConnection(config);
return con;
......
......@@ -12,6 +12,8 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.ourygo.assistant.util.PermissionUtil;
import com.ourygo.assistant.util.Util;
......@@ -120,6 +122,27 @@ public class YGOUtil {
cmb.setPrimaryClip(ClipData.newPlainText(null, message));//复制命令
}
public static boolean isVisBottom(RecyclerView recyclerView){
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
//屏幕中最后一个可见子项的position
int lastVisibleItemPosition = layoutManager.findLastCompletelyVisibleItemPosition();
//当前屏幕所看到的子项个数
int visibleItemCount = layoutManager.getChildCount();
//当前RecyclerView的所有子项个数
int totalItemCount = layoutManager.getItemCount();
//RecyclerView的滑动状态
int state = recyclerView.getScrollState();
final int offset = recyclerView.computeVerticalScrollOffset();
final int range = recyclerView.computeVerticalScrollRange() - recyclerView.computeVerticalScrollExtent();
Log.e("MycardFragment",(visibleItemCount > 0 )+" "+( lastVisibleItemPosition >= (totalItemCount - 3 ))+" "+( state == recyclerView.SCROLL_STATE_IDLE)+"高度"+(totalItemCount-3)+" "+lastVisibleItemPosition+" "+(range-offset));
if(visibleItemCount > 0 && lastVisibleItemPosition >= totalItemCount - 3 && state == recyclerView.SCROLL_STATE_IDLE){
return true;
} else {
return false;
}
}
public static void startDuelService(Context context) {
// if (AppsSettings.get().isServiceDuelAssistant()) {
// if (!Util.startDuelService(context)) {
......
......@@ -18,7 +18,7 @@
android:layout_height="wrap_content"
android:layout_alignTop="@id/ic_avatar"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginRight="55dp"
android:layout_marginBottom="5dp"
android:layout_toRightOf="@id/ic_avatar"
android:background="@drawable/radius"
......
......@@ -18,7 +18,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/icm_avatar"
android:layout_marginLeft="10dp"
android:layout_marginLeft="55dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_toLeftOf="@id/icm_avatar"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment