|
|
|
@ -78,53 +78,45 @@ import java.io.InputStream;
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
import java.util.HashSet;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* NotesListActivity 是笔记列表界面的主要活动类
|
|
|
|
|
* 负责显示所有笔记的列表,并提供创建、编辑、删除笔记等功能
|
|
|
|
|
*/
|
|
|
|
|
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
|
|
|
|
|
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
|
|
|
|
|
|
|
|
|
|
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
|
|
|
|
|
|
|
|
|
|
private static final int MENU_FOLDER_DELETE = 0;
|
|
|
|
|
|
|
|
|
|
private static final int MENU_FOLDER_VIEW = 1;
|
|
|
|
|
|
|
|
|
|
private static final int MENU_FOLDER_CHANGE_NAME = 2;
|
|
|
|
|
|
|
|
|
|
private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction";
|
|
|
|
|
|
|
|
|
|
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; // 文件夹笔记列表查询令牌
|
|
|
|
|
private static final int FOLDER_LIST_QUERY_TOKEN = 1; // 文件夹列表查询令牌
|
|
|
|
|
private static final int MENU_FOLDER_DELETE = 0; // 删除文件夹菜单项
|
|
|
|
|
private static final int MENU_FOLDER_VIEW = 1; // 查看文件夹菜单项
|
|
|
|
|
private static final int MENU_FOLDER_CHANGE_NAME = 2; // 修改文件夹名称菜单项
|
|
|
|
|
private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; // 是否添加介绍笔记的偏好设置键
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 列表编辑状态枚举
|
|
|
|
|
*/
|
|
|
|
|
private enum ListEditState {
|
|
|
|
|
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
|
|
private int mDispatchY;
|
|
|
|
|
|
|
|
|
|
private TextView mTitleBar;
|
|
|
|
|
|
|
|
|
|
private long mCurrentFolderId;
|
|
|
|
|
|
|
|
|
|
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; // 原始Y坐标
|
|
|
|
|
private int mDispatchY; // 分发Y坐标
|
|
|
|
|
private TextView mTitleBar; // 标题栏
|
|
|
|
|
private long mCurrentFolderId; // 当前文件夹ID
|
|
|
|
|
private ContentResolver mContentResolver; // 内容解析器
|
|
|
|
|
private ModeCallback mModeCallBack; // 模式回调
|
|
|
|
|
private NoteItemData mFocusNoteDataItem; // 当前焦点笔记数据项
|
|
|
|
|
|
|
|
|
|
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 + "<>"
|
|
|
|
@ -159,6 +151,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 从原始资源文件设置应用信息
|
|
|
|
|
* 用于首次启动时创建介绍笔记
|
|
|
|
|
*/
|
|
|
|
|
private void setAppInfoFromRawRes() {
|
|
|
|
|
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
|
|
|
|
|
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
|
|
|
|
@ -211,6 +207,10 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 启动异步笔记列表查询
|
|
|
|
|
* 在活动启动时调用,用于加载笔记列表
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
protected void onStart() {
|
|
|
|
|
super.onStart();
|
|
|
|
|