RoomEmojiDialog.java
3.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.chudiangameplay.android.dialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.StyleRes;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chudiangameplay.android.R;
import com.chudiangameplay.android.interface_.CommCallBack;
import com.chudiangameplay.android.interface_.OkHttpCallBack;
import com.chudiangameplay.android.manager.API_RoomManager;
import com.chudiangameplay.android.module_im.ui.view.IM_EmojiGridViewV2;
import com.chudiangameplay.android.responce.BaseResponce;
import com.chudiangameplay.android.responce.EmojiInfoResponce;
import com.chudiangameplay.android.tool.Log;
import com.chudiangameplay.android.util.AnimUtil;
import com.chudiangameplay.android.util.StatusBarUtil_Dialog;
import com.chudiangameplay.android.util.Util;
import com.rockerhieu.emojicon.EmojiconEditText;
/**
* Created by Administrator on 2018/8/29.
*/
public class RoomEmojiDialog extends Dialog implements View.OnClickListener {
Context context;
View view_bg;
IM_EmojiGridViewV2 emojigridview;
EmojiInfoResponce responce;
CommCallBack callBack;
public RoomEmojiDialog(@NonNull Context context, CommCallBack callBack) {
super(context, R.style.myDialog);
this.context = context;
this.callBack = callBack;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_room_emoji);
initView();
StatusBarUtil_Dialog.setImmersiveStatusBar(this, true);
}
private void initView() {
view_bg = findViewById(R.id.view_bg);
view_bg.setOnClickListener(this);
AnimUtil.fadeIn(view_bg);
emojigridview = findViewById(R.id.emojigridview);
getEmoji();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.view_bg:
dismissWithAnim();
break;
case R.id.ll_content:
//不处理,只消耗点击事件
break;
case R.id.tv_cancel:
dismissWithAnim();
break;
}
}
public void dismissWithAnim() {
if (view_bg.getAnimation() != null) return;
AnimUtil.fadeOut(view_bg, new CommCallBack() {
@Override
public void onResult(Object obj) {
dismiss();
}
});
}
@Override
public void onBackPressed() {
dismissWithAnim();
}
private void getEmoji(){
API_RoomManager.chat_face(context, new OkHttpCallBack() {
@Override
public void onSuccess(BaseResponce baseResponce) {
if (BaseResponce.Status_Success.equals(baseResponce.status)) {
responce = (EmojiInfoResponce) baseResponce;
if (responce.data != null &&responce.data.size() > 0) {
emojigridview.setEmojiList(responce.data, new CommCallBack() {
@Override
public void onResult(Object obj) {
if(callBack != null){
callBack.onResult(obj);
}
dismissWithAnim();
}
});
}
}
}
@Override
public void onFailure(BaseResponce baseResponce) {
}
});
}
}