Android Open Source - YourConsole Console List Adapter






From Project

Back to project page YourConsole.

License

The source code is released under:

MIT License

If you think the Android project YourConsole listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.akisute.yourconsole.app.model;
//ww  w  . jav  a2s .  c  o  m
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.akisute.yourconsole.R;
import com.akisute.yourconsole.app.dagger.ForInjecting;
import com.akisute.yourconsole.app.helper.LogcatHelper;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;

import butterknife.ButterKnife;
import butterknife.InjectView;

public class ConsoleListAdapter extends BaseAdapter {

    class ViewHolder {
        @InjectView(R.id.text)
        TextView text;
        @InjectView(R.id.tag)
        TextView tag;

        ViewHolder(View view) {
            ButterKnife.inject(this, view);
        }
    }

    private final Context mContext;
    private final LayoutInflater mLayoutInflater;
    private final List<MText> mTextList = new ArrayList<MText>();

    @Inject
    public ConsoleListAdapter(@ForInjecting Context context) {
        mContext = context;
        mLayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
        return mTextList.size();
    }

    @Override
    public MText getItem(int position) {
        return mTextList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder;
        if (convertView == null) {
            convertView = mLayoutInflater.inflate(R.layout.list_console_item, null, false);
            viewHolder = new ViewHolder(convertView);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        MText textModel = getItem(position);
        LogcatLine logcatLine = textModel.getLogcatLine();
        if (logcatLine != null) {
            viewHolder.tag.setText(logcatLine.getTag());
            viewHolder.tag.setTextColor(getColorForLogcatLine(logcatLine));
            viewHolder.text.setText(logcatLine.getLogOutput());
            viewHolder.text.setTextColor(getColorForLogcatLine(logcatLine));
        } else {
            viewHolder.tag.setText(textModel.getSenderPackageName());
            viewHolder.tag.setTextColor(mContext.getResources().getColor(R.color.font_text));
            viewHolder.text.setText(textModel.getText());
            viewHolder.text.setTextColor(mContext.getResources().getColor(R.color.font_text));
        }

        return convertView;
    }

    public void clear() {
        mTextList.clear();
        notifyDataSetChanged();
    }

    public void load() {
        clear();
        List<MText> textList = MText.getAll();
        appendTexts(textList);
    }

    public void appendTexts(List<MText> textList) {
        mTextList.addAll(textList);
        notifyDataSetChanged();
    }

    private int getColorForLogcatLine(LogcatLine logcatLine) {
        switch (logcatLine.getLogLevel()) {
            case Log.DEBUG:
                return mContext.getResources().getColor(R.color.font_logcat_debug);
            case Log.ERROR:
                return mContext.getResources().getColor(R.color.font_logcat_error);
            case Log.INFO:
                return mContext.getResources().getColor(R.color.font_logcat_info);
            case Log.VERBOSE:
                return mContext.getResources().getColor(R.color.font_logcat_verbose);
            case Log.WARN:
                return mContext.getResources().getColor(R.color.font_logcat_warn);
            case LogcatHelper.LOG_WTF:
                return mContext.getResources().getColor(R.color.font_logcat_wtf);
        }
        return mContext.getResources().getColor(R.color.font_text);
    }
}




Java Source Code List

com.akisute.yourconsole.app.AppModule.java
com.akisute.yourconsole.app.Application.java
com.akisute.yourconsole.app.ConsoleViewerFragment.java
com.akisute.yourconsole.app.LogcatRecordingService.java
com.akisute.yourconsole.app.MainActivity.java
com.akisute.yourconsole.app.SaveIntentService.java
com.akisute.yourconsole.app.dagger.DaggeredActivity.java
com.akisute.yourconsole.app.dagger.DaggeredApplicationModule.java
com.akisute.yourconsole.app.dagger.DaggeredApplication.java
com.akisute.yourconsole.app.dagger.DaggeredFragment.java
com.akisute.yourconsole.app.dagger.DaggeredIntentService.java
com.akisute.yourconsole.app.dagger.DaggeredService.java
com.akisute.yourconsole.app.dagger.ForApplication.java
com.akisute.yourconsole.app.dagger.ForInjecting.java
com.akisute.yourconsole.app.helper.LogcatHelper.java
com.akisute.yourconsole.app.helper.RuntimeHelper.java
com.akisute.yourconsole.app.intent.Intents.java
com.akisute.yourconsole.app.model.ConsoleListAdapter.java
com.akisute.yourconsole.app.model.LogcatLine.java
com.akisute.yourconsole.app.model.LogcatRecordingManager.java
com.akisute.yourconsole.app.model.MText.java
com.akisute.yourconsole.app.reader.LogcatReader.java
com.akisute.yourconsole.app.reader.SingleLogcatReader.java
com.akisute.yourconsole.app.util.GlobalEventBus.java
com.akisute.yourconsole.app.util.GlobalPreference.java