Search in sources :

Example 6 with AttachFile

use of net.iGap.module.AttachFile in project iGap-Android by KianIranian-STDG.

the class FragmentChatBackground method onViewCreated.

@Override
public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    viewModel.init();
    toolbar = HelperToolbar.create().setContext(getContext()).setLifecycleOwner(getViewLifecycleOwner()).setLeftIcon(R.string.icon_back).setRightIcons(R.string.icon_other_vertical_dots, R.string.icon_sent, R.string.icon_retry).setLogoShown(true).setDefaultTitle(getString(R.string.st_title_Background)).setListener(this);
    binding.fcbLayoutToolbar.addView(toolbar.getView());
    toolbar.getSecondRightButton().setVisibility(View.GONE);
    binding.rcvContent.setAdapter(new AdapterChatBackground(viewModel.getOnImageWallpaperListClick()));
    viewModel.getLoadSelectedImage().observe(getViewLifecycleOwner(), wallpaper -> {
        if (wallpaper != null) {
            binding.stchfFullImage.setBackground(null);
            binding.stchfFullImage.setImageDrawable(Drawable.createFromPath(new File(wallpaper.getImagePath()).getAbsolutePath()));
            if (wallpaper.isNew()) {
                toolbar.getSecondRightButton().setVisibility(View.VISIBLE);
                toolbar.getThirdRightButton().setVisibility(View.GONE);
            } else {
                toolbar.getSecondRightButton().setVisibility(View.GONE);
                toolbar.getThirdRightButton().setVisibility(View.VISIBLE);
            }
        }
    });
    viewModel.getShowAddImage().observe(getViewLifecycleOwner(), isShow -> {
        if (getActivity() != null && isShow != null && isShow) {
            new MaterialDialog.Builder(getActivity()).title(R.string.choose_picture).negativeText(R.string.cancel).items(R.array.profile).itemsCallback(new MaterialDialog.ListCallback() {

                @Override
                public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) {
                    AttachFile attachFile = new AttachFile(getActivity());
                    if (text.toString().equals(getString(R.string.from_camera))) {
                        try {
                            attachFile.requestTakePicture(FragmentChatBackground.this);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    } else {
                        try {
                            attachFile.requestOpenGalleryForImageSingleSelect(FragmentChatBackground.this);
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    dialog.dismiss();
                }
            }).show();
        }
    });
    viewModel.getLoadSelectedColor().observe(getViewLifecycleOwner(), colorValue -> {
        if (colorValue != null) {
            binding.stchfFullImage.setImageDrawable(null);
            binding.stchfFullImage.setBackgroundColor(colorValue.getColor());
            if (colorValue.isNew()) {
                toolbar.getSecondRightButton().setVisibility(View.VISIBLE);
                toolbar.getThirdRightButton().setVisibility(View.GONE);
            } else {
                toolbar.getSecondRightButton().setVisibility(View.GONE);
                toolbar.getThirdRightButton().setVisibility(View.VISIBLE);
            }
        }
    });
    viewModel.getMenuList().observe(getViewLifecycleOwner(), menuList -> {
        if (getContext() != null && menuList != null) {
            new TopSheetDialog(getContext()).setListDataWithResourceId(menuList, -1, position -> viewModel.onMenuItemClicked(position)).show();
        }
    });
    viewModel.getLoadChatBackgroundImage().observe(getViewLifecycleOwner(), isLoad -> {
        if (binding.rcvContent.getAdapter() instanceof AdapterChatBackground && isLoad != null) {
            ((AdapterChatBackground) binding.rcvContent.getAdapter()).wallpaperList(isLoad);
        }
    });
    viewModel.getLoadChatBackgroundSolidColor().observe(getViewLifecycleOwner(), isLoad -> {
        if (binding.rcvContent.getAdapter() instanceof AdapterChatBackground && isLoad != null) {
            ((AdapterChatBackground) binding.rcvContent.getAdapter()).setSolidColor(isLoad);
        }
    });
    viewModel.getGoBack().observe(getViewLifecycleOwner(), isGoBack -> {
        if (getActivity() instanceof ActivityMain && isGoBack != null) {
            if (isGoBack) {
                ((ActivityMain) getActivity()).chatBackgroundChanged();
            }
            getActivity().onBackPressed();
        }
    });
}
Also used : TopSheetDialog(net.iGap.module.dialog.topsheet.TopSheetDialog) ImageHelper(net.iGap.helper.ImageHelper) Context(android.content.Context) Bundle(android.os.Bundle) ToolbarListener(net.iGap.observers.interfaces.ToolbarListener) ActivityMain(net.iGap.activities.ActivityMain) NonNull(androidx.annotation.NonNull) ViewModel(androidx.lifecycle.ViewModel) Intent(android.content.Intent) AttachFile(net.iGap.module.AttachFile) Drawable(android.graphics.drawable.Drawable) ChatBackgroundViewModel(net.iGap.viewmodel.ChatBackgroundViewModel) View(android.view.View) ViewModelProviders(androidx.lifecycle.ViewModelProviders) HelperSaveFile.getPrivateDirectory(net.iGap.helper.HelperSaveFile.getPrivateDirectory) Build(android.os.Build) DataBindingUtil(androidx.databinding.DataBindingUtil) ActivityChatBackgroundBinding(net.iGap.databinding.ActivityChatBackgroundBinding) ViewModelProvider(androidx.lifecycle.ViewModelProvider) LayoutInflater(android.view.LayoutInflater) IOException(java.io.IOException) TopSheetDialog(net.iGap.module.dialog.topsheet.TopSheetDialog) ViewGroup(android.view.ViewGroup) File(java.io.File) Nullable(androidx.annotation.Nullable) AdapterChatBackground(net.iGap.adapter.AdapterChatBackground) SHP_SETTING(net.iGap.module.SHP_SETTING) R(net.iGap.R) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) NotNull(org.jetbrains.annotations.NotNull) Activity(android.app.Activity) HelperToolbar(net.iGap.helper.HelperToolbar) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ActivityMain(net.iGap.activities.ActivityMain) AttachFile(net.iGap.module.AttachFile) IOException(java.io.IOException) AttachFile(net.iGap.module.AttachFile) File(java.io.File) View(android.view.View) AdapterChatBackground(net.iGap.adapter.AdapterChatBackground)

