Search in sources :

Example 1 with RealmRegisteredInfo

use of net.iGap.realm.RealmRegisteredInfo in project iGap-Android by KianIranian-STDG.

the class AbstractMessage method forwardMessageIfNeeded.

@CallSuper
protected void forwardMessageIfNeeded(VH holder) {
    NewChatItemHolder mHolder;
    if (holder instanceof NewChatItemHolder)
        mHolder = (NewChatItemHolder) holder;
    else
        return;
    /**
     * set forward container visible if message was forwarded, otherwise, gone it
     */
    View cslr_ll_forward22 = ((NewChatItemHolder) holder).getContentBloke().findViewById(R.id.cslr_ll_forward);
    if (cslr_ll_forward22 != null) {
        mHolder.getContentBloke().removeView(cslr_ll_forward22);
    }
    if (messageObject.forwardedMessage != null) {
        View forwardView = ViewMaker.getViewForward(((NewChatItemHolder) holder).getContext());
        forwardView.setOnLongClickListener(getLongClickPerform(holder));
        forwardView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (FragmentChat.isInSelectionMode) {
                    holder.itemView.performLongClick();
                } else {
                    // TODO: 12/29/20 MESSAGE_REFACTOR
                    if (messageObject.username != null && messageObject.username.length() > 0) {
                        // TODO: fixed this and do not use G.currentActivity
                        HelperUrl.checkUsernameAndGoToRoomWithMessageId(G.currentActivity, messageObject.username, HelperUrl.ChatEntry.profile, (messageObject.forwardedMessage.id * (-1)), messageObject.forwardedMessage.documentId);
                    }
                }
            }
        });
        AppCompatTextView txtPrefixForwardFrom = forwardView.findViewById(R.id.cslr_txt_prefix_forward);
        txtPrefixForwardFrom.setTypeface(ResourcesCompat.getFont(txtPrefixForwardFrom.getContext(), R.font.main_font));
        AppCompatTextView txtForwardFrom = forwardView.findViewById(R.id.cslr_txt_forward_from);
        txtForwardFrom.setTypeface(ResourcesCompat.getFont(txtPrefixForwardFrom.getContext(), R.font.main_font));
        /**
         * if forward message from chat or group , sender is user
         * but if message forwarded from channel sender is room
         */
        RealmRegisteredInfo info = DbManager.getInstance().doRealmTask(realm -> {
            return RealmRegisteredInfo.getRegistrationInfo(realm, messageObject.forwardedMessage.userId);
        });
        // TODO: 12/29/20 MESSAGE_REFACTOR
        if (info != null) {
            if (RealmRegisteredInfo.needUpdateUser(info.getId(), info.getCacheId())) {
                if (!updateForwardInfo.containsKey(info.getId())) {
                    updateForwardInfo.put(info.getId(), messageObject.id + "");
                }
            }
            txtForwardFrom.setText(EmojiManager.getInstance().replaceEmoji(info.getDisplayName(), txtForwardFrom.getPaint().getFontMetricsInt()));
            if (info.getUsername() != null)
                messageObject.username = info.getUsername();
            txtForwardFrom.setTextColor(theme.getForwardFromTextColor(txtForwardFrom.getContext()));
        } else if (messageObject.forwardedMessage.userId != 0) {
            if (RealmRegisteredInfo.needUpdateUser(messageObject.forwardedMessage.userId, null)) {
                if (!updateForwardInfo.containsKey(messageObject.forwardedMessage.userId)) {
                    updateForwardInfo.put(messageObject.forwardedMessage.userId, messageObject.id + "");
                }
            }
        } else {
            RealmRoom realmRoom = DbManager.getInstance().doRealmTask(realm -> {
                return realm.where(RealmRoom.class).equalTo("id", messageObject.forwardedMessage.roomId).findFirst();
            });
            if (realmRoom != null) {
                txtForwardFrom.setText(EmojiManager.getInstance().replaceEmoji(realmRoom.getTitle(), txtForwardFrom.getPaint().getFontMetricsInt()));
                txtForwardFrom.setTextColor(theme.getForwardFromTextColor(txtForwardFrom.getContext()));
                switch(realmRoom.getType()) {
                    case CHANNEL:
                        messageObject.username = realmRoom.getChannelRoom() != null ? realmRoom.getChannelRoom().getUsername() : "";
                        break;
                    case GROUP:
                        messageObject.username = realmRoom.getGroupRoom() != null ? realmRoom.getGroupRoom().getUsername() : "";
                        break;
                }
            } else {
                if (realmRoomForwardedFrom != null) {
                    switch(realmRoomForwardedFrom.getType()) {
                        case CHANNEL:
                            if (realmRoomForwardedFrom.getChannelRoom() != null && realmRoomForwardedFrom.getChannelRoom().getUsername() != null) {
                                messageObject.username = realmRoomForwardedFrom.getChannelRoom().getUsername();
                            } else {
                                messageObject.username = holder.itemView.getResources().getString(R.string.private_channel);
                            }
                            break;
                        case GROUP:
                            messageObject.username = realmRoomForwardedFrom.getGroupRoom().getUsername();
                            break;
                    }
                    if (RealmRoom.needUpdateRoomInfo(realmRoomForwardedFrom.getId())) {
                        if (!updateForwardInfo.containsKey(realmRoomForwardedFrom.getId())) {
                            updateForwardInfo.put(realmRoomForwardedFrom.getId(), messageObject.id + "");
                        }
                    }
                    txtForwardFrom.setText(EmojiManager.getInstance().replaceEmoji(realmRoomForwardedFrom.getTitle(), txtForwardFrom.getPaint().getFontMetricsInt()));
                    txtForwardFrom.setTextColor(theme.getForwardFromTextColor(txtForwardFrom.getContext()));
                } else {
                    if (RealmRoom.needUpdateRoomInfo(messageObject.forwardedMessage.roomId)) {
                        if (!updateForwardInfo.containsKey(messageObject.forwardedMessage.roomId)) {
                            updateForwardInfo.put(messageObject.forwardedMessage.roomId, messageObject.id + "");
                        }
                    }
                }
            }
        }
        // must call measure!
        txtPrefixForwardFrom.measure(0, 0);
        txtForwardFrom.measure(0, 0);
        int maxWith = txtPrefixForwardFrom.getMeasuredWidth() + txtForwardFrom.getMeasuredWidth() + i_Dp(R.dimen.dp32);
        if (minWith < maxWith) {
            minWith = maxWith;
        }
        mHolder.getContentBloke().setMinimumWidth(Math.min(minWith, G.maxChatBox));
        mHolder.getContentBloke().addView(forwardView, 0, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    }
}
Also used : NonNull(androidx.annotation.NonNull) FileLog(net.iGap.helper.FileLog) UploadObject(net.iGap.module.upload.UploadObject) ProtoFileDownload(net.iGap.proto.ProtoFileDownload) IMAGE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE_VALUE) FrameLayout(android.widget.FrameLayout) ImageView(android.widget.ImageView) ColorDrawable(android.graphics.drawable.ColorDrawable) Drawable(android.graphics.drawable.Drawable) VectorDrawableCompat(androidx.vectordrawable.graphics.drawable.VectorDrawableCompat) ReserveSpaceRoundedImageView(net.iGap.module.ReserveSpaceRoundedImageView) JSONException(org.json.JSONException) AdditionalType(net.iGap.module.additionalData.AdditionalType) HelperError(net.iGap.helper.HelperError) HelperFragment(net.iGap.helper.HelperFragment) Log(android.util.Log) ArrayMap(androidx.collection.ArrayMap) Realm(io.realm.Realm) HelperCalander(net.iGap.helper.HelperCalander) ChatSendMessageUtil(net.iGap.module.ChatSendMessageUtil) RealmRoom(net.iGap.realm.RealmRoom) Downloader(net.iGap.module.downloader.Downloader) Uploader(net.iGap.module.upload.Uploader) ViewMaker.i_Dp(net.iGap.adapter.items.chat.ViewMaker.i_Dp) Tuple(net.iGap.libs.Tuple) SHP_SETTING(net.iGap.module.SHP_SETTING) G.context(net.iGap.G.context) OnProgressUpdate(net.iGap.observers.interfaces.OnProgressUpdate) ReserveSpaceGifImageView(net.iGap.module.ReserveSpaceGifImageView) EventManager(net.iGap.observers.eventbus.EventManager) DownloadObject(net.iGap.module.downloader.DownloadObject) EmojiManager(net.iGap.libs.emojiKeyboard.emoji.EmojiManager) AttachmentObject(net.iGap.structs.AttachmentObject) HelperUrl(net.iGap.helper.HelperUrl) AbstractItem(com.mikepenz.fastadapter.items.AbstractItem) AccountManager(net.iGap.module.accountManager.AccountManager) ArrayList(java.util.ArrayList) OnMessageProgressClick(net.iGap.messageprogress.OnMessageProgressClick) ButtonActionType(net.iGap.module.additionalData.ButtonActionType) Toast(android.widget.Toast) LayoutCreator(net.iGap.helper.LayoutCreator) IMAGE_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE_TEXT_VALUE) HelperCheckInternetConnection(net.iGap.helper.HelperCheckInternetConnection) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) AUDIO(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO) SpannableString(android.text.SpannableString) MessageObject(net.iGap.structs.MessageObject) StyleSpan(android.text.style.StyleSpan) TextUtils(android.text.TextUtils) CallSuper(androidx.annotation.CallSuper) File(java.io.File) ContextThemeWrapper(androidx.appcompat.view.ContextThemeWrapper) CardToCardHelper(net.iGap.helper.CardToCardHelper) Gravity(android.view.Gravity) SharedPreferences(android.content.SharedPreferences) AUDIO_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO_VALUE) BetterLinkMovementMethod(me.saket.bettermovementmethod.BetterLinkMovementMethod) DbManager(net.iGap.module.accountManager.DbManager) FILE_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.FILE_TEXT_VALUE) LinearLayout(android.widget.LinearLayout) AppUtils(net.iGap.module.AppUtils) Spannable(android.text.Spannable) Theme(net.iGap.module.Theme) MessageProgress(net.iGap.messageprogress.MessageProgress) GIF_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.GIF_VALUE) G(net.iGap.G) LocalFileType(net.iGap.module.enums.LocalFileType) AndroidRuntimeException(android.util.AndroidRuntimeException) RealmUserInfo(net.iGap.realm.RealmUserInfo) JSONObject(org.json.JSONObject) AUDIO_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO_TEXT_VALUE) IMessageItem(net.iGap.observers.interfaces.IMessageItem) Gson(com.google.gson.Gson) Locale(java.util.Locale) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) VIDEO_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO_VALUE) MessagesAdapter(net.iGap.adapter.MessagesAdapter) FILE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.FILE_VALUE) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) OnProgress(net.iGap.messageprogress.OnProgress) ViewGroup(android.view.ViewGroup) GIF_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.GIF_TEXT_VALUE) List(java.util.List) TextView(android.widget.TextView) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) MusicPlayer(net.iGap.module.MusicPlayer) G.isLocationFromBot(net.iGap.G.isLocationFromBot) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) Typeface(android.graphics.Typeface) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) Context(android.content.Context) AndroidUtils(net.iGap.module.AndroidUtils) ResourcesCompat(androidx.core.content.res.ResourcesCompat) HelperGetMessageState(net.iGap.helper.HelperGetMessageState) MakeButtons(net.iGap.module.MakeButtons) HashMap(java.util.HashMap) Linkify(android.text.util.Linkify) TimeUtils(net.iGap.module.TimeUtils) AdditionalObject(net.iGap.structs.AdditionalObject) FragmentChat(net.iGap.fragments.FragmentChat) MODE_PRIVATE(android.content.Context.MODE_PRIVATE) RealmRoomMessage(net.iGap.realm.RealmRoomMessage) RealmAdditional(net.iGap.realm.RealmAdditional) HelperDownloadFile(net.iGap.helper.HelperDownloadFile) CardToCardValue(net.iGap.model.CardToCardValue) VOICE(net.iGap.proto.ProtoGlobal.RoomMessageType.VOICE) AUDIO_TEXT(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO_TEXT) DialogAction(com.afollestad.materialdialogs.DialogAction) FragmentPaymentBill(net.iGap.fragments.FragmentPaymentBill) RequestManager(net.iGap.network.RequestManager) Color(android.graphics.Color) CountDownTimer(android.os.CountDownTimer) ButtonEntity(net.iGap.module.additionalData.ButtonEntity) ProtoGlobal(net.iGap.proto.ProtoGlobal) VIDEO_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO_TEXT_VALUE) VOICE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VOICE_VALUE) R(net.iGap.R) JSONArray(org.json.JSONArray) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) RealmRoom(net.iGap.realm.RealmRoom) ImageView(android.widget.ImageView) ReserveSpaceRoundedImageView(net.iGap.module.ReserveSpaceRoundedImageView) ReserveSpaceGifImageView(net.iGap.module.ReserveSpaceGifImageView) View(android.view.View) RecyclerView(androidx.recyclerview.widget.RecyclerView) TextView(android.widget.TextView) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) LinearLayout(android.widget.LinearLayout) CallSuper(androidx.annotation.CallSuper)

