Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hsr.dbclifestyles.features.post;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.content.pm.ActivityInfo;
- import android.graphics.drawable.Drawable;
- import android.net.Uri;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.FrameLayout;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.MediaController;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import android.widget.Toast;
- import android.widget.VideoView;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import com.bumptech.glide.Glide;
- import com.bumptech.glide.load.DataSource;
- import com.bumptech.glide.load.DecodeFormat;
- import com.bumptech.glide.load.engine.GlideException;
- import com.bumptech.glide.request.RequestListener;
- import com.bumptech.glide.request.RequestOptions;
- import com.bumptech.glide.request.target.Target;
- import com.hsr.dbclifestyles.R;
- import com.hsr.dbclifestyles.features.base.BaseFragment;
- import com.hsr.dbclifestyles.interfaces.OnBottomNavVisibility;
- public class CreatePostFragment extends BaseFragment implements View.OnClickListener {
- private ImageView postImageView;
- private VideoView postVideoView;
- private FrameLayout videoViewFrameLayout;
- private ImageButton navigateBackImageButton;
- private OnBottomNavVisibility onBottomNavVisibility;
- private ProgressBar photoDramaProgressBar, videoProgressbar;
- private TextView menuItemTextView, toolbarTitleTextView,
- genderPostVisibilityTextView, postVisibilityTextView;
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_create_post, container, false);
- postVideoView = view.findViewById(R.id.create_post_video_view);
- postImageView = view.findViewById(R.id.create_post_image_view);
- videoViewFrameLayout = view.findViewById(R.id.video_view_frame_layout);
- toolbarTitleTextView = view.findViewById(R.id.toolbar_title_text_view);
- videoProgressbar = view.findViewById(R.id.create_video_post_progressbar);
- menuItemTextView = view.findViewById(R.id.toolbar_menu_action_text_view);
- navigateBackImageButton = view.findViewById(R.id.navigate_back_image_button);
- postVisibilityTextView = view.findViewById(R.id.post_visibility_option_text_view);
- photoDramaProgressBar = view.findViewById(R.id.create_photo_drama_post_progressbar);
- genderPostVisibilityTextView = view.findViewById(R.id.gender_visibility_option_text_view);
- menuItemTextView.setOnClickListener(this);
- navigateBackImageButton.setOnClickListener(this);
- postVisibilityTextView.setOnClickListener(this);
- genderPostVisibilityTextView.setOnClickListener(this);
- menuItemTextView.setText(R.string.post);
- toolbarTitleTextView.setText(R.string.create_post);
- menuItemTextView.setVisibility(View.VISIBLE);
- return view;
- }
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- /* try {
- InputStream inputStream = getContentResolver().openInputStream(result.getUri());
- if (inputStream != null) {
- //showProgressHud();
- // accountViewModel.uploadUserProfileImage(inputStream);
- inputStream.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }*/
- if (getArguments() != null) {
- String postType = getArguments().getString("post_type");
- if (postType != null && postType.equals("photo/drama")) {
- Uri imageUri = getArguments().getParcelable("post_image_uri");
- if (imageUri != null) {
- photoDramaProgressBar.setVisibility(View.VISIBLE);
- postImageView.setVisibility(View.VISIBLE);
- Glide.with(requireContext())
- .load(imageUri)
- .apply(new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888)
- .override(Target.SIZE_ORIGINAL))
- .listener(new RequestListener<Drawable>() {
- @Override
- public boolean onLoadFailed(@Nullable GlideException e, Object model,
- Target<Drawable> target, boolean isFirstResource) {
- photoDramaProgressBar.setVisibility(View.GONE);
- return false;
- }
- @Override
- public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target,
- DataSource dataSource, boolean isFirstResource) {
- photoDramaProgressBar.setVisibility(View.GONE);
- return false;
- }
- })
- .into(postImageView);
- }
- } else if (postType != null && postType.equals("video")) {
- Uri videoUri = getArguments().getParcelable("post_video_uri");
- if (videoUri != null) {
- videoProgressbar.setVisibility(View.VISIBLE);
- videoViewFrameLayout.setVisibility(View.VISIBLE);
- MediaController mediaController= new MediaController(getContext());
- mediaController.setAnchorView(postVideoView);
- postVideoView.setMediaController(mediaController);
- postVideoView.setOnPreparedListener(mediaPlayer -> {
- videoProgressbar.setVisibility(View.GONE);
- mediaController.show(0);
- postVideoView.seekTo(1000);
- });
- postVideoView.setVideoURI(videoUri);
- }
- }
- }
- }
- private void showVisibilityDialog(String title, String globalOrAll, String maleOrFriends, String femaleOrOnlyMe) {
- ViewGroup viewGroup = requireView().findViewById(android.R.id.content);
- View alertView = LayoutInflater.from(requireContext()).inflate(R.layout.dialog_post_visibility, viewGroup, false);
- TextView titleTextView = alertView.findViewById(R.id.post_visibility_dialog_title_text_view);
- Button globalOrAllButton = alertView.findViewById(R.id.global_or_all_button);
- Button maleOrFriendsButton = alertView.findViewById(R.id.male_or_friends_button);
- Button femaleOrOnlyMeButton = alertView.findViewById(R.id.female_or_only_me_button);
- AlertDialog alertDialog = new AlertDialog.Builder(requireContext())
- .setView(alertView)
- .create();
- titleTextView.setText(title);
- globalOrAllButton.setText(globalOrAll);
- maleOrFriendsButton.setText(maleOrFriends);
- femaleOrOnlyMeButton.setText(femaleOrOnlyMe);
- if (title.equals("Post Visibility")) {
- globalOrAllButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.global_black, 0, 0, 0);
- maleOrFriendsButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.friends_black, 0, 0, 0);
- femaleOrOnlyMeButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.queen_crown, 0, 0, 0);
- } else if (title.equals("Select Gender")) {
- maleOrFriendsButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.king_crown, 0, 0, 0);
- femaleOrOnlyMeButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.queen_crown, 0, 0, 0);
- }
- globalOrAllButton.setOnClickListener(v -> {
- Toast.makeText(requireContext(), globalOrAll, Toast.LENGTH_SHORT).show();
- alertDialog.dismiss();
- });
- maleOrFriendsButton.setOnClickListener(v -> {
- Toast.makeText(requireContext(), maleOrFriends, Toast.LENGTH_SHORT).show();
- alertDialog.dismiss();
- });
- femaleOrOnlyMeButton.setOnClickListener(v -> {
- Toast.makeText(requireContext(), femaleOrOnlyMe, Toast.LENGTH_SHORT).show();
- alertDialog.dismiss();
- });
- alertDialog.show();
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.navigate_back_image_button:
- requireActivity().onBackPressed();
- break;
- case R.id.toolbar_menu_action_text_view:
- break;
- case R.id.post_visibility_option_text_view:
- showVisibilityDialog("Post Visibility", "Global", "Friends", "Only Me");
- break;
- case R.id.gender_visibility_option_text_view:
- showVisibilityDialog("Select Gender", "All", "Male", "Female");
- break;
- }
- }
- @Override
- public void onAttach(@NonNull Context context) {
- super.onAttach(context);
- try {
- onBottomNavVisibility = (OnBottomNavVisibility) context;
- onBottomNavVisibility.isHideNav(true);
- } catch (ClassCastException e) {
- Toast.makeText(context, "Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onResume() {
- super.onResume();
- requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
- }
- @Override
- public void onDestroyView() {
- super.onDestroyView();
- if (onBottomNavVisibility != null) {
- onBottomNavVisibility.isHideNav(false);
- }
- }
- @Override
- public void onDetach() {
- super.onDetach();
- requireActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement