| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -13,9 +13,9 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 * See the License for the specific language governing permissions and
 | 
					 | 
					 | 
					 | 
					 * See the License for the specific language governing permissions and
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 * limitations under the License.
 | 
					 | 
					 | 
					 | 
					 * limitations under the License.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 */
 | 
					 | 
					 | 
					 | 
					 */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					package net.micode.notes.ui;
 | 
					 | 
					 | 
					 | 
					package net.micode.notes.ui;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.app.Activity;
 | 
					 | 
					 | 
					 | 
					import android.app.Activity;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.app.AlarmManager;
 | 
					 | 
					 | 
					 | 
					import android.app.AlarmManager;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.app.AlertDialog;
 | 
					 | 
					 | 
					 | 
					import android.app.AlertDialog;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -51,7 +51,7 @@ import android.widget.ImageView;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.widget.LinearLayout;
 | 
					 | 
					 | 
					 | 
					import android.widget.LinearLayout;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.widget.TextView;
 | 
					 | 
					 | 
					 | 
					import android.widget.TextView;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import android.widget.Toast;
 | 
					 | 
					 | 
					 | 
					import android.widget.Toast;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.R;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.R;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.data.Notes;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.data.Notes;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.data.Notes.TextNote;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.data.Notes.TextNote;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -64,26 +64,28 @@ import net.micode.notes.ui.DateTimePickerDialog.OnDateTimeSetListener;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.widget.NoteWidgetProvider_2x;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.widget.NoteWidgetProvider_2x;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import net.micode.notes.widget.NoteWidgetProvider_4x;
 | 
					 | 
					 | 
					 | 
					import net.micode.notes.widget.NoteWidgetProvider_4x;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.HashMap;
 | 
					 | 
					 | 
					 | 
					import java.util.HashMap;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.HashSet;
 | 
					 | 
					 | 
					 | 
					import java.util.HashSet;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.Map;
 | 
					 | 
					 | 
					 | 
					import java.util.Map;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.regex.Matcher;
 | 
					 | 
					 | 
					 | 
					import java.util.regex.Matcher;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.regex.Pattern;
 | 
					 | 
					 | 
					 | 
					import java.util.regex.Pattern;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					// 笔记编辑界面的Activity类
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					public class NoteEditActivity extends Activity implements OnClickListener,
 | 
					 | 
					 | 
					 | 
					public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        NoteSettingChangedListener, OnTextViewChangeListener {
 | 
					 | 
					 | 
					 | 
					        NoteSettingChangedListener, OnTextViewChangeListener {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 用于存储笔记头部视图的ViewHolder类
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private class HeadViewHolder {
 | 
					 | 
					 | 
					 | 
					    private class HeadViewHolder {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        public TextView tvModified;
 | 
					 | 
					 | 
					 | 
					        public TextView tvModified;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        public ImageView ivAlertIcon;
 | 
					 | 
					 | 
					 | 
					        public ImageView ivAlertIcon;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        public TextView tvAlertDate;
 | 
					 | 
					 | 
					 | 
					        public TextView tvAlertDate;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        public ImageView ibSetBgColor;
 | 
					 | 
					 | 
					 | 
					        public ImageView ibSetBgColor;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 背景色选择按钮和颜色ID的映射
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
 | 
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sBgSelectorBtnsMap = new HashMap<Integer, Integer>();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    static {
 | 
					 | 
					 | 
					 | 
					    static {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -92,7 +94,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 背景色选择后的显示标记和颜色ID的映射
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sBgSelectorSelectionMap = new HashMap<Integer, Integer>();
 | 
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sBgSelectorSelectionMap = new HashMap<Integer, Integer>();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    static {
 | 
					 | 
					 | 
					 | 
					    static {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -101,7 +104,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
 | 
					 | 
					 | 
					 | 
					        sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 字体大小选择按钮和字体大小ID的映射
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sFontSizeBtnsMap = new HashMap<Integer, Integer>();
 | 
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sFontSizeBtnsMap = new HashMap<Integer, Integer>();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    static {
 | 
					 | 
					 | 
					 | 
					    static {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE);
 | 
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -109,7 +113,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM);
 | 
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
 | 
					 | 
					 | 
					 | 
					        sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 字体大小选择后的显示标记和字体大小ID的映射
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sFontSelectorSelectionMap = new HashMap<Integer, Integer>();
 | 
					 | 
					 | 
					 | 
					    private static final Map<Integer, Integer> sFontSelectorSelectionMap = new HashMap<Integer, Integer>();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    static {
 | 
					 | 
					 | 
					 | 
					    static {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select);
 | 
					 | 
					 | 
					 | 
					        sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -117,54 +122,52 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select);
 | 
					 | 
					 | 
					 | 
					        sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select);
 | 
					 | 
					 | 
					 | 
					        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 HeadViewHolder mNoteHeaderHolder;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private View mHeadViewPanel;
 | 
					 | 
					 | 
					 | 
					    private View mHeadViewPanel;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private View mNoteBgColorSelector;
 | 
					 | 
					 | 
					 | 
					    private View mNoteBgColorSelector;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private View mFontSizeSelector;
 | 
					 | 
					 | 
					 | 
					    private View mFontSizeSelector;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private EditText mNoteEditor;
 | 
					 | 
					 | 
					 | 
					    private EditText mNoteEditor;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private View mNoteEditorPanel;
 | 
					 | 
					 | 
					 | 
					    private View mNoteEditorPanel;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private WorkingNote mWorkingNote;
 | 
					 | 
					 | 
					 | 
					    private WorkingNote mWorkingNote;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private SharedPreferences mSharedPrefs;
 | 
					 | 
					 | 
					 | 
					    private SharedPreferences mSharedPrefs;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private int mFontSizeId;
 | 
					 | 
					 | 
					 | 
					    private int mFontSizeId;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
 | 
					 | 
					 | 
					 | 
					    private static final String PREFERENCE_FONT_SIZE = "pref_font_size";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
 | 
					 | 
					 | 
					 | 
					    private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public static final String TAG_CHECKED = String.valueOf('\u221A');
 | 
					 | 
					 | 
					 | 
					    public static final String TAG_CHECKED = String.valueOf('\u221A');
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
 | 
					 | 
					 | 
					 | 
					    public static final String TAG_UNCHECKED = String.valueOf('\u25A1');
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private LinearLayout mEditTextList;
 | 
					 | 
					 | 
					 | 
					    private LinearLayout mEditTextList;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private String mUserQuery;
 | 
					 | 
					 | 
					 | 
					    private String mUserQuery;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private Pattern mPattern;
 | 
					 | 
					 | 
					 | 
					    private Pattern mPattern;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 初始化Activity视图
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onCreate(Bundle savedInstanceState) {
 | 
					 | 
					 | 
					 | 
					    protected void onCreate(Bundle savedInstanceState) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onCreate(savedInstanceState);
 | 
					 | 
					 | 
					 | 
					        super.onCreate(savedInstanceState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.setContentView(R.layout.note_edit);
 | 
					 | 
					 | 
					 | 
					        this.setContentView(R.layout.note_edit);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (savedInstanceState == null && !initActivityState(getIntent())) {
 | 
					 | 
					 | 
					 | 
					        if (savedInstanceState == null && !initActivityState(getIntent())) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            finish();
 | 
					 | 
					 | 
					 | 
					            finish();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return;
 | 
					 | 
					 | 
					 | 
					            return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        initResources();
 | 
					 | 
					 | 
					 | 
					        initResources();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    // 当Activity被系统杀死后,恢复其状态
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * 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
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onRestoreInstanceState(Bundle savedInstanceState) {
 | 
					 | 
					 | 
					 | 
					    protected void onRestoreInstanceState(Bundle savedInstanceState) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onRestoreInstanceState(savedInstanceState);
 | 
					 | 
					 | 
					 | 
					        super.onRestoreInstanceState(savedInstanceState);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -178,25 +181,19 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Log.d(TAG, "Restoring from killed activity");
 | 
					 | 
					 | 
					 | 
					            Log.d(TAG, "Restoring from killed activity");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 初始化Activity状态,根据Intent决定加载笔记或创建新笔记
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean initActivityState(Intent intent) {
 | 
					 | 
					 | 
					 | 
					    private boolean initActivityState(Intent intent) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * If the user specified the {@link Intent#ACTION_VIEW} but not provided with id,
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * then jump to the NotesListActivity
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mWorkingNote = null;
 | 
					 | 
					 | 
					 | 
					        mWorkingNote = null;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) {
 | 
					 | 
					 | 
					 | 
					        if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0);
 | 
					 | 
					 | 
					 | 
					            long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mUserQuery = "";
 | 
					 | 
					 | 
					 | 
					            mUserQuery = "";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					             * Starting from the searched result
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					             */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {
 | 
					 | 
					 | 
					 | 
					            if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
 | 
					 | 
					 | 
					 | 
					                noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY);
 | 
					 | 
					 | 
					 | 
					                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);
 | 
					 | 
					 | 
					 | 
					                Intent jump = new Intent(this, NotesListActivity.class);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                startActivity(jump);
 | 
					 | 
					 | 
					 | 
					                startActivity(jump);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -215,7 +212,6 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
 | 
					 | 
					 | 
					 | 
					                    WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
 | 
					 | 
					 | 
					 | 
					                            | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) {
 | 
					 | 
					 | 
					 | 
					        } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // New note
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            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,
 | 
					 | 
					 | 
					 | 
					            int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    AppWidgetManager.INVALID_APPWIDGET_ID);
 | 
					 | 
					 | 
					 | 
					                    AppWidgetManager.INVALID_APPWIDGET_ID);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -223,8 +219,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    Notes.TYPE_WIDGET_INVALIDE);
 | 
					 | 
					 | 
					 | 
					                    Notes.TYPE_WIDGET_INVALIDE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID,
 | 
					 | 
					 | 
					 | 
					            int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    ResourceParser.getDefaultBgId(this));
 | 
					 | 
					 | 
					 | 
					                    ResourceParser.getDefaultBgId(this));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // Parse call-record note
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            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);
 | 
					 | 
					 | 
					 | 
					            long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (callDate != 0 && phoneNumber != null) {
 | 
					 | 
					 | 
					 | 
					            if (callDate != 0 && phoneNumber != null) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -249,7 +244,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType,
 | 
					 | 
					 | 
					 | 
					                mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        bgResId);
 | 
					 | 
					 | 
					 | 
					                        bgResId);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }
 | 
					 | 
					 | 
					 | 
					            }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            getWindow().setSoftInputMode(
 | 
					 | 
					 | 
					 | 
					            getWindow().setSoftInputMode(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
 | 
					 | 
					 | 
					 | 
					                    WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                            | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
 | 
					 | 
					 | 
					 | 
					                            | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -261,13 +256,15 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mWorkingNote.setOnSettingStatusChangedListener(this);
 | 
					 | 
					 | 
					 | 
					        mWorkingNote.setOnSettingStatusChangedListener(this);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return true;
 | 
					 | 
					 | 
					 | 
					        return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // Activity恢复时初始化笔记显示
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onResume() {
 | 
					 | 
					 | 
					 | 
					    protected void onResume() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onResume();
 | 
					 | 
					 | 
					 | 
					        super.onResume();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        initNoteScreen();
 | 
					 | 
					 | 
					 | 
					        initNoteScreen();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 初始化笔记显示界面,包括背景颜色、字体大小、修改日期等
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void initNoteScreen() {
 | 
					 | 
					 | 
					 | 
					    private void initNoteScreen() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteEditor.setTextAppearance(this, TextAppearanceResources
 | 
					 | 
					 | 
					 | 
					        mNoteEditor.setTextAppearance(this, TextAppearanceResources
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                .getTexAppearanceResource(mFontSizeId));
 | 
					 | 
					 | 
					 | 
					                .getTexAppearanceResource(mFontSizeId));
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -282,19 +279,16 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
 | 
					 | 
					 | 
					 | 
					        mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId());
 | 
					 | 
					 | 
					 | 
					        mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteHeaderHolder.tvModified.setText(DateUtils.formatDateTime(this,
 | 
					 | 
					 | 
					 | 
					        mNoteHeaderHolder.tvModified.setText(DateUtils.formatDateTime(this,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                mWorkingNote.getModifiedDate(), DateUtils.FORMAT_SHOW_DATE
 | 
					 | 
					 | 
					 | 
					                mWorkingNote.getModifiedDate(), DateUtils.FORMAT_SHOW_DATE
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        | DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME
 | 
					 | 
					 | 
					 | 
					                        | DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                        | DateUtils.FORMAT_SHOW_YEAR));
 | 
					 | 
					 | 
					 | 
					                        | DateUtils.FORMAT_SHOW_YEAR));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * is not ready
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        showAlertHeader();
 | 
					 | 
					 | 
					 | 
					        showAlertHeader();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 显示或隐藏提醒头部信息
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void showAlertHeader() {
 | 
					 | 
					 | 
					 | 
					    private void showAlertHeader() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mWorkingNote.hasClockAlert()) {
 | 
					 | 
					 | 
					 | 
					        if (mWorkingNote.hasClockAlert()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            long time = System.currentTimeMillis();
 | 
					 | 
					 | 
					 | 
					            long time = System.currentTimeMillis();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -311,28 +305,26 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        };
 | 
					 | 
					 | 
					 | 
					        };
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理新的Intent,可能需要重新加载笔记或创建新笔记
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onNewIntent(Intent intent) {
 | 
					 | 
					 | 
					 | 
					    protected void onNewIntent(Intent intent) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onNewIntent(intent);
 | 
					 | 
					 | 
					 | 
					        super.onNewIntent(intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        initActivityState(intent);
 | 
					 | 
					 | 
					 | 
					        initActivityState(intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 保存Activity状态,在系统需要恢复Activity时使用
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onSaveInstanceState(Bundle outState) {
 | 
					 | 
					 | 
					 | 
					    protected void onSaveInstanceState(Bundle outState) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onSaveInstanceState(outState);
 | 
					 | 
					 | 
					 | 
					        super.onSaveInstanceState(outState);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * For new note without note id, we should firstly save it to
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * generate a id. If the editing note is not worth saving, there
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * is no id which is equivalent to create new note
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!mWorkingNote.existInDatabase()) {
 | 
					 | 
					 | 
					 | 
					        if (!mWorkingNote.existInDatabase()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            saveNote();
 | 
					 | 
					 | 
					 | 
					            saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        outState.putLong(Intent.EXTRA_UID, mWorkingNote.getNoteId());
 | 
					 | 
					 | 
					 | 
					        outState.putLong(Intent.EXTRA_UID, mWorkingNote.getNoteId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState");
 | 
					 | 
					 | 
					 | 
					        Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理触摸事件,用于隐藏颜色和字体大小选择面板
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public boolean dispatchTouchEvent(MotionEvent ev) {
 | 
					 | 
					 | 
					 | 
					    public boolean dispatchTouchEvent(MotionEvent ev) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mNoteBgColorSelector.getVisibility() == View.VISIBLE
 | 
					 | 
					 | 
					 | 
					        if (mNoteBgColorSelector.getVisibility() == View.VISIBLE
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -340,7 +332,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.GONE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return true;
 | 
					 | 
					 | 
					 | 
					            return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mFontSizeSelector.getVisibility() == View.VISIBLE
 | 
					 | 
					 | 
					 | 
					        if (mFontSizeSelector.getVisibility() == View.VISIBLE
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                && !inRangeOfView(mFontSizeSelector, ev)) {
 | 
					 | 
					 | 
					 | 
					                && !inRangeOfView(mFontSizeSelector, ev)) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mFontSizeSelector.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mFontSizeSelector.setVisibility(View.GONE);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -348,7 +340,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return super.dispatchTouchEvent(ev);
 | 
					 | 
					 | 
					 | 
					        return super.dispatchTouchEvent(ev);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 判断触摸事件是否发生在指定视图内
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean inRangeOfView(View view, MotionEvent ev) {
 | 
					 | 
					 | 
					 | 
					    private boolean inRangeOfView(View view, MotionEvent ev) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        int []location = new int[2];
 | 
					 | 
					 | 
					 | 
					        int []location = new int[2];
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        view.getLocationOnScreen(location);
 | 
					 | 
					 | 
					 | 
					        view.getLocationOnScreen(location);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -362,7 +355,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                }
 | 
					 | 
					 | 
					 | 
					                }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return true;
 | 
					 | 
					 | 
					 | 
					        return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 初始化视图资源
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void initResources() {
 | 
					 | 
					 | 
					 | 
					    private void initResources() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mHeadViewPanel = findViewById(R.id.note_title);
 | 
					 | 
					 | 
					 | 
					        mHeadViewPanel = findViewById(R.id.note_title);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteHeaderHolder = new HeadViewHolder();
 | 
					 | 
					 | 
					 | 
					        mNoteHeaderHolder = new HeadViewHolder();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -378,7 +372,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ImageView iv = (ImageView) findViewById(id);
 | 
					 | 
					 | 
					 | 
					            ImageView iv = (ImageView) findViewById(id);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            iv.setOnClickListener(this);
 | 
					 | 
					 | 
					 | 
					            iv.setOnClickListener(this);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mFontSizeSelector = findViewById(R.id.font_size_selector);
 | 
					 | 
					 | 
					 | 
					        mFontSizeSelector = findViewById(R.id.font_size_selector);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (int id : sFontSizeBtnsMap.keySet()) {
 | 
					 | 
					 | 
					 | 
					        for (int id : sFontSizeBtnsMap.keySet()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            View view = findViewById(id);
 | 
					 | 
					 | 
					 | 
					            View view = findViewById(id);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -386,17 +380,13 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        };
 | 
					 | 
					 | 
					 | 
					        };
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
 | 
					 | 
					 | 
					 | 
					        mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE);
 | 
					 | 
					 | 
					 | 
					        mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * HACKME: Fix bug of store the resource id in shared preference.
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * The id may larger than the length of resources, in this case,
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(mFontSizeId >= TextAppearanceResources.getResourcesSize()) {
 | 
					 | 
					 | 
					 | 
					        if(mFontSizeId >= TextAppearanceResources.getResourcesSize()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE;
 | 
					 | 
					 | 
					 | 
					            mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list);
 | 
					 | 
					 | 
					 | 
					        mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 暂停Activity时保存笔记并清理设置状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    protected void onPause() {
 | 
					 | 
					 | 
					 | 
					    protected void onPause() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onPause();
 | 
					 | 
					 | 
					 | 
					        super.onPause();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -405,7 +395,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        clearSettingState();
 | 
					 | 
					 | 
					 | 
					        clearSettingState();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 更新桌面小部件显示
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void updateWidget() {
 | 
					 | 
					 | 
					 | 
					    private void updateWidget() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
 | 
					 | 
					 | 
					 | 
					        Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) {
 | 
					 | 
					 | 
					 | 
					        if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -416,21 +407,22 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Log.e(TAG, "Unspported widget type");
 | 
					 | 
					 | 
					 | 
					            Log.e(TAG, "Unspported widget type");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return;
 | 
					 | 
					 | 
					 | 
					            return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
 | 
					 | 
					 | 
					 | 
					        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mWorkingNote.getWidgetId()
 | 
					 | 
					 | 
					 | 
					            mWorkingNote.getWidgetId()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        });
 | 
					 | 
					 | 
					 | 
					        });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        sendBroadcast(intent);
 | 
					 | 
					 | 
					 | 
					        sendBroadcast(intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        setResult(RESULT_OK, intent);
 | 
					 | 
					 | 
					 | 
					        setResult(RESULT_OK, intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理视图点击事件,包括颜色和字体大小选择
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onClick(View v) {
 | 
					 | 
					 | 
					 | 
					    public void onClick(View v) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        int id = v.getId();
 | 
					 | 
					 | 
					 | 
					        int id = v.getId();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (id == R.id.btn_set_bg_color) {
 | 
					 | 
					 | 
					 | 
					        if (id == R.id.btn_set_bg_color) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.VISIBLE);
 | 
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.VISIBLE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
					 | 
					 | 
					 | 
					            findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    -                    View.VISIBLE);
 | 
					 | 
					 | 
					 | 
					                    View.VISIBLE);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if (sBgSelectorBtnsMap.containsKey(id)) {
 | 
					 | 
					 | 
					 | 
					        } else if (sBgSelectorBtnsMap.containsKey(id)) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
					 | 
					 | 
					 | 
					            findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    View.GONE);
 | 
					 | 
					 | 
					 | 
					                    View.GONE);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -451,17 +443,19 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mFontSizeSelector.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mFontSizeSelector.setVisibility(View.GONE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理返回键事件,如果设置面板可见则隐藏,否则保存笔记后返回
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onBackPressed() {
 | 
					 | 
					 | 
					 | 
					    public void onBackPressed() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(clearSettingState()) {
 | 
					 | 
					 | 
					 | 
					        if(clearSettingState()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return;
 | 
					 | 
					 | 
					 | 
					            return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        saveNote();
 | 
					 | 
					 | 
					 | 
					        saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        super.onBackPressed();
 | 
					 | 
					 | 
					 | 
					        super.onBackPressed();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 清理设置面板状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean clearSettingState() {
 | 
					 | 
					 | 
					 | 
					    private boolean clearSettingState() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) {
 | 
					 | 
					 | 
					 | 
					        if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mNoteBgColorSelector.setVisibility(View.GONE);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -472,14 +466,16 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return false;
 | 
					 | 
					 | 
					 | 
					        return false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理笔记背景颜色变化事件
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onBackgroundColorChanged() {
 | 
					 | 
					 | 
					 | 
					    public void onBackgroundColorChanged() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
					 | 
					 | 
					 | 
					        findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility(
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                View.VISIBLE);
 | 
					 | 
					 | 
					 | 
					                View.VISIBLE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId());
 | 
					 | 
					 | 
					 | 
					        mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
 | 
					 | 
					 | 
					 | 
					        mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 准备选项菜单,根据笔记状态动态更新菜单项
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public boolean onPrepareOptionsMenu(Menu menu) {
 | 
					 | 
					 | 
					 | 
					    public boolean onPrepareOptionsMenu(Menu menu) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (isFinishing()) {
 | 
					 | 
					 | 
					 | 
					        if (isFinishing()) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -504,7 +500,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return true;
 | 
					 | 
					 | 
					 | 
					        return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理选项菜单项点击事件
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    @Override
 | 
					 | 
					 | 
					 | 
					    @Override
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public boolean onOptionsItemSelected(MenuItem item) {
 | 
					 | 
					 | 
					 | 
					    public boolean onOptionsItemSelected(MenuItem item) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        switch (item.getItemId()) {
 | 
					 | 
					 | 
					 | 
					        switch (item.getItemId()) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -552,7 +549,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return true;
 | 
					 | 
					 | 
					 | 
					        return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 设置提醒时间
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void setReminder() {
 | 
					 | 
					 | 
					 | 
					    private void setReminder() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
 | 
					 | 
					 | 
					 | 
					        DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
 | 
					 | 
					 | 
					 | 
					        d.setOnDateTimeSetListener(new OnDateTimeSetListener() {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -562,30 +560,27 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        });
 | 
					 | 
					 | 
					 | 
					        });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        d.show();
 | 
					 | 
					 | 
					 | 
					        d.show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /**
 | 
					 | 
					 | 
					 | 
					    // 分享笔记内容到支持ACTION_SEND的其他应用
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * Share note to apps that support {@link Intent#ACTION_SEND} action
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * and {@text/plain} type
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void sendTo(Context context, String info) {
 | 
					 | 
					 | 
					 | 
					    private void sendTo(Context context, String info) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Intent intent = new Intent(Intent.ACTION_SEND);
 | 
					 | 
					 | 
					 | 
					        Intent intent = new Intent(Intent.ACTION_SEND);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        intent.putExtra(Intent.EXTRA_TEXT, info);
 | 
					 | 
					 | 
					 | 
					        intent.putExtra(Intent.EXTRA_TEXT, info);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        intent.setType("text/plain");
 | 
					 | 
					 | 
					 | 
					        intent.setType("text/plain");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        context.startActivity(intent);
 | 
					 | 
					 | 
					 | 
					        context.startActivity(intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 创建新笔记,跳转到新笔记编辑界面
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void createNewNote() {
 | 
					 | 
					 | 
					 | 
					    private void createNewNote() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // Firstly, save current editing notes
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        saveNote();
 | 
					 | 
					 | 
					 | 
					        saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // For safety, start a new NoteEditActivity
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        finish();
 | 
					 | 
					 | 
					 | 
					        finish();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Intent intent = new Intent(this, NoteEditActivity.class);
 | 
					 | 
					 | 
					 | 
					        Intent intent = new Intent(this, NoteEditActivity.class);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
 | 
					 | 
					 | 
					 | 
					        intent.setAction(Intent.ACTION_INSERT_OR_EDIT);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId());
 | 
					 | 
					 | 
					 | 
					        intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        startActivity(intent);
 | 
					 | 
					 | 
					 | 
					        startActivity(intent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 删除当前笔记
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void deleteCurrentNote() {
 | 
					 | 
					 | 
					 | 
					    private void deleteCurrentNote() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mWorkingNote.existInDatabase()) {
 | 
					 | 
					 | 
					 | 
					        if (mWorkingNote.existInDatabase()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            HashSet<Long> ids = new HashSet<Long>();
 | 
					 | 
					 | 
					 | 
					            HashSet<Long> ids = new HashSet<Long>();
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -607,16 +602,14 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mWorkingNote.markDeleted(true);
 | 
					 | 
					 | 
					 | 
					        mWorkingNote.markDeleted(true);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 判断是否处于同步模式
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean isSyncMode() {
 | 
					 | 
					 | 
					 | 
					    private boolean isSyncMode() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
 | 
					 | 
					 | 
					 | 
					        return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理时钟提醒变化事件,设置或取消提醒
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onClockAlertChanged(long date, boolean set) {
 | 
					 | 
					 | 
					 | 
					    public void onClockAlertChanged(long date, boolean set) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * User could set clock to an unsaved note, so before setting the
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * alert clock, we should save the note first
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!mWorkingNote.existInDatabase()) {
 | 
					 | 
					 | 
					 | 
					        if (!mWorkingNote.existInDatabase()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            saveNote();
 | 
					 | 
					 | 
					 | 
					            saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -632,31 +625,28 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent);
 | 
					 | 
					 | 
					 | 
					                alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }
 | 
					 | 
					 | 
					 | 
					            }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else {
 | 
					 | 
					 | 
					 | 
					        } else {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					             * 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, "Clock alert setting error");
 | 
					 | 
					 | 
					 | 
					            Log.e(TAG, "Clock alert setting error");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            showToast(R.string.error_note_empty_for_clock);
 | 
					 | 
					 | 
					 | 
					            showToast(R.string.error_note_empty_for_clock);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理小部件变化事件,更新小部件显示
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onWidgetChanged() {
 | 
					 | 
					 | 
					 | 
					    public void onWidgetChanged() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        updateWidget();
 | 
					 | 
					 | 
					 | 
					        updateWidget();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理EditText删除事件,调整列表项索引
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onEditTextDelete(int index, String text) {
 | 
					 | 
					 | 
					 | 
					    public void onEditTextDelete(int index, String text) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        int childCount = mEditTextList.getChildCount();
 | 
					 | 
					 | 
					 | 
					        int childCount = mEditTextList.getChildCount();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (childCount == 1) {
 | 
					 | 
					 | 
					 | 
					        if (childCount == 1) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return;
 | 
					 | 
					 | 
					 | 
					            return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        for (int i = index + 1; i < childCount; i++) {
 | 
					 | 
					 | 
					 | 
					        for (int i = index + 1; i < childCount; i++) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
 | 
					 | 
					 | 
					 | 
					            ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text))
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    .setIndex(i - 1);
 | 
					 | 
					 | 
					 | 
					                    .setIndex(i - 1);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.removeViewAt(index);
 | 
					 | 
					 | 
					 | 
					        mEditTextList.removeViewAt(index);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        NoteEditText edit = null;
 | 
					 | 
					 | 
					 | 
					        NoteEditText edit = null;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(index == 0) {
 | 
					 | 
					 | 
					 | 
					        if(index == 0) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -671,15 +661,13 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        edit.requestFocus();
 | 
					 | 
					 | 
					 | 
					        edit.requestFocus();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        edit.setSelection(length);
 | 
					 | 
					 | 
					 | 
					        edit.setSelection(length);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理EditText输入事件,添加新列表项
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onEditTextEnter(int index, String text) {
 | 
					 | 
					 | 
					 | 
					    public void onEditTextEnter(int index, String text) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * Should not happen, check for debug
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         */
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(index > mEditTextList.getChildCount()) {
 | 
					 | 
					 | 
					 | 
					        if(index > mEditTextList.getChildCount()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Log.e(TAG, "Index out of mEditTextList boundrary, should not happen");
 | 
					 | 
					 | 
					 | 
					            Log.e(TAG, "Index out of mEditTextList boundrary, should not happen");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        View view = getListItem(text, index);
 | 
					 | 
					 | 
					 | 
					        View view = getListItem(text, index);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.addView(view, index);
 | 
					 | 
					 | 
					 | 
					        mEditTextList.addView(view, index);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
 | 
					 | 
					 | 
					 | 
					        NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -690,7 +678,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    .setIndex(i);
 | 
					 | 
					 | 
					 | 
					                    .setIndex(i);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 切换到列表模式,根据笔记内容生成列表项
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void switchToListMode(String text) {
 | 
					 | 
					 | 
					 | 
					    private void switchToListMode(String text) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.removeAllViews();
 | 
					 | 
					 | 
					 | 
					        mEditTextList.removeAllViews();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        String[] items = text.split("\n");
 | 
					 | 
					 | 
					 | 
					        String[] items = text.split("\n");
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -703,11 +692,12 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.addView(getListItem("", index));
 | 
					 | 
					 | 
					 | 
					        mEditTextList.addView(getListItem("", index));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.getChildAt(index).findViewById(R.id.et_edit_text).requestFocus();
 | 
					 | 
					 | 
					 | 
					        mEditTextList.getChildAt(index).findViewById(R.id.et_edit_text).requestFocus();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mNoteEditor.setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					        mNoteEditor.setVisibility(View.GONE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mEditTextList.setVisibility(View.VISIBLE);
 | 
					 | 
					 | 
					 | 
					        mEditTextList.setVisibility(View.VISIBLE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 获取高亮查询结果,用于显示搜索关键词
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private Spannable getHighlightQueryResult(String fullText, String userQuery) {
 | 
					 | 
					 | 
					 | 
					    private Spannable getHighlightQueryResult(String fullText, String userQuery) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
 | 
					 | 
					 | 
					 | 
					        SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!TextUtils.isEmpty(userQuery)) {
 | 
					 | 
					 | 
					 | 
					        if (!TextUtils.isEmpty(userQuery)) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -724,7 +714,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return spannable;
 | 
					 | 
					 | 
					 | 
					        return spannable;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 生成一个新的列表项视图
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private View getListItem(String item, int index) {
 | 
					 | 
					 | 
					 | 
					    private View getListItem(String item, int index) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
 | 
					 | 
					 | 
					 | 
					        View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
 | 
					 | 
					 | 
					 | 
					        final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -739,7 +730,7 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                }
 | 
					 | 
					 | 
					 | 
					                }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            }
 | 
					 | 
					 | 
					 | 
					            }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        });
 | 
					 | 
					 | 
					 | 
					        });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (item.startsWith(TAG_CHECKED)) {
 | 
					 | 
					 | 
					 | 
					        if (item.startsWith(TAG_CHECKED)) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            cb.setChecked(true);
 | 
					 | 
					 | 
					 | 
					            cb.setChecked(true);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
 | 
					 | 
					 | 
					 | 
					            edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -749,13 +740,14 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
 | 
					 | 
					 | 
					 | 
					            edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            item = item.substring(TAG_UNCHECKED.length(), item.length()).trim();
 | 
					 | 
					 | 
					 | 
					            item = item.substring(TAG_UNCHECKED.length(), item.length()).trim();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        edit.setOnTextViewChangeListener(this);
 | 
					 | 
					 | 
					 | 
					        edit.setOnTextViewChangeListener(this);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        edit.setIndex(index);
 | 
					 | 
					 | 
					 | 
					        edit.setIndex(index);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        edit.setText(getHighlightQueryResult(item, mUserQuery));
 | 
					 | 
					 | 
					 | 
					        edit.setText(getHighlightQueryResult(item, mUserQuery));
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return view;
 | 
					 | 
					 | 
					 | 
					        return view;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理EditText文本变化事件,显示或隐藏复选框
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onTextChange(int index, boolean hasText) {
 | 
					 | 
					 | 
					 | 
					    public void onTextChange(int index, boolean hasText) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (index >= mEditTextList.getChildCount()) {
 | 
					 | 
					 | 
					 | 
					        if (index >= mEditTextList.getChildCount()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Log.e(TAG, "Wrong index, should not happen");
 | 
					 | 
					 | 
					 | 
					            Log.e(TAG, "Wrong index, should not happen");
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -767,7 +759,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE);
 | 
					 | 
					 | 
					 | 
					            mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 处理笔记模式变化事件,从普通模式切换到列表模式或反之
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void onCheckListModeChanged(int oldMode, int newMode) {
 | 
					 | 
					 | 
					 | 
					    public void onCheckListModeChanged(int oldMode, int newMode) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (newMode == TextNote.MODE_CHECK_LIST) {
 | 
					 | 
					 | 
					 | 
					        if (newMode == TextNote.MODE_CHECK_LIST) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            switchToListMode(mNoteEditor.getText().toString());
 | 
					 | 
					 | 
					 | 
					            switchToListMode(mNoteEditor.getText().toString());
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -781,7 +774,8 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            mNoteEditor.setVisibility(View.VISIBLE);
 | 
					 | 
					 | 
					 | 
					            mNoteEditor.setVisibility(View.VISIBLE);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 获取正在编辑的文本内容,根据列表模式添加标签
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean getWorkingText() {
 | 
					 | 
					 | 
					 | 
					    private boolean getWorkingText() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boolean hasChecked = false;
 | 
					 | 
					 | 
					 | 
					        boolean hasChecked = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
 | 
					 | 
					 | 
					 | 
					        if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) {
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -804,33 +798,23 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return hasChecked;
 | 
					 | 
					 | 
					 | 
					        return hasChecked;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 保存笔记内容到数据库
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private boolean saveNote() {
 | 
					 | 
					 | 
					 | 
					    private boolean saveNote() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        getWorkingText();
 | 
					 | 
					 | 
					 | 
					        getWorkingText();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        boolean saved = mWorkingNote.saveNote();
 | 
					 | 
					 | 
					 | 
					        boolean saved = mWorkingNote.saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (saved) {
 | 
					 | 
					 | 
					 | 
					        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);
 | 
					 | 
					 | 
					 | 
					            setResult(RESULT_OK);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return saved;
 | 
					 | 
					 | 
					 | 
					        return saved;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 将笔记快捷方式添加到桌面
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void sendToDesktop() {
 | 
					 | 
					 | 
					 | 
					    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()) {
 | 
					 | 
					 | 
					 | 
					        if (!mWorkingNote.existInDatabase()) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            saveNote();
 | 
					 | 
					 | 
					 | 
					            saveNote();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (mWorkingNote.getNoteId() > 0) {
 | 
					 | 
					 | 
					 | 
					        if (mWorkingNote.getNoteId() > 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Intent sender = new Intent();
 | 
					 | 
					 | 
					 | 
					            Intent sender = new Intent();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            Intent shortcutIntent = new Intent(this, NoteEditActivity.class);
 | 
					 | 
					 | 
					 | 
					            Intent shortcutIntent = new Intent(this, NoteEditActivity.class);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -846,28 +830,26 @@ public class NoteEditActivity extends Activity implements OnClickListener,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            showToast(R.string.info_note_enter_desktop);
 | 
					 | 
					 | 
					 | 
					            showToast(R.string.info_note_enter_desktop);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            sendBroadcast(sender);
 | 
					 | 
					 | 
					 | 
					            sendBroadcast(sender);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else {
 | 
					 | 
					 | 
					 | 
					        } else {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            /**
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					             * 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");
 | 
					 | 
					 | 
					 | 
					            Log.e(TAG, "Send to desktop error");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            showToast(R.string.error_note_empty_for_send_to_desktop);
 | 
					 | 
					 | 
					 | 
					            showToast(R.string.error_note_empty_for_send_to_desktop);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 生成桌面快捷方式的标题,截取笔记内容的一部分作为标题
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private String makeShortcutIconTitle(String content) {
 | 
					 | 
					 | 
					 | 
					    private String makeShortcutIconTitle(String content) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        content = content.replace(TAG_CHECKED, "");
 | 
					 | 
					 | 
					 | 
					        content = content.replace(TAG_CHECKED, "");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        content = content.replace(TAG_UNCHECKED, "");
 | 
					 | 
					 | 
					 | 
					        content = content.replace(TAG_UNCHECKED, "");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return content.length() > SHORTCUT_ICON_TITLE_MAX_LEN ? content.substring(0,
 | 
					 | 
					 | 
					 | 
					        return content.length() > SHORTCUT_ICON_TITLE_MAX_LEN ? content.substring(0,
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                SHORTCUT_ICON_TITLE_MAX_LEN) : content;
 | 
					 | 
					 | 
					 | 
					                SHORTCUT_ICON_TITLE_MAX_LEN) : content;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 显示短Toast消息
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void showToast(int resId) {
 | 
					 | 
					 | 
					 | 
					    private void showToast(int resId) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        showToast(resId, Toast.LENGTH_SHORT);
 | 
					 | 
					 | 
					 | 
					        showToast(resId, Toast.LENGTH_SHORT);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // 显示指定持续时间的Toast消息
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private void showToast(int resId, int duration) {
 | 
					 | 
					 | 
					 | 
					    private void showToast(int resId, int duration) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Toast.makeText(this, resId, duration).show();
 | 
					 | 
					 | 
					 | 
					        Toast.makeText(this, resId, duration).show();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 |