Advertisement
Guest User

main activity

a guest
Jan 22nd, 2020
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. package com.hsr.dbclifestyles.features.base;
  2.  
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.View;
  8. import android.widget.Toast;
  9.  
  10. import androidx.annotation.Nullable;
  11. import androidx.appcompat.app.AppCompatActivity;
  12. import androidx.navigation.NavController;
  13. import androidx.navigation.Navigation;
  14. import androidx.navigation.ui.NavigationUI;
  15.  
  16. import com.google.android.material.bottomnavigation.BottomNavigationView;
  17. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  18. import com.hsr.dbclifestyles.R;
  19. import com.hsr.dbclifestyles.interfaces.OnBottomNavVisibility;
  20. import com.hsr.dbclifestyles.interfaces.OnMyClickListener;
  21. import com.hsr.dbclifestyles.utilities.CustomBottomSheetDialog;
  22. import com.theartofdev.edmodo.cropper.CropImage;
  23. import com.theartofdev.edmodo.cropper.CropImageView;
  24.  
  25. public class MainActivity extends AppCompatActivity implements OnMyClickListener, OnBottomNavVisibility {
  26.  
  27. private static final int VIDEO_PICKER_SELECT = 456;
  28. private FloatingActionButton fabButton;
  29. private BottomNavigationView navView;
  30. private NavController navController;
  31. private View dividerView;
  32. private String postType;
  33.  
  34. @Override
  35. protected void onCreate(Bundle savedInstanceState) {
  36. super.onCreate(savedInstanceState);
  37. setContentView(R.layout.activity_main);
  38.  
  39. dividerView = findViewById(R.id.main_divider_view);
  40. fabButton = findViewById(R.id.fab_button);
  41. navView = findViewById(R.id.nav_view);
  42. navController = Navigation.findNavController(this, R.id.nav_host_fragment);
  43. NavigationUI.setupWithNavController(navView, navController);
  44.  
  45. fabButton.setOnClickListener(v -> {
  46. CustomBottomSheetDialog dialog = new CustomBottomSheetDialog();
  47. dialog.show(getSupportFragmentManager(), "custom_bottom_sheet_dialog");
  48. });
  49. }
  50.  
  51. @Override
  52. public void onMyClick(int position, String value) {
  53. switch (position) {
  54. case 0:// photo upload button clicked
  55. case 2: // drama upload button clicked
  56. postType = "photo/drama";
  57. openGalleryOrCamera();
  58. break;
  59.  
  60. case 1: // video upload button clicked
  61. postType = "video";
  62. Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  63. pickIntent.setType("video/*");
  64. startActivityForResult(pickIntent, VIDEO_PICKER_SELECT);
  65. break;
  66. }
  67. }
  68.  
  69. private void openGalleryOrCamera() {
  70. CropImage.activity()
  71. .setActivityTitle("Select the image area which you want to crop")
  72. .setCropShape(CropImageView.CropShape.RECTANGLE)
  73. .setCropMenuCropButtonTitle("Done")
  74. .start(this);
  75. }
  76.  
  77. @Override
  78. protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  79. super.onActivityResult(requestCode, resultCode, data);
  80.  
  81. if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
  82. CropImage.ActivityResult result = CropImage.getActivityResult(data);
  83.  
  84. if (resultCode == RESULT_OK) {
  85. if (result != null && result.getUri() != null) {
  86. Bundle bundle = new Bundle();
  87. bundle.putString("post_type", postType);
  88. bundle.putParcelable("post_image_uri", result.getUri());
  89. navController.navigate(R.id.createPostFragment, bundle);
  90. }
  91. } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
  92. if (result != null && result.getError() != null) {
  93. Toast.makeText(this, result.getError().getMessage(), Toast.LENGTH_SHORT).show();
  94. }
  95. }
  96. } else if (requestCode == VIDEO_PICKER_SELECT) {
  97. if (data != null) {
  98. Uri selectedMediaUri = data.getData();
  99.  
  100. if (selectedMediaUri != null && selectedMediaUri.toString().contains("video")) {
  101. Bundle bundle = new Bundle();
  102. bundle.putString("post_type", postType);
  103. bundle.putParcelable("post_video_uri", selectedMediaUri);
  104. navController.navigate(R.id.createPostFragment, bundle);
  105. }
  106. }
  107. }
  108. }
  109.  
  110. @Override
  111. public void isHideNav(boolean isHide) {
  112. if (isHide) {
  113. fabButton.hide();
  114. navView.setVisibility(View.GONE);
  115. dividerView.setVisibility(View.GONE);
  116. } else {
  117. fabButton.show();
  118. dividerView.setVisibility(View.VISIBLE);
  119. navView.setVisibility(View.VISIBLE);
  120. }
  121. }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement