diff --git a/app/build.gradle b/app/build.gradle index a0c96ad..d4308a4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 9 targetSdkVersion 23 - versionCode 102 - versionName "1.4.0" + versionCode 103 + versionName "1.4.1" } signingConfigs { release { diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java index f89fb9e..deacc08 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java @@ -197,10 +197,11 @@ public class RecordingActivity extends AppCompatActivity { loadSamples(); - View cancel = findViewById(R.id.recording_cancel); + final View cancel = findViewById(R.id.recording_cancel); cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + cancel.setClickable(false); cancelDialog(new Runnable() { @Override public void run() { @@ -208,6 +209,11 @@ public class RecordingActivity extends AppCompatActivity { storage.delete(storage.getTempRecording()); finish(); } + }, new Runnable() { + @Override + public void run() { + cancel.setClickable(true); + } }); } }); @@ -220,10 +226,11 @@ public class RecordingActivity extends AppCompatActivity { } }); - View done = findViewById(R.id.recording_done); + final View done = findViewById(R.id.recording_done); done.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + done.setClickable(false); stopRecording(getString(R.string.encoding)); try { encoding(new Runnable() { @@ -502,10 +509,10 @@ public class RecordingActivity extends AppCompatActivity { storage.delete(storage.getTempRecording()); finish(); } - }); + }, null); } - void cancelDialog(final Runnable run) { + void cancelDialog(final Runnable run, final Runnable cancel) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.confirm_cancel); builder.setMessage(R.string.are_you_sure_cancel); @@ -521,7 +528,15 @@ public class RecordingActivity extends AppCompatActivity { dialog.cancel(); } }); - builder.show(); + AlertDialog dialog = builder.create(); + dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + if (cancel != null) + cancel.run(); + } + }); + dialog.show(); } @Override