Example usage for android.animation AnimatorSet setDuration

List of usage examples for android.animation AnimatorSet setDuration

Introduction

In this page you can find the example usage for android.animation AnimatorSet setDuration.

Prototype

@Override
public AnimatorSet setDuration(long duration) 

Source Link

Document

Sets the length of each of the current child animations of this AnimatorSet.

Usage

From source file:net.bluehack.ui.ChatActivity.java

private void createMenu(View v, boolean single) {
    if (actionBar.isActionModeShowed()) {
        return;//from  w w w  . j  a v a2  s  . co m
    }

    MessageObject message = null;
    if (v instanceof ChatMessageCell) {
        message = ((ChatMessageCell) v).getMessageObject();
    } else if (v instanceof ChatActionCell) {
        message = ((ChatActionCell) v).getMessageObject();
    }
    if (message == null) {
        return;
    }
    final int type = getMessageType(message);
    if (single && message.messageOwner.action instanceof TLRPC.TL_messageActionPinMessage) {
        scrollToMessageId(message.messageOwner.reply_to_msg_id, 0, true, 0);
        return;
    }

    selectedObject = null;
    forwaringMessage = null;
    for (int a = 1; a >= 0; a--) {
        selectedMessagesCanCopyIds[a].clear();
        selectedMessagesIds[a].clear();
    }
    cantDeleteMessagesCount = 0;
    actionBar.hideActionMode();
    updatePinnedMessageView(true);

    boolean allowChatActions = true;
    boolean allowPin = message.getDialogId() != mergeDialogId && message.getId() > 0
            && ChatObject.isChannel(currentChat) && currentChat.megagroup
            && (currentChat.creator || currentChat.editor) && (message.messageOwner.action == null
                    || message.messageOwner.action instanceof TLRPC.TL_messageActionEmpty);
    boolean allowUnpin = message.getDialogId() != mergeDialogId && info != null
            && info.pinned_msg_id == message.getId() && (currentChat.creator || currentChat.editor);
    boolean allowEdit = message.canEditMessage(currentChat) && !chatActivityEnterView.hasAudioToSend()
            && message.getDialogId() != mergeDialogId;
    if (currentEncryptedChat != null && AndroidUtilities.getPeerLayerVersion(currentEncryptedChat.layer) < 46
            || type == 1 && message.getDialogId() == mergeDialogId
            || currentEncryptedChat == null && message.getId() < 0 || isBroadcast
            || currentChat != null && (ChatObject.isNotInChat(currentChat) || ChatObject.isChannel(currentChat)
                    && !currentChat.creator && !currentChat.editor && !currentChat.megagroup)) {
        allowChatActions = false;
    }

    if (single || type < 2 || type == 20) {
        if (type >= 0) {
            selectedObject = message;
            if (getParentActivity() == null) {
                return;
            }
            AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());

            ArrayList<CharSequence> items = new ArrayList<>();
            final ArrayList<Integer> options = new ArrayList<>();

            if (type == 0) {
                items.add(LocaleController.getString("Retry", R.string.Retry));
                options.add(0);
                items.add(LocaleController.getString("Delete", R.string.Delete));
                options.add(1);
            } else if (type == 1) {
                if (currentChat != null && !isBroadcast) {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", R.string.Reply));
                        options.add(8);
                    }
                    if (allowUnpin) {
                        items.add(LocaleController.getString("UnpinMessage", R.string.UnpinMessage));
                        options.add(14);
                    } else if (allowPin) {
                        items.add(LocaleController.getString("PinMessage", R.string.PinMessage));
                        options.add(13);
                    }
                    if (allowEdit) {
                        items.add(LocaleController.getString("Edit", R.string.Edit));
                        options.add(12);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", R.string.Delete));
                        options.add(1);
                    }
                } else {
                    if (single && selectedObject.getId() > 0 && allowChatActions) {
                        items.add(LocaleController.getString("Reply", R.string.Reply));
                        options.add(8);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", R.string.Delete));
                        options.add(1);
                    }
                }
            } else if (type == 20) {
                items.add(LocaleController.getString("Retry", R.string.Retry));
                options.add(0);
                items.add(LocaleController.getString("Copy", R.string.Copy));
                options.add(3);
                items.add(LocaleController.getString("Delete", R.string.Delete));
                options.add(1);
            } else {
                if (currentEncryptedChat == null) {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", R.string.Reply));
                        options.add(8);
                    }
                    if (selectedObject.type == 0 || selectedObject.caption != null) {
                        items.add(LocaleController.getString("Copy", R.string.Copy));
                        options.add(3);
                    }
                    if (type == 3) {
                        if (selectedObject.messageOwner.media instanceof TLRPC.TL_messageMediaWebPage
                                && MessageObject
                                        .isNewGifDocument(selectedObject.messageOwner.media.webpage.document)) {
                            items.add(LocaleController.getString("SaveToGIFs", R.string.SaveToGIFs));
                            options.add(11);
                        }
                    } else if (type == 4) {
                        if (selectedObject.isVideo()) {
                            items.add(LocaleController.getString("SaveToGallery", R.string.SaveToGallery));
                            options.add(4);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.isMusic()) {
                            items.add(LocaleController.getString("SaveToMusic", R.string.SaveToMusic));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.getDocument() != null) {
                            if (MessageObject.isNewGifDocument(selectedObject.getDocument())) {
                                items.add(LocaleController.getString("SaveToGIFs", R.string.SaveToGIFs));
                                options.add(11);
                            }
                            items.add(LocaleController.getString("SaveToDownloads", R.string.SaveToDownloads));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else {
                            items.add(LocaleController.getString("SaveToGallery", R.string.SaveToGallery));
                            options.add(4);
                        }
                    } else if (type == 5) {
                        items.add(LocaleController.getString("ApplyLocalizationFile",
                                R.string.ApplyLocalizationFile));
                        options.add(5);
                        items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                        options.add(6);
                    } else if (type == 6) {
                        items.add(LocaleController.getString("SaveToGallery", R.string.SaveToGallery));
                        options.add(7);
                        items.add(LocaleController.getString("SaveToDownloads", R.string.SaveToDownloads));
                        options.add(10);
                        items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                        options.add(6);
                    } else if (type == 7) {
                        if (selectedObject.isMask()) {
                            items.add(LocaleController.getString("AddToMasks", R.string.AddToMasks));
                        } else {
                            items.add(LocaleController.getString("AddToStickers", R.string.AddToStickers));
                        }
                        options.add(9);
                    } else if (type == 8) {
                        TLRPC.User user = MessagesController.getInstance()
                                .getUser(selectedObject.messageOwner.media.user_id);
                        if (user != null && user.id != UserConfig.getClientUserId()
                                && ContactsController.getInstance().contactsDict.get(user.id) == null) {
                            items.add(LocaleController.getString("AddContactTitle", R.string.AddContactTitle));
                            options.add(15);
                        }
                        if (selectedObject.messageOwner.media.phone_number != null
                                || selectedObject.messageOwner.media.phone_number.length() != 0) {
                            items.add(LocaleController.getString("Copy", R.string.Copy));
                            options.add(16);
                            items.add(LocaleController.getString("Call", R.string.Call));
                            options.add(17);
                        }
                    }
                    items.add(LocaleController.getString("Forward", R.string.Forward));
                    options.add(2);
                    if (allowUnpin) {
                        items.add(LocaleController.getString("UnpinMessage", R.string.UnpinMessage));
                        options.add(14);
                    } else if (allowPin) {
                        items.add(LocaleController.getString("PinMessage", R.string.PinMessage));
                        options.add(13);
                    }
                    if (allowEdit) {
                        items.add(LocaleController.getString("Edit", R.string.Edit));
                        options.add(12);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", R.string.Delete));
                        options.add(1);
                    }
                } else {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", R.string.Reply));
                        options.add(8);
                    }
                    if (selectedObject.type == 0 || selectedObject.caption != null) {
                        items.add(LocaleController.getString("Copy", R.string.Copy));
                        options.add(3);
                    }
                    if (type == 4) {
                        if (selectedObject.isVideo()) {
                            items.add(LocaleController.getString("SaveToGallery", R.string.SaveToGallery));
                            options.add(4);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.isMusic()) {
                            items.add(LocaleController.getString("SaveToMusic", R.string.SaveToMusic));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else if (!selectedObject.isVideo() && selectedObject.getDocument() != null) {
                            items.add(LocaleController.getString("SaveToDownloads", R.string.SaveToDownloads));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile", R.string.ShareFile));
                            options.add(6);
                        } else {
                            items.add(LocaleController.getString("SaveToGallery", R.string.SaveToGallery));
                            options.add(4);
                        }
                    } else if (type == 5) {
                        items.add(LocaleController.getString("ApplyLocalizationFile",
                                R.string.ApplyLocalizationFile));
                        options.add(5);
                    } else if (type == 7) {
                        items.add(LocaleController.getString("AddToStickers", R.string.AddToStickers));
                        options.add(9);
                    }
                    items.add(LocaleController.getString("Delete", R.string.Delete));
                    options.add(1);
                }
            }

            if (options.isEmpty()) {
                return;
            }
            final CharSequence[] finalItems = items.toArray(new CharSequence[items.size()]);
            builder.setItems(finalItems, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    if (selectedObject == null || i < 0 || i >= options.size()) {
                        return;
                    }
                    processSelectedOption(options.get(i));
                }
            });

            builder.setTitle(LocaleController.getString("Message", R.string.Message));
            showDialog(builder.create());
        }
        return;
    }

    final ActionBarMenu actionMode = actionBar.createActionMode();
    View item = actionMode.getItem(forward);
    if (item != null) {
        item.setVisibility(View.VISIBLE);
    }
    item = actionMode.getItem(delete);
    if (item != null) {
        item.setVisibility(View.VISIBLE);
    }
    if (editDoneItem != null) {
        editDoneItem.setVisibility(View.GONE);
    }

    actionBar.showActionMode();
    updatePinnedMessageView(true);

    AnimatorSet animatorSet = new AnimatorSet();
    ArrayList<Animator> animators = new ArrayList<>();
    for (int a = 0; a < actionModeViews.size(); a++) {
        View view = actionModeViews.get(a);
        AndroidUtilities.clearDrawableAnimation(view);
        animators.add(ObjectAnimator.ofFloat(view, "scaleY", 0.1f, 1.0f));
    }
    animatorSet.playTogether(animators);
    animatorSet.setDuration(250);
    animatorSet.start();

    addToSelectedMessages(message);
    selectedMessagesCountTextView.setNumber(1, false);
    updateVisibleRows();
}

