package greendrm.editor;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class EditorContentsActivity extends Activity {
private static final boolean DEBUG = true;
private static final String TAG = "EditorContents";
private EditText editFile;
private EditText editContents;
private boolean isAdd = false;
private IEditorFile mFile = null;
private EditorFileSD mFileSD = null;
private EditorFileDatabase mDatabase = null;
private static String mSaveMethod = "sdcard";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.editor);
mFileSD = new EditorFileSD();
mDatabase = new EditorFileDatabase();
String data;
retrivePreferences();
if (mSaveMethod.equals("db"))
mFile = mDatabase;
else
mFile = mFileSD;
editFile = (EditText)findViewById(R.id.editNewFile);
editContents = (EditText)findViewById(R.id.editContents);
TextView eMode2 = (TextView)findViewById(R.id.textViewMode2);
eMode2.setText(mSaveMethod);
Intent extra = getIntent();
String filename = extra.getStringExtra("FILE_NAME");
editFile.setText(mFile.parseFileNameNoExt(filename));
data = mFile.loadFile(filename);
if (data != null)
editContents.setText(data);
}
@Override
protected void onPause() {
Log.d(TAG, "onPause()");
String filename = editFile.getText().toString();
if (isAdd) {
String data = editContents.getText().toString();
if (mSaveMethod.equals("db")) {
mDatabase.deleteFile(filename);
mDatabase.saveFile(filename, data);
}
else {
mFileSD.createFile(filename+".txt");
mFileSD.saveFile(filename+".txt", data);
}
}
else {
if (mSaveMethod.equals("db"))
mDatabase.deleteFile(filename);
else
mFileSD.deleteFile(filename+".txt");
}
super.onPause();
}
@Override
public void onBackPressed() {
//super.onBackPressed();
Intent data = new Intent();
if (DEBUG) Log.d(TAG, "onBackPressed:" + editFile.getText().toString().length());
if (editFile.getText().toString().length() != 0) {
if (DEBUG) Log.d(TAG, "onBackPressed: will be saved");
isAdd = true;
setResult(Activity.RESULT_OK, data);
}
else {
if (DEBUG) Log.d(TAG, "onBackPressed: will be discarded");
isAdd = false;
setResult(Activity.RESULT_CANCELED, data);
}
finish();
}
public void onClickDeleteFile(View v) {
isAdd = false;
Intent data = new Intent();
setResult(Activity.RESULT_OK, data);
finish();
}
private void retrivePreferences() {
SharedPreferences prefs = PreferenceManager.
getDefaultSharedPreferences(getApplicationContext());
mSaveMethod = prefs.getString("saveMethod", "sdcard");
if (DEBUG) Log.d(TAG, "save method: " + mSaveMethod);
}
}