Android Open Source - SMSTester Log View Activity






From Project

Back to project page SMSTester.

License

The source code is released under:

GNU General Public License

If you think the Android project SMSTester 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

////////////////////////////////////////////////////////////////////
// SMSTester - https://lab.safermobile.org
// Copyright (c) 2011, SaferMobile / MobileActive
// See LICENSE for licensing information 
////  w w  w . j ava2  s.  c om
// LogViewActivity: loads and parses text file into table display
////////////////////////////////////////////////////////////////////

package org.safermobile.sms;

import java.util.StringTokenizer;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup.LayoutParams;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class LogViewActivity extends Activity implements SMSTesterConstants {

  private SMSLogger _smsLogger;

  private TableLayout _table;

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.logtable);

    _table = (TableLayout) findViewById(R.id.logTable);

    String mode = "";

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
      mode = extras.getString("mode");
    }

    SharedPreferences prefs = PreferenceManager
        .getDefaultSharedPreferences(getApplicationContext());
    String logBasePath = prefs.getString("pref_log_base_path", Utils.defaultLogFolder);
    _smsLogger = new SMSLogger(mode, logBasePath);

  }

  @Override
  protected void onResume() {
    super.onResume();

    if (_smsLogger.getLogFile().exists())
      displayLogData(Utils.loadTextFile(_smsLogger.getLogFile()));
  }

  private void displayLogData(String logData) {
    StringTokenizer logPerLine = new StringTokenizer(logData, "\n");

    _table.removeAllViews();

    while (logPerLine.hasMoreTokens()) {
      TableRow row = new TableRow(this);
      row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
          LayoutParams.FILL_PARENT));
      StringTokenizer linePerElement = new StringTokenizer(logPerLine.nextToken(), ",");

      while (linePerElement.hasMoreTokens()) {
        String value = linePerElement.nextToken();

        TextView tvColumn = new TextView(this);
        tvColumn.setPadding(3, 3, 0, 0);
        tvColumn.setText(value);
        // tvColumn.setLayoutParams(new LayoutParams(100,10));
        row.addView(tvColumn);
      }

      _table.addView(row);
    }
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();

  }

  /*
   * Create the UI Options Menu (non-Javadoc)
   * 
   * @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
   */
  public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    MenuItem mItem = null;

    mItem = menu.add(0, 1, Menu.NONE, R.string.refresh);
    mItem.setIcon(android.R.drawable.ic_menu_agenda);

    mItem = menu.add(0, 2, Menu.NONE, R.string.rotate_log);
    mItem.setIcon(android.R.drawable.ic_menu_rotate);
    return true;
  }

  /*
   * When a menu item is selected launch the appropriate view or activity
   * (non-Javadoc)
   * 
   * @see android.app.Activity#onMenuItemSelected(int, android.view.MenuItem)
   */
  public boolean onMenuItemSelected(int featureId, MenuItem item) {

    super.onMenuItemSelected(featureId, item);

    if (item.getItemId() == 1) {
      displayLogData(Utils.loadTextFile(_smsLogger.getLogFile()));

    } else if (item.getItemId() == 2) {

      _smsLogger.rotateLogFile();

      displayLogData(Utils.loadTextFile(_smsLogger.getLogFile()));

    }
    return true;
  }
}




Java Source Code List

org.safermobile.sms.EditKeywordActivity.java
org.safermobile.sms.LogViewActivity.java
org.safermobile.sms.MainTabActivity.java
org.safermobile.sms.SMSDataReceiver.java
org.safermobile.sms.SMSErrorStatusReceiver.java
org.safermobile.sms.SMSLogger.java
org.safermobile.sms.SMSReceiver.java
org.safermobile.sms.SMSSenderActivity.java
org.safermobile.sms.SMSTesterConstants.java
org.safermobile.sms.SettingsActivity.java
org.safermobile.sms.Utils.java