1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org
.chromium
.chromoting
;
7 import org
.json
.JSONArray
;
8 import org
.json
.JSONException
;
9 import org
.json
.JSONObject
;
11 import java
.util
.ArrayList
;
13 /** Class to represent a Host returned by {@link HostListLoader}. */
14 public class HostInfo
{
15 public final String name
;
16 public final String id
;
17 public final String jabberId
;
18 public final String publicKey
;
19 public final boolean isOnline
;
20 private final ArrayList
<String
> mTokenUrlPatterns
;
22 public HostInfo(String name
,
26 ArrayList
<String
> tokenUrlPatterns
,
30 this.jabberId
= jabberId
;
31 this.publicKey
= publicKey
;
32 this.mTokenUrlPatterns
= tokenUrlPatterns
;
33 this.isOnline
= isOnline
;
36 public ArrayList
<String
> getTokenUrlPatterns() {
37 return new ArrayList
<String
>(mTokenUrlPatterns
);
40 public static HostInfo
create(JSONObject json
) throws JSONException
{
43 ArrayList
<String
> tokenUrlPatterns
= new ArrayList
<String
>();
44 JSONArray jsonPatterns
= json
.optJSONArray("tokenUrlPatterns");
46 if (jsonPatterns
!= null) {
47 for (int i
= 0; i
< jsonPatterns
.length(); i
++) {
48 String pattern
= jsonPatterns
.getString(i
);
49 if (pattern
!= null && !pattern
.isEmpty()) {
50 tokenUrlPatterns
.add(pattern
);
55 json
.getString("hostName"),
56 json
.getString("hostId"),
57 json
.optString("jabberId"),
58 json
.optString("publicKey"),
60 json
.optString("status").equals("ONLINE"));