fix silence

This commit is contained in:
Alexey Kuznetsov 2017-02-11 18:32:39 +03:00
commit 019b7c25d3
7 changed files with 15 additions and 129 deletions

View file

@ -43,5 +43,5 @@ dependencies {
compile 'com.android.support:design:25.1.1'
compile 'com.google.android.gms:play-services-appindexing:9.8.0'
compile 'org.apache.commons:commons-math3:3.6.1'
compile 'com.github.axet:android-library:1.7.4' // compile project(':android-library')
compile 'com.github.axet:android-library:1.8.2' // compile project(':android-library')
}

View file

@ -39,6 +39,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.github.axet.androidlibrary.animations.RemoveItemAnimation;
import com.github.axet.androidlibrary.app.LibraryApplication;
import com.github.axet.androidlibrary.widgets.OpenFileDialog;
import com.github.axet.androidlibrary.widgets.PopupShareActionProvider;
import com.github.axet.audiorecorder.R;
@ -177,10 +178,10 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
time.setText(s.format(new Date(f.lastModified())));
TextView dur = (TextView) convertView.findViewById(R.id.recording_duration);
dur.setText(MainApplication.formatDuration(getContext(), durations.get(f)));
dur.setText(LibraryApplication.formatDuration(getContext(), durations.get(f)));
TextView size = (TextView) convertView.findViewById(R.id.recording_size);
size.setText(MainApplication.formatSize(getContext(), f.length()));
size.setText(LibraryApplication.formatSize(getContext(), f.length()));
final View playerBase = convertView.findViewById(R.id.recording_player);
playerBase.setOnClickListener(new View.OnClickListener() {
@ -443,11 +444,11 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
}
});
start.setText(MainApplication.formatDuration(getContext(), c));
start.setText(LibraryApplication.formatDuration(getContext(), c));
bar.setMax(d);
bar.setKeyProgressIncrement(1);
bar.setProgress(c);
end.setText("-" + MainApplication.formatDuration(getContext(), d - c));
end.setText("-" + LibraryApplication.formatDuration(getContext(), d - c));
return playing;
}

View file

