2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.amazonechocontrol.internal.jsons;
15 import java.util.List;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
21 * The {@link JsonMediaState} encapsulate the GSON data of the current media state
23 * @author Michael Geramb - Initial contribution
26 public class JsonMediaState {
28 public @Nullable String clientId;
29 public @Nullable String contentId;
30 public @Nullable String contentType;
31 public @Nullable String currentState;
32 public @Nullable String imageURL;
33 public boolean isDisliked;
34 public boolean isLiked;
35 public boolean looping;
36 public @Nullable String mediaOwnerCustomerId;
38 public @Nullable String programId;
39 public int progressSeconds;
40 public @Nullable String providerId;
41 public @Nullable List<QueueEntry> queue;
42 public @Nullable String queueId;
43 public @Nullable Integer queueSize;
44 public @Nullable String radioStationId;
45 public int radioVariety;
46 public @Nullable String referenceId;
47 public @Nullable String service;
48 public boolean shuffling;
49 // public long timeLastShuffled; parsing fails with some values, so do not use it
52 public static class QueueEntry {
53 public @Nullable String album;
54 public @Nullable String albumAsin;
55 public @Nullable String artist;
56 public @Nullable String asin;
57 public @Nullable String cardImageURL;
58 public @Nullable String contentId;
59 public @Nullable String contentType;
60 public int durationSeconds;
61 public boolean feedbackDisabled;
62 public @Nullable String historicalId;
63 public @Nullable String imageURL;
66 public boolean isDisliked;
67 public boolean isFreeWithPrime;
68 public boolean isLiked;
69 public @Nullable String programId;
70 public @Nullable String programName;
71 public @Nullable String providerId;
72 public @Nullable String queueId;
73 public @Nullable String radioStationCallSign;
74 public @Nullable String radioStationId;
75 public @Nullable String radioStationLocation;
76 public @Nullable String radioStationSlogan;
77 public @Nullable String referenceId;
78 public @Nullable String service;
79 public @Nullable String startTime;
80 public @Nullable String title;
81 public @Nullable String trackId;
82 public @Nullable String trackStatus;