From source file:kr.wdream.ui.ChatActivity.java

private void createMenu(View v, boolean single) {
    if (actionBar.isActionModeShowed()) {
        return;/*from  w  w w .  j  av  a2 s .  c  om*/
    }

    MessageObject message = null;
    if (v instanceof ChatMessageCell) {
        message = ((ChatMessageCell) v).getMessageObject();
    } else if (v instanceof ChatActionCell) {
        message = ((ChatActionCell) v).getMessageObject();
    }
    if (message == null) {
        return;
    }
    final int type = getMessageType(message);
    if (single && message.messageOwner.action instanceof TLRPC.TL_messageActionPinMessage) {
        scrollToMessageId(message.messageOwner.reply_to_msg_id, 0, true, 0);
        return;
    }

    selectedObject = null;
    forwaringMessage = null;
    for (int a = 1; a >= 0; a--) {
        selectedMessagesCanCopyIds[a].clear();
        selectedMessagesIds[a].clear();
    }
    cantDeleteMessagesCount = 0;
    actionBar.hideActionMode();
    updatePinnedMessageView(true);

    boolean allowChatActions = true;
    boolean allowPin = message.getDialogId() != mergeDialogId && message.getId() > 0
            && ChatObject.isChannel(currentChat) && currentChat.megagroup
            && (currentChat.creator || currentChat.editor) && (message.messageOwner.action == null
                    || message.messageOwner.action instanceof TLRPC.TL_messageActionEmpty);
    boolean allowUnpin = message.getDialogId() != mergeDialogId && info != null
            && info.pinned_msg_id == message.getId() && (currentChat.creator || currentChat.editor);
    boolean allowEdit = message.canEditMessage(currentChat) && !chatActivityEnterView.hasAudioToSend()
            && message.getDialogId() != mergeDialogId;
    if (currentEncryptedChat != null && AndroidUtilities.getPeerLayerVersion(currentEncryptedChat.layer) < 46
            || type == 1 && message.getDialogId() == mergeDialogId
            || currentEncryptedChat == null && message.getId() < 0 || isBroadcast
            || currentChat != null && (ChatObject.isNotInChat(currentChat) || ChatObject.isChannel(currentChat)
                    && !currentChat.creator && !currentChat.editor && !currentChat.megagroup)) {
        allowChatActions = false;
    }

    if (single || type < 2 || type == 20) {
        if (type >= 0) {
            selectedObject = message;
            if (getParentActivity() == null) {
                return;
            }
            AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());

            ArrayList<CharSequence> items = new ArrayList<>();
            final ArrayList<Integer> options = new ArrayList<>();

            if (type == 0) {
                items.add(LocaleController.getString("Retry", kr.wdream.storyshop.R.string.Retry));
                options.add(0);
                items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                options.add(1);
            } else if (type == 1) {
                if (currentChat != null && !isBroadcast) {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", kr.wdream.storyshop.R.string.Reply));
                        options.add(8);
                    }
                    if (allowUnpin) {
                        items.add(LocaleController.getString("UnpinMessage",
                                kr.wdream.storyshop.R.string.UnpinMessage));
                        options.add(14);
                    } else if (allowPin) {
                        items.add(LocaleController.getString("PinMessage",
                                kr.wdream.storyshop.R.string.PinMessage));
                        options.add(13);
                    }
                    if (allowEdit) {
                        items.add(LocaleController.getString("Edit", kr.wdream.storyshop.R.string.Edit));
                        options.add(12);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                        options.add(1);
                    }
                } else {
                    if (single && selectedObject.getId() > 0 && allowChatActions) {
                        items.add(LocaleController.getString("Reply", kr.wdream.storyshop.R.string.Reply));
                        options.add(8);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                        options.add(1);
                    }
                }
            } else if (type == 20) {
                items.add(LocaleController.getString("Retry", kr.wdream.storyshop.R.string.Retry));
                options.add(0);
                items.add(LocaleController.getString("Copy", kr.wdream.storyshop.R.string.Copy));
                options.add(3);
                items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                options.add(1);
            } else {
                if (currentEncryptedChat == null) {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", kr.wdream.storyshop.R.string.Reply));
                        options.add(8);
                    }
                    if (selectedObject.type == 0 || selectedObject.caption != null) {
                        items.add(LocaleController.getString("Copy", kr.wdream.storyshop.R.string.Copy));
                        options.add(3);
                    }
                    if (type == 3) {
                        if (selectedObject.messageOwner.media instanceof TLRPC.TL_messageMediaWebPage
                                && MessageObject
                                        .isNewGifDocument(selectedObject.messageOwner.media.webpage.document)) {
                            items.add(LocaleController.getString("SaveToGIFs",
                                    kr.wdream.storyshop.R.string.SaveToGIFs));
                            options.add(11);
                        }
                    } else if (type == 4) {
                        if (selectedObject.isVideo()) {
                            items.add(LocaleController.getString("SaveToGallery",
                                    kr.wdream.storyshop.R.string.SaveToGallery));
                            options.add(4);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.isMusic()) {
                            items.add(LocaleController.getString("SaveToMusic",
                                    kr.wdream.storyshop.R.string.SaveToMusic));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.getDocument() != null) {
                            if (MessageObject.isNewGifDocument(selectedObject.getDocument())) {
                                items.add(LocaleController.getString("SaveToGIFs",
                                        kr.wdream.storyshop.R.string.SaveToGIFs));
                                options.add(11);
                            }
                            items.add(LocaleController.getString("SaveToDownloads",
                                    kr.wdream.storyshop.R.string.SaveToDownloads));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else {
                            items.add(LocaleController.getString("SaveToGallery",
                                    kr.wdream.storyshop.R.string.SaveToGallery));
                            options.add(4);
                        }
                    } else if (type == 5) {
                        items.add(LocaleController.getString("ApplyLocalizationFile",
                                kr.wdream.storyshop.R.string.ApplyLocalizationFile));
                        options.add(5);
                        items.add(LocaleController.getString("ShareFile",
                                kr.wdream.storyshop.R.string.ShareFile));
                        options.add(6);
                    } else if (type == 6) {
                        items.add(LocaleController.getString("SaveToGallery",
                                kr.wdream.storyshop.R.string.SaveToGallery));
                        options.add(7);
                        items.add(LocaleController.getString("SaveToDownloads",
                                kr.wdream.storyshop.R.string.SaveToDownloads));
                        options.add(10);
                        items.add(LocaleController.getString("ShareFile",
                                kr.wdream.storyshop.R.string.ShareFile));
                        options.add(6);
                    } else if (type == 7) {
                        if (selectedObject.isMask()) {
                            items.add(LocaleController.getString("AddToMasks",
                                    kr.wdream.storyshop.R.string.AddToMasks));
                        } else {
                            items.add(LocaleController.getString("AddToStickers",
                                    kr.wdream.storyshop.R.string.AddToStickers));
                        }
                        options.add(9);
                    } else if (type == 8) {
                        TLRPC.User user = MessagesController.getInstance()
                                .getUser(selectedObject.messageOwner.media.user_id);
                        if (user != null && user.id != UserConfig.getClientUserId()
                                && ContactsController.getInstance().contactsDict.get(user.id) == null) {
                            items.add(LocaleController.getString("AddContactTitle",
                                    kr.wdream.storyshop.R.string.AddContactTitle));
                            options.add(15);
                        }
                        if (selectedObject.messageOwner.media.phone_number != null
                                || selectedObject.messageOwner.media.phone_number.length() != 0) {
                            items.add(LocaleController.getString("Copy", kr.wdream.storyshop.R.string.Copy));
                            options.add(16);
                            items.add(LocaleController.getString("Call", kr.wdream.storyshop.R.string.Call));
                            options.add(17);
                        }
                    }
                    items.add(LocaleController.getString("Forward", kr.wdream.storyshop.R.string.Forward));
                    options.add(2);
                    if (allowUnpin) {
                        items.add(LocaleController.getString("UnpinMessage",
                                kr.wdream.storyshop.R.string.UnpinMessage));
                        options.add(14);
                    } else if (allowPin) {
                        items.add(LocaleController.getString("PinMessage",
                                kr.wdream.storyshop.R.string.PinMessage));
                        options.add(13);
                    }
                    if (allowEdit) {
                        items.add(LocaleController.getString("Edit", kr.wdream.storyshop.R.string.Edit));
                        options.add(12);
                    }
                    if (message.canDeleteMessage(currentChat)) {
                        items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                        options.add(1);
                    }
                } else {
                    if (allowChatActions) {
                        items.add(LocaleController.getString("Reply", kr.wdream.storyshop.R.string.Reply));
                        options.add(8);
                    }
                    if (selectedObject.type == 0 || selectedObject.caption != null) {
                        items.add(LocaleController.getString("Copy", kr.wdream.storyshop.R.string.Copy));
                        options.add(3);
                    }
                    if (type == 4) {
                        if (selectedObject.isVideo()) {
                            items.add(LocaleController.getString("SaveToGallery",
                                    kr.wdream.storyshop.R.string.SaveToGallery));
                            options.add(4);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else if (selectedObject.isMusic()) {
                            items.add(LocaleController.getString("SaveToMusic",
                                    kr.wdream.storyshop.R.string.SaveToMusic));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else if (!selectedObject.isVideo() && selectedObject.getDocument() != null) {
                            items.add(LocaleController.getString("SaveToDownloads",
                                    kr.wdream.storyshop.R.string.SaveToDownloads));
                            options.add(10);
                            items.add(LocaleController.getString("ShareFile",
                                    kr.wdream.storyshop.R.string.ShareFile));
                            options.add(6);
                        } else {
                            items.add(LocaleController.getString("SaveToGallery",
                                    kr.wdream.storyshop.R.string.SaveToGallery));
                            options.add(4);
                        }
                    } else if (type == 5) {
                        items.add(LocaleController.getString("ApplyLocalizationFile",
                                kr.wdream.storyshop.R.string.ApplyLocalizationFile));
                        options.add(5);
                    } else if (type == 7) {
                        items.add(LocaleController.getString("AddToStickers",
                                kr.wdream.storyshop.R.string.AddToStickers));
                        options.add(9);
                    }
                    items.add(LocaleController.getString("Delete", kr.wdream.storyshop.R.string.Delete));
                    options.add(1);
                }
            }

            if (options.isEmpty()) {
                return;
            }
            final CharSequence[] finalItems = items.toArray(new CharSequence[items.size()]);
            builder.setItems(finalItems, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    if (selectedObject == null || i < 0 || i >= options.size()) {
                        return;
                    }
                    processSelectedOption(options.get(i));
                }
            });

            builder.setTitle(LocaleController.getString("Message", kr.wdream.storyshop.R.string.Message));
            showDialog(builder.create());
        }
        return;
    }

    final ActionBarMenu actionMode = actionBar.createActionMode();
    View item = actionMode.getItem(forward);
    if (item != null) {
        item.setVisibility(View.VISIBLE);
    }
    item = actionMode.getItem(delete);
    if (item != null) {
        item.setVisibility(View.VISIBLE);
    }
    if (editDoneItem != null) {
        editDoneItem.setVisibility(View.GONE);
    }

    actionBar.showActionMode();
    updatePinnedMessageView(true);

    AnimatorSet animatorSet = new AnimatorSet();
    ArrayList<Animator> animators = new ArrayList<>();
    for (int a = 0; a < actionModeViews.size(); a++) {
        View view = actionModeViews.get(a);
        AndroidUtilities.clearDrawableAnimation(view);
        animators.add(ObjectAnimator.ofFloat(view, "scaleY", 0.1f, 1.0f));
    }
    animatorSet.playTogether(animators);
    animatorSet.setDuration(250);
    animatorSet.start();

    addToSelectedMessages(message);
    selectedMessagesCountTextView.setNumber(1, false);
    updateVisibleRows();
}

From source file:com.phonemetra.turbo.launcher.Workspace.java

Animator getChangeStateAnimation(final State state, boolean animated, int delay, int snapPage) {
    if (mState == state) {
        return null;
    }/* w  w  w  . ja v  a  2s  .  c  o m*/

    // Initialize animation arrays for the first time if necessary
    initAnimationArrays();

    AnimatorSet anim = animated ? LauncherAnimUtils.createAnimatorSet() : null;

    final State oldState = mState;
    final boolean oldStateIsNormal = (oldState == State.NORMAL);
    final boolean oldStateIsSpringLoaded = (oldState == State.SPRING_LOADED);
    final boolean oldStateIsSmall = (oldState == State.SMALL);
    final boolean oldStateIsOverview = (oldState == State.OVERVIEW);
    setState(state);
    final boolean stateIsNormal = (state == State.NORMAL);
    final boolean stateIsSpringLoaded = (state == State.SPRING_LOADED);
    final boolean stateIsSmall = (state == State.SMALL);
    final boolean stateIsOverview = (state == State.OVERVIEW);
    float finalBackgroundAlpha = (stateIsSpringLoaded || stateIsOverview) ? 1.0f : 0f;
    float finalBackgroundAlphaMultiplier = (stateIsSpringLoaded || stateIsOverview || mShowOutlines) ? 1.0f
            : 0f;
    float finalHotseatAndPageIndicatorAlpha = (stateIsOverview || stateIsSmall) ? 0f : 1f;
    float finalOverviewPanelAlpha = stateIsOverview ? 1f : 0f;
    float finalSearchBarAlpha = !stateIsNormal ? 0f : 1f;
    float finalWorkspaceTranslationY = stateIsOverview ? getOverviewModeTranslationY() : 0;

    boolean workspaceToAllApps = (oldStateIsNormal && stateIsSmall);
    boolean allAppsToWorkspace = (oldStateIsSmall && stateIsNormal);
    boolean workspaceToOverview = (oldStateIsNormal && stateIsOverview);
    boolean overviewToWorkspace = (oldStateIsOverview && stateIsNormal);

    mNewScale = 1.0f;

    if (oldStateIsOverview) {
        disableFreeScroll();
    } else if (stateIsOverview) {
        updateFreescrollBounds();
    }

    if (state != State.NORMAL) {
        if (stateIsSpringLoaded) {
            mNewScale = mSpringLoadedShrinkFactor;
        } else if (stateIsOverview) {
            mNewScale = getOverviewModeScaleY();
        } else if (stateIsSmall) {
            mNewScale = mOverviewModeShrinkFactor - 0.3f;
        }
        if (workspaceToAllApps) {
            updateChildrenLayersEnabled(false);
        }
    }

    final int duration;
    if (workspaceToAllApps) {
        duration = getResources().getInteger(R.integer.config_workspaceUnshrinkTime);
    } else if (workspaceToOverview || overviewToWorkspace) {
        duration = getResources().getInteger(R.integer.config_overviewTransitionTime);
    } else {
        duration = getResources().getInteger(R.integer.config_appsCustomizeWorkspaceShrinkTime);
    }

    if (snapPage == -1) {
        snapPage = getPageNearestToCenterOfScreen();
    }
    snapToPage(snapPage, duration, mZoomInInterpolator);

    for (int i = 0; i < getChildCount(); i++) {
        final CellLayout cl = (CellLayout) getChildAt(i);
        boolean isCurrentPage = (i == snapPage);
        float initialAlpha = cl.getShortcutsAndWidgets().getAlpha();
        float finalAlpha;
        if (stateIsSmall) {
            finalAlpha = 0f;
        } else if (stateIsNormal && mWorkspaceFadeInAdjacentScreens) {
            finalAlpha = (i == snapPage || i < numCustomPages()) ? 1f : 0f;
        } else {
            finalAlpha = 1f;
        }

        if (stateIsOverview) {
            cl.setVisibility(VISIBLE);
            cl.setTranslationX(0f);
            cl.setTranslationY(0f);
            cl.setPivotX(cl.getMeasuredWidth() * 0.5f);
            cl.setPivotY(cl.getMeasuredHeight() * 0.5f);
            cl.setRotation(0f);
            cl.setRotationY(0f);
            cl.setRotationX(0f);
            cl.setScaleX(1f);
            cl.setScaleY(1f);
            cl.setShortcutAndWidgetAlpha(1f);
        }

        // If we are animating to/from the small state, then hide the side pages and fade the
        // current page in
        if (!mIsSwitchingState) {
            if (workspaceToAllApps || allAppsToWorkspace) {
                if (allAppsToWorkspace && isCurrentPage) {
                    initialAlpha = 0f;
                } else if (!isCurrentPage) {
                    initialAlpha = finalAlpha = 0f;
                }
                cl.setShortcutAndWidgetAlpha(initialAlpha);
            }
        }

        mOldAlphas[i] = initialAlpha;
        mNewAlphas[i] = finalAlpha;
        if (animated) {
            mOldBackgroundAlphas[i] = cl.getBackgroundAlpha();
            mOldBackgroundAlphaMultipliers[i] = cl.getBackgroundAlphaMultiplier();
            mNewBackgroundAlphas[i] = finalBackgroundAlpha;
            mNewBackgroundAlphaMultipliers[i] = finalBackgroundAlphaMultiplier;
        } else {
            cl.setBackgroundAlpha(finalBackgroundAlpha);
            cl.setBackgroundAlphaMultiplier(finalBackgroundAlphaMultiplier);
            cl.setShortcutAndWidgetAlpha(finalAlpha);
        }
    }

    final View searchBar = mLauncher.getQsbBar();
    final View overviewPanel = mLauncher.getOverviewPanel();
    final View hotseat = mLauncher.getHotseat();
    final View pageIndicator = getPageIndicator();
    if (animated) {
        anim.setDuration(duration);
        LauncherViewPropertyAnimator scale = new LauncherViewPropertyAnimator(this);
        scale.scaleX(mNewScale).scaleY(mNewScale).translationY(finalWorkspaceTranslationY)
                .setInterpolator(mZoomInInterpolator);
        anim.play(scale);
        for (int index = 0; index < getChildCount(); index++) {
            final int i = index;
            final CellLayout cl = (CellLayout) getChildAt(i);
            float currentAlpha = cl.getShortcutsAndWidgets().getAlpha();
            if (mOldAlphas[i] == 0 && mNewAlphas[i] == 0) {
                cl.setBackgroundAlpha(mNewBackgroundAlphas[i]);
                cl.setShortcutAndWidgetAlpha(mNewAlphas[i]);
            } else {
                if (mOldAlphas[i] != mNewAlphas[i] || currentAlpha != mNewAlphas[i]) {
                    LauncherViewPropertyAnimator alphaAnim = new LauncherViewPropertyAnimator(
                            cl.getShortcutsAndWidgets());
                    alphaAnim.alpha(mNewAlphas[i]).setInterpolator(mZoomInInterpolator);
                    anim.play(alphaAnim);
                }
                if (mOldBackgroundAlphas[i] != 0 || mNewBackgroundAlphas[i] != 0) {
                    ValueAnimator bgAnim = LauncherAnimUtils.ofFloat(cl, 0f, 1f);
                    bgAnim.setInterpolator(mZoomInInterpolator);
                    bgAnim.addUpdateListener(new LauncherAnimatorUpdateListener() {
                        public void onAnimationUpdate(float a, float b) {
                            cl.setBackgroundAlpha(a * mOldBackgroundAlphas[i] + b * mNewBackgroundAlphas[i]);
                            cl.setBackgroundAlphaMultiplier(a * mOldBackgroundAlphaMultipliers[i]
                                    + b * mNewBackgroundAlphaMultipliers[i]);
                        }
                    });
                    anim.play(bgAnim);
                }
            }
        }
        Animator pageIndicatorAlpha = null;
        if (pageIndicator != null) {
            pageIndicatorAlpha = new LauncherViewPropertyAnimator(pageIndicator)
                    .alpha(finalHotseatAndPageIndicatorAlpha).withLayer();
            pageIndicatorAlpha.addListener(new AlphaUpdateListener(pageIndicator));
        } else {
            // create a dummy animation so we don't need to do null checks later
            pageIndicatorAlpha = ValueAnimator.ofFloat(0, 0);
        }

        Animator hotseatAlpha = new LauncherViewPropertyAnimator(hotseat)
                .alpha(finalHotseatAndPageIndicatorAlpha).withLayer();
        hotseatAlpha.addListener(new AlphaUpdateListener(hotseat));

        Animator searchBarAlpha = new LauncherViewPropertyAnimator(searchBar).alpha(finalSearchBarAlpha)
                .withLayer();
        if (mShowSearchBar)
            searchBarAlpha.addListener(new AlphaUpdateListener(searchBar));

        Animator overviewPanelAlpha = new LauncherViewPropertyAnimator(overviewPanel)
                .alpha(finalOverviewPanelAlpha).withLayer();
        overviewPanelAlpha.addListener(new AlphaUpdateListener(overviewPanel));

        if (workspaceToOverview) {
            pageIndicatorAlpha.setInterpolator(new DecelerateInterpolator(2));
            hotseatAlpha.setInterpolator(new DecelerateInterpolator(2));
            overviewPanelAlpha.setInterpolator(null);
        } else if (overviewToWorkspace) {
            pageIndicatorAlpha.setInterpolator(null);
            hotseatAlpha.setInterpolator(null);
            overviewPanelAlpha.setInterpolator(new DecelerateInterpolator(2));
        }
        searchBarAlpha.setInterpolator(null);

        overviewPanel.setAlpha(finalOverviewPanelAlpha);
        AlphaUpdateListener.updateVisibility(overviewPanel);
        Animation animation = AnimationUtils.loadAnimation(mLauncher, R.anim.drop_down);
        overviewPanel.startAnimation(animation);
        anim.play(hotseatAlpha);
        if (mShowSearchBar)
            anim.play(searchBarAlpha);
        anim.play(pageIndicatorAlpha);
        anim.setStartDelay(delay);
    } else {
        overviewPanel.setAlpha(finalOverviewPanelAlpha);
        AlphaUpdateListener.updateVisibility(overviewPanel);
        hotseat.setAlpha(finalHotseatAndPageIndicatorAlpha);
        AlphaUpdateListener.updateVisibility(hotseat);
        if (pageIndicator != null) {
            pageIndicator.setAlpha(finalHotseatAndPageIndicatorAlpha);
            AlphaUpdateListener.updateVisibility(pageIndicator);
        }
        if (mShowSearchBar) {
            searchBar.setAlpha(finalSearchBarAlpha);
            AlphaUpdateListener.updateVisibility(searchBar);
        }
        updateCustomContentVisibility();
        setScaleX(mNewScale);
        setScaleY(mNewScale);
        setTranslationY(finalWorkspaceTranslationY);
    }
    mLauncher.updateVoiceButtonProxyVisible(false);

    if (stateIsSpringLoaded) {
        // Right now we're covered by Apps Customize
        // Show the background gradient immediately, so the gradient will
        // be showing once AppsCustomize disappears
        animateBackgroundGradient(
                getResources().getInteger(R.integer.config_appsCustomizeSpringLoadedBgAlpha) / 100f, false);
    } else if (stateIsOverview) {
        animateBackgroundGradient(
                getResources().getInteger(R.integer.config_appsCustomizeSpringLoadedBgAlpha) / 100f, true);
    } else {
        // Fade the background gradient away
        animateBackgroundGradient(0f, animated);
    }
    return anim;
}

From source file:kr.wdream.ui.PhotoViewer.java

public void closePhoto(boolean animated, boolean fromEditMode) {
    if (!fromEditMode && currentEditMode != 0) {
        if (currentEditMode == 3 && photoPaintView != null) {
            photoPaintView.maybeShowDismissalAlert(this, parentActivity, new Runnable() {
                @Override//from   ww w  .j a v a 2 s .c o  m
                public void run() {
                    switchToEditMode(0);
                }
            });
            return;
        }

        if (currentEditMode == 1) {
            photoCropView.cancelAnimationRunnable();
        }
        switchToEditMode(0);
        return;
    }
    try {
        if (visibleDialog != null) {
            visibleDialog.dismiss();
            visibleDialog = null;
        }
    } catch (Exception e) {
        FileLog.e("tmessages", e);
    }

    if (currentEditMode != 0) {
        if (currentEditMode == 2) {
            photoFilterView.shutdown();
            containerView.removeView(photoFilterView);
            photoFilterView = null;
        } else if (currentEditMode == 1) {
            editorDoneLayout.setVisibility(View.GONE);
            photoCropView.setVisibility(View.GONE);
        }
        currentEditMode = 0;
    }

    if (parentActivity == null || !isVisible || checkAnimation() || placeProvider == null) {
        return;
    }
    if (captionEditText.hideActionMode() && !fromEditMode) {
        return;
    }

    releasePlayer();
    captionEditText.onDestroy();
    parentChatActivity = null;
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileDidFailedLoad);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileDidLoaded);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileLoadProgressChanged);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.mediaCountDidLoaded);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.mediaDidLoaded);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.dialogPhotosLoaded);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.emojiDidLoaded);
    ConnectionsManager.getInstance().cancelRequestsForGuid(classGuid);

    isActionBarVisible = false;

    if (velocityTracker != null) {
        velocityTracker.recycle();
        velocityTracker = null;
    }
    ConnectionsManager.getInstance().cancelRequestsForGuid(classGuid);

    final PlaceProviderObject object = placeProvider.getPlaceForPhoto(currentMessageObject, currentFileLocation,
            currentIndex);

    if (animated) {
        animationInProgress = 1;
        animatingImageView.setVisibility(View.VISIBLE);
        containerView.invalidate();

        AnimatorSet animatorSet = new AnimatorSet();

        final ViewGroup.LayoutParams layoutParams = animatingImageView.getLayoutParams();
        Rect drawRegion = null;
        int orientation = centerImage.getOrientation();
        int animatedOrientation = 0;
        if (object != null && object.imageReceiver != null) {
            animatedOrientation = object.imageReceiver.getAnimatedOrientation();
        }
        if (animatedOrientation != 0) {
            orientation = animatedOrientation;
        }
        animatingImageView.setOrientation(orientation);
        if (object != null) {
            animatingImageView.setNeedRadius(object.radius != 0);
            drawRegion = object.imageReceiver.getDrawRegion();
            layoutParams.width = drawRegion.right - drawRegion.left;
            layoutParams.height = drawRegion.bottom - drawRegion.top;
            animatingImageView.setImageBitmap(object.thumb);
        } else {
            animatingImageView.setNeedRadius(false);
            layoutParams.width = centerImage.getImageWidth();
            layoutParams.height = centerImage.getImageHeight();
            animatingImageView.setImageBitmap(centerImage.getBitmap());
        }
        animatingImageView.setLayoutParams(layoutParams);

        float scaleX = (float) AndroidUtilities.displaySize.x / layoutParams.width;
        float scaleY = (float) (AndroidUtilities.displaySize.y
                + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0)) / layoutParams.height;
        float scale2 = scaleX > scaleY ? scaleY : scaleX;
        float width = layoutParams.width * scale * scale2;
        float height = layoutParams.height * scale * scale2;
        float xPos = (AndroidUtilities.displaySize.x - width) / 2.0f;
        float yPos = ((AndroidUtilities.displaySize.y
                + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0)) - height) / 2.0f;
        animatingImageView.setTranslationX(xPos + translationX);
        animatingImageView.setTranslationY(yPos + translationY);
        animatingImageView.setScaleX(scale * scale2);
        animatingImageView.setScaleY(scale * scale2);

        if (object != null) {
            object.imageReceiver.setVisible(false, true);
            int clipHorizontal = Math.abs(drawRegion.left - object.imageReceiver.getImageX());
            int clipVertical = Math.abs(drawRegion.top - object.imageReceiver.getImageY());

            int coords2[] = new int[2];
            object.parentView.getLocationInWindow(coords2);
            int clipTop = coords2[1] - (Build.VERSION.SDK_INT >= 21 ? 0 : AndroidUtilities.statusBarHeight)
                    - (object.viewY + drawRegion.top) + object.clipTopAddition;
            if (clipTop < 0) {
                clipTop = 0;
            }
            int clipBottom = (object.viewY + drawRegion.top + (drawRegion.bottom - drawRegion.top))
                    - (coords2[1] + object.parentView.getHeight()
                            - (Build.VERSION.SDK_INT >= 21 ? 0 : AndroidUtilities.statusBarHeight))
                    + object.clipBottomAddition;
            if (clipBottom < 0) {
                clipBottom = 0;
            }

            clipTop = Math.max(clipTop, clipVertical);
            clipBottom = Math.max(clipBottom, clipVertical);

            animationValues[0][0] = animatingImageView.getScaleX();
            animationValues[0][1] = animatingImageView.getScaleY();
            animationValues[0][2] = animatingImageView.getTranslationX();
            animationValues[0][3] = animatingImageView.getTranslationY();
            animationValues[0][4] = 0;
            animationValues[0][5] = 0;
            animationValues[0][6] = 0;
            animationValues[0][7] = 0;

            animationValues[1][0] = object.scale;
            animationValues[1][1] = object.scale;
            animationValues[1][2] = object.viewX + drawRegion.left * object.scale;
            animationValues[1][3] = object.viewY + drawRegion.top * object.scale;
            animationValues[1][4] = clipHorizontal * object.scale;
            animationValues[1][5] = clipTop * object.scale;
            animationValues[1][6] = clipBottom * object.scale;
            animationValues[1][7] = object.radius;

            animatorSet.playTogether(
                    ObjectAnimator.ofFloat(animatingImageView, "animationProgress", 0.0f, 1.0f),
                    ObjectAnimator.ofInt(backgroundDrawable, "alpha", 0),
                    ObjectAnimator.ofFloat(containerView, "alpha", 0.0f));
        } else {
            int h = (AndroidUtilities.displaySize.y
                    + (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0));
            animatorSet.playTogether(ObjectAnimator.ofInt(backgroundDrawable, "alpha", 0),
                    ObjectAnimator.ofFloat(animatingImageView, "alpha", 0.0f),
                    ObjectAnimator.ofFloat(animatingImageView, "translationY", translationY >= 0 ? h : -h),
                    ObjectAnimator.ofFloat(containerView, "alpha", 0.0f));
        }

        animationEndRunnable = new Runnable() {
            @Override
            public void run() {
                if (Build.VERSION.SDK_INT >= 18) {
                    containerView.setLayerType(View.LAYER_TYPE_NONE, null);
                }
                animationInProgress = 0;
                onPhotoClosed(object);
            }
        };

        animatorSet.setDuration(200);
        animatorSet.addListener(new AnimatorListenerAdapterProxy() {
            @Override
            public void onAnimationEnd(Animator animation) {
                AndroidUtilities.runOnUIThread(new Runnable() {
                    @Override
                    public void run() {
                        if (animationEndRunnable != null) {
                            animationEndRunnable.run();
                            animationEndRunnable = null;
                        }
                    }
                });
            }
        });
        transitionAnimationStartTime = System.currentTimeMillis();
        if (Build.VERSION.SDK_INT >= 18) {
            containerView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        }
        animatorSet.start();
    } else {
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.playTogether(ObjectAnimator.ofFloat(containerView, "scaleX", 0.9f),
                ObjectAnimator.ofFloat(containerView, "scaleY", 0.9f),
                ObjectAnimator.ofInt(backgroundDrawable, "alpha", 0),
                ObjectAnimator.ofFloat(containerView, "alpha", 0.0f));
        animationInProgress = 2;
        animationEndRunnable = new Runnable() {
            @Override
            public void run() {
                if (containerView == null) {
                    return;
                }
                if (Build.VERSION.SDK_INT >= 18) {
                    containerView.setLayerType(View.LAYER_TYPE_NONE, null);
                }
                animationInProgress = 0;
                onPhotoClosed(object);
                containerView.setScaleX(1.0f);
                containerView.setScaleY(1.0f);
            }
        };
        animatorSet.setDuration(200);
        animatorSet.addListener(new AnimatorListenerAdapterProxy() {
            @Override
            public void onAnimationEnd(Animator animation) {
                if (animationEndRunnable != null) {
                    animationEndRunnable.run();
                    animationEndRunnable = null;
                }
            }
        });
        transitionAnimationStartTime = System.currentTimeMillis();
        if (Build.VERSION.SDK_INT >= 18) {
            containerView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        }
        animatorSet.start();
    }
    if (currentAnimation != null) {
        currentAnimation.setSecondParentView(null);
        currentAnimation = null;
        centerImage.setImageBitmap((Drawable) null);
    }
    if (placeProvider instanceof EmptyPhotoViewerProvider) {
        placeProvider.cancelButtonPressed();
    }
}

