apk(点击下载) / ChatRoomActivity.java
package com.gaoyuan.mianshu.chatroom.activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import com.gaoyuan.mianshu.chatroom.fragment.ChatRoomFragment;
import com.gaoyuan.mianshu.i.c.b;
import com.netease.nim.uikit.api.NimUIKit;
import com.netease.nim.uikit.business.chatroom.fragment.ChatRoomMessageFragment;
import com.netease.nim.uikit.business.session.constant.Extras;
import com.netease.nim.uikit.common.ToastHelper;
import com.netease.nim.uikit.common.activity.UI;
import com.netease.nim.uikit.common.ui.dialog.DialogMaker;
import com.netease.nim.uikit.common.util.log.sdk.wrapper.AbsNimLog;
import com.netease.nimlib.sdk.AbortableFuture;
import com.netease.nimlib.sdk.NIMClient;
import com.netease.nimlib.sdk.Observer;
import com.netease.nimlib.sdk.RequestCallback;
import com.netease.nimlib.sdk.StatusCode;
import com.netease.nimlib.sdk.chatroom.ChatRoomService;
import com.netease.nimlib.sdk.chatroom.ChatRoomServiceObserver;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomInfo;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomKickOutEvent;
import com.netease.nimlib.sdk.chatroom.model.ChatRoomStatusChangeData;
import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomData;
import com.netease.nimlib.sdk.chatroom.model.EnterChatRoomResultData;
import java.util.List;
import p001x2793113f.R;
public class ChatRoomActivity extends UI {
private static final String m = ChatRoomActivity.class.getSimpleName();
private String a;
private String b;
private String c;
/* renamed from: d reason: collision with root package name */
private String f1250d;
private int e = 0;
private ChatRoomInfo f;
private boolean g = false;
private ChatRoomFragment h;
private ChatRoomMessageFragment i;
private AbortableFuture<EnterChatRoomResultData> j;
Observer<ChatRoomStatusChangeData> k = new Observer<ChatRoomStatusChangeData>() {
/* class com.gaoyuan.mianshu.chatroom.activity.ChatRoomActivity.AnonymousClass2 */
public void onEvent(ChatRoomStatusChangeData chatRoomStatusChangeData) {
if (chatRoomStatusChangeData.roomId.equals(ChatRoomActivity.this.a)) {
StatusCode statusCode = chatRoomStatusChangeData.status;
if (statusCode == StatusCode.CONNECTING) {
DialogMaker.updateLoadingMessage("连接中...");
} else if (statusCode == StatusCode.LOGINING) {
DialogMaker.updateLoadingMessage("登录中...");
} else if (statusCode == StatusCode.LOGINED) {
if (ChatRoomActivity.this.h != null) {
ChatRoomActivity.this.h.k(true);
}
} else if (statusCode == StatusCode.UNLOGIN) {
if (ChatRoomActivity.this.h != null) {
ChatRoomActivity.this.h.k(false);
}
if (ChatRoomActivity.this.g) {
int enterErrorCode = ((ChatRoomService) NIMClient.getService(ChatRoomService.class)).getEnterErrorCode(ChatRoomActivity.this.a);
ChatRoomActivity chatRoomActivity = ChatRoomActivity.this;
ToastHelper.showToast(chatRoomActivity, "getEnterErrorCode=" + enterErrorCode);
String str = ChatRoomActivity.m;
AbsNimLog.d(str, "chat room enter error code:" + enterErrorCode);
}
} else if (statusCode == StatusCode.NET_BROKEN) {
if (ChatRoomActivity.this.h != null) {
ChatRoomActivity.this.h.k(false);
}
ToastHelper.showToast(ChatRoomActivity.this, (int) R.string.net_broken);
}
String str2 = ChatRoomActivity.m;
AbsNimLog.i(str2, "chat room online status changed to " + chatRoomStatusChangeData.status.name());
}
}
};
Observer<ChatRoomKickOutEvent> l = new c(this);
/* access modifiers changed from: package-private */
public class a implements RequestCallback<EnterChatRoomResultData> {
a() {
}
/* renamed from: a */
public void onSuccess(EnterChatRoomResultData enterChatRoomResultData) {
ChatRoomActivity.this.H();
ChatRoomActivity.this.f = enterChatRoomResultData.getRoomInfo();
NimUIKit.enterChatRoomSuccess(enterChatRoomResultData, false);
ChatRoomActivity.this.z();
ChatRoomActivity.this.B();
ChatRoomActivity.this.g = true;
}
@Override // com.netease.nimlib.sdk.RequestCallback
public void onException(Throwable th) {
ChatRoomActivity.this.H();
ChatRoomActivity chatRoomActivity = ChatRoomActivity.this;
ToastHelper.showToast(chatRoomActivity, "enter chat room exception, e=" + th.getMessage());
ChatRoomActivity.this.finish();
}
@Override // com.netease.nimlib.sdk.RequestCallback
public void onFailed(int i) {
ChatRoomActivity.this.H();
if (i == 13003) {
ToastHelper.showToast(ChatRoomActivity.this, "你已被拉入黑名单,不能再进入");
} else if (i == 404) {
ToastHelper.showToast(ChatRoomActivity.this, "聊天室不存在");
} else {
ChatRoomActivity chatRoomActivity = ChatRoomActivity.this;
ToastHelper.showToast(chatRoomActivity, "enter chat room failed, code=" + i);
}
ChatRoomActivity.this.finish();
}
}
/* access modifiers changed from: private */
/* renamed from: D */
public /* synthetic */ void E(ChatRoomKickOutEvent chatRoomKickOutEvent) {
ToastHelper.showToast(this, "被踢出聊天室,原因:" + chatRoomKickOutEvent.getReason());
G();
}
private void F() {
((ChatRoomService) NIMClient.getService(ChatRoomService.class)).exitChatRoom(this.a);
G();
}
/* access modifiers changed from: private */
/* access modifiers changed from: public */
private void H() {
this.j = null;
DialogMaker.dismissProgressDialog();
}
public static void I(Context context, String str, int i2, String str2, String str3, String str4) {
Intent intent = new Intent();
intent.setClass(context, ChatRoomActivity.class);
intent.putExtra("room_id", str);
intent.putExtra("mode", i2);
intent.putExtra("app_key", str2);
intent.putExtra(Extras.EXTRA_ACCOUNT, str3);
intent.putExtra("pwd", str4);
intent.addFlags(536870912);
context.startActivity(intent);
}
private void q() {
DialogMaker.showProgressDialog(this, null, "", true, new e(this)).setCanceledOnTouchOutside(false);
this.g = false;
EnterChatRoomData enterChatRoomData = new EnterChatRoomData(this.a);
if (this.e == 1) {
enterChatRoomData.setAppKey(this.b);
enterChatRoomData.setIndependentMode(new a(this), this.c, this.f1250d);
if (TextUtils.isEmpty(this.c)) {
enterChatRoomData.setNick("soduku");
enterChatRoomData.setAvatar("https://nim.nosdn.127.net/MTAxMTAxMA==/bmltYV8yNDM0MzQ4OV8xNTMyMDUzNzM3ODkzXzJlNGQ3ZjA5LWI2MjgtNDNiNy1hZTIwLTBhYTgzMjZhYzBjZQ==?thumbnail=540x540&imageView&tostatic=0");
}
}
AbortableFuture<EnterChatRoomResultData> enterChatRoomEx = ((ChatRoomService) NIMClient.getService(ChatRoomService.class)).enterChatRoomEx(enterChatRoomData, 1);
this.j = enterChatRoomEx;
enterChatRoomEx.setCallback(new a());
}
private boolean r() {
this.a = getIntent().getStringExtra("room_id");
this.e = getIntent().getIntExtra("mode", 0);
this.b = getIntent().getStringExtra("app_key");
this.c = getIntent().getStringExtra(Extras.EXTRA_ACCOUNT);
this.f1250d = getIntent().getStringExtra("pwd");
if (this.e != 1 || !TextUtils.isEmpty(this.b)) {
return true;
}
ToastHelper.showToast(this, getString(R.string.independent_mode_error));
return false;
}
private void registerObservers(boolean z) {
((ChatRoomServiceObserver) NIMClient.getService(ChatRoomServiceObserver.class)).observeOnlineStatus(this.k, z);
((ChatRoomServiceObserver) NIMClient.getService(ChatRoomServiceObserver.class)).observeKickOutEvent(this.l, z);
}
/* access modifiers changed from: private */
/* access modifiers changed from: public */
/* renamed from: t */
public void z() {
ChatRoomFragment chatRoomFragment = (ChatRoomFragment) getSupportFragmentManager().findFragmentById(R.id.chat_rooms_fragment);
this.h = chatRoomFragment;
if (chatRoomFragment != null) {
chatRoomFragment.l();
} else {
getHandler().postDelayed(new b(this), 50);
}
}
/* access modifiers changed from: private */
/* access modifiers changed from: public */
/* renamed from: u */
public void B() {
ChatRoomMessageFragment chatRoomMessageFragment = (ChatRoomMessageFragment) getSupportFragmentManager().findFragmentById(R.id.chat_room_message_fragment);
this.i = chatRoomMessageFragment;
if (chatRoomMessageFragment != null) {
chatRoomMessageFragment.init(this.a);
} else {
getHandler().postDelayed(new d(this), 50);
}
}
/* access modifiers changed from: private */
/* renamed from: v */
public /* synthetic */ void w(DialogInterface dialogInterface) {
AbortableFuture<EnterChatRoomResultData> abortableFuture = this.j;
if (abortableFuture != null) {
abortableFuture.abort();
H();
finish();
}
}
/* access modifiers changed from: private */
/* renamed from: x */
public /* synthetic */ List y(String str, String str2) {
return b.c().a(str, this.b, str2);
}
public void G() {
NimUIKit.exitedChatRoom(this.a);
finish();
}
/* access modifiers changed from: protected */
@Override // androidx.activity.ComponentActivity, androidx.fragment.app.FragmentActivity
public void onActivityResult(int i2, int i3, Intent intent) {
super.onActivityResult(i2, i3, intent);
ChatRoomMessageFragment chatRoomMessageFragment = this.i;
if (chatRoomMessageFragment != null) {
chatRoomMessageFragment.onActivityResult(i2, i3, intent);
}
}
@Override // androidx.activity.ComponentActivity, com.netease.nim.uikit.common.activity.UI
public void onBackPressed() {
ChatRoomMessageFragment chatRoomMessageFragment = this.i;
if (chatRoomMessageFragment == null || !chatRoomMessageFragment.onBackPressed()) {
super.onBackPressed();
}
F();
}
/* access modifiers changed from: protected */
@Override // androidx.activity.ComponentActivity, androidx.core.app.ComponentActivity, androidx.fragment.app.FragmentActivity, com.netease.nim.uikit.common.activity.UI
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_chat_room);
if (!r()) {
finish();
return;
}
registerObservers(true);
q();
}
/* access modifiers changed from: protected */
@Override // androidx.appcompat.app.AppCompatActivity, androidx.fragment.app.FragmentActivity, com.netease.nim.uikit.common.activity.UI
public void onDestroy() {
super.onDestroy();
registerObservers(false);
}
public ChatRoomInfo s() {
return this.f;
}
}