Search in sources :

Example 1 with StickerDialogFragment

use of net.iGap.fragments.emoji.add.StickerDialogFragment in project iGap-Android by KianIranian-STDG.

the class BaseViewHolder method handleDiscoveryFieldsClickStatic.

public static void handleDiscoveryFieldsClickStatic(DiscoveryItemField discoveryField, FragmentActivity activity, boolean haveNext) {
    if (activity == null || activity.isFinishing()) {
        return;
    }
    if (discoveryField.agreementSlug != null && discoveryField.agreementSlug.length() > 1) {
        if (!discoveryField.agreement) {
            DiscoveryFragmentAgreement.newInstance(discoveryField, discoveryField.agreementSlug).show(activity.getSupportFragmentManager(), null);
            return;
        }
    }
    new RequestClientSetDiscoveryItemClick().setDiscoveryClicked(discoveryField.id);
    switch(discoveryField.actionType) {
        case PAGE:
            /**
             * tested *
             */
            actionPage(discoveryField.value, activity, haveNext);
            break;
        case JOIN_LINK:
            int index = discoveryField.value.lastIndexOf("/");
            if (index >= 0 && index < discoveryField.value.length() - 1) {
                String token = discoveryField.value.substring(index + 1);
                if (discoveryField.value.toLowerCase().contains("join")) {
                    HelperUrl.checkAndJoinToRoom(activity, token);
                } else {
                    HelperUrl.checkUsernameAndGoToRoom(activity, token, HelperUrl.ChatEntry.profile);
                }
            }
            break;
        case WEB_LINK:
            /**
             * tested *
             */
            SharedPreferences sharedPreferences = activity.getSharedPreferences(SHP_SETTING.FILE_NAME, Context.MODE_PRIVATE);
            int checkedInAppBrowser = sharedPreferences.getInt(SHP_SETTING.KEY_IN_APP_BROWSER, 1);
            if (checkedInAppBrowser == 1 && !HelperUrl.isNeedOpenWithoutBrowser(discoveryField.value)) {
                HelperUrl.openBrowser(discoveryField.value);
            } else {
                HelperUrl.openWithoutBrowser(discoveryField.value);
            }
            break;
        case IVAND:
            new HelperFragment(activity.getSupportFragmentManager(), new FragmentUserScore()).setReplace(false).load();
            break;
        case IVANDQR:
            UserScoreViewModel.scanBarCode(activity);
            break;
        case IVANDLIST:
            new HelperFragment(activity.getSupportFragmentManager(), FragmentIVandActivities.newInstance()).setReplace(false).load();
            break;
        case WEB_VIEW_LINK:
            /**
             * tested title needed*
             */
            if (HelperUrl.isNeedOpenWithoutBrowser(discoveryField.value)) {
                HelperUrl.openWithoutBrowser(discoveryField.value);
            } else {
                new HelperFragment(activity.getSupportFragmentManager(), FragmentWebView.newInstance(discoveryField.value, discoveryField.refresh, discoveryField.param)).setReplace(false).load();
            }
            break;
        case USERNAME_LINK:
            /**
             * tested *
             */
            HelperUrl.checkUsernameAndGoToRoomWithMessageId(activity, discoveryField.value.replace("@", ""), HelperUrl.ChatEntry.chat, 0, 0);
            break;
        case TOPUP_MENU:
            /**
             * tested *
             */
            new HelperFragment(activity.getSupportFragmentManager(), ChargeFragment.newInstance()).setReplace(false).load();
            break;
        case BILL_MENU:
            try {
                JSONObject jsonObject = new JSONObject(discoveryField.value);
                new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills, jsonObject)).setReplace(false).load();
            } catch (JSONException e) {
                new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills)).setReplace(false).load();
            }
            break;
        case TRAFFIC_BILL_MENU:
            /**
             * tested *
             */
            try {
                JSONObject jsonObject = new JSONObject(discoveryField.value);
                new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills_crime, jsonObject)).setReplace(false).load();
            } catch (JSONException e) {
                new HelperFragment(activity.getSupportFragmentManager(), FragmentPaymentBill.newInstance(R.string.pay_bills_crime)).setReplace(false).load();
            }
            break;
        case PHONE_BILL_MENU:
            /**
             * tested *
             */
            new HelperFragment(activity.getSupportFragmentManager(), new FragmentPaymentInquiryTelephone()).setReplace(false).load();
            break;
        case ELECTRIC_BILL_MENU:
            new HelperFragment(activity.getSupportFragmentManager(), new ElectricityBillMainFrag()).setReplace(false).load();
            // new HelperFragment(activity.getSupportFragmentManager(), new MobileBankLoginFragment()).setReplace(false).load();
            break;
        case PARSLAND:
            break;
        case FUN_SERVICE:
            new HelperFragment(activity.getSupportFragmentManager(), new IGashtProvinceFragment()).setReplace(false).load();
            break;
        case BLOCKCHAIN:
            break;
        case VIRTUAL_GIFT_CARD:
            break;
        case NEWS:
            NewsMainFrag frag = new NewsMainFrag();
            if (!discoveryField.value.equals(""))
                frag.setSpecificNewsID(discoveryField.value);
            new HelperFragment(activity.getSupportFragmentManager(), frag).setReplace(false).load();
            break;
        case MOBILE_BILL_MENU:
            /**
             * tested *
             */
            new HelperFragment(activity.getSupportFragmentManager(), new FragmentPaymentInquiryMobile()).setReplace(false).load();
            break;
        case FINANCIAL_MENU:
            /**
             * tested *
             */
            new HelperFragment(activity.getSupportFragmentManager(), FragmentPayment.newInstance()).setReplace(false).load();
            break;
        case NEARBY_MENU:
            /**
             * tested *
             */
            try {
                HelperPermission.getLocationPermission(activity, new OnGetPermission() {

                    @Override
                    public void Allow() throws IOException {
                        try {
                            if (!waitingForConfiguration) {
                                waitingForConfiguration = true;
                                if (mapUrls == null || mapUrls.isEmpty() || mapUrls.size() == 0) {
                                    G.onGeoGetConfiguration = new OnGeoGetConfiguration() {

                                        @Override
                                        public void onGetConfiguration() {
                                            G.handler.postDelayed(new Runnable() {

                                                @Override
                                                public void run() {
                                                    waitingForConfiguration = false;
                                                }
                                            }, 2000);
                                            new HelperFragment(activity.getSupportFragmentManager(), FragmentiGapMap.getInstance()).setReplace(false).load();
                                        }

                                        @Override
                                        public void getConfigurationTimeOut() {
                                            G.handler.postDelayed(new Runnable() {

                                                @Override
                                                public void run() {
                                                    waitingForConfiguration = false;
                                                }
                                            }, 2000);
                                        }
                                    };
                                    new RequestGeoGetConfiguration().getConfiguration();
                                } else {
                                    G.handler.postDelayed(new Runnable() {

                                        @Override
                                        public void run() {
                                            waitingForConfiguration = false;
                                        }
                                    }, 2000);
                                    new HelperFragment(activity.getSupportFragmentManager(), FragmentiGapMap.getInstance()).setReplace(false).load();
                                }
                            }
                        } catch (Exception e) {
                            e.getStackTrace();
                        }
                    }

                    @Override
                    public void deny() {
                        showDeniedPermissionMessage(G.context.getString(R.string.permission_location));
                    }
                });
            } catch (IOException e) {
                e.printStackTrace();
            }
            break;
        case REQUEST_PHONE:
            // this item is for bot
            break;
        case REQUEST_LOCATION:
            // this item is for bot
            break;
        case BOT_ACTION:
            // this item is for bot
            break;
        case PAY_BY_WALLET:
            // coming soon
            break;
        case PAY_DIRECT:
            try {
                JSONObject jsonObject = new JSONObject(discoveryField.value);
                DirectPayHelper.directPay(jsonObject);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            break;
        case CALL:
            /**
             * tested *
             */
            dialPhoneNumber(activity, discoveryField.value, activity);
            break;
        case SHOW_ALERT:
            /**
             * tested *
             */
            new MaterialDialog.Builder(activity).content(discoveryField.value).positiveText(R.string.dialog_ok).onPositive(new MaterialDialog.SingleButtonCallback() {

                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                }
            }).show();
            break;
        case STREAM_PLAY:
            // coming soon
            break;
        case STICKER_SHOP:
            /**
             * tested *
             */
            StickerRepository.getInstance().getUserStickersGroup();
            if (discoveryField.value.isEmpty()) {
                new HelperFragment(activity.getSupportFragmentManager(), FragmentSettingAddStickers.newInstance("ALL")).setReplace(false).load();
            } else {
                try {
                    String title = "";
                    JSONObject jsonObject = new JSONObject(discoveryField.value);
                    if (jsonObject.has("title"))
                        title = jsonObject.getString("title");
                    if (jsonObject.has("group")) {
                        String category = jsonObject.getString("group");
                        if (!category.isEmpty()) {
                            if (jsonObject.has("type")) {
                                String type = jsonObject.getString("type");
                                new HelperFragment(activity.getSupportFragmentManager(), AddStickersFragment.newInstance(category, type, title)).setReplace(false).load();
                            } else {
                                new HelperFragment(activity.getSupportFragmentManager(), AddStickersFragment.newInstance(category, "ALL", title)).setReplace(false).load();
                            }
                        }
                    } else if (jsonObject.has("type")) {
                        String type = jsonObject.getString("type");
                        new HelperFragment(activity.getSupportFragmentManager(), FragmentSettingAddStickers.newInstance(type)).setReplace(false).load();
                    } else if (jsonObject.has("id")) {
                        String id = jsonObject.getString("id");
                        StickerDialogFragment dialogFragment = StickerDialogFragment.getInstance(id);
                        dialogFragment.show(activity.getSupportFragmentManager(), "BaseViewHolder");
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            break;
        case CARD_TO_CARD:
            CardToCardHelper.CallCardToCard(activity);
            break;
        case IVANDSCORE:
            new MaterialDialog.Builder(activity).content(R.string.are_you_sure_request).positiveText(R.string.yes).negativeText(R.string.no).onPositive((dialog, which) -> {
                dialog.dismiss();
                ActivityMain.doIvandScore(discoveryField.value, activity);
            }).onNegative((dialog, which) -> {
                dialog.dismiss();
            }).show();
            break;
        case NONE:
            break;
        case POLL:
            new HelperFragment(activity.getSupportFragmentManager(), PollFragment.newInstance(Integer.parseInt(HelperString.isNumeric(discoveryField.value) ? discoveryField.value : "0"))).setReplace(false).load();
            break;
        case POLL_RESULT:
            new HelperFragment(activity.getSupportFragmentManager(), ChartFragment.newInstance(Integer.parseInt(HelperString.isNumeric(discoveryField.value) ? discoveryField.value : "0"))).setReplace(false).load();
            break;
        case FAVORITE_CHANNEL:
            if (discoveryField.value.equals(""))
                new HelperFragment(activity.getSupportFragmentManager(), new PopularChannelHomeFragment()).setReplace(false).load();
            else {
                PopularMoreChannelFragment popularMoreChannelFragment = new PopularMoreChannelFragment();
                Bundle bundle = new Bundle();
                bundle.putString("id", discoveryField.value);
                popularMoreChannelFragment.setArguments(bundle);
                new HelperFragment(activity.getSupportFragmentManager(), popularMoreChannelFragment).setReplace(false).load();
            }
            break;
        case FINANCIAL_HISTORY:
            new HelperFragment(activity.getSupportFragmentManager(), new MplTransactionFragment()).setReplace(false).load();
            break;
        case INTERNET_PACKAGE_MENU:
            new HelperFragment(activity.getSupportFragmentManager(), InternetFragment.newInstance()).setReplace(false).load();
            break;
        case CHARITY:
            try {
                JSONObject jsonObject = new JSONObject(discoveryField.value);
                if (jsonObject.getInt("price") == 0) {
                    new MaterialDialog.Builder(activity).title(activity.getResources().getString(R.string.insert_amount_in_rial)).customView(R.layout.charity_custom_amount, false).positiveText(activity.getResources().getString(R.string.B_ok)).negativeText(activity.getResources().getString(R.string.B_cancel)).onPositive((dialog, which) -> {
                        EditText editText = dialog.getView().findViewById(R.id.editText);
                        if (editText.getText() != null) {
                            if (editText.getText().toString().length() > 0) {
                                int price = Integer.parseInt(editText.getText().toString());
                                if (price > 10000) {
                                    HelperUrl.showIndeterminateProgressDialog(activity);
                                    try {
                                        dialog.cancel();
                                        sendRequestGetCharityPaymentToken(activity, jsonObject.getString("charityId"), price);
                                    } catch (JSONException e) {
                                        HelperUrl.closeDialogWaiting();
                                        e.printStackTrace();
                                    }
                                } else {
                                    Toast.makeText(activity, activity.getResources().getString(R.string.amount_must_be_greater_10000), Toast.LENGTH_SHORT).show();
                                }
                            }
                        }
                    }).build().show();
                } else {
                    HelperUrl.showIndeterminateProgressDialog(activity);
                    sendRequestGetCharityPaymentToken(activity, jsonObject.getString("charityId"), jsonObject.getInt("price"));
                }
            } catch (JSONException e) {
                HelperUrl.closeDialogWaiting();
                e.printStackTrace();
            }
            break;
        case INVITE_FRIEND:
            try {
                HelperPermission.getContactPermision(activity, new OnGetPermission() {

                    @Override
                    public void Allow() {
                        new HelperFragment(activity.getSupportFragmentManager(), new LocalContactFragment()).setReplace(false).load(true);
                    }

                    @Override
                    public void deny() {
                        showDeniedPermissionMessage(G.context.getString(R.string.permission_contact));
                    }
                });
            } catch (IOException e) {
                e.printStackTrace();
            }
            break;
        case QRPAY:
            new HelperFragment(activity.getSupportFragmentManager(), ScanCodeQRCodePaymentFragment.newInstance()).setReplace(false).load();
            break;
        default:
            new MaterialDialog.Builder(activity).content(R.string.install_latest_version).positiveText(R.string.ok).onPositive((dialog, which) -> dialog.dismiss()).show();
            break;
    }
}
Also used : Bundle(android.os.Bundle) DiscoveryFragmentAgreement(net.iGap.fragments.discovery.DiscoveryFragmentAgreement) NonNull(androidx.annotation.NonNull) HandShakeCallback(net.iGap.observers.interfaces.HandShakeCallback) Uri(android.net.Uri) ImageView(android.widget.ImageView) ChargeFragment(net.iGap.fragments.payment.ChargeFragment) UserScoreViewModel(net.iGap.viewmodel.UserScoreViewModel) StickerDialogFragment(net.iGap.fragments.emoji.add.StickerDialogFragment) DiscoveryFragment(net.iGap.fragments.discovery.DiscoveryFragment) G(net.iGap.G) MciPurchaseResponse(net.iGap.model.paymentPackage.MciPurchaseResponse) RequestClientSetDiscoveryItemClick(net.iGap.request.RequestClientSetDiscoveryItemClick) JSONException(org.json.JSONException) JSONObject(org.json.JSONObject) HelperPermission(net.iGap.helper.HelperPermission) HelperPermission.showDeniedPermissionMessage(net.iGap.helper.HelperPermission.showDeniedPermissionMessage) PollFragment(net.iGap.fragments.poll.PollFragment) View(android.view.View) HelperError(net.iGap.helper.HelperError) RecyclerView(androidx.recyclerview.widget.RecyclerView) FragmentPayment(net.iGap.fragments.FragmentPayment) HelperFragment(net.iGap.helper.HelperFragment) FragmentIVandActivities(net.iGap.fragments.FragmentIVandActivities) FragmentPaymentInquiryMobile(net.iGap.fragments.inquiryBill.FragmentPaymentInquiryMobile) MplTransactionFragment(net.iGap.fragments.mplTranaction.MplTransactionFragment) IGashtProvinceFragment(net.iGap.fragments.igasht.IGashtProvinceFragment) FragmentSettingAddStickers(net.iGap.fragments.emoji.add.FragmentSettingAddStickers) AddStickersFragment(net.iGap.fragments.emoji.add.AddStickersFragment) DiscoveryItemField(net.iGap.adapter.items.discovery.DiscoveryItemField) SHP_SETTING(net.iGap.module.SHP_SETTING) LocalContactFragment(net.iGap.fragments.LocalContactFragment) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission) StickerRepository(net.iGap.repository.StickerRepository) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ResponseCallback(net.iGap.observers.interfaces.ResponseCallback) Context(android.content.Context) ActivityMain(net.iGap.activities.ActivityMain) HelperUrl(net.iGap.helper.HelperUrl) ApiInitializer(net.iGap.api.apiService.ApiInitializer) Intent(android.content.Intent) SystemClock(android.os.SystemClock) FragmentiGapMap.mapUrls(net.iGap.fragments.FragmentiGapMap.mapUrls) InternetFragment(net.iGap.fragments.payment.InternetFragment) FragmentActivity(androidx.fragment.app.FragmentActivity) Toast(android.widget.Toast) ChartFragment(net.iGap.fragments.poll.ChartFragment) ImageLoadingServiceInjector(net.iGap.module.imageLoaderService.ImageLoadingServiceInjector) FragmentUserScore(net.iGap.fragments.FragmentUserScore) PopularMoreChannelFragment(net.iGap.fragments.populaChannel.PopularMoreChannelFragment) FragmentPaymentInquiryTelephone(net.iGap.fragments.FragmentPaymentInquiryTelephone) FragmentiGapMap(net.iGap.fragments.FragmentiGapMap) NewsMainFrag(net.iGap.fragments.news.NewsMainFrag) PopularChannelHomeFragment(net.iGap.fragments.populaChannel.PopularChannelHomeFragment) DialogAction(com.afollestad.materialdialogs.DialogAction) FragmentPaymentBill(net.iGap.fragments.FragmentPaymentBill) IOException(java.io.IOException) ScanCodeQRCodePaymentFragment(net.iGap.fragments.qrCodePayment.fragments.ScanCodeQRCodePaymentFragment) OnGeoGetConfiguration(net.iGap.observers.interfaces.OnGeoGetConfiguration) DiscoveryItem(net.iGap.adapter.items.discovery.DiscoveryItem) CardToCardHelper(net.iGap.helper.CardToCardHelper) RequestGeoGetConfiguration(net.iGap.request.RequestGeoGetConfiguration) RetrofitFactory(net.iGap.api.apiService.RetrofitFactory) ElectricityBillMainFrag(net.iGap.fragments.electricity_bill.ElectricityBillMainFrag) SharedPreferences(android.content.SharedPreferences) HelperString(net.iGap.helper.HelperString) ActivityMain.waitingForConfiguration(net.iGap.activities.ActivityMain.waitingForConfiguration) R(net.iGap.R) DirectPayHelper(net.iGap.helper.DirectPayHelper) EditText(android.widget.EditText) FragmentWebView(net.iGap.fragments.FragmentWebView) PopularChannelHomeFragment(net.iGap.fragments.populaChannel.PopularChannelHomeFragment) FragmentPaymentInquiryTelephone(net.iGap.fragments.FragmentPaymentInquiryTelephone) FragmentUserScore(net.iGap.fragments.FragmentUserScore) ElectricityBillMainFrag(net.iGap.fragments.electricity_bill.ElectricityBillMainFrag) HelperString(net.iGap.helper.HelperString) OnGetPermission(net.iGap.observers.interfaces.OnGetPermission) NewsMainFrag(net.iGap.fragments.news.NewsMainFrag) PopularMoreChannelFragment(net.iGap.fragments.populaChannel.PopularMoreChannelFragment) NonNull(androidx.annotation.NonNull) IGashtProvinceFragment(net.iGap.fragments.igasht.IGashtProvinceFragment) RequestGeoGetConfiguration(net.iGap.request.RequestGeoGetConfiguration) EditText(android.widget.EditText) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) SharedPreferences(android.content.SharedPreferences) FragmentPaymentInquiryMobile(net.iGap.fragments.inquiryBill.FragmentPaymentInquiryMobile) Bundle(android.os.Bundle) MplTransactionFragment(net.iGap.fragments.mplTranaction.MplTransactionFragment) JSONException(org.json.JSONException) IOException(java.io.IOException) LocalContactFragment(net.iGap.fragments.LocalContactFragment) JSONException(org.json.JSONException) IOException(java.io.IOException) JSONObject(org.json.JSONObject) DialogAction(com.afollestad.materialdialogs.DialogAction) RequestClientSetDiscoveryItemClick(net.iGap.request.RequestClientSetDiscoveryItemClick) OnGeoGetConfiguration(net.iGap.observers.interfaces.OnGeoGetConfiguration) HelperFragment(net.iGap.helper.HelperFragment) StickerDialogFragment(net.iGap.fragments.emoji.add.StickerDialogFragment)

