Index: remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
diff --git a/remoting/android/java/src/org/chromium/chromoting/HostInfo.java b/remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
index 229764ff24f7fd421b7f9ed1d219549c8b3168e7..ebc08299f79dc277ad2c0362a7de63b99f42f4fc 100644 |
--- a/remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
+++ b/remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
@@ -4,6 +4,12 @@ |
package org.chromium.chromoting; |
+import org.json.JSONArray; |
+import org.json.JSONException; |
+import org.json.JSONObject; |
+ |
+import java.util.ArrayList; |
+ |
/** Class to represent a Host returned by {@link HostListLoader}. */ |
public class HostInfo { |
public final String name; |
@@ -11,12 +17,46 @@ public class HostInfo { |
public final String jabberId; |
public final String publicKey; |
public final boolean isOnline; |
+ private final ArrayList<String> mTokenUrlPatterns; |
- public HostInfo(String name, String id, String jabberId, String publicKey, boolean isOnline) { |
+ public HostInfo(String name, |
+ String id, |
+ String jabberId, |
+ String publicKey, |
+ ArrayList<String> tokenUrlPatterns, |
+ boolean isOnline) { |
this.name = name; |
this.id = id; |
this.jabberId = jabberId; |
this.publicKey = publicKey; |
+ this.mTokenUrlPatterns = tokenUrlPatterns; |
this.isOnline = isOnline; |
} |
+ |
+ public ArrayList<String> getTokenUrlPatterns() { |
+ return new ArrayList<String>(mTokenUrlPatterns); |
+ } |
+ |
+ public static HostInfo create(JSONObject json) throws JSONException { |
+ assert json != null; |
+ |
+ ArrayList<String> tokenUrlPatterns = new ArrayList<String>(); |
+ JSONArray jsonPatterns = json.optJSONArray("tokenUrlPatterns"); |
+ |
+ if (jsonPatterns != null) { |
+ for (int i = 0; i < jsonPatterns.length(); i++) { |
+ String pattern = jsonPatterns.getString(i); |
+ if (pattern != null && !pattern.isEmpty()) { |
+ tokenUrlPatterns.add(pattern); |
+ } |
+ } |
+ } |
+ return new HostInfo( |
+ json.getString("hostName"), |
+ json.getString("hostId"), |
+ json.optString("jabberId"), |
+ json.optString("publicKey"), |
+ tokenUrlPatterns, |
+ json.optString("status").equals("ONLINE")); |
+ } |
} |