Example 2 with RealmRegisteredInfo

use of net.iGap.realm.RealmRegisteredInfo in project iGap-Android by KianIranian-STDG.

the class RoomListCell method getLastMessage.

private void getLastMessage(RealmRoom room, AppCompatTextView lastMessageTv) {
    SpannableStringBuilder builder = new SpannableStringBuilder();
    if (room.getActionState() != null && room.getActionStateUserId() != AccountManager.getInstance().getCurrentUser().getId()) {
        SpannableString typingSpannableString = new SpannableString(room.getActionState());
        typingSpannableString.setSpan(new ForegroundColorSpan(Theme.getInstance().getAccentColor(lastMessageTv.getContext())), 0, room.getActionState().length(), 0);
        builder.append(typingSpannableString);
    } else if (room.getDraft() != null && !TextUtils.isEmpty(room.getDraft().getMessage())) {
        String draft = getResources().getString(R.string.txt_draft) + " ";
        SpannableString redSpannable = new SpannableString(draft);
        redSpannable.setSpan(new ForegroundColorSpan(ContextCompat.getColor(lastMessageTv.getContext(), R.color.red)), 0, draft.length(), 0);
        String draftMessage = room.getDraft().getMessage();
        SpannableString message = new SpannableString(draftMessage);
        message.setSpan(new ForegroundColorSpan(Theme.getInstance().getSendMessageTextColor(lastMessageTv.getContext())), 0, message.length(), 0);
        builder.append(redSpannable);
        builder.append(message);
    } else {
        boolean haveAttachment = false;
        boolean haveSenderName = false;
        boolean nameIsPersian = false;
        RealmRoomMessage lastMessage;
        if (room.getLastMessage() != null) {
            if (room.getLastMessage().getForwardMessage() != null) {
                lastMessage = room.getLastMessage().getForwardMessage();
            } else {
                lastMessage = room.getLastMessage();
            }
            if (lastMessage.isDeleted()) {
                String deletedMessage = getResources().getString(R.string.deleted_message);
                SpannableString deletedSpannable = new SpannableString(deletedMessage);
                deletedSpannable.setSpan(new ForegroundColorSpan(Theme.getInstance().getSendMessageTextColor(lastMessageTv.getContext())), 0, deletedMessage.length(), 0);
                builder.append(deletedSpannable);
                lastMessageTv.setText(builder, TextView.BufferType.SPANNABLE);
                return;
            }
            if (lastMessage.getMessage() != null) {
                String attachmentTag = null;
                String senderNameTag = null;
                SpannableString attachmentSpannable = null;
                SpannableString senderNameSpannable = null;
                SpannableString lastMessageSpannable;
                SpannableString senderNameQuoteSpannable = null;
                if (room.getType() == GROUP && lastMessage.getMessageType() != ProtoGlobal.RoomMessageType.LOG) {
                    if (lastMessage.isAuthorMe() && room.getLastMessage().getForwardMessage() == null) {
                        senderNameTag = getResources().getString(R.string.txt_you);
                        senderNameSpannable = new SpannableString(senderNameTag);
                    } else {
                        if (room.getLastMessage().isAuthorMe()) {
                            senderNameTag = getResources().getString(R.string.txt_you);
                            senderNameSpannable = new SpannableString(senderNameTag);
                        } else {
                            try {
                                RealmRegisteredInfo realmRegisteredInfo;
                                if (room.getLastMessage().getForwardMessage() != null)
                                    realmRegisteredInfo = RealmRegisteredInfo.getRegistrationInfo(room.getRealm(), room.getLastMessage().getUserId());
                                else
                                    realmRegisteredInfo = RealmRegisteredInfo.getRegistrationInfo(room.getRealm(), lastMessage.getUserId());
                                if (realmRegisteredInfo != null && realmRegisteredInfo.getDisplayName() != null) {
                                    senderNameTag = realmRegisteredInfo.getDisplayName();
                                    senderNameSpannable = new SpannableString(senderNameTag);
                                    nameIsPersian = Character.getDirectionality(realmRegisteredInfo.getDisplayName().charAt(0)) == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
                                }
                            } catch (Exception e) {
                                Log.e(getClass().getName(), "room list last message: ", e);
                            }
                        }
                    }
                    if (senderNameSpannable != null) {
                        haveSenderName = true;
                        senderNameSpannable.setSpan(new ForegroundColorSpan(Theme.getInstance().getAccentColor(lastMessageTv.getContext())), 0, senderNameTag.length(), 0);
                    }
                }
                switch(lastMessage.getMessageType()) {
                    case IMAGE_TEXT:
                        attachmentTag = AppUtils.getEmojiByUnicode(IMAGE);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case GIF_TEXT:
                        attachmentTag = AppUtils.getEmojiByUnicode(GIF);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case FILE_TEXT:
                        attachmentTag = AppUtils.getEmojiByUnicode(FILE);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case VIDEO_TEXT:
                        attachmentTag = AppUtils.getEmojiByUnicode(VIDEO);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case AUDIO_TEXT:
                        attachmentTag = AppUtils.getEmojiByUnicode(MUSIC);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case GIF:
                        attachmentTag = getResources().getString(R.string.gif_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case VOICE:
                        attachmentTag = getResources().getString(R.string.voice_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case LOG:
                        attachmentTag = HelperLogMessage.deserializeLog(lastMessageTv.getContext(), lastMessage.getLogs(), false).toString();
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case AUDIO:
                        attachmentTag = (lastMessage.getAttachment().getName() == null) ? AppUtils.getEmojiByUnicode(MUSIC) + " AUDIO " : AppUtils.getEmojiByUnicode(MUSIC) + lastMessage.getAttachment().getName();
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case FILE:
                        attachmentTag = getResources().getString(R.string.file_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case IMAGE:
                        attachmentTag = getResources().getString(R.string.image_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case VIDEO:
                        attachmentTag = getResources().getString(R.string.video_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case WALLET:
                        builder.append(AppUtils.getEmojiByUnicode(WALLET));
                        if (lastMessage.getRoomMessageWallet() != null) {
                            String type = lastMessage.getRoomMessageWallet().getType();
                            if (type.equals(CARD_TO_CARD.toString())) {
                                attachmentTag = getResources().getString(R.string.card_to_card_message);
                            } else if (type.equals(TOPUP.toString())) {
                                attachmentTag = getResources().getString(R.string.topUp_message);
                            } else if (type.equals(BILL.toString())) {
                                attachmentTag = getResources().getString(R.string.bill_message);
                            } else if (type.equals(PAYMENT.toString())) {
                                attachmentTag = getResources().getString(R.string.payment_message);
                            } else if (type.equals(MONEY_TRANSFER.toString())) {
                                attachmentTag = getResources().getString(R.string.wallet_message);
                            } else {
                                attachmentTag = getResources().getString(R.string.unknown_message);
                            }
                        } else
                            attachmentTag = getResources().getString(R.string.wallet_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case CONTACT:
                        attachmentTag = getResources().getString(R.string.contact_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case STICKER:
                        attachmentTag = getResources().getString(R.string.sticker_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                    case LOCATION:
                        attachmentTag = getResources().getString(R.string.location_message);
                        attachmentSpannable = new SpannableString(attachmentTag);
                        break;
                }
                if (attachmentSpannable != null) {
                    haveAttachment = true;
                    attachmentSpannable.setSpan(new ForegroundColorSpan(Theme.getInstance().getAccentColor(lastMessageTv.getContext())), 0, attachmentTag.length(), 0);
                }
                if (haveSenderName) {
                    senderNameQuoteSpannable = new SpannableString(haveAttachment ? ":" : nameIsPersian ? ": " : ": ");
                    senderNameQuoteSpannable.setSpan(new ForegroundColorSpan(Theme.getInstance().getAccentColor(lastMessageTv.getContext())), 0, senderNameQuoteSpannable.length(), 0);
                }
                String message;
                if (lastMessage.getMessage().length() > 70) {
                    message = lastMessage.getMessage().substring(0, 70) + "...";
                } else
                    message = lastMessage.getMessage();
                ArrayList<Tuple<Integer, Integer>> boldPlaces = AbstractMessage.getBoldPlaces(message);
                message = AbstractMessage.removeBoldMark(message, boldPlaces);
                // if (HelperCalander.isPersianUnicode)
                // message = HelperCalander.convertToUnicodeFarsiNumber(message);
                lastMessageSpannable = new SpannableString(/*subStringInternal(*/
                message);
                lastMessageSpannable.setSpan(new ForegroundColorSpan(Theme.getInstance().getSendMessageTextColor(lastMessageTv.getContext())), 0, lastMessageSpannable.length(), 0);
                if (haveSenderName) {
                    if (haveAttachment) {
                        builder.append(senderNameSpannable).append(senderNameQuoteSpannable).append(attachmentSpannable).append(" ").append(lastMessageSpannable);
                    } else
                        builder.append(senderNameSpannable).append(senderNameQuoteSpannable).append(lastMessageSpannable);
                } else {
                    if (haveAttachment) {
                        builder.append(attachmentSpannable).append(lastMessageSpannable);
                    } else
                        builder.append(lastMessageSpannable);
                }
            }
        }
    }
    lastMessageTv.setText(EmojiManager.getInstance().replaceEmoji(builder, lastMessageTv.getPaint().getFontMetricsInt(), -1, false), TextView.BufferType.SPANNABLE);
}
Also used : SpannableString(android.text.SpannableString) ForegroundColorSpan(android.text.style.ForegroundColorSpan) ArrayList(java.util.ArrayList) SpannableString(android.text.SpannableString) RealmRoomMessage(net.iGap.realm.RealmRoomMessage) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) SpannableStringBuilder(android.text.SpannableStringBuilder)

Example 3 with RealmRegisteredInfo

use of net.iGap.realm.RealmRegisteredInfo in project iGap-Android by KianIranian-STDG.

the class VoiceItem method bindView.

@Override
public void bindView(final ViewHolder holder, List payloads) {
    holder.waveView.setTag(messageObject.id);
    holder.mMessageID = messageObject.id + "";
    holder.mDocumentID = messageObject.documentId + "";
    holder.complete = (result, messageOne, MessageTow) -> {
        if (holder.waveView.getTag().equals(messageObject.id) && (messageObject.id + "").equals(MusicPlayer.messageId)) {
            switch(messageOne) {
                case PLAY:
                    holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_play));
                    break;
                case PAUSE:
                    holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_pause));
                    break;
                case UPDATE:
                    G.handler.post(() -> {
                        if (HelperCalander.convertToUnicodeEnglishNumber(MessageTow).equals(holder.mTimeMusic)) {
                            holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_play));
                            holder.waveView.setProgress(0);
                        }
                        if (result) {
                            holder.waveView.setProgress(MusicPlayer.musicProgress);
                            if ((messageObject.id + "").equals(MusicPlayer.messageId)) {
                                holder.txt_Timer.setText(MessageTow + holder.getContext().getString(R.string.forward_slash) + holder.mTimeMusic);
                                if (HelperCalander.isPersianUnicode) {
                                    holder.txt_Timer.setText(HelperCalander.convertToUnicodeFarsiNumber(holder.txt_Timer.getText().toString()));
                                }
                                holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_pause));
                            }
                        } else {
                            holder.btnPlayMusic.post(() -> {
                                holder.txt_Timer.setText(MessageTow + holder.getContext().getString(R.string.forward_slash) + holder.mTimeMusic);
                                if (HelperCalander.isPersianUnicode) {
                                    holder.txt_Timer.setText(HelperCalander.convertToUnicodeFarsiNumber(holder.txt_Timer.getText().toString()));
                                }
                                holder.waveView.setProgress(0);
                            });
                        }
                    });
            }
        }
    };
    holder.rootView.setOnLongClickListener(getLongClickPerform(holder));
    holder.rootView.setOnClickListener(v -> {
        if (FragmentChat.isInSelectionMode) {
            holder.itemView.performLongClick();
        }
    });
    holder.btnPlayMusic.setOnClickListener(v -> {
        if (FragmentChat.isInSelectionMode) {
            holder.itemView.performLongClick();
            return;
        }
        if (holder.mFilePath.length() < 1)
            return;
        if (!messageObject.isSenderMe() && messageObject.status != MessageObject.STATUS_LISTENED) {
            if (holder.roomType.getNumber() != CHANNEL_VALUE) {
                messageClickListener.onVoiceListenedStatus(holder.roomType.getNumber(), holder.mRoomId, parseLong(holder.mMessageID), parseLong(holder.mDocumentID), LISTENED_VALUE);
            }
            RealmClientCondition.addOfflineListen(holder.mRoomId, parseLong(holder.mMessageID));
        }
        AndroidUtils.getAudioDuration(G.context, holder.mFilePath);
        int currentVoiceGoTO = (int) (AndroidUtils.getAudioDuration(G.context, holder.mFilePath) * holder.waveView.getProgress() / 100);
        MusicPlayer.currentDuration = currentVoiceGoTO;
        MusicPlayer.roomType = holder.roomType.getNumber();
        if (holder.mMessageID.equals(MusicPlayer.messageId)) {
            MusicPlayer.onCompleteChat = holder.complete;
            if (MusicPlayer.mp != null) {
                MusicPlayer.playAndPause();
            } else {
                MusicPlayer.startPlayer("", holder.mFilePath, FragmentChat.titleStatic, FragmentChat.mRoomIdStatic, true, holder.mMessageID);
                messageClickListener.onPlayMusic(holder.mMessageID);
            }
        } else {
            MusicPlayer.stopSound();
            MusicPlayer.onCompleteChat = holder.complete;
            MusicPlayer.startPlayer("", holder.mFilePath, FragmentChat.titleStatic, FragmentChat.mRoomIdStatic, true, holder.mMessageID);
            messageClickListener.onPlayMusic(holder.mMessageID);
            holder.mTimeMusic = MusicPlayer.musicTime;
        }
        MusicPlayer.messageId = messageObject.id + "";
    });
    holder.waveView.setOnTouchListener((v, event) -> {
        if (event.getAction() == MotionEvent.ACTION_UP) {
            if (FragmentChat.isInSelectionMode) {
                holder.itemView.performLongClick();
                return true;
            }
            if (holder.mMessageID.equals(MusicPlayer.messageId)) {
                MusicPlayer.setMusicProgress((int) holder.waveView.getProgress());
            }
        }
        if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
            int currentVoiceGoTO = (int) (AndroidUtils.getAudioDuration(G.context, holder.mFilePath) * holder.waveView.getProgress() / 100);
            String finalElapsedTime = exractTimingInString(currentVoiceGoTO);
            String totalSizeInString = exractTimingInString((int) AndroidUtils.getAudioDuration(G.context, holder.mFilePath));
            holder.txt_Timer.setText(finalElapsedTime + holder.getContext().getString(R.string.forward_slash) + totalSizeInString);
            if (HelperCalander.isPersianUnicode) {
                holder.txt_Timer.setText(HelperCalander.convertToUnicodeFarsiNumber(holder.txt_Timer.getText().toString()));
            }
        }
        return false;
    });
    super.bindView(holder, payloads);
    int messageType = messageObject.isForwarded() ? messageObject.forwardedMessage.messageType : messageObject.messageType;
    holder.roomType = type;
    AppUtils.rightFileThumbnailIcon(holder.thumbnail, messageObject.messageType, null);
    holder.mRoomId = messageObject.roomId;
    RealmRegisteredInfo registeredInfo = DbManager.getInstance().doRealmTask(realm -> {
        return RealmRegisteredInfo.getRegistrationInfo(realm, messageObject.isForwarded() ? messageObject.forwardedMessage.userId : messageObject.userId);
    });
    if (registeredInfo != null) {
        holder.author.setText(G.context.getString(R.string.recorded_by) + " " + registeredInfo.getDisplayName());
    } else {
        holder.author.setText("");
    }
    long _st = 0;
    if (messageObject.isForwarded() && messageObject.forwardedMessage.attachment != null) {
        _st = (int) (messageObject.forwardedMessage.attachment.duration * 1000);
        holder.txt_Timer.setText("00:00/" + MusicPlayer.milliSecondsToTimer(_st));
    }
    if (!messageObject.isForwarded() && attachment != null) {
        _st = (int) (attachment.duration * 1000);
        holder.txt_Timer.setText("00:00/" + MusicPlayer.milliSecondsToTimer(_st));
    }
    if (holder.waveView.getTag().equals(messageObject.id) && MusicPlayer.messageId.equals(messageObject.id + "")) {
        MusicPlayer.onCompleteChat = holder.complete;
        holder.waveView.setProgress(MusicPlayer.musicProgress);
        if (MusicPlayer.musicProgress > 0) {
            holder.txt_Timer.setText(MusicPlayer.strTimer + holder.getContext().getString(R.string.forward_slash) + MusicPlayer.musicTime);
        }
        holder.mTimeMusic = MusicPlayer.musicTime;
        if (MusicPlayer.mp != null) {
            if (MusicPlayer.mp.isPlaying()) {
                holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_pause));
            } else {
                holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_play));
            }
        }
    } else {
        holder.waveView.setProgress(0);
        holder.btnPlayMusic.setText(holder.getResources().getString(R.string.icon_play));
    }
    if (HelperCalander.isPersianUnicode)
        holder.txt_Timer.setText(HelperCalander.convertToUnicodeFarsiNumber(holder.txt_Timer.getText().toString()));
}
Also used : RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo)

