补充 NoteEditActivity 注释

chh
MikkoAyaka 2 years ago
parent ed59798065
commit 3698c39a01

@ -74,9 +74,13 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 便 Activity
* OnClickListener,NoteSettingChangedListener,OnTextViewChangeListener
*/
public class NoteEditActivity extends Activity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
// 定义私有视图持有者,保存视图元素基础信息
private class HeadViewHolder {
public TextView tvModified;
@ -86,9 +90,9 @@ public class NoteEditActivity extends Activity implements OnClickListener,
public ImageView ibSetBgColor;
}
// 背景选择器map
private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
// 静态初始化块
static {
sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
sBgSelectorBtnsMap.put(R.id.iv_bg_red, ResourceParser.RED);
@ -96,7 +100,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN);
sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
}
// 背景选择器Map
private static final Map<Integer, Integer> sBgSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
@ -106,7 +110,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select);
sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
}
// 字体选择Map
private static final Map<Integer, Integer> sFontSizeBtnsMap = new HashMap<Integer, Integer>();
static {
@ -115,7 +119,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM);
sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
}
// 字体选择器Map
private static final Map<Integer, Integer> sFontSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
@ -124,38 +128,44 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select);
sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select);
}
// 标签名称
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 WorkingNote mWorkingNote;
// 共享引用
private SharedPreferences mSharedPrefs;
// 字体尺寸
private int mFontSizeId;
private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
// 标签选择FLAG
public static final String TAG_CHECKED = String.valueOf('\u221A');
// 标签取消选择FLAG
public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
// 线性布局
private LinearLayout mEditTextList;
// 用户查询指令
private String mUserQuery;
private Pattern mPattern;
/**
* Activity OnCreate
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -186,6 +196,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
}
/**
*
* @param intent
*/
private boolean initActivityState(Intent intent) {
/**
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
@ -439,7 +453,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
sendBroadcast(intent);
setResult(RESULT_OK, intent);
}
// 点击时触发
public void onClick(View v) {
int id = v.getId();
if (id == R.id.btn_set_bg_color) {
@ -466,7 +480,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mFontSizeSelector.setVisibility(View.GONE);
}
}
// 按下返回键
@Override
public void onBackPressed() {
if (clearSettingState()) {
@ -476,7 +490,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
saveNote();
super.onBackPressed();
}
// 清理设置状态
private boolean clearSettingState() {
if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) {
mNoteBgColorSelector.setVisibility(View.GONE);
@ -487,14 +501,14 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return false;
}
// 背景颜色改变时触发
public void onBackgroundColorChanged() {
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.VISIBLE);
mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId());
mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
}
// 在准备渲染设置菜单时触发
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (isFinishing()) {
@ -519,7 +533,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return true;
}
// 在设置改变时触发
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
@ -567,7 +581,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return true;
}
// 设置提醒着
private void setReminder() {
DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
@ -588,7 +602,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
intent.setType("text/plain");
context.startActivity(intent);
}
// 创建新的便签
private void createNewNote() {
// Firstly, save current editing notes
saveNote();
@ -600,7 +614,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId());
startActivity(intent);
}
// 删除当前便签
private void deleteCurrentNote() {
if (mWorkingNote.existInDatabase()) {
HashSet<Long> ids = new HashSet<Long>();
@ -622,11 +636,11 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
mWorkingNote.markDeleted(true);
}
// 是否为同步模式
private boolean isSyncMode() {
return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
}
// 在闹钟改变时候触发
public void onClockAlertChanged(long date, boolean set) {
/**
* User could set clock to an unsaved note, so before setting the
@ -656,11 +670,11 @@ public class NoteEditActivity extends Activity implements OnClickListener,
showToast(R.string.error_note_empty_for_clock);
}
}
// 在组件改变时触发
public void onWidgetChanged() {
updateWidget();
}
// 在编辑文本删除时触发
public void onEditTextDelete(int index, String text) {
int childCount = mEditTextList.getChildCount();
if (childCount == 1) {
@ -686,7 +700,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
edit.requestFocus();
edit.setSelection(length);
}
// 在编辑文本按下Enter时触发
public void onEditTextEnter(int index, String text) {
/**
* Should not happen, check for debug
@ -705,7 +719,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
.setIndex(i);
}
}
// 切换到列表模式
private void switchToListMode(String text) {
mEditTextList.removeAllViews();
String[] items = text.split("\n");
@ -722,7 +736,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mNoteEditor.setVisibility(View.GONE);
mEditTextList.setVisibility(View.VISIBLE);
}
// 获取查询结果
private Spannable getHighlightQueryResult(String fullText, String userQuery) {
SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
if (!TextUtils.isEmpty(userQuery)) {
@ -739,7 +753,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return spannable;
}
// 获取列表项目
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);
@ -770,7 +784,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
edit.setText(getHighlightQueryResult(item, mUserQuery));
return view;
}
// 在文本内容改变时触发
public void onTextChange(int index, boolean hasText) {
if (index >= mEditTextList.getChildCount()) {
Log.e(TAG, "Wrong index, should not happen");
@ -782,7 +796,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE);
}
}
// 在选择列表模型改变时触发
public void onCheckListModeChanged(int oldMode, int newMode) {
if (newMode == TextNote.MODE_CHECK_LIST) {
switchToListMode(mNoteEditor.getText().toString());
@ -796,7 +810,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
mNoteEditor.setVisibility(View.VISIBLE);
}
}
// 获取工作区文本
private boolean getWorkingText() {
boolean hasChecked = false;
if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
@ -819,7 +833,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return hasChecked;
}
// 保存便签
private boolean saveNote() {
getWorkingText();
boolean saved = mWorkingNote.saveNote();
@ -835,7 +849,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
}
return saved;
}
// 发送到桌面
private void sendToDesktop() {
/**
* Before send message to home, we should make sure that current
@ -870,18 +884,18 @@ public class NoteEditActivity extends Activity implements OnClickListener,
showToast(R.string.error_note_empty_for_send_to_desktop);
}
}
// 制作标题缩略图标
private String makeShortcutIconTitle(String content) {
content = content.replace(TAG_CHECKED, "");
content = content.replace(TAG_UNCHECKED, "");
return content.length() > SHORTCUT_ICON_TITLE_MAX_LEN ? content.substring(0,
SHORTCUT_ICON_TITLE_MAX_LEN) : content;
}
// 显示吐司提示窗
private void showToast(int resId) {
showToast(resId, Toast.LENGTH_SHORT);
}
// 显示吐司提示窗
private void showToast(int resId, int duration) {
Toast.makeText(this, resId, duration).show();
}

Loading…
Cancel
Save