package cri.sanity.screen; import android.content.Intent; import android.preference.Preference; import cri.sanity.*; import cri.sanity.util.*; public class SmsHistoryActivity extends HistoryActivity { private static final char SEP = Conf.SMS_SEP; private static final String SEP_S = SEP + ""; private static final String UNSEP = Conf.SMS_UNSEP; private static final String UNSLASH = Conf.SMS_UNSLASH; @Override protected String fnHistory() { return Conf.SMS_FN; } @Override protected String mainTitle() { return A.s(R.string.history_sms); } @Override protected Class<?> prefClass() { return Pref.class; } @Override protected int lineItems() { return 4; } @Override protected char sep () { return SEP; } @Override protected void onClear() { A.putc(K.SMS_COUNT, 0); } //---- inner class public class Pref extends Preference implements Preference.OnPreferenceClickListener { private String body; public Pref(String[] items) { super(SmsHistoryActivity.this); String dt = items[0]; String name = items[1]; String num = items[2]; body = items[3].replace("\\n","\n").replace(UNSLASH,"\\").replace(UNSEP, SEP_S); if(name.length() <= 0) name = num; else if(num.length() > 0) dt += " "+num; setTitle(name); setSummary(dt); setOnPreferenceClickListener(this); } @Override public boolean onPreferenceClick(Preference p) { Alert.msg( getTitle().toString(), body, new Alert.Click(){ public void on(){ A.clipMan().setText(body); A.toast(A.s(R.string.msg_clipboard_copied)); }}, new Alert.Click(){ public void on(){ Intent i = new Intent(Intent.ACTION_VIEW); i.setType("text/plain"); i.putExtra(Intent.EXTRA_TEXT, body); i = Intent.createChooser(i, A.s(R.string.share)+" SMS"); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i); }}, Alert.COPYSHARE ); return true; } } }