Example 4 with RealmRegisteredInfo

use of net.iGap.realm.RealmRegisteredInfo in project iGap-Android by KianIranian-STDG.

the class ChargeFragment method initForm.

private void initForm() {
    // init number from dataBase
    DbManager.getInstance().doRealmTask(realm -> {
        RealmRegisteredInfo userInfo = realm.where(RealmRegisteredInfo.class).findFirst();
        if (userInfo != null && editTextNumber.getText() != null) {
            userNumber = userInfo.getPhoneNumber();
            if (phoneNumber != null && !phoneNumber.isEmpty() && !phoneNumber.equals("0")) {
                setPhoneNumberEditText(phoneNumber);
                if (peerId != 0) {
                    avatarHandler.getAvatar(new ParamWithAvatarType(imageViewAvatar, peerId).avatarType(AvatarHandler.AvatarType.ROOM).showMain());
                }
            } else if (phoneNumber != null && phoneNumber.equals("0")) {
                imageViewAvatar.setVisibility(View.GONE);
                editTextNumber.setHint(getResources().getString(R.string.please_enter_phone_number));
                iconRemove.setText(R.string.icon_edit);
            } else {
                imageViewAvatar.setVisibility(View.GONE);
                setPhoneNumberEditText(userNumber);
            }
        }
    });
    // init RecyclerViewOperator
    recyclerViewOperator.setLayoutManager(new GridLayoutManager(context, 3, RecyclerView.VERTICAL, false));
    adapterOperator = new OperatorAdapter(getContext(), operators, operatorName -> {
        if (currentConfigData != null) {
            for (ConfigData configData : config.getData()) {
                if (configData.getOperator().getKey().equals(operatorName)) {
                    currentConfigData = configData;
                    changeOperator(currentConfigData.getOperator());
                    break;
                }
            }
        } else {
            adapterOperator.setCheckedRadioButton(null);
            HelperError.showSnackMessage(getResources().getString(R.string.please_enter_phone_number), false);
        }
    });
    recyclerViewOperator.setAdapter(adapterOperator);
    detectOperatorByNumber(editTextNumber.getText().toString());
    editTextNumber.addTextChangedListener(editTextNumberWatcher());
    iconRemove.setOnClickListener(removeNumberClicked());
    historyButton.setOnClickListener(historyButtonClicked());
    contactButton.setOnClickListener(contactButtonClicked());
    buttonAmount.setOnClickListener(v -> {
        choosePriceButtonClicked();
    });
    amountPlusButton.setOnClickListener(v -> {
        if (currentAmount != null) {
            isHistorySelected(false);
            currentAmount = new Amount(currentAmount, true);
            buttonAmount.setText(currentAmount.getTextAmount());
        } else {
            HelperError.showSnackMessage(getResources().getString(R.string.please_enter_desired_amount), false);
        }
    });
    amountMinesButton.setOnClickListener(v -> {
        if (currentAmount != null) {
            if (currentAmount.getAmount() > 10000) {
                isHistorySelected(false);
                currentAmount = new Amount(currentAmount, false);
                buttonAmount.setText(currentAmount.getTextAmount());
            } else {
                HelperError.showSnackMessage(getResources().getString(R.string.minimizeAmount), false);
            }
        } else {
            HelperError.showSnackMessage(getResources().getString(R.string.please_enter_desired_amount), false);
        }
    });
    buttonChargeType.setOnClickListener(v -> {
        chooseChargeTypeClicked();
    });
    buttonEnter.setOnClickListener(v -> onSaveBtnClicked());
    scrollView.setVisibility(View.VISIBLE);
    progressBar.setVisibility(View.GONE);
}
Also used : JsonObject(com.google.gson.JsonObject) Bundle(android.os.Bundle) NonNull(androidx.annotation.NonNull) AppCompatImageView(androidx.appcompat.widget.AppCompatImageView) FrameLayout(android.widget.FrameLayout) ConfigData(net.iGap.model.paymentPackage.ConfigData) Theme(net.iGap.module.Theme) AndroidSchedulers(io.reactivex.android.schedulers.AndroidSchedulers) G(net.iGap.G) MciPurchaseResponse(net.iGap.model.paymentPackage.MciPurchaseResponse) AdapterChargeType(net.iGap.adapter.payment.AdapterChargeType) HelperPermission(net.iGap.helper.HelperPermission) HelperPermission.showDeniedPermissionMessage(net.iGap.helper.HelperPermission.showDeniedPermissionMessage) View(android.view.View) ChargeContactNumberAdapter(net.iGap.adapter.payment.ChargeContactNumberAdapter) HelperError(net.iGap.helper.HelperError) Schedulers(io.reactivex.schedulers.Schedulers) RecyclerView(androidx.recyclerview.widget.RecyclerView) HelperFragment(net.iGap.helper.HelperFragment) ResponseBody(okhttp3.ResponseBody) AdapterChargeAmount(net.iGap.adapter.payment.AdapterChargeAmount) IGSingleObserver(net.iGap.observers.rx.IGSingleObserver) OperatorAdapter(net.iGap.adapter.OperatorAdapter) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) FaceValue(net.iGap.model.paymentPackage.FaceValue) AppCompatEditText(androidx.appcompat.widget.AppCompatEditText) BaseFragment(net.iGap.fragments.BaseFragment) ViewGroup(android.view.ViewGroup) Objects(java.util.Objects) PaymentRepository(net.iGap.repository.PaymentRepository) List(java.util.List) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) Nullable(androidx.annotation.Nullable) BackDrawable(net.iGap.messenger.ui.toolBar.BackDrawable) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) Call(retrofit2.Call) TextWatcher(android.text.TextWatcher) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) AndroidUtils(net.iGap.module.AndroidUtils) GridLayoutManager(androidx.recyclerview.widget.GridLayoutManager) GravityEnum(com.afollestad.materialdialogs.GravityEnum) Response(retrofit2.Response) Editable(android.text.Editable) ArrayList(java.util.ArrayList) MaterialButton(com.google.android.material.button.MaterialButton) LayoutCreator(net.iGap.helper.LayoutCreator) TokenContainer(net.iGap.api.apiService.TokenContainer) Toolbar(net.iGap.messenger.ui.toolBar.Toolbar) Config(net.iGap.model.paymentPackage.Config) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) ContactNumber(net.iGap.adapter.payment.ContactNumber) LayoutInflater(android.view.LayoutInflater) Amount(net.iGap.adapter.payment.Amount) Operator(net.iGap.model.paymentPackage.Operator) DialogAction(com.afollestad.materialdialogs.DialogAction) IOException(java.io.IOException) ChargeHistoryNumberAdapter(net.iGap.adapter.payment.ChargeHistoryNumberAdapter) TopupChargeType(net.iGap.model.paymentPackage.TopupChargeType) CircleImageView(net.iGap.module.CircleImageView) PhoneContactProvider(net.iGap.controllers.PhoneContactProvider) Gravity(android.view.Gravity) GetFavoriteNumber(net.iGap.model.paymentPackage.GetFavoriteNumber) ChargeApi(net.iGap.api.ChargeApi) RetrofitFactory(net.iGap.api.apiService.RetrofitFactory) Callback(retrofit2.Callback) ScrollView(android.widget.ScrollView) R(net.iGap.R) DbManager(net.iGap.module.accountManager.DbManager) EditText(android.widget.EditText) GridLayoutManager(androidx.recyclerview.widget.GridLayoutManager) ConfigData(net.iGap.model.paymentPackage.ConfigData) AdapterChargeAmount(net.iGap.adapter.payment.AdapterChargeAmount) Amount(net.iGap.adapter.payment.Amount) OperatorAdapter(net.iGap.adapter.OperatorAdapter) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo)

