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;
    }
}