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));
}
}
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);
}
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()));
}
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);
}
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);
}
Aggregations