|
|
|
@ -30,9 +30,11 @@ import android.content.SharedPreferences;
|
|
|
|
|
import android.graphics.Paint;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import android.preference.PreferenceManager;
|
|
|
|
|
import android.text.Editable;
|
|
|
|
|
import android.text.Spannable;
|
|
|
|
|
import android.text.SpannableString;
|
|
|
|
|
import android.text.TextUtils;
|
|
|
|
|
import android.text.TextWatcher;
|
|
|
|
|
import android.text.format.DateUtils;
|
|
|
|
|
import android.text.style.BackgroundColorSpan;
|
|
|
|
|
import android.util.Log;
|
|
|
|
@ -141,6 +143,9 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
|
|
|
|
|
private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
|
|
|
|
|
|
|
|
|
|
private static final int REQUEST_SET_PASSCODE = 0;
|
|
|
|
|
private static final int REQUEST_UNLOCK = 1;
|
|
|
|
|
|
|
|
|
|
public static final String TAG_CHECKED = String.valueOf('\u221A');
|
|
|
|
|
public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
|
|
|
|
|
|
|
|
|
@ -148,6 +153,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
|
|
|
|
|
private String mUserQuery;
|
|
|
|
|
private Pattern mPattern;
|
|
|
|
|
private boolean Locked; /* 用以判断是否已解锁 */
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
|
@ -259,6 +265,10 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
mWorkingNote.setOnSettingStatusChangedListener(this);
|
|
|
|
|
Locked = mWorkingNote.hasPasscode();//设置便签解锁状态;
|
|
|
|
|
if (intent.hasExtra("lock")) {
|
|
|
|
|
Locked = false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -293,6 +303,15 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
* is not ready
|
|
|
|
|
*/
|
|
|
|
|
showAlertHeader();
|
|
|
|
|
|
|
|
|
|
//如果设置了密码,启动输入密码页面
|
|
|
|
|
if (mWorkingNote.hasPasscode() && Locked) {
|
|
|
|
|
saveNote();
|
|
|
|
|
Intent intent = new Intent(this,UnlockActivity.class);
|
|
|
|
|
intent.putExtra(Intent.EXTRA_UID, mWorkingNote.getNoteId());
|
|
|
|
|
startActivityForResult(intent,REQUEST_SET_PASSCODE);
|
|
|
|
|
finish();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void showAlertHeader() {
|
|
|
|
@ -502,6 +521,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
} else {
|
|
|
|
|
menu.findItem(R.id.menu_delete_remind).setVisible(false);
|
|
|
|
|
}
|
|
|
|
|
//如果已经设置密码,显示删除密码选项,否则,显示设置密码选项
|
|
|
|
|
if (mWorkingNote.hasPasscode()) {
|
|
|
|
|
menu.findItem(R.id.menu_set_password).setVisible(false);
|
|
|
|
|
} else {
|
|
|
|
|
menu.findItem(R.id.menu_remove_password).setVisible(false);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -547,12 +572,43 @@ public class NoteEditActivity extends Activity implements OnClickListener,
|
|
|
|
|
case R.id.menu_delete_remind:
|
|
|
|
|
mWorkingNote.setAlertDate(0, false);
|
|
|
|
|
break;
|
|
|
|
|
//设置密码
|
|
|
|
|
case R.id.menu_set_password:
|
|
|
|
|
setPasscode();
|
|
|
|
|
break;
|
|
|
|
|
//删除密码
|
|
|
|
|
case R.id.menu_remove_password:
|
|
|
|
|
deletePasscode();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 弹出设置密码界面
|
|
|
|
|
*/
|
|
|
|
|
private void setPasscode() {
|
|
|
|
|
//确保笔记已写入数据库
|
|
|
|
|
saveNote();
|
|
|
|
|
//初始化一个新的意图,用以跳转至设置密码界面
|
|
|
|
|
Intent intent = new Intent(this,SetLockActivity.class);
|
|
|
|
|
//给意图传入当前便签的id参数,便于从设置密码活动中跳转回编辑便签活动
|
|
|
|
|
intent.putExtra(Intent.EXTRA_UID, mWorkingNote.getNoteId());
|
|
|
|
|
startActivity(intent);
|
|
|
|
|
finish();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除便签密码
|
|
|
|
|
*/
|
|
|
|
|
private void deletePasscode() {
|
|
|
|
|
mWorkingNote.setPasscode("");
|
|
|
|
|
saveNote();
|
|
|
|
|
Toast.makeText(NoteEditActivity.this,R.string.note_passcode_deleted,Toast.LENGTH_SHORT).show();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void setReminder() {
|
|
|
|
|
DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
|
|
|
|
|
d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
|
|
|
|
|