diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index e5c7d47..d805cd2 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -1,26 +1,10 @@
-
-
-
+ android:versionName="0.1">
-
+
@@ -34,44 +18,51 @@
+ android:label="@string/app_name">
+ android:windowSoftInputMode="adjustPan">
+
+
+
-
-
+ android:theme="@style/NoteTheme">
+
+
-
+
+
-
+
@@ -81,13 +72,13 @@
+ android:label="@string/app_widget2x2">
@@ -100,8 +91,7 @@
-
+ android:label="@string/app_widget4x4">
@@ -112,39 +102,33 @@
android:name="android.appwidget.provider"
android:resource="@xml/widget_4x_info" />
-
-
+
-
-
+ android:name=".ui.AlarmReceiver"
+ android:process=":remote">
-
-
+ android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar">
-
+ android:theme="@android:style/Theme.Holo.Light">
-
+ android:name=".gtask.remote.GTaskSyncService"
+ android:exported="false">
-
+
+
\ No newline at end of file
diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java
index e5b0146..34ea7a3 100644
--- a/src/main/java/net/micode/notes/ui/NotesListActivity.java
+++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java
@@ -79,6 +79,8 @@ import java.io.InputStreamReader;
import java.util.HashSet;
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
+ //首页背景变换
+ private int mode = -1;
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
@@ -95,28 +97,38 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
};
- // 声明一些私有成员变量。
- private ListEditState mState; // 当前列表的编辑状态
- private BackgroundQueryHandler mBackgroundQueryHandler; // 用于在后台执行查询的处理程序
- private NotesListAdapter mNotesListAdapter; // 笔记列表的适配器
- private ListView mNotesListView; // 显示笔记列表的视图
- private Button mAddNewNote; // 添加新笔记的按钮
- private boolean mDispatch; // 一个标志,可能用于控制事件分发
- private int mOriginY; // 原始Y坐标,可能用于触摸事件处理
- private int mDispatchY; // 分发的Y坐标,也可能用于触摸事件处理
- private TextView mTitleBar; // 标题栏文本视图
- private long mCurrentFolderId; // 当前文件夹的ID
- private ContentResolver mContentResolver; // 内容解析器,用于访问应用的数据
- private ModeCallback mModeCallBack; // 模式回调接口的实现,可能用于在不同的操作模式之间切换
+ private ListEditState mState;
+
+ private BackgroundQueryHandler mBackgroundQueryHandler;
+
+ private NotesListAdapter mNotesListAdapter;
+
+ private ListView mNotesListView;
+
+ private Button mAddNewNote;
+
+ private boolean mDispatch;
+
+ private int mOriginY;
+
+ private int mDispatchY;
+
+ private TextView mTitleBar;
+
+ private long mCurrentFolderId;
+
+ private ContentResolver mContentResolver;
+
+ private ModeCallback mModeCallBack;
private static final String TAG = "NotesListActivity";
public static final int NOTES_LISTVIEW_SCROLL_RATE = 30;
- //正在关注的笔记数据对象
+
private NoteItemData mFocusNoteDataItem;
private static final String NORMAL_SELECTION = NoteColumns.PARENT_ID + "=?";
- //拼接访问串
+
private static final String ROOT_FOLDER_SELECTION = "(" + NoteColumns.TYPE + "<>"
+ Notes.TYPE_SYSTEM + " AND " + NoteColumns.PARENT_ID + "=?)" + " OR ("
+ NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER + " AND "
@@ -124,22 +136,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private final static int REQUEST_CODE_OPEN_NODE = 102;
private final static int REQUEST_CODE_NEW_NODE = 103;
- //表示是否在私密模式
- public static int secret_mode = 0;
-
- /**
- * @classname: NotesListActivity
- * @methodname onCreate
- * @description:完成活动的初始化
- * @date: 2024/1/4 11:47
- * @author: Xia Yanbo
- * @param:savedInstanceState保存的状态
- */
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- //根据布局文件呈现菜单视图
setContentView(R.layout.note_list);
+ getWindow().setBackgroundDrawableResource(R.drawable.decade);//将decade作为初始背景
initResources();
/**
@@ -147,59 +149,32 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
*/
setAppInfoFromRawRes();
}
- /**
- * @classname: NotesListActivity
- * @methodname onActivityResult
- * @description:当从活动中得到返回调用,处理返回的结果
- * @date: 2024/1/4 11:49
- * @author: Xia Yanbo
- * @param:requestCode请求码
- * @param:resultCode结果码
- * @param:data 意图的数据
- */
+
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- // 根据请求的代码类型进行相应的处理
- if (resultCode == RESULT_OK // 如果返回的结果码是RESULT_OK,表示操作成功
- && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) { // 并且请求码是打开节点或新建节点
- // 清空笔记列表的适配器游标(可能是在执行打开或新建节点操作后,刷新或重置列表)
+ if (resultCode == RESULT_OK
+ && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) {
mNotesListAdapter.changeCursor(null);
- } else { // 其他情况
- // 调用父类的onActivityResult方法,将结果传递给上层处理。
+ } else {
super.onActivityResult(requestCode, resultCode, data);
}
}
- /**
- * @classname: NotesListActivity
- * @methodname setAppInfoFromRawRes
- * @description:从设备的资源文件中获取内容,并且保存在WorkingNote中(标记,这个不是,但可以类似去找修改笔记中的字符显示)
- * @date: 2024/1/12 9:58
- * @author: Xia Yanbo
- */
+
private void setAppInfoFromRawRes() {
- // 获取默认的SharedPreferences对象,用于存储和获取应用的一些常用配置信息
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
- // 创建一个StringBuilder对象,用于构建从资源文件中读取的内容
StringBuilder sb = new StringBuilder();
- InputStream in = null;// 声明一个InputStream对象,用于读取资源文件
+ InputStream in = null;
try {
- //打开资源,作为读取的对象
in = getResources().openRawResource(R.raw.introduction);
if (in != null) {
- // 创建一个InputStreamReader对象,将InputStream转换为字符流
InputStreamReader isr = new InputStreamReader(in);
- // 创建一个BufferedReader对象,用于按行读取字符流的内容
BufferedReader br = new BufferedReader(isr);
- // 创建一个字符数组,用于临时存储从资源文件中读取的字符数据,每个块大小为1024字节
char [] buf = new char[1024];
- int len = 0; // 声明一个整型变量,用于存储每次从资源文件中读取的字符数量
- // 循环读取字符数据,直到没有数据可读
+ int len = 0;
while ((len = br.read(buf)) > 0) {
- // 将读取到的字符数据追加到StringBuilder对象中
sb.append(buf, 0, len);
}
- //读取失败在日志中输出错误信息
} else {
Log.e(TAG, "Read introduction file error");
return;
@@ -208,7 +183,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
e.printStackTrace();
return;
} finally {
- // 最后,关闭InputStream对象,释放资源
if(in != null) {
try {
in.close();
@@ -218,17 +192,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
}
- // 创建一个工作笔记对象,并设置一些属性值
+
WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER,
AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE,
ResourceParser.RED);
- // 将从资源文件中读取的内容设置到工作笔记的文本属性中
note.setWorkingText(sb.toString());
- // 如果成功保存工作笔记,则将一个布尔值添加到SharedPreferences中,键为PREFERENCE_ADD_INTRODUCTION,值为true,并提交更改
if (note.saveNote()) {
sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit();
} else {
- // 如果保存失败,则在日志中输出错误信息,并结束方法执行
Log.e(TAG, "Save introduction note error");
return;
}
@@ -444,35 +415,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
private void startAsyncNotesListQuery() {
String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION
: NORMAL_SELECTION;
- if(secret_mode == 0) {
- mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
- Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{
- String.valueOf(mCurrentFolderId)
- }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
- }
- else{
- String str1 = "444";
- String [] PROJECTION = new String [] { //定义一个新的PROJECTION数组,只换掉SNIPPET
- NoteColumns.ID,
- NoteColumns.ALERTED_DATE,
- NoteColumns.BG_COLOR_ID,
- NoteColumns.CREATED_DATE,
- NoteColumns.HAS_ATTACHMENT,
- NoteColumns.MODIFIED_DATE,
- NoteColumns.NOTES_COUNT,
- NoteColumns.PARENT_ID,
-// NoteColumns.SNIPPET,
- str1,
- NoteColumns.TYPE,
- NoteColumns.WIDGET_ID,
- NoteColumns.WIDGET_TYPE,
- };
- mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
- Notes.CONTENT_NOTE_URI, PROJECTION, selection, new String[]{
- String.valueOf(mCurrentFolderId)
- }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
-
- }
+ mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
+ Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] {
+ String.valueOf(mCurrentFolderId)
+ }, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
}
private final class BackgroundQueryHandler extends AsyncQueryHandler {
@@ -829,16 +775,28 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
} else {
Log.e(TAG, "Wrong state:" + mState);
}
- if(secret_mode == 1)
- menu.findItem(R.id.menu_secret).setVisible(false);
- else
- menu.findItem(R.id.menu_quit_secret).setVisible(false);
+
+ if(mode==-1){//decade
+ menu.findItem(R.id.menu_decade).setVisible(false);
+ }
+ else if(mode==1){//zio
+ menu.findItem(R.id.menu_zio).setVisible(false);
+ }
+
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if(item.getItemId()==R.id.menu_new_folder){
+ if(item.getItemId()==R.id.menu_decade){
+ mode = -1;
+ getWindow().setBackgroundDrawableResource(R.drawable.decade);
+ }
+ else if(item.getItemId()==R.id.menu_zio){
+ mode = 1;
+ getWindow().setBackgroundDrawableResource(R.drawable.zio);
+ }
+ else if(item.getItemId()==R.id.menu_new_folder){
showCreateOrModifyFolderDialog(true);
}
else if(item.getItemId()==R.id.menu_export_text ){
@@ -865,53 +823,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
else if(item.getItemId()==R.id.menu_search) {
onSearchRequested();
}
- else if(item.getItemId()==R.id.menu_secret)
- {//进入私密模式
-
- AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this);
- dialog.setTitle("重要提醒");
- dialog.setMessage("您确认进入私密模式吗?");
- dialog.setCancelable(false);
- dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- Toast.makeText(NotesListActivity.this,"您已进入私密模式",Toast.LENGTH_SHORT).show();
- secret_mode = 1;
- startAsyncNotesListQuery();
- }
- });
- dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which){}
- });
- dialog.show();
- startAsyncNotesListQuery();
-
- }
- else if(item.getItemId()==R.id.menu_quit_secret)
- { //退出私密模式
-
- AlertDialog.Builder dialog = new AlertDialog.Builder(NotesListActivity.this);
- dialog.setTitle("重要提醒");
- dialog.setMessage("您确认退出私密模式吗?");
- dialog.setCancelable(false);
- dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- secret_mode = 0;
- Toast.makeText(NotesListActivity.this,"您已退出私密模式",Toast.LENGTH_SHORT).show();
- startAsyncNotesListQuery();
- }
- });
- dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which){}
- });
- dialog.show();
-
- }
-
return true;
}
@@ -1049,16 +960,4 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
return false;
}
-
- public static void setSecretMode() {
- if(secret_mode==0)
- {
- secret_mode=1;
- }
- else{
- secret_mode=0;
- }
- }
-
}
-
diff --git a/src/main/java/net/micode/notes/ui/SplashActivity.java b/src/main/java/net/micode/notes/ui/SplashActivity.java
new file mode 100644
index 0000000..3b564d5
--- /dev/null
+++ b/src/main/java/net/micode/notes/ui/SplashActivity.java
@@ -0,0 +1,42 @@
+package net.micode.notes.ui;
+
+import android.annotation.SuppressLint;
+
+import android.content.Intent;
+
+import android.support.v7.app.ActionBar;
+
+import android.support.v7.app.AppCompatActivity;
+
+import android.os.Build;
+
+import android.os.Bundle;
+
+import android.os.Handler;
+
+import android.view.MotionEvent;
+
+import android.view.View;
+
+import android.view.WindowInsets;
+
+import net.micode.notes.R;
+
+public class SplashActivity extends AppCompatActivity {
+ Handler mHandler=new Handler();
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState); //加载启动界面
+ setContentView(R.layout.activity_splash); //加载启动图片
+ // 当计时结束时,跳转至NotesListActivity
+ mHandler.postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ Intent intent=new Intent();
+ intent.setClass(SplashActivity.this, NotesListActivity.class);
+ startActivity(intent);
+ finish(); //销毁
+ }
+ }, 3000); // 3秒后跳转
+ }
+}
diff --git a/src/main/res/drawable-hdpi/decade.jpg b/src/main/res/drawable-hdpi/decade.jpg
new file mode 100644
index 0000000..c757973
Binary files /dev/null and b/src/main/res/drawable-hdpi/decade.jpg differ
diff --git a/src/main/res/drawable-hdpi/splash.png b/src/main/res/drawable-hdpi/splash.png
new file mode 100644
index 0000000..f6a6ac4
Binary files /dev/null and b/src/main/res/drawable-hdpi/splash.png differ
diff --git a/src/main/res/drawable-hdpi/zio.png b/src/main/res/drawable-hdpi/zio.png
new file mode 100644
index 0000000..4bc96c1
Binary files /dev/null and b/src/main/res/drawable-hdpi/zio.png differ
diff --git a/src/main/res/layout/activity_splash.xml b/src/main/res/layout/activity_splash.xml
new file mode 100644
index 0000000..ecc7b3c
--- /dev/null
+++ b/src/main/res/layout/activity_splash.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/res/layout/note_list.xml b/src/main/res/layout/note_list.xml
index 6b25d38..50d3a00 100644
--- a/src/main/res/layout/note_list.xml
+++ b/src/main/res/layout/note_list.xml
@@ -18,8 +18,8 @@
+ android:layout_height="fill_parent">
+
-
+ android:id="@+id/menu_decade"
+ android:title="@string/menu_decade"/>
+
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index c54b8ad..7331c02 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -15,8 +15,7 @@
limitations under the License.
-->
-
+
Notes
Notes 2x2
Notes 4x4
@@ -39,6 +38,11 @@
/MIUI/notes/
notes_%s.txt
+
+
+ Background: decade
+ Background: zio
+
(%d)
New Folder
Export text
@@ -75,8 +79,6 @@
Confirm to delete the selected %d notes?
Confirm to delete this note?
Have moved selected %1$d notes to %2$s folder
- secret model
- quit secret model
SD card busy, not available now
Export failed, please check SD card
@@ -129,9 +131,13 @@
set
cancel
- - %1$s result for \"%2$s\"
+ - %1$s result for \"%2$s\"
- - %1$s results for \"%2$s\"
+ - %1$s results for \"%2$s\"
+ FullscreenActivity
+ Dummy Button
+ welcome
+ SplashActivity