From 6cdee41c8f180d43d11697782e394e72baf58786 Mon Sep 17 00:00:00 2001
From: CYZ <2782394648@qq.com>
Date: Mon, 31 Oct 2022 20:26:11 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BA=86zhy=E7=9A=84?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/Notes1/app/src/main/AndroidManifest.xml | 12 +-
.../app/src/main/AndroidManifest.xml.orig | 190 ++++++++++++++++++
.../java/net/micode/notes/data/Notes.java | 1 +
.../net/micode/notes/data/Notes.java.orig | 4 +
.../micode/notes/gtask/data/Task.java.orig | 24 +++
.../net/micode/notes/gtask/data/TaskList.java | 8 +-
.../notes/gtask/data/TaskList.java.orig | 37 ++++
.../notes/gtask/remote/GTaskClient.java | 3 +-
.../notes/gtask/remote/GTaskClient.java.orig | 9 +
.../notes/gtask/remote/GTaskManager.java | 7 +-
.../notes/gtask/remote/GTaskManager.java.orig | 12 ++
.../net/micode/notes/tool/BackupUtils.java | 9 +-
.../micode/notes/tool/BackupUtils.java.orig | 8 +
.../net/micode/notes/tool/DataUtils.java.orig | 4 +
.../micode/notes/ui/DateTimePickerDialog.java | 2 +-
.../net/micode/notes/ui/NoteEditActivity.java | 7 +
.../micode/notes/ui/NotesListActivity.java | 100 +++++++--
.../app/src/main/res/layout/note_edit.xml | 13 +-
.../app/src/main/res/menu/note_edit.xml | 2 +-
.../app/src/main/res/menu/note_list.xml | 7 +-
.../src/main/res/values-zh-rCN/strings.xml | 4 +-
.../src/main/res/values-zh-rTW/strings.xml | 4 +-
.../app/src/main/res/values/strings.xml | 5 +-
23 files changed, 440 insertions(+), 32 deletions(-)
create mode 100644 src/Notes1/app/src/main/AndroidManifest.xml.orig
diff --git a/src/Notes1/app/src/main/AndroidManifest.xml b/src/Notes1/app/src/main/AndroidManifest.xml
index b0bfa27..c99f548 100644
--- a/src/Notes1/app/src/main/AndroidManifest.xml
+++ b/src/Notes1/app/src/main/AndroidManifest.xml
@@ -34,7 +34,17 @@
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Notes1/app/src/main/AndroidManifest.xml.orig b/src/Notes1/app/src/main/AndroidManifest.xml.orig
new file mode 100644
index 0000000..e66255d
--- /dev/null
+++ b/src/Notes1/app/src/main/AndroidManifest.xml.orig
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+<<<<<<< HEAD
+
+=======
+
+>>>>>>> origin/ChiYanZhen_branch
+
+
+
+
+
+
+
+
+
+
+
+
+<<<<<<< HEAD
+
+
+
+
+
+
+
+
+
+
+=======
+
+>>>>>>> origin/ChiYanZhen_branch
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<<<<<<< HEAD
+=======
+
+
+>>>>>>> origin/ChiYanZhen_branch
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java b/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java
index f240604..d4cfd87 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java
@@ -165,6 +165,7 @@ public class Notes {
* Type : INTEGER (long)
*/
public static final String VERSION = "version";
+ public static final String GROUP = "group_num";
}
public interface DataColumns {
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java.orig
index f240604..31c4610 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/data/Notes.java.orig
@@ -165,6 +165,10 @@ public class Notes {
* Type : INTEGER (long)
*/
public static final String VERSION = "version";
+<<<<<<< HEAD
+ public static final String GROUP = "group_num";
+=======
+>>>>>>> origin/ChiYanZhen_branch
}
public interface DataColumns {
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/Task.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/Task.java.orig
index a724341..292ec19 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/Task.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/Task.java.orig
@@ -180,6 +180,29 @@ public class Task extends Node {
|| !js.has(GTaskStringUtils.META_HEAD_DATA)) {
Log.w(TAG, "setContentByLocalJSON: nothing is avaiable");
}
+<<<<<<< HEAD
+
+ try {
+ JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
+ JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA);
+
+ if (note.getInt(NoteColumns.TYPE) != Notes.TYPE_NOTE) {
+ Log.e(TAG, "invalid type");
+ return;
+ }
+
+ for (int i = 0; i < dataArray.length(); i++) {
+ JSONObject data = dataArray.getJSONObject(i);
+ if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) {
+ setName(data.getString(DataColumns.CONTENT));
+ break;
+ }
+ }
+
+ } catch (JSONException e) {
+ Log.e(TAG, e.toString());
+ e.printStackTrace();
+=======
if (js != null) {
try {
JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
@@ -202,6 +225,7 @@ public class Task extends Node {
Log.e(TAG, e.toString());
e.printStackTrace();
}
+>>>>>>> origin/ChiYanZhen_branch
}
}
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java
index 7ae4b79..52f25c5 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java
@@ -201,7 +201,13 @@ public class TaskList extends Node {
Log.e(TAG, "gtask id doesn't match");
return SYNC_ACTION_ERROR;
}
- return SYNC_ACTION_UPDATE_REMOTE;
+ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
+ // local modification only
+ return SYNC_ACTION_UPDATE_REMOTE;
+ } else {
+ // for folder conflicts, just apply local modification
+ return SYNC_ACTION_UPDATE_REMOTE;
+ }
}
} catch (Exception e) {
Log.e(TAG, e.toString());
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java.orig
index 7ae4b79..a7f02fd 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/data/TaskList.java.orig
@@ -133,6 +133,32 @@ public class TaskList extends Node {
if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) {
Log.w(TAG, "setContentByLocalJSON: nothing is avaiable");
}
+<<<<<<< HEAD
+
+ try {
+ JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
+
+ if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) {
+ String name = folder.getString(NoteColumns.SNIPPET);
+ setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + name);
+ } else if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) {
+ if (folder.getLong(NoteColumns.ID) == Notes.ID_ROOT_FOLDER)
+ setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT);
+ else if (folder.getLong(NoteColumns.ID) == Notes.ID_CALL_RECORD_FOLDER)
+ setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX
+ + GTaskStringUtils.FOLDER_CALL_NOTE);
+ else
+ Log.e(TAG, "invalid system folder");
+ } else {
+ Log.e(TAG, "error type");
+ }
+ } catch (JSONException e) {
+ Log.e(TAG, e.toString());
+ e.printStackTrace();
+ }
+ }
+
+=======
if (js != null) {
try {
JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE);
@@ -158,6 +184,7 @@ public class TaskList extends Node {
}
}
+>>>>>>> origin/ChiYanZhen_branch
public JSONObject getLocalJSONFromContent() {
try {
JSONObject js = new JSONObject();
@@ -201,7 +228,17 @@ public class TaskList extends Node {
Log.e(TAG, "gtask id doesn't match");
return SYNC_ACTION_ERROR;
}
+<<<<<<< HEAD
+ if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) {
+ // local modification only
+ return SYNC_ACTION_UPDATE_REMOTE;
+ } else {
+ // for folder conflicts, just apply local modification
+ return SYNC_ACTION_UPDATE_REMOTE;
+ }
+=======
return SYNC_ACTION_UPDATE_REMOTE;
+>>>>>>> origin/ChiYanZhen_branch
}
} catch (Exception e) {
Log.e(TAG, e.toString());
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
index ac696d9..55b199e 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java
@@ -306,7 +306,8 @@ public class GTaskClient {
input = new InflaterInputStream(entity.getContent(), inflater);
}
- try(InputStreamReader isr = new InputStreamReader(input)) {
+ try {
+ InputStreamReader isr = new InputStreamReader(input);
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java.orig
index ac696d9..ffd3b1f 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskClient.java.orig
@@ -112,7 +112,11 @@ public class GTaskClient {
public boolean login(Activity activity) {
// we suppose that the cookie would expire after 5 minutes
// then we need to re-login
+<<<<<<< HEAD
+ final long interval = 1000 * 60 * 5;
+=======
final long interval = 1000L * 60 * 5;
+>>>>>>> origin/ChiYanZhen_branch
if (mLastLoginTime + interval < System.currentTimeMillis()) {
mLoggedin = false;
}
@@ -306,7 +310,12 @@ public class GTaskClient {
input = new InflaterInputStream(entity.getContent(), inflater);
}
+<<<<<<< HEAD
+ try {
+ InputStreamReader isr = new InputStreamReader(input);
+=======
try(InputStreamReader isr = new InputStreamReader(input)) {
+>>>>>>> origin/ChiYanZhen_branch
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
index 00cccdb..6170fb8 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java
@@ -333,7 +333,12 @@ public class GTaskManager {
}
// go through remaining items
-
+ Iterator> iter = mGTaskHashMap.entrySet().iterator();
+ while (iter.hasNext()) {
+ Map.Entry entry = iter.next();
+ node = entry.getValue();
+ doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null);
+ }
// mCancelled can be set by another thread, so we neet to check one by
// one
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java.orig
index 00cccdb..ee18ce0 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/gtask/remote/GTaskManager.java.orig
@@ -295,12 +295,15 @@ public class GTaskManager {
"(type=? AND parent_id<>?)", new String[] {
String.valueOf(Notes.TYPE_NOTE), String.valueOf(Notes.ID_TRASH_FOLER)
}, NoteColumns.TYPE + " DESC");
+<<<<<<< HEAD
+=======
Iterator> iter = mGTaskHashMap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = iter.next();
node = entry.getValue();
doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, c);
}
+>>>>>>> origin/ChiYanZhen_branch
if (c != null) {
while (c.moveToNext()) {
gid = c.getString(SqlNote.GTASK_ID_COLUMN);
@@ -333,7 +336,16 @@ public class GTaskManager {
}
// go through remaining items
+<<<<<<< HEAD
+ Iterator> iter = mGTaskHashMap.entrySet().iterator();
+ while (iter.hasNext()) {
+ Map.Entry entry = iter.next();
+ node = entry.getValue();
+ doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null);
+ }
+=======
+>>>>>>> origin/ChiYanZhen_branch
// mCancelled can be set by another thread, so we neet to check one by
// one
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java b/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java
index 57b270c..dd44519 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java
@@ -295,7 +295,8 @@ public class BackupUtils {
mFileName = file.getName();
mFileDirectory = mContext.getString(R.string.file_path);
PrintStream ps = null;
- try (FileOutputStream fos = new FileOutputStream(file)){
+ try {
+ FileOutputStream fos = new FileOutputStream(file);
ps = new PrintStream(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
@@ -303,10 +304,10 @@ public class BackupUtils {
} catch (NullPointerException e) {
e.printStackTrace();
return null;
- } catch (IOException e) {
- e.printStackTrace();
+ } /*catch (IOException f) {
+ f.printStackTrace();
return null;
- }
+ }*/
return ps;
}
}
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java.orig
index 57b270c..739646e 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/tool/BackupUtils.java.orig
@@ -295,7 +295,12 @@ public class BackupUtils {
mFileName = file.getName();
mFileDirectory = mContext.getString(R.string.file_path);
PrintStream ps = null;
+<<<<<<< HEAD
+ try {
+ FileOutputStream fos = new FileOutputStream(file);
+=======
try (FileOutputStream fos = new FileOutputStream(file)){
+>>>>>>> origin/ChiYanZhen_branch
ps = new PrintStream(fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
@@ -303,9 +308,12 @@ public class BackupUtils {
} catch (NullPointerException e) {
e.printStackTrace();
return null;
+<<<<<<< HEAD
+=======
} catch (IOException e) {
e.printStackTrace();
return null;
+>>>>>>> origin/ChiYanZhen_branch
}
return ps;
}
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/tool/DataUtils.java.orig b/src/Notes1/app/src/main/java/net/micode/notes/tool/DataUtils.java.orig
index 598c792..f357c33 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/tool/DataUtils.java.orig
+++ b/src/Notes1/app/src/main/java/net/micode/notes/tool/DataUtils.java.orig
@@ -84,6 +84,10 @@ public class DataUtils {
long folderId) {
if (ids == null) {
Log.d(TAG, "the ids is null");
+<<<<<<< HEAD
+
+=======
+>>>>>>> origin/ChiYanZhen_branch
return true;
}
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/Notes1/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
index fde6666..d0a97cb 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/ui/DateTimePickerDialog.java
@@ -87,4 +87,4 @@ public class DateTimePickerDialog extends AlertDialog implements OnClickListener
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/Notes1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
index 3e84c5e..44f680c 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/ui/NoteEditActivity.java
@@ -16,6 +16,7 @@
package net.micode.notes.ui;
+import android.Manifest;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
@@ -73,6 +74,8 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import android.graphics.Typeface;
+
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
@@ -91,10 +94,14 @@ import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
import net.micode.notes.widget.NoteWidgetProvider_2x;
import net.micode.notes.widget.NoteWidgetProvider_4x;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
diff --git a/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
index 240263b..bd2b8e0 100644
--- a/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
+++ b/src/Notes1/app/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -20,6 +20,7 @@ import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
+import android.app.Person;
import android.appwidget.AppWidgetManager;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
@@ -73,6 +74,7 @@ import android.widget.Toast;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
+import androidx.core.content.FileProvider;
import net.micode.notes.R;
import net.micode.notes.data.Notes;
@@ -99,7 +101,7 @@ import java.io.FileOutputStream;
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
private int time_node = 0;
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
-
+ private Uri uri;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
private static final int MENU_FOLDER_DELETE = 0;
@@ -174,6 +176,18 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
context = NotesListActivity.this;
switch (requestCode) {
+ case 1:
+ if (resultCode == RESULT_OK) {
+ try {
+ Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
+ Drawable drawable = new BitmapDrawable(bitmap);
+ //Toast.makeText(context, " to get image chuxian", Toast.LENGTH_SHORT).show();
+ getWindow().setBackgroundDrawable(drawable);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ }
+ break;
case 3:
if (resultCode == RESULT_OK) {
if (Build.VERSION.SDK_INT >= 19) {
@@ -376,10 +390,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
case R.id.move:
startQueryDestinationFolders();
break;
- case R.id.menu_bg_photo:
- time_node=1;
- bg_from_photo();
- break;
default:
return false;
}
@@ -517,12 +527,22 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
protected HashSet doInBackground(Void... unused) {
HashSet widgets = mNotesListAdapter.getSelectedWidget();
if (!isSyncMode()) {
- // if not synced, delete notes directly
- if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter
- .getSelectedItemIds())) {
- } else {
- Log.e(TAG, "Delete notes error, should not happens");
+ if (mCurrentFolderId == Notes.ID_TRASH_FOLER){
+ // if in trash, delete notes directly
+ if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter
+ .getSelectedItemIds())) {
+ } else {
+ Log.e(TAG, "Delete notes error, should not happens");
+ }
+ }
+ else{
+ //move to trash
+ if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter
+ .getSelectedItemIds(), Notes.ID_TRASH_FOLER)) {
+ Log.e(TAG, "Move notes to trash folder error, should not happens");
+ }
}
+
} else {
// in sync mode, we'll move the deleted note into the trash
// folder
@@ -892,8 +912,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
ResetPassword();
break;
}
- case R.id.menu_bg_photo:{
- bg_from_photo();
+ case R.id.menu_bg_change:{
+ showListDialog();
+ break;
+ }
+ case R.id.menu_trash_folder:{
+ restoreDeletedNodes();
break;
}
default:
@@ -908,6 +932,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
return true;
}
+ private void restoreDeletedNodes(){
+ mState = ListEditState.SUB_FOLDER;
+ mCurrentFolderId = Notes.ID_TRASH_FOLER;
+ startAsyncNotesListQuery();
+ mTitleBar.setText("回收站");
+ mTitleBar.setVisibility(View.VISIBLE);
+ }
+
private void exportNoteToText() {
final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this);
new AsyncTask() {
@@ -1177,6 +1209,26 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
return false;
}
+ public void bg_from_camera() {
+ context = NotesListActivity.this;
+ File file = new File(getExternalCacheDir(), "test.jpg");
+ try {
+ if (file.exists()) {
+ file.delete();
+ }
+ file.createNewFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ if (Build.VERSION.SDK_INT >= 24) {
+ uri = FileProvider.getUriForFile(context, "com.example.cameraalbumtest.fileprovider", file);
+ } else {
+ uri = Uri.fromFile(file);
+ }
+ Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
+ intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
+ startActivityForResult(intent, 1);
+ }
public void bg_from_photo() {
context = NotesListActivity.this;
@@ -1245,5 +1297,27 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
-
+ public void showListDialog() {
+ final String[] items = {"从相册选取", "拍摄照片"};
+ AlertDialog.Builder listDialog = new AlertDialog.Builder(NotesListActivity.this);
+ listDialog.setTitle("背景");
+ listDialog.setItems(items, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ switch(i){
+ case 0:
+ time_node = 3;
+ bg_from_photo();
+ break;
+ case 1:
+ time_node = 2;
+ bg_from_camera();
+ break;
+ default:
+ break;
+ }
+ }
+ });
+ listDialog.show();
+ }
}
diff --git a/src/Notes1/app/src/main/res/layout/note_edit.xml b/src/Notes1/app/src/main/res/layout/note_edit.xml
index 1ff3a27..b749607 100644
--- a/src/Notes1/app/src/main/res/layout/note_edit.xml
+++ b/src/Notes1/app/src/main/res/layout/note_edit.xml
@@ -99,6 +99,11 @@
android:layout_marginRight="8dip"
android:textAppearance="@style/TextAppearanceSecondaryItem" />
+
+ android:textAppearance="@style/TextAppearancePrimaryItem"
+ android:lineSpacingMultiplier="1.2" />
-
\ No newline at end of file
+
diff --git a/src/Notes1/app/src/main/res/menu/note_list.xml b/src/Notes1/app/src/main/res/menu/note_list.xml
index 8739ac5..289b960 100644
--- a/src/Notes1/app/src/main/res/menu/note_list.xml
+++ b/src/Notes1/app/src/main/res/menu/note_list.xml
@@ -41,6 +41,9 @@
android:id="@+id/menu_private_folders"
android:title="Private Folder"/>
+ android:id="@+id/menu_bg_change"
+ android:title="更换背景"/>
+
diff --git a/src/Notes1/app/src/main/res/values-zh-rCN/strings.xml b/src/Notes1/app/src/main/res/values-zh-rCN/strings.xml
index 9c1aff3..5f1e66d 100644
--- a/src/Notes1/app/src/main/res/values-zh-rCN/strings.xml
+++ b/src/Notes1/app/src/main/res/values-zh-rCN/strings.xml
@@ -58,6 +58,7 @@
查看文件夹
刪除文件夹
修改文件夹名称
+ 回收站
文件夹 %1$s 已存在,请重新命名
分享
@@ -124,7 +125,8 @@
- %1$s 条符合“%2$s”的搜索结果
更换字体
- 更换背景
+
移动至私密文件夹
私密文件夹
+ 更换背景
diff --git a/src/Notes1/app/src/main/res/values-zh-rTW/strings.xml b/src/Notes1/app/src/main/res/values-zh-rTW/strings.xml
index 2c59ed2..414980a 100644
--- a/src/Notes1/app/src/main/res/values-zh-rTW/strings.xml
+++ b/src/Notes1/app/src/main/res/values-zh-rTW/strings.xml
@@ -123,9 +123,11 @@
- %1$s 條符合”%2$s“的搜尋結果
- 更换背景
+
移动至私密文件夹
更换字体
私密文件夹
+ 回收站
+ 更换背景
diff --git a/src/Notes1/app/src/main/res/values/strings.xml b/src/Notes1/app/src/main/res/values/strings.xml
index c493aa0..af9ee3d 100644
--- a/src/Notes1/app/src/main/res/values/strings.xml
+++ b/src/Notes1/app/src/main/res/values/strings.xml
@@ -67,9 +67,11 @@
Share
Send to home
Remind me
- bg from photo
+ change background
Private Folder
Delete reminder
+
+
Select folder
Parent folder
Note added to home
@@ -135,5 +137,6 @@
- %1$s results for \"%2$s\"
+ trash folder