// Path: MPDroid/src/main/java/com/namelessdev/mpdroid/adapters/SeparatedListDataBinder.java
// public interface SeparatedListDataBinder {
// 
//     boolean isEnabled(int position, List<?> items, Object item);
// 
//     void onDataBind(Context context, View targetView, List<?> items,
//             Object item, int position);
// }


import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import com.namelessdev.mpdroid.adapters.SeparatedListAdapter;
import com.namelessdev.mpdroid.adapters.SeparatedListDataBinder;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ListView;
    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);

        final ListView listView = (ListView) findViewById(android.R.id.list);

        final LayoutInflater inflater = LayoutInflater.from(this);
        final View headerView = inflater.inflate(R.layout.about_header, null, false);
        final TextView versionInfo = (TextView) headerView.findViewById(R.id.text_version);
        versionInfo.setText(R.string.version);
        versionInfo.append(": " + getVersionName(Activity.class));

        listView.setHeaderDividersEnabled(false);
        listView.addHeaderView(headerView);

        String[] tmpStringArray;
        final List<Object> listItems = new ArrayList<>();
        listItems.add(getString(R.string.about_libraries));
        tmpStringArray = getResources().getStringArray(R.array.libraries_array);
        for (final String tmpString : tmpStringArray) {
            listItems.add(new AboutListItem(tmpString));
        }
        listItems.add(getString(R.string.about_authors));
        tmpStringArray = getResources().getStringArray(R.array.authors_array);
        for (final String tmpString : tmpStringArray) {
            listItems.add(new AboutListItem(tmpString));
        }

        listView.setAdapter(new SeparatedListAdapter(this, android.R.layout.simple_list_item_1,
// Path: MPDroid/src/main/java/com/namelessdev/mpdroid/adapters/SeparatedListDataBinder.java
// public interface SeparatedListDataBinder {
// 
//     boolean isEnabled(int position, List<?> items, Object item);
// 
//     void onDataBind(Context context, View targetView, List<?> items,
//             Object item, int position);
// }


// Path: MPDroid/src/main/java/com/namelessdev/mpdroid/AboutActivity.java
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
import com.namelessdev.mpdroid.adapters.SeparatedListAdapter;
import com.namelessdev.mpdroid.adapters.SeparatedListDataBinder;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ListView;

    @Override
    public void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.about);

        final ListView listView = (ListView) findViewById(android.R.id.list);

        final LayoutInflater inflater = LayoutInflater.from(this);
        final View headerView = inflater.inflate(R.layout.about_header, null, false);
        final TextView versionInfo = (TextView) headerView.findViewById(R.id.text_version);
        versionInfo.setText(R.string.version);
        versionInfo.append(": " + getVersionName(Activity.class));

        listView.setHeaderDividersEnabled(false);
        listView.addHeaderView(headerView);

        String[] tmpStringArray;
        final List<Object> listItems = new ArrayList<>();
        listItems.add(getString(R.string.about_libraries));
        tmpStringArray = getResources().getStringArray(R.array.libraries_array);
        for (final String tmpString : tmpStringArray) {
            listItems.add(new AboutListItem(tmpString));
        }
        listItems.add(getString(R.string.about_authors));
        tmpStringArray = getResources().getStringArray(R.array.authors_array);
        for (final String tmpString : tmpStringArray) {
            listItems.add(new AboutListItem(tmpString));
        }

        listView.setAdapter(new SeparatedListAdapter(this, android.R.layout.simple_list_item_1,
                R.layout.list_separator, new SeparatedListDataBinder() {