From 1bc42a41e225a7919adf374e3852fc8e95b78bd1 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 28 Mar 2016 14:51:38 +0300 Subject: [PATCH 1/2] show remaining session --- .../activities/MainActivity.java | 24 +-------------- .../activities/RecordingActivity.java | 29 ++++++++++++++----- .../audiorecorder/app/MainApplication.java | 23 +++++++++++++++ 3 files changed, 46 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java index 79a7499..fa67f79 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java @@ -666,30 +666,8 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr void updateHeader() { File f = storage.getStoragePath(); long free = storage.getFree(f); - long sec = storage.average(free); - - String str = ""; - - long diff = sec; - int diffSeconds = (int) (diff / 1000 % 60); - int diffMinutes = (int) (diff / (60 * 1000) % 60); - int diffHours = (int) (diff / (60 * 60 * 1000) % 24); - int diffDays = (int) (diff / (24 * 60 * 60 * 1000)); - - if (diffDays > 0) { - str = getResources().getQuantityString(R.plurals.days, diffDays, diffDays); - } else if (diffHours > 0) { - str = getResources().getQuantityString(R.plurals.hours, diffHours, diffHours); - } else if (diffMinutes > 0) { - str = getResources().getQuantityString(R.plurals.minutes, diffMinutes, diffMinutes); - } else if (diffSeconds > 0) { - str = getResources().getQuantityString(R.plurals.seconds, diffSeconds, diffSeconds); - } - - String ss = String.format("%s free ~ %s left", MainApplication.formatSize(free), str); - TextView text = (TextView) findViewById(R.id.space_left); - text.setText(ss); + text.setText(((MainApplication)getApplication()).formatFree(free, sec)); } } 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 ae327e9..15c771b 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 @@ -135,7 +135,7 @@ public class RecordingActivity extends AppCompatActivity { case TelephonyManager.CALL_STATE_OFFHOOK: wasRinging = true; if (thread != null) { - stopRecording("playerPause (hold by call)"); + stopRecording("pause (hold by call)"); pausedByCall = true; } break; @@ -160,11 +160,11 @@ public class RecordingActivity extends AppCompatActivity { state = (TextView) findViewById(R.id.recording_state); title = (TextView) findViewById(R.id.recording_title); - edit(false, false); - storage = new Storage(this); sound = new Sound(this); + edit(false, false); + try { targetFile = storage.getNewFile(); } catch (RuntimeException e) { @@ -338,7 +338,7 @@ public class RecordingActivity extends AppCompatActivity { } void stopRecording(String status) { - state.setText(status); + setState(status); pause.setImageResource(R.drawable.ic_mic_24dp); stopRecording(); @@ -366,7 +366,7 @@ public class RecordingActivity extends AppCompatActivity { void edit(boolean b, boolean animate) { if (b) { - state.setText("edit"); + setState("edit"); editPlay(false); View box = findViewById(R.id.recording_edit_box); @@ -401,7 +401,7 @@ public class RecordingActivity extends AppCompatActivity { }); } else { editSample = -1; - state.setText("pause"); + setState("pause"); editPlay(false); pitch.stop(); @@ -410,6 +410,21 @@ public class RecordingActivity extends AppCompatActivity { } } + void setState(String s) { + long free = storage.getFree(storage.getTempRecording()); + + final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this); + + int rate = Integer.parseInt(shared.getString(MainApplication.PREFERENCE_RATE, "")); + int m = RawSamples.CHANNEL_CONFIG == AudioFormat.CHANNEL_IN_MONO ? 1 : 2; + int c = RawSamples.AUDIO_FORMAT == AudioFormat.ENCODING_PCM_16BIT ? 2 : 1; + + long perSec = (c * m * rate); + long sec = free / perSec * 1000; + + state.setText(s + " (" + ((MainApplication) getApplication()).formatFree(free, sec) + ")"); + } + void editPlay(boolean b) { View box = findViewById(R.id.recording_edit_box); final ImageView playButton = (ImageView) box.findViewById(R.id.recording_play); @@ -524,7 +539,7 @@ public class RecordingActivity extends AppCompatActivity { edit(false, true); pitch.setOnTouchListener(null); - state.setText("recording"); + setState("recording"); sound.silent(); diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java b/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java index d129889..793d3fd 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java +++ b/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java @@ -25,6 +25,29 @@ public class MainApplication extends Application { return String.format("%02d", tt); } + public String formatFree(long free, long left) { + String str = ""; + + long diff = left; + + int diffSeconds = (int) (diff / 1000 % 60); + int diffMinutes = (int) (diff / (60 * 1000) % 60); + int diffHours = (int) (diff / (60 * 60 * 1000) % 24); + int diffDays = (int) (diff / (24 * 60 * 60 * 1000)); + + if (diffDays > 0) { + str = getResources().getQuantityString(R.plurals.days, diffDays, diffDays); + } else if (diffHours > 0) { + str = getResources().getQuantityString(R.plurals.hours, diffHours, diffHours); + } else if (diffMinutes > 0) { + str = getResources().getQuantityString(R.plurals.minutes, diffMinutes, diffMinutes); + } else if (diffSeconds > 0) { + str = getResources().getQuantityString(R.plurals.seconds, diffSeconds, diffSeconds); + } + + return String.format("%s free ~ %s left", MainApplication.formatSize(free), str); + } + public static String formatSize(long s) { if (s > 0.1 * 1024 * 1024 * 1024) { float f = s / 1024f / 1024f / 1024f; From 3467739277db63bcc2514bd17783baebf7041280 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 28 Mar 2016 14:51:46 +0300 Subject: [PATCH 2/2] Bump version 1.1.21 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2b6ced1..a85590a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 16 targetSdkVersion 23 - versionCode 41 - versionName "1.1.20" + versionCode 42 + versionName "1.1.21" } signingConfigs { release {