增添自动删除空便签的功能 #13

Merged
pjao9fvxr merged 1 commits from zhouzexin_branch into master 1 month ago

@ -72,44 +72,23 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* NoteEditActivity - 便
* 便便
*
*
*
*
* - 便
* -
* -
* -
* -
* - 便
* - 便 widget
*
*
* - {@link #mWorkingNote} - 便
* - {@link #mNoteEditor} - 便
* - {@link #mNoteBgColorSelector} -
* - {@link #mFontSizeSelector} -
*/
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
/**
* HeadViewHolder - 便
* 便UI访
*/
public class NoteEditActivity extends Activity
//public class NoteEditActivity表示声明一个新的公开的类extends Activity表示继承Android的Activity类(意思就是这个类实现的其实是一个用户交互界面)
//implement为一个类所需实现功能的承诺NoteEditActivity将实现三个接口中所定义的所有功能
implements OnClickListener, //OnClickListener——处理点击事件
NoteSettingChangedListener, //NoteSettingChangedListener——监听便签设置变化
OnTextViewChangeListener { //OnTextViewChangeListener——监听文本修改变化
private class HeadViewHolder {
public TextView tvModified; // 修改日期文本视图
public ImageView ivAlertIcon; // 提醒图标
public TextView tvAlertDate; // 提醒日期文本视图
public ImageView ibSetBgColor; // 设置背景颜色按钮
public TextView tvModified;
public ImageView ivAlertIcon;
public TextView tvAlertDate;
public ImageView ibSetBgColor;
}
/**
* IDID
*
*/
private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
@ -119,10 +98,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
}
/**
* IDID
*
*/
private static final Map<Integer, Integer> sBgSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select);
@ -132,10 +107,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
}
/**
* IDID
*
*/
private static final Map<Integer, Integer> sFontSizeBtnsMap = new HashMap<Integer, Integer>();
static {
sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE);
@ -144,10 +115,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
}
/**
* IDID
*
*/
private static final Map<Integer, Integer> sFontSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select);
@ -156,30 +123,41 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select);
}
private static final String TAG = "NoteEditActivity"; // 日志标签
private static final String TAG = "NoteEditActivity";
private HeadViewHolder mNoteHeaderHolder;
private View mHeadViewPanel;
private View mNoteBgColorSelector;
private View mFontSizeSelector;
private EditText mNoteEditor;
private View mNoteEditorPanel;
private HeadViewHolder mNoteHeaderHolder; // 便签头部视图持有者
private View mHeadViewPanel; // 便签头部面板
private View mNoteBgColorSelector; // 背景颜色选择器视图
private View mFontSizeSelector; // 字体大小选择器视图
private EditText mNoteEditor; // 便签内容编辑器
private View mNoteEditorPanel; // 便签编辑器面板
private WorkingNote mWorkingNote; // 工作便签实例
private SharedPreferences mSharedPrefs; // 共享偏好设置
private int mFontSizeId; // 当前字体大小ID
private WorkingNote mWorkingNote;
private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; // 字体大小偏好键
private SharedPreferences mSharedPrefs;
private int mFontSizeId;
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; // 快捷方式图标标题最大长度
private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
public static final String TAG_CHECKED = String.valueOf('\u221A'); // 待办事项已完成标记
public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); // 待办事项未完成标记
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
private LinearLayout mEditTextList; // 便签编辑列表容器
public static final String TAG_CHECKED = String.valueOf('\u221A');
public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
private String mUserQuery; // 用户搜索查询词
private Pattern mPattern; // 搜索查询词的正则表达式模式
private LinearLayout mEditTextList;
private String mUserQuery;
private Pattern mPattern;
/**
* Activity
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -210,12 +188,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* Intent便便便
* @param intent Intent
* @return
*/
private boolean initActivityState(Intent intent) {
/**
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
@ -305,11 +277,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
initNoteScreen();
}
/**
* 便
* 便
* 便
*/
private void initNoteScreen() {
mNoteEditor.setTextAppearance(this, TextAppearanceResources
.getTexAppearanceResource(mFontSizeId));
@ -391,13 +358,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return super.dispatchTouchEvent(ev);
}
/**
*
*
* @param view
* @param ev
* @return
*/
private boolean inRangeOfView(View view, MotionEvent ev) {
int []location = new int[2];
view.getLocationOnScreen(location);
@ -412,10 +372,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return true;
}
/**
*
*
*/
private void initResources() {
mHeadViewPanel = findViewById(R.id.note_title);
mNoteHeaderHolder = new HeadViewHolder();
@ -478,12 +434,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
setResult(RESULT_OK, intent);
}
/**
*
* UI
*
* @param v
*/
public void onClick(View v) {
int id = v.getId();
if (id == R.id.btn_set_bg_color) {
@ -511,11 +461,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
*
* 便
*/
@Override
public void onBackPressed() {
if(clearSettingState()) {
@ -526,11 +471,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
super.onBackPressed();
}
/**
*
*
* @return
*/
private boolean clearSettingState() {
if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) {
mNoteBgColorSelector.setVisibility(View.GONE);
@ -542,10 +482,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return false;
}
/**
*
* 便
*/
public void onBackgroundColorChanged() {
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.VISIBLE);
@ -626,18 +562,14 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return true;
}
/**
* 便
* 便
*/
private void setReminder() {
DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
private void setReminder() { //设置提醒
DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis()); //创建日期时间选择对话框
d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
public void OnDateTimeSet(AlertDialog dialog, long date) {
mWorkingNote.setAlertDate(date , true);
mWorkingNote.setAlertDate(date , true); //设置提醒时间
}
});
d.show();
d.show(); //显示时间选择器
}
/**
@ -651,10 +583,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
context.startActivity(intent);
}
/**
* 便
* 便NoteEditActivity便
*/
private void createNewNote() {
// Firstly, save current editing notes
saveNote();
@ -667,10 +595,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
startActivity(intent);
}
/**
* 便
* 便
*/
private void deleteCurrentNote() {
if (mWorkingNote.existInDatabase()) {
HashSet<Long> ids = new HashSet<Long>();
@ -693,21 +617,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mWorkingNote.markDeleted(true);
}
/**
*
* Google
* @return
*/
private boolean isSyncMode() {
return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
/**
*
* 便
* @param date
* @param set
*/
public void onClockAlertChanged(long date, boolean set) {
/**
* User could set clock to an unsaved note, so before setting the
@ -738,20 +651,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* 便
*/
public void onWidgetChanged() {
updateWidget();
}
/**
*
*
* @param index
* @param text
*/
public void onEditTextDelete(int index, String text) {
int childCount = mEditTextList.getChildCount();
if (childCount == 1) {
@ -778,12 +681,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
edit.setSelection(length);
}
/**
*
*
* @param index
* @param text
*/
public void onEditTextEnter(int index, String text) {
/**
* Should not happen, check for debug
@ -803,11 +700,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* 便
* @param text 便
*/
private void switchToListMode(String text) {
mEditTextList.removeAllViews();
String[] items = text.split("\n");
@ -825,13 +717,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mEditTextList.setVisibility(View.VISIBLE);
}
/**
*
* 便
* @param fullText 便
* @param userQuery
* @return Spannable
*/
private Spannable getHighlightQueryResult(String fullText, String userQuery) {
SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
if (!TextUtils.isEmpty(userQuery)) {
@ -849,13 +734,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return spannable;
}
/**
*
*
* @param item
* @param index
* @return
*/
private View getListItem(String item, int index) {
View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
@ -887,13 +765,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return view;
}
/**
*
*
*
* @param index
* @param hasText
*/
public void onTextChange(int index, boolean hasText) {
if (index >= mEditTextList.getChildCount()) {
Log.e(TAG, "Wrong index, should not happen");
@ -906,13 +777,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* 便
*
* @param oldMode
* @param newMode
*/
public void onCheckListModeChanged(int oldMode, int newMode) {
if (newMode == TextNote.MODE_CHECK_LIST) {
switchToListMode(mNoteEditor.getText().toString());
@ -927,13 +791,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* 便
* WorkingNote
*
* @return
*/
private boolean getWorkingText() {
boolean hasChecked = false;
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
@ -957,32 +814,31 @@ public class NoteEditActivity extends Activity implements OnClickListener,
return hasChecked;
}
/**
* 便
*
* 便便
* 便/便
* 便
* 便
* 使{@link #RESULT_OK}/
* @return 便
*/
private boolean saveNote() {
getWorkingText();
boolean saved = mWorkingNote.saveNote();
if (TextUtils.isEmpty(mWorkingNote.getContent())) {
deleteCurrentNote();//删除当前便签
saved = false; // 标记为未保存
if (saved) {
/**
* There are two modes from List view to edit view, open one note,
* create/edit a node. Opening node requires to the original
* position in the list when back from edit view, while creating a
* new node requires to the top of the list. This code
* {@link #RESULT_OK} is used to identify the create/edit state
*/
setResult(RESULT_OK);
}
return saved;
}
/**
* 便
* 便便访
* 便
*/
private void sendToDesktop() {
// 发送到桌面之前,确保当前编辑的便签已存在于数据库中
/**
* Before send message to home, we should make sure that current
* editing note is exists in databases. So, for new note, firstly
* save it
*/
if (!mWorkingNote.existInDatabase()) {
saveNote();
}
@ -1002,19 +858,16 @@ public class NoteEditActivity extends Activity implements OnClickListener,
showToast(R.string.info_note_enter_desktop);
sendBroadcast(sender);
} else {
// 用户未输入任何内容便签不值得保存没有便签ID
/**
* There is the condition that user has input nothing (the note is
* not worthy saving), we have no note id, remind the user that he
* should input something
*/
Log.e(TAG, "Send to desktop error");
showToast(R.string.error_note_empty_for_send_to_desktop);
}
}
/**
*
* 便
*
* @param content 便
* @return
*/
private String makeShortcutIconTitle(String content) {
content = content.replace(TAG_CHECKED, "");
content = content.replace(TAG_UNCHECKED, "");

Loading…
Cancel
Save