Example 5 with RealmRegisteredInfo

use of net.iGap.realm.RealmRegisteredInfo in project iGap-Android by KianIranian-STDG.

the class InternetFragment method initForm.

private void initForm() {
    DbManager.getInstance().doRealmTask(realm -> {
        RealmRegisteredInfo userInfo = realm.where(RealmRegisteredInfo.class).findFirst();
        if (userInfo != null) {
            userNumber = userInfo.getPhoneNumber();
            if (phoneNumber != null && !phoneNumber.isEmpty() && !phoneNumber.equals("0")) {
                setPhoneNumberEditText(phoneNumber);
                if (peerId != 0) {
                    avatarHandler.getAvatar(new ParamWithAvatarType(avatar, peerId).avatarType(AvatarHandler.AvatarType.ROOM).showMain());
                }
            }
            if (phoneNumber != null && phoneNumber.equals("0")) {
                avatar.setVisibility(View.GONE);
                editTextNumber.setHint(getActivity().getString(R.string.please_enter_phone_number));
                removeButton.setText(R.string.icon_edit);
            } else {
                avatar.setVisibility(View.GONE);
                setPhoneNumberEditText(userNumber);
            }
            if (editTextNumber.getText() != null && editTextNumber.getText().length() == 11) {
                hideKeyboard();
            }
            editTextNumber.setSelection(editTextNumber.getText() == null ? 0 : editTextNumber.getText().length());
        }
    });
    operatorAdapter = new OperatorAdapter(getContext(), operators, operatorName -> {
        if (currentConfigData != null) {
            changeOperator(currentConfigData.getOperator());
        } else {
            operatorAdapter.setCheckedRadioButton(null);
            HelperError.showSnackMessage(getActivity().getString(R.string.please_enter_phone_number), false);
        }
    });
    lstOperator.setAdapter(operatorAdapter);
    detectOperatorByNumber(editTextNumber.getText().toString());
    chargeApi = new RetrofitFactory().getChargeRetrofit();
    editTextNumber.addTextChangedListener(editTextNumberWatcher());
    removeButton.setOnClickListener(removeNumberClicked());
    frameContact.setOnClickListener(v -> onContactNumberButtonClick());
    frameHistory.setOnClickListener(v -> onHistoryNumberButtonClick());
    radioGroup.setOnCheckedChangeListener((group, checkedId) -> InternetFragment.this.changeSimType());
    goNextButton.setOnClickListener(v -> {
        RadioButton radioButton = radioGroup.findViewById(radioGroup.getCheckedRadioButtonId());
        if (radioButton != null) {
            if (currentSimType == null) {
                showError(getActivity().getString(R.string.invalid_sim_type));
                return;
            }
            if (editTextNumber.getText() == null) {
                editTextNumber.setError(getString(R.string.phone_number_is_not_valid));
                return;
            }
            String rechargeableNumber = editTextNumber.getText().toString().trim();
            if (!isNumeric(rechargeableNumber) || rechargeableNumber.length() < 11) {
                editTextNumber.setError(getString(R.string.phone_number_is_not_valid));
                return;
            }
            if (!isNumberFromIran(rechargeableNumber)) {
                editTextNumber.setError(getString(R.string.phone_number_is_not_valid));
                return;
            }
            int packageType = historyNumber != null ? Integer.parseInt(historyNumber.getPackageType()) : -1;
            new HelperFragment(getActivity().getSupportFragmentManager(), PaymentInternetFragment.newInstance(userNumber, rechargeableNumber, currentOperator.getKey(), currentSimType, packageType)).setAnimated(false).setReplace(false).load();
        } else {
            showError(getActivity().getString(R.string.sim_type_not_choosed));
        }
    });
    progressBar.setVisibility(View.GONE);
    scrollView.setVisibility(View.VISIBLE);
}
Also used : Bundle(android.os.Bundle) NonNull(androidx.annotation.NonNull) HandShakeCallback(net.iGap.observers.interfaces.HandShakeCallback) FrameLayout(android.widget.FrameLayout) RadioButton(android.widget.RadioButton) FavoriteNumber(net.iGap.model.paymentPackage.FavoriteNumber) ConfigData(net.iGap.model.paymentPackage.ConfigData) Theme(net.iGap.module.Theme) G(net.iGap.G) HelperPermission(net.iGap.helper.HelperPermission) HelperPermission.showDeniedPermissionMessage(net.iGap.helper.HelperPermission.showDeniedPermissionMessage) View(android.view.View) ChargeContactNumberAdapter(net.iGap.adapter.payment.ChargeContactNumberAdapter) HelperError(net.iGap.helper.HelperError) RecyclerView(androidx.recyclerview.widget.RecyclerView) HelperFragment(net.iGap.helper.HelperFragment) OperatorAdapter(net.iGap.adapter.OperatorAdapter) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) HelperString.isNumeric(net.iGap.helper.HelperString.isNumeric) AppCompatEditText(androidx.appcompat.widget.AppCompatEditText) BaseFragment(net.iGap.fragments.BaseFragment) ViewGroup(android.view.ViewGroup) PaymentRepository(net.iGap.repository.PaymentRepository) List(java.util.List) Nullable(androidx.annotation.Nullable) BackDrawable(net.iGap.messenger.ui.toolBar.BackDrawable) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission) InternetHistoryPackageAdapter(net.iGap.adapter.payment.InternetHistoryPackageAdapter) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) PackageChargeType(net.iGap.model.paymentPackage.PackageChargeType) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) NotNull(org.jetbrains.annotations.NotNull) Call(retrofit2.Call) TextWatcher(android.text.TextWatcher) AndroidUtils(net.iGap.module.AndroidUtils) ResourcesCompat(androidx.core.content.res.ResourcesCompat) GridLayoutManager(androidx.recyclerview.widget.GridLayoutManager) Response(retrofit2.Response) RadioGroup(android.widget.RadioGroup) Editable(android.text.Editable) ArrayList(java.util.ArrayList) MaterialButton(com.google.android.material.button.MaterialButton) LayoutCreator(net.iGap.helper.LayoutCreator) TokenContainer(net.iGap.api.apiService.TokenContainer) Toolbar(net.iGap.messenger.ui.toolBar.Toolbar) Config(net.iGap.model.paymentPackage.Config) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) ContactNumber(net.iGap.adapter.payment.ContactNumber) LayoutInflater(android.view.LayoutInflater) Operator(net.iGap.model.paymentPackage.Operator) MaterialDesignTextView(net.iGap.module.MaterialDesignTextView) IOException(java.io.IOException) CircleImageView(net.iGap.module.CircleImageView) PhoneContactProvider(net.iGap.controllers.PhoneContactProvider) Gravity(android.view.Gravity) GetFavoriteNumber(net.iGap.model.paymentPackage.GetFavoriteNumber) ChargeApi(net.iGap.api.ChargeApi) RetrofitFactory(net.iGap.api.apiService.RetrofitFactory) Callback(retrofit2.Callback) ScrollView(android.widget.ScrollView) R(net.iGap.R) DbManager(net.iGap.module.accountManager.DbManager) EditText(android.widget.EditText) OperatorAdapter(net.iGap.adapter.OperatorAdapter) RetrofitFactory(net.iGap.api.apiService.RetrofitFactory) RadioButton(android.widget.RadioButton) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) HelperFragment(net.iGap.helper.HelperFragment) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo)

Aggregations

RealmRegisteredInfo (net.iGap.realm.RealmRegisteredInfo)37 ArrayList (java.util.ArrayList)15 View (android.view.View)13 RealmRoom (net.iGap.realm.RealmRoom)12 List (java.util.List)11 TextView (android.widget.TextView)10 RecyclerView (androidx.recyclerview.widget.RecyclerView)10 G (net.iGap.G)10 R (net.iGap.R)10 DbManager (net.iGap.module.accountManager.DbManager)10 ProtoGlobal (net.iGap.proto.ProtoGlobal)10 ViewGroup (android.view.ViewGroup)9 AvatarHandler (net.iGap.helper.avatar.AvatarHandler)9 Bundle (android.os.Bundle)8 AppCompatTextView (androidx.appcompat.widget.AppCompatTextView)8 File (java.io.File)8 Log (android.util.Log)7 LayoutInflater (android.view.LayoutInflater)7 Nullable (androidx.annotation.Nullable)7 RequestUserInfo (net.iGap.request.RequestUserInfo)7