mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-09-12 20:42:27 +00:00
casting: show only valid device types when manually adding device in experimental mode
This commit is contained in:
parent
2958f6c8e6
commit
595904b48b
2 changed files with 17 additions and 2 deletions
|
@ -15,6 +15,7 @@ import com.futo.platformplayer.casting.StateCasting
|
||||||
import com.futo.platformplayer.experimental_casting.ExpStateCasting
|
import com.futo.platformplayer.experimental_casting.ExpStateCasting
|
||||||
import com.futo.platformplayer.models.CastingDeviceInfo
|
import com.futo.platformplayer.models.CastingDeviceInfo
|
||||||
import com.futo.platformplayer.toInetAddress
|
import com.futo.platformplayer.toInetAddress
|
||||||
|
import com.futo.platformplayer.logging.Logger
|
||||||
|
|
||||||
|
|
||||||
class CastingAddDialog(context: Context?) : AlertDialog(context) {
|
class CastingAddDialog(context: Context?) : AlertDialog(context) {
|
||||||
|
@ -40,7 +41,13 @@ class CastingAddDialog(context: Context?) : AlertDialog(context) {
|
||||||
_buttonConfirm = findViewById(R.id.button_confirm);
|
_buttonConfirm = findViewById(R.id.button_confirm);
|
||||||
_buttonTutorial = findViewById(R.id.button_tutorial)
|
_buttonTutorial = findViewById(R.id.button_tutorial)
|
||||||
|
|
||||||
ArrayAdapter.createFromResource(context, R.array.casting_device_type_array, R.layout.spinner_item_simple).also { adapter ->
|
val deviceTypeArray = if (Settings.instance.casting.experimentalCasting) {
|
||||||
|
R.array.exp_casting_device_type_array
|
||||||
|
} else {
|
||||||
|
R.array.casting_device_type_array
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.createFromResource(context, deviceTypeArray, R.layout.spinner_item_simple).also { adapter ->
|
||||||
adapter.setDropDownViewResource(R.layout.spinner_dropdownitem_simple);
|
adapter.setDropDownViewResource(R.layout.spinner_dropdownitem_simple);
|
||||||
_spinnerType.adapter = adapter;
|
_spinnerType.adapter = adapter;
|
||||||
};
|
};
|
||||||
|
@ -104,7 +111,11 @@ class CastingAddDialog(context: Context?) : AlertDialog(context) {
|
||||||
_textError.visibility = View.GONE;
|
_textError.visibility = View.GONE;
|
||||||
val castingDeviceInfo = CastingDeviceInfo(name, castProtocolType, arrayOf(ip), port.toInt());
|
val castingDeviceInfo = CastingDeviceInfo(name, castProtocolType, arrayOf(ip), port.toInt());
|
||||||
if (Settings.instance.casting.experimentalCasting) {
|
if (Settings.instance.casting.experimentalCasting) {
|
||||||
ExpStateCasting.instance.addRememberedDevice(castingDeviceInfo)
|
try {
|
||||||
|
ExpStateCasting.instance.addRememberedDevice(castingDeviceInfo)
|
||||||
|
} catch (e: Throwable) {
|
||||||
|
Logger.e(TAG, "Failed to add remembered device: $e")
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
StateCasting.instance.addRememberedDevice(castingDeviceInfo)
|
StateCasting.instance.addRememberedDevice(castingDeviceInfo)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1106,6 +1106,10 @@
|
||||||
<item>ChromeCast</item>
|
<item>ChromeCast</item>
|
||||||
<item>AirPlay</item>
|
<item>AirPlay</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
<string-array name="exp_casting_device_type_array" translatable="false">
|
||||||
|
<item>FCast</item>
|
||||||
|
<item>ChromeCast</item>
|
||||||
|
</string-array>
|
||||||
<string-array name="log_levels">
|
<string-array name="log_levels">
|
||||||
<item>None</item>
|
<item>None</item>
|
||||||
<item>Error</item>
|
<item>Error</item>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue