]> git.basschouten.com Git - openhab-addons.git/blob
4e7a7be0911d72e2880298f118d6dbe86ffe4e45
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.amazonechocontrol.internal.jsons;
14
15 import java.util.List;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
19
20 /**
21  * The {@link JsonMediaState} encapsulate the GSON data of the current media state
22  *
23  * @author Michael Geramb - Initial contribution
24  */
25 @NonNullByDefault
26 public class JsonMediaState {
27
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;
37     public boolean muted;
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
50     public int volume;
51
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;
64         public int index;
65         public boolean isAd;
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;
83     }
84 }