niezhiwei_branch
刘德华 1 year ago
parent ef7c1eb422
commit 8151e820b6

@ -49,4 +49,13 @@
<item
android:id="@+id/menu_delete_remind"
android:title="@string/menu_remove_remind" />
<item
android:id="@+id/menu_font_select"
android:title="font_style" />
<item
android:id="@+id/menu_voice_read"
android:title="voice_read" />
</menu>

@ -36,4 +36,10 @@
<item
android:id="@+id/menu_search"
android:title="@string/menu_search"/>
<item
android:id="@+id/menu_water"
android:title="Background: water"/>
</menu>

@ -47,6 +47,11 @@
<string name="menu_setting">Settings</string>
<string name="menu_search">Search</string>
<string name="menu_delete">Delete</string>
<!--密码设置的按钮-->
<string name="menu_set_password" translatable="false">Set password</string>
<string name="menu_delete_password" translatable="false">Delete password</string>
<string name="menu_move">Move to folder</string>
<string name="menu_select_title">%d selected</string>
<string name="menu_select_none">Nothing selected, the operation is invalid</string>
@ -126,6 +131,9 @@
<string name="search">Notes</string>
<string name="datetime_dialog_ok">set</string>
<string name="datetime_dialog_cancel">cancel</string>
<string name="menu_font_style">Select font</string>
<string name="menu_voice_read">Text-to-Speech</string>
<string name="menu_water">Background :water</string>
<plurals name="search_results_title">
<item quantity="one"><xliff:g id="number" example="1">%1$s</xliff:g> result for \"<xliff:g id="search" example="???">%2$s</xliff:g>\"</item>
<!-- Case of 0 or 2 or more results. -->

@ -16,6 +16,7 @@
package net.micode.notes.ui;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.AlertDialog;
@ -51,7 +52,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.graphics.Typeface;
import net.micode.notes.R;
import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.TextNote;
@ -64,14 +65,16 @@ import net.micode.notes.ui.DateTimePickerDialog.OnDateTimeSetListener;
import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
import net.micode.notes.widget.NoteWidgetProvider_2x;
import net.micode.notes.widget.NoteWidgetProvider_4x;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Locale;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
private class HeadViewHolder {
@ -84,6 +87,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
public ImageView ibSetBgColor;
}
private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
@ -161,6 +165,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
initResources();
}
private void texttoSpeech(){
mTTS.speak(mNoteEditor.getText().toString(),TextToSpeech.QUEUE_FLUSH,null,null);
}
/**
* Current activity may be killed when the memory is low. Once it is killed, for another time
* user load this activity, we should restore the former state
@ -181,7 +189,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
private boolean initActivityState(Intent intent) {
/**
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,q
* then jump to the NotesListActivity
*/
mWorkingNote = null;
@ -363,7 +371,49 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return true;
}
private TextToSpeech mTTS;
public void showSingleAlterDioglog(){
final String[] items ={"默认—普通","默认—非衬线","默认—衬线","默认—等宽","VLADIMIR","msgothic"};
AlertDialog.Builder alterBuilder = new AlertDialog.Builder(this);
alterBuilder.setTitle("选择字体");
alterBuilder.setSingleChoiceItems(items, 0,new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface,int i){
if(i == 0){
mNoteEditor.setTypeface(Typeface.DEFAULT);
}else if(i == 1){
mNoteEditor.setTypeface(Typeface.SANS_SERIF);
}else if(i == 2){
mNoteEditor.setTypeface(Typeface.SERIF);
}else if(i == 3){
mNoteEditor.setTypeface(Typeface.MONOSPACE);
}else if(i == 4){
Typeface typeface0 = Typeface.createFromAsset(getAssets(),"front/VLADIMIR.TTF");
mNoteEditor.setTypeface(typeface0);
} else if (i == 5) {
Typeface typeface1 = Typeface.createFromAsset(getAssets(), "fonts/msgothic.ttf");
mNoteEditor.setTypeface(typeface1);
}
}
});
alterBuilder.show();
}
private void initResources() {
mTTS = new TextToSpeech(this,new OnInitListener(){
@Override
public void onInit(int status){
if(status == TextToSpeech.SUCCESS){
mTTS.setLanguage(Locale.US);
mTTS.setPitch(1.5f);
mTTS.setSpeechRate(0.5f);
}
}
});
mHeadViewPanel = findViewById(R.id.note_title);
mNoteHeaderHolder = new HeadViewHolder();
mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date);
@ -507,48 +557,43 @@ public class NoteEditActivity extends Activity implements OnClickListener,
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_new_note:
createNewNote();
break;
case R.id.menu_delete:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage(getString(R.string.alert_message_delete_note));
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
deleteCurrentNote();
finish();
}
});
builder.setNegativeButton(android.R.string.cancel, null);
builder.show();
break;
case R.id.menu_font_size:
mFontSizeSelector.setVisibility(View.VISIBLE);
findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE);
break;
case R.id.menu_list_mode:
mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ?
TextNote.MODE_CHECK_LIST : 0);
break;
case R.id.menu_share:
getWorkingText();
sendTo(this, mWorkingNote.getContent());
break;
case R.id.menu_send_to_desktop:
sendToDesktop();
break;
case R.id.menu_alert:
setReminder();
break;
case R.id.menu_delete_remind:
mWorkingNote.setAlertDate(0, false);
break;
default:
break;
int itemId = item.getItemId();
if (itemId == R.id.menu_new_note) {
createNewNote();
} else if (itemId == R.id.menu_delete) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(getString(R.string.alert_title_delete));
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setMessage(getString(R.string.alert_message_delete_note));
builder.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
deleteCurrentNote();
finish();
}
});
builder.setNegativeButton(android.R.string.cancel, null);
builder.show();
} else if (itemId == R.id.menu_font_size) {
mFontSizeSelector.setVisibility(View.VISIBLE);
findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE);
} else if (itemId == R.id.menu_list_mode) {
mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ?
TextNote.MODE_CHECK_LIST : 0);
} else if (itemId == R.id.menu_share) {
getWorkingText();
sendTo(this, mWorkingNote.getContent());
} else if (itemId == R.id.menu_send_to_desktop) {
sendToDesktop();
} else if (itemId == R.id.menu_alert) {
setReminder();
} else if (itemId == R.id.menu_delete_remind) {
mWorkingNote.setAlertDate(0, false);
} else if(itemId == R.id.menu_font_select){
showSingleAlterDioglog();
}else if(itemId == R.id.menu_voice_read){
Log.d("voice mix","in");
texttoSpeech();
}
return true;
}

