“jwj” 2 years ago committed by GHN
commit ba8182c288

@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*NoteEditActivity类实现了便签的编辑活动*/
package net.micode.notes.ui;
import android.Manifest;
@ -118,23 +118,32 @@ import retrofit2.converter.gson.GsonConverterFactory;
/**NoteEditActivityAndroidActivity
*OnClickListener,NoteSettingChangedListener, OnTextViewChangeListener
**/
public class NoteEditActivity<> extends AppCompatActivity implements OnClickListener,
NoteSettingChangedListener, OnTextViewChangeListener {
/**此类用于保存对与活动头相关的各种UI元素的引用*/
private class HeadViewHolder {
//TextView(文本框),用于显示文本的一个控件
// 用于显示关于笔记的最后一次修改的信息。
public TextView tvModified;
//一个用于显示警告标识的 ImageView可能指示提醒或重要注释状态。
//ImageView图像视图直接继承自View类它的主要功能是用于显示图片。
//ImageView可以适用于任何布局中并且Android为其提供了缩放和着色的一些操作。
public ImageView ivAlertIcon;
public TextView tvToptext;
//用于显示与警报关联的日期的 TextView。
public TextView tvAlertDate;
//一个 ImageView是一个用于设置背景颜色的按钮
public ImageView ibSetBgColor;
}
/**MapsBgSelectorBtnsMap
* idR.id访R.id
* ResourceParser(R.java)
* id*/
private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
static {
@ -145,6 +154,10 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
}
/**MapsBgSelectorSelectionMap
* ResourceParser
* id
* id*/
private static final Map<Integer, Integer> sBgSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
@ -155,6 +168,10 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
}
/**MapsFontSizeBtnsMap
* id
* ResourceParser
* id*/
private static final Map<Integer, Integer> sFontSizeBtnsMap = new HashMap<Integer, Integer>();
static {
@ -164,6 +181,10 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
}
/**MapsFontSelectorSelectionMap
* ResourceParser
* id
* id*/
private static final Map<Integer, Integer> sFontSelectorSelectionMap = new HashMap<Integer, Integer>();
static {
@ -174,9 +195,17 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
}
private static final String TAG = "NoteEditActivity";
/**TAG"NoteEditActivity"
*
* Log.dLog.eAndroid
* Log.dLog.e
* */
//保存头部视图的UI元素
private HeadViewHolder mNoteHeaderHolder;
//声明与注释编辑器相关的各种UI元素和数据的成员变量
//Android中的View类代表用户界面中基本的构建块。一个View在屏幕中占据一个矩形区域、并且负责绘制和事件处理。
private View mHeadViewPanel;
private View mNoteBgColorSelector;
@ -187,16 +216,21 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
private View mNoteEditorPanel;
//表示正在编辑的工作笔记的对象
private WorkingNote mWorkingNote;
// SharedPreferences用于存储和检索用户首选项
private SharedPreferences mSharedPrefs;
//变量存储选定的字体大小ID
private int mFontSizeId;
// SharedPreferences中与字体大小相关的首选项键的常量字符串
private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
//常量定义快捷图标标题的最大长度
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
//使用特殊的Unicode字符表示选中和未选中状态的常量
public static final String TAG_CHECKED = String.valueOf('\u221A');
public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
@ -216,12 +250,16 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
private boolean mIsRvoke = false;
//用于保存EditText元素列表的LinearLayout
private LinearLayout mEditTextList;
//存储用户查询的字符串变量
private String mUserQuery;
private Pattern mPattern;
/** onCreate
*
* */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -253,6 +291,11 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
* 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
*/
/**
*
*
*
*/
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
@ -267,6 +310,10 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
}
}
/**
* Activity
* IntentACTION_VIEWIntentIDActivity
* */
private boolean initActivityState(Intent intent) {
/**
* If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
@ -350,12 +397,17 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
return true;
}
/**
*activity initNoteScreen ()便 UI ,note*/
@Override
protected void onResume() {
super.onResume();
initNoteScreen();
}
/**
* InitNoteScreen()
* ( DateTimePicker )*/
private void initNoteScreen() {
mNoteEditor.setTextAppearance(this, TextAppearanceResources
.getTexAppearanceResource(mFontSizeId));
@ -385,6 +437,8 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
showTopHeader();
}
/**
* mWorkingNoteUI*/
private void showAlertHeader() {
if (mWorkingNote.hasClockAlert()) {
long time = System.currentTimeMillis();
@ -411,12 +465,17 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
}
}
/**
* launchMode singleTop使*/
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
initActivityState(intent);
}
/**
*
* ID ID outState */
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
@ -432,6 +491,7 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState");
}
/**检查背景颜色选择器是否可见,触摸事件是否在其边界之外*/
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (mNoteBgColorSelector.getVisibility() == View.VISIBLE
@ -448,6 +508,8 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
return super.dispatchTouchEvent(ev);
}
/**MotionEventViewHelper
* bool*/
private boolean inRangeOfView(View view, MotionEvent ev) {
int[] location = new int[2];
view.getLocationOnScreen(location);
@ -462,13 +524,19 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
return true;
}
/**
* 使*/
private void initResources() {
//查找和设置头部视图面板
mHeadViewPanel = findViewById(R.id.note_title);
//初始化注释头视图的holder
mNoteHeaderHolder = new HeadViewHolder();
//在holder中查找并设置各种注释头视图
mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date);
mNoteHeaderHolder.ivAlertIcon = (ImageView) findViewById(R.id.iv_alert_icon);
mNoteHeaderHolder.tvAlertDate = (TextView) findViewById(R.id.tv_alert_date);
mNoteHeaderHolder.tvToptext = (TextView) findViewById(R.id.tv_set_top);
//查找并设置注释编辑器及其父面板
mNoteHeaderHolder.ibSetBgColor = (ImageView) findViewById(R.id.btn_set_bg_color);
mNoteHeaderHolder.ibSetBgColor.setOnClickListener(this);
@ -493,19 +561,23 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
}
});
mNoteEditorPanel = findViewById(R.id.sv_note_edit);
//查找并设置音符背景颜色选择器
mNoteBgColorSelector = findViewById(R.id.note_bg_color_selector);
//遍历后台选择器按钮并设置点击监听器
for (int id : sBgSelectorBtnsMap.keySet()) {
ImageView iv = (ImageView) findViewById(id);
iv.setOnClickListener(this);
}
//查找并设置字体大小选择器
mFontSizeSelector = findViewById(R.id.font_size_selector);
//遍历字体大小按钮并设置单击侦听器
for (int id : sFontSizeBtnsMap.keySet()) {
View view = findViewById(id);
view.setOnClickListener(this);
}
;
};
//初始化SharedPreferences用于存储首选项
mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
//使用默认值检索字体大小首选项
mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE);
/**
* HACKME: Fix bug of store the resource id in shared preference.
@ -515,6 +587,7 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
if (mFontSizeId >= TextAppearanceResources.getResourcesSize()) {
mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE;
}
//查找并设置edittext列表的线性布局
mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list);
@ -523,44 +596,60 @@ public class NoteEditActivity<关闭> extends AppCompatActivity implements OnCli
translate();
}
/**
*AndroidonPause
**/
@Override
protected void onPause() {
super.onPause();
//如果saveNote()方法返回true则保存当前笔记数据
if (saveNote()) {
Log.d(TAG, "Note data was saved with length:" + mWorkingNote.getContent().length());
}
//清除所有设置状态
clearSettingState();
}
/**
*
* 广*/
private void updateWidget() {
//为应用小部件更新创建一个intent
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
//根据小部件类型设置小部件提供程序的类
if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) {
intent.setClass(this, NoteWidgetProvider_2x.class);
} else if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_4X) {
intent.setClass(this, NoteWidgetProvider_4x.class);
} else {
//记录不支持的小部件类型的错误,并从方法返回
Log.e(TAG, "Unspported widget type");
return;
}
//向intent中添加widget ID
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]{
mWorkingNote.getWidgetId()
});
//广播更新应用小部件的意图
sendBroadcast(intent);
//设置活动的结果来表示成功
setResult(RESULT_OK, intent);
}
/**
*
* @param v */
public void onClick(View v) {
int id = v.getId();
//检查“设置背景色”按钮是否被点击
if (id == R.id.btn_set_bg_color) {
//显示背景颜色选择器并设置所选颜色的可见性
mNoteBgColorSelector.setVisibility(View.VISIBLE);
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.VISIBLE);
} else if (sBgSelectorBtnsMap.containsKey(id)) {
//检查背景颜色选择器按钮是否被点击。隐藏当前选择的颜色,设置新颜色,隐藏选择器
findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
View.GONE);
mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id));