Example 2 with StickerDialogFragment

use of net.iGap.fragments.emoji.add.StickerDialogFragment in project iGap-Android by KianIranian-STDG.

the class FragmentChat method openFragmentAddStickerToFavorite.

private void openFragmentAddStickerToFavorite(String groupId) {
    StructIGStickerGroup stickerGroup = new StructIGStickerGroup(groupId);
    boolean canSendSticker = currentRoomAccess != null && currentRoomAccess.getRealmPostMessageRights().isCanSendSticker();
    StickerDialogFragment dialogFragment = StickerDialogFragment.getInstance(stickerGroup, mustCheckPermission() ? !canSendSticker || isChatReadOnly : isChatReadOnly);
    dialogFragment.setListener(this::sendStickerAsMessage);
    if (getActivity() != null) {
        showPopup(-1);
        dialogFragment.show(getActivity().getSupportFragmentManager(), "dialogFragment");
    }
}
Also used : StructIGStickerGroup(net.iGap.fragments.emoji.struct.StructIGStickerGroup) StickerDialogFragment(net.iGap.fragments.emoji.add.StickerDialogFragment)

Aggregations

StickerDialogFragment (net.iGap.fragments.emoji.add.StickerDialogFragment)2 Context (android.content.Context)1 Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 Uri (android.net.Uri)1 Bundle (android.os.Bundle)1 SystemClock (android.os.SystemClock)1 View (android.view.View)1 EditText (android.widget.EditText)1 ImageView (android.widget.ImageView)1 Toast (android.widget.Toast)1 NonNull (androidx.annotation.NonNull)1 FragmentActivity (androidx.fragment.app.FragmentActivity)1 RecyclerView (androidx.recyclerview.widget.RecyclerView)1 DialogAction (com.afollestad.materialdialogs.DialogAction)1 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)1 IOException (java.io.IOException)1 G (net.iGap.G)1 R (net.iGap.R)1 ActivityMain (net.iGap.activities.ActivityMain)1