@ -14,150 +14,120 @@
* limitations under the License.
*/
/**
* UI
*/
package net.micode.notes.ui;
/**
* Android
* UI
*/
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.appwidget.AppWidgetManager;
import android.content.AsyncQueryHandler;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.ActionMode;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Display;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnCreateContextMenuListener;
import android.view.View.OnTouchListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.PopupMenu;
import android.widget.TextView;
import android.widget.Toast;
import net.micode.notes.R;
import net.micode.notes.data.Notes;
import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.gtask.remote.GTaskSyncService;
import net.micode.notes.model.WorkingNote;
import net.micode.notes.tool.BackupUtils;
import net.micode.notes.tool.DataUtils;
import net.micode.notes.tool.ResourceParser;
import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute;
import net.micode.notes.widget.NoteWidgetProvider_2x;
import net.micode.notes.widget.NoteWidgetProvider_4x;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashSet;
import android.app.Activity; //表示应用程序中的一个活动,例如界面展示等
import android.app.AlertDialog; //用于显示对话框的类
import android.app.Dialog; //用于创建对话框的类
import android.appwidget.AppWidgetManager; //用于管理桌面小组件的类
import android.content.AsyncQueryHandler; //用于在后台执行异步数据库查询的处理器。
import android.content.ContentResolver; //用于访问应用程序的内容提供者,进行数据的增删改查。
import android.content.ContentValues; //用于存储键值对,用于对数据库进行操作。
import android.content.Context; //表示 Android 应用程序的当前状态,提供访问应用程序的资源和类的接口。
import android.content.DialogInterface; //用于创建对话框与用户进行交互。
import android.content.Intent; //用于在应用程序内部或者不同应用程序之间进行交互或传递信息。
import android.content.SharedPreferences; //用于存储应用程序的轻量级 key-value 数据。
import android.database.Cursor; //用于在数据集中进行移动并访问查询结果。
import android.os.AsyncTask; //用于在后台执行长时间运行的操作,并在主线程更新用户界面。
import android.os.Bundle; //用于传递数据。
import android.preference.PreferenceManager; //用于访问应用程序的默认共享偏好设置。
import android.text.Editable; //表示文本框中的可编辑文本。
import android.text.TextUtils; //用于处理和操作文本数据。
import android.text.TextWatcher; //用于监听文本变化的接口。
import android.util.Log; //用于在调试时记录日志。
import android.view.ActionMode; //用于在用户界面上执行上下文操作的模式。
import android.view.ContextMenu; //用于在视图组件上下文菜单的呈现。
import android.view.ContextMenu.ContextMenuInfo; //提供有关创建上下文菜单的视图组件的额外信息。
import android.view.Display; //表示屏幕上的显示内容。
import android.view.HapticFeedbackConstants; //用于触觉反馈的常量值。
import android.view.LayoutInflater; //用于动态加载 XML 布局文件。
import android.view.Menu; //表示应用程序的菜单。
import android.view.MenuItem; //用于表示菜单项。
import android.view.MenuItem.OnMenuItemClickListener; //用于监听菜单项点击事件的接口。
import android.view.MotionEvent; //用于表示单个事件的运动事件。
import android.view.View; //用户界面上的可视元素。
import android.view.View.OnClickListener; //用于监听视图点击事件的接口。
import android.view.View.OnCreateContextMenuListener; //用于监听创建上下文菜单的接口。
import android.view.View.OnTouchListener; //用于监听视图触摸事件的接口。
import android.view.inputmethod.InputMethodManager; //用于管理输入法框架的接口。
import android.widget.AdapterView; //用于在视图组件中表示数据项的子集合。
import android.widget.AdapterView.OnItemClickListener; //用于监听列表项点击事件的接口。
import android.widget.AdapterView.OnItemLongClickListener; //用于监听列表项长按事件的接口。
import android.widget.Button; //用于在用户界面中表示按钮。
import android.widget.EditText; //用于在用户界面中表示可编辑的文本视图。
import android.widget.ListView; //用于在用户界面中表示列表视图。
import android.widget.PopupMenu; //用于显示弹出菜单的类。
import android.widget.TextView; //用于在用户界面中表示文本视图。
import android.widget.Toast; //用于显示简短消息的类。
import net.micode.notes.R; //引用应用程序的资源。
import net.micode.notes.data.Notes; //包含与笔记相关的数据的类。
import net.micode.notes.data.Notes.NoteColumns; //包含笔记数据列的类。
import net.micode.notes.gtask.remote.GTaskSyncService; //用于与 Google 任务同步服务进行交互的类
import net.micode.notes.model.WorkingNote; //与正在编辑的笔记相关联的类。
import net.micode.notes.tool.BackupUtils; //用于处理备份的工具类
import net.micode.notes.tool.DataUtils; //包含处理数据的实用方法的类。
import net.micode.notes.tool.ResourceParser; //用于解析资源的类。
import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; //用于在笔记列表适配器中表示应用程序小部件属性的类。
import net.micode.notes.widget.NoteWidgetProvider_2x; //用于创建 2x 大小笔记应用程序小部件的类。
import net.micode.notes.widget.NoteWidgetProvider_4x; //用于创建 4x 大小笔记应用程序小部件的类。用于创建 4x 大小笔记应用程序小部件的类。
import java.io.BufferedReader; //用于从字符输入流中读取文本的类。
import java.io.IOException; //用于处理输入输出异常的类。
import java.io.InputStream; //用于表示输入字节流的类。
import java.io.InputStreamReader; //用于从字节流到字符流的桥梁。
import java.util.HashSet; //用于表示一组不重复的元素的类。
/**
* Activity
*
*/
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 int mode = -1;
private static final int MENU_FOLDER_DELETE = 0; //标识用户是否选择了删除选项
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private static final int MENU_FOLDER_VIEW = 1; //标识用户选择的外观
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
private static final int MENU_FOLDER_CHANGE_NAME = 2; //标识用户是否选择重命名
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";
//定义一个字符串指向应用介绍
/**
*
*
*
* NOTE_LIST便SUB_FOLDER
* CALL_RECORD_FOLDER
*/
private enum ListEditState {
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
};
private ListEditState mState; //定义了一个标识列表编辑状态的变量
private ListEditState mState;
private BackgroundQueryHandler mBackgroundQueryHandler; //用于在后台执行数据库查询等操作以避免阻塞UI线程
private BackgroundQueryHandler mBackgroundQueryHandler;
private NotesListAdapter mNotesListAdapter; //用于管理便签列表中数据项的适配器,通常与 ListView 一起使用
private NotesListAdapter mNotesListAdapter;
private ListView mNotesListView; //它表示便签列表的视图,用于显示便签列表中的数据项,
// 并与适配器NotesListAdapter一起工作以展示数据。
private ListView mNotesListView;
/**
*
*/
private Button mAddNewNote; //声明了一个私有成员变量 mAddNewNote类型为 Button
// 用来表示一个按钮控件,通常用于用户点击以添加新的便签。
private Button mAddNewNote;
private boolean mDispatch; //声明了一个私有成员变量 mDispatch类型为 boolean
// 用来表示一个标志位,可能用于控制某些事件的分发。
private boolean mDispatch;
private int mOriginY; //声明了两个私有成员变量 mOriginY 和 mDispatchY类型为 int
private int mDispatchY; // 可能用于记录某些位置坐标的信息。
private int mOriginY;
private TextView mTitleBar; //声明了一个私有成员变量 mTitleBar类型为 TextView
// 用来表示一个文本视图,通常用于显示标题栏的文本信息。
private int mDispatchY;
private long mCurrentFolderId; //用来表示当前文件夹的ID。
private TextView mTitleBar;
private ContentResolver mContentResolver; //用来获取应用的内容提供者,用于访问应用的数据
private long mCurrentFolderId;
private ModeCallback mModeCallBack; //用于处理列表的编辑模式
private ContentResolver mContentResolver;
private static final String TAG = "NotesListActivity"; //通常用于在日志或调试信息中标识类名
private ModeCallback mModeCallBack;
public static final int NOTES_LISTVIEW_SCROLL_RATE = 30; //表示便签列表视图的滚动速率
private static final String TAG = "NotesListActivity";
private NoteItemData mFocusNoteDataItem; //用于表示当前焦点的便签数据项
public static final int NOTES_LISTVIEW_SCROLL_RATE = 30;
private NoteItemData mFocusNoteDataItem;
private static final String NORMAL_SELECTION = NoteColumns.PARENT_ID + "=?";
@ -165,15 +135,16 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
+ Notes.TYPE_SYSTEM + " AND " + NoteColumns.PARENT_ID + "=?)" + " OR ("
+ NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER + " AND "
+ NoteColumns.NOTES_COUNT + ">0)";
//分别表示正常的选择条件和根文件夹的选择条件,
//通常用于数据库查询的条件语句
private final static int REQUEST_CODE_OPEN_NODE = 102;
private final static int REQUEST_CODE_NEW_NODE = 103; //分别表示启动Activity时用到的请求码用于区分不同的启动请求
private final static int REQUEST_CODE_NEW_NODE = 103;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.note_list);
getWindow().setBackgroundDrawableResource(R.drawable.water);
initResources();
/**
@ -182,17 +153,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
setAppInfoFromRawRes();
}
/**
*
* Activity
* startActivityForResultActivity
* requestCode
* resultCode
* dataIntent
* @param requestCode
* @param resultCode
* @param data
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK
@ -203,12 +163,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
/**
* SharedPreferences
* SharedPreferences
* rawWorkingNote
* SharedPreferences
*/
private void setAppInfoFromRawRes() {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) {
@ -255,22 +209,12 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
/**
* ActivityActivity
* onStartstartAsyncNotesListQuery
*/
@Override
protected void onStart() {
super.onStart();
startAsyncNotesListQuery();
}
/**
*
* ID便
* Activity
* 便
*/
private void initResources() {
mContentResolver = this.getContentResolver();
mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver());
@ -293,23 +237,11 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
mModeCallBack = new ModeCallback();
}
/**
* ModeCallback
* ListView.MultiChoiceModeListener
* OnMenuItemClickListener
*
*/
private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener {
private DropdownMenu mDropDownMenu;
private ActionMode mActionMode;
private MenuItem mMoveMenu;
/**
*
* @param mode
* @param menu
* @return
*/
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
getMenuInflater().inflate(R.menu.note_list_options, menu);
menu.findItem(R.id.delete).setOnMenuItemClickListener(this);
@ -343,9 +275,6 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
return true;
}
/**
*
*/
private void updateMenu() {
int selectedCount = mNotesListAdapter.getSelectedCount();
// Update dropdown menu
@ -363,23 +292,11 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
}
}
/**
*
* @param mode
* @param menu
* @return
*/
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
// TODO Auto-generated method stub
return false;
}
/**
*
* @param mode
* @param item
* @return
*/
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
// TODO Auto-generated method stub
return false;
@ -395,6 +312,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
mActionMode.finish();
}
public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
boolean checked) {
mNotesListAdapter.setCheckedItem(position, checked);
@ -499,8 +417,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION
: NORMAL_SELECTION;
mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null,
Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] {
String.valueOf(mCurrentFolderId)
Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[]{
String.valueOf(mCurrentFolderId)
}, NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC");
}
@ -809,6 +727,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
super.onContextMenuClosed(menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if (mFocusNoteDataItem == null) {
@ -858,7 +777,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
} else {
Log.e(TAG, "Wrong state:" + mState);
}
return true;
return false;
}
@Override
@ -884,6 +803,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
createNewNote();
} else if (itemId == R.id.menu_search) {
onSearchRequested();
}else if (itemId == R.id.menu_water) {
mode = 1;
getWindow().setBackgroundDrawableResource(R.drawable.water);
}
return true;
}
@ -1005,6 +927,7 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt
NoteColumns.MODIFIED_DATE + " DESC");
}
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (view instanceof NotesListItem) {
mFocusNoteDataItem = ((NotesListItem) view).getItemData();

Loading…
Cancel
Save