Advertisement
Guest User

MyProfileActivityNew

a guest
Jun 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 32.18 KB | None | 0 0
  1. package com.swarmerapp.swarmer.MyProfileNew.ui;
  2.  
  3. import android.Manifest;
  4. import android.app.Activity;
  5. import android.app.ProgressDialog;
  6. import android.content.Intent;
  7. import android.os.Bundle;
  8. import android.support.annotation.NonNull;
  9. import android.support.annotation.Nullable;
  10. import android.support.v4.app.ActivityCompat;
  11. import android.support.v4.app.FragmentManager;
  12. import android.support.v4.app.FragmentTransaction;
  13. import android.support.v7.app.ActionBar;
  14. import android.support.v7.app.AppCompatActivity;
  15. import android.support.v7.widget.Toolbar;
  16. import android.view.View;
  17. import android.widget.Button;
  18. import android.widget.FrameLayout;
  19. import android.widget.ImageView;
  20. import android.widget.LinearLayout;
  21. import android.widget.TextView;
  22. import android.widget.Toast;
  23.  
  24. import com.swarmerapp.swarmer.App;
  25. import com.swarmerapp.swarmer.InsertReferralCode;
  26. import com.swarmerapp.swarmer.MyProfileNew.MyProfileContract;
  27. import com.swarmerapp.swarmer.MyProfileNew.ProfileMainPresenter;
  28. import com.swarmerapp.swarmer.MyProfileNew.ProfilePhotosPresenter;
  29. import com.swarmerapp.swarmer.R;
  30. import com.theartofdev.edmodo.cropper.CropImage;
  31.  
  32. import java.util.Arrays;
  33. import java.util.List;
  34.  
  35. import butterknife.BindView;
  36. import butterknife.ButterKnife;
  37. import butterknife.OnClick;
  38. import com.trekeye.swarmer_sdk_library.modules.AppUser;
  39. import com.trekeye.swarmer_sdk_library.modules.Photo;
  40. import com.trekeye.swarmer_sdk_library.modules.SocialNetData;
  41. import com.trekeye.swarmer_sdk_library.utils.LogWrapper;
  42.  
  43. import utils.Common;
  44. import utils.Utils;
  45.  
  46.  
  47. /**
  48.  * Created by nikolahristovski on 11/11/16.
  49.  */
  50.  
  51. public class MyProfileActivityNew extends AppCompatActivity implements MyProfileContract.ProfileViewContract, MyProfileGalleryFragment.GalleryFragmentParent {
  52.  
  53.     private static final String TAG = MyProfileActivityNew.class.getName();
  54.     private static final int PERMISSION_CAMERA_REQUEST = 1;
  55.     private static final int PERMISSION_WRITE_EXTERNAL_REQUEST = 2;
  56.     private static final int PHONE_UPDATE_REQUEST_CODE = 3012;
  57.  
  58.     @BindView(R.id.profile_main_content)
  59.     FrameLayout container;
  60.  
  61.     @BindView(R.id.my_profile_save)
  62.     TextView btnDone;
  63.  
  64.     @BindView(R.id.profile_title)
  65.     TextView tvTitle;
  66.  
  67.     @BindView(R.id.activity_profile_fragment_ll)
  68.     LinearLayout activityProfileFragmentLl;
  69.  
  70.     @BindView(R.id.layout_active_tab)
  71.     LinearLayout layout_active_tab;
  72.  
  73.     @BindView(R.id.sign_up_continue_btn)
  74.     Button signUpContinueBtn;
  75.  
  76.     @BindView(R.id.back)
  77.     TextView btnGoBack;
  78.     @BindView(R.id.text_bottom_back)
  79.     TextView text_bottom_back;
  80.     @BindView(R.id.text_tab_profile)
  81.     TextView text_tab_profile;
  82.     @BindView(R.id.text_tab_gender)
  83.     TextView text_tab_gender;
  84.     @BindView(R.id.text_tab_personal_info)
  85.     TextView text_tab_personal_info;
  86.     @BindView(R.id.text_tab_verify_phone)
  87.     TextView text_tab_verify_phone;
  88.  
  89.     @BindView(R.id.image_check_profile)
  90.     ImageView image_check_profile;
  91.     @BindView(R.id.image_check_gender)
  92.     ImageView image_check_gender;
  93.     @BindView(R.id.image_check_personal_info)
  94.     ImageView image_check_personal_info;
  95.     @BindView(R.id.image_check_verify_profile)
  96.     ImageView image_check_verify_profile;
  97.  
  98.     public static final int TAB_CHECK_PROFILE =1;
  99.     public static final int TAB_CHECK_GENDER =2;
  100.     public static final int TAB_CHECK_PERSONAL_INFO =3;
  101.     public static final int TAB_CHECK_VERIFIFY_PROFILE =4;
  102.  
  103.     private MyProfileVerifyPhoneFragment vPhoneFragment;
  104.     private MyProfileUserDetailsFragment vPersonalInfoFragment;
  105.     private MyProfileCompleteFragment profileCompleteFragment;
  106.     private MyProfileGalleryFragment galleryFragment;
  107.     private MyProfileGenderFragment genderFragment;
  108.  
  109.     private ProfileMainPresenter mMainPresenter;
  110.     private ProfilePhotosPresenter mPhotosPresenter;
  111.  
  112.     private AppUser user;
  113.     private SocialNetData socialData;
  114.     private ProgressDialog progressBarDialog;
  115.  
  116.     Toolbar toolbar;
  117.     @Override
  118.     protected void onCreate(@Nullable Bundle savedInstanceState) {
  119.         super.onCreate(savedInstanceState);
  120.         setContentView(R.layout.activity_my_profile);
  121.         ButterKnife.bind(this);
  122.  
  123.         btnGoBack.setOnClickListener(event->onBackButtonClick());
  124.         text_bottom_back.setOnClickListener(event->onBackButtonClick());
  125.         if (Utils.checkPermission(getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  126.             init();
  127.         } else {
  128.             requestStoragePermission();
  129.         }
  130.     }
  131.  
  132.     @Override
  133.     protected void onDestroy() {
  134.         LogWrapper.d(TAG, "onDestroy called");
  135.         super.onDestroy();
  136.         if (mPhotosPresenter != null) {
  137.             mPhotosPresenter.removeCachedImages();
  138.         }
  139.         hideProgressBarDialog();
  140.         mPhotosPresenter = null;
  141.         mMainPresenter = null;
  142.         App.watchReference(this);
  143.     }
  144.  
  145.     private void init() {
  146.  
  147.         toolbar = findViewById(R.id.profile_toolbar);
  148.         setSupportActionBar(toolbar);
  149.         final ActionBar ab = getSupportActionBar();
  150.         ab.setDisplayShowHomeEnabled(true);
  151.         ab.setDisplayHomeAsUpEnabled(false);
  152.         ab.setDisplayShowCustomEnabled(true);
  153.         ab.setDisplayShowTitleEnabled(false);
  154.  
  155.  
  156.         galleryFragment = MyProfileGalleryFragment.getInstance();
  157.         vPhoneFragment = MyProfileVerifyPhoneFragment.getInstance();
  158.         vPersonalInfoFragment = MyProfileUserDetailsFragment.getInstance();
  159.         profileCompleteFragment = MyProfileCompleteFragment.getInstance();
  160.         genderFragment = MyProfileGenderFragment.getInstance();
  161.  
  162.         mMainPresenter = new ProfileMainPresenter(this, this);
  163.         mPhotosPresenter = new ProfilePhotosPresenter(this, this);
  164.         mMainPresenter.registerToEventbus();
  165.         mPhotosPresenter.registerToEventbus();
  166.         initProgressBarDialog();
  167.  
  168.         mMainPresenter.loadUser();
  169.     }
  170.  
  171.     @Override
  172.     protected void onResume() {
  173.         super.onResume();
  174.         if (Utils.checkPermission(getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  175.             mMainPresenter.registerToEventbus();
  176.             mPhotosPresenter.registerToEventbus();
  177.         }
  178. //
  179. //        boolean isVisible = galleryFragment.isVisible();
  180. //        boolean isVisibleGenderf = genderFragment.isVisible();
  181. //        boolean isVisiblePersonalInfo = vPhoneFragment.isVisible();
  182. //        if(isVisible){
  183. //            isInitialVisibility();
  184. //        }else if(isVisibleGenderf){
  185. //            isGenderVisibility();
  186. //        }
  187. //        else if(isVisiblePersonalInfo){
  188. //            isPersonalInfoVisibility();
  189. //        }
  190. //        else if(isVisiblePersonalInfo){
  191. //            isVerifyPhoneVisibility();
  192. //        }
  193.     }
  194.  
  195.     public void isInitialVisibility(){
  196.         btnGoBack.setVisibility(View.VISIBLE);
  197.         text_bottom_back.setVisibility(View.GONE);
  198.         image_check_profile.setVisibility(View.INVISIBLE);
  199.         image_check_gender.setVisibility(View.INVISIBLE);
  200.         image_check_personal_info.setVisibility(View.INVISIBLE);
  201.         image_check_verify_profile.setVisibility(View.INVISIBLE);
  202.  
  203.         text_tab_gender.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  204.         text_tab_personal_info.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  205.         text_tab_profile.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile_active));
  206.         text_tab_verify_phone.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  207.     }
  208.     public void isGenderVisibility(){
  209.         btnGoBack.setVisibility(View.INVISIBLE);
  210.         text_bottom_back.setVisibility(View.VISIBLE);
  211.         image_check_profile.setVisibility(View.VISIBLE);
  212.         image_check_gender.setVisibility(View.INVISIBLE);
  213.         image_check_personal_info.setVisibility(View.INVISIBLE);
  214.         image_check_verify_profile.setVisibility(View.INVISIBLE);
  215.  
  216.         text_tab_gender.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile_active));
  217.         text_tab_personal_info.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  218.         text_tab_profile.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  219.         text_tab_verify_phone.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  220.     }
  221.     public void isPersonalInfoVisibility(){
  222.         btnGoBack.setVisibility(View.INVISIBLE);
  223.         image_check_profile.setVisibility(View.VISIBLE);
  224.         image_check_gender.setVisibility(View.VISIBLE);
  225.         image_check_personal_info.setVisibility(View.INVISIBLE);
  226.         image_check_verify_profile.setVisibility(View.INVISIBLE);
  227.  
  228.         text_tab_gender.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  229.         text_tab_personal_info.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile_active));
  230.         text_tab_profile.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  231.         text_tab_verify_phone.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  232.     }
  233.     public void isVerifyPhoneVisibility(){
  234.         btnGoBack.setVisibility(View.INVISIBLE);
  235.         text_bottom_back.setVisibility(View.INVISIBLE);
  236.         image_check_profile.setVisibility(View.VISIBLE);
  237.         image_check_gender.setVisibility(View.VISIBLE);
  238.         image_check_personal_info.setVisibility(View.VISIBLE);
  239.         image_check_verify_profile.setVisibility(View.INVISIBLE);
  240.  
  241.         text_tab_gender.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  242.         text_tab_personal_info.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  243.         text_tab_profile.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile));
  244.         text_tab_verify_phone.setTextColor(getBaseContext().getResources().getColor(R.color.text_profile_active));
  245.     }
  246.     @Override
  247.     protected void onPause() {
  248.         super.onPause();
  249.         if (Utils.checkPermission(getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  250.             mMainPresenter.unregisterFromEventbus();
  251.             mPhotosPresenter.unregisterFromEventbus();
  252.         }
  253.     }
  254.  
  255.     @Override
  256.     public void setTitle(String s) {
  257.         if (!Common.getInstance().getPref().userExists()) {
  258.             tvTitle.setText(R.string.sign_up);
  259.         }else {
  260.             tvTitle.setText(R.string.my_profile);
  261.         }
  262.     }
  263.  
  264.     @Override
  265.     public void setDoneButtonEnabled(boolean isEnabled) {
  266.         if (!Common.getInstance().getPref().userExists()) {
  267.             if (isEnabled) {
  268.                 btnDone.setText(R.string.next);
  269.                 signUpContinueBtn.setVisibility(View.VISIBLE);
  270.                 signUpContinueBtn.setEnabled(true);
  271.             } else {
  272.                 btnDone.setText(R.string.save);
  273.  
  274.             }
  275.         }
  276.     }
  277.  
  278.     @Override
  279.     public ProfilePhotosPresenter getPhotosPresenter() {
  280.         return mPhotosPresenter;
  281.     }
  282.  
  283.     @Override
  284.     public void displayError(String e) {
  285.         Toast.makeText(this, e, Toast.LENGTH_SHORT).show();
  286.     }
  287.  
  288.     // gallery fragment onCreateView
  289.     @Override
  290.     public void onCreateView() {
  291.         if (user == null) {
  292.             galleryFragment.galleryFragmentFillProfileData(socialData);
  293.             isInitialVisibility();
  294.         } else {
  295.             galleryFragment.galleryFragmentFillProfileData(user);
  296.         }
  297.     }
  298.  
  299.     @Override
  300.     public void displayLoadingDialog(boolean isVisible) {
  301.  
  302.     }
  303.  
  304.     private void setupViews() {
  305.         if (Common.getInstance().getPref().userExists()) {
  306.             btnDone.setText(R.string.save);
  307.             toolbar.setBackgroundColor(getResources().getColor(R.color.black));
  308.             toolbar.setBackgroundColor(getResources().getColor(R.color.black));
  309.             tvTitle.setTextColor(getResources().getColor(R.color.white));
  310.             btnDone.setTextColor(getResources().getColor(R.color.white));
  311.             btnGoBack.setTextColor(getResources().getColor(R.color.white));
  312. //
  313. //            vPersonalInfoFragment.etEmail.setTextColor(getResources().getColor(R.color.white));
  314. //            vPersonalInfoFragment.etFirstName.setTextColor(getResources().getColor(R.color.white));
  315. //            vPersonalInfoFragment.etLastName.setTextColor(getResources().getColor(R.color.white));
  316.  
  317. //            vPersonalInfoFragment.etEmail.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
  318. //            vPersonalInfoFragment.etFirstName.setBackgroundTintList(getResources().getColor(R.color.white));
  319. //            vPersonalInfoFragment.etLastName.setTextColor(getResources().getColor(R.color.white));
  320.             layout_active_tab.setVisibility(View.GONE);
  321.             signUpContinueBtn.setVisibility(View.INVISIBLE);
  322.             activityProfileFragmentLl.setBackground(getResources().getDrawable(R.drawable.back_picture_invite));
  323.             FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
  324.             fragmentTransaction.add(R.id.profile_main_content, galleryFragment);
  325.  
  326.             fragmentTransaction.add(R.id.profile_secondary_content, vPersonalInfoFragment);
  327.  
  328.             fragmentTransaction.add(R.id.profile_ternary_content, profileCompleteFragment);
  329.             fragmentTransaction.commit();
  330.         } else {
  331.             layout_active_tab.setVisibility(View.VISIBLE);
  332.             btnDone.setVisibility(View.INVISIBLE);
  333.             signUpContinueBtn.setVisibility(View.INVISIBLE);
  334.             galleryFragment = MyProfileGalleryFragment.getInstance();
  335.             FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
  336.             fragmentTransaction.replace(R.id.profile_main_content, galleryFragment);
  337.             fragmentTransaction.commitAllowingStateLoss();
  338.         }
  339.  
  340.         setVerifyPhoneActionListener();
  341.         setCompleteProfileActionListener();
  342.         setGenderActionListener();
  343.     }
  344.     @OnClick(R.id.sign_up_continue_btn)
  345.     public void signUp() {
  346.         if (genderFragment == null) {
  347.  
  348.             genderFragment = MyProfileGenderFragment.getInstance();
  349.         }
  350.  
  351.         if (profileCompleteFragment == null) {
  352.             profileCompleteFragment = MyProfileCompleteFragment.getInstance();
  353.         }
  354.  
  355.         if (vPersonalInfoFragment == null) {
  356.             vPersonalInfoFragment = MyProfileUserDetailsFragment.getInstance();
  357.         }
  358.         boolean isVisible = galleryFragment.isVisible();
  359.         boolean isVisibleGenderf = genderFragment.isVisible();
  360.         boolean isVisiblePersonalInf = vPersonalInfoFragment.isVisible();
  361.         if (isVisible && !galleryFragment.checkIfUserHaveProfilePicture()) {
  362.             displayError("You must have profile image !");
  363.             showSavingUserDialog(false);
  364.         } else if (isVisible && !galleryFragment.checkIfContainsMinimumNumberOfImages()) {
  365.             displayError("At least 3 images must be uploaded");
  366.             showSavingUserDialog(false);
  367.         } else if (isVisible) {
  368.             showSavingUserDialog(true);
  369.             openGenderFragment();
  370.         }else if (isVisibleGenderf) {
  371.             showSavingUserDialog(true);
  372.             openPersonalInfoFragment();
  373.             if(user != null){
  374.                 if (genderFragment.maleImageView.isChecked()){
  375.                     user.setGender("male");
  376.                 }else {
  377.                     user.setGender("female");
  378.                 }
  379.             } else if (socialData != null) {
  380.                 if (genderFragment.maleImageView.isChecked()){
  381.                     socialData.setGender("male");
  382.                 }else {
  383.                     socialData.setGender("female");
  384.                 }
  385.                 Common.getInstance().getPref().saveSocialData(socialData);
  386.             }
  387.         }
  388.         else if(isVisiblePersonalInf){
  389.             openVirifyPhoneFragment();
  390.         }
  391.     }
  392.     @OnClick(R.id.my_profile_save)
  393.     public void saveProfile(){
  394.         if (Common.getInstance().getPref().userExists()) {
  395.             if(vPhoneFragment.etPhoneNum.isValid()){
  396.                 mMainPresenter.updateUser();
  397.             }else {
  398.                 displayError("Invalid phone number");
  399.             }
  400.  
  401.         }else {
  402.             if (vPhoneFragment == null) {
  403.                 vPhoneFragment = MyProfileVerifyPhoneFragment.getInstance();
  404.             }
  405.  
  406.             if (profileCompleteFragment == null) {
  407.                 profileCompleteFragment = MyProfileCompleteFragment.getInstance();
  408.             }
  409.  
  410.             boolean isVisible = galleryFragment.isVisible();
  411.             if (isVisible && !galleryFragment.checkIfUserHaveProfilePicture()) {
  412.                 displayError("You must have profile image !");
  413.                 showSavingUserDialog(false);
  414.             } else if (isVisible && !galleryFragment.checkIfContainsMinimumNumberOfImages()) {
  415.                 displayError("At least 3 images must be uploaded");
  416.                 showSavingUserDialog(false);
  417.             } else if (isVisible) {
  418.                 showSavingUserDialog(true);
  419.                 openVirifyPhoneFragment();
  420.             }
  421.         }
  422.     }
  423.  
  424.     private void openGenderFragment() {
  425.  
  426.         isGenderVisibility();
  427.  
  428.         FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
  429. //        btnDone.setVisibility(View.GONE);
  430.         btnDone.setText(R.string.save);
  431.         ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
  432.         ft.addToBackStack(null);
  433.         ft.replace(R.id.profile_main_content, genderFragment,"GENDERFRAGMENT");
  434.         ft.commit();
  435.     }
  436.     private void openVirifyPhoneFragment() {
  437.         mMainPresenter.getAppUser().setEmail(vPersonalInfoFragment.etEmail.getText().toString());
  438.         mMainPresenter.getAppUser().setFirstName(vPersonalInfoFragment.etFirstName.getText().toString());
  439.         mMainPresenter.getAppUser().setLastName(vPersonalInfoFragment.etLastName.getText().toString());
  440.         if(mMainPresenter.validateUserPersonalInfo()) {
  441.  
  442.             signUpContinueBtn.setVisibility(View.INVISIBLE);
  443.             isVerifyPhoneVisibility();
  444.             btnGoBack.setVisibility(View.INVISIBLE);
  445.  
  446.             FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
  447. //        btnDone.setVisibility(View.GONE);
  448.             btnDone.setText(R.string.save);
  449.             ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
  450.             ft.addToBackStack(null);
  451.             ft.replace(R.id.profile_main_content, vPhoneFragment,"PHONEFRAGMENT");
  452.             ft.commit();
  453.         }
  454.     }
  455.     private void openPersonalInfoFragment() {
  456.  
  457.         isPersonalInfoVisibility();
  458.         signUpContinueBtn.setVisibility(View.VISIBLE);
  459.         FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
  460. //        btnDone.setVisibility(View.GONE);
  461.         btnDone.setText(R.string.save);
  462.         ft.setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_out_right, android.R.anim.slide_in_left, android.R.anim.slide_out_right);
  463.         ft.addToBackStack(null);
  464.         ft.replace(R.id.profile_main_content, vPersonalInfoFragment,"PERSONALFRAGMENT");
  465.         ft.commit();
  466.     }
  467.  
  468.     @Override
  469.     public void fillProfileData(AppUser user) {
  470.         LogWrapper.d(TAG, "filling profile data with existing user");
  471.         this.user = user;
  472.         setupViews();
  473.         /*
  474.         galleryFragment.setDarkBackground();
  475.         galleryFragment.galleryFragmentFillProfileData(user);
  476.         vPhoneFragment.fillData(user);
  477.         profileCompleteFragment.fillProfileData(user);*/
  478.     }
  479.  
  480.     @Override
  481.     public void fillProfileData(SocialNetData success) {
  482.         socialData = success;
  483.         setupViews();
  484.         //galleryFragment.galleryFragmentFillProfileData(success);
  485.     }
  486.  
  487.     @Override
  488.     public void setCityOfParty(String s) {
  489.  
  490.     }
  491.  
  492.     @Override
  493.     public String getCityOfParty() {
  494.         return null;
  495.     }
  496.  
  497.     @Override
  498.     public void onUserCreated(AppUser user) {
  499.         mPhotosPresenter.uploadImages(false);
  500.     }
  501.  
  502.     @Override
  503.     public void onUserUpdated(AppUser user) {
  504.         mPhotosPresenter.setCurrentUserPhotos(user.getPhotos());
  505.         showSavingUserDialog(true);
  506.         mPhotosPresenter.uploadImages(true);
  507.     }
  508.  
  509.     @Override
  510.     public void onPhotosUploaded(List<Photo> lsUploadedPhotos) {
  511.         LogWrapper.d(TAG, "showSavingUserDialog() onPhotosUploaded()");
  512.         showSavingUserDialog(false);
  513.         mMainPresenter.onPhotosUploaded(lsUploadedPhotos);
  514.     }
  515.  
  516.     @Override
  517.     public void userStoredInDB(boolean userExist) {
  518.         // check if there is no user in the
  519.         boolean editProfile = getIntent().getBooleanExtra("editProfile", false);
  520.         if(!editProfile){
  521.             if (!userExist || (userExist && Common.getInstance().getPref().getUserIncompleteStatus())) {
  522.                 Intent i = new Intent(MyProfileActivityNew.this, InsertReferralCode.class);
  523.                 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
  524.                 startActivity(i);
  525.             }
  526.         }else {
  527.             finish();
  528.         }
  529.     }
  530.  
  531.     @Override
  532.     public void startPhoneVerification(String oldPhone) {
  533.         Intent i = new Intent(MyProfileActivityNew.this, VerifyPhoneActivityNew.class);
  534.         i.putExtra("oldPhone", oldPhone);
  535.         LogWrapper.d(TAG, "startPhoneVerification called");
  536.         startActivityForResult(i, PHONE_UPDATE_REQUEST_CODE);
  537.     }
  538.  
  539.     @Override
  540.     public void onPhoneVerified() {
  541.         vPhoneFragment.setVerifyButtonEnabled(true);
  542.         Toast.makeText(this, "Phone successfully verified, verification code will be sent on this phone number", Toast.LENGTH_LONG).show();
  543.     }
  544.  
  545.     @Override
  546.     public void onErrorPhoneVerification() {
  547.         if (vPhoneFragment != null)
  548.             vPhoneFragment.setVerifyButtonEnabled(true);
  549.     }
  550.  
  551.     @Override
  552.     public void showSavingUserDialog(boolean visible) {
  553.         LogWrapper.d(TAG, "showSavingUserDialog() visible=" + visible);
  554.         /*if (visible) {
  555.             showProgressBarDialog();
  556.         } else {
  557.             hideProgressBarDialog();
  558.         }*/
  559.     }
  560.  
  561.     private void initProgressBarDialog() {
  562.         progressBarDialog = new ProgressDialog(this);
  563.         progressBarDialog.setMessage("Please wait while your profile/photos are saved.");
  564.         progressBarDialog.setTitle("Saving profile");
  565.         progressBarDialog.setCancelable(false);
  566.     }
  567.  
  568.  
  569.     public void showProgressBarDialog() {
  570.         progressBarDialog.show();
  571.     }
  572.  
  573.     private void hideProgressBarDialog() {
  574.         if (progressBarDialog != null) {
  575.             progressBarDialog.dismiss();
  576.         }
  577.     }
  578.  
  579.     @Override
  580.     public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
  581.         super.onRequestPermissionsResult(requestCode, permissions, grantResults);
  582.         LogWrapper.d(TAG, "onRequestPermissionsResult, requestCode=" + requestCode + ", permissions=" + Arrays.toString(permissions) + ", grantResults=" + Arrays.toString(grantResults));
  583.         switch (requestCode) {
  584.             case PERMISSION_WRITE_EXTERNAL_REQUEST: {
  585.                 // If request is cancelled, the result arrays are empty.
  586.                 if (Utils.checkGrantedPermissions(grantResults)) {
  587.                     LogWrapper.d(TAG, " Permissions granted! Congratulations!");
  588.                     init();
  589.                 } else {
  590.                     LogWrapper.d(TAG, " Permissions not granted!");
  591.                     //Toast.makeText(getContext(), getString(R.string.camera_permissions_not_granted), Toast.LENGTH_LONG).show();
  592.                     requestStoragePermission();
  593.                 }
  594.                 break;
  595.             }
  596.         }
  597.     }
  598.  
  599.  
  600.     @Override
  601.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  602.         super.onActivityResult(requestCode, resultCode, data);
  603.         LogWrapper.d(TAG, "onActivityResult called");
  604.         if (requestCode == PHONE_UPDATE_REQUEST_CODE) {
  605.             LogWrapper.d(TAG, "onActivityResult with phone update code");
  606.             if (resultCode == Activity.RESULT_OK) {
  607.                 mMainPresenter.onPhoneUpdateVerification(true);
  608.             } else {
  609.                 mMainPresenter.onPhoneUpdateVerification(false);
  610.                 displayError("New phone number has not been updated");
  611.             }
  612.                 /*
  613.                 Bundle b = data.getExtras();
  614.                 if (b != null) {
  615.                     String number = b.getString("number");
  616.                     String verificationCode = b.getString("verificationCode");
  617.                     vPhoneFragment.setPhone(number);
  618.                     mMainPresenter.setPhoneVerificationResult(verificationCode);
  619.                 }*/
  620.         }
  621.         if (requestCode == MyProfileGalleryFragment.STORAGE_REQUEST_CODE || requestCode == MyProfileGalleryFragment.FACEBOOK_REQUEST_CODE || requestCode == MyProfileGalleryFragment.CAMERA_REQUEST_CODE) {
  622.             galleryFragment.onActivityResult(requestCode, resultCode, data);
  623.         } else if (requestCode == MyProfileCompleteFragment.OCCUPATION_REQUEST_CODE) {
  624.             profileCompleteFragment.onFragmentActivityResult(requestCode, resultCode, data);
  625.         } else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
  626.             galleryFragment.onActivityResult(requestCode, resultCode, data);
  627.         }
  628.     }
  629.  
  630.     private void setVerifyPhoneActionListener() {
  631.         vPhoneFragment.setOnActionListener(new MyProfileVerifyPhoneFragment.PhoneVerificationActionListener() {
  632.             @Override
  633.             public void onSendPhoneClick(String phone) {
  634.                 vPhoneFragment.tempDisableSendPhoneButton();
  635.                 mMainPresenter.sendPhoneForVerification(phone);
  636.             }
  637.  
  638.             @Override
  639.             public void onVerifyPhoneClick(String code) {
  640.                 mMainPresenter.setPhoneVerificationResult(code);
  641.             }
  642.  
  643.             @Override
  644.             public void setTitle(String title) {
  645.                 MyProfileActivityNew.this.setTitle(title);
  646.             }
  647.  
  648.             @Override
  649.             public void onPhoneChanged(String phone) {
  650.                 mMainPresenter.setUserPhone(phone);
  651.             }
  652.  
  653.             @Override
  654.             public void onCreateView() {
  655.                 if (!Common.getInstance().getPref().userExists()) {
  656.                     vPhoneFragment.setFragmentUsecase(MyProfileVerifyPhoneFragment.HolderType.CREATE_PROFILE);
  657.                 } else {
  658.                     vPhoneFragment.setFragmentUsecase(MyProfileVerifyPhoneFragment.HolderType.EDIT_PROFILE);
  659.                 }
  660. //                if (user == null) {
  661. //                    vPersonalInfoFragment.fillData(socialData);
  662. //                } else {
  663. //                    vPersonalInfoFragment.fillData(user);
  664. //                }
  665.             }
  666.         });
  667.     }
  668.  
  669.     private void setGenderActionListener() {
  670.         genderFragment.setOnActionListener(new MyProfileGenderFragment.GenderActionListener() {
  671.  
  672.             @Override
  673.             public void setTitle(String title) {
  674.                 MyProfileActivityNew.this.setTitle("Gender Select");
  675.             }
  676.  
  677.             @Override
  678.             public void onCreateView() {
  679.                 signUpContinueBtn.setVisibility(View.VISIBLE);
  680.                 if (user == null) {
  681.                     genderFragment.fillData(socialData);
  682.                 } else {
  683.                     genderFragment.fillData(user);
  684.                 }
  685.             }
  686.         });
  687.     }
  688.  
  689.     private void setCompleteProfileActionListener() {
  690.         profileCompleteFragment.setOnActionListener(new MyProfileCompleteFragment.ProfileCompleteActionListener() {
  691.             @Override
  692.             public void onAlcoholSelect(String key, boolean isSelected) {
  693.                 mMainPresenter.onUserAlcoholSelection(key, isSelected);
  694.             }
  695.  
  696.             @Override
  697.             public void onMusicSelect(String key, boolean isSelected) {
  698.                 mMainPresenter.onUserMusicSelection(key, isSelected);
  699.             }
  700.  
  701.             @Override
  702.             public void onCitySelect(String city) {
  703.                 mMainPresenter.onUserCityUpdate(city);
  704.             }
  705.  
  706.             @Override
  707.             public void onOccupationChange(String occupation) {
  708.                 mMainPresenter.onUserOccupationUpdate(occupation);
  709.             }
  710.  
  711.             @Override
  712.             public void onSaveProfileClick() {
  713.  
  714.                 mMainPresenter.updateUser();
  715.             }
  716.  
  717.             @Override
  718.             public void onCreateView() {
  719.                 if (user != null) {
  720.                     profileCompleteFragment.fillProfileData(user);
  721.                 }
  722.             }
  723.         });
  724.     }
  725.  
  726.     @Override
  727.     public void requestCameraPermission() {
  728.         LogWrapper.d(TAG, "requestCameraPermission()");
  729.         if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA) && ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  730.             final android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this);
  731.             builder.setMessage(getString(R.string.dialog_request_camera_permission_message));
  732.             builder.setTitle(getString(R.string.dialog_request_camera_permission_title));
  733.             builder.setPositiveButton(getString(R.string.ok), (dialog, which) -> {
  734.                 //, Manifest.permission.WRITE_EXTERNAL_STORAGE
  735.                 LogWrapper.d(TAG, "requestCameraPermission() -> request permission");
  736.                 ActivityCompat.requestPermissions(MyProfileActivityNew.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_CAMERA_REQUEST);
  737.             });
  738.             builder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> dialog.dismiss());
  739.             builder.show();
  740.         } else {
  741.             LogWrapper.d(TAG, "requestCameraPermission() -> request permission");
  742.             ActivityCompat.requestPermissions(MyProfileActivityNew.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_CAMERA_REQUEST);
  743.         }
  744.     }
  745.  
  746.     @Override
  747.     public void requestStoragePermission() {
  748.         LogWrapper.d(TAG, "requestStoragePermission()");
  749.         if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
  750.             final android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this);
  751.             builder.setMessage(getString(R.string.dialog_request_storage_permission_message));
  752.             builder.setTitle(getString(R.string.dialog_request_storage_permission_title));
  753.             builder.setPositiveButton(getString(R.string.ok), (dialog, which) -> {
  754.                 //, Manifest.permission.WRITE_EXTERNAL_STORAGE
  755.                 LogWrapper.d(TAG, "requestStoragePermission() -> request permission");
  756.                 ActivityCompat.requestPermissions(MyProfileActivityNew.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_WRITE_EXTERNAL_REQUEST);
  757.             });
  758.             builder.setNegativeButton(getString(R.string.cancel), (dialog, which) -> {
  759.                 dialog.dismiss();
  760.                 requestStoragePermission();
  761.             });
  762.             builder.show();
  763.         } else {
  764.             LogWrapper.d(TAG, "requestStoragePermission() -> request permission");
  765.             ActivityCompat.requestPermissions(MyProfileActivityNew.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_WRITE_EXTERNAL_REQUEST);
  766.         }
  767.     }
  768.     public void onBackButtonClick() {
  769.         onBackPressed();
  770.     }
  771.  
  772.     @Override
  773.     public void onBackPressed() {
  774.         super.onBackPressed();
  775.         if(genderFragment.isVisible()){
  776.             isGenderVisibility();
  777.         }if(vPersonalInfoFragment.isVisible()){
  778.             isPersonalInfoVisibility();
  779.         }if(vPhoneFragment.isVisible()){
  780.             isVerifyPhoneVisibility();
  781.         }
  782.     }
  783. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement