| 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"));
|
| + }
|
| }
|
|
|