Example 7 with AttachFile

use of net.iGap.module.AttachFile in project iGap-Android by KianIranian-STDG.

the class EditGroupFragment method onViewCreated.

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    viewModel.onCreateFragment(this);
    HelperToolbar mHelperToolbar = HelperToolbar.create().setContext(getContext()).setLifecycleOwner(getViewLifecycleOwner()).setLogoShown(true).setLeftIcon(R.string.icon_back).setRightIcons(R.string.icon_sent).setDefaultTitle(G.context.getResources().getString(R.string.tab_edit)).setListener(new ToolbarListener() {

        @Override
        public void onLeftIconClickListener(View view) {
            popBackStackFragment();
        }

        @Override
        public void onRightIconClickListener(View view) {
            viewModel.setData(binding.groupNameEditText.getEditableText().toString(), binding.groupDescriptionEditText.getEditableText().toString());
            hideKeyboard();
        }
    });
    binding.toolbar.addView(mHelperToolbar.getView());
    // mHelperToolbar.getTextViewLogo().setText(R.string.tab_edit);
    attachFile = new AttachFile(G.fragmentActivity);
    viewModel.goToMembersPage.observe(getViewLifecycleOwner(), b -> {
        if (b != null && b) {
            showListForCustomRole(ProtoGroupGetMemberList.GroupGetMemberList.FilterRole.ALL.toString());
        }
    });
    viewModel.goToAdministratorPage.observe(getViewLifecycleOwner(), b -> {
        if (b != null && b) {
            showListForCustomRole(ProtoGroupGetMemberList.GroupGetMemberList.FilterRole.ADMIN.toString());
        }
    });
    viewModel.goToPermissionPage.observe(getViewLifecycleOwner(), new Observer<Boolean>() {

        @Override
        public void onChanged(@Nullable Boolean b) {
        }
    });
    viewModel.goBack.observe(getViewLifecycleOwner(), aBoolean -> popBackStackFragment());
    viewModel.showSelectImageDialog.observe(getViewLifecycleOwner(), aBoolean -> {
        if (aBoolean != null && aBoolean) {
            startDialogSelectPicture();
        }
    });
    viewModel.closePageImediatly.observe(getViewLifecycleOwner(), isClose -> {
        if (isClose == null || !isClose)
            return;
        popBackStackFragment();
    });
    viewModel.showDialogChatHistory.observe(getViewLifecycleOwner(), aBoolean -> {
        if (getActivity() != null && aBoolean != null && aBoolean) {
            showDialog();
        }
    });
    viewModel.goToModeratorPage.observe(getViewLifecycleOwner(), aBoolean -> showListForCustomRole(ProtoGroupGetMemberList.GroupGetMemberList.FilterRole.MODERATOR.toString()));
    viewModel.initEmoji.observe(getViewLifecycleOwner(), aBoolean -> {
    // if (aBoolean != null) {
    // emojiPopup.toggle();
    // }
    });
    viewModel.showDialogLeaveGroup.observe(getViewLifecycleOwner(), aBoolean -> {
        if (aBoolean != null && aBoolean) {
            groupLeft();
        }
    });
    viewModel.goToRoomListPage.observe(getViewLifecycleOwner(), go -> {
        if (getActivity() instanceof ActivityMain && go != null && go) {
            ((ActivityMain) getActivity()).removeAllFragmentFromMain();
        }
    });
    viewModel.getOnGroupAvatarUpdated().observe(getViewLifecycleOwner(), roomId -> {
        if (roomId != null && roomId == viewModel.roomId) {
            setAvatar();
        }
    });
    // setUpEmojiPopup();
    setAvatar();
}
Also used : ToolbarListener(net.iGap.observers.interfaces.ToolbarListener) ActivityMain(net.iGap.activities.ActivityMain) AttachFile(net.iGap.module.AttachFile) HelperToolbar(net.iGap.helper.HelperToolbar) View(android.view.View)

Example 8 with AttachFile

use of net.iGap.module.AttachFile in project iGap-Android by KianIranian-STDG.

the class FragmentChat method startPageFastInitialize.

/**
 * set just important item to view in onCreate and load another objects in onResume
 * actions : set app color, load avatar, set background, set title, set status chat or member for group or channel
 */
private void startPageFastInitialize() {
    Bundle extras = getArguments();
    if (extras != null) {
        mRoomId = extras.getLong("RoomId");
        isGoingFromUserLink = extras.getBoolean("GoingFromUserLink");
        isNotJoin = extras.getBoolean("ISNotJoin");
        userName = extras.getString("UserName");
        messageId = extras.getLong("MessageId");
        documentId = extras.getLong("DocumentId");
        chatPeerId = extras.getLong("peerId");
    }
    attachFile = new AttachFile(G.fragmentActivity);
    RealmRoom realmRoom = getRoom();
    pageSettings();
    // avi = (AVLoadingIndicatorView)  rootView.findViewById(R.id.avi);
    verifiedIcon.setVisibility(View.GONE);
    /**
     * need this info for load avatar
     */
    if (realmRoom != null) {
        chatType = realmRoom.getType();
        if (chatType == CHAT) {
            chatPeerId = realmRoom.getChatRoom().getPeerId();
            RealmRegisteredInfo realmRegisteredInfo = DbManager.getInstance().doRealmTask(realm -> {
                return RealmRegisteredInfo.getRegistrationInfo(realm, chatPeerId);
            });
            if (realmRegisteredInfo != null) {
                title = realmRegisteredInfo.getDisplayName();
                lastSeen = realmRegisteredInfo.getLastSeen();
                userStatus = realmRegisteredInfo.getStatus();
                isBot = realmRegisteredInfo.isBot();
                if (isBot) {
                    if (getMessagesCount() == 0) {
                        layoutMute.setVisibility(View.VISIBLE);
                        txtChannelMute.setText(R.string.start);
                        iconChannelMute.setText("");
                        View layoutAttach = rootView.findViewById(R.id.layout_attach_file);
                        layoutAttach.setVisibility(View.GONE);
                        layoutMute.setOnClickListener(v -> {
                            if (!isChatReadOnly) {
                                edtChat.setText("/Start");
                                imvSendButton.performClick();
                                removeStartButton();
                            }
                        });
                        isShowStartButton = true;
                    }
                }
                if (realmRegisteredInfo.isVerified()) {
                    verifiedIcon.setVisibility(View.VISIBLE);
                }
            } else {
                /**
                 * when userStatus isn't EXACTLY lastSeen time not used so don't need
                 * this time and also this time not exist in room info
                 */
                title = realmRoom.getTitle();
                userStatus = G.fragmentActivity.getResources().getString(R.string.last_seen_recently);
            }
        } else {
            mRoomId = realmRoom.getId();
            title = realmRoom.getTitle();
            if (chatType == GROUP && realmRoom.getGroupRoom() != null) {
                groupParticipantsCountLabel = realmRoom.getGroupRoom().getParticipantsCountLabel();
                isPublicGroup = roomIsPublic = !realmRoom.getGroupRoom().isPrivate();
            } else if (chatType == CHANNEL && realmRoom.getChannelRoom() != null) {
                groupParticipantsCountLabel = realmRoom.getChannelRoom().getParticipantsCountLabel();
                showVoteChannel = realmRoom.getChannelRoom().isReactionStatus();
                if (realmRoom.getChannelRoom().isVerified()) {
                    verifiedIcon.setVisibility(View.VISIBLE);
                }
                roomIsPublic = !realmRoom.getChannelRoom().isPrivate();
            }
        }
        if (chatType == CHAT) {
            setUserStatus(userStatus, lastSeen);
        } else if ((chatType == GROUP) || (chatType == CHANNEL)) {
            if (groupParticipantsCountLabel != null) {
                if (HelperString.isNumeric(groupParticipantsCountLabel) && Integer.parseInt(groupParticipantsCountLabel) == 1) {
                    mToolbar.setSubTitle(groupParticipantsCountLabel + " " + G.fragmentActivity.getResources().getString(R.string.one_member_chat));
                } else {
                    mToolbar.setSubTitle(groupParticipantsCountLabel + " " + G.fragmentActivity.getResources().getString(R.string.member_chat));
                }
            // avi.setVisibility(View.GONE);
            }
        }
    } else if (chatPeerId != 0) {
        /**
         * when user start new chat this block will be called
         */
        chatType = CHAT;
        RealmRegisteredInfo realmRegisteredInfo = DbManager.getInstance().doRealmTask(realm -> {
            return RealmRegisteredInfo.getRegistrationInfo(realm, chatPeerId);
        });
        title = realmRegisteredInfo.getDisplayName();
        lastSeen = realmRegisteredInfo.getLastSeen();
        userStatus = realmRegisteredInfo.getStatus();
        setUserStatus(userStatus, lastSeen);
    }
    if (title != null) {
        mToolbar.setTitle(EmojiManager.getInstance().replaceEmoji(title, null));
    }
    /**
     * change english number to persian number
     */
    if (HelperCalander.isPersianUnicode) {
        mToolbar.setTitle(EmojiManager.getInstance().replaceEmoji(mToolbar.getTitleTextView().getText().toString(), mToolbar.getTitleTextView().getPaint().getFontMetricsInt()));
        mToolbar.setSubTitle(convertToUnicodeFarsiNumber(mToolbar.getSubTitleText()));
    }
    /**
     * hint: don't check isCloudRoom with (( RealmRoom.isCloudRoom(mRoomId, realm); ))
     * because in first time room not exist in RealmRoom and value is false always.
     * so just need to check this value with chatPeerId
     */
    if (chatPeerId == AccountManager.getInstance().getCurrentUser().getId()) {
        isCloudRoom = true;
    }
    viewAttachFile = rootView.findViewById(R.id.layout_attach_file);
    iconMute = mToolbar.getMuteIcon();
    if (realmRoom != null) {
        iconMute.setVisibility(realmRoom.getMute() ? View.VISIBLE : View.GONE);
        isMuteNotification = realmRoom.getMute();
        isChatReadOnly = realmRoom.getReadOnly();
    }
    // gone video , voice button call then if status was ok visible them
    // mHelperToolbar.getSecondRightButton().setVisibility(View.GONE);
    callItem.setVisibility(View.GONE);
    if (isChatReadOnly) {
        viewAttachFile.setVisibility(View.GONE);
        (rootView.findViewById(R.id.chl_recycler_view_chat)).setPadding(0, 0, 0, 0);
    } else if (chatType == CHAT && AccountManager.getInstance().getCurrentUser().getId() != chatPeerId && !isBot) {
        // gone or visible view call
        RealmCallConfig callConfig = DbManager.getInstance().doRealmTask(realm -> {
            return realm.where(RealmCallConfig.class).findFirst();
        });
        if (callConfig != null) {
            if (callConfig.isVoice_calling()) {
                // mHelperToolbar.getSecondRightButton().setVisibility(View.VISIBLE);
                callItem.setVisibility(View.VISIBLE);
            } else {
                callItem.setVisibility(View.VISIBLE);
            // mHelperToolbar.getSecondRightButton().setVisibility(View.GONE);
            }
        } else {
            new RequestSignalingGetConfiguration().signalingGetConfiguration();
        }
    }
    createMoreItems();
    manageExtraLayout();
}
Also used : ThumbnailUtils(android.media.ThumbnailUtils) Bundle(android.os.Bundle) HelperNotification(net.iGap.helper.HelperNotification) StructBottomSheetForward(net.iGap.module.structs.StructBottomSheetForward) ProgressBar(android.widget.ProgressBar) NonNull(androidx.annotation.NonNull) FileLog(net.iGap.helper.FileLog) UploadObject(net.iGap.module.upload.UploadObject) IMAGE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE_VALUE) ToolbarItem(net.iGap.messenger.ui.toolBar.ToolbarItem) AppCompatCheckBox(androidx.appcompat.widget.AppCompatCheckBox) NewChatItemHolder(net.iGap.adapter.items.chat.NewChatItemHolder) GroupChatRole(net.iGap.module.enums.GroupChatRole) HelperSetAction(net.iGap.helper.HelperSetAction) OnBotClick(net.iGap.observers.interfaces.OnBotClick) Handler(android.os.Handler) MediaStore(android.provider.MediaStore) Map(java.util.Map) OnChatSendMessageResponse(net.iGap.observers.interfaces.OnChatSendMessageResponse) ClipboardManager(android.content.ClipboardManager) CallActivity(net.iGap.activities.CallActivity) HelperError(net.iGap.helper.HelperError) DOWN(net.iGap.proto.ProtoClientGetRoomHistory.ClientGetRoomHistory.Direction.DOWN) GIF_TEXT(net.iGap.proto.ProtoGlobal.RoomMessageType.GIF_TEXT) RequestClientSubscribeToRoom(net.iGap.request.RequestClientSubscribeToRoom) ContextCompat(androidx.core.content.ContextCompat) HelperFragment(net.iGap.helper.HelperFragment) Log(android.util.Log) R.id.ac_ll_parent(net.iGap.R.id.ac_ll_parent) Realm(io.realm.Realm) HelperCalander(net.iGap.helper.HelperCalander) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) RealmObjectChangeListener(io.realm.RealmObjectChangeListener) RealmRoom(net.iGap.realm.RealmRoom) CHAT(net.iGap.proto.ProtoGlobal.Room.Type.CHAT) VIDEO(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO) CHANNEL(net.iGap.proto.ProtoGlobal.Room.Type.CHANNEL) SoundPool(android.media.SoundPool) CountDownLatch(java.util.concurrent.CountDownLatch) RequestChatUpdateDraft(net.iGap.request.RequestChatUpdateDraft) OnHelperSetAction(net.iGap.observers.interfaces.OnHelperSetAction) AttachFile.getFilePathFromUri(net.iGap.module.AttachFile.getFilePathFromUri) CLIPBOARD_SERVICE(android.content.Context.CLIPBOARD_SERVICE) RequestChatGetRoom(net.iGap.request.RequestChatGetRoom) RealmCallConfig(net.iGap.realm.RealmCallConfig) SuggestedStickerAdapter(net.iGap.fragments.emoji.SuggestedStickerAdapter) ActivityMain(net.iGap.activities.ActivityMain) BottomSheetBehavior(com.google.android.material.bottomsheet.BottomSheetBehavior) HelperUrl(net.iGap.helper.HelperUrl) AccountManager(net.iGap.module.accountManager.AccountManager) ChatAttachmentPopup(net.iGap.module.dialog.ChatAttachmentPopup) RealmContacts(net.iGap.realm.RealmContacts) ParamWithInitBitmap(net.iGap.helper.avatar.ParamWithInitBitmap) Calendar(java.util.Calendar) WebSettings(android.webkit.WebSettings) ItemTouchHelper(androidx.recyclerview.widget.ItemTouchHelper) Toast(android.widget.Toast) ImageLoadingServiceInjector(net.iGap.module.imageLoaderService.ImageLoadingServiceInjector) IMAGE_TEXT(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE_TEXT) AudioItem(net.iGap.adapter.items.chat.AudioItem) RealmRoomAccess(net.iGap.realm.RealmRoomAccess) MessageObject(net.iGap.structs.MessageObject) VideoWithTextItem(net.iGap.adapter.items.chat.VideoWithTextItem) G.twoPaneMode(net.iGap.G.twoPaneMode) AppCompatDelegate(androidx.appcompat.app.AppCompatDelegate) AttachFile.request_code_VIDEO_CAPTURED(net.iGap.module.AttachFile.request_code_VIDEO_CAPTURED) IOException(java.io.IOException) FragmentMediaContainer(net.iGap.messenger.ui.components.FragmentMediaContainer) IResendMessage(net.iGap.observers.interfaces.IResendMessage) EventEditText(net.iGap.module.customView.EventEditText) SharedPreferences(android.content.SharedPreferences) AUDIO_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO_VALUE) HelperMimeType(net.iGap.helper.HelperMimeType) RoomObject(net.iGap.helper.RoomObject) NotifyFrameLayout(net.iGap.libs.emojiKeyboard.NotifyFrameLayout) EditText(android.widget.EditText) FileListerDialog(net.iGap.module.FileListerDialog.FileListerDialog) RequestUserContactsBlock(net.iGap.request.RequestUserContactsBlock) ISendPosition(net.iGap.observers.interfaces.ISendPosition) BottomSheetDialog(com.google.android.material.bottomsheet.BottomSheetDialog) JsonObject(com.google.gson.JsonObject) LinearLayout(android.widget.LinearLayout) RequestClientUnsubscribeFromRoom(net.iGap.request.RequestClientUnsubscribeFromRoom) AppUtils(net.iGap.module.AppUtils) PackageManager(android.content.pm.PackageManager) WindowManager(android.view.WindowManager) StickerDialogFragment(net.iGap.fragments.emoji.add.StickerDialogFragment) Animator(android.animation.Animator) Theme(net.iGap.module.Theme) GIF_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.GIF_VALUE) G(net.iGap.G) StatusTextFragment(net.iGap.story.StatusTextFragment) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) RequestClientGetRoomHistory(net.iGap.request.RequestClientGetRoomHistory) IntentRequests(net.iGap.module.IntentRequests) RealmUserInfo(net.iGap.realm.RealmUserInfo) ACTION_STATE_SWIPE(androidx.recyclerview.widget.ItemTouchHelper.ACTION_STATE_SWIPE) ContentResolver(android.content.ContentResolver) UnreadMessage(net.iGap.adapter.items.chat.UnreadMessage) HelperPermission(net.iGap.helper.HelperPermission) IMessageItem(net.iGap.observers.interfaces.IMessageItem) Gson(com.google.gson.Gson) KeyboardView(net.iGap.libs.emojiKeyboard.KeyboardView) RecyclerView(androidx.recyclerview.widget.RecyclerView) RealmString(net.iGap.realm.RealmString) HelperImageBackColor(net.iGap.helper.HelperImageBackColor) VIDEO_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO_VALUE) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) UP(net.iGap.proto.ProtoClientGetRoomHistory.ClientGetRoomHistory.Direction.UP) ProgressWaiting(net.iGap.adapter.items.chat.ProgressWaiting) VIDEO_TEXT(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO_TEXT) MessageController(net.iGap.controllers.MessageController) Status(net.iGap.module.downloader.Status) ProtoChannelGetMessagesStats(net.iGap.proto.ProtoChannelGetMessagesStats) ItemBottomSheetForward(net.iGap.adapter.items.ItemBottomSheetForward) DisplayMetrics(android.util.DisplayMetrics) GIF_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.GIF_TEXT_VALUE) STORY_REPLY_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.STORY_REPLY_VALUE) OnClientGetRoomMessage(net.iGap.observers.interfaces.OnClientGetRoomMessage) Disposable(io.reactivex.disposables.Disposable) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) MusicPlayer(net.iGap.module.MusicPlayer) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission) StickerRepository(net.iGap.repository.StickerRepository) ActivityTrimVideo(net.iGap.activities.ActivityTrimVideo) LocationManager(android.location.LocationManager) EditorInfo(android.view.inputmethod.EditorInfo) IOnBackPressed(net.iGap.observers.interfaces.IOnBackPressed) RealmRoomMessageLocation(net.iGap.realm.RealmRoomMessageLocation) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) ActivityManager(android.app.ActivityManager) GridLayoutManager(androidx.recyclerview.widget.GridLayoutManager) CallManager(net.iGap.viewmodel.controllers.CallManager) HelperGetMessageState(net.iGap.helper.HelperGetMessageState) OnVoiceRecord(net.iGap.observers.interfaces.OnVoiceRecord) RealmList(io.realm.RealmList) RequestClientGetFavoriteMenu(net.iGap.request.RequestClientGetFavoriteMenu) RealmRoomMessage.makeUnreadMessage(net.iGap.realm.RealmRoomMessage.makeUnreadMessage) TimeUtils(net.iGap.module.TimeUtils) AudioManager(android.media.AudioManager) InputMethodManager(android.view.inputmethod.InputMethodManager) FragmentActivity(androidx.fragment.app.FragmentActivity) AnimationUtils(android.view.animation.AnimationUtils) HelperCalander.convertToUnicodeFarsiNumber(net.iGap.helper.HelperCalander.convertToUnicodeFarsiNumber) RequestUserContactsUnblock(net.iGap.request.RequestUserContactsUnblock) MODE_PRIVATE(android.content.Context.MODE_PRIVATE) Build(android.os.Build) RequestUserInfo(net.iGap.request.RequestUserInfo) EmojiView(net.iGap.libs.emojiKeyboard.EmojiView) RequestChannelUpdateDraft(net.iGap.request.RequestChannelUpdateDraft) RealmAdditional(net.iGap.realm.RealmAdditional) JsonSyntaxException(com.google.gson.JsonSyntaxException) LayoutInflater(android.view.LayoutInflater) BadgeView(net.iGap.adapter.items.chat.BadgeView) RealmResults(io.realm.RealmResults) DialogAction(com.afollestad.materialdialogs.DialogAction) MaterialDesignTextView(net.iGap.module.MaterialDesignTextView) IDispatchTochEvent(net.iGap.observers.interfaces.IDispatchTochEvent) Color(android.graphics.Color) CountDownTimer(android.os.CountDownTimer) FileItem(net.iGap.adapter.items.chat.FileItem) StructMessageOption(net.iGap.module.structs.StructMessageOption) Bitmap(android.graphics.Bitmap) HelperSaveFile(net.iGap.helper.HelperSaveFile) STICKER_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.STICKER_VALUE) ViewTreeObserver(android.view.ViewTreeObserver) VIDEO_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VIDEO_TEXT_VALUE) VOICE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.VOICE_VALUE) R(net.iGap.R) OnConnectionChangeStateChat(net.iGap.observers.interfaces.OnConnectionChangeStateChat) ProtoClientGetRoomHistory(net.iGap.proto.ProtoClientGetRoomHistory) StickerItem(net.iGap.adapter.items.chat.StickerItem) SHOW(net.iGap.module.enums.ProgressState.SHOW) Vibrator(android.os.Vibrator) Activity(android.app.Activity) FastItemAdapter(com.mikepenz.fastadapter.commons.adapters.FastItemAdapter) Arrays(java.util.Arrays) MyLinearLayoutManager(net.iGap.module.MyLinearLayoutManager) RequestClientJoinByUsername(net.iGap.request.RequestClientJoinByUsername) VoiceRecord(net.iGap.module.VoiceRecord) ProtoFileDownload(net.iGap.proto.ProtoFileDownload) Uri(android.net.Uri) FrameLayout(android.widget.FrameLayout) ImageView(android.widget.ImageView) LastSeenTimeUtil(net.iGap.module.LastSeenTimeUtil) Drawable(android.graphics.drawable.Drawable) Manifest(android.Manifest) ProtoClientRoomReport(net.iGap.proto.ProtoClientRoomReport) AdditionalType(net.iGap.module.additionalData.AdditionalType) HelperPermission.showDeniedPermissionMessage(net.iGap.helper.HelperPermission.showDeniedPermissionMessage) Looper(android.os.Looper) DialogAnimation(net.iGap.module.DialogAnimation) Fragment(androidx.fragment.app.Fragment) OnSetAction(net.iGap.observers.interfaces.OnSetAction) Canvas(android.graphics.Canvas) ProgressState(net.iGap.module.enums.ProgressState) RealmConstants(net.iGap.realm.RealmConstants) CardView(androidx.cardview.widget.CardView) OnDeleteChatFinishActivity(net.iGap.observers.interfaces.OnDeleteChatFinishActivity) HelperTracker(net.iGap.helper.HelperTracker) RequestGroupUpdateDraft(net.iGap.request.RequestGroupUpdateDraft) OnLastSeenUpdateTiming(net.iGap.observers.interfaces.OnLastSeenUpdateTiming) OnComplete(net.iGap.observers.interfaces.OnComplete) RealmRoomDraft(net.iGap.realm.RealmRoomDraft) WALLET_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.WALLET_VALUE) Set(java.util.Set) ChatSendMessageUtil(net.iGap.module.ChatSendMessageUtil) ChatMoreItem(net.iGap.model.ChatMoreItem) BotInit(net.iGap.module.BotInit) AnimatorListenerAdapter(android.animation.AnimatorListenerAdapter) RealmGroupRoom(net.iGap.realm.RealmGroupRoom) Uploader(net.iGap.module.upload.Uploader) StringRes(androidx.annotation.StringRes) JsonArray(com.google.gson.JsonArray) FontIconTextView(net.iGap.module.FontIconTextView) Nullable(androidx.annotation.Nullable) BackDrawable(net.iGap.messenger.ui.toolBar.BackDrawable) HIDE(net.iGap.module.enums.ProgressState.HIDE) Tuple(net.iGap.libs.Tuple) OnGroupAvatarResponse(net.iGap.observers.interfaces.OnGroupAvatarResponse) SHP_SETTING(net.iGap.module.SHP_SETTING) Sort(io.realm.Sort) MyWebViewClient(net.iGap.libs.MyWebViewClient) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) VoiceItem(net.iGap.adapter.items.chat.VoiceItem) InputFilter(android.text.InputFilter) EventManager(net.iGap.observers.eventbus.EventManager) DownloadObject(net.iGap.module.downloader.DownloadObject) TextWatcher(android.text.TextWatcher) OnMessageReceive(net.iGap.observers.interfaces.OnMessageReceive) EmojiManager(net.iGap.libs.emojiKeyboard.emoji.EmojiManager) Config(net.iGap.Config) AttachmentObject(net.iGap.structs.AttachmentObject) StoryViewFragment(net.iGap.story.viewPager.StoryViewFragment) AttachFile.request_code_pic_audi(net.iGap.module.AttachFile.request_code_pic_audi) ImageSpan(android.text.style.ImageSpan) Environment(android.os.Environment) RequestClientGetRoomMessage(net.iGap.request.RequestClientGetRoomMessage) OnChatMessageRemove(net.iGap.observers.interfaces.OnChatMessageRemove) Editable(android.text.Editable) LOCATION_SERVICE(android.content.Context.LOCATION_SERVICE) ArrayList(java.util.ArrayList) VibrationEffect(android.os.VibrationEffect) LOCATION_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.LOCATION_VALUE) RealmChannelExtra(net.iGap.realm.RealmChannelExtra) ConnectionState(net.iGap.module.enums.ConnectionState) HelperGetAction(net.iGap.helper.HelperGetAction) LayoutCreator(net.iGap.helper.LayoutCreator) IMAGE_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE_TEXT_VALUE) WebChromeClient(android.webkit.WebChromeClient) Toolbar(net.iGap.messenger.ui.toolBar.Toolbar) LogWallet(net.iGap.adapter.items.chat.LogWallet) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) RESULT_CANCELED(android.app.Activity.RESULT_CANCELED) StructWebView(net.iGap.module.structs.StructWebView) StickerSettingFragment(net.iGap.fragments.emoji.remove.StickerSettingFragment) AnimatedStickerItem(net.iGap.adapter.items.chat.AnimatedStickerItem) OnChatEditMessageResponse(net.iGap.observers.interfaces.OnChatEditMessageResponse) File(java.io.File) IItemAdapter(com.mikepenz.fastadapter.IItemAdapter) Gravity(android.view.Gravity) StructIGSticker(net.iGap.fragments.emoji.struct.StructIGSticker) Configuration(android.content.res.Configuration) LocationListener(net.iGap.observers.interfaces.LocationListener) LocationItem(net.iGap.adapter.items.chat.LocationItem) DbManager(net.iGap.module.accountManager.DbManager) CardToCardItem(net.iGap.adapter.items.chat.CardToCardItem) ValueAnimator(android.animation.ValueAnimator) FILE_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.FILE_TEXT_VALUE) ImageHelper(net.iGap.helper.ImageHelper) AttachFile.request_code_pic_file(net.iGap.module.AttachFile.request_code_pic_file) IMAGE(net.iGap.proto.ProtoGlobal.RoomMessageType.IMAGE) RealmRoomMessage.makeSeenAllMessageOfRoom(net.iGap.realm.RealmRoomMessage.makeSeenAllMessageOfRoom) AppCompatImageView(androidx.appcompat.widget.AppCompatImageView) ResendMessage(net.iGap.module.ResendMessage) AttachFile(net.iGap.module.AttachFile) LOG_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.LOG_VALUE) LogWalletCardToCard(net.iGap.adapter.items.chat.LogWalletCardToCard) OnGetFavoriteMenu(net.iGap.observers.interfaces.OnGetFavoriteMenu) RealmChannelRoom(net.iGap.realm.RealmChannelRoom) AUDIO_TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.AUDIO_TEXT_VALUE) ContactItem(net.iGap.adapter.items.chat.ContactItem) LISTENED_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageStatus.LISTENED_VALUE) BottomSheetFragment(net.iGap.module.dialog.bottomsheet.BottomSheetFragment) View(android.view.View) Animation(android.view.animation.Animation) WebView(android.webkit.WebView) OnChatMessageSelectionChanged(net.iGap.observers.interfaces.OnChatMessageSelectionChanged) RealmRoomMessageContact(net.iGap.realm.RealmRoomMessageContact) StoryPagerFragment(net.iGap.story.StoryPagerFragment) ContactUtils(net.iGap.module.ContactUtils) ParentChatMoneyTransferFragment(net.iGap.fragments.chatMoneyTransfer.ParentChatMoneyTransferFragment) MessagesAdapter(net.iGap.adapter.MessagesAdapter) FILE_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.FILE_VALUE) AdapterDrBot(net.iGap.adapter.AdapterDrBot) OnUpdateUserOrRoomInfo(net.iGap.observers.interfaces.OnUpdateUserOrRoomInfo) RequestClientRoomReport(net.iGap.request.RequestClientRoomReport) HelperGetDataFromOtherApp(net.iGap.helper.HelperGetDataFromOtherApp) ObjectAnimator(android.animation.ObjectAnimator) PassCode(net.iGap.model.PassCode) StructMessageInfo(net.iGap.module.structs.StructMessageInfo) InputType(android.text.InputType) StructIGStickerGroup(net.iGap.fragments.emoji.struct.StructIGStickerGroup) ViewStubCompat(androidx.appcompat.widget.ViewStubCompat) Additional(net.iGap.module.enums.Additional) TEXT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.TEXT_VALUE) LogWalletTopup(net.iGap.adapter.items.chat.LogWalletTopup) ViewGroup(android.view.ViewGroup) OnForwardBottomSheet(net.iGap.observers.interfaces.OnForwardBottomSheet) OnUserUpdateStatus(net.iGap.observers.interfaces.OnUserUpdateStatus) HelperLog(net.iGap.helper.HelperLog) OnChatSendMessage(net.iGap.observers.interfaces.OnChatSendMessage) List(java.util.List) CompositeDisposable(io.reactivex.disposables.CompositeDisposable) TextView(android.widget.TextView) FragmentSettingAddStickers(net.iGap.fragments.emoji.add.FragmentSettingAddStickers) CONTACT_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageType.CONTACT_VALUE) RequestQueue(net.iGap.request.RequestQueue) RelativeLayout(android.widget.RelativeLayout) TextItem(net.iGap.adapter.items.chat.TextItem) IUpdateLogItem(net.iGap.observers.interfaces.IUpdateLogItem) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) NotNull(org.jetbrains.annotations.NotNull) OpenBottomSheetItem(net.iGap.observers.interfaces.OpenBottomSheetItem) Context(android.content.Context) AndroidUtils(net.iGap.module.AndroidUtils) SEEN_VALUE(net.iGap.proto.ProtoGlobal.RoomMessageStatus.SEEN_VALUE) KeyEvent(android.view.KeyEvent) ResourcesCompat(androidx.core.content.res.ResourcesCompat) GifWithTextItem(net.iGap.adapter.items.chat.GifWithTextItem) RequestSignalingGetConfiguration(net.iGap.request.RequestSignalingGetConfiguration) OnChatDelete(net.iGap.observers.interfaces.OnChatDelete) Intent(android.content.Intent) HashMap(java.util.HashMap) RealmStickerItem(net.iGap.realm.RealmStickerItem) SUID(net.iGap.module.SUID) ClipData(android.content.ClipData) OnUserInfoResponse(net.iGap.observers.interfaces.OnUserInfoResponse) SuppressLint(android.annotation.SuppressLint) MotionEvent(android.view.MotionEvent) AnimatorSet(android.animation.AnimatorSet) TimeItem(net.iGap.adapter.items.chat.TimeItem) RealmRoomMessage(net.iGap.realm.RealmRoomMessage) Cursor(android.database.Cursor) LogWalletBill(net.iGap.adapter.items.chat.LogWalletBill) ACTIVITY_SERVICE(android.content.Context.ACTIVITY_SERVICE) CONTACT(net.iGap.proto.ProtoGlobal.RoomMessageType.CONTACT) ToolbarItems(net.iGap.messenger.ui.toolBar.ToolbarItems) FileWriter(java.io.FileWriter) ProtoResponse(net.iGap.proto.ProtoResponse) MessageLoader(net.iGap.module.MessageLoader) LogItem(net.iGap.adapter.items.chat.LogItem) HelperString(net.iGap.helper.HelperString) ViewMaker(net.iGap.adapter.items.chat.ViewMaker) StructBottomSheet(net.iGap.module.structs.StructBottomSheet) OnFileSelectedListener(net.iGap.module.FileListerDialog.OnFileSelectedListener) ProtoGlobal(net.iGap.proto.ProtoGlobal) ImageWithTextItem(net.iGap.adapter.items.chat.ImageWithTextItem) ChannelChatRole(net.iGap.module.enums.ChannelChatRole) GROUP(net.iGap.proto.ProtoGlobal.Room.Type.GROUP) Collections(java.util.Collections) MimeTypeMap(android.webkit.MimeTypeMap) AbstractMessage(net.iGap.adapter.items.chat.AbstractMessage) RealmAttachment(net.iGap.realm.RealmAttachment) RealmQuery(io.realm.RealmQuery) RealmCallConfig(net.iGap.realm.RealmCallConfig) Bundle(android.os.Bundle) AttachFile(net.iGap.module.AttachFile) RealmRoom(net.iGap.realm.RealmRoom) RealmRegisteredInfo(net.iGap.realm.RealmRegisteredInfo) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) KeyboardView(net.iGap.libs.emojiKeyboard.KeyboardView) RecyclerView(androidx.recyclerview.widget.RecyclerView) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) EmojiView(net.iGap.libs.emojiKeyboard.EmojiView) BadgeView(net.iGap.adapter.items.chat.BadgeView) MaterialDesignTextView(net.iGap.module.MaterialDesignTextView) ImageView(android.widget.ImageView) CardView(androidx.cardview.widget.CardView) FontIconTextView(net.iGap.module.FontIconTextView) StructWebView(net.iGap.module.structs.StructWebView) AppCompatImageView(androidx.appcompat.widget.AppCompatImageView) View(android.view.View) WebView(android.webkit.WebView) TextView(android.widget.TextView) RequestSignalingGetConfiguration(net.iGap.request.RequestSignalingGetConfiguration)

