Allow default sound parameter value (#12309)
Signed-off-by: Christoph Weitkamp <github@christophweitkamp.de>
This commit is contained in:
parent
2b80c0ea97
commit
b5e480bd30
|
@ -27,6 +27,7 @@ import org.openhab.binding.pushover.internal.dto.Sound;
|
||||||
*/
|
*/
|
||||||
@NonNullByDefault
|
@NonNullByDefault
|
||||||
public class PushoverAccountConfiguration {
|
public class PushoverAccountConfiguration {
|
||||||
|
public static final Sound SOUND_DEFAULT = new Sound("default", "Default");
|
||||||
public static final List<Sound> DEFAULT_SOUNDS = List.of(new Sound("alien", "Alien Alarm (long)"),
|
public static final List<Sound> DEFAULT_SOUNDS = List.of(new Sound("alien", "Alien Alarm (long)"),
|
||||||
new Sound("bike", "Bike"), new Sound("bugle", "Bugle"), new Sound("cashregister", "Cash Register"),
|
new Sound("bike", "Bike"), new Sound("bugle", "Bugle"), new Sound("cashregister", "Cash Register"),
|
||||||
new Sound("classical", "Classical"), new Sound("climb", "Climb (long)"), new Sound("cosmic", "Cosmic"),
|
new Sound("classical", "Classical"), new Sound("climb", "Climb (long)"), new Sound("cosmic", "Cosmic"),
|
||||||
|
@ -36,7 +37,7 @@ public class PushoverAccountConfiguration {
|
||||||
new Sound("persistent", "Persistent (long)"), new Sound("pianobar", "Piano Bar"),
|
new Sound("persistent", "Persistent (long)"), new Sound("pianobar", "Piano Bar"),
|
||||||
new Sound("pushover", "Pushover (default)"), new Sound("echo", "Pushover Echo (long)"),
|
new Sound("pushover", "Pushover (default)"), new Sound("echo", "Pushover Echo (long)"),
|
||||||
new Sound("siren", "Siren"), new Sound("spacealarm", "Space Alarm"), new Sound("tugboat", "Tug Boat"),
|
new Sound("siren", "Siren"), new Sound("spacealarm", "Space Alarm"), new Sound("tugboat", "Tug Boat"),
|
||||||
new Sound("updown", "Up Down (long)"), new Sound("vibrate", "Vibrate Only"));
|
new Sound("updown", "Up Down (long)"), new Sound("vibrate", "Vibrate Only"), SOUND_DEFAULT);
|
||||||
|
|
||||||
public @Nullable String apikey;
|
public @Nullable String apikey;
|
||||||
public @Nullable String user;
|
public @Nullable String user;
|
||||||
|
|
|
@ -109,12 +109,14 @@ public class PushoverAPIConnection {
|
||||||
final String content = get(
|
final String content = get(
|
||||||
buildURL(SOUNDS_URL, Map.of(PushoverMessageBuilder.MESSAGE_KEY_TOKEN, localApikey)));
|
buildURL(SOUNDS_URL, Map.of(PushoverMessageBuilder.MESSAGE_KEY_TOKEN, localApikey)));
|
||||||
final JsonObject json = JsonParser.parseString(content).getAsJsonObject();
|
final JsonObject json = JsonParser.parseString(content).getAsJsonObject();
|
||||||
final JsonObject sounds = json.has(JSON_VALUE_SOUNDS) ? json.get(JSON_VALUE_SOUNDS).getAsJsonObject()
|
final JsonObject jsonSounds = json.has(JSON_VALUE_SOUNDS) ? json.get(JSON_VALUE_SOUNDS).getAsJsonObject()
|
||||||
: null;
|
: null;
|
||||||
if (sounds != null) {
|
if (jsonSounds != null) {
|
||||||
return sounds.entrySet().stream()
|
List<Sound> sounds = jsonSounds.entrySet().stream()
|
||||||
.map(entry -> new Sound(entry.getKey(), entry.getValue().getAsString()))
|
.map(entry -> new Sound(entry.getKey(), entry.getValue().getAsString()))
|
||||||
.collect(Collectors.toUnmodifiableList());
|
.collect(Collectors.toList());
|
||||||
|
sounds.add(PushoverAccountConfiguration.SOUND_DEFAULT);
|
||||||
|
return sounds;
|
||||||
}
|
}
|
||||||
} catch (JsonSyntaxException e) {
|
} catch (JsonSyntaxException e) {
|
||||||
// do nothing
|
// do nothing
|
||||||
|
|
Loading…
Reference in New Issue