From source file:org.telegram.ui.ArticleViewer.java

public void closePhoto(boolean animated) {
    if (parentActivity == null || !isPhotoVisible || checkPhotoAnimation()) {
        return;/*  ww  w .j  a  va  2 s  .  c  o m*/
    }

    releasePlayer();
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileDidFailedLoad);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileDidLoaded);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.FileLoadProgressChanged);
    NotificationCenter.getInstance().removeObserver(this, NotificationCenter.emojiDidLoaded);

    isActionBarVisible = false;

    if (velocityTracker != null) {
        velocityTracker.recycle();
        velocityTracker = null;
    }

    final PlaceProviderObject object = getPlaceForPhoto(currentMedia);

    if (animated) {
        photoAnimationInProgress = 1;
        animatingImageView.setVisibility(View.VISIBLE);
        photoContainerView.invalidate();

        AnimatorSet animatorSet = new AnimatorSet();

        final ViewGroup.LayoutParams layoutParams = animatingImageView.getLayoutParams();
        Rect drawRegion = null;
        int orientation = centerImage.getOrientation();
        int animatedOrientation = 0;
        if (object != null && object.imageReceiver != null) {
            animatedOrientation = object.imageReceiver.getAnimatedOrientation();
        }
        if (animatedOrientation != 0) {
            orientation = animatedOrientation;
        }
        animatingImageView.setOrientation(orientation);
        if (object != null) {
            animatingImageView.setNeedRadius(object.radius != 0);
            drawRegion = object.imageReceiver.getDrawRegion();
            layoutParams.width = drawRegion.right - drawRegion.left;
            layoutParams.height = drawRegion.bottom - drawRegion.top;
            animatingImageView.setImageBitmap(object.thumb);
        } else {
            animatingImageView.setNeedRadius(false);
            layoutParams.width = centerImage.getImageWidth();
            layoutParams.height = centerImage.getImageHeight();
            animatingImageView.setImageBitmap(centerImage.getBitmap());
        }
        animatingImageView.setLayoutParams(layoutParams);

        float scaleX = (float) AndroidUtilities.displaySize.x / layoutParams.width;
        float scaleY = (float) (AndroidUtilities.displaySize.y + AndroidUtilities.statusBarHeight)
                / layoutParams.height;
        float scale2 = scaleX > scaleY ? scaleY : scaleX;
        float width = layoutParams.width * scale * scale2;
        float height = layoutParams.height * scale * scale2;
        float xPos = (AndroidUtilities.displaySize.x - width) / 2.0f;
        if (Build.VERSION.SDK_INT >= 21 && lastInsets != null) {
            xPos += ((WindowInsets) lastInsets).getSystemWindowInsetLeft();
        }
        float yPos = (AndroidUtilities.displaySize.y + AndroidUtilities.statusBarHeight - height) / 2.0f;
        animatingImageView.setTranslationX(xPos + translationX);
        animatingImageView.setTranslationY(yPos + translationY);
        animatingImageView.setScaleX(scale * scale2);
        animatingImageView.setScaleY(scale * scale2);

        if (object != null) {
            object.imageReceiver.setVisible(false, true);
            int clipHorizontal = Math.abs(drawRegion.left - object.imageReceiver.getImageX());
            int clipVertical = Math.abs(drawRegion.top - object.imageReceiver.getImageY());

            int coords2[] = new int[2];
            object.parentView.getLocationInWindow(coords2);
            int clipTop = coords2[1] - (object.viewY + drawRegion.top) + object.clipTopAddition;
            if (clipTop < 0) {
                clipTop = 0;
            }
            int clipBottom = (object.viewY + drawRegion.top + (drawRegion.bottom - drawRegion.top))
                    - (coords2[1] + object.parentView.getHeight()) + object.clipBottomAddition;
            if (clipBottom < 0) {
                clipBottom = 0;
            }

            clipTop = Math.max(clipTop, clipVertical);
            clipBottom = Math.max(clipBottom, clipVertical);

            animationValues[0][0] = animatingImageView.getScaleX();
            animationValues[0][1] = animatingImageView.getScaleY();
            animationValues[0][2] = animatingImageView.getTranslationX();
            animationValues[0][3] = animatingImageView.getTranslationY();
            animationValues[0][4] = 0;
            animationValues[0][5] = 0;
            animationValues[0][6] = 0;
            animationValues[0][7] = 0;

            animationValues[1][0] = object.scale;
            animationValues[1][1] = object.scale;
            animationValues[1][2] = object.viewX + drawRegion.left * object.scale;
            animationValues[1][3] = object.viewY + drawRegion.top * object.scale;
            animationValues[1][4] = clipHorizontal * object.scale;
            animationValues[1][5] = clipTop * object.scale;
            animationValues[1][6] = clipBottom * object.scale;
            animationValues[1][7] = object.radius;

            animatorSet.playTogether(
                    ObjectAnimator.ofFloat(animatingImageView, "animationProgress", 0.0f, 1.0f),
                    ObjectAnimator.ofInt(photoBackgroundDrawable, "alpha", 0),
                    ObjectAnimator.ofFloat(actionBar, "alpha", 0),
                    ObjectAnimator.ofFloat(bottomLayout, "alpha", 0),
                    ObjectAnimator.ofFloat(captionTextView, "alpha", 0));
        } else {
            int h = AndroidUtilities.displaySize.y + AndroidUtilities.statusBarHeight;
            animatorSet.playTogether(ObjectAnimator.ofInt(photoBackgroundDrawable, "alpha", 0),
                    ObjectAnimator.ofFloat(animatingImageView, "alpha", 0.0f),
                    ObjectAnimator.ofFloat(animatingImageView, "translationY", translationY >= 0 ? h : -h),
                    ObjectAnimator.ofFloat(actionBar, "alpha", 0),
                    ObjectAnimator.ofFloat(bottomLayout, "alpha", 0),
                    ObjectAnimator.ofFloat(captionTextView, "alpha", 0));
        }

        photoAnimationEndRunnable = new Runnable() {
            @Override
            public void run() {
                if (Build.VERSION.SDK_INT >= 18) {
                    photoContainerView.setLayerType(View.LAYER_TYPE_NONE, null);
                }
                photoContainerView.setVisibility(View.INVISIBLE);
                photoContainerBackground.setVisibility(View.INVISIBLE);
                photoAnimationInProgress = 0;
                onPhotoClosed(object);
            }
        };

        animatorSet.setDuration(200);
        animatorSet.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                AndroidUtilities.runOnUIThread(new Runnable() {
                    @Override
                    public void run() {
                        if (photoAnimationEndRunnable != null) {
                            photoAnimationEndRunnable.run();
                            photoAnimationEndRunnable = null;
                        }
                    }
                });
            }
        });
        photoTransitionAnimationStartTime = System.currentTimeMillis();
        if (Build.VERSION.SDK_INT >= 18) {
            photoContainerView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        }
        animatorSet.start();
    } else {
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.playTogether(ObjectAnimator.ofFloat(photoContainerView, "scaleX", 0.9f),
                ObjectAnimator.ofFloat(photoContainerView, "scaleY", 0.9f),
                ObjectAnimator.ofInt(photoBackgroundDrawable, "alpha", 0),
                ObjectAnimator.ofFloat(actionBar, "alpha", 0), ObjectAnimator.ofFloat(bottomLayout, "alpha", 0),
                ObjectAnimator.ofFloat(captionTextView, "alpha", 0));
        photoAnimationInProgress = 2;
        photoAnimationEndRunnable = new Runnable() {
            @Override
            public void run() {
                if (photoContainerView == null) {
                    return;
                }
                if (Build.VERSION.SDK_INT >= 18) {
                    photoContainerView.setLayerType(View.LAYER_TYPE_NONE, null);
                }
                photoContainerView.setVisibility(View.INVISIBLE);
                photoContainerBackground.setVisibility(View.INVISIBLE);
                photoAnimationInProgress = 0;
                onPhotoClosed(object);
                photoContainerView.setScaleX(1.0f);
                photoContainerView.setScaleY(1.0f);
            }
        };
        animatorSet.setDuration(200);
        animatorSet.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                if (photoAnimationEndRunnable != null) {
                    photoAnimationEndRunnable.run();
                    photoAnimationEndRunnable = null;
                }
            }
        });
        photoTransitionAnimationStartTime = System.currentTimeMillis();
        if (Build.VERSION.SDK_INT >= 18) {
            photoContainerView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        }
        animatorSet.start();
    }
    if (currentAnimation != null) {
        currentAnimation.setSecondParentView(null);
        currentAnimation = null;
        centerImage.setImageBitmap((Drawable) null);
    }
}

