diff --git a/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java b/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java index e81333699..95753ea20 100644 --- a/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java +++ b/app/src/main/java/com/mango/moshen/ui/im/InputPanel.java @@ -347,9 +347,9 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba public int getPanelTriggerId() { return R.id.emoji_button; } - }).logTrack(false)//output log + }) + .logTrack(false)//output log .build(); - messageListView.setPanelSwitchHelper(mHelper); } @@ -859,6 +859,10 @@ public class InputPanel implements IEmoticonSelectedListener, IAudioRecordCallba @Override public void onRecordSuccess(File audioFile, long audioLength, RecordType recordType) { + if (audioLength < 1000) { + SingleToastUtil.showToast("说话时间太短!"); + return; + } IMMessage audioMessage = MessageBuilder.createAudioMessage(container.account, container.sessionType, audioFile, audioLength); container.proxy.sendMessage(audioMessage); } diff --git a/app/src/main/java/com/mango/moshen/ui/im/MessageListPanelEx.java b/app/src/main/java/com/mango/moshen/ui/im/MessageListPanelEx.java index b3ec971f0..e170b2413 100644 --- a/app/src/main/java/com/mango/moshen/ui/im/MessageListPanelEx.java +++ b/app/src/main/java/com/mango/moshen/ui/im/MessageListPanelEx.java @@ -1056,7 +1056,9 @@ public class MessageListPanelEx { private boolean enableRevokeButton(IMMessage selectedItem) { return selectedItem.getStatus() == MsgStatusEnum.success - && selectedItem.getMsgType() == MsgTypeEnum.text + && (selectedItem.getMsgType() == MsgTypeEnum.text || + selectedItem.getMsgType() == MsgTypeEnum.audio || + selectedItem.getMsgType() == MsgTypeEnum.image) && !recordOnly && selectedItem.getDirect() == MsgDirectionEnum.Out && CurrentTimeUtils.getCurrentTime() - selectedItem.getTime() < 2 * 60 * 1000; diff --git a/app/src/main/java/com/mango/moshen/ui/im/avtivity/AddBlackListActivity.java b/app/src/main/java/com/mango/moshen/ui/im/avtivity/AddBlackListActivity.java index b490ed3fa..471d6edda 100644 --- a/app/src/main/java/com/mango/moshen/ui/im/avtivity/AddBlackListActivity.java +++ b/app/src/main/java/com/mango/moshen/ui/im/avtivity/AddBlackListActivity.java @@ -49,6 +49,7 @@ public class AddBlackListActivity extends BaseMvpActivity + android:textSize="12sp" + tools:text="ID:953842" /> + android:orientation="vertical"> + + + + + + \ No newline at end of file diff --git a/nim_uikit/src/com/netease/nim/uikit/common/ui/dialog/CustomPopupWindow.java b/nim_uikit/src/com/netease/nim/uikit/common/ui/dialog/CustomPopupWindow.java index 2aae1027e..c2968e84d 100644 --- a/nim_uikit/src/com/netease/nim/uikit/common/ui/dialog/CustomPopupWindow.java +++ b/nim_uikit/src/com/netease/nim/uikit/common/ui/dialog/CustomPopupWindow.java @@ -1,17 +1,11 @@ package com.netease.nim.uikit.common.ui.dialog; -import static android.widget.LinearLayout.SHOW_DIVIDER_BEGINNING; - import android.content.Context; import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.util.Pair; import android.view.Gravity; -import android.view.LayoutInflater; import android.view.View; -import android.view.WindowManager; import android.widget.LinearLayout; -import android.widget.PopupWindow; import android.widget.TextView; import com.netease.nim.uikit.R; @@ -20,8 +14,10 @@ import com.netease.nim.uikit.common.util.sys.ScreenUtil; import java.util.LinkedList; import java.util.List; +import razerdp.basepopup.BasePopupWindow; -public class CustomPopupWindow extends PopupWindow { + +public class CustomPopupWindow extends BasePopupWindow { private final Context context; private final LinearLayout llRoot; @@ -29,15 +25,17 @@ public class CustomPopupWindow extends PopupWindow { private int orientation; public CustomPopupWindow(Context context, int orientation) { + super(context); this.context = context; this.orientation = orientation; - llRoot = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.nim_custom_popup_window, null); - setContentView(llRoot); - llRoot.setShowDividers(SHOW_DIVIDER_BEGINNING); + + setContentView(createPopupById(R.layout.nim_custom_popup_window)); + llRoot = findViewById(R.id.ll_root); llRoot.setOrientation(orientation); - setBackgroundDrawable(new ColorDrawable()); - setOutsideTouchable(true); - setFocusable(true); + setOutSideDismiss(true); + setBackgroundColor(Color.TRANSPARENT); + hideKeyboardOnShow(false); + setPopupAnimationStyle(-1); } public void addItem(String itemText, View.OnClickListener listener) { @@ -51,9 +49,8 @@ public class CustomPopupWindow extends PopupWindow { new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, ScreenUtil.dip2px(30)) ); } - setHeight(ScreenUtil.dip2px(30 * (orientation == LinearLayout.HORIZONTAL ? 1 : itemTextList.size()))); - setWidth(WindowManager.LayoutParams.WRAP_CONTENT); - showAsDropDown(anchor, xoff, yoff); + setPopupGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); + showPopupWindow(anchor); } private TextView createTextView(CharSequence text, View.OnClickListener listener) {