Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hsr.dbclifestyles.features.base;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Toast;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.navigation.NavController;
- import androidx.navigation.Navigation;
- import androidx.navigation.ui.NavigationUI;
- import com.google.android.material.bottomnavigation.BottomNavigationView;
- import com.google.android.material.floatingactionbutton.FloatingActionButton;
- import com.hsr.dbclifestyles.R;
- import com.hsr.dbclifestyles.interfaces.OnBottomNavVisibility;
- import com.hsr.dbclifestyles.interfaces.OnMyClickListener;
- import com.hsr.dbclifestyles.utilities.CustomBottomSheetDialog;
- import com.theartofdev.edmodo.cropper.CropImage;
- import com.theartofdev.edmodo.cropper.CropImageView;
- public class MainActivity extends AppCompatActivity implements OnMyClickListener, OnBottomNavVisibility {
- private static final int VIDEO_PICKER_SELECT = 456;
- private FloatingActionButton fabButton;
- private BottomNavigationView navView;
- private NavController navController;
- private View dividerView;
- private String postType;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- dividerView = findViewById(R.id.main_divider_view);
- fabButton = findViewById(R.id.fab_button);
- navView = findViewById(R.id.nav_view);
- navController = Navigation.findNavController(this, R.id.nav_host_fragment);
- NavigationUI.setupWithNavController(navView, navController);
- fabButton.setOnClickListener(v -> {
- CustomBottomSheetDialog dialog = new CustomBottomSheetDialog();
- dialog.show(getSupportFragmentManager(), "custom_bottom_sheet_dialog");
- });
- }
- @Override
- public void onMyClick(int position, String value) {
- switch (position) {
- case 0:// photo upload button clicked
- case 2: // drama upload button clicked
- postType = "photo/drama";
- openGalleryOrCamera();
- break;
- case 1: // video upload button clicked
- postType = "video";
- Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
- pickIntent.setType("video/*");
- startActivityForResult(pickIntent, VIDEO_PICKER_SELECT);
- break;
- }
- }
- private void openGalleryOrCamera() {
- CropImage.activity()
- .setActivityTitle("Select the image area which you want to crop")
- .setCropShape(CropImageView.CropShape.RECTANGLE)
- .setCropMenuCropButtonTitle("Done")
- .start(this);
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
- CropImage.ActivityResult result = CropImage.getActivityResult(data);
- if (resultCode == RESULT_OK) {
- if (result != null && result.getUri() != null) {
- Bundle bundle = new Bundle();
- bundle.putString("post_type", postType);
- bundle.putParcelable("post_image_uri", result.getUri());
- navController.navigate(R.id.createPostFragment, bundle);
- }
- } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
- if (result != null && result.getError() != null) {
- Toast.makeText(this, result.getError().getMessage(), Toast.LENGTH_SHORT).show();
- }
- }
- } else if (requestCode == VIDEO_PICKER_SELECT) {
- if (data != null) {
- Uri selectedMediaUri = data.getData();
- if (selectedMediaUri != null && selectedMediaUri.toString().contains("video")) {
- Bundle bundle = new Bundle();
- bundle.putString("post_type", postType);
- bundle.putParcelable("post_video_uri", selectedMediaUri);
- navController.navigate(R.id.createPostFragment, bundle);
- }
- }
- }
- }
- @Override
- public void isHideNav(boolean isHide) {
- if (isHide) {
- fabButton.hide();
- navView.setVisibility(View.GONE);
- dividerView.setVisibility(View.GONE);
- } else {
- fabButton.show();
- dividerView.setVisibility(View.VISIBLE);
- navView.setVisibility(View.VISIBLE);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement