Search in sources :

Example 1 with BlockingEvent

use of com.waz.zclient.controllers.tracking.events.connect.BlockingEvent in project wire-android by wireapp.

the class ConversationListManagerFragment method showBlockConfirmation.

private void showBlockConfirmation(final User user) {
    ConfirmationCallback callback = new TwoButtonConfirmationCallback() {

        @Override
        public void positiveButtonClicked(boolean checkboxIsSelected) {
            if (getStoreFactory() == null || getControllerFactory() == null || getStoreFactory().isTornDown() || getControllerFactory().isTornDown()) {
                return;
            }
            boolean blockingCurrentConversation = user.getConversation().getId().equals(getStoreFactory().getConversationStore().getCurrentConversation().getId());
            getStoreFactory().getConnectStore().blockUser(user);
            if (blockingCurrentConversation) {
                getStoreFactory().getConversationStore().setCurrentConversationToNext(ConversationChangeRequester.BLOCK_USER);
            }
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.BLOCK));
        }

        @Override
        public void negativeButtonClicked() {
            if (getControllerFactory() == null || getControllerFactory().isTornDown()) {
                return;
            }
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.CANCEL));
        }

        @Override
        public void onHideAnimationEnd(boolean confirmed, boolean canceled, boolean checkboxIsSelected) {
        }
    };
    String header = getString(R.string.confirmation_menu__block_header);
    String text = getString(R.string.confirmation_menu__block_text_with_name, user.getDisplayName());
    String confirm = getString(R.string.confirmation_menu__confirm_block);
    String cancel = getString(R.string.confirmation_menu__cancel);
    ConfirmationRequest request = new ConfirmationRequest.Builder().withHeader(header).withMessage(text).withPositiveButton(confirm).withNegativeButton(cancel).withConfirmationCallback(callback).withWireTheme(getControllerFactory().getThemeController().getOptionsDarkTheme()).build();
    getControllerFactory().getConfirmationController().requestConfirmation(request, IConfirmationController.CONVERSATION_LIST);
    SoundController ctrl = inject(SoundController.class);
    if (ctrl != null) {
        ctrl.playAlert();
    }
}
Also used : SoundController(com.waz.zclient.media.SoundController) ConfirmationCallback(com.waz.zclient.controllers.confirmation.ConfirmationCallback) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) GlobalTrackingController(com.waz.zclient.tracking.GlobalTrackingController) BlockingEvent(com.waz.zclient.controllers.tracking.events.connect.BlockingEvent) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) ConfirmationRequest(com.waz.zclient.controllers.confirmation.ConfirmationRequest)

Example 2 with BlockingEvent

use of com.waz.zclient.controllers.tracking.events.connect.BlockingEvent in project wire-android by wireapp.

the class SingleParticipantFragment method showBlockConfirmation.

private void showBlockConfirmation(final User user) {
    ConfirmationCallback callback = new TwoButtonConfirmationCallback() {

        @Override
        public void positiveButtonClicked(boolean checkboxIsSelected) {
            getStoreFactory().getConnectStore().blockUser(user);
            // Dismiss common user profile
            getContainer().dismissUserProfile();
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.BLOCK));
        }

        @Override
        public void negativeButtonClicked() {
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.CANCEL));
        }

        @Override
        public void onHideAnimationEnd(boolean confirmed, boolean canceled, boolean checkboxIsSelected) {
        }
    };
    String header = getString(R.string.confirmation_menu__block_header);
    String text = getString(R.string.confirmation_menu__block_text_with_name, user.getDisplayName());
    String confirm = getString(R.string.confirmation_menu__confirm_block);
    String cancel = getString(R.string.confirmation_menu__cancel);
    OptionsTheme optionsTheme = getControllerFactory().getThemeController().getThemeDependentOptionsTheme();
    ConfirmationRequest request = new ConfirmationRequest.Builder().withHeader(header).withMessage(text).withPositiveButton(confirm).withNegativeButton(cancel).withConfirmationCallback(callback).withWireTheme(optionsTheme).build();
    getControllerFactory().getConfirmationController().requestConfirmation(request, IConfirmationController.USER_PROFILE);
    SoundController ctrl = inject(SoundController.class);
    if (ctrl != null) {
        ctrl.playAlert();
    }
}
Also used : SoundController(com.waz.zclient.media.SoundController) ConfirmationCallback(com.waz.zclient.controllers.confirmation.ConfirmationCallback) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) GlobalTrackingController(com.waz.zclient.tracking.GlobalTrackingController) BlockingEvent(com.waz.zclient.controllers.tracking.events.connect.BlockingEvent) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) OptionsTheme(com.waz.zclient.ui.theme.OptionsTheme) ConfirmationRequest(com.waz.zclient.controllers.confirmation.ConfirmationRequest)

Example 3 with BlockingEvent

use of com.waz.zclient.controllers.tracking.events.connect.BlockingEvent in project wire-android by wireapp.

the class ParticipantFragment method showBlockUserConfirmation.

private void showBlockUserConfirmation(final User user) {
    ConfirmationCallback callback = new TwoButtonConfirmationCallback() {

        @Override
        public void positiveButtonClicked(boolean checkboxIsSelected) {
            getStoreFactory().getConversationStore().setCurrentConversationToNext(ConversationChangeRequester.BLOCK_USER);
            getStoreFactory().getConnectStore().blockUser(user);
            getControllerFactory().getConversationScreenController().hideUser();
            if (LayoutSpec.isTablet(getActivity())) {
                getControllerFactory().getConversationScreenController().hideParticipants(false, true);
            }
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.BLOCK));
        }

        @Override
        public void negativeButtonClicked() {
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.CANCEL));
        }

        @Override
        public void onHideAnimationEnd(boolean confirmed, boolean canceled, boolean checkboxIsSelected) {
        }
    };
    String header = getString(R.string.confirmation_menu__block_header);
    String text = getString(R.string.confirmation_menu__block_text_with_name, user.getDisplayName());
    String confirm = getString(R.string.confirmation_menu__confirm_block);
    String cancel = getString(R.string.confirmation_menu__cancel);
    OptionsTheme optionsTheme = getControllerFactory().getThemeController().getThemeDependentOptionsTheme();
    ConfirmationRequest request = new ConfirmationRequest.Builder().withHeader(header).withMessage(text).withPositiveButton(confirm).withNegativeButton(cancel).withConfirmationCallback(callback).withWireTheme(optionsTheme).build();
    getControllerFactory().getConfirmationController().requestConfirmation(request, IConfirmationController.PARTICIPANTS);
    SoundController ctrl = inject(SoundController.class);
    if (ctrl != null) {
        ctrl.playAlert();
    }
}
Also used : SoundController(com.waz.zclient.media.SoundController) ConfirmationCallback(com.waz.zclient.controllers.confirmation.ConfirmationCallback) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) GlobalTrackingController(com.waz.zclient.tracking.GlobalTrackingController) BlockingEvent(com.waz.zclient.controllers.tracking.events.connect.BlockingEvent) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) OptionsTheme(com.waz.zclient.ui.theme.OptionsTheme) ConfirmationRequest(com.waz.zclient.controllers.confirmation.ConfirmationRequest)

Example 4 with BlockingEvent

use of com.waz.zclient.controllers.tracking.events.connect.BlockingEvent in project wire-android by wireapp.

the class PendingConnectRequestManagerFragment method showBlockUserConfirmation.

private void showBlockUserConfirmation(final User user) {
    getControllerFactory().getNavigationController().setRightPage(Page.CONFIRMATION_DIALOG, TAG);
    ConfirmationCallback callback = new TwoButtonConfirmationCallback() {

        @Override
        public void positiveButtonClicked(boolean checkboxIsSelected) {
            getStoreFactory().getConnectStore().blockUser(user);
            final IConnectStore.UserRequester userRequester = IConnectStore.UserRequester.valueOf(getArguments().getString(ARGUMENT_USER_REQUESTER));
            getStoreFactory().getConnectStore().blockUser(user);
            switch(userRequester) {
                case CONVERSATION:
                    getStoreFactory().getConversationStore().setCurrentConversationToNext(ConversationChangeRequester.BLOCK_USER);
                    break;
                case SEARCH:
                case POPOVER:
                    getControllerFactory().getPickUserController().hideUserProfile();
                    break;
            }
            ((BaseScalaActivity) getActivity()).injectJava(GlobalTrackingController.class).tagEvent(new BlockingEvent(BlockingEvent.ConformationResponse.BLOCK));
        }

        @Override
        public void negativeButtonClicked() {
        }

        @Override
        public void onHideAnimationEnd(boolean confirmed, boolean canceled, boolean checkboxIsSelected) {
            restoreCurrentPageAfterClosingOverlay();
        }
    };
    String header = getString(R.string.confirmation_menu__block_header);
    String text = getString(R.string.confirmation_menu__block_text_with_name, user.getDisplayName());
    String confirm = getString(R.string.confirmation_menu__confirm_block);
    String cancel = getString(R.string.confirmation_menu__cancel);
    ConfirmationRequest request = new ConfirmationRequest.Builder().withHeader(header).withMessage(text).withPositiveButton(confirm).withNegativeButton(cancel).withConfirmationCallback(callback).withWireTheme(getControllerFactory().getThemeController().getThemeDependentOptionsTheme()).build();
    getControllerFactory().getConfirmationController().requestConfirmation(request, IConfirmationController.USER_PROFILE);
    SoundController ctrl = inject(SoundController.class);
    if (ctrl != null) {
        ctrl.playAlert();
    }
}
Also used : SoundController(com.waz.zclient.media.SoundController) ConfirmationCallback(com.waz.zclient.controllers.confirmation.ConfirmationCallback) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) GlobalTrackingController(com.waz.zclient.tracking.GlobalTrackingController) IConnectStore(com.waz.zclient.core.stores.connect.IConnectStore) BlockingEvent(com.waz.zclient.controllers.tracking.events.connect.BlockingEvent) TwoButtonConfirmationCallback(com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback) ConfirmationRequest(com.waz.zclient.controllers.confirmation.ConfirmationRequest)

Aggregations

ConfirmationCallback (com.waz.zclient.controllers.confirmation.ConfirmationCallback)4 ConfirmationRequest (com.waz.zclient.controllers.confirmation.ConfirmationRequest)4 TwoButtonConfirmationCallback (com.waz.zclient.controllers.confirmation.TwoButtonConfirmationCallback)4 BlockingEvent (com.waz.zclient.controllers.tracking.events.connect.BlockingEvent)4 SoundController (com.waz.zclient.media.SoundController)4 GlobalTrackingController (com.waz.zclient.tracking.GlobalTrackingController)4 OptionsTheme (com.waz.zclient.ui.theme.OptionsTheme)2 IConnectStore (com.waz.zclient.core.stores.connect.IConnectStore)1