Add module for file picker for camera and gallery uploads (#2375)

* Use easy image for image picker

* Do not use harcoded mime type

* Use uploadable file for image uploads

* Add picker files in filepicker module

* Remove redundant checks for file

* Make usage of file extensions consistent

* Add javadocs

* Fix tests

* Enable image upload using bookmark activity

* Fix multiple uploads

* Fix external image uploads

* Fix chooser intents

* Fix image quality checks

* Segregate internal and external upload intents

* Invoke all error messages from one place

* Minor changes

* Fix tests

* Add image processing service tests
This commit is contained in:
Vivek Maskara 2019-02-04 02:10:31 +05:30 committed by neslihanturan
parent fb5a40bba5
commit 52ab39381e
39 changed files with 1553 additions and 574 deletions

View file

@ -10,11 +10,14 @@ import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.AdapterView;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
import fr.free.nrw.commons.Media;
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.auth.AuthenticatedActivity;
import fr.free.nrw.commons.contributions.ContributionController;
import fr.free.nrw.commons.media.MediaDetailPagerFragment;
import fr.free.nrw.commons.theme.NavigationBaseActivity;
@ -31,6 +34,9 @@ public class BookmarksActivity extends NavigationBaseActivity
@BindView(R.id.tabLayoutBookmarks)
TabLayout tabLayout;
@Inject
ContributionController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -67,6 +73,12 @@ public class BookmarksActivity extends NavigationBaseActivity
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
controller.handleActivityResult(this, requestCode, resultCode, data);
}
/**
* This method is called onClick of media inside category details (CategoryImageListFragment).
*/

View file

@ -13,8 +13,6 @@ import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.esafirm.imagepicker.features.ImagePicker;
import com.esafirm.imagepicker.model.Image;
import com.pedrogomez.renderers.RVRendererAdapter;
import java.util.ArrayList;
@ -32,8 +30,6 @@ import fr.free.nrw.commons.kvstore.BasicKvStore;
import fr.free.nrw.commons.kvstore.JsonKvStore;
import fr.free.nrw.commons.nearby.NearbyAdapterFactory;
import fr.free.nrw.commons.nearby.Place;
import fr.free.nrw.commons.utils.ImageUtils;
import fr.free.nrw.commons.utils.IntentUtils;
public class BookmarkLocationsFragment extends DaggerFragment {
@ -99,12 +95,6 @@ public class BookmarkLocationsFragment extends DaggerFragment {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (IntentUtils.shouldBookmarksHandle(requestCode, resultCode, data)) {
List<Image> images = ImagePicker.getImages(data);
Intent shareIntent = contributionController.handleImagesPicked(ImageUtils.getUriListFromImages(images), requestCode);
startActivity(shareIntent);
} else {
super.onActivityResult(requestCode, resultCode, data);
}
contributionController.handleActivityResult(getActivity(), requestCode, resultCode, data);
}
}