Make the app run on Android 5 (API 22)
This requires a deprecated `AudioTrack` constructor, but devices with API 23 or above should not see any changes. The `minSdkVersion` could probably go to 21, but I can't test it.
This commit is contained in:
parent
6a51e3a0c6
commit
ba89585b5e
3 changed files with 46 additions and 25 deletions
|
@ -8,7 +8,7 @@ android {
|
|||
|
||||
defaultConfig {
|
||||
applicationId "es.eoinrul.ecwt"
|
||||
minSdkVersion 23
|
||||
minSdkVersion 22
|
||||
targetSdkVersion 30
|
||||
versionCode 44
|
||||
versionName "4.4"
|
||||
|
|
|
@ -4,7 +4,9 @@ import android.content.Context
|
|||
import android.content.SharedPreferences
|
||||
import android.media.AudioAttributes
|
||||
import android.media.AudioFormat
|
||||
import android.media.AudioManager
|
||||
import android.media.AudioTrack
|
||||
import android.os.Build
|
||||
import android.view.KeyEvent
|
||||
import androidx.preference.PreferenceManager
|
||||
import java.util.concurrent.ArrayBlockingQueue
|
||||
|
@ -458,12 +460,20 @@ class DitDahSoundStream {
|
|||
mSoundPlayer.play();
|
||||
|
||||
if (numWritten != soundToWrite.size) {
|
||||
mSoundPlayer.write(
|
||||
soundToWrite,
|
||||
numWritten,
|
||||
soundToWrite.size - numWritten,
|
||||
AudioTrack.WRITE_BLOCKING
|
||||
)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
mSoundPlayer.write(
|
||||
soundToWrite,
|
||||
numWritten,
|
||||
soundToWrite.size - numWritten,
|
||||
AudioTrack.WRITE_BLOCKING
|
||||
)
|
||||
} else {
|
||||
mSoundPlayer.write(
|
||||
soundToWrite,
|
||||
numWritten,
|
||||
soundToWrite.size - numWritten
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Now we can stop the audio player; it won't stop the audio
|
||||
|
@ -490,21 +500,31 @@ class DitDahSoundStream {
|
|||
private val mCharacterSpacingSound : ShortArray;
|
||||
|
||||
// Our actual audio track
|
||||
private val mSoundPlayer : AudioTrack = AudioTrack.Builder()
|
||||
.setAudioAttributes(
|
||||
AudioAttributes.Builder()
|
||||
.setUsage(AudioAttributes.USAGE_GAME)
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
||||
.build()
|
||||
)
|
||||
.setAudioFormat(
|
||||
AudioFormat.Builder()
|
||||
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
|
||||
.setSampleRate(mAudioSampleRate)
|
||||
.setChannelMask(AudioFormat.CHANNEL_OUT_MONO)
|
||||
.build()
|
||||
)
|
||||
.setTransferMode(AudioTrack.MODE_STREAM)
|
||||
.setBufferSizeInBytes(mAudioSampleRate)
|
||||
.build();
|
||||
private val mSoundPlayer : AudioTrack = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
AudioTrack.Builder()
|
||||
.setAudioAttributes(
|
||||
AudioAttributes.Builder()
|
||||
.setUsage(AudioAttributes.USAGE_GAME)
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
||||
.build()
|
||||
)
|
||||
.setAudioFormat(
|
||||
AudioFormat.Builder()
|
||||
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
|
||||
.setSampleRate(mAudioSampleRate)
|
||||
.setChannelMask(AudioFormat.CHANNEL_OUT_MONO)
|
||||
.build()
|
||||
)
|
||||
.setTransferMode(AudioTrack.MODE_STREAM)
|
||||
.setBufferSizeInBytes(mAudioSampleRate)
|
||||
.build()
|
||||
} else {
|
||||
AudioTrack(
|
||||
AudioManager.STREAM_MUSIC,
|
||||
mAudioSampleRate,
|
||||
AudioFormat.CHANNEL_OUT_MONO,
|
||||
AudioFormat.ENCODING_PCM_16BIT,
|
||||
mAudioSampleRate,
|
||||
AudioTrack.MODE_STREAM)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.os.Bundle
|
|||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.isVisible
|
||||
|
||||
|
@ -79,7 +80,7 @@ class TrainingResultsActivity : AppCompatActivity() {
|
|||
}
|
||||
|
||||
private fun formatColorId(c : Int) : String {
|
||||
return "<font face=monospace color=\"#" + Integer.toHexString(getColor(c)).substring(2) + "\">"
|
||||
return "<font face=monospace color=\"#" + Integer.toHexString(ContextCompat.getColor(this, c)).substring(2) + "\">"
|
||||
}
|
||||
|
||||
private fun formatEditDetails(edits : List<SingleEdit>) : String {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue