| 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 c7d826e3d2aadd705a910a00a29391f1b5d1da22..437d2e00ec5f4a88c7dd6d762d7da3750ae7a1bb 100644
|
| --- a/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
|
| +++ b/remoting/android/java/src/org/chromium/chromoting/HostListAdapter.java
|
| @@ -4,12 +4,16 @@
|
|
|
| package org.chromium.chromoting;
|
|
|
| +import android.content.res.Resources;
|
| +import android.text.TextUtils;
|
| import android.view.View;
|
| import android.view.ViewGroup;
|
| import android.widget.ArrayAdapter;
|
| import android.widget.TextView;
|
| import android.widget.Toast;
|
|
|
| +import java.util.Locale;
|
| +
|
| /** Describes the appearance and behavior of each host list entry. */
|
| class HostListAdapter extends ArrayAdapter<HostInfo> {
|
| private Chromoting mChromoting;
|
| @@ -20,6 +24,20 @@ class HostListAdapter extends ArrayAdapter<HostInfo> {
|
| mChromoting = chromoting;
|
| }
|
|
|
| + private String getHostOfflineTooltip(String hostOfflineReason) {
|
| + if (TextUtils.isEmpty(hostOfflineReason)) {
|
| + return mChromoting.getString(R.string.host_offline_tooltip);
|
| + }
|
| + try {
|
| + String resourceName = "offline_reason_" + hostOfflineReason.toLowerCase(Locale.ENGLISH);
|
| + int resourceId = mChromoting.getResources().getIdentifier(
|
| + resourceName, "string", mChromoting.getPackageName());
|
| + return mChromoting.getString(resourceId);
|
| + } catch (Resources.NotFoundException ignored) {
|
| + return mChromoting.getString(R.string.offline_reason_unknown, hostOfflineReason);
|
| + }
|
| + }
|
| +
|
| /** Generates a View corresponding to this particular host. */
|
| @Override
|
| public View getView(int position, View convertView, ViewGroup parent) {
|
| @@ -41,12 +59,12 @@ class HostListAdapter extends ArrayAdapter<HostInfo> {
|
| } else {
|
| target.setTextColor(mChromoting.getResources().getColor(R.color.host_offline_text));
|
| target.setBackgroundResource(R.drawable.list_item_disabled_selector);
|
| +
|
| + final String tooltip = getHostOfflineTooltip(host.hostOfflineReason);
|
| target.setOnClickListener(new View.OnClickListener() {
|
| @Override
|
| public void onClick(View v) {
|
| - Toast.makeText(mChromoting,
|
| - mChromoting.getString(R.string.host_offline_tooltip),
|
| - Toast.LENGTH_SHORT).show();
|
| + Toast.makeText(mChromoting, tooltip, Toast.LENGTH_SHORT).show();
|
| }
|
| });
|
| }
|
|
|