Example usage for android.provider MediaStore ACTION_VIDEO_CAPTURE

List of usage examples for android.provider MediaStore ACTION_VIDEO_CAPTURE

Introduction

In this page you can find the example usage for android.provider MediaStore ACTION_VIDEO_CAPTURE.

Prototype

String ACTION_VIDEO_CAPTURE

To view the source code for android.provider MediaStore ACTION_VIDEO_CAPTURE.

Click Source Link

Document

Standard Intent action that can be sent to have the camera application capture a video and return it.

Usage

From source file:org.telepatch.ui.ChatActivity.java

public View createView(LayoutInflater inflater, ViewGroup container) {
    if (fragmentView == null) {
        actionBarLayer.setDisplayHomeAsUpEnabled(true, R.drawable.ic_ab_back);
        if (AndroidUtilities.isTablet()) {
            actionBarLayer.setExtraLeftMargin(4);
        }/*from  w  ww  . j a v a 2 s . c o  m*/
        actionBarLayer.setBackOverlay(R.layout.updating_state_layout);
        actionBarLayer.setActionBarMenuOnItemClick(new ActionBarLayer.ActionBarMenuOnItemClick() {
            @Override
            public void onItemClick(int id) {
                if (id == -1) {
                    finishFragment();
                } else if (id == -2) {
                    selectedMessagesIds.clear();
                    selectedMessagesCanCopyIds.clear();
                    actionBarLayer.hideActionMode();
                    updateVisibleRows();
                } else if (id == attach_photo) {
                    try {
                        Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        File image = Utilities.generatePicturePath();
                        if (image != null) {
                            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image));
                            currentPicturePath = image.getAbsolutePath();
                        }
                        startActivityForResult(takePictureIntent, 0);
                    } catch (Exception e) {
                        FileLog.e("tmessages", e);
                    }
                } else if (id == attach_gallery) {
                    PhotoPickerActivity fragment = new PhotoPickerActivity();
                    fragment.setDelegate(new PhotoPickerActivity.PhotoPickerActivityDelegate() {
                        @Override
                        public void didSelectPhotos(ArrayList<String> photos) {
                            SendMessagesHelper.prepareSendingPhotos(photos, null, dialog_id);
                        }

                        @Override
                        public void startPhotoSelectActivity() {
                            try {
                                Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
                                photoPickerIntent.setType("image/*");
                                startActivityForResult(photoPickerIntent, 1);
                            } catch (Exception e) {
                                FileLog.e("tmessages", e);
                            }
                        }
                    });
                    presentFragment(fragment);
                } else if (id == attach_video) {
                    try {
                        Intent pickIntent = new Intent();
                        pickIntent.setType("video/*");
                        pickIntent.setAction(Intent.ACTION_GET_CONTENT);
                        pickIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long) (1024 * 1024 * 1000));
                        Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
                        File video = Utilities.generateVideoPath();
                        if (video != null) {
                            if (Build.VERSION.SDK_INT >= 18) {
                                takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(video));
                            }
                            takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, (long) (1024 * 1024 * 1000));
                            currentPicturePath = video.getAbsolutePath();
                        }
                        Intent chooserIntent = Intent.createChooser(pickIntent, "");
                        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { takeVideoIntent });

                        startActivityForResult(chooserIntent, 2);
                    } catch (Exception e) {
                        FileLog.e("tmessages", e);
                    }
                } else if (id == attach_location) {
                    if (!isGoogleMapsInstalled()) {
                        return;
                    }
                    LocationActivity fragment = new LocationActivity();
                    fragment.setDelegate(new LocationActivity.LocationActivityDelegate() {
                        @Override
                        public void didSelectLocation(double latitude, double longitude) {
                            SendMessagesHelper.getInstance().sendMessage(latitude, longitude, dialog_id);
                            if (chatListView != null) {
                                chatListView.setSelectionFromTop(messages.size() - 1,
                                        -100000 - chatListView.getPaddingTop());
                            }
                            if (paused) {
                                scrollToTopOnResume = true;
                            }
                        }
                    });
                    presentFragment(fragment);
                } else if (id == attach_document) {
                    DocumentSelectActivity fragment = new DocumentSelectActivity();
                    fragment.setDelegate(new DocumentSelectActivity.DocumentSelectActivityDelegate() {
                        @Override
                        public void didSelectFile(DocumentSelectActivity activity, String path) {
                            activity.finishFragment();
                            SendMessagesHelper.prepareSendingDocument(path, path, dialog_id);
                        }

                        @Override
                        public void startDocumentSelectActivity() {
                            try {
                                Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
                                photoPickerIntent.setType("*/*");
                                startActivityForResult(photoPickerIntent, 21);
                            } catch (Exception e) {
                                FileLog.e("tmessages", e);
                            }
                        }
                    });
                    presentFragment(fragment);
                } else if (id == chat_menu_avatar) {
                    if (currentUser != null) {
                        Bundle args = new Bundle();
                        args.putInt("user_id", currentUser.id);
                        if (currentEncryptedChat != null) {
                            args.putLong("dialog_id", dialog_id);
                        }
                        presentFragment(new UserProfileActivity(args));
                    } else if (currentChat != null) {
                        if (info != null && info instanceof TLRPC.TL_chatParticipantsForbidden) {
                            return;
                        }
                        int count = currentChat.participants_count;
                        if (info != null) {
                            count = info.participants.size();
                        }
                        if (count == 0 || currentChat.left || currentChat instanceof TLRPC.TL_chatForbidden) {
                            return;
                        }
                        Bundle args = new Bundle();
                        args.putInt("chat_id", currentChat.id);
                        ChatProfileActivity fragment = new ChatProfileActivity(args);
                        fragment.setChatInfo(info);
                        presentFragment(fragment);
                    }
                } else if (id == copy) {
                    String str = "";
                    ArrayList<Integer> ids = new ArrayList<Integer>(selectedMessagesCanCopyIds.keySet());
                    if (currentEncryptedChat == null) {
                        Collections.sort(ids);
                    } else {
                        Collections.sort(ids, Collections.reverseOrder());
                    }
                    for (Integer messageId : ids) {
                        MessageObject messageObject = selectedMessagesCanCopyIds.get(messageId);
                        if (str.length() != 0) {
                            str += "\n";
                        }
                        if (messageObject.messageOwner.message != null) {
                            str += messageObject.messageOwner.message;
                        } else {
                            str += messageObject.messageText;
                        }
                    }
                    if (str.length() != 0) {
                        if (Build.VERSION.SDK_INT < 11) {
                            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) ApplicationLoader.applicationContext
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            clipboard.setText(str);
                        } else {
                            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) ApplicationLoader.applicationContext
                                    .getSystemService(Context.CLIPBOARD_SERVICE);
                            android.content.ClipData clip = android.content.ClipData.newPlainText("label", str);
                            clipboard.setPrimaryClip(clip);
                        }
                    }
                    selectedMessagesIds.clear();
                    selectedMessagesCanCopyIds.clear();
                    actionBarLayer.hideActionMode();
                    updateVisibleRows();
                } else if (id == delete) {
                    ArrayList<Integer> ids = new ArrayList<Integer>(selectedMessagesIds.keySet());
                    ArrayList<Long> random_ids = null;
                    if (currentEncryptedChat != null) {
                        random_ids = new ArrayList<Long>();
                        for (HashMap.Entry<Integer, MessageObject> entry : selectedMessagesIds.entrySet()) {
                            MessageObject msg = entry.getValue();
                            if (msg.messageOwner.random_id != 0 && msg.type != 10) {
                                random_ids.add(msg.messageOwner.random_id);
                            }
                        }
                    }
                    //MessagesController.getInstance().deleteMessages(ids, random_ids, currentEncryptedChat);
                    //TODO qui utilizzo un mio metodo per cancellare i messaggi, cosi' prima mostro un alert
                    deleteMessages(ids, random_ids, currentEncryptedChat);
                    actionBarLayer.hideActionMode();
                } else if (id == forward) {
                    Bundle args = new Bundle();
                    args.putBoolean("onlySelect", true);
                    args.putBoolean("serverOnly", true);
                    args.putString("selectAlertString",
                            LocaleController.getString("ForwardMessagesTo", R.string.ForwardMessagesTo));
                    args.putString("selectAlertStringGroup", LocaleController
                            .getString("ForwardMessagesToGroup", R.string.ForwardMessagesToGroup));
                    MessagesActivity fragment = new MessagesActivity(args);
                    fragment.setDelegate(ChatActivity.this);
                    presentFragment(fragment);
                }
            }
        });

        updateSubtitle();

        if (currentEncryptedChat != null) {
            actionBarLayer.setTitleIcon(R.drawable.ic_lock_white, AndroidUtilities.dp(4));
        } else if (currentChat != null && currentChat.id < 0) {
            actionBarLayer.setTitleIcon(R.drawable.broadcast2, AndroidUtilities.dp(4));
        }

        ActionBarMenu menu = actionBarLayer.createMenu();

        if (currentEncryptedChat != null) {
            timeItem = menu.addItemResource(chat_enc_timer, R.layout.chat_header_enc_layout);
        }

        //TODO aggiungo il pulsante di ricerca
        item_search = menu.addItem(chat_menu_search, R.drawable.ic_ab_search);
        item_search.setIsSearchField(true)
                .setActionBarMenuItemSearchListener(new ActionBarMenuItem.ActionBarMenuItemSearchListener() {
                    @Override
                    public void onSearchExpand() {
                        searching = true;
                    }

                    @Override
                    public void onSearchCollapse() {
                        searching = false;
                        //MessagesController.getInstance().loadMessages(dialog_id, 0, 20, maxMessageId, !cacheEndReaced, minDate, classGuid, false, false);
                        //NotificationCenter.getInstance().postNotificationName(dialogsNeedReload);

                    }

                    @Override
                    public void onTextChanged(final EditText editText) {
                        editText.requestFocus();
                        editText.setOnKeyListener(new View.OnKeyListener() {

                            public boolean onKey(View v, int keyCode, KeyEvent event) {
                                boolean result = false;
                                // se l'evento e' un "tasto premuto" sul tasto enter
                                if ((event.getAction() == KeyEvent.ACTION_DOWN)
                                        && (keyCode == KeyEvent.KEYCODE_ENTER)) {

                                    //fai azione
                                    if (!editText.getText().toString().equals("")) {
                                        searchMessages(dialog_id, editText.getText().toString(),
                                                new FutureSearch());
                                        try {
                                            presentFragment(new SearchResultsActivity(
                                                    doSearchAndBlock(dialog_id, editText.getText().toString()),
                                                    getArguments()));
                                        } catch (ExecutionException e) {
                                            e.printStackTrace();
                                        } catch (InterruptedException e) {
                                            e.printStackTrace();
                                        } catch (NullPointerException e) {
                                            Log.e("xela92",
                                                    "NullPointerException. Forse la connessione di rete e' assente? La ricerca  stata annullata. ");
                                            e.printStackTrace();
                                        }
                                    }
                                    result = true;
                                }
                                return result;
                            }
                        });
                    }

                });

        ActionBarMenuItem item = menu.addItem(chat_menu_attach, R.drawable.ic_ab_attach);
        item.addSubItem(attach_photo, LocaleController.getString("ChatTakePhoto", R.string.ChatTakePhoto),
                R.drawable.ic_attach_photo);
        item.addSubItem(attach_gallery, LocaleController.getString("ChatGallery", R.string.ChatGallery),
                R.drawable.ic_attach_gallery);
        item.addSubItem(attach_video, LocaleController.getString("ChatVideo", R.string.ChatVideo),
                R.drawable.ic_attach_video);
        item.addSubItem(attach_document, LocaleController.getString("ChatDocument", R.string.ChatDocument),
                R.drawable.ic_ab_doc);
        item.addSubItem(attach_location, LocaleController.getString("ChatLocation", R.string.ChatLocation),
                R.drawable.ic_attach_location);
        menuItem = item;

        actionModeViews.clear();

        final ActionBarMenu actionMode = actionBarLayer.createActionMode();
        actionModeViews.add(actionMode.addItem(-2, R.drawable.ic_ab_done_gray, R.drawable.bar_selector_mode));

        FrameLayout layout = new FrameLayout(actionMode.getContext());
        layout.setBackgroundColor(0xffe5e5e5);
        actionMode.addView(layout);
        LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) layout.getLayoutParams();
        layoutParams.width = AndroidUtilities.dp(1);
        layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT;
        layoutParams.topMargin = AndroidUtilities.dp(12);
        layoutParams.bottomMargin = AndroidUtilities.dp(12);
        layoutParams.gravity = Gravity.CENTER_VERTICAL;
        layout.setLayoutParams(layoutParams);
        actionModeViews.add(layout);

        selectedMessagesCountTextView = new TextView(actionMode.getContext());
        selectedMessagesCountTextView.setTextSize(18);
        selectedMessagesCountTextView.setTextColor(0xff000000);
        selectedMessagesCountTextView.setSingleLine(true);
        selectedMessagesCountTextView.setLines(1);
        selectedMessagesCountTextView.setEllipsize(TextUtils.TruncateAt.END);
        selectedMessagesCountTextView.setPadding(AndroidUtilities.dp(11), 0, 0, 0);
        selectedMessagesCountTextView.setGravity(Gravity.CENTER_VERTICAL);
        selectedMessagesCountTextView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return true;
            }
        });
        actionMode.addView(selectedMessagesCountTextView);
        layoutParams = (LinearLayout.LayoutParams) selectedMessagesCountTextView.getLayoutParams();
        layoutParams.weight = 1;
        layoutParams.width = 0;
        layoutParams.height = LinearLayout.LayoutParams.MATCH_PARENT;
        selectedMessagesCountTextView.setLayoutParams(layoutParams);

        if (currentEncryptedChat == null) {
            actionModeViews
                    .add(actionMode.addItem(copy, R.drawable.ic_ab_fwd_copy, R.drawable.bar_selector_mode));
            actionModeViews.add(
                    actionMode.addItem(forward, R.drawable.ic_ab_fwd_forward, R.drawable.bar_selector_mode));
            actionModeViews
                    .add(actionMode.addItem(delete, R.drawable.ic_ab_fwd_delete, R.drawable.bar_selector_mode));
        } else {
            actionModeViews
                    .add(actionMode.addItem(copy, R.drawable.ic_ab_fwd_copy, R.drawable.bar_selector_mode));
            actionModeViews
                    .add(actionMode.addItem(delete, R.drawable.ic_ab_fwd_delete, R.drawable.bar_selector_mode));
        }
        actionMode.getItem(copy)
                .setVisibility(selectedMessagesCanCopyIds.size() != 0 ? View.VISIBLE : View.GONE);

        View avatarLayout = menu.addItemResource(chat_menu_avatar, R.layout.chat_header_layout);
        avatarImageView = (BackupImageView) avatarLayout.findViewById(R.id.chat_avatar_image);
        avatarImageView.processDetach = false;
        checkActionBarMenu();

        fragmentView = inflater.inflate(R.layout.chat_layout, container, false);

        View contentView = fragmentView.findViewById(R.id.chat_layout);
        TextView emptyView = (TextView) fragmentView.findViewById(R.id.searchEmptyView);
        emptyViewContainer = fragmentView.findViewById(R.id.empty_view);
        emptyViewContainer.setVisibility(View.GONE);
        emptyViewContainer.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return true;
            }
        });
        emptyView.setText(LocaleController.getString("NoMessages", R.string.NoMessages));
        chatListView = (LayoutListView) fragmentView.findViewById(R.id.chat_list_view);
        chatListView.setAdapter(chatAdapter = new ChatAdapter(getParentActivity()));
        topPanel = fragmentView.findViewById(R.id.top_panel);
        topPlaneClose = (ImageView) fragmentView.findViewById(R.id.top_plane_close);
        topPanelText = (TextView) fragmentView.findViewById(R.id.top_panel_text);
        bottomOverlay = fragmentView.findViewById(R.id.bottom_overlay);
        bottomOverlayText = (TextView) fragmentView.findViewById(R.id.bottom_overlay_text);
        bottomOverlayChat = fragmentView.findViewById(R.id.bottom_overlay_chat);
        progressView = fragmentView.findViewById(R.id.progressLayout);
        pagedownButton = fragmentView.findViewById(R.id.pagedown_button);
        pagedownButton.setVisibility(View.GONE);

        View progressViewInner = progressView.findViewById(R.id.progressLayoutInner);

        updateContactStatus();

        SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("mainconfig",
                Activity.MODE_PRIVATE);
        int selectedBackground = preferences.getInt("selectedBackground", 1000001);
        int selectedColor = preferences.getInt("selectedColor", 0);
        if (selectedColor != 0) {
            contentView.setBackgroundColor(selectedColor);
            chatListView.setCacheColorHint(selectedColor);
        } else {
            chatListView.setCacheColorHint(0);
            try {
                if (selectedBackground == 1000001) {
                    ((SizeNotifierRelativeLayout) contentView).setBackgroundImage(R.drawable.background_hd);
                } else {
                    File toFile = new File(ApplicationLoader.applicationContext.getFilesDir(), "wallpaper.jpg");
                    if (toFile.exists()) {
                        if (ApplicationLoader.cachedWallpaper != null) {
                            ((SizeNotifierRelativeLayout) contentView)
                                    .setBackgroundImage(ApplicationLoader.cachedWallpaper);
                        } else {
                            Drawable drawable = Drawable.createFromPath(toFile.getAbsolutePath());
                            if (drawable != null) {
                                ((SizeNotifierRelativeLayout) contentView).setBackgroundImage(drawable);
                                ApplicationLoader.cachedWallpaper = drawable;
                            } else {
                                contentView.setBackgroundColor(-2693905);
                                chatListView.setCacheColorHint(-2693905);
                            }
                        }
                        isCustomTheme = true;
                    } else {
                        ((SizeNotifierRelativeLayout) contentView).setBackgroundImage(R.drawable.background_hd);
                    }
                }
            } catch (Exception e) {
                contentView.setBackgroundColor(-2693905);
                chatListView.setCacheColorHint(-2693905);
                FileLog.e("tmessages", e);
            }
        }

        if (currentEncryptedChat != null) {
            emptyView.setVisibility(View.GONE);
            View secretChatPlaceholder = contentView.findViewById(R.id.secret_placeholder);
            secretChatPlaceholder.setVisibility(View.VISIBLE);
            if (isCustomTheme) {
                secretChatPlaceholder.setBackgroundResource(R.drawable.system_black);
            } else {
                secretChatPlaceholder.setBackgroundResource(R.drawable.system_blue);
            }
            secretViewStatusTextView = (TextView) contentView.findViewById(R.id.invite_text);
            secretChatPlaceholder.setPadding(AndroidUtilities.dp(16), AndroidUtilities.dp(12),
                    AndroidUtilities.dp(16), AndroidUtilities.dp(12));

            View v = contentView.findViewById(R.id.secret_placeholder);
            v.setVisibility(View.VISIBLE);

            if (currentEncryptedChat.admin_id == UserConfig.getClientUserId()) {
                if (currentUser.first_name.length() > 0) {
                    secretViewStatusTextView
                            .setText(LocaleController.formatString("EncryptedPlaceholderTitleOutgoing",
                                    R.string.EncryptedPlaceholderTitleOutgoing, currentUser.first_name));
                } else {
                    secretViewStatusTextView
                            .setText(LocaleController.formatString("EncryptedPlaceholderTitleOutgoing",
                                    R.string.EncryptedPlaceholderTitleOutgoing, currentUser.last_name));
                }
            } else {
                if (currentUser.first_name.length() > 0) {
                    secretViewStatusTextView
                            .setText(LocaleController.formatString("EncryptedPlaceholderTitleIncoming",
                                    R.string.EncryptedPlaceholderTitleIncoming, currentUser.first_name));
                } else {
                    secretViewStatusTextView
                            .setText(LocaleController.formatString("EncryptedPlaceholderTitleIncoming",
                                    R.string.EncryptedPlaceholderTitleIncoming, currentUser.last_name));
                }
            }

            updateSecretStatus();
        }

        if (isCustomTheme) {
            progressViewInner.setBackgroundResource(R.drawable.system_loader2);
            emptyView.setBackgroundResource(R.drawable.system_black);
        } else {
            progressViewInner.setBackgroundResource(R.drawable.system_loader1);
            emptyView.setBackgroundResource(R.drawable.system_blue);
        }
        emptyView.setPadding(AndroidUtilities.dp(7), AndroidUtilities.dp(1), AndroidUtilities.dp(7),
                AndroidUtilities.dp(1));

        if (currentUser != null && (currentUser.id / 1000 == 333 || currentUser.id % 1000 == 0)) {
            emptyView.setText(LocaleController.getString("GotAQuestion", R.string.GotAQuestion));
        }

        chatListView.setOnItemLongClickListener(onItemLongClickListener);
        chatListView.setOnItemClickListener(onItemClickListener);

        final Rect scrollRect = new Rect();

        chatListView.setOnInterceptTouchEventListener(new LayoutListView.OnInterceptTouchEventListener() {
            @Override
            public boolean onInterceptTouchEvent(MotionEvent event) {
                if (actionBarLayer.isActionModeShowed()) {
                    return false;
                }
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    int x = (int) event.getX();
                    int y = (int) event.getY();
                    int count = chatListView.getChildCount();
                    Rect rect = new Rect();
                    for (int a = 0; a < count; a++) {
                        View view = chatListView.getChildAt(a);
                        int top = view.getTop();
                        int bottom = view.getBottom();
                        view.getLocalVisibleRect(rect);
                        if (top > y || bottom < y) {
                            continue;
                        }
                        if (!(view instanceof ChatMediaCell)) {
                            break;
                        }
                        final ChatMediaCell cell = (ChatMediaCell) view;
                        final MessageObject messageObject = cell.getMessageObject();
                        if (messageObject == null || !messageObject.isSecretPhoto()
                                || !cell.getPhotoImage().isInsideImage(x, y - top)) {
                            break;
                        }
                        File file = FileLoader.getPathToMessage(messageObject.messageOwner);
                        if (!file.exists()) {
                            break;
                        }
                        startX = x;
                        startY = y;
                        chatListView.setOnItemClickListener(null);
                        openSecretPhotoRunnable = new Runnable() {
                            @Override
                            public void run() {
                                if (openSecretPhotoRunnable == null) {
                                    return;
                                }
                                chatListView.requestDisallowInterceptTouchEvent(true);
                                chatListView.setOnItemLongClickListener(null);
                                chatListView.setLongClickable(false);
                                openSecretPhotoRunnable = null;
                                if (sendSecretMessageRead(messageObject)) {
                                    cell.invalidate();
                                }
                                SecretPhotoViewer.getInstance().setParentActivity(getParentActivity());
                                SecretPhotoViewer.getInstance().openPhoto(messageObject);
                            }
                        };
                        AndroidUtilities.RunOnUIThread(openSecretPhotoRunnable, 100);
                        return true;
                    }
                }
                return false;
            }
        });

        chatListView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (openSecretPhotoRunnable != null || SecretPhotoViewer.getInstance().isVisible()) {
                    if (event.getAction() == MotionEvent.ACTION_UP
                            || event.getAction() == MotionEvent.ACTION_CANCEL
                            || event.getAction() == MotionEvent.ACTION_POINTER_UP) {
                        AndroidUtilities.RunOnUIThread(new Runnable() {
                            @Override
                            public void run() {
                                chatListView.setOnItemClickListener(onItemClickListener);
                            }
                        }, 150);
                        if (openSecretPhotoRunnable != null) {
                            AndroidUtilities.CancelRunOnUIThread(openSecretPhotoRunnable);
                            openSecretPhotoRunnable = null;
                            try {
                                Toast.makeText(v.getContext(),
                                        LocaleController.getString("PhotoTip", R.string.PhotoTip),
                                        Toast.LENGTH_SHORT).show();
                            } catch (Exception e) {
                                FileLog.e("tmessages", e);
                            }
                        } else {
                            if (SecretPhotoViewer.getInstance().isVisible()) {
                                AndroidUtilities.RunOnUIThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        chatListView.setOnItemLongClickListener(onItemLongClickListener);
                                        chatListView.setLongClickable(true);
                                    }
                                });
                                SecretPhotoViewer.getInstance().closePhoto();
                            }
                        }
                    } else if (event.getAction() != MotionEvent.ACTION_DOWN) {
                        if (SecretPhotoViewer.getInstance().isVisible()) {
                            return true;
                        } else if (openSecretPhotoRunnable != null) {
                            if (event.getAction() == MotionEvent.ACTION_MOVE) {
                                if (Math.hypot(startX - event.getX(), startY - event.getY()) > AndroidUtilities
                                        .dp(5)) {
                                    AndroidUtilities.CancelRunOnUIThread(openSecretPhotoRunnable);
                                    openSecretPhotoRunnable = null;
                                }
                            } else {
                                AndroidUtilities.CancelRunOnUIThread(openSecretPhotoRunnable);
                                openSecretPhotoRunnable = null;
                            }
                        }
                    }
                }
                return false;
            }
        });

        chatListView.setOnScrollListener(new AbsListView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(AbsListView absListView, int i) {

            }

            @Override
            public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount,
                    int totalItemCount) {
                if (visibleItemCount > 0) {
                    if (firstVisibleItem <= 10) {
                        if (!endReached && !loading) {
                            if (messagesByDays.size() != 0) {
                                MessagesController.getInstance().loadMessages(dialog_id, 20, maxMessageId,
                                        !cacheEndReaced, minDate, classGuid, false, false, null);
                            } else {
                                MessagesController.getInstance().loadMessages(dialog_id, 20, 0, !cacheEndReaced,
                                        minDate, classGuid, false, false, null);
                            }
                            loading = true;
                        }
                    }
                    if (firstVisibleItem + visibleItemCount >= totalItemCount - 6) {
                        if (!unread_end_reached && !loadingForward) {
                            MessagesController.getInstance().loadMessages(dialog_id, 20, minMessageId, true,
                                    maxDate, classGuid, false, true, null);
                            loadingForward = true;
                        }
                    }
                    if (firstVisibleItem + visibleItemCount == totalItemCount && unread_end_reached) {
                        showPagedownButton(false, true);
                    }
                }
                for (int a = 0; a < visibleItemCount; a++) {
                    View view = absListView.getChildAt(a);
                    if (view instanceof ChatMessageCell) {
                        ChatMessageCell messageCell = (ChatMessageCell) view;
                        messageCell.getLocalVisibleRect(scrollRect);
                        messageCell.setVisiblePart(scrollRect.top, scrollRect.bottom - scrollRect.top);
                    }
                }
            }
        });

        bottomOverlayChatText = (TextView) fragmentView.findViewById(R.id.bottom_overlay_chat_text);
        TextView textView = (TextView) fragmentView.findViewById(R.id.secret_title);
        textView.setText(
                LocaleController.getString("EncryptedDescriptionTitle", R.string.EncryptedDescriptionTitle));
        textView = (TextView) fragmentView.findViewById(R.id.secret_description1);
        textView.setText(LocaleController.getString("EncryptedDescription1", R.string.EncryptedDescription1));
        textView = (TextView) fragmentView.findViewById(R.id.secret_description2);
        textView.setText(LocaleController.getString("EncryptedDescription2", R.string.EncryptedDescription2));
        textView = (TextView) fragmentView.findViewById(R.id.secret_description3);
        textView.setText(LocaleController.getString("EncryptedDescription3", R.string.EncryptedDescription3));
        textView = (TextView) fragmentView.findViewById(R.id.secret_description4);
        textView.setText(LocaleController.getString("EncryptedDescription4", R.string.EncryptedDescription4));

        if (loading && messages.isEmpty()) {
            progressView.setVisibility(View.VISIBLE);
            chatListView.setEmptyView(null);
        } else {
            progressView.setVisibility(View.GONE);
            chatListView.setEmptyView(emptyViewContainer);
        }

        pagedownButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                scrollToLastMessage();
            }
        });

        bottomOverlayChat.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (getParentActivity() == null) {
                    return;
                }
                AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
                builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
                if (currentUser != null && userBlocked) {
                    builder.setMessage(LocaleController.getString("AreYouSureUnblockContact",
                            R.string.AreYouSureUnblockContact));
                    builder.setPositiveButton(LocaleController.getString("OK", R.string.OK),
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    MessagesController.getInstance().unblockUser(currentUser.id);
                                }
                            });
                } else {
                    builder.setMessage(LocaleController.getString("AreYouSureDeleteThisChat",
                            R.string.AreYouSureDeleteThisChat));
                    builder.setPositiveButton(LocaleController.getString("OK", R.string.OK),
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialogInterface, int i) {
                                    MessagesController.getInstance().deleteDialog(dialog_id, 0, false);
                                    finishFragment();
                                }
                            });
                }
                builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
                showAlertDialog(builder);
            }
        });

        updateBottomOverlay();

        chatActivityEnterView.setContainerView(getParentActivity(), fragmentView);
    } else {
        ViewGroup parent = (ViewGroup) fragmentView.getParent();
        if (parent != null) {
            parent.removeView(fragmentView);
        }
    }
    return fragmentView;
}