@ -36,6 +36,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.github.axet.androidlibrary.animations.MarginBottomAnimation;
import com.github.axet.androidlibrary.app.LibraryApplication;
import com.github.axet.audiorecorder.R;
import com.github.axet.audiorecorder.app.MainApplication;
import com.github.axet.audiorecorder.app.RawSamples;
@ -713,8 +714,7 @@ public class RecordingActivity extends AppCompatActivity {
void updateSamples(long samplesTime) {
long ms = samplesTime / sampleRate * 1000;
time.setText(MainApplication.formatDuration(this, ms));
time.setText(LibraryApplication.formatDuration(this, ms));
}
@Override

View file

@ -6,6 +6,7 @@ import android.content.SharedPreferences;
import android.media.AudioFormat;
import android.preference.PreferenceManager;
import com.github.axet.androidlibrary.app.LibraryApplication;
import com.github.axet.androidlibrary.widgets.ThemeUtils;
import com.github.axet.audiorecorder.R;
@ -49,10 +50,6 @@ public class MainApplication extends Application {
return getTheme(this, R.style.AppThemeLight, R.style.AppThemeDark);
}
static public String formatTime(int tt) {
return String.format("%02d", tt);
}
public String formatFree(long free, long left) {
String str = "";
@ -73,39 +70,7 @@ public class MainApplication extends Application {
str = getResources().getQuantityString(R.plurals.seconds, diffSeconds, diffSeconds);
}
return getString(R.string.title_header, MainApplication.formatSize(this, free), str);
}
public static String formatSize(Context context, long s) {
if (s > 0.1 * 1024 * 1024 * 1024) {
float f = s / 1024f / 1024f / 1024f;
return context.getString(R.string.size_gb, f);
} else if (s > 0.1 * 1024 * 1024) {
float f = s / 1024f / 1024f;
return context.getString(R.string.size_mb, f);
} else {
float f = s / 1024f;
return context.getString(R.string.size_kb, f);
}
}
static public String formatDuration(Context context, long diff) {
int diffMilliseconds = (int) (diff % 1000);
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));
String str = "";
if (diffDays > 0)
str = diffDays + context.getString(R.string.days_symbol) + " " + formatTime(diffHours) + ":" + formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
else if (diffHours > 0)
str = formatTime(diffHours) + ":" + formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
else
str = formatTime(diffMinutes) + ":" + formatTime(diffSeconds);
return str;
return getString(R.string.title_header, LibraryApplication.formatSize(this, free), str);
}
public static int getChannels(Context context) {

View file

@ -7,47 +7,24 @@ import android.media.AudioManager;
import android.media.AudioTrack;
import android.preference.PreferenceManager;
public class Sound {
Context context;
int soundMode;
public class Sound extends com.github.axet.androidlibrary.app.Sound {
public Sound(Context context) {
this.context = context;
super(context);
}
public void silent() {
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
if (shared.getBoolean(MainApplication.PREFERENCE_SILENT, false)) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
soundMode = am.getRingerMode();
if (soundMode == AudioManager.RINGER_MODE_SILENT) {
// we already in SILENT mode. keep all unchanged.
soundMode = -1;
return;
}
am.setStreamVolume(AudioManager.STREAM_RING, am.getStreamVolume(AudioManager.STREAM_RING), AudioManager.FLAG_SHOW_UI);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
super.silent();
}
}
public void unsilent() {
// keep unchanged
if (soundMode == -1)
return;
SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
if (shared.getBoolean(MainApplication.PREFERENCE_SILENT, false)) {
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int soundMode = am.getRingerMode();
if (soundMode == AudioManager.RINGER_MODE_SILENT) {
am.setRingerMode(this.soundMode);
am.setStreamVolume(AudioManager.STREAM_RING, am.getStreamVolume(AudioManager.STREAM_RING), AudioManager.FLAG_SHOW_UI);
}
super.unsilent();
}
soundMode = -1;
}
public AudioTrack generateTrack(int sampleRate, short[] buf, int len) {

View file

@ -47,41 +47,9 @@
<string name="encoding_title">Кодирование...</string>
<string name="recording_title">Запись</string>
<string name="db">дБ</string>
<string name="days_symbol">д</string>
<string name="title_header">%1$s свободно ~ %2$s</string>
<string name="size_gb">%1$.1f ГБ</string>
<string name="size_mb">%1$.1f МБ</string>
<string name="size_kb">%1$.1f кб</string>
<string name="rename">Переименовать</string>
<string name="delete">Удалить</string>
<string name="open_recording_folder">Открыть папку с записями</string>
<string name="recording_list_is_empty">Список записей пуст.\n\nНажмите на \'Микрофон\' чтобы начать запись.</string>
<plurals name="days">
<item quantity="one">%d день</item>
<item quantity="few">%d дня </item>
<item quantity="many">%d дней</item>
<item quantity="other">%d дней</item>
</plurals>
<plurals name="hours">
<item quantity="one">%d час</item>
<item quantity="few">%d часа</item>
<item quantity="many">%d часов</item>
<item quantity="other">%d часов</item>
</plurals>
<plurals name="minutes">
<item quantity="one">%d минута</item>
<item quantity="few">%d минуты</item>
<item quantity="many">%d минут</item>
<item quantity="other">%d минут</item>
</plurals>
<plurals name="seconds">
<item quantity="one">%d секунда</item>
<item quantity="few">%d секунды</item>
<item quantity="many">%d секунд</item>
<item quantity="other">%d секунд</item>
</plurals>
</resources>

View file

@ -71,35 +71,10 @@
<string name="recording">recording</string>
<string name="encoding_title">Encoding...</string>
<string name="recording_title">Recording</string>
<string name="db">dB</string>
<string name="days_symbol">"d"</string>
<string name="title_header">%1$s free ~ %2$s left</string>
<string name="size_gb">%1$.1f GB</string>
<string name="size_mb">%1$.1f MB</string>
<string name="size_kb">%1$.1f kb</string>
<string name="db">dB</string>
<string name="rename">Rename</string>
<string name="delete">Delete</string>
<string name="open_recording_folder">Open Recording Folder</string>
<string name="recording_list_is_empty">Recording List is Empty\n\nClick Record to Start Recording</string>
<plurals name="days">
<item quantity="one">%d day</item>
<item quantity="other">%d days</item>
</plurals>
<plurals name="hours">
<item quantity="one">%d hour</item>
<item quantity="other">%d hours</item>
</plurals>
<plurals name="minutes">
<item quantity="one">%d minute</item>
<item quantity="other">%d minutes</item>
</plurals>
<plurals name="seconds">
<item quantity="one">%d second</item>
<item quantity="other">%d seconds</item>
</plurals>
</resources>