diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fef2c14..dd8d60f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -6,30 +6,27 @@
+ android:theme="@style/DayTheme">
-
-
-
-
-
-
+
-
+
+
diff --git a/app/src/main/java/cc/liuyx/note/activity/AboutActivity.java b/app/src/main/java/cc/liuyx/note/activity/AboutActivity.java
new file mode 100644
index 0000000..b349511
--- /dev/null
+++ b/app/src/main/java/cc/liuyx/note/activity/AboutActivity.java
@@ -0,0 +1,45 @@
+package cc.liuyx.note.activity;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.support.v7.widget.Toolbar;
+import android.widget.LinearLayout;
+import android.widget.Switch;
+
+import com.example.atry.R;
+
+import java.util.Objects;
+
+public class AboutActivity extends BaseActivity {
+
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_about);
+
+ SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
+ Intent intent = getIntent();
+ boolean night_change;
+ if (intent.getExtras() != null)
+ night_change = intent.getBooleanExtra("night_change", false);
+ else night_change = false;
+
+ Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
+ setSupportActionBar(myToolbar);
+ Objects.requireNonNull(getSupportActionBar()).setHomeButtonEnabled(true);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ if (isNightMode())
+ myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_more));
+ else myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_more));
+ }
+
+ @Override
+ protected void needRefresh() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/cc/liuyx/note/activity/MainActivity.java b/app/src/main/java/cc/liuyx/note/activity/MainActivity.java
index 322fed3..4fc7889 100644
--- a/app/src/main/java/cc/liuyx/note/activity/MainActivity.java
+++ b/app/src/main/java/cc/liuyx/note/activity/MainActivity.java
@@ -47,13 +47,13 @@ import android.widget.TextView;
import android.widget.Toast;
import cc.liuyx.note.alarm.AlarmReceiver;
-import cc.liuyx.note.alarm.EditAlarmActivity;
-import cc.liuyx.note.alarm.Plan;
-import cc.liuyx.note.alarm.PlanAdapter;
-import cc.liuyx.note.alarm.PlanDatabase;
+import cc.liuyx.note.db.PlanDatabase;
+import cc.liuyx.note.entity.Plan;
+import cc.liuyx.note.adapter.PlanAdapter;
+import cc.liuyx.note.db.PlanCRUD;
import cc.liuyx.note.adapter.NoteAdapter;
import cc.liuyx.note.adapter.TagAdapter;
-import cc.liuyx.note.db.CRUD;
+import cc.liuyx.note.db.NoteCRUD;
import cc.liuyx.note.db.NoteDatabase;
import cc.liuyx.note.entity.Note;
@@ -105,6 +105,8 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
private TextView setting_text;
private ImageView setting_image;
+ private TextView about_text;
+ private ImageView about_image;
private ListView lv_tag;
private TextView add_tag;
@@ -161,6 +163,10 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
setting_text = customView.findViewById(R.id.setting_settings_text);
setting_image = customView.findViewById(R.id.setting_settings_image);
+
+ about_image = customView.findViewById(R.id.setting_about_image);
+ about_text = customView.findViewById(R.id.setting_about_text);
+
lv_tag = customView.findViewById(R.id.lv_tag);
add_tag = customView.findViewById(R.id.add_tag);
@@ -170,7 +176,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
if (sharedPreferences.getString("tagListString", "").split("_").length < 8) {
final EditText et = new EditText(context);
new AlertDialog.Builder(MainActivity.this)
- .setMessage("Enter the name of tag")
+ .setMessage("输入标签名")
.setView(et)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -184,7 +190,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
String newTagListString = oldTagListString + "_" + name;
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("tagListString", newTagListString);
- editor.commit();
+ editor.apply();
refreshTagList();
} else
Toast.makeText(context, "Repeated tag!", Toast.LENGTH_SHORT).show();
@@ -254,7 +260,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
Note temp = noteList.get(i);
if (temp.getTag() == tag) {
temp.setTag(1);
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.updateNote(temp);
op.close();
@@ -268,7 +274,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
Note temp = noteList.get(i);
if (temp.getTag() == j) {
temp.setTag(j - 1);
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.updateNote(temp);
op.close();
@@ -278,14 +284,13 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
//edit the preference
- List newTagList = new ArrayList<>();
- newTagList.addAll(tagList);
+ List newTagList = new ArrayList<>(tagList);
newTagList.remove(position);
String newTagListString = TextUtils.join("_", newTagList);
Log.d(TAG, "onClick: " + newTagListString);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("tagListString", newTagListString);
- editor.commit();
+ editor.apply();
refreshTagList();
}
@@ -304,7 +309,6 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
});
-
setting_text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@@ -322,8 +326,24 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
});
+ about_text.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MainActivity.this, AboutActivity.class));
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.no);
+ }
+ });
+
+ about_image.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(MainActivity.this, AboutActivity.class));
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.no);
+ }
+ });
coverView.setOnTouchListener(new View.OnTouchListener() {
+ @SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
popupWindow.dismiss();
@@ -408,7 +428,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("content_switch", isChecked);
- editor.commit();
+ editor.apply();
refreshLvVisibility();
}
});
@@ -426,7 +446,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
fab_alarm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- Intent intent = new Intent(MainActivity.this, EditAlarmActivity.class);
+ Intent intent = new Intent(MainActivity.this, UserSettingsActivity.EditAlarmActivity.class);
intent.putExtra("mode", 2); // MODE of 'new plan'
startActivityForResult(intent, 1);
overridePendingTransition(R.anim.in_righttoleft, R.anim.no);
@@ -441,7 +461,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
setSupportActionBar(myToolbar);
- getSupportActionBar().setHomeButtonEnabled(true);
+ Objects.requireNonNull(getSupportActionBar()).setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); //设置toolbar取代actionbar
initPopupView();
}
@@ -482,32 +502,32 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
SharedPreferences.Editor editor = sharedPreferences.edit();
if (!sharedPreferences.contains("nightMode")) {
editor.putBoolean("nightMode", false);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("reverseSort")) {
editor.putBoolean("reverseSort", false);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("fabColor")) {
editor.putInt("fabColor", -500041);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("tagListString")) {
String s = "no tag_life_study_work_play";
editor.putString("tagListString", s);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("content_switch")) {
editor.putBoolean("content_switch", false);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("fabPlanColor")) {
editor.putInt("fabPlanColor", -500041);
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("noteTitle")) {
editor.putBoolean("noteTitle", true);
- editor.commit();
+ editor.apply();
}
@@ -549,9 +569,9 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Delete all " + itemName);
builder.setIcon(R.drawable.ic_error_outline_black_24dp);
- builder.setItems(list_String, new DialogInterface.OnClickListener() {//列表对话框;
+ builder.setItems(list_String, new DialogInterface.OnClickListener() {
@Override
- public void onClick(DialogInterface dialog, final int which) {//根据这里which值,即可以指定是点击哪一个Item;
+ public void onClick(DialogInterface dialog, final int which) {
new AlertDialog.Builder(MainActivity.this)
.setMessage("Do you want to delete all " + itemName + " " + list_String[which] + "? ")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@@ -563,6 +583,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
//根据模式与时长删除对顶的计划s/笔记s
+ @SuppressLint("Range")
private void removeSelectItems(int which, int mode) {
int monthNum = 0;
switch (which) {
@@ -582,14 +603,14 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
Calendar rightNow = Calendar.getInstance();
rightNow.add(Calendar.MONTH, -monthNum);//日期加3个月
Date selectDate = rightNow.getTime();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ @SuppressLint("SimpleDateFormat") SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String selectDateStr = simpleDateFormat.format(selectDate);
Log.d(TAG, "removeSelectItems: " + selectDateStr);
switch (mode) {
case 1: //notes
dbHelper = new NoteDatabase(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
- Cursor cursor = db.rawQuery("select * from notes", null);
+ @SuppressLint("Recycle") Cursor cursor = db.rawQuery("select * from notes", null);
while (cursor.moveToNext()) {
if (cursor.getString(cursor.getColumnIndex(NoteDatabase.TIME)).compareTo(selectDateStr) < 0) {
db.delete("notes", NoteDatabase.ID + "=?", new String[]{Long.toString(cursor.getLong(cursor.getColumnIndex(NoteDatabase.ID)))});
@@ -601,7 +622,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
case 2: //plans
planDbHelper = new PlanDatabase(context);
SQLiteDatabase pdb = planDbHelper.getWritableDatabase();
- Cursor pcursor = pdb.rawQuery("select * from plans", null);
+ @SuppressLint("Recycle") Cursor pcursor = pdb.rawQuery("select * from plans", null);
while (pcursor.moveToNext()) {
if (pcursor.getString(pcursor.getColumnIndex(PlanDatabase.TIME)).compareTo(selectDateStr) < 0) {
pdb.delete("plans", PlanDatabase.ID + "=?", new String[]{Long.toString(pcursor.getLong(pcursor.getColumnIndex(PlanDatabase.ID)))});
@@ -635,6 +656,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
+ @SuppressLint("NonConstantResourceId")
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
@@ -647,8 +669,8 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
public void onClick(DialogInterface dialog, int which) {
dbHelper = new NoteDatabase(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
- db.delete("notes", null, null);//delete data in table NOTES
- db.execSQL("update sqlite_sequence set seq=0 where name='notes'"); //reset id to 1
+ db.delete("notes", null, null);
+ db.execSQL("update sqlite_sequence set seq=0 where name='notes'");
refreshListView();
}
}).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@@ -665,8 +687,8 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
public void onClick(DialogInterface dialog, int which) {
planDbHelper = new PlanDatabase(context);
SQLiteDatabase db = planDbHelper.getWritableDatabase();
- db.delete("plans", null, null);//delete data in table NOTES
- db.execSQL("update sqlite_sequence set seq=0 where name='plans'"); //reset id to 1
+ db.delete("plans", null, null);
+ db.execSQL("update sqlite_sequence set seq=0 where name='plans'");
refreshListView();
}
}).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@@ -679,7 +701,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
break;
case R.id.refresh:
- myToolbar.setTitle("All Notes");
+ myToolbar.setTitle("所有笔记");
lv.setAdapter(adapter);
break;
}
@@ -694,7 +716,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
int fabPlanColor = sharedPreferences.getInt("fabPlanColor", -500041);
chooseFabPlanColor(fabPlanColor);
//initialize CRUD
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
// set adapter
@@ -705,7 +727,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
op.close();
adapter.notifyDataSetChanged();
- cc.liuyx.note.alarm.CRUD op1 = new cc.liuyx.note.alarm.CRUD(context);
+ PlanCRUD op1 = new PlanCRUD(context);
op1.open();
if (planList.size() > 0) {
cancelAlarms(planList);//删除所有闹钟
@@ -801,6 +823,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
}
//click item in listView
+ @SuppressLint("NonConstantResourceId")
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
switch (parent.getId()) {
@@ -817,7 +840,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
break;
case R.id.lv_plan:
Plan curPlan = (Plan) parent.getItemAtPosition(position);
- Intent intent1 = new Intent(MainActivity.this, EditAlarmActivity.class);
+ Intent intent1 = new Intent(MainActivity.this, UserSettingsActivity.EditAlarmActivity.class);
intent1.putExtra("title", curPlan.getTitle());
intent1.putExtra("content", curPlan.getContent());
intent1.putExtra("time", curPlan.getTime());
@@ -834,6 +857,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
int returnMode;
long note_Id;
+ assert data != null;
returnMode = data.getExtras().getInt("mode", -1);
note_Id = data.getExtras().getLong("id", 0);
if (returnMode == 1) { //update current note
@@ -843,7 +867,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
int tag = data.getExtras().getInt("tag", 1);
Note newNote = new Note(content, time, tag);
newNote.setId(note_Id);
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.updateNote(newNote);
achievement.editNote(op.getNote(note_Id).getContent(), content);
@@ -852,7 +876,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
} else if (returnMode == 2) { //delete current note
Note curNote = new Note();
curNote.setId(note_Id);
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.removeNote(curNote);
op.close();
@@ -862,7 +886,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
String time = data.getExtras().getString("time");
int tag = data.getExtras().getInt("tag", 1);
Note newNote = new Note(content, time, tag);
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.addNote(newNote);
op.close();
@@ -874,14 +898,14 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
Log.d(TAG, time);
Plan plan = new Plan(title, content, time);
plan.setId(note_Id);
- cc.liuyx.note.alarm.CRUD op = new cc.liuyx.note.alarm.CRUD(context);
+ PlanCRUD op = new PlanCRUD(context);
op.open();
op.updatePlan(plan);
op.close();
} else if (returnMode == 12) {//delete existing plan
Plan plan = new Plan();
plan.setId(note_Id);
- cc.liuyx.note.alarm.CRUD op = new cc.liuyx.note.alarm.CRUD(context);
+ PlanCRUD op = new PlanCRUD(context);
op.open();
op.removePlan(plan);
op.close();
@@ -890,28 +914,28 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
String content = data.getExtras().getString("content", null);
String time = data.getExtras().getString("time", null);
Plan newPlan = new Plan(title, content, time);
- cc.liuyx.note.alarm.CRUD op = new cc.liuyx.note.alarm.CRUD(context);
+ PlanCRUD op = new PlanCRUD(context);
op.open();
op.addPlan(newPlan);
Log.d(TAG, "onActivityResult: " + time);
op.close();
- } else {
}
refreshListView();
}
//longclick item in listView
+ @SuppressLint("NonConstantResourceId")
@Override
public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
switch (parent.getId()) {
case R.id.lv:
final Note note = noteList.get(position);
new AlertDialog.Builder(MainActivity.this)
- .setMessage("Do you want to delete this note ?")
+ .setMessage("你想要删除这条笔记吗?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- CRUD op = new CRUD(context);
+ NoteCRUD op = new NoteCRUD(context);
op.open();
op.removeNote(note);
op.close();
@@ -927,12 +951,12 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
case R.id.lv_plan:
final Plan plan = planList.get(position);
new AlertDialog.Builder(MainActivity.this)
- .setMessage("Do you want to delete this plan ?")
+ .setMessage("你想要删除这条计划吗?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- cc.liuyx.note.alarm.CRUD op = new cc.liuyx.note.alarm.CRUD(context);
+ PlanCRUD op = new PlanCRUD(context);
op.open();
op.removePlan(plan);
op.close();
@@ -1021,9 +1045,12 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
Calendar c = p.getPlanTime();
if (!c.before(Calendar.getInstance())) {
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
- intent.putExtra("title", p.getTitle());
- intent.putExtra("content", p.getContent());
- intent.putExtra("id", (int) p.getId());
+ Bundle data = new Bundle();
+ data.putString("title", p.getTitle());
+ data.putString("title", p.getTitle());
+ data.putString("content", p.getContent());
+ data.putInt("id", (int) p.getId());
+ intent.putExtras(data);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, (int) p.getId(), intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
@@ -1059,7 +1086,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
//achievement system
public class Achievement {
- private SharedPreferences sharedPreferences;
+ private final SharedPreferences sharedPreferences;
private int noteNumber;
private int wordNumber;
@@ -1084,27 +1111,27 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
SharedPreferences.Editor editor = sharedPreferences.edit();
if (!sharedPreferences.contains("noteLevel")) {
editor.putInt("noteLevel", 0);
- editor.commit();
+ editor.apply();
if (!sharedPreferences.contains("wordLevel")) {
editor.putInt("wordLevel", 0);
- editor.commit();
+ editor.apply();
addCurrent(noteList);
if (sharedPreferences.contains("maxRemainNumber")) {
editor.remove("maxRemainNumber");
- editor.commit();
+ editor.apply();
}
if (sharedPreferences.contains("remainNumber")) {
editor.remove("remainNumber");
- editor.commit();
+ editor.apply();
}
if (!sharedPreferences.contains("noteNumber")) {
editor.putInt("noteNumber", 0);
- editor.commit();
+ editor.apply();
addCurrent(noteList);
if (!sharedPreferences.contains("wordNumber")) {
editor.putInt("wordNumber", 0);
- editor.commit();
+ editor.apply();
}
}
@@ -1132,7 +1159,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
else if (wordCount >= 1000) editor.putInt("noteLevel", 3);
else if (wordCount >= 500) editor.putInt("noteLevel", 2);
else if (wordCount >= 100) editor.putInt("noteLevel", 1);
- editor.commit();
+ editor.apply();
}
//添加笔记
@@ -1144,7 +1171,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
wordNumber += content.length();
editor.putInt("wordNumber", wordNumber);
- editor.commit();
+ editor.apply();
}
//删除笔记
@@ -1158,7 +1185,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
SharedPreferences.Editor editor = sharedPreferences.edit();
wordNumber += (newContent.length() - oldContent.length());
editor.putInt("wordNumber", wordNumber);
- editor.commit();
+ editor.apply();
}
}
@@ -1231,12 +1258,12 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
case 1:
noteLevel++;
editor.putInt("noteLevel", noteLevel);
- editor.commit();
+ editor.apply();
break;
case 2:
wordLevel++;
editor.putInt("wordLevel", wordLevel);
- editor.commit();
+ editor.apply();
break;
}
}
@@ -1257,7 +1284,7 @@ public class MainActivity extends BaseActivity implements OnItemClickListener, O
editor.putInt("wordNumber", wordNumber);
editor.putInt("noteLevel", 0);
editor.putInt("wordLevel", 0);
- editor.commit();
+ editor.apply();
}
}
diff --git a/app/src/main/java/cc/liuyx/note/activity/UserSettingsActivity.java b/app/src/main/java/cc/liuyx/note/activity/UserSettingsActivity.java
index f37aeb7..b9ff80a 100644
--- a/app/src/main/java/cc/liuyx/note/activity/UserSettingsActivity.java
+++ b/app/src/main/java/cc/liuyx/note/activity/UserSettingsActivity.java
@@ -1,20 +1,37 @@
package cc.liuyx.note.activity;
+import android.app.DatePickerDialog;
+import android.app.TimePickerDialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.support.annotation.Nullable;
+import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
+import android.util.Log;
import android.view.KeyEvent;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
+import android.widget.Button;
import android.widget.CompoundButton;
+import android.widget.DatePicker;
+import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Switch;
+import android.widget.TextView;
+import android.widget.TimePicker;
+import android.widget.Toast;
import com.example.atry.R;
+import java.util.Calendar;
import java.util.Objects;
+import cc.liuyx.note.entity.Plan;
+
public class UserSettingsActivity extends BaseActivity {
private Switch nightMode;
@@ -171,4 +188,305 @@ public class UserSettingsActivity extends BaseActivity {
}
+ public static class EditAlarmActivity extends BaseActivity implements View.OnClickListener {
+
+ private DatePickerDialog.OnDateSetListener dateSetListener;
+ private TimePickerDialog.OnTimeSetListener timeSetListener;
+ private EditText et_title;
+ private EditText et;
+ private Button set_date;
+ private Button set_time;
+
+
+
+ private TextView date;
+ private TextView time;
+ private Plan plan;
+ private int[] dateArray = new int[3];
+ private int[] timeArray = new int[2];
+
+ private int openMode = 0;
+ private String old_title = "";
+ private String old_content = "";
+ private String old_time = "";
+ private long id = 0;
+ private boolean timeChange = false;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.edit_alarm_layout);
+
+ Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
+ setSupportActionBar(myToolbar);
+ getSupportActionBar().setHomeButtonEnabled(true);
+
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ init();
+
+ final Intent intent = getIntent();
+ openMode = intent.getExtras().getInt("mode", 0);
+ if(openMode == 1){
+ id = intent.getLongExtra("id", 0);
+ old_title = intent.getStringExtra("title");
+ old_content = intent.getStringExtra("content");
+ old_time = intent.getStringExtra("time");
+ et_title.setText(old_title);
+ et_title.setSelection(old_title.length());
+ et.setText(old_content);
+ et.setSelection(old_content.length());
+
+ String[] wholeTime = old_time.split(" ");
+ String[] temp = wholeTime[0].split("-");
+ String[] temp1 = wholeTime[1].split(":");
+ setDateTV(Integer.parseInt(temp[0]), Integer.parseInt(temp[1]), Integer.parseInt(temp[2]));
+ setTimeTV(Integer.parseInt(temp1[0]), Integer.parseInt(temp1[1]));
+ }
+
+ if(isNightMode()) myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_keyboard_arrow_left_white_24dp));
+ else myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_keyboard_arrow_left_black_24dp));
+
+ myToolbar.setNavigationOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if(!canBeSet()) {
+ Toast.makeText(EditAlarmActivity.this, "Invalid Time", Toast.LENGTH_SHORT).show();
+ }else if(et.getText().toString().length() + et_title.getText().toString().length() == 0 && openMode == 2){
+ Intent intent1 = new Intent();
+ intent1.putExtra("mode", -1);//nothing new happens.
+ setResult(RESULT_OK, intent1);
+ finish();//返回
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
+ }
+ else if (et_title.getText().toString().length() == 0) {
+ Toast.makeText(EditAlarmActivity.this, "Title cannot be empty", Toast.LENGTH_SHORT).show();
+ }
+ else {
+ isTimeChange();
+ Intent intent = new Intent();
+ if (openMode == 2) {
+ intent.putExtra("mode", 10); // new one plan;
+ intent.putExtra("title", et_title.getText().toString());
+ intent.putExtra("content", et.getText().toString());
+ intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
+ Log.d(TAG, date.getText().toString() + time.getText().toString());
+ } else {
+ if (et.getText().toString().equals(old_content) && et_title.getText().toString().equals(old_title) && !timeChange) {
+ intent.putExtra("mode", -1); // edit nothing
+ }
+ else {
+ intent.putExtra("mode", 11); //edit the content
+ intent.putExtra("title", et_title.getText().toString());
+ intent.putExtra("content", et.getText().toString());
+ intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
+ intent.putExtra("id", id);
+ }
+ }
+ setResult(RESULT_OK, intent);
+ finish();//返回
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
+ }
+ }
+ });
+
+ }
+
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+
+ if( keyCode== KeyEvent.KEYCODE_HOME){
+ return true;
+ } else if( keyCode== KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
+ if(!canBeSet()) {
+ Toast.makeText(EditAlarmActivity.this, "Invalid Time", Toast.LENGTH_SHORT).show();
+ }else if(et.getText().toString().length() + et_title.getText().toString().length() == 0 && openMode == 2){
+ Intent intent1 = new Intent();
+ intent1.putExtra("mode", -1);//nothing new happens.
+ setResult(RESULT_OK, intent1);
+ finish();//返回
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
+ }
+ else if (et_title.getText().toString().length() == 0) {
+ Toast.makeText(EditAlarmActivity.this, "Title cannot be empty", Toast.LENGTH_SHORT).show();
+ }
+ else {
+ isTimeChange();
+ Intent intent = new Intent();
+ if (openMode == 2) {
+ intent.putExtra("mode", 10); // new one plan;
+ intent.putExtra("title", et_title.getText().toString());
+ intent.putExtra("content", et.getText().toString());
+ intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
+ Log.d(TAG, date.getText().toString() + time.getText().toString());
+ } else {
+ if (et.getText().toString().equals(old_content) && et_title.getText().toString().equals(old_title) && !timeChange) {
+ intent.putExtra("mode", -1); // edit nothing
+ }
+ else {
+ intent.putExtra("mode", 11); //edit the content
+ intent.putExtra("title", et_title.getText().toString());
+ intent.putExtra("content", et.getText().toString());
+ intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
+ intent.putExtra("id", id);
+ }
+ }
+ setResult(RESULT_OK, intent);
+ finish();//返回
+ overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
+ }
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.edit_menu, menu);
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ final Intent intent = new Intent();
+ switch (item.getItemId()){
+ case R.id.delete:
+ new AlertDialog.Builder(EditAlarmActivity.this)
+ .setMessage("Delete this plan ?")
+ .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if(openMode == 2){
+ intent.putExtra("mode", -1); // delete the plan
+ setResult(RESULT_OK, intent);
+ }
+ else {
+ intent.putExtra("mode", 12); // delete the plan
+ intent.putExtra("id", id);
+ setResult(RESULT_OK, intent);
+ }
+ finish();
+ }
+ }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ }).create().show();
+ break;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+ @Override
+ protected void needRefresh() {
+ setNightMode();
+ startActivity(new Intent(this, EditAlarmActivity.class));
+ overridePendingTransition(R.anim.night_switch, R.anim.night_switch_over);
+ finish();
+ }
+
+ private void init(){
+
+ plan = new Plan();
+ dateArray[0] = plan.getYear();
+ dateArray[1] = plan.getMonth() + 1;
+ dateArray[2] = plan.getDay();
+ timeArray[0] = plan.getHour();
+ timeArray[1] = plan.getMinute();
+
+ et_title = findViewById(R.id.et_title);
+ et = findViewById(R.id.et);
+ set_date = findViewById(R.id.set_date);
+ set_time = findViewById(R.id.set_time);
+ date = findViewById(R.id.date);
+ time = findViewById(R.id.time);
+
+ //initialize two textviews
+ setDateTV(dateArray[0], dateArray[1], dateArray[2]);
+ setTimeTV((timeArray[1]>54? timeArray[0]+1 : timeArray[0]), (timeArray[1]+5)%60);
+ Log.d(TAG, "init: "+dateArray[1]);
+
+ set_date.setOnClickListener(this);
+ set_time.setOnClickListener(this);
+
+ dateSetListener = new DatePickerDialog.OnDateSetListener() {
+ @Override
+ public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
+ setDateTV(year, month+1, dayOfMonth);
+
+ }
+ };
+ timeSetListener = new TimePickerDialog.OnTimeSetListener() {
+ @Override
+ public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
+ setTimeTV(hourOfDay, minute);
+ }
+ };
+ }
+
+ private void setDateTV(int y, int m, int d){
+ //update tv and dateArray
+ String temp = y + "-";
+ if(m<10) temp += "0";
+ temp += (m + "-");
+ if(d<10) temp +="0";
+ temp += d;
+ date.setText(temp);
+ dateArray[0] = y;
+ dateArray[1] = m;
+ dateArray[2] = d;
+ }
+
+ private void setTimeTV(int h, int m){
+ //update tv and timeArra
+ String temp = "";
+ if(h<10) temp += "0";
+ temp += (h + ":");
+ if(m<10) temp += "0";
+ temp += m;
+ time.setText(temp);
+ timeArray[0] = h;
+ timeArray[1] = m;
+ }
+
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()){
+ case R.id.set_date: //choose day
+ DatePickerDialog dialog = new DatePickerDialog(EditAlarmActivity.this,
+ (isNightMode()?R.style.NightDialogTheme :R.style.DayDialogTheme), dateSetListener,
+ dateArray[0], dateArray[1] - 1, dateArray[2]);
+ //dialog.getWindow().setBackgroundDrawable(new ColorDrawable((isNightMode()?Color.BLACK : Color.WHITE)));
+ dialog.show();
+ break;
+ case R.id.set_time://choose hour and minute
+ TimePickerDialog dialog1 = new TimePickerDialog(EditAlarmActivity.this,
+ (isNightMode()?R.style.NightDialogTheme :R.style.DayDialogTheme), timeSetListener,
+ timeArray[0], timeArray[1], true);
+ //dialog1.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
+ dialog1.show();
+ break;
+ }
+ }
+
+ private void isTimeChange(){
+ String newTime = date.getText().toString() + " " + time.getText().toString();
+ if(!newTime.equals(old_time)) timeChange = true;
+ }
+
+ private boolean canBeSet(){
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(dateArray[0], dateArray[1] - 1, dateArray[2], timeArray[0], timeArray[1]);
+ Calendar cur = Calendar.getInstance();
+ Log.d(TAG, "canBeSet: " + cur.getTime().toString() + calendar.getTime().toString());
+ if(cur.before(calendar)) return true;
+ else {
+ Toast.makeText(this, "Invalid Time", Toast.LENGTH_SHORT).show();
+ return false;
+ }
+ }
+
+
+
+ }
}
diff --git a/app/src/main/java/cc/liuyx/note/alarm/PlanAdapter.java b/app/src/main/java/cc/liuyx/note/adapter/PlanAdapter.java
similarity index 98%
rename from app/src/main/java/cc/liuyx/note/alarm/PlanAdapter.java
rename to app/src/main/java/cc/liuyx/note/adapter/PlanAdapter.java
index a486097..ba9a0a3 100644
--- a/app/src/main/java/cc/liuyx/note/alarm/PlanAdapter.java
+++ b/app/src/main/java/cc/liuyx/note/adapter/PlanAdapter.java
@@ -1,4 +1,4 @@
-package cc.liuyx.note.alarm;
+package cc.liuyx.note.adapter;
import android.content.Context;
import android.content.SharedPreferences;
@@ -16,6 +16,8 @@ import com.example.atry.R;
import java.util.ArrayList;
import java.util.List;
+import cc.liuyx.note.entity.Plan;
+
public class PlanAdapter extends BaseAdapter implements Filterable {
private Context mContext;
diff --git a/app/src/main/java/cc/liuyx/note/adapter/adapter.plantuml b/app/src/main/java/cc/liuyx/note/adapter/adapter.plantuml
deleted file mode 100644
index eb44e7e..0000000
--- a/app/src/main/java/cc/liuyx/note/adapter/adapter.plantuml
+++ /dev/null
@@ -1,63 +0,0 @@
-@startuml
-
-title __ADAPTER's Class Diagram__\n
-
- namespace cc.liuyx.note {
- namespace adapter {
- class cc.liuyx.note.adapter.NoteAdapter {
- - backList : List
- - mContext : Context
- - noteList : List
- + NoteAdapter()
- + getCount()
- + getFilter()
- + getItem()
- + getItemId()
- + getView()
- }
- }
- }
-
-
- namespace cc.liuyx.note {
- namespace adapter {
- class cc.liuyx.note.adapter.NoteAdapter.MyFilter {
- # performFiltering()
- # publishResults()
- }
- }
- }
-
-
- namespace cc.liuyx.note {
- namespace adapter {
- class cc.liuyx.note.adapter.TagAdapter {
- - context : Context
- - numList : List
- - tagList : List
- + TagAdapter()
- + getCount()
- + getItem()
- + getItemId()
- + getView()
- }
- }
- }
-
-
- cc.liuyx.note.adapter.NoteAdapter .up.|> android.widget.Filterable
- cc.liuyx.note.adapter.NoteAdapter -up-|> android.widget.BaseAdapter
- cc.liuyx.note.adapter.NoteAdapter o-- cc.liuyx.note.adapter.NoteAdapter.MyFilter : mFilter
- cc.liuyx.note.adapter.NoteAdapter +-down- cc.liuyx.note.adapter.NoteAdapter.MyFilter
- cc.liuyx.note.adapter.NoteAdapter.MyFilter -up-|> android.widget.Filter
- cc.liuyx.note.adapter.TagAdapter -up-|> android.widget.BaseAdapter
-
-
-right footer
-
-
-PlantUML diagram generated by SketchIt! (https://bitbucket.org/pmesmeur/sketch.it)
-For more information about this tool, please contact philippe.mesmeur@gmail.com
-endfooter
-
-@enduml
diff --git a/app/src/main/java/cc/liuyx/note/alarm/AlarmReceiver.java b/app/src/main/java/cc/liuyx/note/alarm/AlarmReceiver.java
index 3ef3fa8..ef6c740 100644
--- a/app/src/main/java/cc/liuyx/note/alarm/AlarmReceiver.java
+++ b/app/src/main/java/cc/liuyx/note/alarm/AlarmReceiver.java
@@ -8,6 +8,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
+import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import cc.liuyx.note.activity.MainActivity;
@@ -15,13 +16,14 @@ import com.example.atry.R;
public class AlarmReceiver extends BroadcastReceiver {
- private String channelId = "Piggy Notes";
- private String name = "ChannelName";
+ private String channelId = "JNote";
+ private String name = "Liuyx";
@Override
public void onReceive(Context context, Intent intent) {
- String title = intent.getExtras().getString("title");
- String content = intent.getExtras().getString("content");
- int id = intent.getExtras().getInt("id");
+ Bundle data = intent.getExtras();
+ String title = data.getString("title");
+ String content = data.getString("content");
+ int id = data.getInt("id");
Intent intent1 = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, id, intent1, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE);
diff --git a/app/src/main/java/cc/liuyx/note/alarm/EditAlarmActivity.java b/app/src/main/java/cc/liuyx/note/alarm/EditAlarmActivity.java
deleted file mode 100644
index 67f2531..0000000
--- a/app/src/main/java/cc/liuyx/note/alarm/EditAlarmActivity.java
+++ /dev/null
@@ -1,329 +0,0 @@
-package cc.liuyx.note.alarm;
-
-import android.app.DatePickerDialog;
-import android.app.TimePickerDialog;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.widget.Toolbar;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Button;
-import android.widget.DatePicker;
-import android.widget.EditText;
-import android.widget.TextView;
-import android.widget.TimePicker;
-import android.widget.Toast;
-
-import cc.liuyx.note.activity.BaseActivity;
-
-import com.example.atry.R;
-
-import java.util.Calendar;
-
-public class EditAlarmActivity extends BaseActivity implements View.OnClickListener {
-
- private DatePickerDialog.OnDateSetListener dateSetListener;
- private TimePickerDialog.OnTimeSetListener timeSetListener;
- private EditText et_title;
- private EditText et;
- private Button set_date;
- private Button set_time;
-
-
-
- private TextView date;
- private TextView time;
- private Plan plan;
- private int[] dateArray = new int[3];
- private int[] timeArray = new int[2];
-
- private int openMode = 0;
- private String old_title = "";
- private String old_content = "";
- private String old_time = "";
- private long id = 0;
- private boolean timeChange = false;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.edit_alarm_layout);
-
- Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
- setSupportActionBar(myToolbar);
- getSupportActionBar().setHomeButtonEnabled(true);
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- init();
-
- final Intent intent = getIntent();
- openMode = intent.getExtras().getInt("mode", 0);
- if(openMode == 1){
- id = intent.getLongExtra("id", 0);
- old_title = intent.getStringExtra("title");
- old_content = intent.getStringExtra("content");
- old_time = intent.getStringExtra("time");
- et_title.setText(old_title);
- et_title.setSelection(old_title.length());
- et.setText(old_content);
- et.setSelection(old_content.length());
-
- String[] wholeTime = old_time.split(" ");
- String[] temp = wholeTime[0].split("-");
- String[] temp1 = wholeTime[1].split(":");
- setDateTV(Integer.parseInt(temp[0]), Integer.parseInt(temp[1]), Integer.parseInt(temp[2]));
- setTimeTV(Integer.parseInt(temp1[0]), Integer.parseInt(temp1[1]));
- }
-
- if(isNightMode()) myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_keyboard_arrow_left_white_24dp));
- else myToolbar.setNavigationIcon(getDrawable(R.drawable.ic_keyboard_arrow_left_black_24dp));
-
- myToolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if(!canBeSet()) {
- Toast.makeText(EditAlarmActivity.this, "Invalid Time", Toast.LENGTH_SHORT).show();
- }else if(et.getText().toString().length() + et_title.getText().toString().length() == 0 && openMode == 2){
- Intent intent1 = new Intent();
- intent1.putExtra("mode", -1);//nothing new happens.
- setResult(RESULT_OK, intent1);
- finish();//返回
- overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
- }
- else if (et_title.getText().toString().length() == 0) {
- Toast.makeText(EditAlarmActivity.this, "Title cannot be empty", Toast.LENGTH_SHORT).show();
- }
- else {
- isTimeChange();
- Intent intent = new Intent();
- if (openMode == 2) {
- intent.putExtra("mode", 10); // new one plan;
- intent.putExtra("title", et_title.getText().toString());
- intent.putExtra("content", et.getText().toString());
- intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
- Log.d(TAG, date.getText().toString() + time.getText().toString());
- } else {
- if (et.getText().toString().equals(old_content) && et_title.getText().toString().equals(old_title) && !timeChange) {
- intent.putExtra("mode", -1); // edit nothing
- }
- else {
- intent.putExtra("mode", 11); //edit the content
- intent.putExtra("title", et_title.getText().toString());
- intent.putExtra("content", et.getText().toString());
- intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
- intent.putExtra("id", id);
- }
- }
- setResult(RESULT_OK, intent);
- finish();//返回
- overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
- }
- }
- });
-
- }
-
- public boolean onKeyDown(int keyCode, KeyEvent event) {
-
- if( keyCode== KeyEvent.KEYCODE_HOME){
- return true;
- } else if( keyCode== KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){
- if(!canBeSet()) {
- Toast.makeText(EditAlarmActivity.this, "Invalid Time", Toast.LENGTH_SHORT).show();
- }else if(et.getText().toString().length() + et_title.getText().toString().length() == 0 && openMode == 2){
- Intent intent1 = new Intent();
- intent1.putExtra("mode", -1);//nothing new happens.
- setResult(RESULT_OK, intent1);
- finish();//返回
- overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
- }
- else if (et_title.getText().toString().length() == 0) {
- Toast.makeText(EditAlarmActivity.this, "Title cannot be empty", Toast.LENGTH_SHORT).show();
- }
- else {
- isTimeChange();
- Intent intent = new Intent();
- if (openMode == 2) {
- intent.putExtra("mode", 10); // new one plan;
- intent.putExtra("title", et_title.getText().toString());
- intent.putExtra("content", et.getText().toString());
- intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
- Log.d(TAG, date.getText().toString() + time.getText().toString());
- } else {
- if (et.getText().toString().equals(old_content) && et_title.getText().toString().equals(old_title) && !timeChange) {
- intent.putExtra("mode", -1); // edit nothing
- }
- else {
- intent.putExtra("mode", 11); //edit the content
- intent.putExtra("title", et_title.getText().toString());
- intent.putExtra("content", et.getText().toString());
- intent.putExtra("time", date.getText().toString() + " " + time.getText().toString());
- intent.putExtra("id", id);
- }
- }
- setResult(RESULT_OK, intent);
- finish();//返回
- overridePendingTransition(R.anim.in_lefttoright, R.anim.out_lefttoright);
- }
- }
- return super.onKeyDown(keyCode, event);
- }
-
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.edit_menu, menu);
- return super.onCreateOptionsMenu(menu);
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- final Intent intent = new Intent();
- switch (item.getItemId()){
- case R.id.delete:
- new AlertDialog.Builder(EditAlarmActivity.this)
- .setMessage("Delete this plan ?")
- .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if(openMode == 2){
- intent.putExtra("mode", -1); // delete the plan
- setResult(RESULT_OK, intent);
- }
- else {
- intent.putExtra("mode", 12); // delete the plan
- intent.putExtra("id", id);
- setResult(RESULT_OK, intent);
- }
- finish();
- }
- }).setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- }).create().show();
- break;
- }
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- protected void needRefresh() {
- setNightMode();
- startActivity(new Intent(this, EditAlarmActivity.class));
- overridePendingTransition(R.anim.night_switch, R.anim.night_switch_over);
- finish();
- }
-
- private void init(){
-
- plan = new Plan();
- dateArray[0] = plan.getYear();
- dateArray[1] = plan.getMonth() + 1;
- dateArray[2] = plan.getDay();
- timeArray[0] = plan.getHour();
- timeArray[1] = plan.getMinute();
-
- et_title = findViewById(R.id.et_title);
- et = findViewById(R.id.et);
- set_date = findViewById(R.id.set_date);
- set_time = findViewById(R.id.set_time);
- date = findViewById(R.id.date);
- time = findViewById(R.id.time);
-
- //initialize two textviews
- setDateTV(dateArray[0], dateArray[1], dateArray[2]);
- setTimeTV((timeArray[1]>54? timeArray[0]+1 : timeArray[0]), (timeArray[1]+5)%60);
- Log.d(TAG, "init: "+dateArray[1]);
-
- set_date.setOnClickListener(this);
- set_time.setOnClickListener(this);
-
- dateSetListener = new DatePickerDialog.OnDateSetListener() {
- @Override
- public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
- setDateTV(year, month+1, dayOfMonth);
-
- }
- };
- timeSetListener = new TimePickerDialog.OnTimeSetListener() {
- @Override
- public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
- setTimeTV(hourOfDay, minute);
- }
- };
- }
-
- private void setDateTV(int y, int m, int d){
- //update tv and dateArray
- String temp = y + "-";
- if(m<10) temp += "0";
- temp += (m + "-");
- if(d<10) temp +="0";
- temp += d;
- date.setText(temp);
- dateArray[0] = y;
- dateArray[1] = m;
- dateArray[2] = d;
- }
-
- private void setTimeTV(int h, int m){
- //update tv and timeArra
- String temp = "";
- if(h<10) temp += "0";
- temp += (h + ":");
- if(m<10) temp += "0";
- temp += m;
- time.setText(temp);
- timeArray[0] = h;
- timeArray[1] = m;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()){
- case R.id.set_date: //choose day
- DatePickerDialog dialog = new DatePickerDialog(EditAlarmActivity.this,
- (isNightMode()?R.style.NightDialogTheme :R.style.DayDialogTheme), dateSetListener,
- dateArray[0], dateArray[1] - 1, dateArray[2]);
- //dialog.getWindow().setBackgroundDrawable(new ColorDrawable((isNightMode()?Color.BLACK : Color.WHITE)));
- dialog.show();
- break;
- case R.id.set_time://choose hour and minute
- TimePickerDialog dialog1 = new TimePickerDialog(EditAlarmActivity.this,
- (isNightMode()?R.style.NightDialogTheme :R.style.DayDialogTheme), timeSetListener,
- timeArray[0], timeArray[1], true);
- //dialog1.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- dialog1.show();
- break;
- }
- }
-
- private void isTimeChange(){
- String newTime = date.getText().toString() + " " + time.getText().toString();
- if(!newTime.equals(old_time)) timeChange = true;
- }
-
- private boolean canBeSet(){
- Calendar calendar = Calendar.getInstance();
- calendar.set(dateArray[0], dateArray[1] - 1, dateArray[2], timeArray[0], timeArray[1]);
- Calendar cur = Calendar.getInstance();
- Log.d(TAG, "canBeSet: " + cur.getTime().toString() + calendar.getTime().toString());
- if(cur.before(calendar)) return true;
- else {
- Toast.makeText(this, "Invalid Time", Toast.LENGTH_SHORT).show();
- return false;
- }
- }
-
-
-
-}
diff --git a/app/src/main/java/cc/liuyx/note/db/CRUD.java b/app/src/main/java/cc/liuyx/note/db/NoteCRUD.java
similarity index 97%
rename from app/src/main/java/cc/liuyx/note/db/CRUD.java
rename to app/src/main/java/cc/liuyx/note/db/NoteCRUD.java
index efe7ff5..d3457a7 100644
--- a/app/src/main/java/cc/liuyx/note/db/CRUD.java
+++ b/app/src/main/java/cc/liuyx/note/db/NoteCRUD.java
@@ -12,7 +12,7 @@ import java.util.List;
import cc.liuyx.note.entity.Note;
-public class CRUD {
+public class NoteCRUD {
SQLiteOpenHelper dbHandler;
SQLiteDatabase db;
@@ -23,7 +23,7 @@ public class CRUD {
NoteDatabase.MODE
};
- public CRUD(Context context){
+ public NoteCRUD(Context context){
dbHandler = new NoteDatabase(context);
}
@@ -32,7 +32,7 @@ public class CRUD {
}
public void close(){
- dbHandler.close();
+// dbHandler.close();
}
public void addNote(Note note){
diff --git a/app/src/main/java/cc/liuyx/note/alarm/CRUD.java b/app/src/main/java/cc/liuyx/note/db/PlanCRUD.java
similarity index 84%
rename from app/src/main/java/cc/liuyx/note/alarm/CRUD.java
rename to app/src/main/java/cc/liuyx/note/db/PlanCRUD.java
index f48c18e..e220132 100644
--- a/app/src/main/java/cc/liuyx/note/alarm/CRUD.java
+++ b/app/src/main/java/cc/liuyx/note/db/PlanCRUD.java
@@ -1,5 +1,6 @@
-package cc.liuyx.note.alarm;
+package cc.liuyx.note.db;
+import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
@@ -8,7 +9,9 @@ import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
-public class CRUD {
+import cc.liuyx.note.entity.Plan;
+
+public class PlanCRUD {
SQLiteOpenHelper dbHandler;
SQLiteDatabase db;
@@ -19,7 +22,7 @@ public class CRUD {
PlanDatabase.TIME,
};
- public CRUD(Context context){
+ public PlanCRUD(Context context){
dbHandler = new PlanDatabase(context);
}
@@ -28,10 +31,10 @@ public class CRUD {
}
public void close(){
- dbHandler.close();
+// dbHandler.close();
}
- public Plan addPlan(Plan plan){
+ public void addPlan(Plan plan){
//add a plan object to database
ContentValues contentValues = new ContentValues();
contentValues.put(PlanDatabase.TITLE, plan.getTitle());
@@ -39,18 +42,18 @@ public class CRUD {
contentValues.put(PlanDatabase.TIME, plan.getTime());
long insertId = db.insert(PlanDatabase.TABLE_NAME, null, contentValues);
plan.setId(insertId);
- return plan;
}
public Plan getPlan(long id){
//get a plan from database using cursor index
- Cursor cursor = db.query(PlanDatabase.TABLE_NAME,columns,PlanDatabase.ID + "=?",
+ @SuppressLint("Recycle") Cursor cursor = db.query(PlanDatabase.TABLE_NAME,columns, PlanDatabase.ID + "=?",
new String[]{String.valueOf(id)},null,null, null, null);
if (cursor != null) cursor.moveToFirst();
- Plan e = new Plan(cursor.getString(1),cursor.getString(2), cursor.getString(3));
- return e;
+ assert cursor != null;
+ return new Plan(cursor.getString(1),cursor.getString(2), cursor.getString(3));
}
+ @SuppressLint("Range")
public List getAllPlans(){
Cursor cursor = db.query(PlanDatabase.TABLE_NAME,columns,null,null,null, null, null);
diff --git a/app/src/main/java/cc/liuyx/note/alarm/PlanDatabase.java b/app/src/main/java/cc/liuyx/note/db/PlanDatabase.java
similarity index 78%
rename from app/src/main/java/cc/liuyx/note/alarm/PlanDatabase.java
rename to app/src/main/java/cc/liuyx/note/db/PlanDatabase.java
index 1faf3db..09df48c 100644
--- a/app/src/main/java/cc/liuyx/note/alarm/PlanDatabase.java
+++ b/app/src/main/java/cc/liuyx/note/db/PlanDatabase.java
@@ -1,8 +1,13 @@
-package cc.liuyx.note.alarm;
+package cc.liuyx.note.db;
+import android.annotation.SuppressLint;
+import android.content.ContentValues;
import android.content.Context;
+import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
+import android.util.Log;
+
public class PlanDatabase extends SQLiteOpenHelper {
@@ -14,13 +19,13 @@ public class PlanDatabase extends SQLiteOpenHelper {
public static final String MODE = "mode";
- public PlanDatabase(Context context){
+ public PlanDatabase(Context context) {
super(context, "plans", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
- db.execSQL("CREATE TABLE "+ TABLE_NAME
+ db.execSQL("CREATE TABLE " + TABLE_NAME
+ "("
+ ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ TITLE + " TEXT NOT NULL,"
diff --git a/app/src/main/java/cc/liuyx/note/alarm/Plan.java b/app/src/main/java/cc/liuyx/note/entity/Plan.java
similarity index 98%
rename from app/src/main/java/cc/liuyx/note/alarm/Plan.java
rename to app/src/main/java/cc/liuyx/note/entity/Plan.java
index 35d1ab0..dd1bac7 100644
--- a/app/src/main/java/cc/liuyx/note/alarm/Plan.java
+++ b/app/src/main/java/cc/liuyx/note/entity/Plan.java
@@ -1,4 +1,4 @@
-package cc.liuyx.note.alarm;
+package cc.liuyx.note.entity;
import android.util.Log;
diff --git a/app/src/main/res/drawable/piggy.jpg b/app/src/main/res/drawable/piggy.jpg
deleted file mode 100644
index 5f577ef..0000000
Binary files a/app/src/main/res/drawable/piggy.jpg and /dev/null differ
diff --git a/app/src/main/res/drawable/note_shape.xml b/app/src/main/res/drawable/shape_note.xml
similarity index 92%
rename from app/src/main/res/drawable/note_shape.xml
rename to app/src/main/res/drawable/shape_note.xml
index 751c8be..1c1b5af 100644
--- a/app/src/main/res/drawable/note_shape.xml
+++ b/app/src/main/res/drawable/shape_note.xml
@@ -8,7 +8,7 @@
- -
+
-