Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java

Issue 157013002: Pull HostListDirectoryGrabber out to a separate class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix FindBugs warnings Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
diff --git a/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java b/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
index c4d09e7acfc7ecead8b5a5ef3949994b88f4648e..28c6e4394da44b95be583a6cd6e16d6e1dcb14d7 100644
--- a/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
+++ b/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
@@ -5,18 +5,13 @@
package org.chromium.chromoting;
import android.text.Html;
-import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
-import android.widget.Toast;
-
-import org.json.JSONException;
-import org.json.JSONObject;
/** Describes the appearance and behavior of each host list entry. */
-class HostListAdapter extends ArrayAdapter<JSONObject> {
+class HostListAdapter extends ArrayAdapter<HostInfo> {
/** Color to use for hosts that are online. */
private static final String HOST_COLOR_ONLINE = "green";
@@ -26,8 +21,8 @@ class HostListAdapter extends ArrayAdapter<JSONObject> {
private Chromoting mChromoting;
/** Constructor. */
- public HostListAdapter(Chromoting chromoting, int textViewResourceId) {
- super(chromoting, textViewResourceId);
+ public HostListAdapter(Chromoting chromoting, int textViewResourceId, HostInfo[] hosts) {
+ super(chromoting, textViewResourceId, hosts);
mChromoting = chromoting;
}
@@ -36,32 +31,24 @@ class HostListAdapter extends ArrayAdapter<JSONObject> {
public View getView(int position, View convertView, ViewGroup parent) {
TextView target = (TextView)super.getView(position, convertView, parent);
- try {
- final JSONObject host = getItem(position);
- String status = host.getString("status");
- boolean online = status.equals("ONLINE");
- target.setText(Html.fromHtml(host.getString("hostName") + " (<font color=\"" +
- (online ? HOST_COLOR_ONLINE : HOST_COLOR_OFFLINE) + "\">" + status +
- "</font>)"));
-
- if (online) {
- target.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- mChromoting.connectToHost(host);
- }
- });
- } else {
- // Disallow interaction with this entry.
- target.setEnabled(false);
- }
- } catch (JSONException ex) {
- Log.w("hostlist", ex);
- Toast.makeText(mChromoting, mChromoting.getString(R.string.error_displaying_host),
- Toast.LENGTH_LONG).show();
-
- // Close the application.
- mChromoting.finish();
+ final HostInfo host = getItem(position);
+
+ // TODO(lambroslambrou): Don't use hardcoded ONLINE/OFFLINE strings here.
+ // See http://crbug.com/331103
+ target.setText(Html.fromHtml(host.name + " (<font color=\"" +
+ (host.isOnline ? HOST_COLOR_ONLINE : HOST_COLOR_OFFLINE) + "\">" +
+ (host.isOnline ? "ONLINE" : "OFFLINE") + "</font>)"));
+
+ if (host.isOnline) {
+ target.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mChromoting.connectToHost(host);
+ }
+ });
+ } else {
+ // Disallow interaction with this entry.
+ target.setEnabled(false);
}
return target;

Powered by Google App Engine
This is Rietveld 408576698