@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_offscreen);
mRenderView = $(R.id.render_view);
$(R.id.choose).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Matisse.from(VideoOffscreenActivity.this)
.choose(MimeType.of(MimeType.MP4), false)
.showSingleMediaType(true)
.maxSelectable(1)
.countable(false)
.gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
.thumbnailScale(0.85f)
.imageEngine(new PicassoEngine())
.forResult(REQUEST_CODE_CHOOSE);
}
});
$(R.id.rotate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mRenderView.setRotate90Degrees(mRenderView.getRotation90Degrees() + 1);
mRenderView.requestLayout();
}
});
}
private void startAction(View v) {
switch (v.getId()) {
case R.id.zhihu:
Matisse.from(SampleActivity.this)
.choose(MimeType.ofImage(), false)
.countable(true)
.capture(true)
.captureStrategy(
new CaptureStrategy(true, "com.zhihu.matisse.sample.fileprovider", "test"))
.maxSelectable(9)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(
getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())
.setOnSelectedListener((uriList, pathList) -> {
Log.e("onSelected", "onSelected: pathList=" + pathList);
})
.showSingleMediaType(true)
.originalEnable(true)
.maxOriginalSize(10)
.autoHideToolbarOnSingleTap(true)
.setOnCheckedListener(isChecked -> {
Log.e("isChecked", "onCheck: isChecked=" + isChecked);
})
.forResult(REQUEST_CODE_CHOOSE);
break;
case R.id.dracula:
Matisse.from(SampleActivity.this)
.choose(MimeType.ofImage())
.theme(R.style.Matisse_Dracula)
.countable(false)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.maxSelectable(9)
.originalEnable(true)
.maxOriginalSize(10)
.imageEngine(new PicassoEngine())
.forResult(REQUEST_CODE_CHOOSE);
break;
case R.id.only_gif:
Matisse.from(SampleActivity.this)
.choose(MimeType.of(MimeType.GIF), false)
.countable(true)
.maxSelectable(9)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(
getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
.thumbnailScale(0.85f)
.imageEngine(new GlideEngine())
.showSingleMediaType(true)
.originalEnable(true)
.maxOriginalSize(10)
.autoHideToolbarOnSingleTap(true)
.forResult(REQUEST_CODE_CHOOSE);
break;
default:
break;
}
mAdapter.setData(null, null);
}
@Override
public void onClick(final View v) {
RxPermissions rxPermissions = new RxPermissions(this);
rxPermissions.request(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.subscribe(new Observer<Boolean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Boolean aBoolean) {
if (aBoolean) {
switch (v.getId()) {
case R.id.zhihu:
Matisse.from(MatisseDemoActivity.this)
.choose(MimeType.ofAll(), false)
.countable(true)
.capture(true)
.captureStrategy(
new CaptureStrategy(true, getPackageName() + ".fileprovider"))
.maxSelectable(9)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(
getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
.thumbnailScale(0.85f)
.imageEngine(new Glide4Engine())
.forResult(REQUEST_CODE_CHOOSE);
break;
case R.id.dracula:
Matisse.from(MatisseDemoActivity.this)
.choose(MimeType.of(MimeType.JPEG,MimeType.PNG))
.theme(R.style.Matisse_Dracula)
.countable(false)
.maxSelectable(1)
.imageEngine(new PicassoEngine())
.forResult(REQUEST_CODE_CHOOSE);
break;
case R.id.custom:
Matisse.from(MatisseDemoActivity.this)
.choose(MimeType.ofImage())
.forResult(REQUEST_CODE_CHOOSE);
break;
default:
break;
}
} else {
Toast.makeText(MatisseDemoActivity.this, R.string.permission_request_denied, Toast.LENGTH_LONG)
.show();
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}