From source file:com.runye.express.chat.activity.ChatActivity.java

/**
 * ?/*from  w w  w.ja  va  2  s  . c om*/
 */
public void selectVideoFromCamera() {
    if (!CommonUtil.isExitsSdcard()) {
        Toast.makeText(getApplicationContext(), "SD????", 0).show();
        return;
    }

    videoFile = new File(PathUtil.getInstance().getVideoPath(),
            MyApplication.getInstance().getUserName() + System.currentTimeMillis() + ".mp4");
    videoFile.getParentFile().mkdirs();
    startActivityForResult(new Intent(MediaStore.ACTION_VIDEO_CAPTURE).putExtra(MediaStore.EXTRA_OUTPUT,
            Uri.fromFile(videoFile)), REQUEST_CODE_CAMERA_VIDEO);

}

From source file:com.juick.android.ThreadActivity.java

public void onClick(DialogInterface dialog, int which) {
    Intent intent;/*  w  w  w  .j a  va 2  s. c om*/
    switch (which) {
    case 0:
        intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("image/*");
        startActivityForResult(Intent.createChooser(intent, null), ACTIVITY_ATTACHMENT_IMAGE);
        break;
    case 1:
        intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
        boolean useTempFileForCapture = sp.getBoolean("useTempFileForCapture", true);
        if (useTempFileForCapture) {
            File file = NewMessageActivity.getPhotoCaptureFile();
            file.delete();
            intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
        } else {
            intent.putExtra(MediaStore.EXTRA_OUTPUT,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        }
        startActivityForResult(intent, ACTIVITY_ATTACHMENT_IMAGE);
        break;
    case 2:
        intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("video/*");
        startActivityForResult(Intent.createChooser(intent, null), ACTIVITY_ATTACHMENT_VIDEO);
        break;
    case 3:
        intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
        startActivityForResult(intent, ACTIVITY_ATTACHMENT_VIDEO);
        break;
    }
}

From source file:com.android.mms.ui.MessageUtils.java

public static void recordVideo(Activity activity, int requestCode, long sizeLimit) {
    // The video recorder can sometimes return a file that's larger than the max we
    // say we can handle. Try to handle that overshoot by specifying an 85% limit.
    /// M: media recoder can handle this issue,so mark it.
    //        sizeLimit *= .85F;

    int durationLimit = getVideoCaptureDurationLimit();

    if (Log.isLoggable(LogTag.APP, Log.VERBOSE)) {
        log("recordVideo: durationLimit: " + durationLimit + " sizeLimit: " + sizeLimit);
    }/*from w  w w. j a  va  2 s  . c  o m*/

    Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
    intent.putExtra("android.intent.extra.sizeLimit", sizeLimit);
    intent.putExtra("android.intent.extra.durationLimit", durationLimit);
    /// M: Code analyze 009, For fix bug ALPS00241707, You can not add
    // capture video to Messaging after you preview it in Gallery. @{
    intent.putExtra(MediaStore.EXTRA_OUTPUT, TempFileProvider.SCRAP_VIDEO_URI);
    /// M: fix bug ALPS01043585
    intent.putExtra("CanShare", false);
    activity.startActivityForResult(intent, requestCode);
}

From source file:com.afwsamples.testdpc.policy.PolicyManagementFragment.java

@Override
public boolean onPreferenceClick(Preference preference) {
    String key = preference.getKey();
    switch (key) {
    case MANAGE_LOCK_TASK_LIST_KEY:
        showManageLockTaskListPrompt(R.string.lock_task_title, new ManageLockTaskListCallback() {
            @Override//from   w  w w.j  a v  a2  s  . c  om
            public void onPositiveButtonClicked(String[] lockTaskArray) {
                mDevicePolicyManager.setLockTaskPackages(DeviceAdminReceiver.getComponentName(getActivity()),
                        lockTaskArray);
            }
        });
        return true;
    case CHECK_LOCK_TASK_PERMITTED_KEY:
        showCheckLockTaskPermittedPrompt();
        return true;
    case RESET_PASSWORD_KEY:
        showResetPasswordPrompt();
        return false;
    case LOCK_NOW_KEY:
        lockNow();
        return true;
    case START_LOCK_TASK:
        getActivity().startLockTask();
        return true;
    case STOP_LOCK_TASK:
        try {
            getActivity().stopLockTask();
        } catch (IllegalStateException e) {
            // no lock task present, ignore
        }
        return true;
    case WIPE_DATA_KEY:
        showWipeDataPrompt();
        return true;
    case REMOVE_DEVICE_OWNER_KEY:
        showRemoveDeviceOwnerPrompt();
        return true;
    case REQUEST_BUGREPORT_KEY:
        requestBugReport();
        return true;
    case REQUEST_PROCESS_LOGS:
        showFragment(new ProcessLogsFragment());
        return true;
    case SET_ACCESSIBILITY_SERVICES_KEY:
        // Avoid starting the same task twice.
        if (mGetAccessibilityServicesTask != null && !mGetAccessibilityServicesTask.isCancelled()) {
            mGetAccessibilityServicesTask.cancel(true);
        }
        mGetAccessibilityServicesTask = new GetAccessibilityServicesTask();
        mGetAccessibilityServicesTask.execute();
        return true;
    case SET_INPUT_METHODS_KEY:
        // Avoid starting the same task twice.
        if (mGetInputMethodsTask != null && !mGetInputMethodsTask.isCancelled()) {
            mGetInputMethodsTask.cancel(true);
        }
        mGetInputMethodsTask = new GetInputMethodsTask();
        mGetInputMethodsTask.execute();
        return true;
    case SET_DISABLE_ACCOUNT_MANAGEMENT_KEY:
        showSetDisableAccountManagementPrompt();
        return true;
    case GET_DISABLE_ACCOUNT_MANAGEMENT_KEY:
        showDisableAccountTypeList();
        return true;
    case CREATE_AND_MANAGE_USER_KEY:
        showCreateAndManageUserPrompt();
        return true;
    case REMOVE_USER_KEY:
        showRemoveUserPrompt();
        return true;
    case BLOCK_UNINSTALLATION_BY_PKG_KEY:
        showBlockUninstallationByPackageNamePrompt();
        return true;
    case BLOCK_UNINSTALLATION_LIST_KEY:
        showBlockUninstallationPrompt();
        return true;
    case ENABLE_SYSTEM_APPS_KEY:
        showEnableSystemAppsPrompt();
        return true;
    case ENABLE_SYSTEM_APPS_BY_PACKAGE_NAME_KEY:
        showEnableSystemAppByPackageNamePrompt();
        return true;
    case ENABLE_SYSTEM_APPS_BY_INTENT_KEY:
        showFragment(new EnableSystemAppsByIntentFragment());
        return true;
    case HIDE_APPS_KEY:
        showHideAppsPrompt(false);
        return true;
    case UNHIDE_APPS_KEY:
        showHideAppsPrompt(true);
        return true;
    case SUSPEND_APPS_KEY:
        showSuspendAppsPrompt(false);
        return true;
    case UNSUSPEND_APPS_KEY:
        showSuspendAppsPrompt(true);
        return true;
    case MANAGE_APP_RESTRICTIONS_KEY:
        showFragment(new ManageAppRestrictionsFragment());
        return true;
    case APP_RESTRICTIONS_MANAGING_PACKAGE_KEY:
        showFragment(new AppRestrictionsManagingPackageFragment());
        return true;
    case SET_PERMISSION_POLICY_KEY:
        showSetPermissionPolicyDialog();
        return true;
    case MANAGE_APP_PERMISSIONS_KEY:
        showFragment(new ManageAppPermissionsFragment());
        return true;
    case INSTALL_KEY_CERTIFICATE_KEY:
        showFileViewerForImportingCertificate(INSTALL_KEY_CERTIFICATE_REQUEST_CODE);
        return true;
    case REMOVE_KEY_CERTIFICATE_KEY:
        choosePrivateKeyForRemoval();
        return true;
    case INSTALL_CA_CERTIFICATE_KEY:
        showFileViewerForImportingCertificate(INSTALL_CA_CERTIFICATE_REQUEST_CODE);
        return true;
    case GET_CA_CERTIFICATES_KEY:
        showCaCertificateList();
        return true;
    case REMOVE_ALL_CERTIFICATES_KEY:
        mDevicePolicyManager.uninstallAllUserCaCerts(mAdminComponentName);
        showToast(R.string.all_ca_certificates_removed);
        return true;
    case MANAGED_PROFILE_SPECIFIC_POLICIES_KEY:
        showFragment(new ProfilePolicyManagementFragment(), ProfilePolicyManagementFragment.FRAGMENT_TAG);
        return true;
    case LOCK_SCREEN_POLICY_KEY:
        showFragment(new LockScreenPolicyFragment.Container());
        return true;
    case PASSWORD_CONSTRAINTS_KEY:
        showFragment(new PasswordConstraintsFragment.Container());
        return true;
    case SYSTEM_UPDATE_POLICY_KEY:
        showFragment(new SystemUpdatePolicyFragment());
        return true;
    case SET_ALWAYS_ON_VPN_KEY:
        showFragment(new AlwaysOnVpnFragment());
        return true;
    case NETWORK_STATS_KEY:
        showFragment(new NetworkUsageStatsFragment());
        return true;
    case DELEGATED_CERT_INSTALLER_KEY:
        showFragment(new DelegatedCertInstallerFragment());
        return true;
    case DISABLE_STATUS_BAR:
        setStatusBarDisabled(true);
        return true;
    case REENABLE_STATUS_BAR:
        setStatusBarDisabled(false);
        return true;
    case DISABLE_KEYGUARD:
        setKeyGuardDisabled(true);
        return true;
    case REENABLE_KEYGUARD:
        setKeyGuardDisabled(false);
        return true;
    case START_KIOSK_MODE:
        showManageLockTaskListPrompt(R.string.kiosk_select_title, new ManageLockTaskListCallback() {
            @Override
            public void onPositiveButtonClicked(String[] lockTaskArray) {
                startKioskMode(lockTaskArray);
            }
        });
        return true;
    case CAPTURE_IMAGE_KEY:
        dispatchCaptureIntent(MediaStore.ACTION_IMAGE_CAPTURE, CAPTURE_IMAGE_REQUEST_CODE, mImageUri);
        return true;
    case CAPTURE_VIDEO_KEY:
        dispatchCaptureIntent(MediaStore.ACTION_VIDEO_CAPTURE, CAPTURE_VIDEO_REQUEST_CODE, mVideoUri);
        return true;
    case CREATE_WIFI_CONFIGURATION_KEY:
        showWifiConfigCreationDialog();
        return true;
    case CREATE_EAP_TLS_WIFI_CONFIGURATION_KEY:
        showEapTlsWifiConfigCreationDialog();
        return true;
    case MODIFY_WIFI_CONFIGURATION_KEY:
        showFragment(new WifiModificationFragment());
        return true;
    case SHOW_WIFI_MAC_ADDRESS_KEY:
        showWifiMacAddress();
        return true;
    case SET_USER_RESTRICTIONS_KEY:
        showFragment(new UserRestrictionsDisplayFragment());
        return true;
    case REBOOT_KEY:
        reboot();
        return true;
    case SET_SHORT_SUPPORT_MESSAGE_KEY:
        showFragment(SetSupportMessageFragment.newInstance(SetSupportMessageFragment.TYPE_SHORT));
        return true;
    case SET_LONG_SUPPORT_MESSAGE_KEY:
        showFragment(SetSupportMessageFragment.newInstance(SetSupportMessageFragment.TYPE_LONG));
        return true;
    case SAFETYNET_ATTEST:
        DialogFragment safetynetFragment = new SafetyNetFragment();
        safetynetFragment.show(getFragmentManager(), SafetyNetFragment.class.getName());
        return true;
    }
    return false;
}

From source file:com.landenlabs.all_devtool.PackageFragment.java

/**
 * Load packages which are default (associated) with specific mime types.
 *
 * Use "adb shell dumpsys package r" to get full list
 *///ww w . ja  v  a 2s .c  om
void loadDefaultPackages() {
    m_workList = new ArrayList<PackingItem>();

    String[] actions = { Intent.ACTION_SEND, Intent.ACTION_SEND, Intent.ACTION_SEND, Intent.ACTION_SEND,

            Intent.ACTION_VIEW, Intent.ACTION_VIEW, Intent.ACTION_VIEW, Intent.ACTION_VIEW, Intent.ACTION_VIEW,
            Intent.ACTION_VIEW, Intent.ACTION_VIEW, Intent.ACTION_VIEW,

            MediaStore.ACTION_IMAGE_CAPTURE, MediaStore.ACTION_VIDEO_CAPTURE,

            Intent.ACTION_CREATE_SHORTCUT };

    String[] types = { "audio/*", "video/*", "image/*", "text/plain",

            "application/pdf", "application/zip", "audio/*", "video/*", "image/*", "text/html", "text/plain",
            "text/csv",

            "image/png", "video/*",

            "" };

    long orderCnt = 1;
    for (int idx = 0; idx != actions.length; idx++) {
        String type = types[idx];
        Intent resolveIntent = new Intent(actions[idx]);

        if (!TextUtils.isEmpty(type)) {
            if (type.startsWith("audio/*")) {
                Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
                resolveIntent.setDataAndType(uri, type);
            } else if (type.startsWith("video/*")) {
                Uri uri = Uri.withAppendedPath(MediaStore.Video.Media.INTERNAL_CONTENT_URI, "1");
                resolveIntent.setDataAndType(uri, type);
            } else if (type.startsWith("text/")) {
                Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath());
                resolveIntent.setDataAndType(uri, type);
            } else {
                resolveIntent.setType(type);
            }
        }

        PackageManager pm = getActivity().getPackageManager();

        // PackageManager.GET_RESOLVED_FILTER);  // or PackageManager.MATCH_DEFAULT_ONLY
        List<ResolveInfo> resolveList = pm.queryIntentActivities(resolveIntent, -1); // PackageManager.MATCH_DEFAULT_ONLY | PackageManager.GET_INTENT_FILTERS);

        if (resolveList != null) {
            String actType = type = Utils.last(actions[idx].split("[.]")) + ":" + type;
            for (ResolveInfo resolveInfo : resolveList) {
                ArrayListPairString pkgList = new ArrayListPairString();
                String appName = resolveInfo.activityInfo.loadLabel(pm).toString().trim();

                addList(pkgList, "Type", actType);
                String pkgName = resolveInfo.activityInfo.packageName;
                PackageInfo packInfo = null;
                try {
                    packInfo = pm.getPackageInfo(pkgName, 0);
                    addList(pkgList, "Version", packInfo.versionName);
                    addList(pkgList, "VerCode", String.valueOf(packInfo.versionCode));
                    addList(pkgList, "TargetSDK", String.valueOf(packInfo.applicationInfo.targetSdkVersion));
                    m_date.setTime(packInfo.firstInstallTime);
                    addList(pkgList, "Install First", s_timeFormat.format(m_date));
                    m_date.setTime(packInfo.lastUpdateTime);
                    addList(pkgList, "Install Last", s_timeFormat.format(m_date));
                    if (resolveInfo.filter != null) {
                        if (resolveInfo.filter.countDataSchemes() > 0) {
                            addList(pkgList, "Intent Scheme", "");
                            for (int sIdx = 0; sIdx != resolveInfo.filter.countDataSchemes(); sIdx++)
                                addList(pkgList, " ", resolveInfo.filter.getDataScheme(sIdx));
                        }
                        if (resolveInfo.filter.countActions() > 0) {
                            addList(pkgList, "Intent Action", "");
                            for (int aIdx = 0; aIdx != resolveInfo.filter.countActions(); aIdx++)
                                addList(pkgList, " ", resolveInfo.filter.getAction(aIdx));
                        }
                        if (resolveInfo.filter.countCategories() > 0) {
                            addList(pkgList, "Intent Category", "");
                            for (int cIdx = 0; cIdx != resolveInfo.filter.countCategories(); cIdx++)
                                addList(pkgList, " ", resolveInfo.filter.getCategory(cIdx));
                        }
                        if (resolveInfo.filter.countDataTypes() > 0) {
                            addList(pkgList, "Intent DataType", "");
                            for (int dIdx = 0; dIdx != resolveInfo.filter.countDataTypes(); dIdx++)
                                addList(pkgList, " ", resolveInfo.filter.getDataType(dIdx));
                        }
                    }
                    m_workList.add(
                            new PackingItem(pkgName.trim(), pkgList, packInfo, orderCnt++, appName, actType));
                } catch (Exception ex) {
                }
            }
        }

        if (false) {
            // TODO - look into this method, see loadCachedPackages
            int flags = PackageManager.GET_PROVIDERS;
            List<PackageInfo> packList = pm.getPreferredPackages(flags);
            if (packList != null) {
                for (int pkgIdx = 0; pkgIdx < packList.size(); pkgIdx++) {
                    PackageInfo packInfo = packList.get(pkgIdx);

                    // if (((packInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) == showSys) {
                    addPackageInfo(packInfo);
                    // }
                }
            }
        }
    }

    // getPreferredAppInfo();

    /*
    List<ProviderInfo> providerList = getActivity().getPackageManager().queryContentProviders(null, 0, 0);
    if (providerList != null) {
    for (ProviderInfo providerInfo : providerList) {
        String name = providerInfo.name;
        String pkg = providerInfo.packageName;
            
    }
    }
    */
}