@ -45,7 +45,7 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
private static final String SCHEME_TEL = "tel:" ;
private static final String SCHEME_HTTP = "http:" ;
private static final String SCHEME_EMAIL = "mailto:" ;
// 存储不同 schema 对应的资源 ID 映射关系
private static final Map<String, Integer> sSchemaActionResMap = new HashMap<String, Integer>();
static {
sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel);
@ -81,11 +81,15 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
super(context, null);
mIndex = 0;
}
/**
*
*/
public void setIndex(int index) {
mIndex = index;
}
/**
*
*/
public void setOnTextViewChangeListener(OnTextViewChangeListener listener) {
mOnTextViewChangeListener = listener;
}
@ -99,21 +103,27 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
// TODO Auto-generated constructor stub
}
/**
*
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 获取点击位置的坐标
int x = (int) event.getX();
int y = (int) event.getY();
// 调整坐标位置
x -= getTotalPaddingLeft();
y -= getTotalPaddingTop();
x += getScrollX();
y += getScrollY();
// 获取布局信息
Layout layout = getLayout();
int line = layout.getLineForVertical(y);
int off = layout.getOffsetForHorizontal(line, x);
// 设置选中文本的位置
Selection.setSelection(getText(), off);
break;
}
@ -125,11 +135,13 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
// 当按下回车键时,如果存在文本视图变化监听器,则返回 false
if (mOnTextViewChangeListener != null) {
return false;
}
break;
case KeyEvent.KEYCODE_DEL:
// 当按下删除键时,记录删除前光标位置
mSelectionStartBeforeDelete = getSelectionStart();
break;
default:
@ -138,10 +150,14 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
return super.onKeyDown(keyCode, event);
}
/**
*
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch(keyCode) {
case KeyEvent.KEYCODE_DEL:
// 当按下删除键时如果存在文本视图变化监听器并且删除前光标位置为0且索引不为0则通知监听器文本删除事件
if (mOnTextViewChangeListener != null) {
if (0 == mSelectionStartBeforeDelete && mIndex != 0) {
mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString());
@ -152,6 +168,7 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
}
break;
case KeyEvent.KEYCODE_ENTER:
// 当按下回车键时,如果存在文本视图变化监听器,则通知监听器文本回车事件
if (mOnTextViewChangeListener != null) {
int selectionStart = getSelectionStart();
String text = getText().subSequence(selectionStart, length()).toString();
@ -167,9 +184,13 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
return super.onKeyUp(keyCode, event);
}
/**
*
*/
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
if (mOnTextViewChangeListener != null) {
// 如果失去焦点且文本为空,则通知监听器文本变化事件为 false否则为 true
if (!focused && TextUtils.isEmpty(getText())) {
mOnTextViewChangeListener.onTextChange(mIndex, false);
} else {
@ -179,29 +200,35 @@ public class NoteEditText extends android.support.v7.widget.AppCompatEditText {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
/**
*
*/
@Override
protected void onCreateContextMenu(ContextMenu menu) {
if (getText() instanceof Spanned) {
// 获取选中文本的起始和结束位置
int selStart = getSelectionStart();
int selEnd = getSelectionEnd();
// 确保 min 表示选中文本的起始位置max 表示结束位置
int min = Math.min(selStart, selEnd);
int max = Math.max(selStart, selEnd);
// 获取选中文本中的URLSpan对象数组
final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class);
// 如果选中的文本中包含一个URLSpan对象
if (urls.length == 1) {
int defaultResId = 0;
for(String schema: sSchemaActionResMap.keySet()) {
// 如果URL中包含当前模式则获取对应的资源ID
if(urls[0].getURL().indexOf(schema) >= 0) {
defaultResId = sSchemaActionResMap.get(schema);
break;
}
}
// 如果没有找到匹配的模式则使用默认资源ID
if (defaultResId == 0) {
defaultResId = R.string.note_link_other;
}
// 在上下文菜单中添加一个菜单项显示默认资源ID并设置点击监听器
menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener(
new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {

@ -27,6 +27,7 @@ import net.micode.notes.tool.DataUtils;
public class NoteItemData {
//一个静态的投影数组 PROJECTION用于在数据库查询时指定返回的列
static final String [] PROJECTION = new String [] {
NoteColumns.ID,
NoteColumns.ALERTED_DATE,
@ -42,7 +43,7 @@ public class NoteItemData {
NoteColumns.WIDGET_TYPE,
NoteColumns.TOP,
};
//定义了一系列静态常量,表示 PROJECTION 中对应列的索引位置。
private static final int ID_COLUMN = 0;
private static final int ALERTED_DATE_COLUMN = 1;
private static final int BG_COLOR_ID_COLUMN = 2;
@ -57,46 +58,56 @@ public class NoteItemData {
private static final int WIDGET_TYPE_COLUMN = 11;
private static final int TOP_ID_COLUMN = 12;
private long mId;
private long mAlertDate;
private int mBgColorId;
private long mCreatedDate;
private boolean mHasAttachment;
private long mModifiedDate;
private int mNotesCount;
private long mParentId;
private String mSnippet;
private int mType;
private int mWidgetId;
private int mWidgetType;
private String mName;
private String mPhoneNumber;
//用于存储笔记项各种属性的成员变量
private long mId; // 笔记ID
private long mAlertDate; // 提醒日期
private int mBgColorId; // 背景颜色ID
private long mCreatedDate; // 创建日期
private boolean mHasAttachment; // 是否有附件
private long mModifiedDate; // 修改日期
private int mNotesCount; // 子笔记数量
private long mParentId; // 父笔记ID
private String mSnippet; // 摘要
private int mType; // 笔记类型
private int mWidgetId; // 笔记关联的小部件ID
private int mWidgetType; // 小部件类型
private String mName; // 笔记名称
private String mPhoneNumber; // 电话号码
private String mTop;
private boolean mIsLastItem;
private boolean mIsFirstItem;
private boolean mIsOnlyOneItem;
private boolean mIsOneNoteFollowingFolder;
private boolean mIsMultiNotesFollowingFolder;
private boolean mIsLastItem; // 是否为列表中的最后一项
private boolean mIsFirstItem; // 是否为列表中的第一项
private boolean mIsOnlyOneItem; // 是否为列表中的唯一一项
private boolean mIsOneNoteFollowingFolder; // 是否是文件夹后的单个笔记
private boolean mIsMultiNotesFollowingFolder; // 是否是文件夹后的多个笔记
/**
* CursorNoteItemData
*
* @param context
* @param cursor Cursor
*/
public NoteItemData(Context context, Cursor cursor) {
mId = cursor.getLong(ID_COLUMN);
mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN);
mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN);
mCreatedDate = cursor.getLong(CREATED_DATE_COLUMN);
mHasAttachment = (cursor.getInt(HAS_ATTACHMENT_COLUMN) > 0) ? true : false;
mModifiedDate = cursor.getLong(MODIFIED_DATE_COLUMN);
mNotesCount = cursor.getInt(NOTES_COUNT_COLUMN);
mParentId = cursor.getLong(PARENT_ID_COLUMN);
mSnippet = cursor.getString(SNIPPET_COLUMN);
// 从Cursor中提取数据并初始化成员变量
mId = cursor.getLong(ID_COLUMN); // 笔记ID
mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN); // 提醒日期
mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN); // 背景颜色ID
mCreatedDate = cursor.getLong(CREATED_DATE_COLUMN); // 创建日期
mHasAttachment = (cursor.getInt(HAS_ATTACHMENT_COLUMN) > 0); // 是否有附件
mModifiedDate = cursor.getLong(MODIFIED_DATE_COLUMN); // 修改日期
mNotesCount = cursor.getInt(NOTES_COUNT_COLUMN); // 子笔记数量
mParentId = cursor.getLong(PARENT_ID_COLUMN); // 父笔记ID
mSnippet = cursor.getString(SNIPPET_COLUMN); // 摘要
mSnippet = mSnippet.replace(NoteEditActivity.TAG_CHECKED, "").replace(
NoteEditActivity.TAG_UNCHECKED, "");
mType = cursor.getInt(TYPE_COLUMN);
mWidgetId = cursor.getInt(WIDGET_ID_COLUMN);
mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN);
NoteEditActivity.TAG_UNCHECKED, ""); // 移除摘要中的特殊标记
mType = cursor.getInt(TYPE_COLUMN); // 笔记类型
mWidgetId = cursor.getInt(WIDGET_ID_COLUMN); // 笔记关联的小部件ID
mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN); // 小部件类型
mTop = cursor.getString(TOP_ID_COLUMN);
mPhoneNumber = "";
// 如果笔记所属文件夹为通话记录文件夹,则获取通话号码并设置笔记名称
if (mParentId == Notes.ID_CALL_RECORD_FOLDER) {
mPhoneNumber = DataUtils.getCallNumberByNoteId(context.getContentResolver(), mId);
if (!TextUtils.isEmpty(mPhoneNumber)) {
@ -106,31 +117,45 @@ public class NoteItemData {
}
}
}
// 如果笔记名称为null则设置为空字符串
if (mName == null) {
mName = "";
}
// 检查笔记在列表中的位置
checkPostion(cursor);
}
/**
*
*
* @param cursor Cursor
*/
private void checkPostion(Cursor cursor) {
// 判断当前笔记是否为最后一项
mIsLastItem = cursor.isLast() ? true : false;
// 判断当前笔记是否为第一项
mIsFirstItem = cursor.isFirst() ? true : false;
// 判断列表中是否只有一项笔记
mIsOnlyOneItem = (cursor.getCount() == 1);
// 初始化位置相关标识为false
mIsMultiNotesFollowingFolder = false;
mIsOneNoteFollowingFolder = false;
// 如果笔记类型为普通笔记且不是第一项笔记
if (mType == Notes.TYPE_NOTE && !mIsFirstItem) {
int position = cursor.getPosition();
if (cursor.moveToPrevious()) {
int position = cursor.getPosition();// 获取当前位置
if (cursor.moveToPrevious()) {// 移动Cursor到上一项
// 如果上一项为文件夹或系统类型
if (cursor.getInt(TYPE_COLUMN) == Notes.TYPE_FOLDER
|| cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) {
// 判断当前位置后是否还有多个笔记
if (cursor.getCount() > (position + 1)) {
mIsMultiNotesFollowingFolder = true;
mIsMultiNotesFollowingFolder = true;// 当前文件夹后有多个笔记
} else {
mIsOneNoteFollowingFolder = true;
mIsOneNoteFollowingFolder = true;// 当前文件夹后只有一个笔记
}
}
// 如果无法移动到下一项,抛出异常
if (!cursor.moveToNext()) {
throw new IllegalStateException("cursor move to previous but can't move back");
}
@ -145,7 +170,7 @@ public class NoteItemData {
return false;
}
}
//以下函数用于返回笔记项各种属性对应的成员变量
public boolean isOneFollowingFolder() {
return mIsOneNoteFollowingFolder;
}
@ -226,10 +251,22 @@ public class NoteItemData {
return (mAlertDate > 0);
}
/**
*
* IDID
*
* @return truefalse
*/
public boolean isCallRecord() {
return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber));
}
/**
* Cursor
*
* @param cursor Cursor
* @return Notes.TYPE_NOTE Notes.TYPE_FOLDER
*/
public static int getNoteType(Cursor cursor) {
return cursor.getInt(TYPE_COLUMN);
}

Loading…
Cancel
Save