|
|
|
@ -206,38 +206,32 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
this.setContentView(R.layout.note_edit); // 设置活动的视图布局
|
|
|
|
|
|
|
|
|
|
// 检查实例状态是否被保存,如果未保存且初始化活动状态失败,则结束该活动
|
|
|
|
|
if (savedInstanceState == null && !initActivityState(getIntent())) {
|
|
|
|
|
if (savedInstanceState == null && !initActivityState(getIntent())) {// 检查实例状态是否被保存,如果未保存且初始化活动状态失败,则结束该活动
|
|
|
|
|
finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
initResources(); // 初始化资源
|
|
|
|
|
|
|
|
|
|
// 获取页面中的编辑文本框控件,并将其赋值给mNoteEditor变量
|
|
|
|
|
mNoteEditor = (EditText) findViewById(R.id.note_edit_view);
|
|
|
|
|
mNoteEditor = (EditText) findViewById(R.id.note_edit_view);// 获取页面中的编辑文本框控件,并将其赋值给mNoteEditor变量
|
|
|
|
|
|
|
|
|
|
// 获取页面中的翻译按钮控件,并将其赋值给mTranslateButton变量
|
|
|
|
|
mTranslateButton = (Button) findViewById(R.id.translate_button);
|
|
|
|
|
mTranslateButton = (Button) findViewById(R.id.translate_button);// 获取页面中的翻译按钮控件,并将其赋值给mTranslateButton变量
|
|
|
|
|
|
|
|
|
|
// 为翻译按钮设置点击事件监听器
|
|
|
|
|
mTranslateButton.setOnClickListener(new OnClickListener() {
|
|
|
|
|
mTranslateButton.setOnClickListener(new OnClickListener() {// 为翻译按钮设置点击事件监听器
|
|
|
|
|
// 当按钮被点击时,执行该方法
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
// 调用showTranslationDialog方法,显示翻译对话框
|
|
|
|
|
showTranslationDialog();
|
|
|
|
|
showTranslationDialog();// 调用showTranslationDialog方法,显示翻译对话框
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//根据id获取添加图片按钮
|
|
|
|
|
final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn);
|
|
|
|
|
//为点击图片按钮设置监听器
|
|
|
|
|
add_img_btn.setOnClickListener(new OnClickListener() {
|
|
|
|
|
|
|
|
|
|
final ImageButton add_img_btn = (ImageButton) findViewById(R.id.add_img_btn);//根据id获取添加图片按钮
|
|
|
|
|
add_img_btn.setOnClickListener(new OnClickListener() {//为点击图片按钮设置监听器
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View view) {
|
|
|
|
|
Log.d(TAG, "onClick: click add image button");
|
|
|
|
|
//ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音)
|
|
|
|
|
Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT);
|
|
|
|
|
Intent loadImage = new Intent(Intent.ACTION_GET_CONTENT);//ACTION_GET_CONTENT: 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音)
|
|
|
|
|
//Category属性用于指定当前动作(Action)被执行的环境.
|
|
|
|
|
//CATEGORY_OPENABLE; 用来指示一个ACTION_GET_CONTENT的intent
|
|
|
|
|
loadImage.addCategory(Intent.CATEGORY_OPENABLE);
|
|
|
|
@ -260,11 +254,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
|
|
|
|
super.onRestoreInstanceState(savedInstanceState);
|
|
|
|
|
// 检查是否有保存的状态并且包含必要的UID信息,用于恢复活动状态
|
|
|
|
|
if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) {
|
|
|
|
|
if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) {// 检查是否有保存的状态并且包含必要的UID信息,用于恢复活动状态
|
|
|
|
|
Intent intent = new Intent(Intent.ACTION_VIEW);
|
|
|
|
|
intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID));
|
|
|
|
|
// 使用intent尝试恢复活动状态,如果失败则结束该活动
|
|
|
|
|
if (!initActivityState(intent)) {
|
|
|
|
|
if (!initActivityState(intent)) {// 使用intent尝试恢复活动状态,如果失败则结束该活动
|
|
|
|
|
finish();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -286,22 +279,19 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0);
|
|
|
|
|
mUserQuery = "";
|
|
|
|
|
|
|
|
|
|
// 从搜索结果开始
|
|
|
|
|
if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {
|
|
|
|
|
if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {// 从搜索结果开始
|
|
|
|
|
noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
|
|
|
|
|
mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 检查指定的笔记在数据库中是否可见
|
|
|
|
|
if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) {
|
|
|
|
|
if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) {// 检查指定的笔记在数据库中是否可见
|
|
|
|
|
Intent jump = new Intent(this, NotesListActivity.class);
|
|
|
|
|
startActivity(jump);
|
|
|
|
|
showToast(R.string.error_note_not_exist);
|
|
|
|
|
finish();
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
// 加载指定ID的笔记
|
|
|
|
|
mWorkingNote = WorkingNote.load(this, noteId);
|
|
|
|
|
mWorkingNote = WorkingNote.load(this, noteId);// 加载指定ID的笔记
|
|
|
|
|
if (mWorkingNote == null) {
|
|
|
|
|
Log.e(TAG, "load note failed with note id" + noteId);
|
|
|
|
|
finish();
|
|
|
|
@ -313,8 +303,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
|
|
|
|
|
| WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
|
|
|
|
|
} else if (TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) {
|
|
|
|
|
// 处理新建或编辑笔记的情况
|
|
|
|
|
long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0);
|
|
|
|
|
long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0);// 处理新建或编辑笔记的情况
|
|
|
|
|
int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID,
|
|
|
|
|
AppWidgetManager.INVALID_APPWIDGET_ID);
|
|
|
|
|
int widgetType = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_TYPE,
|
|
|
|
@ -322,27 +311,23 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID,
|
|
|
|
|
ResourceParser.getDefaultBgId(this));
|
|
|
|
|
|
|
|
|
|
// 解析通话记录笔记
|
|
|
|
|
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
|
|
|
|
|
String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);// 解析通话记录笔记
|
|
|
|
|
long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0);
|
|
|
|
|
if (callDate != 0 && phoneNumber != null) {
|
|
|
|
|
// 根据电话号码和通话日期尝试获取已有笔记ID
|
|
|
|
|
if (TextUtils.isEmpty(phoneNumber)) {
|
|
|
|
|
if (TextUtils.isEmpty(phoneNumber)) {// 根据电话号码和通话日期尝试获取已有笔记ID
|
|
|
|
|
Log.w(TAG, "The call record number is null");
|
|
|
|
|
}
|
|
|
|
|
long noteId = 0;
|
|
|
|
|
if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(),
|
|
|
|
|
phoneNumber, callDate)) > 0) {
|
|
|
|
|
// 加载该笔记
|
|
|
|
|
mWorkingNote = WorkingNote.load(this, noteId);
|
|
|
|
|
mWorkingNote = WorkingNote.load(this, noteId);// 加载该笔记
|
|
|
|
|
if (mWorkingNote == null) {
|
|
|
|
|
Log.e(TAG, "load call note failed with note id" + noteId);
|
|
|
|
|
finish();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 创建新的通话记录笔记
|
|
|
|
|
mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId,
|
|
|
|
|
mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId,// 创建新的通话记录笔记
|
|
|
|
|
widgetType, bgResId);
|
|
|
|
|
mWorkingNote.convertToCallNote(phoneNumber, callDate);
|
|
|
|
|
}
|
|
|
|
|