/*
* Copyright (C) 2015, Jhuster, All Rights Reserved
*
* Author: Jhuster(lujun.hust@gmail.com)
*
* https://github.com/Jhuster/JNote
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*/
package com.jhuster.jnote;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import com.jhuster.jnote.db.NoteDB;
import com.jhuster.jnote.db.NoteDB.Note;
import com.jhuster.jnote.markdown.MDWriter;
import java.util.Calendar;
public class NoteActivity extends BaseActivity {
private Note mNote = new Note();
private MDWriter mMDWriter;
private EditText mNoteEditText;
@Override
protected void onCreate(Bundle savedInstanceState) {
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setDisplayShowHomeEnabled(false);
super.onCreate(savedInstanceState);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
onSaveNote();
super.onPause();
}
@Override
protected void initVariables() {
}
@Override
protected void initViews(Bundle savedInstanceState) {
setContentView(R.layout.activity_note);
mNoteEditText = (EditText) findViewById(R.id.NoteEditText);
}
@Override
protected void loadData() {
mMDWriter = new MDWriter(mNoteEditText);
mNote.key = getIntent().getLongExtra("NoteId", -1);
if (mNote.key != -1) {
Note note = NoteDB.getInstance().get(mNote.key);
if (note != null) {
mMDWriter.setContent(note.content);
mNote = note;
} else {
mNote.key = -1;
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_note, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_display) {
onSaveNote();
Intent intent = new Intent(this, DisplayActivity.class);
intent.putExtra("Content", mMDWriter.getContent());
startActivity(intent);
return true;
} else if (id == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
public void onClickHeader(View v) {
mMDWriter.setAsHeader();
}
public void onClickCenter(View v) {
mMDWriter.setAsCenter();
}
public void onClickList(View v) {
mMDWriter.setAsList();
}
public void onClickBold(View v) {
mMDWriter.setAsBold();
}
public void onClickQuote(View v) {
mMDWriter.setAsQuote();
}
public void onSaveNote() {
mNote.title = mMDWriter.getTitle();
mNote.content = mMDWriter.getContent();
if (mNote.key == -1) {
if (!"".equals(mNote.content)) {
mNote.date = Calendar.getInstance().getTimeInMillis();
NoteDB.getInstance().insert(mNote);
}
} else {
NoteDB.getInstance().update(mNote);
}
}
}