Example 9 with AttachFile

use of net.iGap.module.AttachFile in project iGap-Android by KianIranian-STDG.

the class FragmentChatBackground method onActivityResult.

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        String filePath = null;
        switch(requestCode) {
            case AttachFile.request_code_TAKE_PICTURE:
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                    ImageHelper.correctRotateImage(AttachFile.mCurrentPhotoPath, true);
                    filePath = AttachFile.mCurrentPhotoPath;
                } else {
                    ImageHelper.correctRotateImage(AttachFile.imagePath, true);
                    filePath = AttachFile.imagePath;
                }
                break;
            case AttachFile.request_code_image_from_gallery_single_select:
                if (data != null && data.getData() != null) {
                    if (getActivity() != null) {
                        AttachFile attachFile = new AttachFile(getActivity());
                        filePath = attachFile.saveGalleryPicToLocal(AttachFile.getFilePathFromUri(data.getData()));
                    }
                }
                break;
        }
        viewModel.setUserCustomImage(filePath);
    }
}
Also used : AttachFile(net.iGap.module.AttachFile)

Example 10 with AttachFile

use of net.iGap.module.AttachFile in project iGap-Android by KianIranian-STDG.

the class SelectImageBottomSheetDialog method checkCameraAndLoadImage.

private void checkCameraAndLoadImage() {
    boolean isCameraButtonSheet = sharedPreferences.getBoolean(SHP_SETTING.KEY_CAMERA_BUTTON_SHEET, true);
    if (isCameraButtonSheet) {
        try {
            HelperPermission.getCameraPermission(G.fragmentActivity, new OnGetPermission() {

                @Override
                public void Allow() {
                    G.handler.post(new Runnable() {

                        @Override
                        public void run() {
                            fastItemAdapter.add(new AdapterCamera("", new OnClickCamera() {

                                @Override
                                public void onclickCamera() {
                                    try {
                                        dismiss();
                                        if (getActivity() != null) {
                                            new AttachFile(getActivity()).requestTakePicture(SelectImageBottomSheetDialog.this);
                                        }
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }
                                }
                            }).withIdentifier(99));
                            for (int i = 0; i < FragmentEditImage.itemGalleryList.size(); i++) {
                                fastItemAdapter.add(new BottomSheetItem(FragmentEditImage.itemGalleryList.get(i), onPathAdapterBottomSheet).withIdentifier(100 + i));
                            }
                            isPermissionCamera = true;
                        }
                    });
                    G.handler.postDelayed(new Runnable() {

                        @Override
                        public void run() {
                            if (isAdded()) {
                            /*showBottomSheet();*/
                            }
                        }
                    }, 100);
                }

                @Override
                public void deny() {
                    loadImageGallery();
                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    } else {
        loadImageGallery();
    }
}
Also used : BottomSheetItem(net.iGap.adapter.items.BottomSheetItem) AdapterCamera(net.iGap.adapter.items.AdapterCamera) AttachFile(net.iGap.module.AttachFile) OnClickCamera(net.iGap.observers.interfaces.OnClickCamera) IOException(java.io.IOException) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission)

Aggregations

AttachFile (net.iGap.module.AttachFile)11 View (android.view.View)6 IOException (java.io.IOException)6 Intent (android.content.Intent)4 Bundle (android.os.Bundle)4 TextView (android.widget.TextView)4 OnGetPermission (net.iGap.observers.interfaces.OnGetPermission)4 Context (android.content.Context)3 Build (android.os.Build)3 LayoutInflater (android.view.LayoutInflater)3 File (java.io.File)3 ActivityMain (net.iGap.activities.ActivityMain)3 HelperFragment (net.iGap.helper.HelperFragment)3 Animator (android.animation.Animator)2 AnimatorListenerAdapter (android.animation.AnimatorListenerAdapter)2 ObjectAnimator (android.animation.ObjectAnimator)2 Activity (android.app.Activity)2 ClipData (android.content.ClipData)2 ClipboardManager (android.content.ClipboardManager)2 CLIPBOARD_SERVICE (android.content.Context.CLIPBOARD_SERVICE)2