diff --git a/app/src/main/java/io/microshow/rxffmpegdemo/MainActivity.java b/app/src/main/java/io/microshow/rxffmpegdemo/MainActivity.java index 65882a8..0e70772 100644 --- a/app/src/main/java/io/microshow/rxffmpegdemo/MainActivity.java +++ b/app/src/main/java/io/microshow/rxffmpegdemo/MainActivity.java @@ -16,6 +16,8 @@ import io.microshow.rxffmpegdemo.databinding.ActivityMainBinding; import io.reactivex.functions.Consumer; +import java.util.Optional; + public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private static final String TAG = MainActivity.class.getSimpleName(); @@ -45,7 +47,7 @@ public void onClick(View view) { rxPermissions.request(PERMISSIONS_STORAGE).subscribe(new Consumer() { @Override public void accept(Boolean aBoolean) throws Exception { - if (aBoolean) {// 用户同意了权限 + if (aBoolean == Boolean.TRUE) {// 用户同意了权限 runFFmpegRxJava(); } else {//用户拒绝了权限 Toast.makeText(MainActivity.this,"您拒绝了权限,请往设置里开启权限",Toast.LENGTH_LONG).show(); @@ -78,28 +80,28 @@ private void runFFmpegRxJava () { RxFFmpegInvoke.getInstance().runCommandRxJava(commands).subscribe(new RxFFmpegSubscriber() { @Override public void onFinish() { - if (mProgressDialog != null) - mProgressDialog.cancel(); + Optional.ofNullable(mProgressDialog) + .ifPresent(ProgressDialog::cancel); showDialog("处理成功"); } @Override public void onProgress(int progress) { - if (mProgressDialog != null) - mProgressDialog.setProgress(progress); + Optional.ofNullable(mProgressDialog) + .ifPresent(pd -> pd.setProgress(progress)); } @Override public void onCancel() { - if (mProgressDialog != null) - mProgressDialog.cancel(); + Optional.ofNullable(mProgressDialog) + .ifPresent(ProgressDialog::cancel); showDialog("已取消"); } @Override public void onError(String message) { - if (mProgressDialog != null) - mProgressDialog.cancel(); + Optional.ofNullable(mProgressDialog) + .ifPresent(ProgressDialog::cancel); showDialog("出错了 onError:" + message); } }); @@ -115,4 +117,4 @@ private void showDialog (String message) { Utils.showDialog(this, message, Utils.convertUsToTime((endTime-startTime)/1000, false)); } -} \ No newline at end of file +}