From source file:it.feio.android.omninotes.DetailFragment.java

private void takeVideo() {
    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    if (!IntentChecker.isAvailable(mainActivity, takeVideoIntent,
            new String[] { PackageManager.FEATURE_CAMERA })) {
        mainActivity.showMessage(R.string.feature_not_available_on_this_device, ONStyle.ALERT);

        return;/*from   www.ja  v  a2s . c  o  m*/
    }
    // File is stored in custom ON folder to speedup the attachment
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD_MR1) {
        File f = StorageHelper.createNewAttachmentFile(mainActivity, Constants.MIME_TYPE_VIDEO_EXT);
        if (f == null) {
            mainActivity.showMessage(R.string.error, ONStyle.ALERT);

            return;
        }
        attachmentUri = Uri.fromFile(f);
        takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, attachmentUri);
    }
    String maxVideoSizeStr = "".equals(prefs.getString("settings_max_video_size", "")) ? "0"
            : prefs.getString("settings_max_video_size", "");
    int maxVideoSize = Integer.parseInt(maxVideoSizeStr);
    takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, Long.valueOf(maxVideoSize * 1024 * 1024));
    startActivityForResult(takeVideoIntent, TAKE_VIDEO);
}

From source file:com.dycody.android.idealnote.DetailFragment.java

private void takeVideo() {
    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    if (!IntentChecker.isAvailable(mainActivity, takeVideoIntent,
            new String[] { PackageManager.FEATURE_CAMERA })) {
        //mainActivity.showMessage(R.string.feature_not_available_on_this_device, ONStyle.ALERT);
        Toast.makeText(getActivity(), R.string.feature_not_available_on_this_device, Toast.LENGTH_SHORT).show();

        return;/* www . j  a  v  a  2 s.co m*/
    }
    // File is stored in custom ON folder to speedup the attachment
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.GINGERBREAD_MR1) {
        File f = StorageHelper.createNewAttachmentFile(mainActivity, Constants.MIME_TYPE_VIDEO_EXT);
        if (f == null) {
            //mainActivity.showMessage(R.string.error, ONStyle.ALERT);
            Toast.makeText(getActivity(), R.string.error, Toast.LENGTH_SHORT).show();

            return;
        }
        attachmentUri = Uri.fromFile(f);
        takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, attachmentUri);
    }
    String maxVideoSizeStr = "".equals(prefs.getString("settings_max_video_size", "")) ? "0"
            : prefs.getString("settings_max_video_size", "");
    int maxVideoSize = parseInt(maxVideoSizeStr);
    takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, Long.valueOf(maxVideoSize * 1024 * 1024));
    startActivityForResult(takeVideoIntent, TAKE_VIDEO);
}

From source file:com.guardtrax.ui.screens.HomeScreen.java

private void video_click() {
    AlertDialog.Builder dialog = new AlertDialog.Builder(HomeScreen.this);
    dialog.setTitle("Video");
    dialog.setMessage("Record a video?");

    dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        @Override/*from  w ww .  j a va2s  .  c  o m*/
        public void onClick(DialogInterface dialog, int which) {

            if (GTConstants.videoFeed.equalsIgnoreCase("dvtel")) {
                //Launch the DVTel program - TruWitness
                Intent intent = getPackageManager().getLaunchIntentForPackage("com.dvtel.mobilecam");
                if (intent != null) {
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            } else if (GTConstants.videoFeed.equalsIgnoreCase("milestone")) {
                //Launch the DVTel program - TruWitness
                Intent intent = getPackageManager().getLaunchIntentForPackage("com.milestonesys.mobile");
                if (intent != null) {
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            } else {
                // Launch an intent to capture video from MediaStore
                Intent takeVideoIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);

                String path = GTConstants.sendfileFolder + Utility.createFileName() + ".mpeg";
                file_name = path;

                File file = new File(path);
                Uri outputFileUri = Uri.fromFile(file);
                takeVideoIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, outputFileUri);
                startActivityForResult(takeVideoIntent, ACTION_TAKE_VIDEO);
            }
        }
    });

    dialog.setNeutralButton("View", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            galleryIntent = new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(galleryIntent, ACTIVITY_SELECT_VIDEO);
        }
    });

    dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {

        }
    });
    dialog.show();
}