Skip to content

Commit 8846994

Browse files
committed
Added session id to protocol
Cleaned up the client to server messages. They now send only what they need to
1 parent 862e452 commit 8846994

File tree

5 files changed

+31
-24
lines changed

5 files changed

+31
-24
lines changed

app/src/main/java/com/darkrockstudios/apps/pcvolumemixer/AudioSessionViewHolder.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class AudioSessionViewHolder(rootView: View, session: AudioSession, listener: Vo
3333
{
3434
m_sessionName.text = session.name
3535

36-
if (AudioSessionOptions.isFavorite(session.name, m_sessionName.context))
36+
if (AudioSessionOptions.isFavorite(session.name ?: "", m_sessionName.context))
3737
{
3838
m_sessionName.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_favorite, 0)
3939
}
@@ -75,7 +75,7 @@ class AudioSessionViewHolder(rootView: View, session: AudioSession, listener: Vo
7575
}
7676
else
7777
{
78-
m_listener.onVolumeChange(m_session.name, volume, isMuted)
78+
m_listener.onVolumeChange(m_session.id, volume, isMuted)
7979
}
8080
}
8181

@@ -90,13 +90,13 @@ class AudioSessionViewHolder(rootView: View, session: AudioSession, listener: Vo
9090
}
9191
else
9292
{
93-
m_listener.onVolumeChange(m_session.name, volume, isMuted)
93+
m_listener.onVolumeChange(m_session.id, volume, isMuted)
9494
}
9595
}
9696

9797
interface VolumeChangeListener
9898
{
99-
fun onVolumeChange(name: String, newVolume: Float, muted: Boolean)
99+
fun onVolumeChange(id: String, newVolume: Float, muted: Boolean)
100100
fun onMasterVolumeChange(newVolume: Float, muted: Boolean)
101101
}
102102
}

app/src/main/java/com/darkrockstudios/apps/pcvolumemixer/MainActivity.kt

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@ class MainActivity : AppCompatActivity(), TcpClient.ServerListener, AudioSession
8686
val newPcAudio = PcAudio(VERSION,
8787
null,
8888
AudioDevice(newAudioDevice.id,
89-
newAudioDevice.name,
9089
null,
9190
null,
92-
listOf()))
91+
null,
92+
null))
9393

9494
m_client?.sendMessageAsync(m_gson.toJson(newPcAudio))
9595
}
@@ -268,28 +268,28 @@ class MainActivity : AppCompatActivity(), TcpClient.ServerListener, AudioSession
268268
val newPcAudio = PcAudio(VERSION,
269269
null,
270270
AudioDevice(pcAudio.defaultDevice.deviceId,
271-
pcAudio.defaultDevice.name,
271+
null,
272272
newVolume,
273273
muted,
274-
listOf()))
274+
null))
275275

276276
Log.d(TAG, "onMasterVolumeChange")
277277

278278
m_client?.sendMessageAsync(m_gson.toJson(newPcAudio))
279279
}
280280
}
281281

282-
override fun onVolumeChange(name: String, newVolume: Float, muted: Boolean)
282+
override fun onVolumeChange(id: String, newVolume: Float, muted: Boolean)
283283
{
284284
val pcAudio = m_pcAudio
285285
pcAudio?.let {
286286
val newPcAudio = PcAudio(VERSION,
287287
null,
288288
AudioDevice(pcAudio.defaultDevice.deviceId,
289-
pcAudio.defaultDevice.name,
290289
null,
291290
null,
292-
listOf(AudioSession(name, newVolume, muted))))
291+
null,
292+
listOf(AudioSession(null, id, newVolume, muted))))
293293

294294
Log.d(TAG, "onVolumeChange")
295295

@@ -331,6 +331,7 @@ class MainActivity : AppCompatActivity(), TcpClient.ServerListener, AudioSession
331331

332332
// Add master control
333333
val master = AudioSession(getString(R.string.master_audio_session_name),
334+
"master",
334335
pcAudio.defaultDevice.masterVolume ?: 100.0f,
335336
pcAudio.defaultDevice.masterMuted ?: false)
336337

@@ -344,9 +345,9 @@ class MainActivity : AppCompatActivity(), TcpClient.ServerListener, AudioSession
344345
val favorites = AudioSessionOptions.getFavorites(this)
345346
val hidden = AudioSessionOptions.getHidden(this)
346347

347-
var sortedSessions = pcAudio.defaultDevice.sessions.toList()
348+
var sortedSessions = pcAudio.defaultDevice.sessions?.toList() ?: listOf()
348349
sortedSessions = sortedSessions.filter { !hidden.contains(it.name) }
349-
sortedSessions = sortedSessions.sortedBy { audioSession -> audioSession.name.toUpperCase() }
350+
sortedSessions = sortedSessions.sortedBy { audioSession -> audioSession.name?.toUpperCase() }
350351
sortedSessions = sortedSessions.sortedByDescending { favorites.contains(it.name) }
351352

352353
// Add each session control
@@ -407,18 +408,24 @@ class MainActivity : AppCompatActivity(), TcpClient.ServerListener, AudioSession
407408
{
408409
R.id.AUDIO_SESSION_favorite ->
409410
{
410-
AudioSessionOptions.addFavorite(audioSession.name, this)
411-
populateUi()
411+
audioSession.name?.let {
412+
AudioSessionOptions.addFavorite(audioSession.name, this)
413+
populateUi()
414+
}
412415
}
413416
R.id.AUDIO_SESSION_unfavorite ->
414417
{
415-
AudioSessionOptions.removeFavorite(audioSession.name, this)
416-
populateUi()
418+
audioSession.name?.let {
419+
AudioSessionOptions.removeFavorite(audioSession.name, this)
420+
populateUi()
421+
}
417422
}
418423
R.id.AUDIO_SESSION_hide ->
419424
{
420-
AudioSessionOptions.addHidden(audioSession.name, this)
421-
populateUi()
425+
audioSession.name?.let {
426+
AudioSessionOptions.addHidden(audioSession.name, this)
427+
populateUi()
428+
}
422429
}
423430
}
424431
true

app/src/main/java/com/darkrockstudios/apps/pcvolumemixer/Version.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ package com.darkrockstudios.apps.pcvolumemixer
33
/**
44
* Created by adamw on 11/19/2017.
55
*/
6-
val VERSION = 4
6+
val VERSION = 5

app/src/main/java/com/darkrockstudios/apps/pcvolumemixer/data/AudioSessionOptions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class AudioSessionOptions
4141
return prefs.getStringSet(KEY_FAVORITES, mutableSetOf())
4242
}
4343

44-
fun isFavorite(processName: String, context: Context): Boolean
44+
fun isFavorite(processName: String?, context: Context): Boolean
4545
{
4646
return getFavorites(context).contains(processName)
4747
}

app/src/main/java/com/darkrockstudios/apps/pcvolumemixer/data/PcAudioData.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ package com.darkrockstudios.apps.pcvolumemixer.data
55
*/
66
data class PcAudio(val version: Int, val deviceIds: MutableMap<String,String>?, val defaultDevice: AudioDevice)
77

8-
data class AudioSession(val name: String, val volume: Float, val muted: Boolean)
8+
data class AudioSession(val name: String?, val id: String, val volume: Float, val muted: Boolean)
99

1010
data class AudioDevice(val deviceId: String,
11-
val name: String,
11+
val name: String?,
1212
val masterVolume: Float?,
1313
val masterMuted: Boolean?,
14-
val sessions: List<AudioSession>)
14+
val sessions: List<AudioSession>?)

0 commit comments

Comments
 (0)