From ee724c7170f89809348316c529b87d1fc3a625bc Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Fri, 6 Mar 2020 01:24:00 +0300 Subject: [PATCH] show encoding speed and warnings --- .../activities/RecordingActivity.java | 64 +++++++++++++++---- app/src/main/res/layout/encoding_speed.xml | 25 ++++++++ app/src/main/res/layout/slow.xml | 23 +++++++ app/src/main/res/values-da/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-el/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-in/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-sk/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 19 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 app/src/main/res/layout/encoding_speed.xml create mode 100644 app/src/main/res/layout/slow.xml 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 fb3fe00..570f729 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 @@ -41,7 +41,6 @@ import android.widget.TextView; import com.github.axet.androidlibrary.activities.AppCompatThemeActivity; import com.github.axet.androidlibrary.animations.MarginBottomAnimation; -import com.github.axet.androidlibrary.app.AlarmManager; import com.github.axet.androidlibrary.services.FileProvider; import com.github.axet.androidlibrary.services.StorageProvider; import com.github.axet.androidlibrary.sound.AudioTrack; @@ -65,6 +64,7 @@ import com.github.axet.audiorecorder.app.AudioApplication; import com.github.axet.audiorecorder.app.Storage; import com.github.axet.audiorecorder.services.BluetoothReceiver; import com.github.axet.audiorecorder.services.RecordingService; +import com.github.axet.wget.SpeedInfo; import java.io.File; import java.nio.ShortBuffer; @@ -335,8 +335,14 @@ public class RecordingActivity extends AppCompatThemeActivity { public long resume; public long msecPause; // encoding progress on pause public long msecResume; // encoding progress on resume + SpeedInfo current; + SpeedInfo foreground; + SpeedInfo background; LinearLayout view; + View speed; + TextView text; View warning; + View slow; public ProgressEncoding(Context context) { super(context); @@ -344,14 +350,17 @@ public class RecordingActivity extends AppCompatThemeActivity { setCancelable(false); setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); setIndeterminate(false); - view = new LinearLayout(context); - view.setOrientation(LinearLayout.VERTICAL); } @Override - public void setView(View view) { - super.setView(this.view); - this.view.addView(view); + public void setView(View v) { + view = new LinearLayout(getContext()); + view.setOrientation(LinearLayout.VERTICAL); + super.setView(view); + view.addView(v); + LayoutInflater inflater = LayoutInflater.from(getContext()); + speed = inflater.inflate(R.layout.encoding_speed, view); + text = (TextView) speed.findViewById(R.id.speed); } public void onPause(long cur) { @@ -365,13 +374,44 @@ public class RecordingActivity extends AppCompatThemeActivity { } public void setProgress(long cur, long total) { - long diff = resume - pause; // real time - long diffrec = msecResume - msecPause; // encoding time - if (pause != 0 && diff > 0 && diffrec < diff && warning == null) { - LayoutInflater inflater = LayoutInflater.from(getContext()); - warning = inflater.inflate(R.layout.optimization, view, false); - view.addView(warning); + if (current == null) { + current = new SpeedInfo(); + current.start(cur); + } else { + current.step(cur); } + if (pause == 0 && resume == 0) { // foreground + if (foreground == null) { + foreground = new SpeedInfo(); + foreground.start(cur); + } else { + foreground.step(cur); + } + } + if (pause != 0 && resume == 0) { // background + if (background == null) { + background = new SpeedInfo(); + background.start(cur); + } else { + background.step(cur); + } + } + if (pause != 0 && resume != 0) { // resumed from background + long diffreal = resume - pause; // real time + long diffenc = msecResume - msecPause; // encoding time + if (diffreal > 0 && diffenc < diffreal && warning == null) { // paused + LayoutInflater inflater = LayoutInflater.from(getContext()); + warning = inflater.inflate(R.layout.optimization, view); + } + if (diffreal > 0 && diffenc >= diffreal && slow == null && foreground != null && background != null && foreground.getAverageSpeed() / background.getAverageSpeed() > 1 && slow == null) { + LayoutInflater inflater = LayoutInflater.from(getContext()); + slow = inflater.inflate(R.layout.slow, view); + } + pause = 0; + resume = 0; + background = null; + } + text.setText(AudioApplication.formatSize(getContext(), current.getAverageSpeed()) + getString(R.string.per_second)); super.setProgress((int) (cur * 100 / total)); } } diff --git a/app/src/main/res/layout/encoding_speed.xml b/app/src/main/res/layout/encoding_speed.xml new file mode 100644 index 0000000..ee0da0c --- /dev/null +++ b/app/src/main/res/layout/encoding_speed.xml @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/slow.xml b/app/src/main/res/layout/slow.xml new file mode 100644 index 0000000..ae73320 --- /dev/null +++ b/app/src/main/res/layout/slow.xml @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 1f733c3..e6aff55 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -47,4 +47,5 @@ Stop optagelse App Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 60731f4..3ed75a8 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 5f4c2e6..e0c0786 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -68,4 +68,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7de7979..f608f07 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9d8302b..362a604 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 7757926..8fa4e50 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -74,4 +74,5 @@ Mulai Merekam Berhenti Merekam Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ac77f2c..75cc319 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ab506c5..1a19220 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 35f93bd..c6899c4 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3c47d61..46ecec7 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 990e397..437e954 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 9a14437..1de6978 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -76,4 +76,5 @@ Spustiť nahrávanie Zastaviť nahrávanie Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index da2deab..11a0e36 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f961654..0c946de 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 908f6f5..16deea3 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -74,4 +74,5 @@ 開始錄音 停止錄音 Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 46ca6d3..73d78fd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -74,4 +74,5 @@ Start Recording Stop Recording Background encoding paused due to android Battery Optimization settings, please allow this application work in background + /s