Android Open Source - logcat-activity-android Filter Dialog






From Project

Back to project page logcat-activity-android.

License

The source code is released under:

Apache License

If you think the Android project logcat-activity-android 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 io.leftshift.logcat;
//w w  w. j  a va2 s . c o m
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.TextView;

public class FilterDialog extends AlertDialog {
  private boolean mError = false;
  private Prefs mPrefs;
  private LogcatActivity mLogActivity;
  
    @Override
    public void dismiss() {
      if (!mError) {
        super.dismiss();
      }
    }
    
  public FilterDialog(LogcatActivity logActivity) {
    super(logActivity);
    
    mLogActivity = logActivity;
    mPrefs = new Prefs(mLogActivity);
    
    LayoutInflater factory = LayoutInflater.from(mLogActivity);
    final View view = factory.inflate(R.layout.logcat_filter_dialog, null);

    final EditText filterEdit = (EditText) view
        .findViewById(R.id.filter_edit);
    filterEdit.setText(mPrefs.getFilter());

    final TextView patternErrorText = (TextView) view.findViewById(R.id.pattern_error_text);
    patternErrorText.setVisibility(View.GONE);
  
    final CheckBox patternCheckBox = (CheckBox) view
        .findViewById(R.id.pattern_checkbox);
    patternCheckBox.setChecked(mPrefs.isFilterPattern());
    CompoundButton.OnCheckedChangeListener occl = new CompoundButton.OnCheckedChangeListener() {

      public void onCheckedChanged(CompoundButton buttonView,
          boolean isChecked) {
        if (!isChecked) {
          patternErrorText.setVisibility(View.GONE);
          mError = false;
        }
      }

    };
    patternCheckBox.setOnCheckedChangeListener(occl);
    
    setView(view);
    setTitle(R.string.filter_dialog_title);
    
    setButton(BUTTON_POSITIVE, mLogActivity.getResources().getString(R.string.ok),
        new OnClickListener() {
          public void onClick(DialogInterface dialog, int which) {
            FilterDialog fd = (FilterDialog)dialog;
            String f = filterEdit.getText().toString();
            if (patternCheckBox.isChecked()) {
              try {
                Pattern.compile(f);
              } catch (PatternSyntaxException e) {
                patternErrorText.setVisibility(View.VISIBLE);
                fd.mError = true;
                return;
              }
            }

            fd.mError = false;
            patternErrorText.setVisibility(View.GONE);
            
            mPrefs.setFilter(filterEdit.getText().toString());
            mPrefs.setFilterPattern(patternCheckBox.isChecked());

            mLogActivity.setFilterMenu();
            mLogActivity.dismissDialog(LogcatActivity.FILTER_DIALOG);
            mLogActivity.reset();
          }
        });
    setButton(BUTTON_NEUTRAL, mLogActivity.getResources().getString(R.string.clear),
        new OnClickListener() {
          public void onClick(DialogInterface dialog, int which) {
            FilterDialog fd = (FilterDialog)dialog;
            
            mPrefs.setFilter(null);
            filterEdit.setText(null);

            mPrefs.setFilterPattern(false);
            patternCheckBox.setChecked(false);            

            fd.mError = false;

            mLogActivity.setFilterMenu();
            mLogActivity.dismissDialog(LogcatActivity.FILTER_DIALOG);
            mLogActivity.reset();
          }
        });
    setButton(BUTTON_NEGATIVE,  mLogActivity.getResources().getString(R.string.cancel),
        new OnClickListener() {
          public void onClick(DialogInterface dialog, int which) {
            FilterDialog fd = (FilterDialog)dialog;
            
            filterEdit.setText(mPrefs.getFilter());
            patternCheckBox.setChecked(mPrefs.isFilterPattern());            
            
            fd.mError = false;
            mLogActivity.dismissDialog(LogcatActivity.FILTER_DIALOG);
          }
        });

  }
}




Java Source Code List

io.leftshift.logcat.Buffer.java
io.leftshift.logcat.Buffer.java
io.leftshift.logcat.FilterDialog.java
io.leftshift.logcat.FilterDialog.java
io.leftshift.logcat.Format.java
io.leftshift.logcat.Format.java
io.leftshift.logcat.Level.java
io.leftshift.logcat.Level.java
io.leftshift.logcat.LogEntryAdapter.java
io.leftshift.logcat.LogEntryAdapter.java
io.leftshift.logcat.LogEntry.java
io.leftshift.logcat.LogEntry.java
io.leftshift.logcat.LogcatActivity.java
io.leftshift.logcat.LogcatActivity.java
io.leftshift.logcat.Logcat.java
io.leftshift.logcat.Logcat.java
io.leftshift.logcat.Prefs.java
io.leftshift.logcat.Prefs.java
io.leftshift.logcatsample.MainActivity.java