Chromium Code Reviews| 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..258bed124dcb6a24014b94948630ed62825ce0c5 100644 |
| --- a/remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
| +++ b/remoting/android/java/src/org/chromium/chromoting/HostInfo.java |
| @@ -4,19 +4,57 @@ |
| 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; |
| public final String id; |
| public final String jabberId; |
| public final String publicKey; |
| + public final ArrayList<String> tokenUrlPatterns; |
|
Lambros
2014/06/18 23:29:06
This might trigger a findbugs warning. You might n
kelvinp
2014/06/19 01:03:50
Done.
|
| public final boolean isOnline; |
| - 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.tokenUrlPatterns = tokenUrlPatterns; |
| this.isOnline = isOnline; |
| } |
| + |
| + public static HostInfo create(JSONObject json) throws JSONException { |
| + assert json != null; |
| + |
| + ArrayList<String> tokenUrlPatterns = new ArrayList<String>(); |
| + // TODO(kelvinp): remove the line below before shipping. |
|
Lambros
2014/06/18 23:29:06
Please remove these lines before landing.
kelvinp
2014/06/19 01:03:49
Done.
|
| + // tokenUrlPatterns.add("^http://<test machine>:<test port>/.*$"); |
| + 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")); |
| + } |
| } |