From source file:com.b44t.ui.Components.PasscodeView.java

private void processDone(boolean fingerprint) {
    if (!fingerprint) {
        String password = passwordEditText.getText().toString();
        if (password.length() == 0) {
            onPasscodeError();//  w ww  .  j  a  va  2  s .  c o m
            return;
        }
        if (!UserConfig.checkPasscode(password)) {
            passwordEditText.setText("");
            onPasscodeError();
            return;
        }
    }
    passwordEditText.clearFocus();
    AndroidUtilities.hideKeyboard(passwordEditText);

    AnimatorSet AnimatorSet = new AnimatorSet();
    AnimatorSet.setDuration(200);
    AnimatorSet.playTogether(ObjectAnimator.ofFloat(this, "translationY", AndroidUtilities.dp(20)),
            ObjectAnimator.ofFloat(this, "alpha", AndroidUtilities.dp(0.0f)));
    AnimatorSet.addListener(new AnimatorListenerAdapterProxy() {
        @Override
        public void onAnimationEnd(Animator animation) {
            setVisibility(View.GONE);
        }
    });
    AnimatorSet.start();

    UserConfig.appLocked = false;
    UserConfig.saveConfig(false);
    NotificationCenter.getInstance().postNotificationName(NotificationCenter.didSetPasscode);
    setOnTouchListener(null);
    if (delegate != null) {
        delegate.didAcceptedPassword();
    }
}

