diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8e41499..8527b14 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -14,7 +14,7 @@
= 21)
s.setStorageAccessFramework(this, RESULT_STORAGE);
AudioManager am = (AudioManager) context.getSystemService(AUDIO_SERVICE);
- Preference bluetooth = pm.findPreference(MainApplication.PREFERENCE_SOURCE);
+ Preference bluetooth = pm.findPreference(AudioApplication.PREFERENCE_SOURCE);
if (!am.isBluetoothScoAvailableOffCall()) {
bluetooth.setVisible(false);
}
bindPreferenceSummaryToValue(bluetooth);
- Preference p = pm.findPreference(MainApplication.PREFERENCE_CALL);
+ Preference p = pm.findPreference(AudioApplication.PREFERENCE_CALL);
p.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -314,13 +314,13 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(MainApplication.PREFERENCE_STORAGE);
+ StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(AudioApplication.PREFERENCE_STORAGE);
switch (requestCode) {
case RESULT_STORAGE:
s.onRequestPermissionsResult(permissions, grantResults);
break;
case RESULT_CALL:
- SwitchPreferenceCompat p = (SwitchPreferenceCompat) findPreference(MainApplication.PREFERENCE_CALL);
+ SwitchPreferenceCompat p = (SwitchPreferenceCompat) findPreference(AudioApplication.PREFERENCE_CALL);
if (!Storage.permitted(getContext(), PREMS))
p.setChecked(false);
else
@@ -332,7 +332,7 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
- StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(MainApplication.PREFERENCE_STORAGE);
+ StoragePathPreferenceCompat s = (StoragePathPreferenceCompat) findPreference(AudioApplication.PREFERENCE_STORAGE);
switch (requestCode) {
case RESULT_STORAGE:
s.onActivityResult(resultCode, data);
@@ -343,7 +343,7 @@ public class SettingsActivity extends AppCompatSettingsThemeActivity implements
@Override
public void onResume() {
super.onResume();
- SilencePreferenceCompat silent = (SilencePreferenceCompat) findPreference(MainApplication.PREFERENCE_SILENT);
+ SilencePreferenceCompat silent = (SilencePreferenceCompat) findPreference(AudioApplication.PREFERENCE_SILENT);
silent.onResume();
}
}
diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java b/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java
similarity index 80%
rename from app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java
rename to app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java
index 6a4e6a8..1ab70fa 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/app/AudioApplication.java
@@ -1,23 +1,17 @@
package com.github.axet.audiorecorder.app;
import android.annotation.SuppressLint;
-import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
-import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v7.preference.PreferenceManager;
-import android.support.v7.view.ContextThemeWrapper;
import android.view.View;
-import android.widget.RemoteViews;
import com.github.axet.androidlibrary.widgets.NotificationChannelCompat;
import com.github.axet.androidlibrary.widgets.RemoteNotificationCompat;
-import com.github.axet.androidlibrary.widgets.RemoteViewsCompat;
-import com.github.axet.androidlibrary.widgets.ThemeUtils;
import com.github.axet.audiolibrary.encoders.FormatFLAC;
import com.github.axet.audiolibrary.encoders.FormatM4A;
import com.github.axet.audiolibrary.encoders.FormatOGG;
@@ -26,7 +20,7 @@ import com.github.axet.audiorecorder.activities.MainActivity;
import java.util.Locale;
-public class MainApplication extends com.github.axet.audiolibrary.app.MainApplication {
+public class AudioApplication extends com.github.axet.audiolibrary.app.MainApplication {
public static final String PREFERENCE_CONTROLS = "controls";
public static final String PREFERENCE_TARGET = "target";
@@ -37,6 +31,10 @@ public class MainApplication extends com.github.axet.audiolibrary.app.MainApplic
public NotificationChannelCompat channelStatus;
+ public static AudioApplication from(Context context) {
+ return (AudioApplication) com.github.axet.audiolibrary.app.MainApplication.from(context);
+ }
+
public int getUserTheme() {
return getTheme(this, R.style.RecThemeLight, R.style.RecThemeDark);
}
@@ -56,9 +54,9 @@ public class MainApplication extends com.github.axet.audiolibrary.app.MainApplic
SharedPreferences.Editor edit = shared.edit();
if (!FormatOGG.supported(this)) {
if (Build.VERSION.SDK_INT >= 18)
- edit.putString(MainApplication.PREFERENCE_ENCODING, FormatM4A.EXT);
+ edit.putString(AudioApplication.PREFERENCE_ENCODING, FormatM4A.EXT);
else
- edit.putString(MainApplication.PREFERENCE_ENCODING, FormatFLAC.EXT);
+ edit.putString(AudioApplication.PREFERENCE_ENCODING, FormatFLAC.EXT);
}
edit.putInt(PREFERENCE_VERSION, 2);
edit.commit();
@@ -91,10 +89,10 @@ public class MainApplication extends com.github.axet.audiolibrary.app.MainApplic
PendingIntent main = PendingIntent.getService(this, 0,
new Intent(this, MainActivity.class),
PendingIntent.FLAG_UPDATE_CURRENT);
- RemoteNotificationCompat.Builder builder = new RemoteNotificationCompat.Builder(this, MainApplication.getTheme(this, R.layout.notifictaion_recording_light, R.layout.notifictaion_recording_dark));
- builder.view.setViewVisibility(R.id.notification_record, View.GONE);
- builder.view.setViewVisibility(R.id.notification_pause, View.GONE);
- builder.setTheme(MainApplication.getTheme(this, R.style.RecThemeLight, R.style.RecThemeDark))
+ RemoteNotificationCompat.Builder builder = new RemoteNotificationCompat.Builder(this, R.layout.notifictaion);
+ builder.setViewVisibility(R.id.notification_record, View.GONE);
+ builder.setViewVisibility(R.id.notification_pause, View.GONE);
+ builder.setTheme(AudioApplication.getTheme(this, R.style.RecThemeLight, R.style.RecThemeDark))
.setImageViewTint(R.id.icon_circle, R.attr.colorButtonNormal)
.setTitle(title)
.setText(text)
diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java b/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
index 7e6edc3..525b91a 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/app/Storage.java
@@ -25,11 +25,11 @@ public class Storage extends com.github.axet.audiolibrary.app.Storage {
public Uri getNewFile() {
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
- String ext = shared.getString(MainApplication.PREFERENCE_ENCODING, "");
+ String ext = shared.getString(AudioApplication.PREFERENCE_ENCODING, "");
String format = "%s";
- format = shared.getString(MainApplication.PREFERENCE_FORMAT, format);
+ format = shared.getString(AudioApplication.PREFERENCE_FORMAT, format);
format = getFormatted(format, new Date());
@@ -55,7 +55,7 @@ public class Storage extends com.github.axet.audiolibrary.app.Storage {
String format = "%s";
- format = shared.getString(MainApplication.PREFERENCE_FORMAT, format);
+ format = shared.getString(AudioApplication.PREFERENCE_FORMAT, format);
format = getFormatted(format, new Date());
diff --git a/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java b/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java
index 742b178..3a11598 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/services/BluetoothReceiver.java
@@ -13,7 +13,7 @@ import android.preference.PreferenceManager;
import android.widget.Toast;
import com.github.axet.audiorecorder.R;
-import com.github.axet.audiorecorder.app.MainApplication;
+import com.github.axet.audiorecorder.app.AudioApplication;
// default bluetooth stack for API25 bugged and has to be cleared using this Receiver.
//
@@ -140,7 +140,7 @@ public class BluetoothReceiver extends BroadcastReceiver {
public boolean isRecordingReady() {
final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
- if (shared.getString(MainApplication.PREFERENCE_SOURCE, context.getString(R.string.source_mic)).equals(context.getString(R.string.source_bluetooth))) {
+ if (shared.getString(AudioApplication.PREFERENCE_SOURCE, context.getString(R.string.source_mic)).equals(context.getString(R.string.source_bluetooth))) {
bluetoothSource = true;
if (!startBluetooth())
return false;
diff --git a/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java b/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
index b3d7da9..64e7706 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
@@ -9,27 +9,21 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
-import android.os.Build;
import android.os.IBinder;
import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
-import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat;
-import android.support.v7.view.ContextThemeWrapper;
import android.util.Log;
import android.view.View;
-import android.widget.ImageView;
-import android.widget.RemoteViews;
import com.github.axet.androidlibrary.widgets.ProximityShader;
import com.github.axet.androidlibrary.widgets.RemoteNotificationCompat;
import com.github.axet.androidlibrary.widgets.RemoteViewsCompat;
-import com.github.axet.androidlibrary.widgets.ThemeUtils;
import com.github.axet.audiolibrary.app.Storage;
import com.github.axet.audiorecorder.R;
import com.github.axet.audiorecorder.activities.MainActivity;
import com.github.axet.audiorecorder.activities.RecordingActivity;
-import com.github.axet.audiorecorder.app.MainApplication;
+import com.github.axet.audiorecorder.app.AudioApplication;
import java.io.File;
@@ -55,7 +49,7 @@ public class RecordingService extends Service {
public static void startIfEnabled(Context context) {
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
- if (!shared.getBoolean(MainApplication.PREFERENCE_CONTROLS, false))
+ if (!shared.getBoolean(AudioApplication.PREFERENCE_CONTROLS, false))
return;
start(context);
}
@@ -64,7 +58,7 @@ public class RecordingService extends Service {
Storage st = new Storage(context);
if (st.recordingPending()) {
final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
- String f = shared.getString(MainApplication.PREFERENCE_TARGET, "");
+ String f = shared.getString(AudioApplication.PREFERENCE_TARGET, "");
String d;
if (f.startsWith(ContentResolver.SCHEME_CONTENT)) {
Uri u = Uri.parse(f);
@@ -97,7 +91,7 @@ public class RecordingService extends Service {
public static void stopRecording(Context context) {
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
- if (shared.getBoolean(MainApplication.PREFERENCE_CONTROLS, false)) {
+ if (shared.getBoolean(AudioApplication.PREFERENCE_CONTROLS, false)) {
start(context);
return;
}
@@ -188,7 +182,7 @@ public class RecordingService extends Service {
new Intent(this, RecordingService.class).setAction(RECORD_BUTTON),
PendingIntent.FLAG_UPDATE_CURRENT);
- RemoteNotificationCompat.Builder builder = new RemoteNotificationCompat.Builder(this, MainApplication.getTheme(this, R.layout.notifictaion_recording_light, R.layout.notifictaion_recording_dark));
+ RemoteNotificationCompat.Builder builder = new RemoteNotificationCompat.Builder(this, R.layout.notifictaion);
String title;
String text;
@@ -197,35 +191,35 @@ public class RecordingService extends Service {
Uri f = storage.getStoragePath();
long free = storage.getFree(f);
long sec = Storage.average(this, free);
- text = MainApplication.formatFree(this, free, sec);
- builder.view.setViewVisibility(R.id.notification_record, View.VISIBLE);
- builder.view.setOnClickPendingIntent(R.id.notification_record, re);
- builder.view.setViewVisibility(R.id.notification_pause, View.GONE);
+ text = AudioApplication.formatFree(this, free, sec);
+ builder.setViewVisibility(R.id.notification_record, View.VISIBLE);
+ builder.setOnClickPendingIntent(R.id.notification_record, re);
+ builder.setViewVisibility(R.id.notification_pause, View.GONE);
} else {
if (recording)
title = getString(R.string.recording_title);
else
title = getString(R.string.pause_title);
text = ".../" + targetFile;
- builder.view.setViewVisibility(R.id.notification_record, View.GONE);
- builder.view.setViewVisibility(R.id.notification_pause, View.VISIBLE);
+ builder.setViewVisibility(R.id.notification_record, View.GONE);
+ builder.setViewVisibility(R.id.notification_pause, View.VISIBLE);
}
if (encoding) {
- builder.view.setViewVisibility(R.id.notification_pause, View.GONE);
+ builder.setViewVisibility(R.id.notification_pause, View.GONE);
title = getString(R.string.encoding_title);
}
- builder.view.setOnClickPendingIntent(R.id.notification_pause, pe);
- builder.view.setImageViewResource(R.id.notification_pause, !recording ? R.drawable.ic_play_arrow_black_24dp : R.drawable.ic_pause_black_24dp);
- RemoteViewsCompat.setContentDescription(builder.view, R.id.notification_pause, getString(!recording ? R.string.record_button : R.string.pause_button));
+ builder.setOnClickPendingIntent(R.id.notification_pause, pe);
+ builder.setImageViewResource(R.id.notification_pause, !recording ? R.drawable.ic_play_arrow_black_24dp : R.drawable.ic_pause_black_24dp);
+ RemoteViewsCompat.setContentDescription(builder.compact, R.id.notification_pause, getString(!recording ? R.string.record_button : R.string.pause_button));
builder.setMainIntent(main)
- .setTheme(MainApplication.getTheme(this, R.style.RecThemeLight, R.style.RecThemeDark))
+ .setTheme(AudioApplication.getTheme(this, R.style.RecThemeLight, R.style.RecThemeDark))
.setImageViewTint(R.id.icon_circle, R.attr.colorButtonNormal)
.setTitle(title)
.setText(text)
- .setChannel(((MainApplication) getApplication()).channelStatus)
+ .setChannel(AudioApplication.from(this).channelStatus)
.setWhen(notification)
.setOngoing(true)
.setSmallIcon(R.drawable.ic_mic);