From 5f46e0bb5d7dc41be32290ff57b2d8581459a675 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Tue, 3 Nov 2020 14:11:06 +0300 Subject: [PATCH] cleanups --- .../activities/MainActivity.java | 73 ++++++++----------- .../services/EncodingService.java | 4 +- 2 files changed, 34 insertions(+), 43 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 d5f8e9c..3932a7e 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 @@ -200,50 +200,44 @@ public class MainActivity extends AppCompatThemeActivity { context.unregisterReceiver(this); } + public String printEncodings(Uri targetUri) { + final long progress = cur * 100 / total; + String p = " (" + progress + "%)"; + String str = ""; + EncodingService.EncodingStorage storage = new EncodingService.EncodingStorage(new Storage(context)); + for (File f : storage.keySet()) { + EncodingService.EncodingStorage.Info n = storage.get(f); + String name = Storage.getName(context, n.targetUri); + str += "- " + name; + if (n.targetUri.equals(targetUri)) + str += p; + str += "\n"; + } + str = str.trim(); + return str; + } + @Override public void onReceive(final Context context, Intent intent) { String a = intent.getAction(); if (a == null) return; if (a.equals(EncodingService.UPDATE_ENCODING)) { - boolean done = intent.getBooleanExtra("done", false); cur = intent.getLongExtra("cur", -1); total = intent.getLongExtra("total", -1); - final long progress = cur * 100 / total; final Uri targetUri = intent.getParcelableExtra("targetUri"); final RawSamples.Info info; try { - String j = intent.getStringExtra("info"); - if (j != null) - info = new RawSamples.Info(j); - else - info = null; + info = new RawSamples.Info(intent.getStringExtra("info")); } catch (JSONException e) { throw new RuntimeException(e); } - String p = " (" + progress + "%)"; - if (d != null) d.setProgress(cur, total); - String str = ""; - - if (targetUri != null) { - EncodingService.EncodingStorage storage = new EncodingService.EncodingStorage(new Storage(context)); - for (File f : storage.keySet()) { - EncodingService.EncodingStorage.Info n = storage.get(f); - String name = Storage.getName(context, n.targetUri); - str += "- " + name; - if (n.targetUri.equals(targetUri)) - str += p; - str += "\n"; - } - str = str.trim(); - } - if (snackbar == null || !snackbar.isShownOrQueued()) { - snackbar = Snackbar.make(fab, str, Snackbar.LENGTH_LONG); + snackbar = Snackbar.make(fab, printEncodings(targetUri), Snackbar.LENGTH_LONG); snackbar.setDuration(Snackbar.LENGTH_INDEFINITE); snackbar.getView().setOnClickListener(new View.OnClickListener() { @Override @@ -258,20 +252,21 @@ public class MainActivity extends AppCompatThemeActivity { }); snackbar.show(); } else { - snackbar.setText(str); + snackbar.setText(printEncodings(targetUri)); snackbar.show(); } - - if (done) { - if (d != null) { - d.dismiss(); - d = null; - } - recordings.load(false, null); - if (snackbar != null && snackbar.isShownOrQueued()) { - snackbar.setDuration(Snackbar.LENGTH_SHORT); - snackbar.show(); - } + } + if (a.equals(EncodingService.DONE_ENCODING)) { + if (d != null) { + d.dismiss(); + d = null; + } + final Uri targetUri = intent.getParcelableExtra("targetUri"); + recordings.load(false, null); + if (snackbar != null && snackbar.isShownOrQueued()) { + snackbar.setText(printEncodings(targetUri)); + snackbar.setDuration(Snackbar.LENGTH_SHORT); + snackbar.show(); } } if (a.equals(EncodingService.ERROR)) { @@ -330,10 +325,6 @@ public class MainActivity extends AppCompatThemeActivity { } builder.show(); } - - public void hide() { - snackbar.dismiss(); - } } @Override diff --git a/app/src/main/java/com/github/axet/audiorecorder/services/EncodingService.java b/app/src/main/java/com/github/axet/audiorecorder/services/EncodingService.java index eac4126..29589c1 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/services/EncodingService.java +++ b/app/src/main/java/com/github/axet/audiorecorder/services/EncodingService.java @@ -49,6 +49,7 @@ public class EncodingService extends PersistentService { public static String SHOW_ACTIVITY = EncodingService.class.getCanonicalName() + ".SHOW_ACTIVITY"; public static String SAVE_AS_WAV = EncodingService.class.getCanonicalName() + ".SAVE_AS_WAV"; public static String UPDATE_ENCODING = EncodingService.class.getCanonicalName() + ".UPDATE_ENCODING"; + public static String DONE_ENCODING = EncodingService.class.getCanonicalName() + ".DONE_ENCODING"; public static String START_ENCODING = EncodingService.class.getCanonicalName() + ".START_ENCODING"; public static String ERROR = EncodingService.class.getCanonicalName() + ".ERROR"; @@ -402,8 +403,7 @@ public class EncodingService extends PersistentService { public void run() { // success Storage.delete(encoder.in); // delete raw recording Storage.delete(EncodingStorage.jsonFile(encoder.in)); // delete json file - sendBroadcast(new Intent(UPDATE_ENCODING) - .putExtra("done", true) + sendBroadcast(new Intent(DONE_ENCODING) .putExtra("targetUri", fly.targetUri) ); done.run();