From source file:com.b44t.ui.Components.PasscodeView.java

private void shakeTextView(final float x, final int num) {
    if (num == 6) {
        return;/*from www.  java 2 s  . c  o m*/
    }
    AnimatorSet AnimatorSet = new AnimatorSet();
    AnimatorSet.playTogether(ObjectAnimator.ofFloat(passcodeTextView, "translationX", AndroidUtilities.dp(x)));
    AnimatorSet.setDuration(50);
    AnimatorSet.addListener(new AnimatorListenerAdapterProxy() {
        @Override
        public void onAnimationEnd(Animator animation) {
            shakeTextView(num == 5 ? 0 : -x, num + 1);
        }
    });
    AnimatorSet.start();
}

From source file:ir.besteveryeverapp.ui.Components.PasscodeView.java

private void processDone(boolean fingerprint) {
    if (!fingerprint) {
        String password = "";
        if (UserConfig.passcodeType == 0) {
            password = passwordEditText2.getString();
        } else if (UserConfig.passcodeType == 1) {
            password = passwordEditText.getText().toString();
        }/*  w  w  w. java 2s.c o  m*/
        if (password.length() == 0) {
            onPasscodeError();
            return;
        }
        if (!UserConfig.checkPasscode(password)) {
            passwordEditText.setText("");
            passwordEditText2.eraseAllCharacters(true);
            onPasscodeError();
            return;
        }
    }
    passwordEditText.clearFocus();
    AndroidUtilities.hideKeyboard(passwordEditText);

    AnimatorSet AnimatorSet = new AnimatorSet();
    AnimatorSet.setDuration(200);
    AnimatorSet.playTogether(ObjectAnimator.ofFloat(this, "translationY", AndroidUtilities.dp(20)),
            ObjectAnimator.ofFloat(this, "alpha", AndroidUtilities.dp(0.0f)));
    AnimatorSet.addListener(new AnimatorListenerAdapterProxy() {
        @Override
        public void onAnimationEnd(Animator animation) {
            setVisibility(View.GONE);
        }
    });
    AnimatorSet.start();

    UserConfig.appLocked = false;
    UserConfig.saveConfig(false);
    NotificationCenter.getInstance().postNotificationName(NotificationCenter.didSetPasscode);
    setOnTouchListener(null);
    if (delegate != null) {
        delegate.didAcceptedPassword();
    }
}

From source file:org.telegram.ui.Components.ChatActivityEnterView.java

private void hideRecordedAudioPanel() {
    audioToSendPath = null;//from   www .  ja va  2  s.c  o m
    audioToSend = null;
    audioToSendMessageObject = null;
    AnimatorSet AnimatorSet = new AnimatorSet();
    AnimatorSet.playTogether(ObjectAnimator.ofFloat(recordedAudioPanel, "alpha", 0.0f));
    AnimatorSet.setDuration(200);
    AnimatorSet.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            recordedAudioPanel.setVisibility(GONE);

        }
    });
    AnimatorSet.start();
}

From source file:net.bluehack.ui.ChatActivity.java

private void showGifHint() {
    SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig",
            Activity.MODE_PRIVATE);// www . j  ava 2s.  co  m
    if (preferences.getBoolean("gifhint", false)) {
        return;
    }
    preferences.edit().putBoolean("gifhint", true).commit();

    if (getParentActivity() == null || fragmentView == null || gifHintTextView != null) {
        return;
    }
    if (!allowContextBotPanelSecond) {
        if (chatActivityEnterView != null) {
            chatActivityEnterView.setOpenGifsTabFirst();
        }
        return;
    }
    SizeNotifierFrameLayout frameLayout = (SizeNotifierFrameLayout) fragmentView;
    int index = frameLayout.indexOfChild(chatActivityEnterView);
    if (index == -1) {
        return;
    }
    chatActivityEnterView.setOpenGifsTabFirst();
    emojiButtonRed = new View(getParentActivity());
    emojiButtonRed.setBackgroundResource(R.drawable.redcircle);
    frameLayout.addView(emojiButtonRed, index + 1,
            LayoutHelper.createFrame(10, 10, Gravity.BOTTOM | Gravity.LEFT, 30, 0, 0, 27));

    gifHintTextView = new TextView(getParentActivity());
    gifHintTextView.setBackgroundResource(R.drawable.tooltip);
    gifHintTextView.setTextColor(Theme.CHAT_GIF_HINT_TEXT_COLOR);
    gifHintTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 14);
    gifHintTextView.setPadding(AndroidUtilities.dp(10), 0, AndroidUtilities.dp(10), 0);
    gifHintTextView.setText(LocaleController.getString("TapHereGifs", R.string.TapHereGifs));
    gifHintTextView.setGravity(Gravity.CENTER_VERTICAL);
    frameLayout.addView(gifHintTextView, index + 1,
            LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, 32, Gravity.LEFT | Gravity.BOTTOM, 5, 0, 0, 3));

    AnimatorSet AnimatorSet = new AnimatorSet();
    AnimatorSet.playTogether(ObjectAnimator.ofFloat(gifHintTextView, "alpha", 0.0f, 1.0f),
            ObjectAnimator.ofFloat(emojiButtonRed, "alpha", 0.0f, 1.0f));
    AnimatorSet.addListener(new AnimatorListenerAdapterProxy() {
        @Override
        public void onAnimationEnd(Animator animation) {
            AndroidUtilities.runOnUIThread(new Runnable() {
                @Override
                public void run() {
                    if (gifHintTextView == null) {
                        return;
                    }
                    AnimatorSet AnimatorSet = new AnimatorSet();
                    AnimatorSet.playTogether(ObjectAnimator.ofFloat(gifHintTextView, "alpha", 0.0f));
                    AnimatorSet.addListener(new AnimatorListenerAdapterProxy() {
                        @Override
                        public void onAnimationEnd(Animator animation) {
                            if (gifHintTextView != null) {
                                gifHintTextView.setVisibility(View.GONE);
                            }
                        }
                    });
                    AnimatorSet.setDuration(300);
                    AnimatorSet.start();
                }
            }, 2000);
        }
    });
    AnimatorSet.setDuration(300);
    AnimatorSet.start();
}