/* Copyright (c) Microsoft Open Technologies, Inc. All Rights Reserved See License.txt in the project root for license information. */ package microsoft.aspnet.signalr.client.test.integration.android; import microsoft.aspnet.signalr.client.android.test.integration.R; import microsoft.aspnet.signalr.client.test.integration.framework.TestCase; import microsoft.aspnet.signalr.client.test.integration.framework.TestStatus; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.CheckBox; /** * Adapter to bind a ToDoItem List to a view */ public class TestCaseAdapter extends ArrayAdapter<TestCase> { /** * Adapter context */ Context mContext; /** * Adapter View layout */ int mLayoutResourceId; public TestCaseAdapter(Context context, int layoutResourceId) { super(context, layoutResourceId); mContext = context; mLayoutResourceId = layoutResourceId; } /** * Returns the view for a specific item on the list */ @Override public View getView(final int position, View convertView, ViewGroup parent) { View row = convertView; final TestCase testCase = getItem(position); if (row == null) { LayoutInflater inflater = ((Activity) mContext).getLayoutInflater(); row = inflater.inflate(mLayoutResourceId, parent, false); } final CheckBox checkBox = (CheckBox) row.findViewById(R.id.checkTestCase); String text = String.format("%s - %s", testCase.getName(), testCase.getStatus().toString()); if (testCase.getStatus() == TestStatus.Failed) { checkBox.setTextColor(Color.RED); } else if (testCase.getStatus() == TestStatus.Passed) { checkBox.setTextColor(Color.GREEN); } else { checkBox.setTextColor(Color.BLACK); } checkBox.setText(text); checkBox.setChecked(testCase.isEnabled()); checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { testCase.setEnabled(checkBox.isChecked()); } }); return row; } }