From 925f99ea5aaa797855c92c7f43a960aa40711eeb Mon Sep 17 00:00:00 2001 From: JackyMa <2433069615@qq.com> Date: Fri, 29 Oct 2021 10:41:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=AE=E9=A1=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/1.docx | Bin 0 -> 14143 bytes src/java/net/micode/notes/data/Contact.java | 73 ++ src/java/net/micode/notes/data/Notes.java | 281 ++++++ .../notes/data/NotesDatabaseHelper.java | 373 +++++++ .../net/micode/notes/data/NotesProvider.java | 305 ++++++ .../net/micode/notes/gtask/data/MetaData.java | 82 ++ .../net/micode/notes/gtask/data/Node.java | 101 ++ .../net/micode/notes/gtask/data/SqlData.java | 189 ++++ .../net/micode/notes/gtask/data/SqlNote.java | 516 ++++++++++ .../net/micode/notes/gtask/data/Task.java | 351 +++++++ .../net/micode/notes/gtask/data/TaskList.java | 343 +++++++ .../exception/ActionFailureException.java | 33 + .../exception/NetworkFailureException.java | 33 + .../notes/gtask/remote/GTaskASyncTask.java | 122 +++ .../notes/gtask/remote/GTaskClient.java | 585 +++++++++++ .../notes/gtask/remote/GTaskManager.java | 800 +++++++++++++++ .../notes/gtask/remote/GTaskSyncService.java | 128 +++ src/java/net/micode/notes/model/Note.java | 263 +++++ .../net/micode/notes/model/WorkingNote.java | 401 ++++++++ .../net/micode/notes/tool/BackupUtils.java | 344 +++++++ src/java/net/micode/notes/tool/DataUtils.java | 295 ++++++ .../micode/notes/tool/GTaskStringUtils.java | 113 +++ .../net/micode/notes/tool/ResourceParser.java | 181 ++++ .../micode/notes/ui/AlarmAlertActivity.java | 158 +++ .../micode/notes/ui/AlarmInitReceiver.java | 65 ++ .../net/micode/notes/ui/AlarmReceiver.java | 30 + .../net/micode/notes/ui/DateTimePicker.java | 485 +++++++++ .../micode/notes/ui/DateTimePickerDialog.java | 90 ++ .../net/micode/notes/ui/DropdownMenu.java | 61 ++ .../micode/notes/ui/FoldersListAdapter.java | 80 ++ .../net/micode/notes/ui/NoteEditActivity.java | 923 +++++++++++++++++ .../net/micode/notes/ui/NoteEditText.java | 217 ++++ .../net/micode/notes/ui/NoteItemData.java | 236 +++++ .../micode/notes/ui/NotesListActivity.java | 954 ++++++++++++++++++ .../net/micode/notes/ui/NotesListAdapter.java | 184 ++++ .../net/micode/notes/ui/NotesListItem.java | 128 +++ .../notes/ui/NotesPreferenceActivity.java | 388 +++++++ .../notes/widget/NoteWidgetProvider.java | 132 +++ .../notes/widget/NoteWidgetProvider_2x.java | 47 + .../notes/widget/NoteWidgetProvider_4x.java | 46 + src/res/color/primary_text_dark.xml | 22 + src/res/color/secondary_text_dark.xml | 20 + src/res/drawable-hdpi/bg_btn_set_color.png | Bin 0 -> 3588 bytes src/res/drawable-hdpi/bg_color_btn_mask.png | Bin 0 -> 245 bytes src/res/drawable-hdpi/call_record.png | Bin 0 -> 3533 bytes src/res/drawable-hdpi/clock.png | Bin 0 -> 3958 bytes src/res/drawable-hdpi/delete.png | Bin 0 -> 3490 bytes src/res/drawable-hdpi/dropdown_icon.9.png | Bin 0 -> 443 bytes src/res/drawable-hdpi/edit_blue.9.png | Bin 0 -> 3524 bytes src/res/drawable-hdpi/edit_green.9.png | Bin 0 -> 3565 bytes src/res/drawable-hdpi/edit_red.9.png | Bin 0 -> 3458 bytes src/res/drawable-hdpi/edit_title_blue.9.png | Bin 0 -> 5100 bytes src/res/drawable-hdpi/edit_title_green.9.png | Bin 0 -> 5627 bytes src/res/drawable-hdpi/edit_title_red.9.png | Bin 0 -> 5061 bytes src/res/drawable-hdpi/edit_title_white.9.png | Bin 0 -> 3866 bytes src/res/drawable-hdpi/edit_title_yellow.9.png | Bin 0 -> 6000 bytes src/res/drawable-hdpi/edit_white.9.png | Bin 0 -> 3441 bytes src/res/drawable-hdpi/edit_yellow.9.png | Bin 0 -> 3634 bytes src/res/drawable-hdpi/font_large.png | Bin 0 -> 3161 bytes src/res/drawable-hdpi/font_normal.png | Bin 0 -> 3097 bytes .../drawable-hdpi/font_size_selector_bg.9.png | Bin 0 -> 4101 bytes src/res/drawable-hdpi/font_small.png | Bin 0 -> 3099 bytes src/res/drawable-hdpi/font_super.png | Bin 0 -> 3188 bytes src/res/drawable-hdpi/icon_app.png | Bin 0 -> 6887 bytes src/res/drawable-hdpi/list_background.png | Bin 0 -> 567323 bytes src/res/drawable-hdpi/list_blue_down.9.png | Bin 0 -> 4361 bytes src/res/drawable-hdpi/list_blue_middle.9.png | Bin 0 -> 3099 bytes src/res/drawable-hdpi/list_blue_single.9.png | Bin 0 -> 4618 bytes src/res/drawable-hdpi/list_blue_up.9.png | Bin 0 -> 3301 bytes src/res/drawable-hdpi/list_folder.9.png | Bin 0 -> 5608 bytes src/res/drawable-hdpi/list_footer_bg.9.png | Bin 0 -> 2837 bytes src/res/drawable-hdpi/list_green_down.9.png | Bin 0 -> 4488 bytes src/res/drawable-hdpi/list_green_middle.9.png | Bin 0 -> 3179 bytes src/res/drawable-hdpi/list_green_single.9.png | Bin 0 -> 4728 bytes src/res/drawable-hdpi/list_green_up.9.png | Bin 0 -> 3351 bytes src/res/drawable-hdpi/list_red_down.9.png | Bin 0 -> 4307 bytes src/res/drawable-hdpi/list_red_middle.9.png | Bin 0 -> 3075 bytes src/res/drawable-hdpi/list_red_single.9.png | Bin 0 -> 4565 bytes src/res/drawable-hdpi/list_red_up.9.png | Bin 0 -> 3277 bytes src/res/drawable-hdpi/list_white_down.9.png | Bin 0 -> 4305 bytes src/res/drawable-hdpi/list_white_middle.9.png | Bin 0 -> 3042 bytes src/res/drawable-hdpi/list_white_single.9.png | Bin 0 -> 4546 bytes src/res/drawable-hdpi/list_white_up.9.png | Bin 0 -> 3220 bytes src/res/drawable-hdpi/list_yellow_down.9.png | Bin 0 -> 4420 bytes .../drawable-hdpi/list_yellow_middle.9.png | Bin 0 -> 3150 bytes .../drawable-hdpi/list_yellow_single.9.png | Bin 0 -> 4670 bytes src/res/drawable-hdpi/list_yellow_up.9.png | Bin 0 -> 3335 bytes src/res/drawable-hdpi/menu_delete.png | Bin 0 -> 3426 bytes src/res/drawable-hdpi/menu_move.png | Bin 0 -> 3294 bytes src/res/drawable-hdpi/menu_top.png | Bin 0 -> 2381 bytes src/res/drawable-hdpi/new_note_normal.png | Bin 0 -> 89221 bytes src/res/drawable-hdpi/new_note_pressed.png | Bin 0 -> 90126 bytes .../note_edit_color_selector_panel.png | Bin 0 -> 7030 bytes src/res/drawable-hdpi/notification.png | Bin 0 -> 3107 bytes src/res/drawable-hdpi/search_result.png | Bin 0 -> 3030 bytes src/res/drawable-hdpi/selected.png | Bin 0 -> 4959 bytes src/res/drawable-hdpi/title_alert.png | Bin 0 -> 3696 bytes src/res/drawable-hdpi/title_bar_bg.9.png | Bin 0 -> 5970 bytes src/res/drawable-hdpi/widget_2x_blue.png | Bin 0 -> 1946 bytes src/res/drawable-hdpi/widget_2x_green.png | Bin 0 -> 1954 bytes src/res/drawable-hdpi/widget_2x_red.png | Bin 0 -> 1892 bytes src/res/drawable-hdpi/widget_2x_white.png | Bin 0 -> 1901 bytes src/res/drawable-hdpi/widget_2x_yellow.png | Bin 0 -> 1978 bytes src/res/drawable-hdpi/widget_4x_blue.png | Bin 0 -> 4165 bytes src/res/drawable-hdpi/widget_4x_green.png | Bin 0 -> 4192 bytes src/res/drawable-hdpi/widget_4x_red.png | Bin 0 -> 4223 bytes src/res/drawable-hdpi/widget_4x_white.png | Bin 0 -> 4106 bytes src/res/drawable-hdpi/widget_4x_yellow.png | Bin 0 -> 4199 bytes src/res/drawable/new_note.xml | 23 + src/res/layout/account_dialog_title.xml | 43 + src/res/layout/add_account_text.xml | 32 + src/res/layout/datetime_picker.xml | 56 + src/res/layout/dialog_edit_text.xml | 23 + src/res/layout/folder_list_item.xml | 29 + src/res/layout/note_edit.xml | 409 ++++++++ src/res/layout/note_edit_list_item.xml | 39 + src/res/layout/note_item.xml | 86 ++ src/res/layout/note_list.xml | 58 ++ src/res/layout/note_list_dropdown_menu.xml | 32 + src/res/layout/note_list_footer.xml | 24 + src/res/layout/settings_header.xml | 41 + src/res/layout/widget_2x.xml | 37 + src/res/layout/widget_4x.xml | 39 + src/res/menu/call_note_edit.xml | 48 + src/res/menu/call_record_folder.xml | 23 + src/res/menu/note_edit.xml | 60 ++ src/res/menu/note_list.xml | 39 + src/res/menu/note_list_dropdown.xml | 20 + src/res/menu/note_list_options.xml | 31 + src/res/menu/sub_folder.xml | 24 + src/res/raw-zh-rCN/introduction | 7 + src/res/raw/introduction | 1 + src/res/values-zh-rCN/arrays.xml | 23 + src/res/values-zh-rCN/strings.xml | 129 +++ src/res/values-zh-rTW/arrays.xml | 23 + src/res/values-zh-rTW/strings.xml | 130 +++ src/res/values/arrays.xml | 31 + src/res/values/colors.xml | 20 + src/res/values/dimens.xml | 24 + src/res/values/strings.xml | 138 +++ src/res/values/styles.xml | 69 ++ src/res/xml/preferences.xml | 30 + src/res/xml/searchable.xml | 27 + src/res/xml/widget_2x_info.xml | 23 + src/res/xml/widget_4x_info.xml | 23 + 145 files changed, 12092 insertions(+) create mode 100644 doc/1.docx create mode 100644 src/java/net/micode/notes/data/Contact.java create mode 100644 src/java/net/micode/notes/data/Notes.java create mode 100644 src/java/net/micode/notes/data/NotesDatabaseHelper.java create mode 100644 src/java/net/micode/notes/data/NotesProvider.java create mode 100644 src/java/net/micode/notes/gtask/data/MetaData.java create mode 100644 src/java/net/micode/notes/gtask/data/Node.java create mode 100644 src/java/net/micode/notes/gtask/data/SqlData.java create mode 100644 src/java/net/micode/notes/gtask/data/SqlNote.java create mode 100644 src/java/net/micode/notes/gtask/data/Task.java create mode 100644 src/java/net/micode/notes/gtask/data/TaskList.java create mode 100644 src/java/net/micode/notes/gtask/exception/ActionFailureException.java create mode 100644 src/java/net/micode/notes/gtask/exception/NetworkFailureException.java create mode 100644 src/java/net/micode/notes/gtask/remote/GTaskASyncTask.java create mode 100644 src/java/net/micode/notes/gtask/remote/GTaskClient.java create mode 100644 src/java/net/micode/notes/gtask/remote/GTaskManager.java create mode 100644 src/java/net/micode/notes/gtask/remote/GTaskSyncService.java create mode 100644 src/java/net/micode/notes/model/Note.java create mode 100644 src/java/net/micode/notes/model/WorkingNote.java create mode 100644 src/java/net/micode/notes/tool/BackupUtils.java create mode 100644 src/java/net/micode/notes/tool/DataUtils.java create mode 100644 src/java/net/micode/notes/tool/GTaskStringUtils.java create mode 100644 src/java/net/micode/notes/tool/ResourceParser.java create mode 100644 src/java/net/micode/notes/ui/AlarmAlertActivity.java create mode 100644 src/java/net/micode/notes/ui/AlarmInitReceiver.java create mode 100644 src/java/net/micode/notes/ui/AlarmReceiver.java create mode 100644 src/java/net/micode/notes/ui/DateTimePicker.java create mode 100644 src/java/net/micode/notes/ui/DateTimePickerDialog.java create mode 100644 src/java/net/micode/notes/ui/DropdownMenu.java create mode 100644 src/java/net/micode/notes/ui/FoldersListAdapter.java create mode 100644 src/java/net/micode/notes/ui/NoteEditActivity.java create mode 100644 src/java/net/micode/notes/ui/NoteEditText.java create mode 100644 src/java/net/micode/notes/ui/NoteItemData.java create mode 100644 src/java/net/micode/notes/ui/NotesListActivity.java create mode 100644 src/java/net/micode/notes/ui/NotesListAdapter.java create mode 100644 src/java/net/micode/notes/ui/NotesListItem.java create mode 100644 src/java/net/micode/notes/ui/NotesPreferenceActivity.java create mode 100644 src/java/net/micode/notes/widget/NoteWidgetProvider.java create mode 100644 src/java/net/micode/notes/widget/NoteWidgetProvider_2x.java create mode 100644 src/java/net/micode/notes/widget/NoteWidgetProvider_4x.java create mode 100644 src/res/color/primary_text_dark.xml create mode 100644 src/res/color/secondary_text_dark.xml create mode 100644 src/res/drawable-hdpi/bg_btn_set_color.png create mode 100644 src/res/drawable-hdpi/bg_color_btn_mask.png create mode 100644 src/res/drawable-hdpi/call_record.png create mode 100644 src/res/drawable-hdpi/clock.png create mode 100644 src/res/drawable-hdpi/delete.png create mode 100644 src/res/drawable-hdpi/dropdown_icon.9.png create mode 100644 src/res/drawable-hdpi/edit_blue.9.png create mode 100644 src/res/drawable-hdpi/edit_green.9.png create mode 100644 src/res/drawable-hdpi/edit_red.9.png create mode 100644 src/res/drawable-hdpi/edit_title_blue.9.png create mode 100644 src/res/drawable-hdpi/edit_title_green.9.png create mode 100644 src/res/drawable-hdpi/edit_title_red.9.png create mode 100644 src/res/drawable-hdpi/edit_title_white.9.png create mode 100644 src/res/drawable-hdpi/edit_title_yellow.9.png create mode 100644 src/res/drawable-hdpi/edit_white.9.png create mode 100644 src/res/drawable-hdpi/edit_yellow.9.png create mode 100644 src/res/drawable-hdpi/font_large.png create mode 100644 src/res/drawable-hdpi/font_normal.png create mode 100644 src/res/drawable-hdpi/font_size_selector_bg.9.png create mode 100644 src/res/drawable-hdpi/font_small.png create mode 100644 src/res/drawable-hdpi/font_super.png create mode 100644 src/res/drawable-hdpi/icon_app.png create mode 100644 src/res/drawable-hdpi/list_background.png create mode 100644 src/res/drawable-hdpi/list_blue_down.9.png create mode 100644 src/res/drawable-hdpi/list_blue_middle.9.png create mode 100644 src/res/drawable-hdpi/list_blue_single.9.png create mode 100644 src/res/drawable-hdpi/list_blue_up.9.png create mode 100644 src/res/drawable-hdpi/list_folder.9.png create mode 100644 src/res/drawable-hdpi/list_footer_bg.9.png create mode 100644 src/res/drawable-hdpi/list_green_down.9.png create mode 100644 src/res/drawable-hdpi/list_green_middle.9.png create mode 100644 src/res/drawable-hdpi/list_green_single.9.png create mode 100644 src/res/drawable-hdpi/list_green_up.9.png create mode 100644 src/res/drawable-hdpi/list_red_down.9.png create mode 100644 src/res/drawable-hdpi/list_red_middle.9.png create mode 100644 src/res/drawable-hdpi/list_red_single.9.png create mode 100644 src/res/drawable-hdpi/list_red_up.9.png create mode 100644 src/res/drawable-hdpi/list_white_down.9.png create mode 100644 src/res/drawable-hdpi/list_white_middle.9.png create mode 100644 src/res/drawable-hdpi/list_white_single.9.png create mode 100644 src/res/drawable-hdpi/list_white_up.9.png create mode 100644 src/res/drawable-hdpi/list_yellow_down.9.png create mode 100644 src/res/drawable-hdpi/list_yellow_middle.9.png create mode 100644 src/res/drawable-hdpi/list_yellow_single.9.png create mode 100644 src/res/drawable-hdpi/list_yellow_up.9.png create mode 100644 src/res/drawable-hdpi/menu_delete.png create mode 100644 src/res/drawable-hdpi/menu_move.png create mode 100644 src/res/drawable-hdpi/menu_top.png create mode 100644 src/res/drawable-hdpi/new_note_normal.png create mode 100644 src/res/drawable-hdpi/new_note_pressed.png create mode 100644 src/res/drawable-hdpi/note_edit_color_selector_panel.png create mode 100644 src/res/drawable-hdpi/notification.png create mode 100644 src/res/drawable-hdpi/search_result.png create mode 100644 src/res/drawable-hdpi/selected.png create mode 100644 src/res/drawable-hdpi/title_alert.png create mode 100644 src/res/drawable-hdpi/title_bar_bg.9.png create mode 100644 src/res/drawable-hdpi/widget_2x_blue.png create mode 100644 src/res/drawable-hdpi/widget_2x_green.png create mode 100644 src/res/drawable-hdpi/widget_2x_red.png create mode 100644 src/res/drawable-hdpi/widget_2x_white.png create mode 100644 src/res/drawable-hdpi/widget_2x_yellow.png create mode 100644 src/res/drawable-hdpi/widget_4x_blue.png create mode 100644 src/res/drawable-hdpi/widget_4x_green.png create mode 100644 src/res/drawable-hdpi/widget_4x_red.png create mode 100644 src/res/drawable-hdpi/widget_4x_white.png create mode 100644 src/res/drawable-hdpi/widget_4x_yellow.png create mode 100644 src/res/drawable/new_note.xml create mode 100644 src/res/layout/account_dialog_title.xml create mode 100644 src/res/layout/add_account_text.xml create mode 100644 src/res/layout/datetime_picker.xml create mode 100644 src/res/layout/dialog_edit_text.xml create mode 100644 src/res/layout/folder_list_item.xml create mode 100644 src/res/layout/note_edit.xml create mode 100644 src/res/layout/note_edit_list_item.xml create mode 100644 src/res/layout/note_item.xml create mode 100644 src/res/layout/note_list.xml create mode 100644 src/res/layout/note_list_dropdown_menu.xml create mode 100644 src/res/layout/note_list_footer.xml create mode 100644 src/res/layout/settings_header.xml create mode 100644 src/res/layout/widget_2x.xml create mode 100644 src/res/layout/widget_4x.xml create mode 100644 src/res/menu/call_note_edit.xml create mode 100644 src/res/menu/call_record_folder.xml create mode 100644 src/res/menu/note_edit.xml create mode 100644 src/res/menu/note_list.xml create mode 100644 src/res/menu/note_list_dropdown.xml create mode 100644 src/res/menu/note_list_options.xml create mode 100644 src/res/menu/sub_folder.xml create mode 100644 src/res/raw-zh-rCN/introduction create mode 100644 src/res/raw/introduction create mode 100644 src/res/values-zh-rCN/arrays.xml create mode 100644 src/res/values-zh-rCN/strings.xml create mode 100644 src/res/values-zh-rTW/arrays.xml create mode 100644 src/res/values-zh-rTW/strings.xml create mode 100644 src/res/values/arrays.xml create mode 100644 src/res/values/colors.xml create mode 100644 src/res/values/dimens.xml create mode 100644 src/res/values/strings.xml create mode 100644 src/res/values/styles.xml create mode 100644 src/res/xml/preferences.xml create mode 100644 src/res/xml/searchable.xml create mode 100644 src/res/xml/widget_2x_info.xml create mode 100644 src/res/xml/widget_4x_info.xml diff --git a/doc/1.docx b/doc/1.docx new file mode 100644 index 0000000000000000000000000000000000000000..97e1b7cc9c08de8fd7ea2c0d8a2175396f1ca37a GIT binary patch literal 14143 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 Dw`LN$ literal 0 HcmV?d00001 diff --git a/src/java/net/micode/notes/data/Contact.java b/src/java/net/micode/notes/data/Contact.java new file mode 100644 index 00000000..d97ac5d7 --- /dev/null +++ b/src/java/net/micode/notes/data/Contact.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.content.Context; +import android.database.Cursor; +import android.provider.ContactsContract.CommonDataKinds.Phone; +import android.provider.ContactsContract.Data; +import android.telephony.PhoneNumberUtils; +import android.util.Log; + +import java.util.HashMap; + +public class Contact { + private static HashMap sContactCache; + private static final String TAG = "Contact"; + + private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER + + ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'" + + " AND " + Data.RAW_CONTACT_ID + " IN " + + "(SELECT raw_contact_id " + + " FROM phone_lookup" + + " WHERE min_match = '+')"; + + public static String getContact(Context context, String phoneNumber) { + if(sContactCache == null) { + sContactCache = new HashMap(); + } + + if(sContactCache.containsKey(phoneNumber)) { + return sContactCache.get(phoneNumber); + } + + String selection = CALLER_ID_SELECTION.replace("+", + PhoneNumberUtils.toCallerIDMinMatch(phoneNumber)); + Cursor cursor = context.getContentResolver().query( + Data.CONTENT_URI, + new String [] { Phone.DISPLAY_NAME }, + selection, + new String[] { phoneNumber }, + null); + + if (cursor != null && cursor.moveToFirst()) { + try { + String name = cursor.getString(0); + sContactCache.put(phoneNumber, name); + return name; + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, " Cursor get string error " + e.toString()); + return null; + } finally { + cursor.close(); + } + } else { + Log.d(TAG, "No contact matched with number:" + phoneNumber); + return null; + } + } +} diff --git a/src/java/net/micode/notes/data/Notes.java b/src/java/net/micode/notes/data/Notes.java new file mode 100644 index 00000000..59013366 --- /dev/null +++ b/src/java/net/micode/notes/data/Notes.java @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.net.Uri; +public class Notes { + public static final String AUTHORITY = "micode_notes"; + public static final String TAG = "Notes"; + public static final int TYPE_NOTE = 0; + public static final int TYPE_FOLDER = 1; + public static final int TYPE_SYSTEM = 2; + + /** + * Following IDs are system folders' identifiers + * {@link Notes#ID_ROOT_FOLDER } is default folder + * {@link Notes#ID_TEMPARAY_FOLDER } is for notes belonging no folder + * {@link Notes#ID_CALL_RECORD_FOLDER} is to store call records + */ + public static final int ID_ROOT_FOLDER = 0; + public static final int ID_TEMPARAY_FOLDER = -1; + public static final int ID_CALL_RECORD_FOLDER = -2; + public static final int ID_TRASH_FOLER = -3; + + public static final String INTENT_EXTRA_ALERT_DATE = "net.micode.notes.alert_date"; + public static final String INTENT_EXTRA_BACKGROUND_ID = "net.micode.notes.background_color_id"; + public static final String INTENT_EXTRA_WIDGET_ID = "net.micode.notes.widget_id"; + public static final String INTENT_EXTRA_WIDGET_TYPE = "net.micode.notes.widget_type"; + public static final String INTENT_EXTRA_FOLDER_ID = "net.micode.notes.folder_id"; + public static final String INTENT_EXTRA_CALL_DATE = "net.micode.notes.call_date"; + + public static final int TYPE_WIDGET_INVALIDE = -1; + public static final int TYPE_WIDGET_2X = 0; + public static final int TYPE_WIDGET_4X = 1; + + public static class DataConstants { + public static final String NOTE = TextNote.CONTENT_ITEM_TYPE; + public static final String CALL_NOTE = CallNote.CONTENT_ITEM_TYPE; + } + + /** + * Uri to query all notes and folders + */ + public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note"); + + /** + * Uri to query data + */ + public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data"); + + public interface NoteColumns { + /** + * The unique ID for a row + *

Type: INTEGER (long)

+ */ + public static final String ID = "_id"; + + /** + * The parent's id for note or folder + *

Type: INTEGER (long)

+ */ + public static final String PARENT_ID = "parent_id"; + + /** + * Created data for note or folder + *

Type: INTEGER (long)

+ */ + public static final String CREATED_DATE = "created_date"; + + /** + * Latest modified date + *

Type: INTEGER (long)

+ */ + public static final String MODIFIED_DATE = "modified_date"; + + + /** + * Alert date + *

Type: INTEGER (long)

+ */ + public static final String ALERTED_DATE = "alert_date"; + + /** + * Folder's name or text content of note + *

Type: TEXT

+ */ + public static final String SNIPPET = "snippet"; + + /** + * Note's widget id + *

Type: INTEGER (long)

+ */ + public static final String WIDGET_ID = "widget_id"; + + /** + * Note's widget type + *

Type: INTEGER (long)

+ */ + public static final String WIDGET_TYPE = "widget_type"; + + /** + * Note's background color's id + *

Type: INTEGER (long)

+ */ + public static final String BG_COLOR_ID = "bg_color_id"; + + /** + * For text note, it doesn't has attachment, for multi-media + * note, it has at least one attachment + *

Type: INTEGER

+ */ + public static final String HAS_ATTACHMENT = "has_attachment"; + + /** + * Folder's count of notes + *

Type: INTEGER (long)

+ */ + public static final String NOTES_COUNT = "notes_count"; + + /** + * The file type: folder or note + *

Type: INTEGER

+ */ + public static final String TYPE = "type"; + + /** + * The last sync id + *

Type: INTEGER (long)

+ */ + public static final String SYNC_ID = "sync_id"; + + /** + * Sign to indicate local modified or not + *

Type: INTEGER

+ */ + public static final String LOCAL_MODIFIED = "local_modified"; + + /** + * Original parent id before moving into temporary folder + *

Type : INTEGER

+ */ + public static final String ORIGIN_PARENT_ID = "origin_parent_id"; + + /** + * The gtask id + *

Type : TEXT

+ */ + public static final String GTASK_ID = "gtask_id"; + + /** + * The version code + *

Type : INTEGER (long)

+ */ + public static final String VERSION = "version"; + + public static final String TOP = "top"; + } + + public interface DataColumns { + /** + * The unique ID for a row + *

Type: INTEGER (long)

+ */ + public static final String ID = "_id"; + + /** + * The MIME type of the item represented by this row. + *

Type: Text

+ */ + public static final String MIME_TYPE = "mime_type"; + + /** + * The reference id to note that this data belongs to + *

Type: INTEGER (long)

+ */ + public static final String NOTE_ID = "note_id"; + + /** + * Created data for note or folder + *

Type: INTEGER (long)

+ */ + public static final String CREATED_DATE = "created_date"; + + /** + * Latest modified date + *

Type: INTEGER (long)

+ */ + public static final String MODIFIED_DATE = "modified_date"; + + /** + * Data's content + *

Type: TEXT

+ */ + public static final String CONTENT = "content"; + + + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA1 = "data1"; + + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * integer data type + *

Type: INTEGER

+ */ + public static final String DATA2 = "data2"; + + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA3 = "data3"; + + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA4 = "data4"; + + /** + * Generic data column, the meaning is {@link #MIMETYPE} specific, used for + * TEXT data type + *

Type: TEXT

+ */ + public static final String DATA5 = "data5"; + } + + public static final class TextNote implements DataColumns { + /** + * Mode to indicate the text in check list mode or not + *

Type: Integer 1:check list mode 0: normal mode

+ */ + public static final String MODE = DATA1; + + public static final int MODE_CHECK_LIST = 1; + + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note"; + + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note"; + + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note"); + } + + public static final class CallNote implements DataColumns { + /** + * Call date for this record + *

Type: INTEGER (long)

+ */ + public static final String CALL_DATE = DATA1; + + /** + * Phone number for this record + *

Type: TEXT

+ */ + public static final String PHONE_NUMBER = DATA3; + + public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_note"; + + public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_note"; + + public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/call_note"); + } +} diff --git a/src/java/net/micode/notes/data/NotesDatabaseHelper.java b/src/java/net/micode/notes/data/NotesDatabaseHelper.java new file mode 100644 index 00000000..1c60af80 --- /dev/null +++ b/src/java/net/micode/notes/data/NotesDatabaseHelper.java @@ -0,0 +1,373 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + +import android.content.ContentValues; +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.database.sqlite.SQLiteOpenHelper; +import android.util.Log; + +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; + + +public class NotesDatabaseHelper extends SQLiteOpenHelper { + private static final String DB_NAME = "note.db"; + + private static final int DB_VERSION = 4; + + public interface TABLE { + public static final String NOTE = "note"; + + public static final String DATA = "data"; + } + + private static final String TAG = "NotesDatabaseHelper"; + + private static NotesDatabaseHelper mInstance; + + private static final String CREATE_NOTE_TABLE_SQL = + "CREATE TABLE " + TABLE.NOTE + "(" + + NoteColumns.ID + " INTEGER PRIMARY KEY," + + NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.ALERTED_DATE + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.BG_COLOR_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.HAS_ATTACHMENT + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.NOTES_COUNT + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.SNIPPET + " TEXT NOT NULL DEFAULT ''," + + NoteColumns.TYPE + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.WIDGET_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.WIDGET_TYPE + " INTEGER NOT NULL DEFAULT -1," + + NoteColumns.SYNC_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.LOCAL_MODIFIED + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.ORIGIN_PARENT_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT 1," + + NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.TOP + " INTEGER NOT NULL DEFAULT 0" + + ")"; + + private static final String CREATE_DATA_TABLE_SQL = + "CREATE TABLE " + TABLE.DATA + "(" + + DataColumns.ID + " INTEGER PRIMARY KEY," + + DataColumns.MIME_TYPE + " TEXT NOT NULL," + + DataColumns.NOTE_ID + " INTEGER NOT NULL DEFAULT 0," + + NoteColumns.CREATED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + NoteColumns.MODIFIED_DATE + " INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)," + + DataColumns.CONTENT + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA1 + " INTEGER," + + DataColumns.DATA2 + " INTEGER," + + DataColumns.DATA3 + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA4 + " TEXT NOT NULL DEFAULT ''," + + DataColumns.DATA5 + " TEXT NOT NULL DEFAULT ''" + + ")"; + + private static final String CREATE_DATA_NOTE_ID_INDEX_SQL = + "CREATE INDEX IF NOT EXISTS note_id_index ON " + + TABLE.DATA + "(" + DataColumns.NOTE_ID + ");"; + + /** + * Increase folder's note count when move note to the folder + */ + private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER increase_folder_count_on_update "+ + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + + " END"; + + /** + * Decrease folder's note count when move note from folder + */ + private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER decrease_folder_count_on_update " + + " AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + + " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + + " AND " + NoteColumns.NOTES_COUNT + ">0" + ";" + + " END"; + + /** + * Increase folder's note count when insert new note to the folder + */ + private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER = + "CREATE TRIGGER increase_folder_count_on_insert " + + " AFTER INSERT ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + " + 1" + + " WHERE " + NoteColumns.ID + "=new." + NoteColumns.PARENT_ID + ";" + + " END"; + + /** + * Decrease folder's note count when delete note from the folder + */ + private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER = + "CREATE TRIGGER decrease_folder_count_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN " + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.NOTES_COUNT + "=" + NoteColumns.NOTES_COUNT + "-1" + + " WHERE " + NoteColumns.ID + "=old." + NoteColumns.PARENT_ID + + " AND " + NoteColumns.NOTES_COUNT + ">0;" + + " END"; + + /** + * Update note's content when insert data with type {@link DataConstants#NOTE} + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER = + "CREATE TRIGGER update_note_content_on_insert " + + " AFTER INSERT ON " + TABLE.DATA + + " WHEN new." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Update note's content when data with {@link DataConstants#NOTE} type has changed + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER = + "CREATE TRIGGER update_note_content_on_update " + + " AFTER UPDATE ON " + TABLE.DATA + + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=new." + DataColumns.CONTENT + + " WHERE " + NoteColumns.ID + "=new." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Update note's content when data with {@link DataConstants#NOTE} type has deleted + */ + private static final String DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER = + "CREATE TRIGGER update_note_content_on_delete " + + " AFTER delete ON " + TABLE.DATA + + " WHEN old." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.SNIPPET + "=''" + + " WHERE " + NoteColumns.ID + "=old." + DataColumns.NOTE_ID + ";" + + " END"; + + /** + * Delete datas belong to note which has been deleted + */ + private static final String NOTE_DELETE_DATA_ON_DELETE_TRIGGER = + "CREATE TRIGGER delete_data_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN" + + " DELETE FROM " + TABLE.DATA + + " WHERE " + DataColumns.NOTE_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + /** + * Delete notes belong to folder which has been deleted + */ + private static final String FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER = + "CREATE TRIGGER folder_delete_notes_on_delete " + + " AFTER DELETE ON " + TABLE.NOTE + + " BEGIN" + + " DELETE FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + /** + * Move notes belong to folder which has been moved to trash folder + */ + private static final String FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER = + "CREATE TRIGGER folder_move_notes_on_trash " + + " AFTER UPDATE ON " + TABLE.NOTE + + " WHEN new." + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + + " BEGIN" + + " UPDATE " + TABLE.NOTE + + " SET " + NoteColumns.PARENT_ID + "=" + Notes.ID_TRASH_FOLER + + " WHERE " + NoteColumns.PARENT_ID + "=old." + NoteColumns.ID + ";" + + " END"; + + public NotesDatabaseHelper(Context context) { + super(context, DB_NAME, null, DB_VERSION); + } + + public void createNoteTable(SQLiteDatabase db) { + db.execSQL(CREATE_NOTE_TABLE_SQL); + reCreateNoteTableTriggers(db); + createSystemFolder(db); + Log.d(TAG, "note table has been created"); + } + + private void reCreateNoteTableTriggers(SQLiteDatabase db) { + db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS delete_data_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS folder_delete_notes_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS folder_move_notes_on_trash"); + + db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); + db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER); + db.execSQL(NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER); + db.execSQL(NOTE_DELETE_DATA_ON_DELETE_TRIGGER); + db.execSQL(NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER); + db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER); + db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER); + } + + private void createSystemFolder(SQLiteDatabase db) { + ContentValues values = new ContentValues(); + + /** + * call record foler for call notes + */ + values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * root folder which is default folder + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * temporary folder which is used for moving note + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + + /** + * create trash folder + */ + values.clear(); + values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + } + + public void createDataTable(SQLiteDatabase db) { + db.execSQL(CREATE_DATA_TABLE_SQL); + reCreateDataTableTriggers(db); + db.execSQL(CREATE_DATA_NOTE_ID_INDEX_SQL); + Log.d(TAG, "data table has been created"); + } + + private void reCreateDataTableTriggers(SQLiteDatabase db) { + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_update"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_content_on_delete"); + + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER); + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_UPDATE_TRIGGER); + db.execSQL(DATA_UPDATE_NOTE_CONTENT_ON_DELETE_TRIGGER); + } + + static synchronized NotesDatabaseHelper getInstance(Context context) { + if (mInstance == null) { + mInstance = new NotesDatabaseHelper(context); + } + return mInstance; + } + + @Override + public void onCreate(SQLiteDatabase db) { + createNoteTable(db); + createDataTable(db); + } + + @Override + public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { + boolean reCreateTriggers = false; + boolean skipV2 = false; + + if (oldVersion == 1) { + upgradeToV2(db); + skipV2 = true; // this upgrade including the upgrade from v2 to v3 + oldVersion++; + } + + if (oldVersion == 2 && !skipV2) { + upgradeToV3(db); + reCreateTriggers = true; + oldVersion++; + } + + if (oldVersion == 3) { + upgradeToV4(db); + oldVersion++; + } + + if (oldVersion == 4) { + upgradeToV5(db); + oldVersion++; + } + + if (reCreateTriggers) { + reCreateNoteTableTriggers(db); + reCreateDataTableTriggers(db); + } + + if (oldVersion != newVersion) { + throw new IllegalStateException("Upgrade notes database to version " + newVersion + + "fails"); + } + } + + private void upgradeToV2(SQLiteDatabase db) { + db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE); + db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA); + createNoteTable(db); + createDataTable(db); + } + + private void upgradeToV3(SQLiteDatabase db) { + // drop unused triggers + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_delete"); + db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_update"); + // add a column for gtask id + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.GTASK_ID + + " TEXT NOT NULL DEFAULT ''"); + // add a trash system folder + ContentValues values = new ContentValues(); + values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER); + values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + db.insert(TABLE.NOTE, null, values); + } + + private void upgradeToV4(SQLiteDatabase db) { + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION + + " INTEGER NOT NULL DEFAULT 0"); + } + + private void upgradeToV5(SQLiteDatabase db) { + db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.TOP + + " INTEGER NOT NULL DEFAULT 0"); + } +} diff --git a/src/java/net/micode/notes/data/NotesProvider.java b/src/java/net/micode/notes/data/NotesProvider.java new file mode 100644 index 00000000..edb0a606 --- /dev/null +++ b/src/java/net/micode/notes/data/NotesProvider.java @@ -0,0 +1,305 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.data; + + +import android.app.SearchManager; +import android.content.ContentProvider; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Intent; +import android.content.UriMatcher; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; +import android.net.Uri; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.R; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.NotesDatabaseHelper.TABLE; + + +public class NotesProvider extends ContentProvider { + private static final UriMatcher mMatcher; + + private NotesDatabaseHelper mHelper; + + private static final String TAG = "NotesProvider"; + + private static final int URI_NOTE = 1; + private static final int URI_NOTE_ITEM = 2; + private static final int URI_DATA = 3; + private static final int URI_DATA_ITEM = 4; + + private static final int URI_SEARCH = 5; + private static final int URI_SEARCH_SUGGEST = 6; + + static { + mMatcher = new UriMatcher(UriMatcher.NO_MATCH); + mMatcher.addURI(Notes.AUTHORITY, "note", URI_NOTE); + mMatcher.addURI(Notes.AUTHORITY, "note/#", URI_NOTE_ITEM); + mMatcher.addURI(Notes.AUTHORITY, "data", URI_DATA); + mMatcher.addURI(Notes.AUTHORITY, "data/#", URI_DATA_ITEM); + mMatcher.addURI(Notes.AUTHORITY, "search", URI_SEARCH); + mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY, URI_SEARCH_SUGGEST); + mMatcher.addURI(Notes.AUTHORITY, SearchManager.SUGGEST_URI_PATH_QUERY + "/*", URI_SEARCH_SUGGEST); + } + + /** + * x'0A' represents the '\n' character in sqlite. For title and content in the search result, + * we will trim '\n' and white space in order to show more information. + */ + private static final String NOTES_SEARCH_PROJECTION = NoteColumns.ID + "," + + NoteColumns.ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_EXTRA_DATA + "," + + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_1 + "," + + "TRIM(REPLACE(" + NoteColumns.SNIPPET + ", x'0A','')) AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + "," + + R.drawable.search_result + " AS " + SearchManager.SUGGEST_COLUMN_ICON_1 + "," + + "'" + Intent.ACTION_VIEW + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_ACTION + "," + + "'" + Notes.TextNote.CONTENT_TYPE + "' AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA; + + private static String NOTES_SNIPPET_SEARCH_QUERY = "SELECT " + NOTES_SEARCH_PROJECTION + + " FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.SNIPPET + " LIKE ?" + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + + " AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE; + + @Override + public boolean onCreate() { + mHelper = NotesDatabaseHelper.getInstance(getContext()); + return true; + } + + @Override + public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, + String sortOrder) { + Cursor c = null; + SQLiteDatabase db = mHelper.getReadableDatabase(); + String id = null; + switch (mMatcher.match(uri)) { + case URI_NOTE: + c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null, + sortOrder); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + c = db.query(TABLE.NOTE, projection, NoteColumns.ID + "=" + id + + parseSelection(selection), selectionArgs, null, null, sortOrder); + break; + case URI_DATA: + c = db.query(TABLE.DATA, projection, selection, selectionArgs, null, null, + sortOrder); + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + c = db.query(TABLE.DATA, projection, DataColumns.ID + "=" + id + + parseSelection(selection), selectionArgs, null, null, sortOrder); + break; + case URI_SEARCH: + case URI_SEARCH_SUGGEST: + if (sortOrder != null || projection != null) { + throw new IllegalArgumentException( + "do not specify sortOrder, selection, selectionArgs, or projection" + "with this query"); + } + + String searchString = null; + if (mMatcher.match(uri) == URI_SEARCH_SUGGEST) { + if (uri.getPathSegments().size() > 1) { + searchString = uri.getPathSegments().get(1); + } + } else { + searchString = uri.getQueryParameter("pattern"); + } + + if (TextUtils.isEmpty(searchString)) { + return null; + } + + try { + searchString = String.format("%%%s%%", searchString); + c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY, + new String[] { searchString }); + } catch (IllegalStateException ex) { + Log.e(TAG, "got exception: " + ex.toString()); + } + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + if (c != null) { + c.setNotificationUri(getContext().getContentResolver(), uri); + } + return c; + } + + @Override + public Uri insert(Uri uri, ContentValues values) { + SQLiteDatabase db = mHelper.getWritableDatabase(); + long dataId = 0, noteId = 0, insertedId = 0; + switch (mMatcher.match(uri)) { + case URI_NOTE: + insertedId = noteId = db.insert(TABLE.NOTE, null, values); + break; + case URI_DATA: + if (values.containsKey(DataColumns.NOTE_ID)) { + noteId = values.getAsLong(DataColumns.NOTE_ID); + } else { + Log.d(TAG, "Wrong data format without note id:" + values.toString()); + } + insertedId = dataId = db.insert(TABLE.DATA, null, values); + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + // Notify the note uri + if (noteId > 0) { + getContext().getContentResolver().notifyChange( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), null); + } + + // Notify the data uri + if (dataId > 0) { + getContext().getContentResolver().notifyChange( + ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), null); + } + + return ContentUris.withAppendedId(uri, insertedId); + } + + @Override + public int delete(Uri uri, String selection, String[] selectionArgs) { + int count = 0; + String id = null; + SQLiteDatabase db = mHelper.getWritableDatabase(); + boolean deleteData = false; + switch (mMatcher.match(uri)) { + case URI_NOTE: + selection = "(" + selection + ") AND " + NoteColumns.ID + ">0 "; + count = db.delete(TABLE.NOTE, selection, selectionArgs); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + /** + * ID that smaller than 0 is system folder which is not allowed to + * trash + */ + long noteId = Long.valueOf(id); + if (noteId <= 0) { + break; + } + count = db.delete(TABLE.NOTE, + NoteColumns.ID + "=" + id + parseSelection(selection), selectionArgs); + break; + case URI_DATA: + count = db.delete(TABLE.DATA, selection, selectionArgs); + deleteData = true; + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + count = db.delete(TABLE.DATA, + DataColumns.ID + "=" + id + parseSelection(selection), selectionArgs); + deleteData = true; + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + if (count > 0) { + if (deleteData) { + getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); + } + getContext().getContentResolver().notifyChange(uri, null); + } + return count; + } + + @Override + public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { + int count = 0; + String id = null; + SQLiteDatabase db = mHelper.getWritableDatabase(); + boolean updateData = false; + switch (mMatcher.match(uri)) { + case URI_NOTE: + increaseNoteVersion(-1, selection, selectionArgs); + count = db.update(TABLE.NOTE, values, selection, selectionArgs); + break; + case URI_NOTE_ITEM: + id = uri.getPathSegments().get(1); + increaseNoteVersion(Long.valueOf(id), selection, selectionArgs); + count = db.update(TABLE.NOTE, values, NoteColumns.ID + "=" + id + + parseSelection(selection), selectionArgs); + break; + case URI_DATA: + count = db.update(TABLE.DATA, values, selection, selectionArgs); + updateData = true; + break; + case URI_DATA_ITEM: + id = uri.getPathSegments().get(1); + count = db.update(TABLE.DATA, values, DataColumns.ID + "=" + id + + parseSelection(selection), selectionArgs); + updateData = true; + break; + default: + throw new IllegalArgumentException("Unknown URI " + uri); + } + + if (count > 0) { + if (updateData) { + getContext().getContentResolver().notifyChange(Notes.CONTENT_NOTE_URI, null); + } + getContext().getContentResolver().notifyChange(uri, null); + } + return count; + } + + private String parseSelection(String selection) { + return (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""); + } + + private void increaseNoteVersion(long id, String selection, String[] selectionArgs) { + StringBuilder sql = new StringBuilder(120); + sql.append("UPDATE "); + sql.append(TABLE.NOTE); + sql.append(" SET "); + sql.append(NoteColumns.VERSION); + sql.append("=" + NoteColumns.VERSION + "+1 "); + + if (id > 0 || !TextUtils.isEmpty(selection)) { + sql.append(" WHERE "); + } + if (id > 0) { + sql.append(NoteColumns.ID + "=" + String.valueOf(id)); + } + if (!TextUtils.isEmpty(selection)) { + String selectString = id > 0 ? parseSelection(selection) : selection; + for (String args : selectionArgs) { + selectString = selectString.replaceFirst("\\?", args); + } + sql.append(selectString); + } + + mHelper.getWritableDatabase().execSQL(sql.toString()); + } + + @Override + public String getType(Uri uri) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/java/net/micode/notes/gtask/data/MetaData.java b/src/java/net/micode/notes/gtask/data/MetaData.java new file mode 100644 index 00000000..3a2050b0 --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/MetaData.java @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.util.Log; + +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONException; +import org.json.JSONObject; + + +public class MetaData extends Task { + private final static String TAG = MetaData.class.getSimpleName(); + + private String mRelatedGid = null; + + public void setMeta(String gid, JSONObject metaInfo) { + try { + metaInfo.put(GTaskStringUtils.META_HEAD_GTASK_ID, gid); + } catch (JSONException e) { + Log.e(TAG, "failed to put related gid"); + } + setNotes(metaInfo.toString()); + setName(GTaskStringUtils.META_NOTE_NAME); + } + + public String getRelatedGid() { + return mRelatedGid; + } + + @Override + public boolean isWorthSaving() { + return getNotes() != null; + } + + @Override + public void setContentByRemoteJSON(JSONObject js) { + super.setContentByRemoteJSON(js); + if (getNotes() != null) { + try { + JSONObject metaInfo = new JSONObject(getNotes().trim()); + mRelatedGid = metaInfo.getString(GTaskStringUtils.META_HEAD_GTASK_ID); + } catch (JSONException e) { + Log.w(TAG, "failed to get related gid"); + mRelatedGid = null; + } + } + } + + @Override + public void setContentByLocalJSON(JSONObject js) { + // this function should not be called + throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called"); + } + + @Override + public JSONObject getLocalJSONFromContent() { + throw new IllegalAccessError("MetaData:getLocalJSONFromContent should not be called"); + } + + @Override + public int getSyncAction(Cursor c) { + throw new IllegalAccessError("MetaData:getSyncAction should not be called"); + } + +} diff --git a/src/java/net/micode/notes/gtask/data/Node.java b/src/java/net/micode/notes/gtask/data/Node.java new file mode 100644 index 00000000..63950e0d --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/Node.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; + +import org.json.JSONObject; + +public abstract class Node { + public static final int SYNC_ACTION_NONE = 0; + + public static final int SYNC_ACTION_ADD_REMOTE = 1; + + public static final int SYNC_ACTION_ADD_LOCAL = 2; + + public static final int SYNC_ACTION_DEL_REMOTE = 3; + + public static final int SYNC_ACTION_DEL_LOCAL = 4; + + public static final int SYNC_ACTION_UPDATE_REMOTE = 5; + + public static final int SYNC_ACTION_UPDATE_LOCAL = 6; + + public static final int SYNC_ACTION_UPDATE_CONFLICT = 7; + + public static final int SYNC_ACTION_ERROR = 8; + + private String mGid; + + private String mName; + + private long mLastModified; + + private boolean mDeleted; + + public Node() { + mGid = null; + mName = ""; + mLastModified = 0; + mDeleted = false; + } + + public abstract JSONObject getCreateAction(int actionId); + + public abstract JSONObject getUpdateAction(int actionId); + + public abstract void setContentByRemoteJSON(JSONObject js); + + public abstract void setContentByLocalJSON(JSONObject js); + + public abstract JSONObject getLocalJSONFromContent(); + + public abstract int getSyncAction(Cursor c); + + public void setGid(String gid) { + this.mGid = gid; + } + + public void setName(String name) { + this.mName = name; + } + + public void setLastModified(long lastModified) { + this.mLastModified = lastModified; + } + + public void setDeleted(boolean deleted) { + this.mDeleted = deleted; + } + + public String getGid() { + return this.mGid; + } + + public String getName() { + return this.mName; + } + + public long getLastModified() { + return this.mLastModified; + } + + public boolean getDeleted() { + return this.mDeleted; + } + +} diff --git a/src/java/net/micode/notes/gtask/data/SqlData.java b/src/java/net/micode/notes/gtask/data/SqlData.java new file mode 100644 index 00000000..d3ec3be1 --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/SqlData.java @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.NotesDatabaseHelper.TABLE; +import net.micode.notes.gtask.exception.ActionFailureException; + +import org.json.JSONException; +import org.json.JSONObject; + + +public class SqlData { + private static final String TAG = SqlData.class.getSimpleName(); + + private static final int INVALID_ID = -99999; + + public static final String[] PROJECTION_DATA = new String[] { + DataColumns.ID, DataColumns.MIME_TYPE, DataColumns.CONTENT, DataColumns.DATA1, + DataColumns.DATA3 + }; + + public static final int DATA_ID_COLUMN = 0; + + public static final int DATA_MIME_TYPE_COLUMN = 1; + + public static final int DATA_CONTENT_COLUMN = 2; + + public static final int DATA_CONTENT_DATA_1_COLUMN = 3; + + public static final int DATA_CONTENT_DATA_3_COLUMN = 4; + + private ContentResolver mContentResolver; + + private boolean mIsCreate; + + private long mDataId; + + private String mDataMimeType; + + private String mDataContent; + + private long mDataContentData1; + + private String mDataContentData3; + + private ContentValues mDiffDataValues; + + public SqlData(Context context) { + mContentResolver = context.getContentResolver(); + mIsCreate = true; + mDataId = INVALID_ID; + mDataMimeType = DataConstants.NOTE; + mDataContent = ""; + mDataContentData1 = 0; + mDataContentData3 = ""; + mDiffDataValues = new ContentValues(); + } + + public SqlData(Context context, Cursor c) { + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(c); + mDiffDataValues = new ContentValues(); + } + + private void loadFromCursor(Cursor c) { + mDataId = c.getLong(DATA_ID_COLUMN); + mDataMimeType = c.getString(DATA_MIME_TYPE_COLUMN); + mDataContent = c.getString(DATA_CONTENT_COLUMN); + mDataContentData1 = c.getLong(DATA_CONTENT_DATA_1_COLUMN); + mDataContentData3 = c.getString(DATA_CONTENT_DATA_3_COLUMN); + } + + public void setContent(JSONObject js) throws JSONException { + long dataId = js.has(DataColumns.ID) ? js.getLong(DataColumns.ID) : INVALID_ID; + if (mIsCreate || mDataId != dataId) { + mDiffDataValues.put(DataColumns.ID, dataId); + } + mDataId = dataId; + + String dataMimeType = js.has(DataColumns.MIME_TYPE) ? js.getString(DataColumns.MIME_TYPE) + : DataConstants.NOTE; + if (mIsCreate || !mDataMimeType.equals(dataMimeType)) { + mDiffDataValues.put(DataColumns.MIME_TYPE, dataMimeType); + } + mDataMimeType = dataMimeType; + + String dataContent = js.has(DataColumns.CONTENT) ? js.getString(DataColumns.CONTENT) : ""; + if (mIsCreate || !mDataContent.equals(dataContent)) { + mDiffDataValues.put(DataColumns.CONTENT, dataContent); + } + mDataContent = dataContent; + + long dataContentData1 = js.has(DataColumns.DATA1) ? js.getLong(DataColumns.DATA1) : 0; + if (mIsCreate || mDataContentData1 != dataContentData1) { + mDiffDataValues.put(DataColumns.DATA1, dataContentData1); + } + mDataContentData1 = dataContentData1; + + String dataContentData3 = js.has(DataColumns.DATA3) ? js.getString(DataColumns.DATA3) : ""; + if (mIsCreate || !mDataContentData3.equals(dataContentData3)) { + mDiffDataValues.put(DataColumns.DATA3, dataContentData3); + } + mDataContentData3 = dataContentData3; + } + + public JSONObject getContent() throws JSONException { + if (mIsCreate) { + Log.e(TAG, "it seems that we haven't created this in database yet"); + return null; + } + JSONObject js = new JSONObject(); + js.put(DataColumns.ID, mDataId); + js.put(DataColumns.MIME_TYPE, mDataMimeType); + js.put(DataColumns.CONTENT, mDataContent); + js.put(DataColumns.DATA1, mDataContentData1); + js.put(DataColumns.DATA3, mDataContentData3); + return js; + } + + public void commit(long noteId, boolean validateVersion, long version) { + + if (mIsCreate) { + if (mDataId == INVALID_ID && mDiffDataValues.containsKey(DataColumns.ID)) { + mDiffDataValues.remove(DataColumns.ID); + } + + mDiffDataValues.put(DataColumns.NOTE_ID, noteId); + Uri uri = mContentResolver.insert(Notes.CONTENT_DATA_URI, mDiffDataValues); + try { + mDataId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + throw new ActionFailureException("create note failed"); + } + } else { + if (mDiffDataValues.size() > 0) { + int result = 0; + if (!validateVersion) { + result = mContentResolver.update(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, null, null); + } else { + result = mContentResolver.update(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mDataId), mDiffDataValues, + " ? in (SELECT " + NoteColumns.ID + " FROM " + TABLE.NOTE + + " WHERE " + NoteColumns.VERSION + "=?)", new String[] { + String.valueOf(noteId), String.valueOf(version) + }); + } + if (result == 0) { + Log.w(TAG, "there is no update. maybe user updates note when syncing"); + } + } + } + + mDiffDataValues.clear(); + mIsCreate = false; + } + + public long getId() { + return mDataId; + } +} diff --git a/src/java/net/micode/notes/gtask/data/SqlNote.java b/src/java/net/micode/notes/gtask/data/SqlNote.java new file mode 100644 index 00000000..5fb6489d --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/SqlNote.java @@ -0,0 +1,516 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.appwidget.AppWidgetManager; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.net.Uri; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; +import net.micode.notes.tool.ResourceParser; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; + + +public class SqlNote { + private static final String TAG = SqlNote.class.getSimpleName(); + + private static final int INVALID_ID = -99999; + + public static final String[] PROJECTION_NOTE = new String[] { + NoteColumns.ID, NoteColumns.ALERTED_DATE, NoteColumns.BG_COLOR_ID, + NoteColumns.CREATED_DATE, NoteColumns.HAS_ATTACHMENT, NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, NoteColumns.PARENT_ID, NoteColumns.SNIPPET, NoteColumns.TYPE, + NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE, NoteColumns.SYNC_ID, + NoteColumns.LOCAL_MODIFIED, NoteColumns.ORIGIN_PARENT_ID, NoteColumns.GTASK_ID, + NoteColumns.VERSION,NoteColumns.TOP + }; + + public static final int ID_COLUMN = 0; + + public static final int ALERTED_DATE_COLUMN = 1; + + public static final int BG_COLOR_ID_COLUMN = 2; + + public static final int CREATED_DATE_COLUMN = 3; + + public static final int HAS_ATTACHMENT_COLUMN = 4; + + public static final int MODIFIED_DATE_COLUMN = 5; + + public static final int NOTES_COUNT_COLUMN = 6; + + public static final int PARENT_ID_COLUMN = 7; + + public static final int SNIPPET_COLUMN = 8; + + public static final int TYPE_COLUMN = 9; + + public static final int WIDGET_ID_COLUMN = 10; + + public static final int WIDGET_TYPE_COLUMN = 11; + + public static final int SYNC_ID_COLUMN = 12; + + public static final int LOCAL_MODIFIED_COLUMN = 13; + + public static final int ORIGIN_PARENT_ID_COLUMN = 14; + + public static final int GTASK_ID_COLUMN = 15; + + public static final int VERSION_COLUMN = 16; + + public static final int Top_COLUMN = 17; + + private Context mContext; + + private ContentResolver mContentResolver; + + private boolean mIsCreate; + + private long mId; + + private long mAlertDate; + + private int mBgColorId; + + private long mCreatedDate; + + private int mHasAttachment; + + private long mModifiedDate; + + private long mParentId; + + private String mSnippet; + + private int mType; + + private int mWidgetId; + + private int mWidgetType; + + private long mOriginParent; + + private long mVersion; + + private String mTop; + + private ContentValues mDiffNoteValues; + + private ArrayList mDataList; + + public SqlNote(Context context) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = true; + mId = INVALID_ID; + mAlertDate = 0; + mBgColorId = ResourceParser.getDefaultBgId(context); + mCreatedDate = System.currentTimeMillis(); + mHasAttachment = 0; + mModifiedDate = System.currentTimeMillis(); + mParentId = 0; + mSnippet = ""; + mType = Notes.TYPE_NOTE; + mWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; + mWidgetType = Notes.TYPE_WIDGET_INVALIDE; + mOriginParent = 0; + mVersion = 0; + mTop = getmTop(); + mDiffNoteValues = new ContentValues(); + mDataList = new ArrayList(); + } + + public SqlNote(Context context, Cursor c) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(c); + mDataList = new ArrayList(); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + mDiffNoteValues = new ContentValues(); + mTop = getmTop(); + } + + public SqlNote(Context context, long id) { + mContext = context; + mContentResolver = context.getContentResolver(); + mIsCreate = false; + loadFromCursor(id); + mDataList = new ArrayList(); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + mDiffNoteValues = new ContentValues(); + mTop = getmTop(); + } + + public String getmTop(){ + return mTop; + } + + private void loadFromCursor(long id) { + Cursor c = null; + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, PROJECTION_NOTE, "(_id=?)", + new String[] { + String.valueOf(id) + }, null); + if (c != null) { + c.moveToNext(); + loadFromCursor(c); + } else { + Log.w(TAG, "loadFromCursor: cursor = null"); + } + } finally { + if (c != null) + c.close(); + } + } + + private void loadFromCursor(Cursor c) { + mId = c.getLong(ID_COLUMN); + mAlertDate = c.getLong(ALERTED_DATE_COLUMN); + mBgColorId = c.getInt(BG_COLOR_ID_COLUMN); + mCreatedDate = c.getLong(CREATED_DATE_COLUMN); + mHasAttachment = c.getInt(HAS_ATTACHMENT_COLUMN); + mModifiedDate = c.getLong(MODIFIED_DATE_COLUMN); + mParentId = c.getLong(PARENT_ID_COLUMN); + mSnippet = c.getString(SNIPPET_COLUMN); + mType = c.getInt(TYPE_COLUMN); + mWidgetId = c.getInt(WIDGET_ID_COLUMN); + mWidgetType = c.getInt(WIDGET_TYPE_COLUMN); + mVersion = c.getLong(VERSION_COLUMN); + mTop = c.getString(Top_COLUMN); + } + + private void loadDataContent() { + Cursor c = null; + mDataList.clear(); + try { + c = mContentResolver.query(Notes.CONTENT_DATA_URI, SqlData.PROJECTION_DATA, + "(note_id=?)", new String[] { + String.valueOf(mId) + }, null); + if (c != null) { + if (c.getCount() == 0) { + Log.w(TAG, "it seems that the note has not data"); + return; + } + while (c.moveToNext()) { + SqlData data = new SqlData(mContext, c); + mDataList.add(data); + } + } else { + Log.w(TAG, "loadDataContent: cursor = null"); + } + } finally { + if (c != null) + c.close(); + } + } + + public boolean setContent(JSONObject js) { + try { + JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + Log.w(TAG, "cannot set system folder"); + } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { + // for folder we can only update the snnipet and type + String snippet = note.has(NoteColumns.SNIPPET) ? note + .getString(NoteColumns.SNIPPET) : ""; + if (mIsCreate || !mSnippet.equals(snippet)) { + mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); + } + mSnippet = snippet; + + int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) + : Notes.TYPE_NOTE; + if (mIsCreate || mType != type) { + mDiffNoteValues.put(NoteColumns.TYPE, type); + } + mType = type; + } else if (note.getInt(NoteColumns.TYPE) == Notes.TYPE_NOTE) { + JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + long id = note.has(NoteColumns.ID) ? note.getLong(NoteColumns.ID) : INVALID_ID; + if (mIsCreate || mId != id) { + mDiffNoteValues.put(NoteColumns.ID, id); + } + mId = id; + + long alertDate = note.has(NoteColumns.ALERTED_DATE) ? note + .getLong(NoteColumns.ALERTED_DATE) : 0; + if (mIsCreate || mAlertDate != alertDate) { + mDiffNoteValues.put(NoteColumns.ALERTED_DATE, alertDate); + } + mAlertDate = alertDate; + + int bgColorId = note.has(NoteColumns.BG_COLOR_ID) ? note + .getInt(NoteColumns.BG_COLOR_ID) : ResourceParser.getDefaultBgId(mContext); + if (mIsCreate || mBgColorId != bgColorId) { + mDiffNoteValues.put(NoteColumns.BG_COLOR_ID, bgColorId); + } + mBgColorId = bgColorId; + + long createDate = note.has(NoteColumns.CREATED_DATE) ? note + .getLong(NoteColumns.CREATED_DATE) : System.currentTimeMillis(); + if (mIsCreate || mCreatedDate != createDate) { + mDiffNoteValues.put(NoteColumns.CREATED_DATE, createDate); + } + mCreatedDate = createDate; + + int hasAttachment = note.has(NoteColumns.HAS_ATTACHMENT) ? note + .getInt(NoteColumns.HAS_ATTACHMENT) : 0; + if (mIsCreate || mHasAttachment != hasAttachment) { + mDiffNoteValues.put(NoteColumns.HAS_ATTACHMENT, hasAttachment); + } + mHasAttachment = hasAttachment; + + long modifiedDate = note.has(NoteColumns.MODIFIED_DATE) ? note + .getLong(NoteColumns.MODIFIED_DATE) : System.currentTimeMillis(); + if (mIsCreate || mModifiedDate != modifiedDate) { + mDiffNoteValues.put(NoteColumns.MODIFIED_DATE, modifiedDate); + } + mModifiedDate = modifiedDate; + + long parentId = note.has(NoteColumns.PARENT_ID) ? note + .getLong(NoteColumns.PARENT_ID) : 0; + if (mIsCreate || mParentId != parentId) { + mDiffNoteValues.put(NoteColumns.PARENT_ID, parentId); + } + mParentId = parentId; + + String snippet = note.has(NoteColumns.SNIPPET) ? note + .getString(NoteColumns.SNIPPET) : ""; + if (mIsCreate || !mSnippet.equals(snippet)) { + mDiffNoteValues.put(NoteColumns.SNIPPET, snippet); + } + mSnippet = snippet; + + int type = note.has(NoteColumns.TYPE) ? note.getInt(NoteColumns.TYPE) + : Notes.TYPE_NOTE; + if (mIsCreate || mType != type) { + mDiffNoteValues.put(NoteColumns.TYPE, type); + } + mType = type; + + int widgetId = note.has(NoteColumns.WIDGET_ID) ? note.getInt(NoteColumns.WIDGET_ID) + : AppWidgetManager.INVALID_APPWIDGET_ID; + if (mIsCreate || mWidgetId != widgetId) { + mDiffNoteValues.put(NoteColumns.WIDGET_ID, widgetId); + } + mWidgetId = widgetId; + + int widgetType = note.has(NoteColumns.WIDGET_TYPE) ? note + .getInt(NoteColumns.WIDGET_TYPE) : Notes.TYPE_WIDGET_INVALIDE; + if (mIsCreate || mWidgetType != widgetType) { + mDiffNoteValues.put(NoteColumns.WIDGET_TYPE, widgetType); + } + mWidgetType = widgetType; + + long originParent = note.has(NoteColumns.ORIGIN_PARENT_ID) ? note + .getLong(NoteColumns.ORIGIN_PARENT_ID) : 0; + if (mIsCreate || mOriginParent != originParent) { + mDiffNoteValues.put(NoteColumns.ORIGIN_PARENT_ID, originParent); + } + mOriginParent = originParent; + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + SqlData sqlData = null; + if (data.has(DataColumns.ID)) { + long dataId = data.getLong(DataColumns.ID); + for (SqlData temp : mDataList) { + if (dataId == temp.getId()) { + sqlData = temp; + } + } + } + + if (sqlData == null) { + sqlData = new SqlData(mContext); + mDataList.add(sqlData); + } + + sqlData.setContent(data); + } + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return false; + } + return true; + } + + public JSONObject getContent() { + try { + JSONObject js = new JSONObject(); + + if (mIsCreate) { + Log.e(TAG, "it seems that we haven't created this in database yet"); + return null; + } + + JSONObject note = new JSONObject(); + if (mType == Notes.TYPE_NOTE) { + note.put(NoteColumns.ID, mId); + note.put(NoteColumns.ALERTED_DATE, mAlertDate); + note.put(NoteColumns.BG_COLOR_ID, mBgColorId); + note.put(NoteColumns.CREATED_DATE, mCreatedDate); + note.put(NoteColumns.HAS_ATTACHMENT, mHasAttachment); + note.put(NoteColumns.MODIFIED_DATE, mModifiedDate); + note.put(NoteColumns.PARENT_ID, mParentId); + note.put(NoteColumns.SNIPPET, mSnippet); + note.put(NoteColumns.TYPE, mType); + note.put(NoteColumns.WIDGET_ID, mWidgetId); + note.put(NoteColumns.WIDGET_TYPE, mWidgetType); + note.put(NoteColumns.ORIGIN_PARENT_ID, mOriginParent); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + + JSONArray dataArray = new JSONArray(); + for (SqlData sqlData : mDataList) { + JSONObject data = sqlData.getContent(); + if (data != null) { + dataArray.put(data); + } + } + js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); + } else if (mType == Notes.TYPE_FOLDER || mType == Notes.TYPE_SYSTEM) { + note.put(NoteColumns.ID, mId); + note.put(NoteColumns.TYPE, mType); + note.put(NoteColumns.SNIPPET, mSnippet); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + } + + return js; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + return null; + } + + public void setParentId(long id) { + mParentId = id; + mDiffNoteValues.put(NoteColumns.PARENT_ID, id); + } + + public void setGtaskId(String gid) { + mDiffNoteValues.put(NoteColumns.GTASK_ID, gid); + } + + public void setSyncId(long syncId) { + mDiffNoteValues.put(NoteColumns.SYNC_ID, syncId); + } + + public void resetLocalModified() { + mDiffNoteValues.put(NoteColumns.LOCAL_MODIFIED, 0); + } + + public long getId() { + return mId; + } + + public long getParentId() { + return mParentId; + } + + public String getSnippet() { + return mSnippet; + } + + public boolean isNoteType() { + return mType == Notes.TYPE_NOTE; + } + + public void commit(boolean validateVersion) { + if (mIsCreate) { + if (mId == INVALID_ID && mDiffNoteValues.containsKey(NoteColumns.ID)) { + mDiffNoteValues.remove(NoteColumns.ID); + } + + Uri uri = mContentResolver.insert(Notes.CONTENT_NOTE_URI, mDiffNoteValues); + try { + mId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + throw new ActionFailureException("create note failed"); + } + if (mId == 0) { + throw new IllegalStateException("Create thread id failed"); + } + + if (mType == Notes.TYPE_NOTE) { + for (SqlData sqlData : mDataList) { + sqlData.commit(mId, false, -1); + } + } + } else { + if (mId <= 0 && mId != Notes.ID_ROOT_FOLDER && mId != Notes.ID_CALL_RECORD_FOLDER) { + Log.e(TAG, "No such note"); + throw new IllegalStateException("Try to update note with invalid id"); + } + if (mDiffNoteValues.size() > 0) { + mVersion ++; + int result = 0; + if (!validateVersion) { + result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + + NoteColumns.ID + "=?)", new String[] { + String.valueOf(mId) + }); + } else { + result = mContentResolver.update(Notes.CONTENT_NOTE_URI, mDiffNoteValues, "(" + + NoteColumns.ID + "=?) AND (" + NoteColumns.VERSION + "<=?)", + new String[] { + String.valueOf(mId), String.valueOf(mVersion) + }); + } + if (result == 0) { + Log.w(TAG, "there is no update. maybe user updates note when syncing"); + } + } + + if (mType == Notes.TYPE_NOTE) { + for (SqlData sqlData : mDataList) { + sqlData.commit(mId, validateVersion, mVersion); + } + } + } + + // refresh local info + loadFromCursor(mId); + if (mType == Notes.TYPE_NOTE) + loadDataContent(); + + mDiffNoteValues.clear(); + mIsCreate = false; + } +} diff --git a/src/java/net/micode/notes/gtask/data/Task.java b/src/java/net/micode/notes/gtask/data/Task.java new file mode 100644 index 00000000..6a19454d --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/Task.java @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + + +public class Task extends Node { + private static final String TAG = Task.class.getSimpleName(); + + private boolean mCompleted; + + private String mNotes; + + private JSONObject mMetaInfo; + + private Task mPriorSibling; + + private TaskList mParent; + + public Task() { + super(); + mCompleted = false; + mNotes = null; + mPriorSibling = null; + mParent = null; + mMetaInfo = null; + } + + public JSONObject getCreateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // index + js.put(GTaskStringUtils.GTASK_JSON_INDEX, mParent.getChildTaskIndex(this)); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_TASK); + if (getNotes() != null) { + entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); + } + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + // parent_id + js.put(GTaskStringUtils.GTASK_JSON_PARENT_ID, mParent.getGid()); + + // dest_parent_type + js.put(GTaskStringUtils.GTASK_JSON_DEST_PARENT_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_GROUP); + + // list_id + js.put(GTaskStringUtils.GTASK_JSON_LIST_ID, mParent.getGid()); + + // prior_sibling_id + if (mPriorSibling != null) { + js.put(GTaskStringUtils.GTASK_JSON_PRIOR_SIBLING_ID, mPriorSibling.getGid()); + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate task-create jsonobject"); + } + + return js; + } + + public JSONObject getUpdateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // id + js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + if (getNotes() != null) { + entity.put(GTaskStringUtils.GTASK_JSON_NOTES, getNotes()); + } + entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate task-update jsonobject"); + } + + return js; + } + + public void setContentByRemoteJSON(JSONObject js) { + if (js != null) { + try { + // id + if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); + } + + // last_modified + if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); + } + + // name + if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); + } + + // notes + if (js.has(GTaskStringUtils.GTASK_JSON_NOTES)) { + setNotes(js.getString(GTaskStringUtils.GTASK_JSON_NOTES)); + } + + // deleted + if (js.has(GTaskStringUtils.GTASK_JSON_DELETED)) { + setDeleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_DELETED)); + } + + // completed + if (js.has(GTaskStringUtils.GTASK_JSON_COMPLETED)) { + setCompleted(js.getBoolean(GTaskStringUtils.GTASK_JSON_COMPLETED)); + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to get task content from jsonobject"); + } + } + } + + public void setContentByLocalJSON(JSONObject js) { + if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE) + || !js.has(GTaskStringUtils.META_HEAD_DATA)) { + Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); + } + + try { + JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + + if (note.getInt(NoteColumns.TYPE) != Notes.TYPE_NOTE) { + Log.e(TAG, "invalid type"); + return; + } + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + setName(data.getString(DataColumns.CONTENT)); + break; + } + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + } + + public JSONObject getLocalJSONFromContent() { + String name = getName(); + try { + if (mMetaInfo == null) { + // new task created from web + if (name == null) { + Log.w(TAG, "the note seems to be an empty one"); + return null; + } + + JSONObject js = new JSONObject(); + JSONObject note = new JSONObject(); + JSONArray dataArray = new JSONArray(); + JSONObject data = new JSONObject(); + data.put(DataColumns.CONTENT, name); + dataArray.put(data); + js.put(GTaskStringUtils.META_HEAD_DATA, dataArray); + note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + js.put(GTaskStringUtils.META_HEAD_NOTE, note); + return js; + } else { + // synced task + JSONObject note = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + JSONArray dataArray = mMetaInfo.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + if (TextUtils.equals(data.getString(DataColumns.MIME_TYPE), DataConstants.NOTE)) { + data.put(DataColumns.CONTENT, getName()); + break; + } + } + + note.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + return mMetaInfo; + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return null; + } + } + + public void setMetaInfo(MetaData metaData) { + if (metaData != null && metaData.getNotes() != null) { + try { + mMetaInfo = new JSONObject(metaData.getNotes()); + } catch (JSONException e) { + Log.w(TAG, e.toString()); + mMetaInfo = null; + } + } + } + + public int getSyncAction(Cursor c) { + try { + JSONObject noteInfo = null; + if (mMetaInfo != null && mMetaInfo.has(GTaskStringUtils.META_HEAD_NOTE)) { + noteInfo = mMetaInfo.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + } + + if (noteInfo == null) { + Log.w(TAG, "it seems that note meta has been deleted"); + return SYNC_ACTION_UPDATE_REMOTE; + } + + if (!noteInfo.has(NoteColumns.ID)) { + Log.w(TAG, "remote note id seems to be deleted"); + return SYNC_ACTION_UPDATE_LOCAL; + } + + // validate the note id now + if (c.getLong(SqlNote.ID_COLUMN) != noteInfo.getLong(NoteColumns.ID)) { + Log.w(TAG, "note id doesn't match"); + return SYNC_ACTION_UPDATE_LOCAL; + } + + if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { + // there is no local update + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // no update both side + return SYNC_ACTION_NONE; + } else { + // apply remote to local + return SYNC_ACTION_UPDATE_LOCAL; + } + } else { + // validate gtask id + if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { + Log.e(TAG, "gtask id doesn't match"); + return SYNC_ACTION_ERROR; + } + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // local modification only + return SYNC_ACTION_UPDATE_REMOTE; + } else { + return SYNC_ACTION_UPDATE_CONFLICT; + } + } + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + + return SYNC_ACTION_ERROR; + } + + public boolean isWorthSaving() { + return mMetaInfo != null || (getName() != null && getName().trim().length() > 0) + || (getNotes() != null && getNotes().trim().length() > 0); + } + + public void setCompleted(boolean completed) { + this.mCompleted = completed; + } + + public void setNotes(String notes) { + this.mNotes = notes; + } + + public void setPriorSibling(Task priorSibling) { + this.mPriorSibling = priorSibling; + } + + public void setParent(TaskList parent) { + this.mParent = parent; + } + + public boolean getCompleted() { + return this.mCompleted; + } + + public String getNotes() { + return this.mNotes; + } + + public Task getPriorSibling() { + return this.mPriorSibling; + } + + public TaskList getParent() { + return this.mParent; + } + +} diff --git a/src/java/net/micode/notes/gtask/data/TaskList.java b/src/java/net/micode/notes/gtask/data/TaskList.java new file mode 100644 index 00000000..4ea21c5b --- /dev/null +++ b/src/java/net/micode/notes/gtask/data/TaskList.java @@ -0,0 +1,343 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.data; + +import android.database.Cursor; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; + + +public class TaskList extends Node { + private static final String TAG = TaskList.class.getSimpleName(); + + private int mIndex; + + private ArrayList mChildren; + + public TaskList() { + super(); + mChildren = new ArrayList(); + mIndex = 1; + } + + public JSONObject getCreateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_CREATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // index + js.put(GTaskStringUtils.GTASK_JSON_INDEX, mIndex); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_CREATOR_ID, "null"); + entity.put(GTaskStringUtils.GTASK_JSON_ENTITY_TYPE, + GTaskStringUtils.GTASK_JSON_TYPE_GROUP); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate tasklist-create jsonobject"); + } + + return js; + } + + public JSONObject getUpdateAction(int actionId) { + JSONObject js = new JSONObject(); + + try { + // action_type + js.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_UPDATE); + + // action_id + js.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, actionId); + + // id + js.put(GTaskStringUtils.GTASK_JSON_ID, getGid()); + + // entity_delta + JSONObject entity = new JSONObject(); + entity.put(GTaskStringUtils.GTASK_JSON_NAME, getName()); + entity.put(GTaskStringUtils.GTASK_JSON_DELETED, getDeleted()); + js.put(GTaskStringUtils.GTASK_JSON_ENTITY_DELTA, entity); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to generate tasklist-update jsonobject"); + } + + return js; + } + + public void setContentByRemoteJSON(JSONObject js) { + if (js != null) { + try { + // id + if (js.has(GTaskStringUtils.GTASK_JSON_ID)) { + setGid(js.getString(GTaskStringUtils.GTASK_JSON_ID)); + } + + // last_modified + if (js.has(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)) { + setLastModified(js.getLong(GTaskStringUtils.GTASK_JSON_LAST_MODIFIED)); + } + + // name + if (js.has(GTaskStringUtils.GTASK_JSON_NAME)) { + setName(js.getString(GTaskStringUtils.GTASK_JSON_NAME)); + } + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("fail to get tasklist content from jsonobject"); + } + } + } + + public void setContentByLocalJSON(JSONObject js) { + if (js == null || !js.has(GTaskStringUtils.META_HEAD_NOTE)) { + Log.w(TAG, "setContentByLocalJSON: nothing is avaiable"); + } + + try { + JSONObject folder = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + + if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_FOLDER) { + String name = folder.getString(NoteColumns.SNIPPET); + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + name); + } else if (folder.getInt(NoteColumns.TYPE) == Notes.TYPE_SYSTEM) { + if (folder.getLong(NoteColumns.ID) == Notes.ID_ROOT_FOLDER) + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT); + else if (folder.getLong(NoteColumns.ID) == Notes.ID_CALL_RECORD_FOLDER) + setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + + GTaskStringUtils.FOLDER_CALL_NOTE); + else + Log.e(TAG, "invalid system folder"); + } else { + Log.e(TAG, "error type"); + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + } + + public JSONObject getLocalJSONFromContent() { + try { + JSONObject js = new JSONObject(); + JSONObject folder = new JSONObject(); + + String folderName = getName(); + if (getName().startsWith(GTaskStringUtils.MIUI_FOLDER_PREFFIX)) + folderName = folderName.substring(GTaskStringUtils.MIUI_FOLDER_PREFFIX.length(), + folderName.length()); + folder.put(NoteColumns.SNIPPET, folderName); + if (folderName.equals(GTaskStringUtils.FOLDER_DEFAULT) + || folderName.equals(GTaskStringUtils.FOLDER_CALL_NOTE)) + folder.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM); + else + folder.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + + js.put(GTaskStringUtils.META_HEAD_NOTE, folder); + + return js; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return null; + } + } + + public int getSyncAction(Cursor c) { + try { + if (c.getInt(SqlNote.LOCAL_MODIFIED_COLUMN) == 0) { + // there is no local update + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // no update both side + return SYNC_ACTION_NONE; + } else { + // apply remote to local + return SYNC_ACTION_UPDATE_LOCAL; + } + } else { + // validate gtask id + if (!c.getString(SqlNote.GTASK_ID_COLUMN).equals(getGid())) { + Log.e(TAG, "gtask id doesn't match"); + return SYNC_ACTION_ERROR; + } + if (c.getLong(SqlNote.SYNC_ID_COLUMN) == getLastModified()) { + // local modification only + return SYNC_ACTION_UPDATE_REMOTE; + } else { + // for folder conflicts, just apply local modification + return SYNC_ACTION_UPDATE_REMOTE; + } + } + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + } + + return SYNC_ACTION_ERROR; + } + + public int getChildTaskCount() { + return mChildren.size(); + } + + public boolean addChildTask(Task task) { + boolean ret = false; + if (task != null && !mChildren.contains(task)) { + ret = mChildren.add(task); + if (ret) { + // need to set prior sibling and parent + task.setPriorSibling(mChildren.isEmpty() ? null : mChildren + .get(mChildren.size() - 1)); + task.setParent(this); + } + } + return ret; + } + + public boolean addChildTask(Task task, int index) { + if (index < 0 || index > mChildren.size()) { + Log.e(TAG, "add child task: invalid index"); + return false; + } + + int pos = mChildren.indexOf(task); + if (task != null && pos == -1) { + mChildren.add(index, task); + + // update the task list + Task preTask = null; + Task afterTask = null; + if (index != 0) + preTask = mChildren.get(index - 1); + if (index != mChildren.size() - 1) + afterTask = mChildren.get(index + 1); + + task.setPriorSibling(preTask); + if (afterTask != null) + afterTask.setPriorSibling(task); + } + + return true; + } + + public boolean removeChildTask(Task task) { + boolean ret = false; + int index = mChildren.indexOf(task); + if (index != -1) { + ret = mChildren.remove(task); + + if (ret) { + // reset prior sibling and parent + task.setPriorSibling(null); + task.setParent(null); + + // update the task list + if (index != mChildren.size()) { + mChildren.get(index).setPriorSibling( + index == 0 ? null : mChildren.get(index - 1)); + } + } + } + return ret; + } + + public boolean moveChildTask(Task task, int index) { + + if (index < 0 || index >= mChildren.size()) { + Log.e(TAG, "move child task: invalid index"); + return false; + } + + int pos = mChildren.indexOf(task); + if (pos == -1) { + Log.e(TAG, "move child task: the task should in the list"); + return false; + } + + if (pos == index) + return true; + return (removeChildTask(task) && addChildTask(task, index)); + } + + public Task findChildTaskByGid(String gid) { + for (int i = 0; i < mChildren.size(); i++) { + Task t = mChildren.get(i); + if (t.getGid().equals(gid)) { + return t; + } + } + return null; + } + + public int getChildTaskIndex(Task task) { + return mChildren.indexOf(task); + } + + public Task getChildTaskByIndex(int index) { + if (index < 0 || index >= mChildren.size()) { + Log.e(TAG, "getTaskByIndex: invalid index"); + return null; + } + return mChildren.get(index); + } + + public Task getChilTaskByGid(String gid) { + for (Task task : mChildren) { + if (task.getGid().equals(gid)) + return task; + } + return null; + } + + public ArrayList getChildTaskList() { + return this.mChildren; + } + + public void setIndex(int index) { + this.mIndex = index; + } + + public int getIndex() { + return this.mIndex; + } +} diff --git a/src/java/net/micode/notes/gtask/exception/ActionFailureException.java b/src/java/net/micode/notes/gtask/exception/ActionFailureException.java new file mode 100644 index 00000000..15504be9 --- /dev/null +++ b/src/java/net/micode/notes/gtask/exception/ActionFailureException.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.exception; + +public class ActionFailureException extends RuntimeException { + private static final long serialVersionUID = 4425249765923293627L; + + public ActionFailureException() { + super(); + } + + public ActionFailureException(String paramString) { + super(paramString); + } + + public ActionFailureException(String paramString, Throwable paramThrowable) { + super(paramString, paramThrowable); + } +} diff --git a/src/java/net/micode/notes/gtask/exception/NetworkFailureException.java b/src/java/net/micode/notes/gtask/exception/NetworkFailureException.java new file mode 100644 index 00000000..b08cfb1d --- /dev/null +++ b/src/java/net/micode/notes/gtask/exception/NetworkFailureException.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.exception; + +public class NetworkFailureException extends Exception { + private static final long serialVersionUID = 2107610287180234136L; + + public NetworkFailureException() { + super(); + } + + public NetworkFailureException(String paramString) { + super(paramString); + } + + public NetworkFailureException(String paramString, Throwable paramThrowable) { + super(paramString, paramThrowable); + } +} diff --git a/src/java/net/micode/notes/gtask/remote/GTaskASyncTask.java b/src/java/net/micode/notes/gtask/remote/GTaskASyncTask.java new file mode 100644 index 00000000..3f3c3584 --- /dev/null +++ b/src/java/net/micode/notes/gtask/remote/GTaskASyncTask.java @@ -0,0 +1,122 @@ + +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.remote; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; +import android.os.AsyncTask; + +import net.micode.notes.R; +import net.micode.notes.ui.NotesListActivity; +import net.micode.notes.ui.NotesPreferenceActivity; + + +public class GTaskASyncTask extends AsyncTask { + + private static int GTASK_SYNC_NOTIFICATION_ID = 5234235; + + public interface OnCompleteListener { + void onComplete(); + } + + private Context mContext; + + private NotificationManager mNotifiManager; + + private GTaskManager mTaskManager; + + private OnCompleteListener mOnCompleteListener; + + public GTaskASyncTask(Context context, OnCompleteListener listener) { + mContext = context; + mOnCompleteListener = listener; + mNotifiManager = (NotificationManager) mContext + .getSystemService(Context.NOTIFICATION_SERVICE); + mTaskManager = GTaskManager.getInstance(); + } + + public void cancelSync() { + mTaskManager.cancelSync(); + } + + public void publishProgess(String message) { + publishProgress(new String[] { + message + }); + } + + private void showNotification(int tickerId, String content) { + Notification notification = new Notification(R.drawable.notification, mContext + .getString(tickerId), System.currentTimeMillis()); + notification.defaults = Notification.DEFAULT_LIGHTS; + notification.flags = Notification.FLAG_AUTO_CANCEL; + PendingIntent pendingIntent; + if (tickerId != R.string.ticker_success) { + pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, + NotesPreferenceActivity.class), 0); + + } else { + pendingIntent = PendingIntent.getActivity(mContext, 0, new Intent(mContext, + NotesListActivity.class), 0); + } + + mNotifiManager.notify(GTASK_SYNC_NOTIFICATION_ID, notification); + } + + @Override + protected Integer doInBackground(Void... unused) { + publishProgess(mContext.getString(R.string.sync_progress_login, NotesPreferenceActivity + .getSyncAccountName(mContext))); + return mTaskManager.sync(mContext, this); + } + + @Override + protected void onProgressUpdate(String... progress) { + showNotification(R.string.ticker_syncing, progress[0]); + if (mContext instanceof GTaskSyncService) { + ((GTaskSyncService) mContext).sendBroadcast(progress[0]); + } + } + + @Override + protected void onPostExecute(Integer result) { + if (result == GTaskManager.STATE_SUCCESS) { + showNotification(R.string.ticker_success, mContext.getString( + R.string.success_sync_account, mTaskManager.getSyncAccount())); + NotesPreferenceActivity.setLastSyncTime(mContext, System.currentTimeMillis()); + } else if (result == GTaskManager.STATE_NETWORK_ERROR) { + showNotification(R.string.ticker_fail, mContext.getString(R.string.error_sync_network)); + } else if (result == GTaskManager.STATE_INTERNAL_ERROR) { + showNotification(R.string.ticker_fail, mContext.getString(R.string.error_sync_internal)); + } else if (result == GTaskManager.STATE_SYNC_CANCELLED) { + showNotification(R.string.ticker_cancel, mContext + .getString(R.string.error_sync_cancelled)); + } + if (mOnCompleteListener != null) { + new Thread(new Runnable() { + + public void run() { + mOnCompleteListener.onComplete(); + } + }).start(); + } + } +} diff --git a/src/java/net/micode/notes/gtask/remote/GTaskClient.java b/src/java/net/micode/notes/gtask/remote/GTaskClient.java new file mode 100644 index 00000000..c67dfdf3 --- /dev/null +++ b/src/java/net/micode/notes/gtask/remote/GTaskClient.java @@ -0,0 +1,585 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.remote; + +import android.accounts.Account; +import android.accounts.AccountManager; +import android.accounts.AccountManagerFuture; +import android.app.Activity; +import android.os.Bundle; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.gtask.data.Node; +import net.micode.notes.gtask.data.Task; +import net.micode.notes.gtask.data.TaskList; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.gtask.exception.NetworkFailureException; +import net.micode.notes.tool.GTaskStringUtils; +import net.micode.notes.ui.NotesPreferenceActivity; + +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.cookie.Cookie; +import org.apache.http.impl.client.BasicCookieStore; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.params.BasicHttpParams; +import org.apache.http.params.HttpConnectionParams; +import org.apache.http.params.HttpParams; +import org.apache.http.params.HttpProtocolParams; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.LinkedList; +import java.util.List; +import java.util.zip.GZIPInputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; + + +public class GTaskClient { + private static final String TAG = GTaskClient.class.getSimpleName(); + + private static final String GTASK_URL = "https://mail.google.com/tasks/"; + + private static final String GTASK_GET_URL = "https://mail.google.com/tasks/ig"; + + private static final String GTASK_POST_URL = "https://mail.google.com/tasks/r/ig"; + + private static GTaskClient mInstance = null; + + private DefaultHttpClient mHttpClient; + + private String mGetUrl; + + private String mPostUrl; + + private long mClientVersion; + + private boolean mLoggedin; + + private long mLastLoginTime; + + private int mActionId; + + private Account mAccount; + + private JSONArray mUpdateArray; + + private GTaskClient() { + mHttpClient = null; + mGetUrl = GTASK_GET_URL; + mPostUrl = GTASK_POST_URL; + mClientVersion = -1; + mLoggedin = false; + mLastLoginTime = 0; + mActionId = 1; + mAccount = null; + mUpdateArray = null; + } + + public static synchronized GTaskClient getInstance() { + if (mInstance == null) { + mInstance = new GTaskClient(); + } + return mInstance; + } + + public boolean login(Activity activity) { + // we suppose that the cookie would expire after 5 minutes + // then we need to re-login + final long interval = 1000 * 60 * 5; + if (mLastLoginTime + interval < System.currentTimeMillis()) { + mLoggedin = false; + } + + // need to re-login after account switch + if (mLoggedin + && !TextUtils.equals(getSyncAccount().name, NotesPreferenceActivity + .getSyncAccountName(activity))) { + mLoggedin = false; + } + + if (mLoggedin) { + Log.d(TAG, "already logged in"); + return true; + } + + mLastLoginTime = System.currentTimeMillis(); + String authToken = loginGoogleAccount(activity, false); + if (authToken == null) { + Log.e(TAG, "login google account failed"); + return false; + } + + // login with custom domain if necessary + if (!(mAccount.name.toLowerCase().endsWith("gmail.com") || mAccount.name.toLowerCase() + .endsWith("googlemail.com"))) { + StringBuilder url = new StringBuilder(GTASK_URL).append("a/"); + int index = mAccount.name.indexOf('@') + 1; + String suffix = mAccount.name.substring(index); + url.append(suffix + "/"); + mGetUrl = url.toString() + "ig"; + mPostUrl = url.toString() + "r/ig"; + + if (tryToLoginGtask(activity, authToken)) { + mLoggedin = true; + } + } + + // try to login with google official url + if (!mLoggedin) { + mGetUrl = GTASK_GET_URL; + mPostUrl = GTASK_POST_URL; + if (!tryToLoginGtask(activity, authToken)) { + return false; + } + } + + mLoggedin = true; + return true; + } + + private String loginGoogleAccount(Activity activity, boolean invalidateToken) { + String authToken; + AccountManager accountManager = AccountManager.get(activity); + Account[] accounts = accountManager.getAccountsByType("com.google"); + + if (accounts.length == 0) { + Log.e(TAG, "there is no available google account"); + return null; + } + + String accountName = NotesPreferenceActivity.getSyncAccountName(activity); + Account account = null; + for (Account a : accounts) { + if (a.name.equals(accountName)) { + account = a; + break; + } + } + if (account != null) { + mAccount = account; + } else { + Log.e(TAG, "unable to get an account with the same name in the settings"); + return null; + } + + // get the token now + AccountManagerFuture accountManagerFuture = accountManager.getAuthToken(account, + "goanna_mobile", null, activity, null, null); + try { + Bundle authTokenBundle = accountManagerFuture.getResult(); + authToken = authTokenBundle.getString(AccountManager.KEY_AUTHTOKEN); + if (invalidateToken) { + accountManager.invalidateAuthToken("com.google", authToken); + loginGoogleAccount(activity, false); + } + } catch (Exception e) { + Log.e(TAG, "get auth token failed"); + authToken = null; + } + + return authToken; + } + + private boolean tryToLoginGtask(Activity activity, String authToken) { + if (!loginGtask(authToken)) { + // maybe the auth token is out of date, now let's invalidate the + // token and try again + authToken = loginGoogleAccount(activity, true); + if (authToken == null) { + Log.e(TAG, "login google account failed"); + return false; + } + + if (!loginGtask(authToken)) { + Log.e(TAG, "login gtask failed"); + return false; + } + } + return true; + } + + private boolean loginGtask(String authToken) { + int timeoutConnection = 10000; + int timeoutSocket = 15000; + HttpParams httpParameters = new BasicHttpParams(); + HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection); + HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket); + mHttpClient = new DefaultHttpClient(httpParameters); + BasicCookieStore localBasicCookieStore = new BasicCookieStore(); + mHttpClient.setCookieStore(localBasicCookieStore); + HttpProtocolParams.setUseExpectContinue(mHttpClient.getParams(), false); + + // login gtask + try { + String loginUrl = mGetUrl + "?auth=" + authToken; + HttpGet httpGet = new HttpGet(loginUrl); + HttpResponse response = null; + response = mHttpClient.execute(httpGet); + + // get the cookie now + List cookies = mHttpClient.getCookieStore().getCookies(); + boolean hasAuthCookie = false; + for (Cookie cookie : cookies) { + if (cookie.getName().contains("GTL")) { + hasAuthCookie = true; + } + } + if (!hasAuthCookie) { + Log.w(TAG, "it seems that there is no auth cookie"); + } + + // get the client version + String resString = getResponseContent(response.getEntity()); + String jsBegin = "_setup("; + String jsEnd = ")}"; + int begin = resString.indexOf(jsBegin); + int end = resString.lastIndexOf(jsEnd); + String jsString = null; + if (begin != -1 && end != -1 && begin < end) { + jsString = resString.substring(begin + jsBegin.length(), end); + } + JSONObject js = new JSONObject(jsString); + mClientVersion = js.getLong("v"); + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return false; + } catch (Exception e) { + // simply catch all exceptions + Log.e(TAG, "httpget gtask_url failed"); + return false; + } + + return true; + } + + private int getActionId() { + return mActionId++; + } + + private HttpPost createHttpPost() { + HttpPost httpPost = new HttpPost(mPostUrl); + httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); + httpPost.setHeader("AT", "1"); + return httpPost; + } + + private String getResponseContent(HttpEntity entity) throws IOException { + String contentEncoding = null; + if (entity.getContentEncoding() != null) { + contentEncoding = entity.getContentEncoding().getValue(); + Log.d(TAG, "encoding: " + contentEncoding); + } + + InputStream input = entity.getContent(); + if (contentEncoding != null && contentEncoding.equalsIgnoreCase("gzip")) { + input = new GZIPInputStream(entity.getContent()); + } else if (contentEncoding != null && contentEncoding.equalsIgnoreCase("deflate")) { + Inflater inflater = new Inflater(true); + input = new InflaterInputStream(entity.getContent(), inflater); + } + + try { + InputStreamReader isr = new InputStreamReader(input); + BufferedReader br = new BufferedReader(isr); + StringBuilder sb = new StringBuilder(); + + while (true) { + String buff = br.readLine(); + if (buff == null) { + return sb.toString(); + } + sb = sb.append(buff); + } + } finally { + input.close(); + } + } + + private JSONObject postRequest(JSONObject js) throws NetworkFailureException { + if (!mLoggedin) { + Log.e(TAG, "please login first"); + throw new ActionFailureException("not logged in"); + } + + HttpPost httpPost = createHttpPost(); + try { + LinkedList list = new LinkedList(); + list.add(new BasicNameValuePair("r", js.toString())); + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, "UTF-8"); + httpPost.setEntity(entity); + + // execute the post + HttpResponse response = mHttpClient.execute(httpPost); + String jsString = getResponseContent(response.getEntity()); + return new JSONObject(jsString); + + } catch (ClientProtocolException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new NetworkFailureException("postRequest failed"); + } catch (IOException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new NetworkFailureException("postRequest failed"); + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("unable to convert response content to jsonobject"); + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("error occurs when posting request"); + } + } + + public void createTask(Task task) throws NetworkFailureException { + commitUpdate(); + try { + JSONObject jsPost = new JSONObject(); + JSONArray actionList = new JSONArray(); + + // action_list + actionList.put(task.getCreateAction(getActionId())); + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList); + + // client_version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + // post + JSONObject jsResponse = postRequest(jsPost); + JSONObject jsResult = (JSONObject) jsResponse.getJSONArray( + GTaskStringUtils.GTASK_JSON_RESULTS).get(0); + task.setGid(jsResult.getString(GTaskStringUtils.GTASK_JSON_NEW_ID)); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("create task: handing jsonobject failed"); + } + } + + public void createTaskList(TaskList tasklist) throws NetworkFailureException { + commitUpdate(); + try { + JSONObject jsPost = new JSONObject(); + JSONArray actionList = new JSONArray(); + + // action_list + actionList.put(tasklist.getCreateAction(getActionId())); + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList); + + // client version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + // post + JSONObject jsResponse = postRequest(jsPost); + JSONObject jsResult = (JSONObject) jsResponse.getJSONArray( + GTaskStringUtils.GTASK_JSON_RESULTS).get(0); + tasklist.setGid(jsResult.getString(GTaskStringUtils.GTASK_JSON_NEW_ID)); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("create tasklist: handing jsonobject failed"); + } + } + + public void commitUpdate() throws NetworkFailureException { + if (mUpdateArray != null) { + try { + JSONObject jsPost = new JSONObject(); + + // action_list + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, mUpdateArray); + + // client_version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + postRequest(jsPost); + mUpdateArray = null; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("commit update: handing jsonobject failed"); + } + } + } + + public void addUpdateNode(Node node) throws NetworkFailureException { + if (node != null) { + // too many update items may result in an error + // set max to 10 items + if (mUpdateArray != null && mUpdateArray.length() > 10) { + commitUpdate(); + } + + if (mUpdateArray == null) + mUpdateArray = new JSONArray(); + mUpdateArray.put(node.getUpdateAction(getActionId())); + } + } + + public void moveTask(Task task, TaskList preParent, TaskList curParent) + throws NetworkFailureException { + commitUpdate(); + try { + JSONObject jsPost = new JSONObject(); + JSONArray actionList = new JSONArray(); + JSONObject action = new JSONObject(); + + // action_list + action.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_MOVE); + action.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, getActionId()); + action.put(GTaskStringUtils.GTASK_JSON_ID, task.getGid()); + if (preParent == curParent && task.getPriorSibling() != null) { + // put prioring_sibing_id only if moving within the tasklist and + // it is not the first one + action.put(GTaskStringUtils.GTASK_JSON_PRIOR_SIBLING_ID, task.getPriorSibling()); + } + action.put(GTaskStringUtils.GTASK_JSON_SOURCE_LIST, preParent.getGid()); + action.put(GTaskStringUtils.GTASK_JSON_DEST_PARENT, curParent.getGid()); + if (preParent != curParent) { + // put the dest_list only if moving between tasklists + action.put(GTaskStringUtils.GTASK_JSON_DEST_LIST, curParent.getGid()); + } + actionList.put(action); + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList); + + // client_version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + postRequest(jsPost); + + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("move task: handing jsonobject failed"); + } + } + + public void deleteNode(Node node) throws NetworkFailureException { + commitUpdate(); + try { + JSONObject jsPost = new JSONObject(); + JSONArray actionList = new JSONArray(); + + // action_list + node.setDeleted(true); + actionList.put(node.getUpdateAction(getActionId())); + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList); + + // client_version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + postRequest(jsPost); + mUpdateArray = null; + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("delete node: handing jsonobject failed"); + } + } + + public JSONArray getTaskLists() throws NetworkFailureException { + if (!mLoggedin) { + Log.e(TAG, "please login first"); + throw new ActionFailureException("not logged in"); + } + + try { + HttpGet httpGet = new HttpGet(mGetUrl); + HttpResponse response = null; + response = mHttpClient.execute(httpGet); + + // get the task list + String resString = getResponseContent(response.getEntity()); + String jsBegin = "_setup("; + String jsEnd = ")}"; + int begin = resString.indexOf(jsBegin); + int end = resString.lastIndexOf(jsEnd); + String jsString = null; + if (begin != -1 && end != -1 && begin < end) { + jsString = resString.substring(begin + jsBegin.length(), end); + } + JSONObject js = new JSONObject(jsString); + return js.getJSONObject("t").getJSONArray(GTaskStringUtils.GTASK_JSON_LISTS); + } catch (ClientProtocolException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new NetworkFailureException("gettasklists: httpget failed"); + } catch (IOException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new NetworkFailureException("gettasklists: httpget failed"); + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("get task lists: handing jasonobject failed"); + } + } + + public JSONArray getTaskList(String listGid) throws NetworkFailureException { + commitUpdate(); + try { + JSONObject jsPost = new JSONObject(); + JSONArray actionList = new JSONArray(); + JSONObject action = new JSONObject(); + + // action_list + action.put(GTaskStringUtils.GTASK_JSON_ACTION_TYPE, + GTaskStringUtils.GTASK_JSON_ACTION_TYPE_GETALL); + action.put(GTaskStringUtils.GTASK_JSON_ACTION_ID, getActionId()); + action.put(GTaskStringUtils.GTASK_JSON_LIST_ID, listGid); + action.put(GTaskStringUtils.GTASK_JSON_GET_DELETED, false); + actionList.put(action); + jsPost.put(GTaskStringUtils.GTASK_JSON_ACTION_LIST, actionList); + + // client_version + jsPost.put(GTaskStringUtils.GTASK_JSON_CLIENT_VERSION, mClientVersion); + + JSONObject jsResponse = postRequest(jsPost); + return jsResponse.getJSONArray(GTaskStringUtils.GTASK_JSON_TASKS); + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("get task list: handing jsonobject failed"); + } + } + + public Account getSyncAccount() { + return mAccount; + } + + public void resetUpdateArray() { + mUpdateArray = null; + } +} diff --git a/src/java/net/micode/notes/gtask/remote/GTaskManager.java b/src/java/net/micode/notes/gtask/remote/GTaskManager.java new file mode 100644 index 00000000..d2b4082b --- /dev/null +++ b/src/java/net/micode/notes/gtask/remote/GTaskManager.java @@ -0,0 +1,800 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.remote; + +import android.app.Activity; +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.database.Cursor; +import android.util.Log; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.data.MetaData; +import net.micode.notes.gtask.data.Node; +import net.micode.notes.gtask.data.SqlNote; +import net.micode.notes.gtask.data.Task; +import net.micode.notes.gtask.data.TaskList; +import net.micode.notes.gtask.exception.ActionFailureException; +import net.micode.notes.gtask.exception.NetworkFailureException; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.GTaskStringUtils; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; + + +public class GTaskManager { + private static final String TAG = GTaskManager.class.getSimpleName(); + + public static final int STATE_SUCCESS = 0; + + public static final int STATE_NETWORK_ERROR = 1; + + public static final int STATE_INTERNAL_ERROR = 2; + + public static final int STATE_SYNC_IN_PROGRESS = 3; + + public static final int STATE_SYNC_CANCELLED = 4; + + private static GTaskManager mInstance = null; + + private Activity mActivity; + + private Context mContext; + + private ContentResolver mContentResolver; + + private boolean mSyncing; + + private boolean mCancelled; + + private HashMap mGTaskListHashMap; + + private HashMap mGTaskHashMap; + + private HashMap mMetaHashMap; + + private TaskList mMetaList; + + private HashSet mLocalDeleteIdMap; + + private HashMap mGidToNid; + + private HashMap mNidToGid; + + private GTaskManager() { + mSyncing = false; + mCancelled = false; + mGTaskListHashMap = new HashMap(); + mGTaskHashMap = new HashMap(); + mMetaHashMap = new HashMap(); + mMetaList = null; + mLocalDeleteIdMap = new HashSet(); + mGidToNid = new HashMap(); + mNidToGid = new HashMap(); + } + + public static synchronized GTaskManager getInstance() { + if (mInstance == null) { + mInstance = new GTaskManager(); + } + return mInstance; + } + + public synchronized void setActivityContext(Activity activity) { + // used for getting authtoken + mActivity = activity; + } + + public int sync(Context context, GTaskASyncTask asyncTask) { + if (mSyncing) { + Log.d(TAG, "Sync is in progress"); + return STATE_SYNC_IN_PROGRESS; + } + mContext = context; + mContentResolver = mContext.getContentResolver(); + mSyncing = true; + mCancelled = false; + mGTaskListHashMap.clear(); + mGTaskHashMap.clear(); + mMetaHashMap.clear(); + mLocalDeleteIdMap.clear(); + mGidToNid.clear(); + mNidToGid.clear(); + + try { + GTaskClient client = GTaskClient.getInstance(); + client.resetUpdateArray(); + + // login google task + if (!mCancelled) { + if (!client.login(mActivity)) { + throw new NetworkFailureException("login google task failed"); + } + } + + // get the task list from google + asyncTask.publishProgess(mContext.getString(R.string.sync_progress_init_list)); + initGTaskList(); + + // do content sync work + asyncTask.publishProgess(mContext.getString(R.string.sync_progress_syncing)); + syncContent(); + } catch (NetworkFailureException e) { + Log.e(TAG, e.toString()); + return STATE_NETWORK_ERROR; + } catch (ActionFailureException e) { + Log.e(TAG, e.toString()); + return STATE_INTERNAL_ERROR; + } catch (Exception e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + return STATE_INTERNAL_ERROR; + } finally { + mGTaskListHashMap.clear(); + mGTaskHashMap.clear(); + mMetaHashMap.clear(); + mLocalDeleteIdMap.clear(); + mGidToNid.clear(); + mNidToGid.clear(); + mSyncing = false; + } + + return mCancelled ? STATE_SYNC_CANCELLED : STATE_SUCCESS; + } + + private void initGTaskList() throws NetworkFailureException { + if (mCancelled) + return; + GTaskClient client = GTaskClient.getInstance(); + try { + JSONArray jsTaskLists = client.getTaskLists(); + + // init meta list first + mMetaList = null; + for (int i = 0; i < jsTaskLists.length(); i++) { + JSONObject object = jsTaskLists.getJSONObject(i); + String gid = object.getString(GTaskStringUtils.GTASK_JSON_ID); + String name = object.getString(GTaskStringUtils.GTASK_JSON_NAME); + + if (name + .equals(GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_META)) { + mMetaList = new TaskList(); + mMetaList.setContentByRemoteJSON(object); + + // load meta data + JSONArray jsMetas = client.getTaskList(gid); + for (int j = 0; j < jsMetas.length(); j++) { + object = (JSONObject) jsMetas.getJSONObject(j); + MetaData metaData = new MetaData(); + metaData.setContentByRemoteJSON(object); + if (metaData.isWorthSaving()) { + mMetaList.addChildTask(metaData); + if (metaData.getGid() != null) { + mMetaHashMap.put(metaData.getRelatedGid(), metaData); + } + } + } + } + } + + // create meta list if not existed + if (mMetaList == null) { + mMetaList = new TaskList(); + mMetaList.setName(GTaskStringUtils.MIUI_FOLDER_PREFFIX + + GTaskStringUtils.FOLDER_META); + GTaskClient.getInstance().createTaskList(mMetaList); + } + + // init task list + for (int i = 0; i < jsTaskLists.length(); i++) { + JSONObject object = jsTaskLists.getJSONObject(i); + String gid = object.getString(GTaskStringUtils.GTASK_JSON_ID); + String name = object.getString(GTaskStringUtils.GTASK_JSON_NAME); + + if (name.startsWith(GTaskStringUtils.MIUI_FOLDER_PREFFIX) + && !name.equals(GTaskStringUtils.MIUI_FOLDER_PREFFIX + + GTaskStringUtils.FOLDER_META)) { + TaskList tasklist = new TaskList(); + tasklist.setContentByRemoteJSON(object); + mGTaskListHashMap.put(gid, tasklist); + mGTaskHashMap.put(gid, tasklist); + + // load tasks + JSONArray jsTasks = client.getTaskList(gid); + for (int j = 0; j < jsTasks.length(); j++) { + object = (JSONObject) jsTasks.getJSONObject(j); + gid = object.getString(GTaskStringUtils.GTASK_JSON_ID); + Task task = new Task(); + task.setContentByRemoteJSON(object); + if (task.isWorthSaving()) { + task.setMetaInfo(mMetaHashMap.get(gid)); + tasklist.addChildTask(task); + mGTaskHashMap.put(gid, task); + } + } + } + } + } catch (JSONException e) { + Log.e(TAG, e.toString()); + e.printStackTrace(); + throw new ActionFailureException("initGTaskList: handing JSONObject failed"); + } + } + + private void syncContent() throws NetworkFailureException { + int syncType; + Cursor c = null; + String gid; + Node node; + + mLocalDeleteIdMap.clear(); + + if (mCancelled) { + return; + } + + // for local deleted note + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, SqlNote.PROJECTION_NOTE, + "(type<>? AND parent_id=?)", new String[] { + String.valueOf(Notes.TYPE_SYSTEM), String.valueOf(Notes.ID_TRASH_FOLER) + }, null); + if (c != null) { + while (c.moveToNext()) { + gid = c.getString(SqlNote.GTASK_ID_COLUMN); + node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + doContentSync(Node.SYNC_ACTION_DEL_REMOTE, node, c); + } + + mLocalDeleteIdMap.add(c.getLong(SqlNote.ID_COLUMN)); + } + } else { + Log.w(TAG, "failed to query trash folder"); + } + } finally { + if (c != null) { + c.close(); + c = null; + } + } + + // sync folder first + syncFolder(); + + // for note existing in database + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, SqlNote.PROJECTION_NOTE, + "(type=? AND parent_id<>?)", new String[] { + String.valueOf(Notes.TYPE_NOTE), String.valueOf(Notes.ID_TRASH_FOLER) + }, NoteColumns.TYPE + " DESC"); + if (c != null) { + while (c.moveToNext()) { + gid = c.getString(SqlNote.GTASK_ID_COLUMN); + node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + mGidToNid.put(gid, c.getLong(SqlNote.ID_COLUMN)); + mNidToGid.put(c.getLong(SqlNote.ID_COLUMN), gid); + syncType = node.getSyncAction(c); + } else { + if (c.getString(SqlNote.GTASK_ID_COLUMN).trim().length() == 0) { + // local add + syncType = Node.SYNC_ACTION_ADD_REMOTE; + } else { + // remote delete + syncType = Node.SYNC_ACTION_DEL_LOCAL; + } + } + doContentSync(syncType, node, c); + } + } else { + Log.w(TAG, "failed to query existing note in database"); + } + + } finally { + if (c != null) { + c.close(); + c = null; + } + } + + // go through remaining items + Iterator> iter = mGTaskHashMap.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = iter.next(); + node = entry.getValue(); + doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + } + + // mCancelled can be set by another thread, so we neet to check one by + // one + // clear local delete table + if (!mCancelled) { + if (!DataUtils.batchDeleteNotes(mContentResolver, mLocalDeleteIdMap)) { + throw new ActionFailureException("failed to batch-delete local deleted notes"); + } + } + + // refresh local sync id + if (!mCancelled) { + GTaskClient.getInstance().commitUpdate(); + refreshLocalSyncId(); + } + + } + + private void syncFolder() throws NetworkFailureException { + Cursor c = null; + String gid; + Node node; + int syncType; + + if (mCancelled) { + return; + } + + // for root folder + try { + c = mContentResolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, + Notes.ID_ROOT_FOLDER), SqlNote.PROJECTION_NOTE, null, null, null); + if (c != null) { + c.moveToNext(); + gid = c.getString(SqlNote.GTASK_ID_COLUMN); + node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + mGidToNid.put(gid, (long) Notes.ID_ROOT_FOLDER); + mNidToGid.put((long) Notes.ID_ROOT_FOLDER, gid); + // for system folder, only update remote name if necessary + if (!node.getName().equals( + GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT)) + doContentSync(Node.SYNC_ACTION_UPDATE_REMOTE, node, c); + } else { + doContentSync(Node.SYNC_ACTION_ADD_REMOTE, node, c); + } + } else { + Log.w(TAG, "failed to query root folder"); + } + } finally { + if (c != null) { + c.close(); + c = null; + } + } + + // for call-note folder + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, SqlNote.PROJECTION_NOTE, "(_id=?)", + new String[] { + String.valueOf(Notes.ID_CALL_RECORD_FOLDER) + }, null); + if (c != null) { + if (c.moveToNext()) { + gid = c.getString(SqlNote.GTASK_ID_COLUMN); + node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + mGidToNid.put(gid, (long) Notes.ID_CALL_RECORD_FOLDER); + mNidToGid.put((long) Notes.ID_CALL_RECORD_FOLDER, gid); + // for system folder, only update remote name if + // necessary + if (!node.getName().equals( + GTaskStringUtils.MIUI_FOLDER_PREFFIX + + GTaskStringUtils.FOLDER_CALL_NOTE)) + doContentSync(Node.SYNC_ACTION_UPDATE_REMOTE, node, c); + } else { + doContentSync(Node.SYNC_ACTION_ADD_REMOTE, node, c); + } + } + } else { + Log.w(TAG, "failed to query call note folder"); + } + } finally { + if (c != null) { + c.close(); + c = null; + } + } + + // for local existing folders + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, SqlNote.PROJECTION_NOTE, + "(type=? AND parent_id<>?)", new String[] { + String.valueOf(Notes.TYPE_FOLDER), String.valueOf(Notes.ID_TRASH_FOLER) + }, NoteColumns.TYPE + " DESC"); + if (c != null) { + while (c.moveToNext()) { + gid = c.getString(SqlNote.GTASK_ID_COLUMN); + node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + mGidToNid.put(gid, c.getLong(SqlNote.ID_COLUMN)); + mNidToGid.put(c.getLong(SqlNote.ID_COLUMN), gid); + syncType = node.getSyncAction(c); + } else { + if (c.getString(SqlNote.GTASK_ID_COLUMN).trim().length() == 0) { + // local add + syncType = Node.SYNC_ACTION_ADD_REMOTE; + } else { + // remote delete + syncType = Node.SYNC_ACTION_DEL_LOCAL; + } + } + doContentSync(syncType, node, c); + } + } else { + Log.w(TAG, "failed to query existing folder"); + } + } finally { + if (c != null) { + c.close(); + c = null; + } + } + + // for remote add folders + Iterator> iter = mGTaskListHashMap.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = iter.next(); + gid = entry.getKey(); + node = entry.getValue(); + if (mGTaskHashMap.containsKey(gid)) { + mGTaskHashMap.remove(gid); + doContentSync(Node.SYNC_ACTION_ADD_LOCAL, node, null); + } + } + + if (!mCancelled) + GTaskClient.getInstance().commitUpdate(); + } + + private void doContentSync(int syncType, Node node, Cursor c) throws NetworkFailureException { + if (mCancelled) { + return; + } + + MetaData meta; + switch (syncType) { + case Node.SYNC_ACTION_ADD_LOCAL: + addLocalNode(node); + break; + case Node.SYNC_ACTION_ADD_REMOTE: + addRemoteNode(node, c); + break; + case Node.SYNC_ACTION_DEL_LOCAL: + meta = mMetaHashMap.get(c.getString(SqlNote.GTASK_ID_COLUMN)); + if (meta != null) { + GTaskClient.getInstance().deleteNode(meta); + } + mLocalDeleteIdMap.add(c.getLong(SqlNote.ID_COLUMN)); + break; + case Node.SYNC_ACTION_DEL_REMOTE: + meta = mMetaHashMap.get(node.getGid()); + if (meta != null) { + GTaskClient.getInstance().deleteNode(meta); + } + GTaskClient.getInstance().deleteNode(node); + break; + case Node.SYNC_ACTION_UPDATE_LOCAL: + updateLocalNode(node, c); + break; + case Node.SYNC_ACTION_UPDATE_REMOTE: + updateRemoteNode(node, c); + break; + case Node.SYNC_ACTION_UPDATE_CONFLICT: + // merging both modifications maybe a good idea + // right now just use local update simply + updateRemoteNode(node, c); + break; + case Node.SYNC_ACTION_NONE: + break; + case Node.SYNC_ACTION_ERROR: + default: + throw new ActionFailureException("unkown sync action type"); + } + } + + private void addLocalNode(Node node) throws NetworkFailureException { + if (mCancelled) { + return; + } + + SqlNote sqlNote; + if (node instanceof TaskList) { + if (node.getName().equals( + GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_DEFAULT)) { + sqlNote = new SqlNote(mContext, Notes.ID_ROOT_FOLDER); + } else if (node.getName().equals( + GTaskStringUtils.MIUI_FOLDER_PREFFIX + GTaskStringUtils.FOLDER_CALL_NOTE)) { + sqlNote = new SqlNote(mContext, Notes.ID_CALL_RECORD_FOLDER); + } else { + sqlNote = new SqlNote(mContext); + sqlNote.setContent(node.getLocalJSONFromContent()); + sqlNote.setParentId(Notes.ID_ROOT_FOLDER); + } + } else { + sqlNote = new SqlNote(mContext); + JSONObject js = node.getLocalJSONFromContent(); + try { + if (js.has(GTaskStringUtils.META_HEAD_NOTE)) { + JSONObject note = js.getJSONObject(GTaskStringUtils.META_HEAD_NOTE); + if (note.has(NoteColumns.ID)) { + long id = note.getLong(NoteColumns.ID); + if (DataUtils.existInNoteDatabase(mContentResolver, id)) { + // the id is not available, have to create a new one + note.remove(NoteColumns.ID); + } + } + } + + if (js.has(GTaskStringUtils.META_HEAD_DATA)) { + JSONArray dataArray = js.getJSONArray(GTaskStringUtils.META_HEAD_DATA); + for (int i = 0; i < dataArray.length(); i++) { + JSONObject data = dataArray.getJSONObject(i); + if (data.has(DataColumns.ID)) { + long dataId = data.getLong(DataColumns.ID); + if (DataUtils.existInDataDatabase(mContentResolver, dataId)) { + // the data id is not available, have to create + // a new one + data.remove(DataColumns.ID); + } + } + } + + } + } catch (JSONException e) { + Log.w(TAG, e.toString()); + e.printStackTrace(); + } + sqlNote.setContent(js); + + Long parentId = mGidToNid.get(((Task) node).getParent().getGid()); + if (parentId == null) { + Log.e(TAG, "cannot find task's parent id locally"); + throw new ActionFailureException("cannot add local node"); + } + sqlNote.setParentId(parentId.longValue()); + } + + // create the local node + sqlNote.setGtaskId(node.getGid()); + sqlNote.commit(false); + + // update gid-nid mapping + mGidToNid.put(node.getGid(), sqlNote.getId()); + mNidToGid.put(sqlNote.getId(), node.getGid()); + + // update meta + updateRemoteMeta(node.getGid(), sqlNote); + } + + private void updateLocalNode(Node node, Cursor c) throws NetworkFailureException { + if (mCancelled) { + return; + } + + SqlNote sqlNote; + // update the note locally + sqlNote = new SqlNote(mContext, c); + sqlNote.setContent(node.getLocalJSONFromContent()); + + Long parentId = (node instanceof Task) ? mGidToNid.get(((Task) node).getParent().getGid()) + : new Long(Notes.ID_ROOT_FOLDER); + if (parentId == null) { + Log.e(TAG, "cannot find task's parent id locally"); + throw new ActionFailureException("cannot update local node"); + } + sqlNote.setParentId(parentId.longValue()); + sqlNote.commit(true); + + // update meta info + updateRemoteMeta(node.getGid(), sqlNote); + } + + private void addRemoteNode(Node node, Cursor c) throws NetworkFailureException { + if (mCancelled) { + return; + } + + SqlNote sqlNote = new SqlNote(mContext, c); + Node n; + + // update remotely + if (sqlNote.isNoteType()) { + Task task = new Task(); + task.setContentByLocalJSON(sqlNote.getContent()); + + String parentGid = mNidToGid.get(sqlNote.getParentId()); + if (parentGid == null) { + Log.e(TAG, "cannot find task's parent tasklist"); + throw new ActionFailureException("cannot add remote task"); + } + mGTaskListHashMap.get(parentGid).addChildTask(task); + + GTaskClient.getInstance().createTask(task); + n = (Node) task; + + // add meta + updateRemoteMeta(task.getGid(), sqlNote); + } else { + TaskList tasklist = null; + + // we need to skip folder if it has already existed + String folderName = GTaskStringUtils.MIUI_FOLDER_PREFFIX; + if (sqlNote.getId() == Notes.ID_ROOT_FOLDER) + folderName += GTaskStringUtils.FOLDER_DEFAULT; + else if (sqlNote.getId() == Notes.ID_CALL_RECORD_FOLDER) + folderName += GTaskStringUtils.FOLDER_CALL_NOTE; + else + folderName += sqlNote.getSnippet(); + + Iterator> iter = mGTaskListHashMap.entrySet().iterator(); + while (iter.hasNext()) { + Map.Entry entry = iter.next(); + String gid = entry.getKey(); + TaskList list = entry.getValue(); + + if (list.getName().equals(folderName)) { + tasklist = list; + if (mGTaskHashMap.containsKey(gid)) { + mGTaskHashMap.remove(gid); + } + break; + } + } + + // no match we can add now + if (tasklist == null) { + tasklist = new TaskList(); + tasklist.setContentByLocalJSON(sqlNote.getContent()); + GTaskClient.getInstance().createTaskList(tasklist); + mGTaskListHashMap.put(tasklist.getGid(), tasklist); + } + n = (Node) tasklist; + } + + // update local note + sqlNote.setGtaskId(n.getGid()); + sqlNote.commit(false); + sqlNote.resetLocalModified(); + sqlNote.commit(true); + + // gid-id mapping + mGidToNid.put(n.getGid(), sqlNote.getId()); + mNidToGid.put(sqlNote.getId(), n.getGid()); + } + + private void updateRemoteNode(Node node, Cursor c) throws NetworkFailureException { + if (mCancelled) { + return; + } + + SqlNote sqlNote = new SqlNote(mContext, c); + + // update remotely + node.setContentByLocalJSON(sqlNote.getContent()); + GTaskClient.getInstance().addUpdateNode(node); + + // update meta + updateRemoteMeta(node.getGid(), sqlNote); + + // move task if necessary + if (sqlNote.isNoteType()) { + Task task = (Task) node; + TaskList preParentList = task.getParent(); + + String curParentGid = mNidToGid.get(sqlNote.getParentId()); + if (curParentGid == null) { + Log.e(TAG, "cannot find task's parent tasklist"); + throw new ActionFailureException("cannot update remote task"); + } + TaskList curParentList = mGTaskListHashMap.get(curParentGid); + + if (preParentList != curParentList) { + preParentList.removeChildTask(task); + curParentList.addChildTask(task); + GTaskClient.getInstance().moveTask(task, preParentList, curParentList); + } + } + + // clear local modified flag + sqlNote.resetLocalModified(); + sqlNote.commit(true); + } + + private void updateRemoteMeta(String gid, SqlNote sqlNote) throws NetworkFailureException { + if (sqlNote != null && sqlNote.isNoteType()) { + MetaData metaData = mMetaHashMap.get(gid); + if (metaData != null) { + metaData.setMeta(gid, sqlNote.getContent()); + GTaskClient.getInstance().addUpdateNode(metaData); + } else { + metaData = new MetaData(); + metaData.setMeta(gid, sqlNote.getContent()); + mMetaList.addChildTask(metaData); + mMetaHashMap.put(gid, metaData); + GTaskClient.getInstance().createTask(metaData); + } + } + } + + private void refreshLocalSyncId() throws NetworkFailureException { + if (mCancelled) { + return; + } + + // get the latest gtask list + mGTaskHashMap.clear(); + mGTaskListHashMap.clear(); + mMetaHashMap.clear(); + initGTaskList(); + + Cursor c = null; + try { + c = mContentResolver.query(Notes.CONTENT_NOTE_URI, SqlNote.PROJECTION_NOTE, + "(type<>? AND parent_id<>?)", new String[] { + String.valueOf(Notes.TYPE_SYSTEM), String.valueOf(Notes.ID_TRASH_FOLER) + }, NoteColumns.TYPE + " DESC"); + if (c != null) { + while (c.moveToNext()) { + String gid = c.getString(SqlNote.GTASK_ID_COLUMN); + Node node = mGTaskHashMap.get(gid); + if (node != null) { + mGTaskHashMap.remove(gid); + ContentValues values = new ContentValues(); + values.put(NoteColumns.SYNC_ID, node.getLastModified()); + mContentResolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, + c.getLong(SqlNote.ID_COLUMN)), values, null, null); + } else { + Log.e(TAG, "something is missed"); + throw new ActionFailureException( + "some local items don't have gid after sync"); + } + } + } else { + Log.w(TAG, "failed to query local note to refresh sync id"); + } + } finally { + if (c != null) { + c.close(); + c = null; + } + } + } + + public String getSyncAccount() { + return GTaskClient.getInstance().getSyncAccount().name; + } + + public void cancelSync() { + mCancelled = true; + } +} diff --git a/src/java/net/micode/notes/gtask/remote/GTaskSyncService.java b/src/java/net/micode/notes/gtask/remote/GTaskSyncService.java new file mode 100644 index 00000000..cca36f76 --- /dev/null +++ b/src/java/net/micode/notes/gtask/remote/GTaskSyncService.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.gtask.remote; + +import android.app.Activity; +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.os.IBinder; + +public class GTaskSyncService extends Service { + public final static String ACTION_STRING_NAME = "sync_action_type"; + + public final static int ACTION_START_SYNC = 0; + + public final static int ACTION_CANCEL_SYNC = 1; + + public final static int ACTION_INVALID = 2; + + public final static String GTASK_SERVICE_BROADCAST_NAME = "net.micode.notes.gtask.remote.gtask_sync_service"; + + public final static String GTASK_SERVICE_BROADCAST_IS_SYNCING = "isSyncing"; + + public final static String GTASK_SERVICE_BROADCAST_PROGRESS_MSG = "progressMsg"; + + private static GTaskASyncTask mSyncTask = null; + + private static String mSyncProgress = ""; + + private void startSync() { + if (mSyncTask == null) { + mSyncTask = new GTaskASyncTask(this, new GTaskASyncTask.OnCompleteListener() { + public void onComplete() { + mSyncTask = null; + sendBroadcast(""); + stopSelf(); + } + }); + sendBroadcast(""); + mSyncTask.execute(); + } + } + + private void cancelSync() { + if (mSyncTask != null) { + mSyncTask.cancelSync(); + } + } + + @Override + public void onCreate() { + mSyncTask = null; + } + + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + Bundle bundle = intent.getExtras(); + if (bundle != null && bundle.containsKey(ACTION_STRING_NAME)) { + switch (bundle.getInt(ACTION_STRING_NAME, ACTION_INVALID)) { + case ACTION_START_SYNC: + startSync(); + break; + case ACTION_CANCEL_SYNC: + cancelSync(); + break; + default: + break; + } + return START_STICKY; + } + return super.onStartCommand(intent, flags, startId); + } + + @Override + public void onLowMemory() { + if (mSyncTask != null) { + mSyncTask.cancelSync(); + } + } + + public IBinder onBind(Intent intent) { + return null; + } + + public void sendBroadcast(String msg) { + mSyncProgress = msg; + Intent intent = new Intent(GTASK_SERVICE_BROADCAST_NAME); + intent.putExtra(GTASK_SERVICE_BROADCAST_IS_SYNCING, mSyncTask != null); + intent.putExtra(GTASK_SERVICE_BROADCAST_PROGRESS_MSG, msg); + sendBroadcast(intent); + } + + public static void startSync(Activity activity) { + GTaskManager.getInstance().setActivityContext(activity); + Intent intent = new Intent(activity, GTaskSyncService.class); + intent.putExtra(GTaskSyncService.ACTION_STRING_NAME, GTaskSyncService.ACTION_START_SYNC); + activity.startService(intent); + } + + public static void cancelSync(Context context) { + Intent intent = new Intent(context, GTaskSyncService.class); + intent.putExtra(GTaskSyncService.ACTION_STRING_NAME, GTaskSyncService.ACTION_CANCEL_SYNC); + context.startService(intent); + } + + public static boolean isSyncing() { + return mSyncTask != null; + } + + public static String getProgressString() { + return mSyncProgress; + } +} diff --git a/src/java/net/micode/notes/model/Note.java b/src/java/net/micode/notes/model/Note.java new file mode 100644 index 00000000..08b99f3f --- /dev/null +++ b/src/java/net/micode/notes/model/Note.java @@ -0,0 +1,263 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.Context; +import android.content.OperationApplicationException; +import android.net.Uri; +import android.os.RemoteException; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; + +import java.util.ArrayList; + + +public class Note { + private ContentValues mNoteDiffValues; + private NoteData mNoteData; + private static final String TAG = "Note"; + /** + * Create a new note id for adding a new note to databases + */ + public static synchronized long getNewNoteId(Context context, long folderId) { + // Create a new note in the database + ContentValues values = new ContentValues(); + long createdTime = System.currentTimeMillis(); + values.put(NoteColumns.CREATED_DATE, createdTime); + values.put(NoteColumns.MODIFIED_DATE, createdTime); + //values.put(NoteColumns.TOP,"1"); + values.put(NoteColumns.TYPE, Notes.TYPE_NOTE); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + values.put(NoteColumns.PARENT_ID, folderId); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_NOTE_URI, values); + + long noteId = 0; + try { + noteId = Long.valueOf(uri.getPathSegments().get(1)); + } catch (NumberFormatException e) { + Log.e(TAG, "Get note id error :" + e.toString()); + noteId = 0; + } + if (noteId == -1) { + throw new IllegalStateException("Wrong note id:" + noteId); + } + return noteId; + } + + public Note() { + mNoteDiffValues = new ContentValues(); + mNoteData = new NoteData(); + } + + public void setNoteValue(String key, String value) { + mNoteDiffValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + public void setTopValue(String key, String value) { + mNoteDiffValues.put(key, value); + } + + + public void setTextData(String key, String value) { + mNoteData.setTextData(key, value); + } + + public void setTextDataId(long id) { + mNoteData.setTextDataId(id); + } + + public long getTextDataId() { + return mNoteData.mTextDataId; + } + + public void setCallDataId(long id) { + mNoteData.setCallDataId(id); + } + + public void setCallData(String key, String value) { + mNoteData.setCallData(key, value); + } + + public boolean isLocalModified() { + return mNoteDiffValues.size() > 0 || mNoteData.isLocalModified(); + } + + public boolean syncNote(Context context, long noteId) { + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); + } + + if (!isLocalModified()) { + return true; + } + + /** + * In theory, once data changed, the note should be updated on {@link NoteColumns#LOCAL_MODIFIED} and + * {@link NoteColumns#MODIFIED_DATE}. For data safety, though update note fails, we also update the + * note data info + */ + if (context.getContentResolver().update( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), mNoteDiffValues, null, + null) == 0) { + Log.e(TAG, "Update note error, should not happen"); + // Do not return, fall through + } + mNoteDiffValues.clear(); + + if (mNoteData.isLocalModified() + && (mNoteData.pushIntoContentResolver(context, noteId) == null)) { + return false; + } + + return true; + } + + private class NoteData { + private long mTextDataId; + + private ContentValues mTextDataValues; + + private ContentValues mTopValues; + + private long mCallDataId; + + private ContentValues mCallDataValues; + + private static final String TAG = "NoteData"; + + public NoteData() { + mTextDataValues = new ContentValues(); + mCallDataValues = new ContentValues(); + mTopValues = new ContentValues(); + mTextDataId = 0; + mCallDataId = 0; + } + + boolean isLocalModified() { + return mTextDataValues.size() > 0 || mCallDataValues.size() > 0; + } + + void setTextDataId(long id) { + if(id <= 0) { + throw new IllegalArgumentException("Text data id should larger than 0"); + } + mTextDataId = id; + } + + void setCallDataId(long id) { + if (id <= 0) { + throw new IllegalArgumentException("Call data id should larger than 0"); + } + mCallDataId = id; + } + + void setCallData(String key, String value) { + mCallDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + void setTextData(String key, String value) { + mTextDataValues.put(key, value); + mNoteDiffValues.put(NoteColumns.LOCAL_MODIFIED, 1); + mNoteDiffValues.put(NoteColumns.MODIFIED_DATE, System.currentTimeMillis()); + } + + + Uri pushIntoContentResolver(Context context, long noteId) { + /** + * Check for safety + */ + if (noteId <= 0) { + throw new IllegalArgumentException("Wrong note id:" + noteId); + } + + ArrayList operationList = new ArrayList(); + ContentProviderOperation.Builder builder = null; + + if(mTextDataValues.size() > 0) { + mTextDataValues.put(DataColumns.NOTE_ID, noteId); + if (mTextDataId == 0) { + mTextDataValues.put(DataColumns.MIME_TYPE, TextNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mTextDataValues); + try { + setTextDataId(Long.valueOf(uri.getPathSegments().get(1))); + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new text data fail with noteId" + noteId); + mTextDataValues.clear(); + return null; + } + } else { + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mTextDataId)); + builder.withValues(mTextDataValues); + operationList.add(builder.build()); + } + mTextDataValues.clear(); + } + + if(mCallDataValues.size() > 0) { + mCallDataValues.put(DataColumns.NOTE_ID, noteId); + if (mCallDataId == 0) { + mCallDataValues.put(DataColumns.MIME_TYPE, CallNote.CONTENT_ITEM_TYPE); + Uri uri = context.getContentResolver().insert(Notes.CONTENT_DATA_URI, + mCallDataValues); + try { + setCallDataId(Long.valueOf(uri.getPathSegments().get(1))); + } catch (NumberFormatException e) { + Log.e(TAG, "Insert new call data fail with noteId" + noteId); + mCallDataValues.clear(); + return null; + } + } else { + builder = ContentProviderOperation.newUpdate(ContentUris.withAppendedId( + Notes.CONTENT_DATA_URI, mCallDataId)); + builder.withValues(mCallDataValues); + operationList.add(builder.build()); + } + mCallDataValues.clear(); + } + + if (operationList.size() > 0) { + try { + ContentProviderResult[] results = context.getContentResolver().applyBatch( + Notes.AUTHORITY, operationList); + return (results == null || results.length == 0 || results[0] == null) ? null + : ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId); + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + return null; + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + return null; + } + } + return null; + } + } +} diff --git a/src/java/net/micode/notes/model/WorkingNote.java b/src/java/net/micode/notes/model/WorkingNote.java new file mode 100644 index 00000000..e33dbd74 --- /dev/null +++ b/src/java/net/micode/notes/model/WorkingNote.java @@ -0,0 +1,401 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.model; + +import android.appwidget.AppWidgetManager; +import android.content.ContentUris; +import android.content.Context; +import android.database.Cursor; +import android.text.TextUtils; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.tool.ResourceParser.NoteBgResources; + + +public class WorkingNote { + // Note for the working note + private Note mNote; + // Note Id + private long mNoteId; + // Note content + private String mContent; + // Note mode + private int mMode; + + private long mAlertDate; + + private long mModifiedDate; + + private int mBgColorId; + + private int mWidgetId; + + private int mWidgetType; + + private long mFolderId; + + private Context mContext; + + private static final String TAG = "WorkingNote"; + + private boolean mIsDeleted; + + private String mTop = "0"; + + private NoteSettingChangedListener mNoteSettingStatusListener; + + public static final String[] DATA_PROJECTION = new String[] { + DataColumns.ID, + DataColumns.CONTENT, + DataColumns.MIME_TYPE, + DataColumns.DATA1, + DataColumns.DATA2, + DataColumns.DATA3, + DataColumns.DATA4, + }; + + public static final String[] NOTE_PROJECTION = new String[] { + NoteColumns.PARENT_ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + NoteColumns.MODIFIED_DATE, + NoteColumns.TOP + }; + + private static final int DATA_ID_COLUMN = 0; + + private static final int DATA_CONTENT_COLUMN = 1; + + private static final int DATA_MIME_TYPE_COLUMN = 2; + + private static final int DATA_MODE_COLUMN = 3; + + private static final int NOTE_PARENT_ID_COLUMN = 0; + + private static final int NOTE_ALERTED_DATE_COLUMN = 1; + + private static final int NOTE_BG_COLOR_ID_COLUMN = 2; + + private static final int NOTE_WIDGET_ID_COLUMN = 3; + + private static final int NOTE_WIDGET_TYPE_COLUMN = 4; + + private static final int NOTE_MODIFIED_DATE_COLUMN = 5; + + private static final int NOTE_TOP_COLUMN = 6; + + // New note construct + private WorkingNote(Context context, long folderId) { + mContext = context; + mAlertDate = 0; + mModifiedDate = System.currentTimeMillis(); + mFolderId = folderId; + mNote = new Note(); + mNoteId = 0; + mIsDeleted = false; + mMode = 0; + mWidgetType = Notes.TYPE_WIDGET_INVALIDE; + mTop = String.valueOf(getTopId()); + } + + // Existing note construct + private WorkingNote(Context context, long noteId, long folderId) { + mContext = context; + mNoteId = noteId; + mFolderId = folderId; + mIsDeleted = false; + mNote = new Note(); + loadNote(); + } + + private void loadNote() { + Cursor cursor = mContext.getContentResolver().query( + ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mNoteId), NOTE_PROJECTION, null, + null, null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + mFolderId = cursor.getLong(NOTE_PARENT_ID_COLUMN); + mBgColorId = cursor.getInt(NOTE_BG_COLOR_ID_COLUMN); + mWidgetId = cursor.getInt(NOTE_WIDGET_ID_COLUMN); + mWidgetType = cursor.getInt(NOTE_WIDGET_TYPE_COLUMN); + mAlertDate = cursor.getLong(NOTE_ALERTED_DATE_COLUMN); + mModifiedDate = cursor.getLong(NOTE_MODIFIED_DATE_COLUMN); + mTop = cursor.getString(NOTE_TOP_COLUMN); + } + cursor.close(); + } else { + Log.e(TAG, "No note with id:" + mNoteId); + throw new IllegalArgumentException("Unable to find note with id " + mNoteId); + } + + loadNoteData(); + } + + private void loadNoteData() { + Cursor cursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, DATA_PROJECTION, + DataColumns.NOTE_ID + "=?", new String[] { + String.valueOf(mNoteId) + }, null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + do { + String type = cursor.getString(DATA_MIME_TYPE_COLUMN); + if (DataConstants.NOTE.equals(type)) { + mContent = cursor.getString(DATA_CONTENT_COLUMN); + mMode = cursor.getInt(DATA_MODE_COLUMN); + mNote.setTextDataId(cursor.getLong(DATA_ID_COLUMN)); + } else if (DataConstants.CALL_NOTE.equals(type)) { + mNote.setCallDataId(cursor.getLong(DATA_ID_COLUMN)); + } else { + Log.d(TAG, "Wrong note type with type:" + type); + } + } while (cursor.moveToNext()); + } + cursor.close(); + } else { + Log.e(TAG, "No data with id:" + mNoteId); + throw new IllegalArgumentException("Unable to find note's data with id " + mNoteId); + } + } + + public static WorkingNote createEmptyNote(Context context, long folderId, int widgetId, + int widgetType, int defaultBgColorId) { + WorkingNote note = new WorkingNote(context, folderId); + note.setBgColorId(defaultBgColorId); + note.setWidgetId(widgetId); + note.setWidgetType(widgetType); + return note; + } + + public static WorkingNote load(Context context, long id) { + return new WorkingNote(context, id, 0); + } + + public synchronized boolean saveNote() { + if (isWorthSaving()) { + if (!existInDatabase()) { + if ((mNoteId = Note.getNewNoteId(mContext, mFolderId)) == 0) { + Log.e(TAG, "Create new note fail with id:" + mNoteId); + return false; + } + } + + mNote.syncNote(mContext, mNoteId); + + /** + * Update widget content if there exist any widget of this note + */ + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE + && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); + } + return true; + } else { + return false; + } + } + + public boolean existInDatabase() { + return mNoteId > 0; + } + + private boolean isWorthSaving() { + if (mIsDeleted || (!existInDatabase() && TextUtils.isEmpty(mContent)) + || (existInDatabase() && !mNote.isLocalModified())) { + return false; + } else { + return true; + } + } + + public void setOnSettingStatusChangedListener(NoteSettingChangedListener l) { + mNoteSettingStatusListener = l; + } + + + public void setTop(String Top){ + if (!mTop.equals(Top)) { + mTop = Top; + mNote.setTopValue(NoteColumns.TOP,mTop); + } + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onTopChanged(Top); + } + } + + + public void setAlertDate(long date, boolean set) { + if (date != mAlertDate) { + mAlertDate = date; + mNote.setNoteValue(NoteColumns.ALERTED_DATE, String.valueOf(mAlertDate)); + } + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onClockAlertChanged(date, set); + } + } + + public void markDeleted(boolean mark) { + mIsDeleted = mark; + if (mWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && mWidgetType != Notes.TYPE_WIDGET_INVALIDE && mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onWidgetChanged(); + } + } + + public void setBgColorId(int id) { + if (id != mBgColorId) { + mBgColorId = id; + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onBackgroundColorChanged(); + } + mNote.setNoteValue(NoteColumns.BG_COLOR_ID, String.valueOf(id)); + } + } + + public void setCheckListMode(int mode) { + if (mMode != mode) { + if (mNoteSettingStatusListener != null) { + mNoteSettingStatusListener.onCheckListModeChanged(mMode, mode); + } + mMode = mode; + mNote.setTextData(TextNote.MODE, String.valueOf(mMode)); + } + } + + public void setWidgetType(int type) { + if (type != mWidgetType) { + mWidgetType = type; + mNote.setNoteValue(NoteColumns.WIDGET_TYPE, String.valueOf(mWidgetType)); + } + } + + public void setWidgetId(int id) { + if (id != mWidgetId) { + mWidgetId = id; + mNote.setNoteValue(NoteColumns.WIDGET_ID, String.valueOf(mWidgetId)); + } + } + + public void setWorkingText(String text) { + if (!TextUtils.equals(mContent, text)) { + mContent = text; + mNote.setTextData(DataColumns.CONTENT, mContent); + } + } + + public void convertToCallNote(String phoneNumber, long callDate) { + mNote.setCallData(CallNote.CALL_DATE, String.valueOf(callDate)); + mNote.setCallData(CallNote.PHONE_NUMBER, phoneNumber); + mNote.setNoteValue(NoteColumns.PARENT_ID, String.valueOf(Notes.ID_CALL_RECORD_FOLDER)); + } + + public boolean hasClockAlert() { + return (mAlertDate > 0 ? true : false); + } + + public int getTopId() { + if (mTop.equals("1")) { + return 1; + } else { + return 0; + } + } + + public String getContent() { + return mContent; + } + + public long getAlertDate() { + return mAlertDate; + } + + public long getModifiedDate() { + return mModifiedDate; + } + + public int getBgColorResId() { + return NoteBgResources.getNoteBgResource(mBgColorId); + } + + public int getBgColorId() { + return mBgColorId; + } + + public int getTitleBgResId() { + return NoteBgResources.getNoteTitleBgResource(mBgColorId); + } + + public int getCheckListMode() { + return mMode; + } + + public long getNoteId() { + return mNoteId; + } + + public long getFolderId() { + return mFolderId; + } + + public int getWidgetId() { + return mWidgetId; + } + + public int getWidgetType() { + return mWidgetType; + } + + public interface NoteSettingChangedListener { + /** + * Called when the background color of current note has just changed + */ + void onBackgroundColorChanged(); + + /** + * Called when user set top + */ + void onTopChanged(String Top); + + /** + * Called when user set clock + */ + void onClockAlertChanged(long date, boolean set); + + /** + * Call when user create note from widget + */ + void onWidgetChanged(); + + /** + * Call when switch between check list mode and normal mode + * @param oldMode is previous mode before change + * @param newMode is new mode + */ + void onCheckListModeChanged(int oldMode, int newMode); + } +} diff --git a/src/java/net/micode/notes/tool/BackupUtils.java b/src/java/net/micode/notes/tool/BackupUtils.java new file mode 100644 index 00000000..39f6ec47 --- /dev/null +++ b/src/java/net/micode/notes/tool/BackupUtils.java @@ -0,0 +1,344 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.Context; +import android.database.Cursor; +import android.os.Environment; +import android.text.TextUtils; +import android.text.format.DateFormat; +import android.util.Log; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.DataColumns; +import net.micode.notes.data.Notes.DataConstants; +import net.micode.notes.data.Notes.NoteColumns; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; + + +public class BackupUtils { + private static final String TAG = "BackupUtils"; + // Singleton stuff + private static BackupUtils sInstance; + + public static synchronized BackupUtils getInstance(Context context) { + if (sInstance == null) { + sInstance = new BackupUtils(context); + } + return sInstance; + } + + /** + * Following states are signs to represents backup or restore + * status + */ + // Currently, the sdcard is not mounted + public static final int STATE_SD_CARD_UNMOUONTED = 0; + // The backup file not exist + public static final int STATE_BACKUP_FILE_NOT_EXIST = 1; + // The data is not well formated, may be changed by other programs + public static final int STATE_DATA_DESTROIED = 2; + // Some run-time exception which causes restore or backup fails + public static final int STATE_SYSTEM_ERROR = 3; + // Backup or restore success + public static final int STATE_SUCCESS = 4; + + private TextExport mTextExport; + + private BackupUtils(Context context) { + mTextExport = new TextExport(context); + } + + private static boolean externalStorageAvailable() { + return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()); + } + + public int exportToText() { + return mTextExport.exportToText(); + } + + public String getExportedTextFileName() { + return mTextExport.mFileName; + } + + public String getExportedTextFileDir() { + return mTextExport.mFileDirectory; + } + + private static class TextExport { + private static final String[] NOTE_PROJECTION = { + NoteColumns.ID, + NoteColumns.MODIFIED_DATE, + NoteColumns.SNIPPET, + NoteColumns.TYPE + }; + + private static final int NOTE_COLUMN_ID = 0; + + private static final int NOTE_COLUMN_MODIFIED_DATE = 1; + + private static final int NOTE_COLUMN_SNIPPET = 2; + + private static final String[] DATA_PROJECTION = { + DataColumns.CONTENT, + DataColumns.MIME_TYPE, + DataColumns.DATA1, + DataColumns.DATA2, + DataColumns.DATA3, + DataColumns.DATA4, + }; + + private static final int DATA_COLUMN_CONTENT = 0; + + private static final int DATA_COLUMN_MIME_TYPE = 1; + + private static final int DATA_COLUMN_CALL_DATE = 2; + + private static final int DATA_COLUMN_PHONE_NUMBER = 4; + + private final String [] TEXT_FORMAT; + private static final int FORMAT_FOLDER_NAME = 0; + private static final int FORMAT_NOTE_DATE = 1; + private static final int FORMAT_NOTE_CONTENT = 2; + + private Context mContext; + private String mFileName; + private String mFileDirectory; + + public TextExport(Context context) { + TEXT_FORMAT = context.getResources().getStringArray(R.array.format_for_exported_note); + mContext = context; + mFileName = ""; + mFileDirectory = ""; + } + + private String getFormat(int id) { + return TEXT_FORMAT[id]; + } + + /** + * Export the folder identified by folder id to text + */ + private void exportFolderToText(String folderId, PrintStream ps) { + // Query notes belong to this folder + Cursor notesCursor = mContext.getContentResolver().query(Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, NoteColumns.PARENT_ID + "=?", new String[] { + folderId + }, null); + + if (notesCursor != null) { + if (notesCursor.moveToFirst()) { + do { + // Print note's last modified date + ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( + mContext.getString(R.string.format_datetime_mdhm), + notesCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); + // Query data belong to this note + String noteId = notesCursor.getString(NOTE_COLUMN_ID); + exportNoteToText(noteId, ps); + } while (notesCursor.moveToNext()); + } + notesCursor.close(); + } + } + + /** + * Export note identified by id to a print stream + */ + private void exportNoteToText(String noteId, PrintStream ps) { + Cursor dataCursor = mContext.getContentResolver().query(Notes.CONTENT_DATA_URI, + DATA_PROJECTION, DataColumns.NOTE_ID + "=?", new String[] { + noteId + }, null); + + if (dataCursor != null) { + if (dataCursor.moveToFirst()) { + do { + String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE); + if (DataConstants.CALL_NOTE.equals(mimeType)) { + // Print phone number + String phoneNumber = dataCursor.getString(DATA_COLUMN_PHONE_NUMBER); + long callDate = dataCursor.getLong(DATA_COLUMN_CALL_DATE); + String location = dataCursor.getString(DATA_COLUMN_CONTENT); + + if (!TextUtils.isEmpty(phoneNumber)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + phoneNumber)); + } + // Print call date + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), DateFormat + .format(mContext.getString(R.string.format_datetime_mdhm), + callDate))); + // Print call attachment location + if (!TextUtils.isEmpty(location)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + location)); + } + } else if (DataConstants.NOTE.equals(mimeType)) { + String content = dataCursor.getString(DATA_COLUMN_CONTENT); + if (!TextUtils.isEmpty(content)) { + ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), + content)); + } + } + } while (dataCursor.moveToNext()); + } + dataCursor.close(); + } + // print a line separator between note + try { + ps.write(new byte[] { + Character.LINE_SEPARATOR, Character.LETTER_NUMBER + }); + } catch (IOException e) { + Log.e(TAG, e.toString()); + } + } + + /** + * Note will be exported as text which is user readable + */ + public int exportToText() { + if (!externalStorageAvailable()) { + Log.d(TAG, "Media was not mounted"); + return STATE_SD_CARD_UNMOUONTED; + } + + PrintStream ps = getExportToTextPrintStream(); + if (ps == null) { + Log.e(TAG, "get print stream error"); + return STATE_SYSTEM_ERROR; + } + // First export folder and its notes + Cursor folderCursor = mContext.getContentResolver().query( + Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, + "(" + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + " AND " + + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + ") OR " + + NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER, null, null); + + if (folderCursor != null) { + if (folderCursor.moveToFirst()) { + do { + // Print folder's name + String folderName = ""; + if(folderCursor.getLong(NOTE_COLUMN_ID) == Notes.ID_CALL_RECORD_FOLDER) { + folderName = mContext.getString(R.string.call_record_folder_name); + } else { + folderName = folderCursor.getString(NOTE_COLUMN_SNIPPET); + } + if (!TextUtils.isEmpty(folderName)) { + ps.println(String.format(getFormat(FORMAT_FOLDER_NAME), folderName)); + } + String folderId = folderCursor.getString(NOTE_COLUMN_ID); + exportFolderToText(folderId, ps); + } while (folderCursor.moveToNext()); + } + folderCursor.close(); + } + + // Export notes in root's folder + Cursor noteCursor = mContext.getContentResolver().query( + Notes.CONTENT_NOTE_URI, + NOTE_PROJECTION, + NoteColumns.TYPE + "=" + +Notes.TYPE_NOTE + " AND " + NoteColumns.PARENT_ID + + "=0", null, null); + + if (noteCursor != null) { + if (noteCursor.moveToFirst()) { + do { + ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format( + mContext.getString(R.string.format_datetime_mdhm), + noteCursor.getLong(NOTE_COLUMN_MODIFIED_DATE)))); + // Query data belong to this note + String noteId = noteCursor.getString(NOTE_COLUMN_ID); + exportNoteToText(noteId, ps); + } while (noteCursor.moveToNext()); + } + noteCursor.close(); + } + ps.close(); + + return STATE_SUCCESS; + } + + /** + * Get a print stream pointed to the file {@generateExportedTextFile} + */ + private PrintStream getExportToTextPrintStream() { + File file = generateFileMountedOnSDcard(mContext, R.string.file_path, + R.string.file_name_txt_format); + if (file == null) { + Log.e(TAG, "create file to exported failed"); + return null; + } + mFileName = file.getName(); + mFileDirectory = mContext.getString(R.string.file_path); + PrintStream ps = null; + try { + FileOutputStream fos = new FileOutputStream(file); + ps = new PrintStream(fos); + } catch (FileNotFoundException e) { + e.printStackTrace(); + return null; + } catch (NullPointerException e) { + e.printStackTrace(); + return null; + } + return ps; + } + } + + /** + * Generate the text file to store imported data + */ + private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) { + StringBuilder sb = new StringBuilder(); + sb.append(Environment.getExternalStorageDirectory()); + sb.append(context.getString(filePathResId)); + File filedir = new File(sb.toString()); + sb.append(context.getString( + fileNameFormatResId, + DateFormat.format(context.getString(R.string.format_date_ymd), + System.currentTimeMillis()))); + File file = new File(sb.toString()); + + try { + if (!filedir.exists()) { + filedir.mkdir(); + } + if (!file.exists()) { + file.createNewFile(); + } + return file; + } catch (SecurityException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } +} + + diff --git a/src/java/net/micode/notes/tool/DataUtils.java b/src/java/net/micode/notes/tool/DataUtils.java new file mode 100644 index 00000000..2a14982e --- /dev/null +++ b/src/java/net/micode/notes/tool/DataUtils.java @@ -0,0 +1,295 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.ContentProviderOperation; +import android.content.ContentProviderResult; +import android.content.ContentResolver; +import android.content.ContentUris; +import android.content.ContentValues; +import android.content.OperationApplicationException; +import android.database.Cursor; +import android.os.RemoteException; +import android.util.Log; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.CallNote; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; + +import java.util.ArrayList; +import java.util.HashSet; + + +public class DataUtils { + public static final String TAG = "DataUtils"; + public static boolean batchDeleteNotes(ContentResolver resolver, HashSet ids) { + if (ids == null) { + Log.d(TAG, "the ids is null"); + return true; + } + if (ids.size() == 0) { + Log.d(TAG, "no id is in the hashset"); + return true; + } + + ArrayList operationList = new ArrayList(); + for (long id : ids) { + if(id == Notes.ID_ROOT_FOLDER) { + Log.e(TAG, "Don't delete system folder root"); + continue; + } + ContentProviderOperation.Builder builder = ContentProviderOperation + .newDelete(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + operationList.add(builder.build()); + } + try { + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; + } + return true; + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } + return false; + } + + public static void moveNoteToFoler(ContentResolver resolver, long id, long srcFolderId, long desFolderId) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.PARENT_ID, desFolderId); + values.put(NoteColumns.ORIGIN_PARENT_ID, srcFolderId); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + resolver.update(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id), values, null, null); + } + + public static boolean batchMoveToFolder(ContentResolver resolver, HashSet ids, + long folderId) { + if (ids == null) { + Log.d(TAG, "the ids is null"); + return true; + } + + ArrayList operationList = new ArrayList(); + for (long id : ids) { + ContentProviderOperation.Builder builder = ContentProviderOperation + .newUpdate(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, id)); + builder.withValue(NoteColumns.PARENT_ID, folderId); + builder.withValue(NoteColumns.LOCAL_MODIFIED, 1); + operationList.add(builder.build()); + } + + try { + ContentProviderResult[] results = resolver.applyBatch(Notes.AUTHORITY, operationList); + if (results == null || results.length == 0 || results[0] == null) { + Log.d(TAG, "delete notes failed, ids:" + ids.toString()); + return false; + } + return true; + } catch (RemoteException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } catch (OperationApplicationException e) { + Log.e(TAG, String.format("%s: %s", e.toString(), e.getMessage())); + } + return false; + } + + /** + * Get the all folder count except system folders {@link Notes#TYPE_SYSTEM}} + */ + public static int getUserFolderCount(ContentResolver resolver) { + Cursor cursor =resolver.query(Notes.CONTENT_NOTE_URI, + new String[] { "COUNT(*)" }, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>?", + new String[] { String.valueOf(Notes.TYPE_FOLDER), String.valueOf(Notes.ID_TRASH_FOLER)}, + null); + + int count = 0; + if(cursor != null) { + if(cursor.moveToFirst()) { + try { + count = cursor.getInt(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "get folder count failed:" + e.toString()); + } finally { + cursor.close(); + } + } + } + return count; + } + + public static boolean visibleInNoteDatabase(ContentResolver resolver, long noteId, int type) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, + NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER, + new String [] {String.valueOf(type)}, + null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean existInNoteDatabase(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, noteId), + null, null, null, null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean existInDataDatabase(ContentResolver resolver, long dataId) { + Cursor cursor = resolver.query(ContentUris.withAppendedId(Notes.CONTENT_DATA_URI, dataId), + null, null, null, null); + + boolean exist = false; + if (cursor != null) { + if (cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static boolean checkVisibleFolderName(ContentResolver resolver, String name) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, null, + NoteColumns.TYPE + "=" + Notes.TYPE_FOLDER + + " AND " + NoteColumns.PARENT_ID + "<>" + Notes.ID_TRASH_FOLER + + " AND " + NoteColumns.SNIPPET + "=?", + new String[] { name }, null); + boolean exist = false; + if(cursor != null) { + if(cursor.getCount() > 0) { + exist = true; + } + cursor.close(); + } + return exist; + } + + public static HashSet getFolderNoteWidget(ContentResolver resolver, long folderId) { + Cursor c = resolver.query(Notes.CONTENT_NOTE_URI, + new String[] { NoteColumns.WIDGET_ID, NoteColumns.WIDGET_TYPE }, + NoteColumns.PARENT_ID + "=?", + new String[] { String.valueOf(folderId) }, + null); + + HashSet set = null; + if (c != null) { + if (c.moveToFirst()) { + set = new HashSet(); + do { + try { + AppWidgetAttribute widget = new AppWidgetAttribute(); + widget.widgetId = c.getInt(0); + widget.widgetType = c.getInt(1); + set.add(widget); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, e.toString()); + } + } while (c.moveToNext()); + } + c.close(); + } + return set; + } + + public static String getCallNumberByNoteId(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String [] { CallNote.PHONE_NUMBER }, + CallNote.NOTE_ID + "=? AND " + CallNote.MIME_TYPE + "=?", + new String [] { String.valueOf(noteId), CallNote.CONTENT_ITEM_TYPE }, + null); + + if (cursor != null && cursor.moveToFirst()) { + try { + return cursor.getString(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call number fails " + e.toString()); + } finally { + cursor.close(); + } + } + return ""; + } + + public static long getNoteIdByPhoneNumberAndCallDate(ContentResolver resolver, String phoneNumber, long callDate) { + Cursor cursor = resolver.query(Notes.CONTENT_DATA_URI, + new String [] { CallNote.NOTE_ID }, + CallNote.CALL_DATE + "=? AND " + CallNote.MIME_TYPE + "=? AND PHONE_NUMBERS_EQUAL(" + + CallNote.PHONE_NUMBER + ",?)", + new String [] { String.valueOf(callDate), CallNote.CONTENT_ITEM_TYPE, phoneNumber }, + null); + + if (cursor != null) { + if (cursor.moveToFirst()) { + try { + return cursor.getLong(0); + } catch (IndexOutOfBoundsException e) { + Log.e(TAG, "Get call note id fails " + e.toString()); + } + } + cursor.close(); + } + return 0; + } + + public static String getSnippetById(ContentResolver resolver, long noteId) { + Cursor cursor = resolver.query(Notes.CONTENT_NOTE_URI, + new String [] { NoteColumns.SNIPPET }, + NoteColumns.ID + "=?", + new String [] { String.valueOf(noteId)}, + null); + + if (cursor != null) { + String snippet = ""; + if (cursor.moveToFirst()) { + snippet = cursor.getString(0); + } + cursor.close(); + return snippet; + } + throw new IllegalArgumentException("Note is not found with id: " + noteId); + } + + public static String getFormattedSnippet(String snippet) { + if (snippet != null) { + snippet = snippet.trim(); + int index = snippet.indexOf('\n'); + if (index != -1) { + snippet = snippet.substring(0, index); + } + } + return snippet; + } +} diff --git a/src/java/net/micode/notes/tool/GTaskStringUtils.java b/src/java/net/micode/notes/tool/GTaskStringUtils.java new file mode 100644 index 00000000..666b7290 --- /dev/null +++ b/src/java/net/micode/notes/tool/GTaskStringUtils.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +public class GTaskStringUtils { + + public final static String GTASK_JSON_ACTION_ID = "action_id"; + + public final static String GTASK_JSON_ACTION_LIST = "action_list"; + + public final static String GTASK_JSON_ACTION_TYPE = "action_type"; + + public final static String GTASK_JSON_ACTION_TYPE_CREATE = "create"; + + public final static String GTASK_JSON_ACTION_TYPE_GETALL = "get_all"; + + public final static String GTASK_JSON_ACTION_TYPE_MOVE = "move"; + + public final static String GTASK_JSON_ACTION_TYPE_UPDATE = "update"; + + public final static String GTASK_JSON_CREATOR_ID = "creator_id"; + + public final static String GTASK_JSON_CHILD_ENTITY = "child_entity"; + + public final static String GTASK_JSON_CLIENT_VERSION = "client_version"; + + public final static String GTASK_JSON_COMPLETED = "completed"; + + public final static String GTASK_JSON_CURRENT_LIST_ID = "current_list_id"; + + public final static String GTASK_JSON_DEFAULT_LIST_ID = "default_list_id"; + + public final static String GTASK_JSON_DELETED = "deleted"; + + public final static String GTASK_JSON_DEST_LIST = "dest_list"; + + public final static String GTASK_JSON_DEST_PARENT = "dest_parent"; + + public final static String GTASK_JSON_DEST_PARENT_TYPE = "dest_parent_type"; + + public final static String GTASK_JSON_ENTITY_DELTA = "entity_delta"; + + public final static String GTASK_JSON_ENTITY_TYPE = "entity_type"; + + public final static String GTASK_JSON_GET_DELETED = "get_deleted"; + + public final static String GTASK_JSON_ID = "id"; + + public final static String GTASK_JSON_INDEX = "index"; + + public final static String GTASK_JSON_LAST_MODIFIED = "last_modified"; + + public final static String GTASK_JSON_LATEST_SYNC_POINT = "latest_sync_point"; + + public final static String GTASK_JSON_LIST_ID = "list_id"; + + public final static String GTASK_JSON_LISTS = "lists"; + + public final static String GTASK_JSON_NAME = "name"; + + public final static String GTASK_JSON_NEW_ID = "new_id"; + + public final static String GTASK_JSON_NOTES = "notes"; + + public final static String GTASK_JSON_PARENT_ID = "parent_id"; + + public final static String GTASK_JSON_PRIOR_SIBLING_ID = "prior_sibling_id"; + + public final static String GTASK_JSON_RESULTS = "results"; + + public final static String GTASK_JSON_SOURCE_LIST = "source_list"; + + public final static String GTASK_JSON_TASKS = "tasks"; + + public final static String GTASK_JSON_TYPE = "type"; + + public final static String GTASK_JSON_TYPE_GROUP = "GROUP"; + + public final static String GTASK_JSON_TYPE_TASK = "TASK"; + + public final static String GTASK_JSON_USER = "user"; + + public final static String MIUI_FOLDER_PREFFIX = "[MIUI_Notes]"; + + public final static String FOLDER_DEFAULT = "Default"; + + public final static String FOLDER_CALL_NOTE = "Call_Note"; + + public final static String FOLDER_META = "METADATA"; + + public final static String META_HEAD_GTASK_ID = "meta_gid"; + + public final static String META_HEAD_NOTE = "meta_note"; + + public final static String META_HEAD_DATA = "meta_data"; + + public final static String META_NOTE_NAME = "[META INFO] DON'T UPDATE AND DELETE"; + +} diff --git a/src/java/net/micode/notes/tool/ResourceParser.java b/src/java/net/micode/notes/tool/ResourceParser.java new file mode 100644 index 00000000..1ad3ad60 --- /dev/null +++ b/src/java/net/micode/notes/tool/ResourceParser.java @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.tool; + +import android.content.Context; +import android.preference.PreferenceManager; + +import net.micode.notes.R; +import net.micode.notes.ui.NotesPreferenceActivity; + +public class ResourceParser { + + public static final int YELLOW = 0; + public static final int BLUE = 1; + public static final int WHITE = 2; + public static final int GREEN = 3; + public static final int RED = 4; + + public static final int BG_DEFAULT_COLOR = YELLOW; + + public static final int TEXT_SMALL = 0; + public static final int TEXT_MEDIUM = 1; + public static final int TEXT_LARGE = 2; + public static final int TEXT_SUPER = 3; + + public static final int BG_DEFAULT_FONT_SIZE = TEXT_MEDIUM; + + public static class NoteBgResources { + private final static int [] BG_EDIT_RESOURCES = new int [] { + R.drawable.edit_yellow, + R.drawable.edit_blue, + R.drawable.edit_white, + R.drawable.edit_green, + R.drawable.edit_red + }; + + private final static int [] BG_EDIT_TITLE_RESOURCES = new int [] { + R.drawable.edit_title_yellow, + R.drawable.edit_title_blue, + R.drawable.edit_title_white, + R.drawable.edit_title_green, + R.drawable.edit_title_red + }; + + public static int getNoteBgResource(int id) { + return BG_EDIT_RESOURCES[id]; + } + + public static int getNoteTitleBgResource(int id) { + return BG_EDIT_TITLE_RESOURCES[id]; + } + } + + public static int getDefaultBgId(Context context) { + if (PreferenceManager.getDefaultSharedPreferences(context).getBoolean( + NotesPreferenceActivity.PREFERENCE_SET_BG_COLOR_KEY, false)) { + return (int) (Math.random() * NoteBgResources.BG_EDIT_RESOURCES.length); + } else { + return BG_DEFAULT_COLOR; + } + } + + public static class NoteItemBgResources { + private final static int [] BG_FIRST_RESOURCES = new int [] { + R.drawable.list_yellow_up, + R.drawable.list_blue_up, + R.drawable.list_white_up, + R.drawable.list_green_up, + R.drawable.list_red_up + }; + + private final static int [] BG_NORMAL_RESOURCES = new int [] { + R.drawable.list_yellow_middle, + R.drawable.list_blue_middle, + R.drawable.list_white_middle, + R.drawable.list_green_middle, + R.drawable.list_red_middle + }; + + private final static int [] BG_LAST_RESOURCES = new int [] { + R.drawable.list_yellow_down, + R.drawable.list_blue_down, + R.drawable.list_white_down, + R.drawable.list_green_down, + R.drawable.list_red_down, + }; + + private final static int [] BG_SINGLE_RESOURCES = new int [] { + R.drawable.list_yellow_single, + R.drawable.list_blue_single, + R.drawable.list_white_single, + R.drawable.list_green_single, + R.drawable.list_red_single + }; + + public static int getNoteBgFirstRes(int id) { + return BG_FIRST_RESOURCES[id]; + } + + public static int getNoteBgLastRes(int id) { + return BG_LAST_RESOURCES[id]; + } + + public static int getNoteBgSingleRes(int id) { + return BG_SINGLE_RESOURCES[id]; + } + + public static int getNoteBgNormalRes(int id) { + return BG_NORMAL_RESOURCES[id]; + } + + public static int getFolderBgRes() { + return R.drawable.list_folder; + } + } + + public static class WidgetBgResources { + private final static int [] BG_2X_RESOURCES = new int [] { + R.drawable.widget_2x_yellow, + R.drawable.widget_2x_blue, + R.drawable.widget_2x_white, + R.drawable.widget_2x_green, + R.drawable.widget_2x_red, + }; + + public static int getWidget2xBgResource(int id) { + return BG_2X_RESOURCES[id]; + } + + private final static int [] BG_4X_RESOURCES = new int [] { + R.drawable.widget_4x_yellow, + R.drawable.widget_4x_blue, + R.drawable.widget_4x_white, + R.drawable.widget_4x_green, + R.drawable.widget_4x_red + }; + + public static int getWidget4xBgResource(int id) { + return BG_4X_RESOURCES[id]; + } + } + + public static class TextAppearanceResources { + private final static int [] TEXTAPPEARANCE_RESOURCES = new int [] { + R.style.TextAppearanceNormal, + R.style.TextAppearanceMedium, + R.style.TextAppearanceLarge, + R.style.TextAppearanceSuper + }; + + public static int getTexAppearanceResource(int id) { + /** + * 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 (id >= TEXTAPPEARANCE_RESOURCES.length) { + return BG_DEFAULT_FONT_SIZE; + } + return TEXTAPPEARANCE_RESOURCES[id]; + } + + public static int getResourcesSize() { + return TEXTAPPEARANCE_RESOURCES.length; + } + } +} diff --git a/src/java/net/micode/notes/ui/AlarmAlertActivity.java b/src/java/net/micode/notes/ui/AlarmAlertActivity.java new file mode 100644 index 00000000..85723be0 --- /dev/null +++ b/src/java/net/micode/notes/ui/AlarmAlertActivity.java @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.content.DialogInterface.OnDismissListener; +import android.content.Intent; +import android.media.AudioManager; +import android.media.MediaPlayer; +import android.media.RingtoneManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.PowerManager; +import android.provider.Settings; +import android.view.Window; +import android.view.WindowManager; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.DataUtils; + +import java.io.IOException; + + +public class AlarmAlertActivity extends Activity implements OnClickListener, OnDismissListener { + private long mNoteId; + private String mSnippet; + private static final int SNIPPET_PREW_MAX_LEN = 60; + MediaPlayer mPlayer; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + + final Window win = getWindow(); + win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + + if (!isScreenOn()) { + win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON + | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON + | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON + | WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); + } + + Intent intent = getIntent(); + + try { + mNoteId = Long.valueOf(intent.getData().getPathSegments().get(1)); + mSnippet = DataUtils.getSnippetById(this.getContentResolver(), mNoteId); + mSnippet = mSnippet.length() > SNIPPET_PREW_MAX_LEN ? mSnippet.substring(0, + SNIPPET_PREW_MAX_LEN) + getResources().getString(R.string.notelist_string_info) + : mSnippet; + } catch (IllegalArgumentException e) { + e.printStackTrace(); + return; + } + + mPlayer = new MediaPlayer(); + if (DataUtils.visibleInNoteDatabase(getContentResolver(), mNoteId, Notes.TYPE_NOTE)) { + showActionDialog(); + playAlarmSound(); + } else { + finish(); + } + } + + private boolean isScreenOn() { + PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + return pm.isScreenOn(); + } + + private void playAlarmSound() { + Uri url = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM); + + int silentModeStreams = Settings.System.getInt(getContentResolver(), + Settings.System.MODE_RINGER_STREAMS_AFFECTED, 0); + + if ((silentModeStreams & (1 << AudioManager.STREAM_ALARM)) != 0) { + mPlayer.setAudioStreamType(silentModeStreams); + } else { + mPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); + } + try { + mPlayer.setDataSource(this, url); + mPlayer.prepare(); + mPlayer.setLooping(true); + mPlayer.start(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalStateException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + private void showActionDialog() { + AlertDialog.Builder dialog = new AlertDialog.Builder(this); + dialog.setTitle(R.string.app_name); + dialog.setMessage(mSnippet); + dialog.setPositiveButton(R.string.notealert_ok, this); + if (isScreenOn()) { + dialog.setNegativeButton(R.string.notealert_enter, this); + } + dialog.show().setOnDismissListener(this); + } + + public void onClick(DialogInterface dialog, int which) { + switch (which) { + case DialogInterface.BUTTON_NEGATIVE: + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, mNoteId); + startActivity(intent); + break; + default: + break; + } + } + + public void onDismiss(DialogInterface dialog) { + stopAlarmSound(); + finish(); + } + + private void stopAlarmSound() { + if (mPlayer != null) { + mPlayer.stop(); + mPlayer.release(); + mPlayer = null; + } + } +} diff --git a/src/java/net/micode/notes/ui/AlarmInitReceiver.java b/src/java/net/micode/notes/ui/AlarmInitReceiver.java new file mode 100644 index 00000000..f2212025 --- /dev/null +++ b/src/java/net/micode/notes/ui/AlarmInitReceiver.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.BroadcastReceiver; +import android.content.ContentUris; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; + +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; + + +public class AlarmInitReceiver extends BroadcastReceiver { + + private static final String [] PROJECTION = new String [] { + NoteColumns.ID, + NoteColumns.ALERTED_DATE + }; + + private static final int COLUMN_ID = 0; + private static final int COLUMN_ALERTED_DATE = 1; + + @Override + public void onReceive(Context context, Intent intent) { + long currentDate = System.currentTimeMillis(); + Cursor c = context.getContentResolver().query(Notes.CONTENT_NOTE_URI, + PROJECTION, + NoteColumns.ALERTED_DATE + ">? AND " + NoteColumns.TYPE + "=" + Notes.TYPE_NOTE, + new String[] { String.valueOf(currentDate) }, + null); + + if (c != null) { + if (c.moveToFirst()) { + do { + long alertDate = c.getLong(COLUMN_ALERTED_DATE); + Intent sender = new Intent(context, AlarmReceiver.class); + sender.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, c.getLong(COLUMN_ID))); + PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, sender, 0); + AlarmManager alermManager = (AlarmManager) context + .getSystemService(Context.ALARM_SERVICE); + alermManager.set(AlarmManager.RTC_WAKEUP, alertDate, pendingIntent); + } while (c.moveToNext()); + } + c.close(); + } + } +} diff --git a/src/java/net/micode/notes/ui/AlarmReceiver.java b/src/java/net/micode/notes/ui/AlarmReceiver.java new file mode 100644 index 00000000..54e503bd --- /dev/null +++ b/src/java/net/micode/notes/ui/AlarmReceiver.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +public class AlarmReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + intent.setClass(context, AlarmAlertActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + context.startActivity(intent); + } +} diff --git a/src/java/net/micode/notes/ui/DateTimePicker.java b/src/java/net/micode/notes/ui/DateTimePicker.java new file mode 100644 index 00000000..496b0cda --- /dev/null +++ b/src/java/net/micode/notes/ui/DateTimePicker.java @@ -0,0 +1,485 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import java.text.DateFormatSymbols; +import java.util.Calendar; + +import net.micode.notes.R; + + +import android.content.Context; +import android.text.format.DateFormat; +import android.view.View; +import android.widget.FrameLayout; +import android.widget.NumberPicker; + +public class DateTimePicker extends FrameLayout { + + private static final boolean DEFAULT_ENABLE_STATE = true; + + private static final int HOURS_IN_HALF_DAY = 12; + private static final int HOURS_IN_ALL_DAY = 24; + private static final int DAYS_IN_ALL_WEEK = 7; + private static final int DATE_SPINNER_MIN_VAL = 0; + private static final int DATE_SPINNER_MAX_VAL = DAYS_IN_ALL_WEEK - 1; + private static final int HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW = 0; + private static final int HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW = 23; + private static final int HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW = 1; + private static final int HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW = 12; + private static final int MINUT_SPINNER_MIN_VAL = 0; + private static final int MINUT_SPINNER_MAX_VAL = 59; + private static final int AMPM_SPINNER_MIN_VAL = 0; + private static final int AMPM_SPINNER_MAX_VAL = 1; + + private final NumberPicker mDateSpinner; + private final NumberPicker mHourSpinner; + private final NumberPicker mMinuteSpinner; + private final NumberPicker mAmPmSpinner; + private Calendar mDate; + + private String[] mDateDisplayValues = new String[DAYS_IN_ALL_WEEK]; + + private boolean mIsAm; + + private boolean mIs24HourView; + + private boolean mIsEnabled = DEFAULT_ENABLE_STATE; + + private boolean mInitialising; + + private OnDateTimeChangedListener mOnDateTimeChangedListener; + + private NumberPicker.OnValueChangeListener mOnDateChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + mDate.add(Calendar.DAY_OF_YEAR, newVal - oldVal); + updateDateControl(); + onDateTimeChanged(); + } + }; + + private NumberPicker.OnValueChangeListener mOnHourChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + boolean isDateChanged = false; + Calendar cal = Calendar.getInstance(); + if (!mIs24HourView) { + if (!mIsAm && oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, 1); + isDateChanged = true; + } else if (mIsAm && oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -1); + isDateChanged = true; + } + if (oldVal == HOURS_IN_HALF_DAY - 1 && newVal == HOURS_IN_HALF_DAY || + oldVal == HOURS_IN_HALF_DAY && newVal == HOURS_IN_HALF_DAY - 1) { + mIsAm = !mIsAm; + updateAmPmControl(); + } + } else { + if (oldVal == HOURS_IN_ALL_DAY - 1 && newVal == 0) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, 1); + isDateChanged = true; + } else if (oldVal == 0 && newVal == HOURS_IN_ALL_DAY - 1) { + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -1); + isDateChanged = true; + } + } + int newHour = mHourSpinner.getValue() % HOURS_IN_HALF_DAY + (mIsAm ? 0 : HOURS_IN_HALF_DAY); + mDate.set(Calendar.HOUR_OF_DAY, newHour); + onDateTimeChanged(); + if (isDateChanged) { + setCurrentYear(cal.get(Calendar.YEAR)); + setCurrentMonth(cal.get(Calendar.MONTH)); + setCurrentDay(cal.get(Calendar.DAY_OF_MONTH)); + } + } + }; + + private NumberPicker.OnValueChangeListener mOnMinuteChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + int minValue = mMinuteSpinner.getMinValue(); + int maxValue = mMinuteSpinner.getMaxValue(); + int offset = 0; + if (oldVal == maxValue && newVal == minValue) { + offset += 1; + } else if (oldVal == minValue && newVal == maxValue) { + offset -= 1; + } + if (offset != 0) { + mDate.add(Calendar.HOUR_OF_DAY, offset); + mHourSpinner.setValue(getCurrentHour()); + updateDateControl(); + int newHour = getCurrentHourOfDay(); + if (newHour >= HOURS_IN_HALF_DAY) { + mIsAm = false; + updateAmPmControl(); + } else { + mIsAm = true; + updateAmPmControl(); + } + } + mDate.set(Calendar.MINUTE, newVal); + onDateTimeChanged(); + } + }; + + private NumberPicker.OnValueChangeListener mOnAmPmChangedListener = new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + mIsAm = !mIsAm; + if (mIsAm) { + mDate.add(Calendar.HOUR_OF_DAY, -HOURS_IN_HALF_DAY); + } else { + mDate.add(Calendar.HOUR_OF_DAY, HOURS_IN_HALF_DAY); + } + updateAmPmControl(); + onDateTimeChanged(); + } + }; + + public interface OnDateTimeChangedListener { + void onDateTimeChanged(DateTimePicker view, int year, int month, + int dayOfMonth, int hourOfDay, int minute); + } + + public DateTimePicker(Context context) { + this(context, System.currentTimeMillis()); + } + + public DateTimePicker(Context context, long date) { + this(context, date, DateFormat.is24HourFormat(context)); + } + + public DateTimePicker(Context context, long date, boolean is24HourView) { + super(context); + mDate = Calendar.getInstance(); + mInitialising = true; + mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY; + inflate(context, R.layout.datetime_picker, this); + + mDateSpinner = (NumberPicker) findViewById(R.id.date); + mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL); + mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL); + mDateSpinner.setOnValueChangedListener(mOnDateChangedListener); + + mHourSpinner = (NumberPicker) findViewById(R.id.hour); + mHourSpinner.setOnValueChangedListener(mOnHourChangedListener); + mMinuteSpinner = (NumberPicker) findViewById(R.id.minute); + mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL); + mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL); + mMinuteSpinner.setOnLongPressUpdateInterval(100); + mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener); + + String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings(); + mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm); + mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL); + mAmPmSpinner.setMaxValue(AMPM_SPINNER_MAX_VAL); + mAmPmSpinner.setDisplayedValues(stringsForAmPm); + mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener); + + // update controls to initial state + updateDateControl(); + updateHourControl(); + updateAmPmControl(); + + set24HourView(is24HourView); + + // set to current time + setCurrentDate(date); + + setEnabled(isEnabled()); + + // set the content descriptions + mInitialising = false; + } + + @Override + public void setEnabled(boolean enabled) { + if (mIsEnabled == enabled) { + return; + } + super.setEnabled(enabled); + mDateSpinner.setEnabled(enabled); + mMinuteSpinner.setEnabled(enabled); + mHourSpinner.setEnabled(enabled); + mAmPmSpinner.setEnabled(enabled); + mIsEnabled = enabled; + } + + @Override + public boolean isEnabled() { + return mIsEnabled; + } + + /** + * Get the current date in millis + * + * @return the current date in millis + */ + public long getCurrentDateInTimeMillis() { + return mDate.getTimeInMillis(); + } + + /** + * Set the current date + * + * @param date The current date in millis + */ + public void setCurrentDate(long date) { + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(date); + setCurrentDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), + cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE)); + } + + /** + * Set the current date + * + * @param year The current year + * @param month The current month + * @param dayOfMonth The current dayOfMonth + * @param hourOfDay The current hourOfDay + * @param minute The current minute + */ + public void setCurrentDate(int year, int month, + int dayOfMonth, int hourOfDay, int minute) { + setCurrentYear(year); + setCurrentMonth(month); + setCurrentDay(dayOfMonth); + setCurrentHour(hourOfDay); + setCurrentMinute(minute); + } + + /** + * Get current year + * + * @return The current year + */ + public int getCurrentYear() { + return mDate.get(Calendar.YEAR); + } + + /** + * Set current year + * + * @param year The current year + */ + public void setCurrentYear(int year) { + if (!mInitialising && year == getCurrentYear()) { + return; + } + mDate.set(Calendar.YEAR, year); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current month in the year + * + * @return The current month in the year + */ + public int getCurrentMonth() { + return mDate.get(Calendar.MONTH); + } + + /** + * Set current month in the year + * + * @param month The month in the year + */ + public void setCurrentMonth(int month) { + if (!mInitialising && month == getCurrentMonth()) { + return; + } + mDate.set(Calendar.MONTH, month); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current day of the month + * + * @return The day of the month + */ + public int getCurrentDay() { + return mDate.get(Calendar.DAY_OF_MONTH); + } + + /** + * Set current day of the month + * + * @param dayOfMonth The day of the month + */ + public void setCurrentDay(int dayOfMonth) { + if (!mInitialising && dayOfMonth == getCurrentDay()) { + return; + } + mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateDateControl(); + onDateTimeChanged(); + } + + /** + * Get current hour in 24 hour mode, in the range (0~23) + * @return The current hour in 24 hour mode + */ + public int getCurrentHourOfDay() { + return mDate.get(Calendar.HOUR_OF_DAY); + } + + private int getCurrentHour() { + if (mIs24HourView){ + return getCurrentHourOfDay(); + } else { + int hour = getCurrentHourOfDay(); + if (hour > HOURS_IN_HALF_DAY) { + return hour - HOURS_IN_HALF_DAY; + } else { + return hour == 0 ? HOURS_IN_HALF_DAY : hour; + } + } + } + + /** + * Set current hour in 24 hour mode, in the range (0~23) + * + * @param hourOfDay + */ + public void setCurrentHour(int hourOfDay) { + if (!mInitialising && hourOfDay == getCurrentHourOfDay()) { + return; + } + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + if (!mIs24HourView) { + if (hourOfDay >= HOURS_IN_HALF_DAY) { + mIsAm = false; + if (hourOfDay > HOURS_IN_HALF_DAY) { + hourOfDay -= HOURS_IN_HALF_DAY; + } + } else { + mIsAm = true; + if (hourOfDay == 0) { + hourOfDay = HOURS_IN_HALF_DAY; + } + } + updateAmPmControl(); + } + mHourSpinner.setValue(hourOfDay); + onDateTimeChanged(); + } + + /** + * Get currentMinute + * + * @return The Current Minute + */ + public int getCurrentMinute() { + return mDate.get(Calendar.MINUTE); + } + + /** + * Set current minute + */ + public void setCurrentMinute(int minute) { + if (!mInitialising && minute == getCurrentMinute()) { + return; + } + mMinuteSpinner.setValue(minute); + mDate.set(Calendar.MINUTE, minute); + onDateTimeChanged(); + } + + /** + * @return true if this is in 24 hour view else false. + */ + public boolean is24HourView () { + return mIs24HourView; + } + + /** + * Set whether in 24 hour or AM/PM mode. + * + * @param is24HourView True for 24 hour mode. False for AM/PM mode. + */ + public void set24HourView(boolean is24HourView) { + if (mIs24HourView == is24HourView) { + return; + } + mIs24HourView = is24HourView; + mAmPmSpinner.setVisibility(is24HourView ? View.GONE : View.VISIBLE); + int hour = getCurrentHourOfDay(); + updateHourControl(); + setCurrentHour(hour); + updateAmPmControl(); + } + + private void updateDateControl() { + Calendar cal = Calendar.getInstance(); + cal.setTimeInMillis(mDate.getTimeInMillis()); + cal.add(Calendar.DAY_OF_YEAR, -DAYS_IN_ALL_WEEK / 2 - 1); + mDateSpinner.setDisplayedValues(null); + for (int i = 0; i < DAYS_IN_ALL_WEEK; ++i) { + cal.add(Calendar.DAY_OF_YEAR, 1); + mDateDisplayValues[i] = (String) DateFormat.format("MM.dd EEEE", cal); + } + mDateSpinner.setDisplayedValues(mDateDisplayValues); + mDateSpinner.setValue(DAYS_IN_ALL_WEEK / 2); + mDateSpinner.invalidate(); + } + + private void updateAmPmControl() { + if (mIs24HourView) { + mAmPmSpinner.setVisibility(View.GONE); + } else { + int index = mIsAm ? Calendar.AM : Calendar.PM; + mAmPmSpinner.setValue(index); + mAmPmSpinner.setVisibility(View.VISIBLE); + } + } + + private void updateHourControl() { + if (mIs24HourView) { + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_24_HOUR_VIEW); + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_24_HOUR_VIEW); + } else { + mHourSpinner.setMinValue(HOUR_SPINNER_MIN_VAL_12_HOUR_VIEW); + mHourSpinner.setMaxValue(HOUR_SPINNER_MAX_VAL_12_HOUR_VIEW); + } + } + + /** + * Set the callback that indicates the 'Set' button has been pressed. + * @param callback the callback, if null will do nothing + */ + public void setOnDateTimeChangedListener(OnDateTimeChangedListener callback) { + mOnDateTimeChangedListener = callback; + } + + private void onDateTimeChanged() { + if (mOnDateTimeChangedListener != null) { + mOnDateTimeChangedListener.onDateTimeChanged(this, getCurrentYear(), + getCurrentMonth(), getCurrentDay(), getCurrentHourOfDay(), getCurrentMinute()); + } + } +} diff --git a/src/java/net/micode/notes/ui/DateTimePickerDialog.java b/src/java/net/micode/notes/ui/DateTimePickerDialog.java new file mode 100644 index 00000000..2c47ba41 --- /dev/null +++ b/src/java/net/micode/notes/ui/DateTimePickerDialog.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import java.util.Calendar; + +import net.micode.notes.R; +import net.micode.notes.ui.DateTimePicker; +import net.micode.notes.ui.DateTimePicker.OnDateTimeChangedListener; + +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.DialogInterface.OnClickListener; +import android.text.format.DateFormat; +import android.text.format.DateUtils; + +public class DateTimePickerDialog extends AlertDialog implements OnClickListener { + + private Calendar mDate = Calendar.getInstance(); + private boolean mIs24HourView; + private OnDateTimeSetListener mOnDateTimeSetListener; + private DateTimePicker mDateTimePicker; + + public interface OnDateTimeSetListener { + void OnDateTimeSet(AlertDialog dialog, long date); + } + + public DateTimePickerDialog(Context context, long date) { + super(context); + mDateTimePicker = new DateTimePicker(context); + setView(mDateTimePicker); + mDateTimePicker.setOnDateTimeChangedListener(new OnDateTimeChangedListener() { + public void onDateTimeChanged(DateTimePicker view, int year, int month, + int dayOfMonth, int hourOfDay, int minute) { + mDate.set(Calendar.YEAR, year); + mDate.set(Calendar.MONTH, month); + mDate.set(Calendar.DAY_OF_MONTH, dayOfMonth); + mDate.set(Calendar.HOUR_OF_DAY, hourOfDay); + mDate.set(Calendar.MINUTE, minute); + updateTitle(mDate.getTimeInMillis()); + } + }); + mDate.setTimeInMillis(date); + mDate.set(Calendar.SECOND, 0); + mDateTimePicker.setCurrentDate(mDate.getTimeInMillis()); + setButton(context.getString(R.string.datetime_dialog_ok), this); + setButton2(context.getString(R.string.datetime_dialog_cancel), (OnClickListener)null); + set24HourView(DateFormat.is24HourFormat(this.getContext())); + updateTitle(mDate.getTimeInMillis()); + } + + public void set24HourView(boolean is24HourView) { + mIs24HourView = is24HourView; + } + + public void setOnDateTimeSetListener(OnDateTimeSetListener callBack) { + mOnDateTimeSetListener = callBack; + } + + private void updateTitle(long date) { + int flag = + DateUtils.FORMAT_SHOW_YEAR | + DateUtils.FORMAT_SHOW_DATE | + DateUtils.FORMAT_SHOW_TIME; + flag |= mIs24HourView ? DateUtils.FORMAT_24HOUR : DateUtils.FORMAT_24HOUR; + setTitle(DateUtils.formatDateTime(this.getContext(), date, flag)); + } + + public void onClick(DialogInterface arg0, int arg1) { + if (mOnDateTimeSetListener != null) { + mOnDateTimeSetListener.OnDateTimeSet(this, mDate.getTimeInMillis()); + } + } + +} \ No newline at end of file diff --git a/src/java/net/micode/notes/ui/DropdownMenu.java b/src/java/net/micode/notes/ui/DropdownMenu.java new file mode 100644 index 00000000..613dc74a --- /dev/null +++ b/src/java/net/micode/notes/ui/DropdownMenu.java @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.PopupMenu; +import android.widget.PopupMenu.OnMenuItemClickListener; + +import net.micode.notes.R; + +public class DropdownMenu { + private Button mButton; + private PopupMenu mPopupMenu; + private Menu mMenu; + + public DropdownMenu(Context context, Button button, int menuId) { + mButton = button; + mButton.setBackgroundResource(R.drawable.dropdown_icon); + mPopupMenu = new PopupMenu(context, mButton); + mMenu = mPopupMenu.getMenu(); + mPopupMenu.getMenuInflater().inflate(menuId, mMenu); + mButton.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + mPopupMenu.show(); + } + }); + } + + public void setOnDropdownMenuItemClickListener(OnMenuItemClickListener listener) { + if (mPopupMenu != null) { + mPopupMenu.setOnMenuItemClickListener(listener); + } + } + + public MenuItem findItem(int id) { + return mMenu.findItem(id); + } + + public void setTitle(CharSequence title) { + mButton.setText(title); + } +} diff --git a/src/java/net/micode/notes/ui/FoldersListAdapter.java b/src/java/net/micode/notes/ui/FoldersListAdapter.java new file mode 100644 index 00000000..96b77da2 --- /dev/null +++ b/src/java/net/micode/notes/ui/FoldersListAdapter.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CursorAdapter; +import android.widget.LinearLayout; +import android.widget.TextView; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; + + +public class FoldersListAdapter extends CursorAdapter { + public static final String [] PROJECTION = { + NoteColumns.ID, + NoteColumns.SNIPPET + }; + + public static final int ID_COLUMN = 0; + public static final int NAME_COLUMN = 1; + + public FoldersListAdapter(Context context, Cursor c) { + super(context, c); + // TODO Auto-generated constructor stub + } + + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + return new FolderListItem(context); + } + + @Override + public void bindView(View view, Context context, Cursor cursor) { + if (view instanceof FolderListItem) { + String folderName = (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context + .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); + ((FolderListItem) view).bind(folderName); + } + } + + public String getFolderName(Context context, int position) { + Cursor cursor = (Cursor) getItem(position); + return (cursor.getLong(ID_COLUMN) == Notes.ID_ROOT_FOLDER) ? context + .getString(R.string.menu_move_parent_folder) : cursor.getString(NAME_COLUMN); + } + + private class FolderListItem extends LinearLayout { + private TextView mName; + + public FolderListItem(Context context) { + super(context); + inflate(context, R.layout.folder_list_item, this); + mName = (TextView) findViewById(R.id.tv_folder_name); + } + + public void bind(String name) { + mName.setText(name); + } + } + +} diff --git a/src/java/net/micode/notes/ui/NoteEditActivity.java b/src/java/net/micode/notes/ui/NoteEditActivity.java new file mode 100644 index 00000000..827fcb26 --- /dev/null +++ b/src/java/net/micode/notes/ui/NoteEditActivity.java @@ -0,0 +1,923 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.app.Activity; +import android.app.AlarmManager; +import android.app.AlertDialog; +import android.app.PendingIntent; +import android.app.SearchManager; +import android.appwidget.AppWidgetManager; +import android.content.ContentUris; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.graphics.Paint; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.TextUtils; +import android.text.format.DateUtils; +import android.text.style.BackgroundColorSpan; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.WindowManager; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.CompoundButton.OnCheckedChangeListener; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.TextNote; +import net.micode.notes.model.WorkingNote; +import net.micode.notes.model.WorkingNote.NoteSettingChangedListener; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.tool.ResourceParser.TextAppearanceResources; +import net.micode.notes.ui.DateTimePickerDialog.OnDateTimeSetListener; +import net.micode.notes.ui.NoteEditText.OnTextViewChangeListener; +import net.micode.notes.widget.NoteWidgetProvider_2x; +import net.micode.notes.widget.NoteWidgetProvider_4x; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class NoteEditActivity extends Activity implements OnClickListener, + NoteSettingChangedListener, OnTextViewChangeListener { + private class HeadViewHolder { + public TextView tvModified; + + public ImageView ivAlertIcon; + + public TextView tvToptext; + + public TextView tvAlertDate; + + public ImageView ibSetBgColor; + } + + private static final Map sBgSelectorBtnsMap = new HashMap(); + static { + sBgSelectorBtnsMap.put(R.id.iv_bg_yellow, ResourceParser.YELLOW); + sBgSelectorBtnsMap.put(R.id.iv_bg_red, ResourceParser.RED); + sBgSelectorBtnsMap.put(R.id.iv_bg_blue, ResourceParser.BLUE); + sBgSelectorBtnsMap.put(R.id.iv_bg_green, ResourceParser.GREEN); + sBgSelectorBtnsMap.put(R.id.iv_bg_white, ResourceParser.WHITE); + } + + private static final Map sBgSelectorSelectionMap = new HashMap(); + static { + sBgSelectorSelectionMap.put(ResourceParser.YELLOW, R.id.iv_bg_yellow_select); + sBgSelectorSelectionMap.put(ResourceParser.RED, R.id.iv_bg_red_select); + sBgSelectorSelectionMap.put(ResourceParser.BLUE, R.id.iv_bg_blue_select); + sBgSelectorSelectionMap.put(ResourceParser.GREEN, R.id.iv_bg_green_select); + sBgSelectorSelectionMap.put(ResourceParser.WHITE, R.id.iv_bg_white_select); + } + + private static final Map sFontSizeBtnsMap = new HashMap(); + static { + sFontSizeBtnsMap.put(R.id.ll_font_large, ResourceParser.TEXT_LARGE); + sFontSizeBtnsMap.put(R.id.ll_font_small, ResourceParser.TEXT_SMALL); + sFontSizeBtnsMap.put(R.id.ll_font_normal, ResourceParser.TEXT_MEDIUM); + sFontSizeBtnsMap.put(R.id.ll_font_super, ResourceParser.TEXT_SUPER); + } + + private static final Map sFontSelectorSelectionMap = new HashMap(); + static { + sFontSelectorSelectionMap.put(ResourceParser.TEXT_LARGE, R.id.iv_large_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_SMALL, R.id.iv_small_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_MEDIUM, R.id.iv_medium_select); + sFontSelectorSelectionMap.put(ResourceParser.TEXT_SUPER, R.id.iv_super_select); + } + + private static final String TAG = "NoteEditActivity"; + + private HeadViewHolder mNoteHeaderHolder; + + private View mHeadViewPanel; + + private View mNoteBgColorSelector; + + private View mFontSizeSelector; + + private EditText mNoteEditor; + + private View mNoteEditorPanel; + + private WorkingNote mWorkingNote; + + private SharedPreferences mSharedPrefs; + private int mFontSizeId; + + private static final String PREFERENCE_FONT_SIZE = "pref_font_size"; + + private static final int SHORTCUT_ICON_TITLE_MAX_LEN = 10; + + public static final String TAG_CHECKED = String.valueOf('\u221A'); + public static final String TAG_UNCHECKED = String.valueOf('\u25A1'); + + private LinearLayout mEditTextList; + + private String mUserQuery; + private Pattern mPattern; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + this.setContentView(R.layout.note_edit); + + if (savedInstanceState == null && !initActivityState(getIntent())) { + finish(); + return; + } + initResources(); + } + + /** + * Current activity may be killed when the memory is low. Once it is killed, for another time + * user load this activity, we should restore the former state + */ + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + super.onRestoreInstanceState(savedInstanceState); + if (savedInstanceState != null && savedInstanceState.containsKey(Intent.EXTRA_UID)) { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, savedInstanceState.getLong(Intent.EXTRA_UID)); + if (!initActivityState(intent)) { + finish(); + return; + } + Log.d(TAG, "Restoring from killed activity"); + } + } + + 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; + if (TextUtils.equals(Intent.ACTION_VIEW, intent.getAction())) { + long noteId = intent.getLongExtra(Intent.EXTRA_UID, 0); + mUserQuery = ""; + + /** + * Starting from the searched result + */ + if (intent.hasExtra(SearchManager.EXTRA_DATA_KEY)) { + noteId = Long.parseLong(intent.getStringExtra(SearchManager.EXTRA_DATA_KEY)); + mUserQuery = intent.getStringExtra(SearchManager.USER_QUERY); + } + + if (!DataUtils.visibleInNoteDatabase(getContentResolver(), noteId, Notes.TYPE_NOTE)) { + Intent jump = new Intent(this, NotesListActivity.class); + startActivity(jump); + showToast(R.string.error_note_not_exist); + finish(); + return false; + } else { + mWorkingNote = WorkingNote.load(this, noteId); + if (mWorkingNote == null) { + Log.e(TAG, "load note failed with note id" + noteId); + finish(); + return false; + } + } + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN + | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); + } else if(TextUtils.equals(Intent.ACTION_INSERT_OR_EDIT, intent.getAction())) { + // New note + long folderId = intent.getLongExtra(Notes.INTENT_EXTRA_FOLDER_ID, 0); + int widgetId = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_ID, + AppWidgetManager.INVALID_APPWIDGET_ID); + int widgetType = intent.getIntExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, + Notes.TYPE_WIDGET_INVALIDE); + int bgResId = intent.getIntExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, + ResourceParser.getDefaultBgId(this)); + + // Parse call-record note + String phoneNumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); + long callDate = intent.getLongExtra(Notes.INTENT_EXTRA_CALL_DATE, 0); + if (callDate != 0 && phoneNumber != null) { + if (TextUtils.isEmpty(phoneNumber)) { + Log.w(TAG, "The call record number is null"); + } + long noteId = 0; + if ((noteId = DataUtils.getNoteIdByPhoneNumberAndCallDate(getContentResolver(), + phoneNumber, callDate)) > 0) { + mWorkingNote = WorkingNote.load(this, noteId); + if (mWorkingNote == null) { + Log.e(TAG, "load call note failed with note id" + noteId); + finish(); + return false; + } + } else { + mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, + widgetType, bgResId); + mWorkingNote.convertToCallNote(phoneNumber, callDate); + } + } else { + mWorkingNote = WorkingNote.createEmptyNote(this, folderId, widgetId, widgetType, + bgResId); + } + + getWindow().setSoftInputMode( + WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE + | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); + } else { + Log.e(TAG, "Intent not specified action, should not support"); + finish(); + return false; + } + mWorkingNote.setOnSettingStatusChangedListener(this); + return true; + } + + @Override + protected void onResume() { + super.onResume(); + initNoteScreen(); + } + + private void initNoteScreen() { + mNoteEditor.setTextAppearance(this, TextAppearanceResources + .getTexAppearanceResource(mFontSizeId)); + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + switchToListMode(mWorkingNote.getContent()); + } else { + mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery)); + mNoteEditor.setSelection(mNoteEditor.getText().length()); + } + for (Integer id : sBgSelectorSelectionMap.keySet()) { + findViewById(sBgSelectorSelectionMap.get(id)).setVisibility(View.GONE); + } + mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); + mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); + + mNoteHeaderHolder.tvModified.setText(DateUtils.formatDateTime(this, + mWorkingNote.getModifiedDate(), DateUtils.FORMAT_SHOW_DATE + | DateUtils.FORMAT_NUMERIC_DATE | DateUtils.FORMAT_SHOW_TIME + | DateUtils.FORMAT_SHOW_YEAR)); + + /** + * TODO: Add the menu for setting alert. Currently disable it because the DateTimePicker + * is not ready + */ + showAlertHeader(); + showTopHeader(); + } + + private void showAlertHeader() { + if (mWorkingNote.hasClockAlert()) { + long time = System.currentTimeMillis(); + if (time > mWorkingNote.getAlertDate()) { + mNoteHeaderHolder.tvAlertDate.setText(R.string.note_alert_expired); + } else { + mNoteHeaderHolder.tvAlertDate.setText(DateUtils.getRelativeTimeSpanString( + mWorkingNote.getAlertDate(), time, DateUtils.MINUTE_IN_MILLIS)); + } + mNoteHeaderHolder.tvAlertDate.setVisibility(View.VISIBLE); + mNoteHeaderHolder.ivAlertIcon.setVisibility(View.VISIBLE); + } else { + mNoteHeaderHolder.tvAlertDate.setVisibility(View.GONE); + mNoteHeaderHolder.ivAlertIcon.setVisibility(View.GONE); + } + } + + private void showTopHeader(){ + mNoteHeaderHolder.tvToptext.setText(R.string.menu_set_top); + if(mWorkingNote.getTopId()==1){ + mNoteHeaderHolder.tvToptext.setVisibility(View.VISIBLE); + } else{ + mNoteHeaderHolder.tvToptext.setVisibility(View.GONE); + } + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + initActivityState(intent); + } + + @Override + protected void onSaveInstanceState(Bundle 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()) { + saveNote(); + } + outState.putLong(Intent.EXTRA_UID, mWorkingNote.getNoteId()); + Log.d(TAG, "Save working note id: " + mWorkingNote.getNoteId() + " onSaveInstanceState"); + } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + if (mNoteBgColorSelector.getVisibility() == View.VISIBLE + && !inRangeOfView(mNoteBgColorSelector, ev)) { + mNoteBgColorSelector.setVisibility(View.GONE); + return true; + } + + if (mFontSizeSelector.getVisibility() == View.VISIBLE + && !inRangeOfView(mFontSizeSelector, ev)) { + mFontSizeSelector.setVisibility(View.GONE); + return true; + } + return super.dispatchTouchEvent(ev); + } + + private boolean inRangeOfView(View view, MotionEvent ev) { + int []location = new int[2]; + view.getLocationOnScreen(location); + int x = location[0]; + int y = location[1]; + if (ev.getX() < x + || ev.getX() > (x + view.getWidth()) + || ev.getY() < y + || ev.getY() > (y + view.getHeight())) { + return false; + } + return true; + } + + private void initResources() { + mHeadViewPanel = findViewById(R.id.note_title); + mNoteHeaderHolder = new HeadViewHolder(); + mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date); + mNoteHeaderHolder.ivAlertIcon = (ImageView) findViewById(R.id.iv_alert_icon); + mNoteHeaderHolder.tvAlertDate = (TextView) findViewById(R.id.tv_alert_date); + mNoteHeaderHolder.tvToptext = (TextView) findViewById(R.id.tv_set_top); + mNoteHeaderHolder.ibSetBgColor = (ImageView) findViewById(R.id.btn_set_bg_color); + mNoteHeaderHolder.ibSetBgColor.setOnClickListener(this); + mNoteEditor = (EditText) findViewById(R.id.note_edit_view); + mNoteEditorPanel = findViewById(R.id.sv_note_edit); + mNoteBgColorSelector = findViewById(R.id.note_bg_color_selector); + for (int id : sBgSelectorBtnsMap.keySet()) { + ImageView iv = (ImageView) findViewById(id); + iv.setOnClickListener(this); + } + + mFontSizeSelector = findViewById(R.id.font_size_selector); + for (int id : sFontSizeBtnsMap.keySet()) { + View view = findViewById(id); + view.setOnClickListener(this); + }; + mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); + mFontSizeId = mSharedPrefs.getInt(PREFERENCE_FONT_SIZE, ResourceParser.BG_DEFAULT_FONT_SIZE); + /** + * HACKME: Fix bug of store the resource id in shared preference. + * The id may larger than the length of resources, in this case, + * return the {@link ResourceParser#BG_DEFAULT_FONT_SIZE} + */ + if(mFontSizeId >= TextAppearanceResources.getResourcesSize()) { + mFontSizeId = ResourceParser.BG_DEFAULT_FONT_SIZE; + } + mEditTextList = (LinearLayout) findViewById(R.id.note_edit_list); + } + + @Override + protected void onPause() { + super.onPause(); + if(saveNote()) { + Log.d(TAG, "Note data was saved with length:" + mWorkingNote.getContent().length()); + } + clearSettingState(); + } + + private void updateWidget() { + Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_2X) { + intent.setClass(this, NoteWidgetProvider_2x.class); + } else if (mWorkingNote.getWidgetType() == Notes.TYPE_WIDGET_4X) { + intent.setClass(this, NoteWidgetProvider_4x.class); + } else { + Log.e(TAG, "Unspported widget type"); + return; + } + + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] { + mWorkingNote.getWidgetId() + }); + + sendBroadcast(intent); + setResult(RESULT_OK, intent); + } + + public void onClick(View v) { + int id = v.getId(); + if (id == R.id.btn_set_bg_color) { + mNoteBgColorSelector.setVisibility(View.VISIBLE); + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.VISIBLE); + } else if (sBgSelectorBtnsMap.containsKey(id)) { + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.GONE); + mWorkingNote.setBgColorId(sBgSelectorBtnsMap.get(id)); + mNoteBgColorSelector.setVisibility(View.GONE); + } else if (sFontSizeBtnsMap.containsKey(id)) { + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.GONE); + mFontSizeId = sFontSizeBtnsMap.get(id); + mSharedPrefs.edit().putInt(PREFERENCE_FONT_SIZE, mFontSizeId).commit(); + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + getWorkingText(); + switchToListMode(mWorkingNote.getContent()); + } else { + mNoteEditor.setTextAppearance(this, + TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); + } + mFontSizeSelector.setVisibility(View.GONE); + } + } + + @Override + public void onBackPressed() { + if(clearSettingState()) { + return; + } + + saveNote(); + super.onBackPressed(); + } + + private boolean clearSettingState() { + if (mNoteBgColorSelector.getVisibility() == View.VISIBLE) { + mNoteBgColorSelector.setVisibility(View.GONE); + return true; + } else if (mFontSizeSelector.getVisibility() == View.VISIBLE) { + mFontSizeSelector.setVisibility(View.GONE); + return true; + } + return false; + } + + public void onBackgroundColorChanged() { + findViewById(sBgSelectorSelectionMap.get(mWorkingNote.getBgColorId())).setVisibility( + View.VISIBLE); + mNoteEditorPanel.setBackgroundResource(mWorkingNote.getBgColorResId()); + mHeadViewPanel.setBackgroundResource(mWorkingNote.getTitleBgResId()); + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + if (isFinishing()) { + return true; + } + clearSettingState(); + menu.clear(); + if (mWorkingNote.getFolderId() == Notes.ID_CALL_RECORD_FOLDER) { + getMenuInflater().inflate(R.menu.call_note_edit, menu); + } else { + getMenuInflater().inflate(R.menu.note_edit, menu); + } + if (mWorkingNote.getTopId() == 1 ) { + menu.findItem(R.id.menu_set_top).setVisible(false); + } else if(mWorkingNote.getTopId() == 0){ + menu.findItem(R.id.menu_cancel_top).setVisible(false); + } + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_normal_mode); + } else { + menu.findItem(R.id.menu_list_mode).setTitle(R.string.menu_list_mode); + } + if (mWorkingNote.hasClockAlert()) { + menu.findItem(R.id.menu_alert).setVisible(false); + } else { + menu.findItem(R.id.menu_delete_remind).setVisible(false); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_new_note: + createNewNote(); + break; + case R.id.menu_set_top: + mWorkingNote.setTop((mWorkingNote.getTopId())==1 ? "0" : "1"); + break; + case R.id.menu_cancel_top: + mWorkingNote.setTop((mWorkingNote.getTopId())==0 ? "1" : "0"); + break; + case R.id.menu_delete: + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_note)); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + if(mWorkingNote.getTopId()==0) { + deleteCurrentNote(); + } else{ + showToast(R.string.error_note_empty_for_top); + } + //finish(); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case R.id.menu_font_size: + mFontSizeSelector.setVisibility(View.VISIBLE); + findViewById(sFontSelectorSelectionMap.get(mFontSizeId)).setVisibility(View.VISIBLE); + break; + case R.id.menu_list_mode: + mWorkingNote.setCheckListMode(mWorkingNote.getCheckListMode() == 0 ? + TextNote.MODE_CHECK_LIST : 0); + break; + case R.id.menu_share: + getWorkingText(); + sendTo(this, mWorkingNote.getContent()); + break; + case R.id.menu_send_to_desktop: + sendToDesktop(); + break; + case R.id.menu_alert: + setReminder(); + break; + case R.id.menu_delete_remind: + mWorkingNote.setAlertDate(0, false); + break; + default: + break; + } + return true; + } + + + private void setReminder() { + DateTimePickerDialog d = new DateTimePickerDialog(this, System.currentTimeMillis()); + d.setOnDateTimeSetListener(new OnDateTimeSetListener() { + public void OnDateTimeSet(AlertDialog dialog, long date) { + mWorkingNote.setAlertDate(date , true); + } + }); + d.show(); + } + + /** + * Share note to apps that support {@link Intent#ACTION_SEND} action + * and {@text/plain} type + */ + private void sendTo(Context context, String info) { + Intent intent = new Intent(Intent.ACTION_SEND); + intent.putExtra(Intent.EXTRA_TEXT, info); + intent.setType("text/plain"); + context.startActivity(intent); + } + + private void createNewNote() { + // Firstly, save current editing notes + saveNote(); + + // For safety, start a new NoteEditActivity + finish(); + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mWorkingNote.getFolderId()); + startActivity(intent); + } + + private void deleteCurrentNote() { + if (mWorkingNote.existInDatabase()) { + HashSet ids = new HashSet(); + long id = mWorkingNote.getNoteId(); + if (id != Notes.ID_ROOT_FOLDER) { + ids.add(id); + } else { + Log.d(TAG, "Wrong note id, should not happen"); + } + if (!isSyncMode()) { + if (!DataUtils.batchDeleteNotes(getContentResolver(), ids)) { + Log.e(TAG, "Delete Note error"); + } + } else { + if (!DataUtils.batchMoveToFolder(getContentResolver(), ids, Notes.ID_TRASH_FOLER)) { + Log.e(TAG, "Move notes to trash folder error, should not happens"); + } + } + } + mWorkingNote.markDeleted(true); + } + + private boolean isSyncMode() { + return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0; + } + + public void onTopChanged(String Top){ + /** + * User could set clock to an unsaved note, so before setting the + * alert clock, we should save the note first + */ + if (!mWorkingNote.existInDatabase()) { + saveNote(); + } + if (mWorkingNote.getNoteId() > 0) { + showTopHeader(); + } 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, "Top setting error"); + showToast(R.string.error_note_empty_for_top); + } + } + + 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()) { + saveNote(); + } + if (mWorkingNote.getNoteId() > 0) { + Intent intent = new Intent(this, AlarmReceiver.class); + intent.setData(ContentUris.withAppendedId(Notes.CONTENT_NOTE_URI, mWorkingNote.getNoteId())); + PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); + AlarmManager alarmManager = ((AlarmManager) getSystemService(ALARM_SERVICE)); + showAlertHeader(); + if(!set) { + alarmManager.cancel(pendingIntent); + } else { + alarmManager.set(AlarmManager.RTC_WAKEUP, date, pendingIntent); + } + } 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"); + showToast(R.string.error_note_empty_for_clock); + } + } + + public void onWidgetChanged() { + updateWidget(); + } + + public void onEditTextDelete(int index, String text) { + int childCount = mEditTextList.getChildCount(); + if (childCount == 1) { + return; + } + + for (int i = index + 1; i < childCount; i++) { + ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) + .setIndex(i - 1); + } + + mEditTextList.removeViewAt(index); + NoteEditText edit = null; + if(index == 0) { + edit = (NoteEditText) mEditTextList.getChildAt(0).findViewById( + R.id.et_edit_text); + } else { + edit = (NoteEditText) mEditTextList.getChildAt(index - 1).findViewById( + R.id.et_edit_text); + } + int length = edit.length(); + edit.append(text); + edit.requestFocus(); + edit.setSelection(length); + } + + public void onEditTextEnter(int index, String text) { + /** + * Should not happen, check for debug + */ + if(index > mEditTextList.getChildCount()) { + Log.e(TAG, "Index out of mEditTextList boundrary, should not happen"); + } + + View view = getListItem(text, index); + mEditTextList.addView(view, index); + NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + edit.requestFocus(); + edit.setSelection(0); + for (int i = index + 1; i < mEditTextList.getChildCount(); i++) { + ((NoteEditText) mEditTextList.getChildAt(i).findViewById(R.id.et_edit_text)) + .setIndex(i); + } + } + + private void switchToListMode(String text) { + mEditTextList.removeAllViews(); + String[] items = text.split("\n"); + int index = 0; + for (String item : items) { + if(!TextUtils.isEmpty(item)) { + mEditTextList.addView(getListItem(item, index)); + index++; + } + } + mEditTextList.addView(getListItem("", index)); + mEditTextList.getChildAt(index).findViewById(R.id.et_edit_text).requestFocus(); + + mNoteEditor.setVisibility(View.GONE); + mEditTextList.setVisibility(View.VISIBLE); + } + + private Spannable getHighlightQueryResult(String fullText, String userQuery) { + SpannableString spannable = new SpannableString(fullText == null ? "" : fullText); + if (!TextUtils.isEmpty(userQuery)) { + mPattern = Pattern.compile(userQuery); + Matcher m = mPattern.matcher(fullText); + int start = 0; + while (m.find(start)) { + spannable.setSpan( + new BackgroundColorSpan(this.getResources().getColor( + R.color.user_query_highlight)), m.start(), m.end(), + Spannable.SPAN_INCLUSIVE_EXCLUSIVE); + start = m.end(); + } + } + return spannable; + } + + private View getListItem(String item, int index) { + View view = LayoutInflater.from(this).inflate(R.layout.note_edit_list_item, null); + final NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + edit.setTextAppearance(this, TextAppearanceResources.getTexAppearanceResource(mFontSizeId)); + CheckBox cb = ((CheckBox) view.findViewById(R.id.cb_edit_item)); + cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (isChecked) { + edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + } else { + edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG); + } + } + }); + + if (item.startsWith(TAG_CHECKED)) { + cb.setChecked(true); + edit.setPaintFlags(edit.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); + item = item.substring(TAG_CHECKED.length(), item.length()).trim(); + } else if (item.startsWith(TAG_UNCHECKED)) { + cb.setChecked(false); + edit.setPaintFlags(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG); + item = item.substring(TAG_UNCHECKED.length(), item.length()).trim(); + } + + edit.setOnTextViewChangeListener(this); + edit.setIndex(index); + edit.setText(getHighlightQueryResult(item, mUserQuery)); + return view; + } + + public void onTextChange(int index, boolean hasText) { + if (index >= mEditTextList.getChildCount()) { + Log.e(TAG, "Wrong index, should not happen"); + return; + } + if(hasText) { + mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.VISIBLE); + } else { + mEditTextList.getChildAt(index).findViewById(R.id.cb_edit_item).setVisibility(View.GONE); + } + } + + public void onCheckListModeChanged(int oldMode, int newMode) { + if (newMode == TextNote.MODE_CHECK_LIST) { + switchToListMode(mNoteEditor.getText().toString()); + } else { + if (!getWorkingText()) { + mWorkingNote.setWorkingText(mWorkingNote.getContent().replace(TAG_UNCHECKED + " ", + "")); + } + mNoteEditor.setText(getHighlightQueryResult(mWorkingNote.getContent(), mUserQuery)); + mEditTextList.setVisibility(View.GONE); + mNoteEditor.setVisibility(View.VISIBLE); + } + } + + private boolean getWorkingText() { + boolean hasChecked = false; + if (mWorkingNote.getCheckListMode() == TextNote.MODE_CHECK_LIST) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < mEditTextList.getChildCount(); i++) { + View view = mEditTextList.getChildAt(i); + NoteEditText edit = (NoteEditText) view.findViewById(R.id.et_edit_text); + if (!TextUtils.isEmpty(edit.getText())) { + if (((CheckBox) view.findViewById(R.id.cb_edit_item)).isChecked()) { + sb.append(TAG_CHECKED).append(" ").append(edit.getText()).append("\n"); + hasChecked = true; + } else { + sb.append(TAG_UNCHECKED).append(" ").append(edit.getText()).append("\n"); + } + } + } + mWorkingNote.setWorkingText(sb.toString()); + } else { + mWorkingNote.setWorkingText(mNoteEditor.getText().toString()); + } + return hasChecked; + } + + private boolean saveNote() { + getWorkingText(); + boolean saved = mWorkingNote.saveNote(); + 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); + } + return saved; + } + + 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()) { + saveNote(); + } + + if (mWorkingNote.getNoteId() > 0) { + Intent sender = new Intent(); + Intent shortcutIntent = new Intent(this, NoteEditActivity.class); + shortcutIntent.setAction(Intent.ACTION_VIEW); + shortcutIntent.putExtra(Intent.EXTRA_UID, mWorkingNote.getNoteId()); + sender.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); + sender.putExtra(Intent.EXTRA_SHORTCUT_NAME, + makeShortcutIconTitle(mWorkingNote.getContent())); + sender.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, + Intent.ShortcutIconResource.fromContext(this, R.drawable.icon_app)); + sender.putExtra("duplicate", true); + sender.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); + showToast(R.string.info_note_enter_desktop); + sendBroadcast(sender); + } 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"); + showToast(R.string.error_note_empty_for_send_to_desktop); + } + } + + private String makeShortcutIconTitle(String content) { + content = content.replace(TAG_CHECKED, ""); + content = content.replace(TAG_UNCHECKED, ""); + return content.length() > SHORTCUT_ICON_TITLE_MAX_LEN ? content.substring(0, + SHORTCUT_ICON_TITLE_MAX_LEN) : content; + } + + private void showToast(int resId) { + showToast(resId, Toast.LENGTH_SHORT); + } + + private void showToast(int resId, int duration) { + Toast.makeText(this, resId, duration).show(); + } +} diff --git a/src/java/net/micode/notes/ui/NoteEditText.java b/src/java/net/micode/notes/ui/NoteEditText.java new file mode 100644 index 00000000..2afe2a89 --- /dev/null +++ b/src/java/net/micode/notes/ui/NoteEditText.java @@ -0,0 +1,217 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.graphics.Rect; +import android.text.Layout; +import android.text.Selection; +import android.text.Spanned; +import android.text.TextUtils; +import android.text.style.URLSpan; +import android.util.AttributeSet; +import android.util.Log; +import android.view.ContextMenu; +import android.view.KeyEvent; +import android.view.MenuItem; +import android.view.MenuItem.OnMenuItemClickListener; +import android.view.MotionEvent; +import android.widget.EditText; + +import net.micode.notes.R; + +import java.util.HashMap; +import java.util.Map; + +public class NoteEditText extends EditText { + private static final String TAG = "NoteEditText"; + private int mIndex; + private int mSelectionStartBeforeDelete; + + private static final String SCHEME_TEL = "tel:" ; + private static final String SCHEME_HTTP = "http:" ; + private static final String SCHEME_EMAIL = "mailto:" ; + + private static final Map sSchemaActionResMap = new HashMap(); + static { + sSchemaActionResMap.put(SCHEME_TEL, R.string.note_link_tel); + sSchemaActionResMap.put(SCHEME_HTTP, R.string.note_link_web); + sSchemaActionResMap.put(SCHEME_EMAIL, R.string.note_link_email); + } + + /** + * Call by the {@link NoteEditActivity} to delete or add edit text + */ + public interface OnTextViewChangeListener { + /** + * Delete current edit text when {@link KeyEvent#KEYCODE_DEL} happens + * and the text is null + */ + void onEditTextDelete(int index, String text); + + /** + * Add edit text after current edit text when {@link KeyEvent#KEYCODE_ENTER} + * happen + */ + void onEditTextEnter(int index, String text); + + /** + * Hide or show item option when text change + */ + void onTextChange(int index, boolean hasText); + } + + private OnTextViewChangeListener mOnTextViewChangeListener; + + public NoteEditText(Context context) { + super(context, null); + mIndex = 0; + } + + public void setIndex(int index) { + mIndex = index; + } + + public void setOnTextViewChangeListener(OnTextViewChangeListener listener) { + mOnTextViewChangeListener = listener; + } + + public NoteEditText(Context context, AttributeSet attrs) { + super(context, attrs, android.R.attr.editTextStyle); + } + + public NoteEditText(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + // TODO Auto-generated constructor stub + } + + @Override + public boolean onTouchEvent(MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + + int x = (int) event.getX(); + int y = (int) event.getY(); + x -= getTotalPaddingLeft(); + y -= getTotalPaddingTop(); + x += getScrollX(); + y += getScrollY(); + + Layout layout = getLayout(); + int line = layout.getLineForVertical(y); + int off = layout.getOffsetForHorizontal(line, x); + Selection.setSelection(getText(), off); + break; + } + + return super.onTouchEvent(event); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + switch (keyCode) { + case KeyEvent.KEYCODE_ENTER: + if (mOnTextViewChangeListener != null) { + return false; + } + break; + case KeyEvent.KEYCODE_DEL: + mSelectionStartBeforeDelete = getSelectionStart(); + break; + default: + break; + } + return super.onKeyDown(keyCode, event); + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + switch(keyCode) { + case KeyEvent.KEYCODE_DEL: + if (mOnTextViewChangeListener != null) { + if (0 == mSelectionStartBeforeDelete && mIndex != 0) { + mOnTextViewChangeListener.onEditTextDelete(mIndex, getText().toString()); + return true; + } + } else { + Log.d(TAG, "OnTextViewChangeListener was not seted"); + } + break; + case KeyEvent.KEYCODE_ENTER: + if (mOnTextViewChangeListener != null) { + int selectionStart = getSelectionStart(); + String text = getText().subSequence(selectionStart, length()).toString(); + setText(getText().subSequence(0, selectionStart)); + mOnTextViewChangeListener.onEditTextEnter(mIndex + 1, text); + } else { + Log.d(TAG, "OnTextViewChangeListener was not seted"); + } + break; + default: + break; + } + return super.onKeyUp(keyCode, event); + } + + @Override + protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { + if (mOnTextViewChangeListener != null) { + if (!focused && TextUtils.isEmpty(getText())) { + mOnTextViewChangeListener.onTextChange(mIndex, false); + } else { + mOnTextViewChangeListener.onTextChange(mIndex, true); + } + } + super.onFocusChanged(focused, direction, previouslyFocusedRect); + } + + @Override + protected void onCreateContextMenu(ContextMenu menu) { + if (getText() instanceof Spanned) { + int selStart = getSelectionStart(); + int selEnd = getSelectionEnd(); + + int min = Math.min(selStart, selEnd); + int max = Math.max(selStart, selEnd); + + final URLSpan[] urls = ((Spanned) getText()).getSpans(min, max, URLSpan.class); + if (urls.length == 1) { + int defaultResId = 0; + for(String schema: sSchemaActionResMap.keySet()) { + if(urls[0].getURL().indexOf(schema) >= 0) { + defaultResId = sSchemaActionResMap.get(schema); + break; + } + } + + if (defaultResId == 0) { + defaultResId = R.string.note_link_other; + } + + menu.add(0, 0, 0, defaultResId).setOnMenuItemClickListener( + new OnMenuItemClickListener() { + public boolean onMenuItemClick(MenuItem item) { + // goto a new intent + urls[0].onClick(NoteEditText.this); + return true; + } + }); + } + } + super.onCreateContextMenu(menu); + } +} diff --git a/src/java/net/micode/notes/ui/NoteItemData.java b/src/java/net/micode/notes/ui/NoteItemData.java new file mode 100644 index 00000000..1966e95b --- /dev/null +++ b/src/java/net/micode/notes/ui/NoteItemData.java @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.text.TextUtils; + +import net.micode.notes.data.Contact; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.tool.DataUtils; + + +public class NoteItemData { + static final String [] PROJECTION = new String [] { + NoteColumns.ID, + NoteColumns.ALERTED_DATE, + NoteColumns.BG_COLOR_ID, + NoteColumns.CREATED_DATE, + NoteColumns.HAS_ATTACHMENT, + NoteColumns.MODIFIED_DATE, + NoteColumns.NOTES_COUNT, + NoteColumns.PARENT_ID, + NoteColumns.SNIPPET, + NoteColumns.TYPE, + NoteColumns.WIDGET_ID, + NoteColumns.WIDGET_TYPE, + NoteColumns.TOP, + }; + + private static final int ID_COLUMN = 0; + private static final int ALERTED_DATE_COLUMN = 1; + private static final int BG_COLOR_ID_COLUMN = 2; + private static final int CREATED_DATE_COLUMN = 3; + private static final int HAS_ATTACHMENT_COLUMN = 4; + private static final int MODIFIED_DATE_COLUMN = 5; + private static final int NOTES_COUNT_COLUMN = 6; + private static final int PARENT_ID_COLUMN = 7; + private static final int SNIPPET_COLUMN = 8; + private static final int TYPE_COLUMN = 9; + private static final int WIDGET_ID_COLUMN = 10; + private static final int WIDGET_TYPE_COLUMN = 11; + private static final int TOP_ID_COLUMN = 12; + + private long mId; + private long mAlertDate; + private int mBgColorId; + private long mCreatedDate; + private boolean mHasAttachment; + private long mModifiedDate; + private int mNotesCount; + private long mParentId; + private String mSnippet; + private int mType; + private int mWidgetId; + private int mWidgetType; + private String mName; + private String mPhoneNumber; + private String mTop; + + private boolean mIsLastItem; + private boolean mIsFirstItem; + private boolean mIsOnlyOneItem; + private boolean mIsOneNoteFollowingFolder; + private boolean mIsMultiNotesFollowingFolder; + + public NoteItemData(Context context, Cursor cursor) { + mId = cursor.getLong(ID_COLUMN); + mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN); + mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN); + mCreatedDate = cursor.getLong(CREATED_DATE_COLUMN); + mHasAttachment = (cursor.getInt(HAS_ATTACHMENT_COLUMN) > 0) ? true : false; + mModifiedDate = cursor.getLong(MODIFIED_DATE_COLUMN); + mNotesCount = cursor.getInt(NOTES_COUNT_COLUMN); + mParentId = cursor.getLong(PARENT_ID_COLUMN); + mSnippet = cursor.getString(SNIPPET_COLUMN); + mSnippet = mSnippet.replace(NoteEditActivity.TAG_CHECKED, "").replace( + NoteEditActivity.TAG_UNCHECKED, ""); + mType = cursor.getInt(TYPE_COLUMN); + mWidgetId = cursor.getInt(WIDGET_ID_COLUMN); + mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN); + mTop = cursor.getString(TOP_ID_COLUMN); + + mPhoneNumber = ""; + if (mParentId == Notes.ID_CALL_RECORD_FOLDER) { + mPhoneNumber = DataUtils.getCallNumberByNoteId(context.getContentResolver(), mId); + if (!TextUtils.isEmpty(mPhoneNumber)) { + mName = Contact.getContact(context, mPhoneNumber); + if (mName == null) { + mName = mPhoneNumber; + } + } + } + + if (mName == null) { + mName = ""; + } + checkPostion(cursor); + } + + private void checkPostion(Cursor cursor) { + mIsLastItem = cursor.isLast() ? true : false; + mIsFirstItem = cursor.isFirst() ? true : false; + mIsOnlyOneItem = (cursor.getCount() == 1); + mIsMultiNotesFollowingFolder = false; + mIsOneNoteFollowingFolder = false; + + if (mType == Notes.TYPE_NOTE && !mIsFirstItem) { + int position = cursor.getPosition(); + if (cursor.moveToPrevious()) { + if (cursor.getInt(TYPE_COLUMN) == Notes.TYPE_FOLDER + || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) { + if (cursor.getCount() > (position + 1)) { + mIsMultiNotesFollowingFolder = true; + } else { + mIsOneNoteFollowingFolder = true; + } + } + if (!cursor.moveToNext()) { + throw new IllegalStateException("cursor move to previous but can't move back"); + } + } + } + } + + public boolean isTOP() { + if(mTop.equals("1")) { + return true; + }else { + return false; + } + } + + public boolean isOneFollowingFolder() { + return mIsOneNoteFollowingFolder; + } + + public boolean isMultiFollowingFolder() { + return mIsMultiNotesFollowingFolder; + } + + public boolean isLast() { + return mIsLastItem; + } + + public String getCallName() { + return mName; + } + + public boolean isFirst() { + return mIsFirstItem; + } + + public boolean isSingle() { + return mIsOnlyOneItem; + } + + public long getId() { + return mId; + } + + public long getAlertDate() { + return mAlertDate; + } + + public long getCreatedDate() { + return mCreatedDate; + } + + public boolean hasAttachment() { + return mHasAttachment; + } + + public long getModifiedDate() { + return mModifiedDate; + } + + public int getBgColorId() { + return mBgColorId; + } + + public long getParentId() { + return mParentId; + } + + public int getNotesCount() { + return mNotesCount; + } + + public long getFolderId () { + return mParentId; + } + + public int getType() { + return mType; + } + + public int getWidgetType() { + return mWidgetType; + } + + public int getWidgetId() { + return mWidgetId; + } + + public String getSnippet() { + return mSnippet; + } + + public boolean hasAlert() { + return (mAlertDate > 0); + } + + public boolean isCallRecord() { + return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber)); + } + + public static int getNoteType(Cursor cursor) { + return cursor.getInt(TYPE_COLUMN); + } +} diff --git a/src/java/net/micode/notes/ui/NotesListActivity.java b/src/java/net/micode/notes/ui/NotesListActivity.java new file mode 100644 index 00000000..a6224807 --- /dev/null +++ b/src/java/net/micode/notes/ui/NotesListActivity.java @@ -0,0 +1,954 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.appwidget.AppWidgetManager; +import android.content.AsyncQueryHandler; +import android.content.ContentResolver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.SharedPreferences; +import android.database.Cursor; +import android.os.AsyncTask; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.text.Editable; +import android.text.TextUtils; +import android.text.TextWatcher; +import android.util.Log; +import android.view.ActionMode; +import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; +import android.view.Display; +import android.view.HapticFeedbackConstants; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.MenuItem.OnMenuItemClickListener; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnCreateContextMenuListener; +import android.view.View.OnTouchListener; +import android.view.inputmethod.InputMethodManager; +import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView.OnItemLongClickListener; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ListView; +import android.widget.PopupMenu; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.remote.GTaskSyncService; +import net.micode.notes.model.WorkingNote; +import net.micode.notes.tool.BackupUtils; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; +import net.micode.notes.widget.NoteWidgetProvider_2x; +import net.micode.notes.widget.NoteWidgetProvider_4x; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashSet; + +public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { + private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; + + private static final int FOLDER_LIST_QUERY_TOKEN = 1; + + private static final int MENU_FOLDER_DELETE = 0; + + private static final int MENU_FOLDER_VIEW = 1; + + private static final int MENU_FOLDER_CHANGE_NAME = 2; + + private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction"; + + private enum ListEditState { + NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER + }; + + private ListEditState mState; + + private BackgroundQueryHandler mBackgroundQueryHandler; + + private NotesListAdapter mNotesListAdapter; + + private ListView mNotesListView; + + private Button mAddNewNote; + + private boolean mDispatch; + + private int mOriginY; + + private int mDispatchY; + + private TextView mTitleBar; + + private long mCurrentFolderId; + + private ContentResolver mContentResolver; + + private ModeCallback mModeCallBack; + + private static final String TAG = "NotesListActivity"; + + public static final int NOTES_LISTVIEW_SCROLL_RATE = 30; + + private NoteItemData mFocusNoteDataItem; + + private static final String NORMAL_SELECTION = NoteColumns.PARENT_ID + "=?"; + + private static final String ROOT_FOLDER_SELECTION = "(" + NoteColumns.TYPE + "<>" + + Notes.TYPE_SYSTEM + " AND " + NoteColumns.PARENT_ID + "=?)" + " OR (" + + NoteColumns.ID + "=" + Notes.ID_CALL_RECORD_FOLDER + " AND " + + NoteColumns.NOTES_COUNT + ">0)"; + + private final static int REQUEST_CODE_OPEN_NODE = 102; + private final static int REQUEST_CODE_NEW_NODE = 103; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.note_list); + initResources(); + + /** + * Insert an introduction when user firstly use this application + */ + setAppInfoFromRawRes(); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == RESULT_OK + && (requestCode == REQUEST_CODE_OPEN_NODE || requestCode == REQUEST_CODE_NEW_NODE)) { + mNotesListAdapter.changeCursor(null); + } else { + super.onActivityResult(requestCode, resultCode, data); + } + } + + private void setAppInfoFromRawRes() { + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); + if (!sp.getBoolean(PREFERENCE_ADD_INTRODUCTION, false)) { + StringBuilder sb = new StringBuilder(); + InputStream in = null; + try { + in = getResources().openRawResource(R.raw.introduction); + if (in != null) { + InputStreamReader isr = new InputStreamReader(in); + BufferedReader br = new BufferedReader(isr); + char [] buf = new char[1024]; + int len = 0; + while ((len = br.read(buf)) > 0) { + sb.append(buf, 0, len); + } + } else { + Log.e(TAG, "Read introduction file error"); + return; + } + } catch (IOException e) { + e.printStackTrace(); + return; + } finally { + if(in != null) { + try { + in.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + WorkingNote note = WorkingNote.createEmptyNote(this, Notes.ID_ROOT_FOLDER, + AppWidgetManager.INVALID_APPWIDGET_ID, Notes.TYPE_WIDGET_INVALIDE, + ResourceParser.RED); + note.setWorkingText(sb.toString()); + if (note.saveNote()) { + sp.edit().putBoolean(PREFERENCE_ADD_INTRODUCTION, true).commit(); + } else { + Log.e(TAG, "Save introduction note error"); + return; + } + } + } + + @Override + protected void onStart() { + super.onStart(); + startAsyncNotesListQuery(); + } + + private void initResources() { + mContentResolver = this.getContentResolver(); + mBackgroundQueryHandler = new BackgroundQueryHandler(this.getContentResolver()); + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mNotesListView = (ListView) findViewById(R.id.notes_list); + mNotesListView.addFooterView(LayoutInflater.from(this).inflate(R.layout.note_list_footer, null), + null, false); + mNotesListView.setOnItemClickListener(new OnListItemClickListener()); + mNotesListView.setOnItemLongClickListener(this); + mNotesListAdapter = new NotesListAdapter(this); + mNotesListView.setAdapter(mNotesListAdapter); + mAddNewNote = (Button) findViewById(R.id.btn_new_note); + mAddNewNote.setOnClickListener(this); + mAddNewNote.setOnTouchListener(new NewNoteOnTouchListener()); + mDispatch = false; + mDispatchY = 0; + mOriginY = 0; + mTitleBar = (TextView) findViewById(R.id.tv_title_bar); + mState = ListEditState.NOTE_LIST; + mModeCallBack = new ModeCallback(); + } + + private class ModeCallback implements ListView.MultiChoiceModeListener, OnMenuItemClickListener { + private DropdownMenu mDropDownMenu; + private ActionMode mActionMode; + private MenuItem mMoveMenu; + + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + getMenuInflater().inflate(R.menu.note_list_options, menu); + menu.findItem(R.id.delete).setOnMenuItemClickListener(this); + mMoveMenu = menu.findItem(R.id.move); + if (mFocusNoteDataItem.getParentId() == Notes.ID_CALL_RECORD_FOLDER + || DataUtils.getUserFolderCount(mContentResolver) == 0) { + mMoveMenu.setVisible(false); + } else { + mMoveMenu.setVisible(true); + mMoveMenu.setOnMenuItemClickListener(this); + } + mActionMode = mode; + mNotesListAdapter.setChoiceMode(true); + mNotesListView.setLongClickable(false); + mAddNewNote.setVisibility(View.GONE); + + View customView = LayoutInflater.from(NotesListActivity.this).inflate( + R.layout.note_list_dropdown_menu, null); + mode.setCustomView(customView); + mDropDownMenu = new DropdownMenu(NotesListActivity.this, + (Button) customView.findViewById(R.id.selection_menu), + R.menu.note_list_dropdown); + mDropDownMenu.setOnDropdownMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ + public boolean onMenuItemClick(MenuItem item) { + mNotesListAdapter.selectAll(!mNotesListAdapter.isAllSelected()); + updateMenu(); + return true; + } + + }); + return true; + } + + private void updateMenu() { + int selectedCount = mNotesListAdapter.getSelectedCount(); + // Update dropdown menu + String format = getResources().getString(R.string.menu_select_title, selectedCount); + mDropDownMenu.setTitle(format); + MenuItem item = mDropDownMenu.findItem(R.id.action_select_all); + if (item != null) { + if (mNotesListAdapter.isAllSelected()) { + item.setChecked(true); + item.setTitle(R.string.menu_deselect_all); + } else { + item.setChecked(false); + item.setTitle(R.string.menu_select_all); + } + } + } + + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + // TODO Auto-generated method stub + return false; + } + + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + // TODO Auto-generated method stub + return false; + } + + public void onDestroyActionMode(ActionMode mode) { + mNotesListAdapter.setChoiceMode(false); + mNotesListView.setLongClickable(true); + mAddNewNote.setVisibility(View.VISIBLE); + } + + public void finishActionMode() { + mActionMode.finish(); + } + + public void onItemCheckedStateChanged(ActionMode mode, int position, long id, + boolean checked) { + mNotesListAdapter.setCheckedItem(position, checked); + updateMenu(); + } + + public boolean onMenuItemClick(MenuItem item) { + if (mNotesListAdapter.getSelectedCount() == 0) { + Toast.makeText(NotesListActivity.this, getString(R.string.menu_select_none), + Toast.LENGTH_SHORT).show(); + return true; + } + + switch (item.getItemId()) { + case R.id.delete: + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_notes, + mNotesListAdapter.getSelectedCount())); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + batchDelete(); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case R.id.move: + startQueryDestinationFolders(); + break; + default: + return false; + } + return true; + } + } + + private class NewNoteOnTouchListener implements OnTouchListener { + + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: { + Display display = getWindowManager().getDefaultDisplay(); + int screenHeight = display.getHeight(); + int newNoteViewHeight = mAddNewNote.getHeight(); + int start = screenHeight - newNoteViewHeight; + int eventY = start + (int) event.getY(); + /** + * Minus TitleBar's height + */ + if (mState == ListEditState.SUB_FOLDER) { + eventY -= mTitleBar.getHeight(); + start -= mTitleBar.getHeight(); + } + /** + * HACKME:When click the transparent part of "New Note" button, dispatch + * the event to the list view behind this button. The transparent part of + * "New Note" button could be expressed by formula y=-0.12x+94(Unit:pixel) + * and the line top of the button. The coordinate based on left of the "New + * Note" button. The 94 represents maximum height of the transparent part. + * Notice that, if the background of the button changes, the formula should + * also change. This is very bad, just for the UI designer's strong requirement. + */ + if (event.getY() < (event.getX() * (-0.12) + 94)) { + View view = mNotesListView.getChildAt(mNotesListView.getChildCount() - 1 + - mNotesListView.getFooterViewsCount()); + if (view != null && view.getBottom() > start + && (view.getTop() < (start + 94))) { + mOriginY = (int) event.getY(); + mDispatchY = eventY; + event.setLocation(event.getX(), mDispatchY); + mDispatch = true; + return mNotesListView.dispatchTouchEvent(event); + } + } + break; + } + case MotionEvent.ACTION_MOVE: { + if (mDispatch) { + mDispatchY += (int) event.getY() - mOriginY; + event.setLocation(event.getX(), mDispatchY); + return mNotesListView.dispatchTouchEvent(event); + } + break; + } + default: { + if (mDispatch) { + event.setLocation(event.getX(), mDispatchY); + mDispatch = false; + return mNotesListView.dispatchTouchEvent(event); + } + break; + } + } + return false; + } + + }; + + private void startAsyncNotesListQuery() { + String selection = (mCurrentFolderId == Notes.ID_ROOT_FOLDER) ? ROOT_FOLDER_SELECTION + : NORMAL_SELECTION; + mBackgroundQueryHandler.startQuery(FOLDER_NOTE_LIST_QUERY_TOKEN, null, + Notes.CONTENT_NOTE_URI, NoteItemData.PROJECTION, selection, new String[] { + String.valueOf(mCurrentFolderId) + }, NoteColumns.TOP+ " DESC,"+ NoteColumns.TYPE + " DESC," + NoteColumns.MODIFIED_DATE + " DESC"); + } + + private final class BackgroundQueryHandler extends AsyncQueryHandler { + public BackgroundQueryHandler(ContentResolver contentResolver) { + super(contentResolver); + } + + @Override + protected void onQueryComplete(int token, Object cookie, Cursor cursor) { + switch (token) { + case FOLDER_NOTE_LIST_QUERY_TOKEN: + mNotesListAdapter.changeCursor(cursor); + break; + case FOLDER_LIST_QUERY_TOKEN: + if (cursor != null && cursor.getCount() > 0) { + showFolderListMenu(cursor); + } else { + Log.e(TAG, "Query folder failed"); + } + break; + default: + return; + } + } + } + + private void showFolderListMenu(Cursor cursor) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(R.string.menu_title_select_folder); + final FoldersListAdapter adapter = new FoldersListAdapter(this, cursor); + builder.setAdapter(adapter, new DialogInterface.OnClickListener() { + + public void onClick(DialogInterface dialog, int which) { + DataUtils.batchMoveToFolder(mContentResolver, + mNotesListAdapter.getSelectedItemIds(), adapter.getItemId(which)); + Toast.makeText( + NotesListActivity.this, + getString(R.string.format_move_notes_to_folder, + mNotesListAdapter.getSelectedCount(), + adapter.getFolderName(NotesListActivity.this, which)), + Toast.LENGTH_SHORT).show(); + mModeCallBack.finishActionMode(); + } + }); + builder.show(); + } + + private void createNewNote() { + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + intent.putExtra(Notes.INTENT_EXTRA_FOLDER_ID, mCurrentFolderId); + this.startActivityForResult(intent, REQUEST_CODE_NEW_NODE); + } + + private void batchDelete() { + new AsyncTask>() { + protected HashSet doInBackground(Void... unused) { + HashSet widgets = mNotesListAdapter.getSelectedWidget(); + if (!isSyncMode()) { + // if not synced, delete notes directly + if (DataUtils.batchDeleteNotes(mContentResolver, mNotesListAdapter + .getSelectedItemIds())) { + } else { + Log.e(TAG, "Delete notes error, should not happens"); + } + } else { + // in sync mode, we'll move the deleted note into the trash + // folder + if (!DataUtils.batchMoveToFolder(mContentResolver, mNotesListAdapter + .getSelectedItemIds(), Notes.ID_TRASH_FOLER)) { + Log.e(TAG, "Move notes to trash folder error, should not happens"); + } + } + return widgets; + } + + @Override + protected void onPostExecute(HashSet widgets) { + if (widgets != null) { + for (AppWidgetAttribute widget : widgets) { + if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { + updateWidget(widget.widgetId, widget.widgetType); + } + } + } + mModeCallBack.finishActionMode(); + } + }.execute(); + } + + private void deleteFolder(long folderId) { + if (folderId == Notes.ID_ROOT_FOLDER) { + Log.e(TAG, "Wrong folder id, should not happen " + folderId); + return; + } + + HashSet ids = new HashSet(); + ids.add(folderId); + HashSet widgets = DataUtils.getFolderNoteWidget(mContentResolver, + folderId); + if (!isSyncMode()) { + // if not synced, delete folder directly + DataUtils.batchDeleteNotes(mContentResolver, ids); + } else { + // in sync mode, we'll move the deleted folder into the trash folder + DataUtils.batchMoveToFolder(mContentResolver, ids, Notes.ID_TRASH_FOLER); + } + if (widgets != null) { + for (AppWidgetAttribute widget : widgets) { + if (widget.widgetId != AppWidgetManager.INVALID_APPWIDGET_ID + && widget.widgetType != Notes.TYPE_WIDGET_INVALIDE) { + updateWidget(widget.widgetId, widget.widgetType); + } + } + } + } + + private void openNode(NoteItemData data) { + Intent intent = new Intent(this, NoteEditActivity.class); + intent.setAction(Intent.ACTION_VIEW); + intent.putExtra(Intent.EXTRA_UID, data.getId()); + this.startActivityForResult(intent, REQUEST_CODE_OPEN_NODE); + } + + private void openFolder(NoteItemData data) { + mCurrentFolderId = data.getId(); + startAsyncNotesListQuery(); + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mState = ListEditState.CALL_RECORD_FOLDER; + mAddNewNote.setVisibility(View.GONE); + } else { + mState = ListEditState.SUB_FOLDER; + } + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mTitleBar.setText(R.string.call_record_folder_name); + } else { + mTitleBar.setText(data.getSnippet()); + } + mTitleBar.setVisibility(View.VISIBLE); + } + + public void onClick(View v) { + switch (v.getId()) { + case R.id.btn_new_note: + createNewNote(); + break; + default: + break; + } + } + + private void showSoftInput() { + InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + if (inputMethodManager != null) { + inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); + } + } + + private void hideSoftInput(View view) { + InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); + inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0); + } + + private void showCreateOrModifyFolderDialog(final boolean create) { + final AlertDialog.Builder builder = new AlertDialog.Builder(this); + View view = LayoutInflater.from(this).inflate(R.layout.dialog_edit_text, null); + final EditText etName = (EditText) view.findViewById(R.id.et_foler_name); + showSoftInput(); + if (!create) { + if (mFocusNoteDataItem != null) { + etName.setText(mFocusNoteDataItem.getSnippet()); + builder.setTitle(getString(R.string.menu_folder_change_name)); + } else { + Log.e(TAG, "The long click data item is null"); + return; + } + } else { + etName.setText(""); + builder.setTitle(this.getString(R.string.menu_create_folder)); + } + + builder.setPositiveButton(android.R.string.ok, null); + builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + hideSoftInput(etName); + } + }); + + final Dialog dialog = builder.setView(view).show(); + final Button positive = (Button)dialog.findViewById(android.R.id.button1); + positive.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + hideSoftInput(etName); + String name = etName.getText().toString(); + if (DataUtils.checkVisibleFolderName(mContentResolver, name)) { + Toast.makeText(NotesListActivity.this, getString(R.string.folder_exist, name), + Toast.LENGTH_LONG).show(); + etName.setSelection(0, etName.length()); + return; + } + if (!create) { + if (!TextUtils.isEmpty(name)) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.SNIPPET, name); + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + values.put(NoteColumns.LOCAL_MODIFIED, 1); + mContentResolver.update(Notes.CONTENT_NOTE_URI, values, NoteColumns.ID + + "=?", new String[] { + String.valueOf(mFocusNoteDataItem.getId()) + }); + } + } else if (!TextUtils.isEmpty(name)) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.SNIPPET, name); + values.put(NoteColumns.TYPE, Notes.TYPE_FOLDER); + mContentResolver.insert(Notes.CONTENT_NOTE_URI, values); + } + dialog.dismiss(); + } + }); + + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); + } + /** + * When the name edit text is null, disable the positive button + */ + etName.addTextChangedListener(new TextWatcher() { + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + // TODO Auto-generated method stub + + } + + public void onTextChanged(CharSequence s, int start, int before, int count) { + if (TextUtils.isEmpty(etName.getText())) { + positive.setEnabled(false); + } else { + positive.setEnabled(true); + } + } + + public void afterTextChanged(Editable s) { + // TODO Auto-generated method stub + + } + }); + } + + @Override + public void onBackPressed() { + switch (mState) { + case SUB_FOLDER: + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + startAsyncNotesListQuery(); + mTitleBar.setVisibility(View.GONE); + break; + case CALL_RECORD_FOLDER: + mCurrentFolderId = Notes.ID_ROOT_FOLDER; + mState = ListEditState.NOTE_LIST; + mAddNewNote.setVisibility(View.VISIBLE); + mTitleBar.setVisibility(View.GONE); + startAsyncNotesListQuery(); + break; + case NOTE_LIST: + super.onBackPressed(); + break; + default: + break; + } + } + + private void updateWidget(int appWidgetId, int appWidgetType) { + Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE); + if (appWidgetType == Notes.TYPE_WIDGET_2X) { + intent.setClass(this, NoteWidgetProvider_2x.class); + } else if (appWidgetType == Notes.TYPE_WIDGET_4X) { + intent.setClass(this, NoteWidgetProvider_4x.class); + } else { + Log.e(TAG, "Unspported widget type"); + return; + } + + intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] { + appWidgetId + }); + + sendBroadcast(intent); + setResult(RESULT_OK, intent); + } + + private final OnCreateContextMenuListener mFolderOnCreateContextMenuListener = new OnCreateContextMenuListener() { + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { + if (mFocusNoteDataItem != null) { + menu.setHeaderTitle(mFocusNoteDataItem.getSnippet()); + menu.add(0, MENU_FOLDER_VIEW, 0, R.string.menu_folder_view); + menu.add(0, MENU_FOLDER_DELETE, 0, R.string.menu_folder_delete); + menu.add(0, MENU_FOLDER_CHANGE_NAME, 0, R.string.menu_folder_change_name); + } + } + }; + + @Override + public void onContextMenuClosed(Menu menu) { + if (mNotesListView != null) { + mNotesListView.setOnCreateContextMenuListener(null); + } + super.onContextMenuClosed(menu); + } + + @Override + public boolean onContextItemSelected(MenuItem item) { + if (mFocusNoteDataItem == null) { + Log.e(TAG, "The long click data item is null"); + return false; + } + switch (item.getItemId()) { + case MENU_FOLDER_VIEW: + openFolder(mFocusNoteDataItem); + break; + case MENU_FOLDER_DELETE: + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(getString(R.string.alert_title_delete)); + builder.setIcon(android.R.drawable.ic_dialog_alert); + builder.setMessage(getString(R.string.alert_message_delete_folder)); + builder.setPositiveButton(android.R.string.ok, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + deleteFolder(mFocusNoteDataItem.getId()); + } + }); + builder.setNegativeButton(android.R.string.cancel, null); + builder.show(); + break; + case MENU_FOLDER_CHANGE_NAME: + showCreateOrModifyFolderDialog(false); + break; + default: + break; + } + + return true; + } + + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + menu.clear(); + if (mState == ListEditState.NOTE_LIST) { + getMenuInflater().inflate(R.menu.note_list, menu); + // set sync or sync_cancel + menu.findItem(R.id.menu_sync).setTitle( + GTaskSyncService.isSyncing() ? R.string.menu_sync_cancel : R.string.menu_sync); + } else if (mState == ListEditState.SUB_FOLDER) { + getMenuInflater().inflate(R.menu.sub_folder, menu); + } else if (mState == ListEditState.CALL_RECORD_FOLDER) { + getMenuInflater().inflate(R.menu.call_record_folder, menu); + } else { + Log.e(TAG, "Wrong state:" + mState); + } + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case R.id.menu_new_folder: { + showCreateOrModifyFolderDialog(true); + break; + } + case R.id.menu_export_text: { + exportNoteToText(); + break; + } + case R.id.menu_sync: { + if (isSyncMode()) { + if (TextUtils.equals(item.getTitle(), getString(R.string.menu_sync))) { + GTaskSyncService.startSync(this); + } else { + GTaskSyncService.cancelSync(this); + } + } else { + startPreferenceActivity(); + } + break; + } + case R.id.menu_setting: { + startPreferenceActivity(); + break; + } + case R.id.menu_new_note: { + createNewNote(); + break; + } + case R.id.menu_search: + onSearchRequested(); + break; + default: + break; + } + return true; + } + + @Override + public boolean onSearchRequested() { + startSearch(null, false, null /* appData */, false); + return true; + } + + private void exportNoteToText() { + final BackupUtils backup = BackupUtils.getInstance(NotesListActivity.this); + new AsyncTask() { + + @Override + protected Integer doInBackground(Void... unused) { + return backup.exportToText(); + } + + @Override + protected void onPostExecute(Integer result) { + if (result == BackupUtils.STATE_SD_CARD_UNMOUONTED) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.failed_sdcard_export)); + builder.setMessage(NotesListActivity.this + .getString(R.string.error_sdcard_unmounted)); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } else if (result == BackupUtils.STATE_SUCCESS) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.success_sdcard_export)); + builder.setMessage(NotesListActivity.this.getString( + R.string.format_exported_file_location, backup + .getExportedTextFileName(), backup.getExportedTextFileDir())); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } else if (result == BackupUtils.STATE_SYSTEM_ERROR) { + AlertDialog.Builder builder = new AlertDialog.Builder(NotesListActivity.this); + builder.setTitle(NotesListActivity.this + .getString(R.string.failed_sdcard_export)); + builder.setMessage(NotesListActivity.this + .getString(R.string.error_sdcard_export)); + builder.setPositiveButton(android.R.string.ok, null); + builder.show(); + } + } + + }.execute(); + } + + private boolean isSyncMode() { + return NotesPreferenceActivity.getSyncAccountName(this).trim().length() > 0; + } + + private void startPreferenceActivity() { + Activity from = getParent() != null ? getParent() : this; + Intent intent = new Intent(from, NotesPreferenceActivity.class); + from.startActivityIfNeeded(intent, -1); + } + + private class OnListItemClickListener implements OnItemClickListener { + + public void onItemClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + NoteItemData item = ((NotesListItem) view).getItemData(); + if (mNotesListAdapter.isInChoiceMode()) { + if (item.getType() == Notes.TYPE_NOTE) { + position = position - mNotesListView.getHeaderViewsCount(); + mModeCallBack.onItemCheckedStateChanged(null, position, id, + !mNotesListAdapter.isSelectedItem(position)); + } + return; + } + + switch (mState) { + case NOTE_LIST: + if (item.getType() == Notes.TYPE_FOLDER + || item.getType() == Notes.TYPE_SYSTEM) { + openFolder(item); + } else if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in NOTE_LIST"); + } + break; + case SUB_FOLDER: + case CALL_RECORD_FOLDER: + if (item.getType() == Notes.TYPE_NOTE) { + openNode(item); + } else { + Log.e(TAG, "Wrong note type in SUB_FOLDER"); + } + break; + default: + break; + } + } + } + + } + + private void startQueryDestinationFolders() { + String selection = NoteColumns.TYPE + "=? AND " + NoteColumns.PARENT_ID + "<>? AND " + NoteColumns.ID + "<>?"; + selection = (mState == ListEditState.NOTE_LIST) ? selection: + "(" + selection + ") OR (" + NoteColumns.ID + "=" + Notes.ID_ROOT_FOLDER + ")"; + + mBackgroundQueryHandler.startQuery(FOLDER_LIST_QUERY_TOKEN, + null, + Notes.CONTENT_NOTE_URI, + FoldersListAdapter.PROJECTION, + selection, + new String[] { + String.valueOf(Notes.TYPE_FOLDER), + String.valueOf(Notes.ID_TRASH_FOLER), + String.valueOf(mCurrentFolderId) + }, + NoteColumns.MODIFIED_DATE + " DESC"); + } + + public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { + if (view instanceof NotesListItem) { + mFocusNoteDataItem = ((NotesListItem) view).getItemData(); + if (mFocusNoteDataItem.getType() == Notes.TYPE_NOTE && !mNotesListAdapter.isInChoiceMode()) { + if (mNotesListView.startActionMode(mModeCallBack) != null) { + mModeCallBack.onItemCheckedStateChanged(null, position, id, true); + mNotesListView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); + } else { + Log.e(TAG, "startActionMode fails"); + } + } else if (mFocusNoteDataItem.getType() == Notes.TYPE_FOLDER) { + mNotesListView.setOnCreateContextMenuListener(mFolderOnCreateContextMenuListener); + } + } + return false; + } +} diff --git a/src/java/net/micode/notes/ui/NotesListAdapter.java b/src/java/net/micode/notes/ui/NotesListAdapter.java new file mode 100644 index 00000000..51c9cb98 --- /dev/null +++ b/src/java/net/micode/notes/ui/NotesListAdapter.java @@ -0,0 +1,184 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.database.Cursor; +import android.util.Log; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CursorAdapter; + +import net.micode.notes.data.Notes; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; + + +public class NotesListAdapter extends CursorAdapter { + private static final String TAG = "NotesListAdapter"; + private Context mContext; + private HashMap mSelectedIndex; + private int mNotesCount; + private boolean mChoiceMode; + + public static class AppWidgetAttribute { + public int widgetId; + public int widgetType; + }; + + public NotesListAdapter(Context context) { + super(context, null); + mSelectedIndex = new HashMap(); + mContext = context; + mNotesCount = 0; + } + + @Override + public View newView(Context context, Cursor cursor, ViewGroup parent) { + return new NotesListItem(context); + } + + @Override + public void bindView(View view, Context context, Cursor cursor) { + if (view instanceof NotesListItem) { + NoteItemData itemData = new NoteItemData(context, cursor); + ((NotesListItem) view).bind(context, itemData, mChoiceMode, + isSelectedItem(cursor.getPosition())); + } + } + + public void setCheckedItem(final int position, final boolean checked) { + mSelectedIndex.put(position, checked); + notifyDataSetChanged(); + } + + public boolean isInChoiceMode() { + return mChoiceMode; + } + + public void setChoiceMode(boolean mode) { + mSelectedIndex.clear(); + mChoiceMode = mode; + } + + public void selectAll(boolean checked) { + Cursor cursor = getCursor(); + for (int i = 0; i < getCount(); i++) { + if (cursor.moveToPosition(i)) { + if (NoteItemData.getNoteType(cursor) == Notes.TYPE_NOTE) { + setCheckedItem(i, checked); + } + } + } + } + + public HashSet getSelectedItemIds() { + HashSet itemSet = new HashSet(); + for (Integer position : mSelectedIndex.keySet()) { + if (mSelectedIndex.get(position) == true) { + Long id = getItemId(position); + if (id == Notes.ID_ROOT_FOLDER) { + Log.d(TAG, "Wrong item id, should not happen"); + } else { + itemSet.add(id); + } + } + } + + return itemSet; + } + + public HashSet getSelectedWidget() { + HashSet itemSet = new HashSet(); + for (Integer position : mSelectedIndex.keySet()) { + if (mSelectedIndex.get(position) == true) { + Cursor c = (Cursor) getItem(position); + if (c != null) { + AppWidgetAttribute widget = new AppWidgetAttribute(); + NoteItemData item = new NoteItemData(mContext, c); + widget.widgetId = item.getWidgetId(); + widget.widgetType = item.getWidgetType(); + itemSet.add(widget); + /** + * Don't close cursor here, only the adapter could close it + */ + } else { + Log.e(TAG, "Invalid cursor"); + return null; + } + } + } + return itemSet; + } + + public int getSelectedCount() { + Collection values = mSelectedIndex.values(); + if (null == values) { + return 0; + } + Iterator iter = values.iterator(); + int count = 0; + while (iter.hasNext()) { + if (true == iter.next()) { + count++; + } + } + return count; + } + + public boolean isAllSelected() { + int checkedCount = getSelectedCount(); + return (checkedCount != 0 && checkedCount == mNotesCount); + } + + public boolean isSelectedItem(final int position) { + if (null == mSelectedIndex.get(position)) { + return false; + } + return mSelectedIndex.get(position); + } + + @Override + protected void onContentChanged() { + super.onContentChanged(); + calcNotesCount(); + } + + @Override + public void changeCursor(Cursor cursor) { + super.changeCursor(cursor); + calcNotesCount(); + } + + private void calcNotesCount() { + mNotesCount = 0; + for (int i = 0; i < getCount(); i++) { + Cursor c = (Cursor) getItem(i); + if (c != null) { + if (NoteItemData.getNoteType(c) == Notes.TYPE_NOTE) { + mNotesCount++; + } + } else { + Log.e(TAG, "Invalid cursor"); + return; + } + } + } +} diff --git a/src/java/net/micode/notes/ui/NotesListItem.java b/src/java/net/micode/notes/ui/NotesListItem.java new file mode 100644 index 00000000..56cbcd3c --- /dev/null +++ b/src/java/net/micode/notes/ui/NotesListItem.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.content.Context; +import android.text.format.DateUtils; +import android.view.View; +import android.widget.CheckBox; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.DataUtils; +import net.micode.notes.tool.ResourceParser.NoteItemBgResources; + + +public class NotesListItem extends LinearLayout { + private ImageView mAlert; + private TextView mTitle; + private TextView mTime; + private TextView mCallName; + private NoteItemData mItemData; + private CheckBox mCheckBox; + private ImageView mTop; + + public NotesListItem(Context context) { + super(context); + inflate(context, R.layout.note_item, this); + mAlert = (ImageView) findViewById(R.id.iv_alert_icon); + mTitle = (TextView) findViewById(R.id.tv_title); + mTime = (TextView) findViewById(R.id.tv_time); + mCallName = (TextView) findViewById(R.id.tv_name); + mCheckBox = (CheckBox) findViewById(android.R.id.checkbox); + mTop = (ImageView) findViewById(R.id.iv_top_icon); + } + + public void bind(Context context, NoteItemData data, boolean choiceMode, boolean checked) { + if (choiceMode && data.getType() == Notes.TYPE_NOTE) { + mCheckBox.setVisibility(View.VISIBLE); + mCheckBox.setChecked(checked); + } else { + mCheckBox.setVisibility(View.GONE); + } + mItemData = data; + if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { + mCallName.setVisibility(View.GONE); + mAlert.setVisibility(View.VISIBLE); + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); + mTitle.setText(context.getString(R.string.call_record_folder_name) + + context.getString(R.string.format_folder_files_count, data.getNotesCount())); + mAlert.setImageResource(R.drawable.call_record); + } else if (data.getParentId() == Notes.ID_CALL_RECORD_FOLDER) { + mCallName.setVisibility(View.VISIBLE); + mCallName.setText(data.getCallName()); + mTitle.setTextAppearance(context,R.style.TextAppearanceSecondaryItem); + mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); + if (data.hasAlert()) { + mAlert.setImageResource(R.drawable.clock); + mAlert.setVisibility(View.VISIBLE); + } else { + mAlert.setVisibility(View.GONE); + } + } else { + mCallName.setVisibility(View.GONE); + mTitle.setTextAppearance(context, R.style.TextAppearancePrimaryItem); + if (data.getType() == Notes.TYPE_FOLDER) { + mTitle.setText(data.getSnippet() + + context.getString(R.string.format_folder_files_count, + data.getNotesCount())); + mAlert.setVisibility(View.GONE); + } else { + mTitle.setText(DataUtils.getFormattedSnippet(data.getSnippet())); + if (data.hasAlert()) { + mAlert.setImageResource(R.drawable.clock); + mAlert.setVisibility(View.VISIBLE); + } else { + mAlert.setVisibility(View.GONE); + } + } + if(data.isTOP()){ + mTop.setImageResource(R.drawable.menu_top); + mTop.setVisibility(View.VISIBLE); + } else{ + mTop.setVisibility((View.GONE)); + } + } + mTime.setText(DateUtils.getRelativeTimeSpanString(data.getModifiedDate())); + + setBackground(data); + } + + private void setBackground(NoteItemData data) { + int id = data.getBgColorId(); + if (data.getType() == Notes.TYPE_NOTE) { + if (data.isSingle() || data.isOneFollowingFolder()) { + setBackgroundResource(NoteItemBgResources.getNoteBgSingleRes(id)); + } else if (data.isLast()) { + setBackgroundResource(NoteItemBgResources.getNoteBgLastRes(id)); + } else if (data.isFirst() || data.isMultiFollowingFolder()) { + setBackgroundResource(NoteItemBgResources.getNoteBgFirstRes(id)); + } else { + setBackgroundResource(NoteItemBgResources.getNoteBgNormalRes(id)); + } + } else { + setBackgroundResource(NoteItemBgResources.getFolderBgRes()); + } + } + + public NoteItemData getItemData() { + return mItemData; + } +} diff --git a/src/java/net/micode/notes/ui/NotesPreferenceActivity.java b/src/java/net/micode/notes/ui/NotesPreferenceActivity.java new file mode 100644 index 00000000..07c5f7ec --- /dev/null +++ b/src/java/net/micode/notes/ui/NotesPreferenceActivity.java @@ -0,0 +1,388 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.ui; + +import android.accounts.Account; +import android.accounts.AccountManager; +import android.app.ActionBar; +import android.app.AlertDialog; +import android.content.BroadcastReceiver; +import android.content.ContentValues; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; +import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; +import android.text.TextUtils; +import android.text.format.DateFormat; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; +import android.widget.Toast; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.gtask.remote.GTaskSyncService; + + +public class NotesPreferenceActivity extends PreferenceActivity { + public static final String PREFERENCE_NAME = "notes_preferences"; + + public static final String PREFERENCE_SYNC_ACCOUNT_NAME = "pref_key_account_name"; + + public static final String PREFERENCE_LAST_SYNC_TIME = "pref_last_sync_time"; + + public static final String PREFERENCE_SET_BG_COLOR_KEY = "pref_key_bg_random_appear"; + + private static final String PREFERENCE_SYNC_ACCOUNT_KEY = "pref_sync_account_key"; + + private static final String AUTHORITIES_FILTER_KEY = "authorities"; + + private PreferenceCategory mAccountCategory; + + private GTaskReceiver mReceiver; + + private Account[] mOriAccounts; + + private boolean mHasAddedAccount; + + @Override + protected void onCreate(Bundle icicle) { + super.onCreate(icicle); + + /* using the app icon for navigation */ + getActionBar().setDisplayHomeAsUpEnabled(true); + + addPreferencesFromResource(R.xml.preferences); + mAccountCategory = (PreferenceCategory) findPreference(PREFERENCE_SYNC_ACCOUNT_KEY); + mReceiver = new GTaskReceiver(); + IntentFilter filter = new IntentFilter(); + filter.addAction(GTaskSyncService.GTASK_SERVICE_BROADCAST_NAME); + registerReceiver(mReceiver, filter); + + mOriAccounts = null; + View header = LayoutInflater.from(this).inflate(R.layout.settings_header, null); + getListView().addHeaderView(header, null, true); + } + + @Override + protected void onResume() { + super.onResume(); + + // need to set sync account automatically if user has added a new + // account + if (mHasAddedAccount) { + Account[] accounts = getGoogleAccounts(); + if (mOriAccounts != null && accounts.length > mOriAccounts.length) { + for (Account accountNew : accounts) { + boolean found = false; + for (Account accountOld : mOriAccounts) { + if (TextUtils.equals(accountOld.name, accountNew.name)) { + found = true; + break; + } + } + if (!found) { + setSyncAccount(accountNew.name); + break; + } + } + } + } + + refreshUI(); + } + + @Override + protected void onDestroy() { + if (mReceiver != null) { + unregisterReceiver(mReceiver); + } + super.onDestroy(); + } + + private void loadAccountPreference() { + mAccountCategory.removeAll(); + + Preference accountPref = new Preference(this); + final String defaultAccount = getSyncAccountName(this); + accountPref.setTitle(getString(R.string.preferences_account_title)); + accountPref.setSummary(getString(R.string.preferences_account_summary)); + accountPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + public boolean onPreferenceClick(Preference preference) { + if (!GTaskSyncService.isSyncing()) { + if (TextUtils.isEmpty(defaultAccount)) { + // the first time to set account + showSelectAccountAlertDialog(); + } else { + // if the account has already been set, we need to promp + // user about the risk + showChangeAccountConfirmAlertDialog(); + } + } else { + Toast.makeText(NotesPreferenceActivity.this, + R.string.preferences_toast_cannot_change_account, Toast.LENGTH_SHORT) + .show(); + } + return true; + } + }); + + mAccountCategory.addPreference(accountPref); + } + + private void loadSyncButton() { + Button syncButton = (Button) findViewById(R.id.preference_sync_button); + TextView lastSyncTimeView = (TextView) findViewById(R.id.prefenerece_sync_status_textview); + + // set button state + if (GTaskSyncService.isSyncing()) { + syncButton.setText(getString(R.string.preferences_button_sync_cancel)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + GTaskSyncService.cancelSync(NotesPreferenceActivity.this); + } + }); + } else { + syncButton.setText(getString(R.string.preferences_button_sync_immediately)); + syncButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + GTaskSyncService.startSync(NotesPreferenceActivity.this); + } + }); + } + syncButton.setEnabled(!TextUtils.isEmpty(getSyncAccountName(this))); + + // set last sync time + if (GTaskSyncService.isSyncing()) { + lastSyncTimeView.setText(GTaskSyncService.getProgressString()); + lastSyncTimeView.setVisibility(View.VISIBLE); + } else { + long lastSyncTime = getLastSyncTime(this); + if (lastSyncTime != 0) { + lastSyncTimeView.setText(getString(R.string.preferences_last_sync_time, + DateFormat.format(getString(R.string.preferences_last_sync_time_format), + lastSyncTime))); + lastSyncTimeView.setVisibility(View.VISIBLE); + } else { + lastSyncTimeView.setVisibility(View.GONE); + } + } + } + + private void refreshUI() { + loadAccountPreference(); + loadSyncButton(); + } + + private void showSelectAccountAlertDialog() { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_select_account_title)); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_select_account_tips)); + + dialogBuilder.setCustomTitle(titleView); + dialogBuilder.setPositiveButton(null, null); + + Account[] accounts = getGoogleAccounts(); + String defAccount = getSyncAccountName(this); + + mOriAccounts = accounts; + mHasAddedAccount = false; + + if (accounts.length > 0) { + CharSequence[] items = new CharSequence[accounts.length]; + final CharSequence[] itemMapping = items; + int checkedItem = -1; + int index = 0; + for (Account account : accounts) { + if (TextUtils.equals(account.name, defAccount)) { + checkedItem = index; + } + items[index++] = account.name; + } + dialogBuilder.setSingleChoiceItems(items, checkedItem, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + setSyncAccount(itemMapping[which].toString()); + dialog.dismiss(); + refreshUI(); + } + }); + } + + View addAccountView = LayoutInflater.from(this).inflate(R.layout.add_account_text, null); + dialogBuilder.setView(addAccountView); + + final AlertDialog dialog = dialogBuilder.show(); + addAccountView.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + mHasAddedAccount = true; + Intent intent = new Intent("android.settings.ADD_ACCOUNT_SETTINGS"); + intent.putExtra(AUTHORITIES_FILTER_KEY, new String[] { + "gmail-ls" + }); + startActivityForResult(intent, -1); + dialog.dismiss(); + } + }); + } + + private void showChangeAccountConfirmAlertDialog() { + AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); + + View titleView = LayoutInflater.from(this).inflate(R.layout.account_dialog_title, null); + TextView titleTextView = (TextView) titleView.findViewById(R.id.account_dialog_title); + titleTextView.setText(getString(R.string.preferences_dialog_change_account_title, + getSyncAccountName(this))); + TextView subtitleTextView = (TextView) titleView.findViewById(R.id.account_dialog_subtitle); + subtitleTextView.setText(getString(R.string.preferences_dialog_change_account_warn_msg)); + dialogBuilder.setCustomTitle(titleView); + + CharSequence[] menuItemArray = new CharSequence[] { + getString(R.string.preferences_menu_change_account), + getString(R.string.preferences_menu_remove_account), + getString(R.string.preferences_menu_cancel) + }; + dialogBuilder.setItems(menuItemArray, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + if (which == 0) { + showSelectAccountAlertDialog(); + } else if (which == 1) { + removeSyncAccount(); + refreshUI(); + } + } + }); + dialogBuilder.show(); + } + + private Account[] getGoogleAccounts() { + AccountManager accountManager = AccountManager.get(this); + return accountManager.getAccountsByType("com.google"); + } + + private void setSyncAccount(String account) { + if (!getSyncAccountName(this).equals(account)) { + SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + if (account != null) { + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, account); + } else { + editor.putString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); + } + editor.commit(); + + // clean up last sync time + setLastSyncTime(this, 0); + + // clean up local gtask related info + new Thread(new Runnable() { + public void run() { + ContentValues values = new ContentValues(); + values.put(NoteColumns.GTASK_ID, ""); + values.put(NoteColumns.SYNC_ID, 0); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + } + }).start(); + + Toast.makeText(NotesPreferenceActivity.this, + getString(R.string.preferences_toast_success_set_accout, account), + Toast.LENGTH_SHORT).show(); + } + } + + private void removeSyncAccount() { + SharedPreferences settings = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + if (settings.contains(PREFERENCE_SYNC_ACCOUNT_NAME)) { + editor.remove(PREFERENCE_SYNC_ACCOUNT_NAME); + } + if (settings.contains(PREFERENCE_LAST_SYNC_TIME)) { + editor.remove(PREFERENCE_LAST_SYNC_TIME); + } + editor.commit(); + + // clean up local gtask related info + new Thread(new Runnable() { + public void run() { + ContentValues values = new ContentValues(); + values.put(NoteColumns.GTASK_ID, ""); + values.put(NoteColumns.SYNC_ID, 0); + getContentResolver().update(Notes.CONTENT_NOTE_URI, values, null, null); + } + }).start(); + } + + public static String getSyncAccountName(Context context) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + return settings.getString(PREFERENCE_SYNC_ACCOUNT_NAME, ""); + } + + public static void setLastSyncTime(Context context, long time) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + SharedPreferences.Editor editor = settings.edit(); + editor.putLong(PREFERENCE_LAST_SYNC_TIME, time); + editor.commit(); + } + + public static long getLastSyncTime(Context context) { + SharedPreferences settings = context.getSharedPreferences(PREFERENCE_NAME, + Context.MODE_PRIVATE); + return settings.getLong(PREFERENCE_LAST_SYNC_TIME, 0); + } + + private class GTaskReceiver extends BroadcastReceiver { + + @Override + public void onReceive(Context context, Intent intent) { + refreshUI(); + if (intent.getBooleanExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_IS_SYNCING, false)) { + TextView syncStatus = (TextView) findViewById(R.id.prefenerece_sync_status_textview); + syncStatus.setText(intent + .getStringExtra(GTaskSyncService.GTASK_SERVICE_BROADCAST_PROGRESS_MSG)); + } + + } + } + + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + Intent intent = new Intent(this, NotesListActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(intent); + return true; + default: + return false; + } + } +} diff --git a/src/java/net/micode/notes/widget/NoteWidgetProvider.java b/src/java/net/micode/notes/widget/NoteWidgetProvider.java new file mode 100644 index 00000000..ec6f8193 --- /dev/null +++ b/src/java/net/micode/notes/widget/NoteWidgetProvider.java @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.ContentValues; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.util.Log; +import android.widget.RemoteViews; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.data.Notes.NoteColumns; +import net.micode.notes.tool.ResourceParser; +import net.micode.notes.ui.NoteEditActivity; +import net.micode.notes.ui.NotesListActivity; + +public abstract class NoteWidgetProvider extends AppWidgetProvider { + public static final String [] PROJECTION = new String [] { + NoteColumns.ID, + NoteColumns.BG_COLOR_ID, + NoteColumns.SNIPPET + }; + + public static final int COLUMN_ID = 0; + public static final int COLUMN_BG_COLOR_ID = 1; + public static final int COLUMN_SNIPPET = 2; + + private static final String TAG = "NoteWidgetProvider"; + + @Override + public void onDeleted(Context context, int[] appWidgetIds) { + ContentValues values = new ContentValues(); + values.put(NoteColumns.WIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); + for (int i = 0; i < appWidgetIds.length; i++) { + context.getContentResolver().update(Notes.CONTENT_NOTE_URI, + values, + NoteColumns.WIDGET_ID + "=?", + new String[] { String.valueOf(appWidgetIds[i])}); + } + } + + private Cursor getNoteWidgetInfo(Context context, int widgetId) { + return context.getContentResolver().query(Notes.CONTENT_NOTE_URI, + PROJECTION, + NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?", + new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) }, + null); + } + + protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + update(context, appWidgetManager, appWidgetIds, false); + } + + private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds, + boolean privacyMode) { + for (int i = 0; i < appWidgetIds.length; i++) { + if (appWidgetIds[i] != AppWidgetManager.INVALID_APPWIDGET_ID) { + int bgId = ResourceParser.getDefaultBgId(context); + String snippet = ""; + Intent intent = new Intent(context, NoteEditActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + intent.putExtra(Notes.INTENT_EXTRA_WIDGET_ID, appWidgetIds[i]); + intent.putExtra(Notes.INTENT_EXTRA_WIDGET_TYPE, getWidgetType()); + + Cursor c = getNoteWidgetInfo(context, appWidgetIds[i]); + if (c != null && c.moveToFirst()) { + if (c.getCount() > 1) { + Log.e(TAG, "Multiple message with same widget id:" + appWidgetIds[i]); + c.close(); + return; + } + snippet = c.getString(COLUMN_SNIPPET); + bgId = c.getInt(COLUMN_BG_COLOR_ID); + intent.putExtra(Intent.EXTRA_UID, c.getLong(COLUMN_ID)); + intent.setAction(Intent.ACTION_VIEW); + } else { + snippet = context.getResources().getString(R.string.widget_havenot_content); + intent.setAction(Intent.ACTION_INSERT_OR_EDIT); + } + + if (c != null) { + c.close(); + } + + RemoteViews rv = new RemoteViews(context.getPackageName(), getLayoutId()); + rv.setImageViewResource(R.id.widget_bg_image, getBgResourceId(bgId)); + intent.putExtra(Notes.INTENT_EXTRA_BACKGROUND_ID, bgId); + /** + * Generate the pending intent to start host for the widget + */ + PendingIntent pendingIntent = null; + if (privacyMode) { + rv.setTextViewText(R.id.widget_text, + context.getString(R.string.widget_under_visit_mode)); + pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], new Intent( + context, NotesListActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); + } else { + rv.setTextViewText(R.id.widget_text, snippet); + pendingIntent = PendingIntent.getActivity(context, appWidgetIds[i], intent, + PendingIntent.FLAG_UPDATE_CURRENT); + } + + rv.setOnClickPendingIntent(R.id.widget_text, pendingIntent); + appWidgetManager.updateAppWidget(appWidgetIds[i], rv); + } + } + } + + protected abstract int getBgResourceId(int bgId); + + protected abstract int getLayoutId(); + + protected abstract int getWidgetType(); +} diff --git a/src/java/net/micode/notes/widget/NoteWidgetProvider_2x.java b/src/java/net/micode/notes/widget/NoteWidgetProvider_2x.java new file mode 100644 index 00000000..adcb2f7b --- /dev/null +++ b/src/java/net/micode/notes/widget/NoteWidgetProvider_2x.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; + +import android.appwidget.AppWidgetManager; +import android.content.Context; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.ResourceParser; + + +public class NoteWidgetProvider_2x extends NoteWidgetProvider { + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + super.update(context, appWidgetManager, appWidgetIds); + } + + @Override + protected int getLayoutId() { + return R.layout.widget_2x; + } + + @Override + protected int getBgResourceId(int bgId) { + return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId); + } + + @Override + protected int getWidgetType() { + return Notes.TYPE_WIDGET_2X; + } +} diff --git a/src/java/net/micode/notes/widget/NoteWidgetProvider_4x.java b/src/java/net/micode/notes/widget/NoteWidgetProvider_4x.java new file mode 100644 index 00000000..c12a02e4 --- /dev/null +++ b/src/java/net/micode/notes/widget/NoteWidgetProvider_4x.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2010-2011, The MiCode Open Source Community (www.micode.net) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package net.micode.notes.widget; + +import android.appwidget.AppWidgetManager; +import android.content.Context; + +import net.micode.notes.R; +import net.micode.notes.data.Notes; +import net.micode.notes.tool.ResourceParser; + + +public class NoteWidgetProvider_4x extends NoteWidgetProvider { + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + super.update(context, appWidgetManager, appWidgetIds); + } + + protected int getLayoutId() { + return R.layout.widget_4x; + } + + @Override + protected int getBgResourceId(int bgId) { + return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); + } + + @Override + protected int getWidgetType() { + return Notes.TYPE_WIDGET_4X; + } +} diff --git a/src/res/color/primary_text_dark.xml b/src/res/color/primary_text_dark.xml new file mode 100644 index 00000000..7c854599 --- /dev/null +++ b/src/res/color/primary_text_dark.xml @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/res/color/secondary_text_dark.xml b/src/res/color/secondary_text_dark.xml new file mode 100644 index 00000000..c1c2384a --- /dev/null +++ b/src/res/color/secondary_text_dark.xml @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file diff --git a/src/res/drawable-hdpi/bg_btn_set_color.png b/src/res/drawable-hdpi/bg_btn_set_color.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb5d44f561b5484eb094e18159ac10e0a32b53d GIT binary patch literal 3588 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 QZ~y=R07*qoM6N<$g4u_m#{d8T literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/dropdown_icon.9.png b/src/res/drawable-hdpi/dropdown_icon.9.png new file mode 100644 index 0000000000000000000000000000000000000000..55250257a0cd618f2dd365cfa27a38d323c7975b GIT binary patch literal 443 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/edit_red.9.png b/src/res/drawable-hdpi/edit_red.9.png new file mode 100644 index 0000000000000000000000000000000000000000..bae944a5f822df5d030a91466d439b5a7f7259e3 GIT binary patch literal 3458 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 Glm7#CUYk+? literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/edit_title_blue.9.png b/src/res/drawable-hdpi/edit_title_blue.9.png new file mode 100644 index 0000000000000000000000000000000000000000..96e60925b9ddf7115029b6c3a5eab53ab509b0d4 GIT binary patch literal 5100 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/edit_title_yellow.9.png b/src/res/drawable-hdpi/edit_title_yellow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8f580aaf01a744d9e7ad6b1464883eb2ed2b60 GIT binary patch literal 6000 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/edit_white.9.png b/src/res/drawable-hdpi/edit_white.9.png new file mode 100644 index 0000000000000000000000000000000000000000..918f7a6b19dbddf940ff3e75b9558779ef570d57 GIT binary patch literal 3441 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/edit_yellow.9.png b/src/res/drawable-hdpi/edit_yellow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..10cb64213f33586622830edd55bf8ed6349fca16 GIT binary patch literal 3634 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/font_large.png b/src/res/drawable-hdpi/font_large.png new file mode 100644 index 0000000000000000000000000000000000000000..78cf2e6fcc38567b27f1fba2d5518eb3b71b2682 GIT binary patch literal 3161 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/font_normal.png b/src/res/drawable-hdpi/font_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..9de7ced77ee2bd01542f6853b52f05e9301a81e5 GIT binary patch literal 3097 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/font_small.png b/src/res/drawable-hdpi/font_small.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ff104884a11386b10830b13b34e430e1b22a45 GIT binary patch literal 3099 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/font_super.png b/src/res/drawable-hdpi/font_super.png new file mode 100644 index 0000000000000000000000000000000000000000..85b13a1d31218ac8e264808e743f14cdfaada1ec GIT binary patch literal 3188 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_background.png b/src/res/drawable-hdpi/list_background.png new file mode 100644 index 0000000000000000000000000000000000000000..087e1f97a35a36bd5c168d62996e54573446c2d9 GIT binary patch literal 567323 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

bugsGA_N!+86-i*}5>zZ*_* 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 z

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

K~e=Xj^!m==^?uA2#d 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

plp!9Ko0*47^YF?b4}}i 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 z z;LTv2-vh;<41t%Vv2Y{C8(Eq{pi^mAnk;L95#x zom}0b>HGinn#Ip*CSQXSzUQVGcfA&!Isq9P+HnX%h6Gu$d=BqLzSqo$pRaCqly9Kz zG;%0p2N+#rQpI@)WK+k{EKwtNOk?Cbws{HMI(0l6COP%ZmF}e;DQ%PwuxwqRHG;l; z%nJb6C;uDgNir3O{rP1%U{CSpwe;$ewMpOr%le+W_=n@p*Lj^pVG#PKa>J)qgt-@} zX8sAek)<5HD%pn%;a8?t=Ov6Imk1X<<;JAy>pompB{X-%PT1OLJSw*ni~rF85;PDv zQ4jWhpLx@KIk?A9QJa%pz)($hUYc^e+xKW&FW(XJChy;B^>OE;-Kmgc*0e@PcdnQ5 zfa5R2A)W?KOA)VM7S%O#J#Q<{;R|OZMBLF%&T>0#3(p@XS*v~4i92GEo&^$r)+raF z7?S!PVgH5sO9urFn|Djla@oCN$_Lb$z|9Nu3 zbxjVZKIUqObURmE1U2ETQ4%ZURke~xj;Jk&#KPWB7a4%J1N?3ag$pEjbMFnJhkYg1 z_qWG&D9o7HDY%XazG9`q4@s}-?gW&BH}exOoc%SL3+__8D9xp+a&0v{-~R)!LY>e5 zg=Ojkz$C)YbTs!@(+iHU5LZ;vqDO@#oAI0;<13_rmXwntWtf?x`B=a^HE!A;`EjaI zS)h~Rz!lit{f{8zHxu98jnPb7b69)y4lkl^g4LLKG*uSlBR|))-lXQ~`}>@={i}?I z_vH{DS)sXrYSxpX#n6k%k$D+i{;Ka$SPJj6_|UDtOsN-Y8bT|J*rPjDi8+c^aEgxf zK>IbFoDXUzWrKc86m4tVRvDb)1Q-*0qk$jBY)eDZ9*XT%p}uZ{%M+)@PRE1J?A{X~ za!LEQ6iC_ae$L&4NTpz9D7*$JMrxqDD`UHRht?;`jCI`DMO;rUI@`A5ko$_~@vBT@ zy+?a}qJ17Wjlo9fjQ*Xp%DA&RwS@w-7wq9oX9;wFpX!c>JE>d;`LQNd$d5VM7?3e2 zo3mSUqHbU1B)dF&@s@&voBJP^*WcTUsl`ATfK3{Ua=Fj4I+#etN4+f*DtI*P8{a>0 zKfx@;%9_^|4da*$Mx+^Jc&O6}+xJf@m}){9gg3Wu%feva2CkUs=?{K-uz)*TfJY zDQThYV^Mh&+V2t#_*c`TJuWu(VJiipdbRT}<9ILf=#UY2P^N#Z%1#}Z7}Wh*aU$x> zY1j&Z5%d@|F|;zf&8i6|8gUXzu;Q7xhpjq|gdvKN;wlIx_h$qpYoPol=caV zjvuJY<(H+6@6ezYW8$1R%kK>r3rJ;Jm%fpt30zf+bP10rAdg`}b6!Xgp+*SgGLL5+ z6)uo*+D_OOxKt%_NZtZ%E;=9F3l65awo@&z@-Deo<*!@{K)f2f zEWJYf6&i1WAXkwhmHS>`$4rf~270?(k)*=7sRfsTVk-to;VUxK(3F~PBLrfe@_;Z(o@j@Q91iL~Z<{y$w=A++MhXQ0Tw=)I( zr~>o7U0wI5Z{s+CNjWoIyVEZIO=F>f6I}h>iJlI!(I1*X9?LpN~SJUp< zT@}~4t@!Ttqrccy()qe7RD_K{aw?HftIfe7<^AC<9c+8$6TWUf=6OcCMBG-9d{>Y- z7w$*XU4PPP9E&Dpw)nV?s;Nc}N%qDWJj^3Mr^R^6cG8LQ5;RjWDr zeV>1sp40#Et^a6bKdj?#o}9e2w7f4b%lY_6tGbAf**c~y+eha&%5?aB9+v#TwHJn* z0(D?2lbu47u&Gb>X1oP9a~+Ml942|+@q=XKW~L>0_xT77c!X@Kf6q`RY-cneCBg=Gb>^)8O7L7$|@TVuLT0P_|js{gvfeiiEYqnn#a*B)Cw zd?=&Uq59YiV4JQyKugyx#D;qKckUQ{&80N685&b*l-4y=YQ`E2J93sAOXK$nNr|#m z2WFHg>FEf%h75SGS;^_`Z?SXr@z<-ZHUBSjxRVkdFugxeNyM zCu8Vzi6XXy8d-S`4`%H7zSmGTpbEtGo9WNDBMpiEpb{o6NBG>rxDakuS4dK_`W`c= zeed{Ck{O*zTMEh;f&A6vR3+s-Yoa212L?7KSiMXvMk&@OLs!uAs*jhAatoOSFU9XY z;YtLGa+$%Tim-ajI9q$2`PSv}&t%tc#1P>gbiZsTF=*&#pUQ-6F378GDuv@Y8sUmY zA|DXmkLz9#aFIl=5>rJ%cdJLS|4|yVFjZt6cU3{@VQU+3Nz_!{SEtG~-a1R(s;52s zE`?G5%-IP&=3zfBT;NyH^dE-k_-NniH`)SrO+@;|K`ZwQuu!B-mu zhSjFLQ%CF>T3qFkR#6=8JvZ)<9n*$c#;Z^pJHY#nQrqYcB+O?mQwH<3*$;a`6{);y z_3&P*EITOmD=E1j`dbDzqR4+CStX&TAv*A$fD41m=_}o~x*WfHm?Pw;fMlG`K!|0@ z{}SJtZiKn`qP3*%*!jsBZce$JvRwC^_Y=>kqN914u&(9dmU|7KaIP(=Mj(SDY+yzuD%z2%8Vd$W=^#eMitgOC30hO#EY|F|wX8?_l7 zn&klbfnr}LWt`EV}G7r^u>=$C>I%w{-=9Xb!pD5WZX8l^k~~6*40? z^Rya-J4GOq7jU`#Zh|T)3Jx*oc-ulg*#ydOWdmsm0P4E;4y{~gWGt&R^MR^~29HRU zKlwvNzwapVJ&mad&GsX0+cc^fyIv^^^VaLt97dl12o(!uomYzV4@9>_z{nJ>vo4*# zg!fv#3)%K$7rPm;H?bv^HBSJQO9u*UdWa`|d;>JzYV)TL1@P*pt*g{;ZLQNd4RL+1 z^wn0#8_wGl3_tbUz(6=QV*t$-aKao2czgSHQKZ3-2~-GzzP%5S<#D8LJ!`X7+fhqP z=BeqAo)*5p?64!hEMf3#!qv_s87QCDPa6nQqX*I^l0F@d=thnPk(xYC7v)Jxo{~A) zLEj!n!ISZhylE4nhdNhxIFI*oaw>@8zpoDNgRscMVJB&#! zvL#~fR2##*mS!q{&+$DIIsujFcE)P<0DkC@v9 z)Cg%gKwf4p2Un5z7b{+1iz-(hZrKcCX*Xkcq{@}Ly4Bzzt|A#TY8SUlVL6zYTBdd{ zTjsVGHRk=tqVrnlo=J8ir+Jq?&43bTJ`*oi0(9g2)_z2YT&HFlS((Dq7z+y(=`o3Y z2$6XD^ux)NT^Ah9< zJODufgB;9<-SZNLm_lCI60NU>4DE!PASD3tT<^Z-yni5#vFG_pbP#+K2Cv`T4j0y? z>Od3tn_CB{Rq?C$nwG*!@@CnQ3G)ckUb*itF!` z41~7Qc5=0cRu+TS5&^}Q@q6p*k_)Fr*2vJ!@d^)j@75|h2qK-G8FlHY#aQ=ty6Urq zh{67Q44-w^aNYe6t8vdAd-Na0#$M=?R?4p`#6O(QHk(GV!D?fmol^tH?|i?(zpz<5 zHHLVl@kS!G1L7wdRiz66PdExk_9rXuHW737wqu%|?fkMzTbgR`eHt1#`6?-=JQ?*N z1ru~Co~j9UrH2iVv}8&mrXc-fW(z|WZKfeOqK!=yQ_VJwc_rEJ##j5|G6h=4ba-PL zwbZq#U9Gq8LPD3$9a~d}{U(d7xTIv1c`<+*B~F%gw?hfe6f`pKimi56(Mn;Z;sqCu z=_0lC8T3ydxA`-WpZ|j5yZfa zW~#q-z}`{Hoo@At)ey%gSPs8fpFTdE&e?0LqPem+Qa^A08w!cbM-I`!z6K42OQ!E; zoly~9Y~A5jaOng!f8_|wXcxq*>R|CB^6IQalA`Zg{oiRFbhNHvGQc|Ezo?hdm%vI! zuf$ZPg08Eo>Za-38eH#&UGfcv%3k_p4hn@NIDkO%L2oe2k^CS4(*?zN`)CtdyP}qnZXw?F+Tf%{o|d;nHDB0ZDz6g){b5JQ zWvr=Fr=R&W{W*zLpyD|-1sYxQN#@Z0$w_x{-1$}{MYE|xre^N=>SmH zQWnk-lOY{)wXe`W2S@g3sHs8!qQZaHU_U6onON4 z_^*}@L6|N|uhrZHK(#8;h2=TUMjNU%mbr>g-#KVcpJwFR!D8q+KTV!>(G3p; zWHw-V2QmK?R)kgb#mHLm)NZU2kX8W2+;l9x$+J)%g(k<|=xR&N z{hA;%`%mrRIYCgEf?qZ6r;E?|+Y3JrqDZ;_uVIK0Y-}?U{~D!C=I@h~R4=L;%ipvE z#q-DgyC;Arba=CUxxp{Dd78^7)dguBWwJw)d6H8_H}duqn5l_US!6lKr>Wz+KSrTO z`D1&Vx7t-FL`>@cK7<2&9WG^ntQ<(>!Tl{*F7m z*JTWgeLL@hSMH*>o@Oq*ll8s3CJ#nV*5!bZ9;UMbo~B!+;r9{`cZ(`nJtrqU1Q`GbG>u@KJgpj zcLpx4S(w0TaHH3P*Ng-JDB7%M&Zj9@$%-Bz-h4h*=3O~8>PHNzy5f0$zT5>)077?o zxQI_ECTj^1MhkI^!Z)I5ux_Qsv!IrPICXw|kxG_!eYo+BZ~ki-kH8w4=`k0PkV?iVcUi>fBtlhl7U>g(w} zysi@Gub+*2g_AVBdeA{W%Vzva`&9n*%#(P{OpfQiG#-^iIq=8lXlKpI%PQ}B0rU6a zB~%x=zc^ZaT;z}mU=WrX$$@?V!JLD=@T0A~x0Id5zSfZb%Dw~o=4Rh5{r_=v-tkoa z{~JGM$EtIz$UbKFaWaza7#}Gk$KK=EB-x{r$gv$!j+K?{*&*W~32_kN*oy3|j3Xnz z^ZWjF{yz78Ki==xxUTCN_OUbS5rd%%1Z7K-Y|1pBiX%%){678;U|yj>B>J--KNENq z>Ns;snHgW12m%P~;Vu6v?@e(DRpWu^*j#%4kJlX4K>d6F{*nl0glqbSgu68)(YwVO z#o?6MrQBt8+gq0aRI9X;aPPoG*<5vn7A5rNO`C-0&neVXEoLg&+HEYYy(@bpi9rcs zkZO4f@k)uDa^LS|>5k16^M(M5fTI9A_f3bE+*XF6pnMnZtfUe6zmZm@(I$wH8C!ZR zuK4C_)q)!jJ}l~nyb=w;EEP%F_x=9D%ZJy~<-^;03`;`ywjs>j)%fMSrjCuoAKbfE zB`6)W+nOA!iZAO)uUl+lX3Tw!;JNy)X37rR3xgzlWFfjzll^u7pKBR$QCwp#pAM-# zkixg)cNWgj$>br7w|OG5uIt~d^`o)75)SmmCxbtG&8mJmXH86yLA`s>>mg*c0AmQr z(mU}FSy--a%Fz8A?@pH3;T2&rpso*_5j#LW7c-C4T(*T`l}4M0<-M(JPy7yU<=$lO z`4SiR*{zs(y`-j(sw79j;IKBlx={tD2hy^KH2D zQ@{;2S|OObz>OEZq?6*ZXzAR)szjx50R^`q#dVcbmtpz7pKIc#`qBUaA!r?rA|pMO z$N*T{dK}mUec7u0QvlFwswN6HZtw;r=;O3n_qI<%XPP0hWV9 zk;`r0&neisl)>ksO&}QC<=Girgi!+`%^P4*p?_-+%Cnu5;w?FNTrKDub45tNpBo|6VE*79WV zle%T$nkiKYyym)of_~cf9Ddm8En)s-#7ae5;Bp|O>xi%XhvaJEGjapyH$9U!bP`GWkVKz7LeXJT!VUiX0cXRq#mg|E#wtq@fy&kNRzW>~-kvRr1Z1--;wt*DQBSQ@- zqs|Vr7-;Lt(qwyP4>yBx^_z$ewm`Wc;F5u+gs8`sO|^sK$-kY1m10BwnfJcxx``y1 zu00dK_{bxm)2oyU6fHZFG%?MhLfA#TKEab7x@mY!g|{xLMfbvO-Mr?!W^)ZFBcr0S z^r@M3`GzDZut}%r*k8O(!5#K=2>^V{xqWdmocz2_z3S5{n~AK z_ms8f`s`Vh!vijs#5-w!R&485s5s?5wa{qjo{a6@^**>yz|m3xv{=U;w-Y7b*Ib>g zz9}IUe{BmxX7U~RU;XiaX4Oo7+S#iGfgjB6D8UuYk7dU2mAgEv^Fk1(my#3|ma!~X zp_eFvD)AtEI84yks>Xp_)yWpbrWS9{EPlDHWlWbdU)ue$R%Oc==wd#QAyr(-T#OBj zb2BslX-&S%vSKZQe+CZI8&)`SQ9qp%W-ahG@0^JobpzMd%vgVUEEdA$+qN+86FnE7 z1cEUv5ieI(1m!;S07ehbPER+Ye&gul?YtQRho9meD5RyW?C<}Xtq^ow47qpKc@rX{ zv8tN}ZRYG`X&>f$b&{xO9f+GM{c1nwTZd2D{i@Yoog&E6=t*X>9ET%L=v|q=E)Gdm zX)n!X0u#21L`%;*C90|!fAx@0hrK7#5>Ja2QZQfPkY(`Pysvt4?c#12xu{LMP49X# zCL#2$cNd=ZLO3?ffgkpkWYx-BY3fZ!9hvQd?S~rZza-FU>d%q-56+a0oN9|okNsBt z=shAxV?(!3@)zFh>%ZzC_$Ni#P6hOs28uCfB@ykbYQ?E1NHur0m&E@Pj(lftIZG*l zKKA5>&C#aO%Sz@YCWv!q#Des7p8uRHtj(h}NSuP>aD#OeJqFiOO}#n}?wH`$Yslum zHaN|-H|@8GCEHJ%@DIy#_OqmJPEo)RW-5b~nlxSywqQ5Liy!-dxVfP0dro6?xqtEw5 zS*^2kWU#3jXJ1FmtE!Nk(~3etPhKK(jcSGRPrrU-sbG1Q!>MsxP|>hBFU%X988d*y2xv{|bi<&@6y6L=;Fb!j7B zDv6V%lnN#0(+TzV5~JSy*2C#hB9fU*LLr*)N`n;9Ub9U`e30|)`n9_$Fkcx+S;)ZV zV!PxdeQ20m$5H_;s-76mQ|BcOajxZ(OG;DsWedIR7=;`4&R8Ec*L&f2f?)TDC56|e zh`c6$&n_ynZn{o6+>ULvei6c)#qUgGfW@}Ln(&uU@opyIeP7{9VU=?Q`2tc3pe6*# z9;Ra2x51W0R@)p;K?Wb^%f0$9M_hH7f!)@)rOs?GK{l2C@&%-rnwCKP~LtO(Ql;(TBK&)xF6_C%T(;`|(}Qy=g5D4By^0dSdDN zI)_6p8%DOJ=G8x?ZPlb2eYKH$@iX>;Y%CXTBgE~Jj5r-3SgaU@#I1wF!zRxP>9AbH zR*YWec+st#DQg{x$;t~S8Bo;HE`8!FQj&QNS$(;KQw=21fBRUweGh*RG6*&_168mR zgh7ucBkb(%0p_>KFGnra`cdx8sQT5@r6xIJ@w!;F4;N*ookP*Jw2iR#cCd-5c%b*? z_91bPX(z0p`VViN)6t3RD?wcit%=ciIS-_#|Jyy>&A|LSqgFU#G+u2@mG4+e1mKlV z9aMk-py{C&%_x7pQryj73aWGA_rJ@lvk>;%X$8(SfM3?;sVbwM{%YYgb|HX|Bd<*M0sBZt|>hsY!Fz+Yhs|jy=Rx<^pdxE&A0wJ|ky&+*&j3OkEj3Kh}$d_7RE1 z?PCJ~8x0C4V%Gcl9;C_h{9!^WLAI;5ie$pM$<~NyerFV&NYz<_13Qi&IA4~KwmY}) zK#KZ7%oKmGOz!pNofW@AsOUt8coSI zq%l*1TeA;%i2@!|s*t#TEIxYYw${HLly9+G5EWhUWzaG(1LVdORX@`@~vmN7n@q82zPo z5QBucy-B7Q$q{+4`r8XHT9S1j*%2PLc=0f-?kRC4XkyN-nY5V2G}T}Jh7X4Es9Bh$ zik$r75V5Z9Pf7$y))mVMEVs=4M>F{A#nobez=VLo>JdKVT~exAPd@HfpvE82TYABV z1LRNf;kOuv`5Igw1Z~9cPWEbhoq;`%D+V9A<&qP^tYv<+a3q3Fcnkjcy&B49O;RRB z>zyc2Yn0(bW^^W}$-2D8@(>c`VCQF{sxJ@q6=m#w@jVry^GgX1abw`a=F5*SuyU@Y{Uzf~6 zr)%)I=ZK4=dv}^Chw?!%Zs5A=vwy?>J)e679-S^|UL81G{ay=Vx$oz&csR+Wdun~( zTCru;ib`u3Mf0Ur9;Zm!z#~LF5ykSvkSxzxasOiL0z9eFPKYV(hq4lS@fFnUG_LaX zTiZRnaU?>Xlw5xNFzm_e9V^^nkieEv^qbth$Te%zNztbydG`liE=Mg_QR-c4h(6~j}p~j!R#DAU9QP0;Zpm| zsj~TFFMF1_U7lAOFMqJs7D-ZyQ%V{0*~t)TKzmgICq_pd`VWf}JKx6sYyKKn&8lV} zp(1J{JF!Rb;(9axV<1MyU`ON( z)UxefiGIQG2K$orgBC&3>`hxUD`dQ1BQ)=B!rSR%>t6sZU&%p4$Kx+@H8sXndq1)k z&+JE=h!J(Sy~x3Hl|5*-?PIC#s&h+Ej^nmTqE&=yXhQ@%Z~ZUFg>I&BQM=;WIFT*< z5ja2VpZ&AOZyjZAEBO(=T#I3jMx`x4jYX2`I_sL6uKYDN3(I;$>jI>k)MRn=+*-tn z&t4w({Ekex3Kg1W{@n^k|l14cFp1{6Q3Pq ze1rA+Zv17Je71?XRr)T5sD5`z&fq|#r1#I){@Mw_KRoh#k~UV=_o-bzbUcc{Uu0fu zRL`LPWFM%WTB4@Q_I*oou(qjS)<5{66Yk*pT+RE+S|^$(hvx$o+U4A$TWOR2YVDs$ zhfxLYm)k)&iTT3CT5Al^BXTK($0d$&%KJs~65{y$Gg^O-Y;U<0Lb~@~TaF%rCT6>1 zE3`^kC(D0F8gg7}j=H^N++x2R%Oy|Z{IK1}` zM%3!stU@0~eKJ5*-#q203&+3p_(5o6-OKrRM`KcPLZ@6b{cl2X*E;KKdRVo?cGtvu z>)!c!SXIUHJ>!GiPr(HaS(ua9XUth9p$~+PbAGWT>~qILYsGho-Fbl{Vcd1g>K%`sj*(svChA7N z&fWr$lM7%K*0s-#+V`tj#J4~V%=VqFANnhm8gh%9*Tr466UO~7q-xZ`_z?xLB(DCEcS$RJSHg0fL!8$@-{!Z!p<*E>g2e_Bu}^ObB!|}AHmVGeR*d2e zcYcYl>51BI%k0|UJ{A|qyR0lY2{>D3{)k)rH*l;rVPnQaKlVzrNB?3<#MZxlbuq$@Wc)y~ed6N?!&1LZ z){8@xDwNy{tH{X6Y^?s+^ZTXoe*bvhUF^>AJ?`3CY5xeotA;1$Uiq>b8!0S*zisig zT(N7d^bEI1Fc1zotfV~7qH5q*bd2u70xDap9&VkNSMi;9-$pJyaKm3Mk@u|^%Ha|{ z9oD&RHLG3@(f)|mg4?}se-PVlEg73eO;ARz_SPz zYUexREYPyO5t%|b_KdpQ8TRcMEAg$X7;ygpxCM2_nHxEa75--@VrzWa4Teb#2FxkWYJR`sue*MV(YTgdU`*5Smz zSAQ#t;7^wn|GRxoYIt-y0&kaxF?q(K3YYOelS@k{L7lOp=b4gO_3@= zcTc`6S{p*h*jzf#63>FLm4evpGC6k($muCVHhi&q#DNdJA{VS1&n}7TZ-&gsULzgb zb@F&zeezWsNxB~uu3_W9lj{soS@)S84rcjp381v@v!fZjraU3+h5dpq*A zwTb=sSX&OZkya~P)!Co_27gaDwazd5kbJGx<5W#j8{!zNv9PbIJt?aXciC7pN>PBB z(ZPgRF;iz9GRWX1c~;UbM<^l(_@>LuQ*0~i{BQp#-QT}|5fMFje~h_10M>t9gQLG( z{q5%V?ClTh)n{Ll!B)amiy)z+ReiUbKiOST9oN&C#$}tVrFubOCu>0tmDU2wQFUZZ zXa@uP6x*qE@Ue$^epKQFZmTygB+0}`;X-jCrOzWRL$*-O21j?@I4mS^@853P#=sn9)-2Q=?g zgypml(8sfpZ}z@cA0KWniBnq2vml$NDz8jcQgW=8j8Yd#R)YZccN$VFnaQ#7{)3FT z5Su_#W@uEJ$kNr_QJK@%*THo4!BXlnu=@aJ)tBrsvwa^&AK3&pDW{DdZY$ZhgC;6Z zdna=M#X6SRXb=Nny157ACD?c(P0|yJiS<9q1HnF#qzw#zRm);_--1pKWvd~0gH`Kq|^#$r#P3IP4(&#e3INSCFE=f zEFHTe0BTL%NmCPVW(NaaSTzs(C*@7uax^?V(&^UU`0?NWWI& zmLT|zD|W3Tb)_V@Vb1*1lpC+V-|AGCU=9!}5gZ6bJH$N5Zih>Qq70l{o zO^Qu(w2-~Kb~+z$_Sl`JC?+{U4YrCc!AgtEf?f&xw%K=g-=92r7L_5*Vgk(m;zN0% zSpMht8%!{dC>9%iL{#kxS3hO)W;e7=_d5`jGPpzIT^A3^*i=|}E0LB^Ln2Vey%c|$CD}KRX!SzqPWAxLa zZ-7+<`M9T4E03df{l#y(Bu^thC2uU~*K88vV}z8xQMWT9M4mGpzDoFynpsDQQmUp! zp=hY5Mz{o5#e`RZJ+P(q;7 z<|HN1{p}oGyzbQK+ka5mWyAZcrlsy2DajKy1bHN5bSJ!|52-K<2K`8&M%wc?dd)=~ zDpDqhN&elvak7Z}RCP4{_{~(NYYm+Sdh}*Bh+PELZ~aRki_D5p~$QuKvCU2LfYB~0#fEWRxL zTtMQGF>1j}B+J39et}`u@Vkb(a1pB6xpEr>_6|l&!>pL_cwtDCF+nFT!^=}`FCzIT zz@aPpBmg+HC{jvO#q!2c$VXXR5L2H#MHahL5BZbt~IHgiG} z!~$k`@eMHez|pEu1}7fpU9+eJc|I`w{G(8G&GA-##NO<^@J^Wb;BY1f6=r!sEli*W z4J=3yw+^Er0DH5o%ILr37X-$<&>6eQ)YLQRo$f;a5E!oH*uSsAs1e;0w)(ZO zeWy$)^i@?z?^qh%!gBu5r-lX7%4WO&_wQZZz$<^G5Cq8#`FL02{7E1~(_)0R`SMp= zWG5nbj|tMr2#j;9aet#hNKdFao)YIc`?q@E;qw%NfzYbRaGdrc`#u|DN88F9H#L44 zaYolmm_n9Tf3rT1dR|1bUC<*K~@PO3S?CF3#_+$K@Y-r}AcdLS? z@9yx^BT@$dX~~A)%F^M6n{JY1?SW~dnbPNvWP_Q&YmhwHv%P8nSH?QTgwn~Omy2(Y zcNcL*-(h|}$aMW%S%l4Suy@X1WSGy7lSQ=A(07~B-s>p@vSlrlubgjl{Yza2M#7IN$PgU|d}_tlJ- z2L0m)|AQWuZ-{n1eSeekr6{Yg)`aN-g4TZ;Gh}+^7lPZyHoYRTJYNaKODjDHz_6*TL(s(^Z1A&g`_Z{3KgCqU(zXZ^Bho9BybrKKe~fBE zw_CiN)6QaIq-?KKO+lY+17k&eljXjZr)91+u?CD&{|7witR>tTaPg>!kc5;8x?pKu zl8IdgIxgE$G6O-}GVz6Q!@TCK8M*imn|<(mTF+~GH})-;-Euy#^ZLDRkSg5PAe>*o z&3%1`|1M@rX+`cGz26E2GM4Bl>4s*CP&9l9%pA3sF8;S1R&e9!+QlOjPVMbo8X@EKpT4F*%vAq; zQ_Dj*=08*ku5~0PgxChZrEzh3O2J62KMw1Vef3W{a!*XSGBFJJ#5H&aQ&df~&dg3H zcgYgBp#i1p*ntP$?E?ggZ~8-_Vl0&W^Lu!Q5;pH|hj$Nffj-;)0nZk$+iN`VHr*cx zM~^Ne6Rh%BAP`p87)k}3Bv~`Bi)y~xPOW_Sw}Lv$tT3E!i5eG8bAT4az$kn+L!0>-<=jjsu^bjK*Ljd*tRkv`{b6O+}_>q z5YF7f2-z3uA_BrRZY(=B!aepk0TjaT%z`B~K#xDNZQ8{4EJO*=fqfX9Z41=x`F1hs z9OZ*#$jGz(y=P<{Dfz6n@%A<%83J`F#Yif~CWj9+t0w78Zgkhxy(m}?EjM-V)u|RI{PivyyGqSC2+*3$1w(3LWDcQ1vEUM=(N9olrNGH1f zW|WNcMtZqxd0pzG^M4|#se$WtU2@j52d zF|YVvn54s0n}-RM+QwGQsElTRNV@fP7pp9{Y=)}J-ElI5`NQB+(lpkJS_^FcdOUZM zzUscrLa#Qq-k6<}`Cy;Z+M6!8fVB7u9(WI2Kr&1W8?}CX`!)<#^#0sh<+>q(r(iK$ z;!DSS#i_%#@r1DR+Z3V}fZ=LO!L> z1u6r{qmo6@*XRMo41-+iehAs8jO18~4 zg8nE&9~#7&=;t8x5{fdb%cVy}eIE6&hB@J-sQxELD{i`YS>25oT-%NBT*4h6N92~m-gvHSzDNE#rrn}do63k^Is;2DNx<&b@OxBwsRAKnF;&ry}j;2ze^byZ9`=@TO- zT^4DuyjVZ|-nzYb4B*QcZ47>mg<in?gDm8FM5PEHj< z@!Ut5u7>=d;l!v;dpqFm|~o*M!>Ywu^i!SbU#bUB1*78PKO35chA zaf1|_&7|vogD7wjUbB=+@-3PW<0mbd?V2{~?kYKE-`L<=Hfsh1IQKUzr3&a5EXFd9 zO>Kg)A3s;VIWYJ@33Bz#qwCIaGf&yy!l(CtfKzxegVAliFtD!vN?7johoh})-!z5k zff{RlzI$=me0(w?f}U&kkl&&;@%onEVJeEhi8NQnkIC8vlik{}< zQ`eaeD)T{XYSWK2X6FbX8}$*Y?8eSNv4DG>~c>p-e|C zEzx@>@cygThe!id(dUJPahA0X?`uObq(=N}LD^UJ@ZF$YVw%gB+NrTAXK;Dq-gS*l z>G|(cV3t?lZYZQY!Pmh%>zcl|6ya-5;uDvlQ3cioDC5=BGhPl)7=4)o;-!i&b=}oN+1>k;p08JIwPBKSuxF2cQGj0|2Rwm zhjTMBJw=RGW^&qAa?CVMjE5|-;`46cjB?j-pQSHokN$uof*8(?rwJ2ww9DJWKLLE6 z?YOSgCR^i%E-EKQ(V_qf?1A1XswP>eLX0@Q33G!xga(}FaJa&;9z-Q1lAVh_75~Eo z={@lB!;)zkl8go21gT-2nHIs-6*kIlgF|~PwiAdknJPe!mVF$wb;%EGF5}cRz)9&0lZP3SushQj%WQ;Waf4 z>vMVnI@|HX%66yqHuyFn;dY|Xu%HhY1;E)g*+M&3WVpx7*it2UCp5Qwl~+#x&*Id% z?2U)9)Q9t6>VZUx>!_NRq8bm~pVD|(AMPahRew4V(=!a?0ro>dF15a$*8WHs)w(<^ z(*L_!>GB%{;K|bU*dA5cmi8KzRPgTZ*Fi|+POcyVhx?hHqH`}kOsh@Cj7>vGv?s#v zn(-R{L!*H^^<_*HwcB$0(7xcCx(Iew(_?hl5?bk{f@j3}hfDItTkV-@-_Xep@5%;o zR@*ujQ=gcVEAFmg2`>fhMkR?cgVSGt=>((|Z)Ex&#WOcr1hi)_)?_GF#5=^_m$Yl#b?ehg8#>=E`4!kwJGb3Avu z6L$mNu7~od-K-G5t&vAk4Zi^pDZiv=fd+_N%cRM^O%FmvK(tWt&n}KwT5aGy`?lpN z{16QDdZ+cHCPM&>VaU(}&r|b#jL8PPF)AdVS(Xg=kac&9+ge^rximw)&x7xHZt1i|zIT%&YPXPpA9C9I zp5q^v4q+%kU;A?oRepZQIiH%ON*NcOcBZT`7K-mu{4k%I`&sKxz|BBsFw$vpC_5mG zThHa^&iCip8@Io8U9GE|J%#>gy8E||EMs|3ycV0})uzYs$om1^r|)K={#CLHThOQ8dyPaz1U7retU@Te>CzwzVgjr-R~LY83Tlc>PTea5ON z&F@o|n3B2A++T-HSzJs@+ z7RBzY-p5h`nUR)lA;_JDs2UnhS|Hzwn>PvSgH^yb`+UCN?xX>brPI#d6XT_z5>Dj* z5#>)SXGklMJPu))5=TD=273r<7ANM7Qa_HANSRV4StmOyglLpSP(rne`x9|<-+(Qx zec%4*=^#g@J=JceHNT0TrIg%%}&m&?B*qiUSH>HIwx1|{&*d=UjrI&c*Sir{J%H-C9|1XZkNd?gepr!h55tgI9_Rt~geY2%Vz81>T4YmcC26ah7C zSc4BfJSBQUAG0i5JY5W!$&ZZ#on)-xtbKr5XdDWmImCHs?a8vD=bLSz#rM9^zVPgjfKy?LtW6lRT%CE6e4j2%oIy3VC_XAzRZc+k5h#ATsMb)P7@+oY1u}#~Ieqla1nZ2NV9NtQ|rVa8~ zUC5hhwK4ckaddt+6>mcbLj1DaH5>$p z_Q)C)F8(4qJew4u(-=hN>L7XvyXOaJe#%wz#hW#oz30m0R51Ax zjGJ046w6sl!Max zwe+un9$6Ce07|9W0B8{BIBr>WK}GPtqm9o#qqy*GQcjQH31tki-{??TN9g-@84~^o z8WNw<>(snv=6C(JepcI^r=cP(?3>=<&di0v8h-KJLjR#-_07z84LHU0OW8#T5FT<4 z)2@pK(%W};7>#_Te{wPwhsiK~`uk9KSy!m~x)U-s^Lc}z9%QnoO5fPVuX9#5+g#v6{tmBTlN2qIdv zvM7ok{2pZBGK7q5;QObO&9t)NwRxxvJ3J1jP-}hdJsf-le8!%U2QD83cUP~GJEr;I zH@b#G8SGh(eQ+Ra>nF-MZjcISz-N4ebwCR^rVB$6IW}KX_o4<+AkSWv(r3e5DngIa zsGyl#;0iHkGxE@r62gp(iI3_~)8~*Qr+y;NPg0({+(|0b7dlc^eS`_=wGQF3HcM8B zo+oY6oQt1#{%2h)rG-qV-o0;ml6U>FtmtykGn%!6i1_2OOv|r_hV)=kfm>W$VzZ#L zyf3(Q=pkKqPxyC3o4~GAKDvbD=MC!_BHL;h+0SvI3v3y`BK~p+QZ)!Xuhb%sbn?X= z-%Rk#H_7|jeU6ORbY}UhVl=sEE&8%mb^a?03i1jjIPQ~rl~$oXmm&Oh1olZasS^8E z-^@bsR*DdiKVggXtk7DB1gY%asA%PZIPDWQ(Gaq;V)*mXp zV`<9J7Zj28yUmo)D-Moy_|%&%+&{p%UQer#l^AZfWF>VPU?(O9;s3T%7Q+M{K?-d_ z$1rpa{Hn1ang$R@wphc`(i^D7qu86~BFHb>m+Zw_#wK1qJ9hV3*{gL6q1SsUMF{MZ z2BfXfb0xjM3KF!l%XX*$kNL5BHtomLp~H%bNsWKfi>%%uf#g-B%^Oe{;-SAV#Dj1o zER+jOoUmE|8D0|z6{@=B?Hba2tINKNN)XbpWnEP@zg~n4NB@WtWe8pg%h8)8z&W&4 z84AJ1SdFir*KN^K>n}3JU+BmQ2sC!TeCPmZg{j=t4R!0|;LEKaq^0zUdD-hc?vm`V zF>Af4tgHEYJuKOl4&CcfT}K+SOh}+v?=Xw6n*_XBnxI~=5qw;ekRrmpkZU7aXg{Js z^TkYpJ?4&CIB111!^@D!Mc0-P*~XJMgy1NQTv$J_qMksX;dykKVUe6`LH5l^(X8;FhvK=Z)=TzO0G4%4HD-Jp=@blSPEIoPK)oza(VUS9JgIo>9tn z`%BhhQDQ>Q>UUdG1h)j#u&SShVpKPZdPF1{G)oAcKi(`E9r3@UH%qj`wdro4W;RH_KX3nDdXNo1}v&XnOgz?=hgq7xZs^T89g} zoZFLj6+!gQRr+^8nxtKzCDTxxEg-nX;M&9 zGO*5CJ^F&3Z7|q@;r4_sT+ZdA-aGnN(~L4CZTW?kPeOtTz+8>s&qea5^ zxyE40?xSasHs{vOj{r`gyPQtygFWMzXL_K3#b8T~7tAmpfFX`9b4zqn4uX{~=t zh7|tE`bHCL+qs~-O9G|d%XRE3-KwI#Fc{=W}m657=8v6?Ec^dcSgOAE3JrH zSPwhPDO>)D71PRJ-QGo_{JbxC~b$bva(_0M0nr6&CbWVmRYbj^H+J%+s3=!E88`*F_wls3}8s$@D~U# zCM!SmLh0TR0q`e4%|bfaRNgrpznE29N!hqI>@}FaX<6Rea6XQjapQ`*#snOc3oJN6 z_4KHWl3N9btGxxG3mG_<`U>VttopMnPX#n|&8%U8!&Q(>5wd`VIrt+2yAn1+RpRLC z!M&NPyB}2x0alrZIrf&53J=+Lalg5Le$wY%m?S0U2b;M+ee3d+q7nEFCt~_cwG(N` zma;)OJ2;jnGQnZy!~9v_`|J)P)rxKlPL@9x_=ETJ@bG6h=4V~-sFlyR#9%ZlxfEl;w@K6n@Wv=_A7&&L!6Pv_-S-(* zv>d=~rNh->V2ipIC_hg!cntOKC7mC?U;4Lu86B0MMv8*2Y)4`L1R2S{cxawt-5*em zO-JZkHLRtG8Tx2_CiERd*-ZnoBxU=loNQom*Mvn$sZOKxM&_^o&ji ze$$b&C z4tz~Bc7=m+JZq1{fTi;wub+A+7ArH@20VPGk2%)2j2$sWkncAqC`)w{ZCxxCnVS1L zRf`G>Ri~gMzHLfoC2dbC%PkTM6Tn(@H=xedl){8XRNB$?ayb(rwRm9#5lM%JwF3?S zikgr^N^!2rN0oH6-SY+se_K(C8o6id$|&MIy!xO6=@S=I2|gyXX@Pfo+?U_(dOMvE z6x#9=ZtfL$YCg9H`-P6M5be7{mT$IE&NMJ9nxOW(;Slh#OptV%W#rx2){2 z3n{}IkkA_86q?CJLN&oy)dIV@BAeDbc+Zd4Kzv|99TU^GxW~kX;Ncp2oTEv~!+?;q z#t>z}hF4hh!3n%Nn@)e|6(^W~s2#us%gY9DW|l~_EFBbBBY5&g zQ66hz2%?}zTfGdT1?qNRo&B?;j$mM{s`FOJDtEo}>Zwu{?~^-s`1u6^DNf}X5{+^a zOf6b?*idhFRsEn{+F0wgn~z6Ym?Un*k6dK)IBNwfptcS=W#B?F9^u?24eiXvRP0U2 zSRmqer95;iZ|^YlI&KwZd6cwcybwRr+$a2NB|w+fF~7gu2l*%4z~E*2FYg2%tmXsE zC-J4FB?47>9q~NWXHR!JD{-a$Cw0QWoz*J8Efrq5n?BmeUG!yxzYFuhR1rw~c zT&?evpn0{T{x6J6Ki5lJn;4MF=*|^j6p`$ABEJ)A7W!qj)D*<8;iVD7qbvZR(xoy% zIE}=KXkTLn-VbJBW|4I^|Erq&@s=gH!MXMj+S#?FO90DCxYo2 zcPP@F2DK3%+ls#DQ|NyXZA&%BNc`rGU~nd~9jNf~ z9z?3F=ag3~)Dk0-okT*~Dwu=Z@wF0Dh>QoN1{lBC7&rp#x3w~J{vA???#A|ic9YP0-xPTH~E*V=&jFp9-1V`2_Se$U~;1-A5UT^B^ z`mO9ymVopbjj`t)&*(MI0=Vtwl36Vt?k_+3#DF-Z5`7OW?9x)bJ$}dxE~H@=-&v&uF*frcx|TLuJlPMA7j{tK;q@#-}e9A5bF7Eh$Ecz|z#m)1V9QF()|Gy&bS- z(lX`gUH*=UXWsur9jk?P?4hd&2Z2D4&nqgo3i&I<_}jztw5_Tj0*HRuLvc5}U%z46 zyv74lI-^lkej@!NHp)9xcVrDplgj0g=6kgvCGK?Jb4W$+-OaL~IwwoPOlLCB{tnq< zKmbd9ah3N~|G8!C7p*n)1yr9;ChI4oB)PwX6EdGjIm5EDqNfugPAPM)Z{ud(lSMplI3D`phaun3hEl4V>CSpp=#YxVVlsYWc5qFF3sX|=gE;Y5#6uOjS+k;~2Wz7(s%a0Vf0ua?i!v|qi&`%CY1$Ox zZ>*nd2?$tA=vz%s9ChwOg^qDI+87sZ__J&s zRN_d)Et{Z*#6g8ap-BPYgRDivYy`&B%Ps{-ifsD!+IS?we2s&>WzI#6;ZDKIJo33g z_)>JLld}mEA!foZ*wVcu-Jv#qcohZz=G=plEL3hh=kD*2arE07bavA^wqH?dX8{5V zUo&8mVd{W9deY(c*f+!AC4beC#QGF57V08G%;dV~5}E0IXk|h`!S|tp!mbDRU?m_x zXh;^B&ZHZs2%_4q50;5J0cG_cpbfWt-`RORKKG5ZB?%Lh`#StL{FV`Pah6yby!&|- z_Fcn0=QY<%gKHY5_d{ZkYbZy4U14Wh&?GvdT?R~+W(hX!>lr+R6MDHZD1=pT^7*Cn z6}{_F%V=;jb-Sq9M}1(kp(s#3H4ovm@1u5nZ(=!eFfUUylPo`3*A z-YocO+*eL8uMRwT_L5A8aV$fB?CeTA6d;&E~Z%y zn+;Q!6aTHM-Sz47azVToRp?9JYZT5Q6V|Y2DtvX@rpvK%OxQzF+U_bzRp}wmYudzZ_>&Rc@m45F@YY%7%(!`&guGC|)SjBo;|96Nej-6ClW&M#oe8`= zK%{%-!saGhU&xxt8+I1{7B7?fG+t^y*{@;$f+GGWw%a}|S3c@Nq!2);)y|U;)a6pU zq@&UB@P3A~3CjuR6V|a{ePU#AN1r`pAJ}G^;~v6=??G2xVj10C)P!hdrTw-qBU_9;vPN#{&ISp8AbaBD-oU zv@q=*AwDCwi&UrrK7)gv(w}5zvUTSJ6;+VvkxRTfsvECEN7Qe+L(6a;A0uz*rDJpm z@IqSK2LW>I;UOzXnvQe!|A^|9BuuIY%FBH*HX`b1s+; zcyPS^pP`qU)WvCWT*EK)O2_GEDQeI##aZAuCCHLfxF++D{v+KGl%nuOKx2rtiA-2k zXn3DaDS3tq1RdVU4W6=Pxl5*|#h2sMN<7~!ZU1&cjQbJsp$om)60?e(;-BKPXrb%l zSP@HP;oI^19)Jv9(s(8&q0rpkA)cADt_aN?ozHq>stc5XjFLKFa*V^Ct%g2BFitWid z%#d2y;1`oO5MXihtsgaZ3K9y79VcNzmbTAsn^|$nZ+?3zYLG|F6irK#47=fadGxML z7vm&Q6th-Xb^rVjY-xW`0Au`|F~{kSzJlKS#cV@TkzsSq?il@2Td1ZAblh=g`w{jS zEb(*?PdL4F4h0%iYST2$43oChq!xFytMW_S(i46lJ)}Gv&jGkvs@D$WP5KdC)3@Om zsC3iZHX$+CUU)j_jh@Eehqt$BO+b8){=pjA-E%-lQ)t7NYFrc$VJMeJ?BWye0hTHx z$|k?}nQhSOz4c6jUrGXS1M5|tFpVV-`L@|2YJ$==@9yc2!r@5HGfx<9<4eCJV@%jN&o zp0z}yr*`Vf%{D|whH?^xC(9b9{&AaqKP+F08t_`Qhsymvq21fT2*Nix*=Gk;U-DOb znirpKRVM}QgxFj`@V|aU7h64>Fu7ZVc3_(669+K!V<<~dlGnA_NLPQ{?W@c$G-GHP5#{d6k&#o8N} z3q1G~{B+9&Ewh2>&I(?L`FGZ;AO4E1&}Q~yk)CXAj`VG>4Rb)xj@rdp+X;t>Jld|< zB$d%L8WhC=HuHzkK3W$k!}U{mtwQE$WUu~dtVuUqJ~+m|sf`pm`o1c&iE(vkymNUE zsa*QOIdf-sY6%LcI%ab6&u*vJ_ZsBglM*NqVnC|0$CSzHSWB%6{`Wh@#pC_<-mgNR zA74)#{do;lZ7d?B1$#ti-vV2drr9?GSHe#Hl`nrnt_Z6=8P~f0H;KJ&jyt3oynHUJ zjKnO|4%@Js!sNA#zm5bL8Q(so=q@B$9^yJ6mBQB^lEp|nL)>W&6Q#4EJHb0ES;nw z(f~V6ga)_e%v`%GtIAjptx&lb-gd=5)kdtfc3mx%fU@EI8mSL%s}pH0rggkmth{Tn z2psQnN_GyH=!#@L= zY8G4Ut&SB?A`$U*>bLzp)dpyOh6BnNvKO+}!>pDeAkpT{jJ`E0f&K`PlCr~RaA8~t zpA<%SddNQvZ$5J$ewjl4{KqIxT0tY0`wBMUMj_F2SP2%T)3?UL%-Q%w=qvn8- zL0RB&N8X4NIM-(7QhzkGBvz&J4~azQyIeSH#FS zK<~CnNZ|2lQWh=VZhd$FSqh?Y2Q;?B4@UHFMUJpL2pq0bW!zyujV_)#bHBz7{W+q8 z{a>O0XGf<(Z~&OF!cwj(JVqBTuO4QUnO9;UnN32yE0NUgHAR}j8~OQlZ5w{(Y74v4 z))=chl$f}dlH+$IjHy+n4a8)6%<)vJf8qJ&68J=f)My2nl&Lpc5B!s$snwqDV589c zO7)CTHYpm=lbC%)L_ug+oDHqeJ5xWDa*w)D8>r=O>v_KLMDZPE8cayO?7{!zr{M&E9yX!?Yg%RJjwvWZ01dj zEbv@|gEu6M@C8DY%ZIPxKE4h9E3Ocup4xtS^jVhpV_aVzBxBm&ZD1t`yQLHLXd^-r zAZf0D8eZFqc}&z+^%HK|D!5G8snmsFo~!Ul`AZKOE6=K!XT`ME`KJz5e_Fr@p-8H{ zk`*P*E&dgbHpz~rRo~0V*S4@&`{5EWyqG;sWhM_3DmteP-FtKcdM41_dC^I4yi z_um;1dx7;>`Efl0RFndIeSCMB0|`Twb4_<@%!G6;C^Zy|-^oCtP^*qqP(ErmLO-Kk zqcdBAqyv3ELAM)do1cZGX>HxrgnGOz|9ZSYiZZ@uZwkLC0_K%NYI%*^;4LI?Fsdde zQQQ;8LO_>KxDr01>1)W8W1pEFD^%DM8QXKyVm1P44N@p_^__r#V>EQb(=68<0^jkHeE@G6lHF9o5t!QuusF0`L#?Q!ymtstBj`s z9|UIrKO^+Xg`OJ4;e6xdGZ)*Q;lro60k86A-Vd5%OEC{RFMyE<)G18bw!zp=SoeIb zdiux@w?+0kQ#{U4jtgO->mQw3KzU1jlF{uZ2dL{97$mT<4|{6P_s3E zEm`{qX{e+bgVn^c*`ULJ`*M)9%%#Y^zZr2rl7oU0OlGMZ)q_EDOk>*(8~492k0J%f z0hvuT!vn2GmgC?qz;sXpQ=G+I9T~4{= zpOhf2i@=)~jJde1+ZVLuVG7{G`*Pz)e*%wQIAC8-ad8;8ZSB8Wh)u=eknYx;FduW* zSy!Rtn^MCk8zDGhW{$RPrNn@sJj5zEq#8-io57DE& zy#t4c58LDMSR4SHLOQRZm%yCF)UwQL50`N16?M>4xH}?iCHp@9& z$_!m~nZ*>4k}XNX8XDpx0Bk2nALiM3kHJ#vJ#W8mSn%rB!o}&euyCT4XsM2uKgPjU zVs;2jTw6)3a`fB0c?Kv=sVAJf!2F>{UD#}5hR*zPM|4b0PRc@Ic?LELvwf=9V<8CS z_mdC7xTf~0q$E|y;fLl>%TG?j{cZ56>`y>9oQM(H?9Jyv|5G?BW$8oHd#{tdT4zjP zy#XTGh6PL0ym!K7**XLPhsALVwy(_7r(>$UU%hS4IHNC1hS8JF>z`y9+O*zK@c6v< zR&ahqMQ_Ak{$PlQO8!bATsBoyG43rxRgh_GQX|*MeZFtCnu`>!@~q3F7aAzs?q`nyXGI&4GJ;&33)wCm{1~lESGV znYIrp*S?X4niY!H%m89+(jHFT!lq_-o`FSASyK0ofjD?We9*>AI_X&XZ=s#Z4wI5@ z)$hqU)lKItDxYRb{0BRvEF2ER9kRz4%H<Ztu2kv|F_!FH*tVyKU?l@&3wrLnCq57=D0ALF{T#ICEOzoaWa4=yqf%nIo@Yfb*X6f{SBXEt6}R0uiW zYoTwm$|LgjML;j>Al9&e)OxxA28UsQDO&zlGe>R`OwCbEwzm8E(FgK1-XU>`xAZ;y z%t4o(CPtj;BL#w#*Cw9tE}0pJhK1SD>O9}gJviou=;^E{Ib_!JlDb?M?i6Vcln+_^ z$G<)*9FN6}%wPxmgGX0sO9!!AKc2G-GOLg%9$z0t8>HHb2O25y6w)s(Iu3>)z_JKA zq)SaxY}$+IUYYcvLc?pTP{_ z#PPK1{{Fcv&>Mb!vtF1h;fk#(R=|L8n%G}!_>m_f-TiX6D>>Vb2m)l~72708;qVE# zy->rBl*a}!u1RuBnXZF&@)~*yk3MO%M^Pql;|ZjC%@JSUB#00nOkQg1-^U|u*-JtL zX7N+U4nh~0xxx6cbL$KZFZz!7Y2N!>Cm{P50{mloUuu0C#3Tmj5Q4j0qZf(eqYI{9 zFK>j|mQq?*OIH556}F80wSB=zk4d!4%;VIa%K<@>ODk#F<2PV^11beHb_f0XuGXhb zlV1_~^EA!$l9o+fdH=p?YUd;w4kw8eFZml5PYYts}$NLAefR$Y_-g**0; z+e(s~RKIpZ;P47l+71RzrDfis4>1n0|FV2>cwv!?)F4DED z_k#?ZU6*PLIaO4JZDx=#b`FTD_+Jcn*pkcbJ$|R|;K@9`N8*zx^efhoIs6WzteKyi z>Xd0wVEi^eZ+h?NdK+%Kz3@(`zU=CeTsVvW=+Oc*GGDH%X<-gQ?G_(vIw1+Wz3eHC zl7P%4pTnUT${$I%tbDl?!-PLv zO1y$s{~14#jZOiL>lwQJn{JAI5^q3kKH@{W&?W_0zqkHk{-cP~V%k|Nbhi4l9+UiY ztl+4=`vD#zGcJ{-ik!ef)CXFpnzr_0wDJgW*oq@eBPQTu0LqA&?N_p(UG}SOo;pF7 zTB`@XiB8(Aw6YhMZ{$<4O&!nn!#`HGp8*8V^P*g$aX8e|`ww_0yE+z}{d)bIW$Hs&q^UmVt2UE>b}W=#PA2C!8gu)86jS^dP(H}k zO#$}T(c!)M;&Ei~JTgOW4|-P%8uiU-efwWZmPIMr`QV<=;Y)Vup4_9;HYn9$o?;GT z@0bU}Sc;DJkgkG8@4z%@JJDqa{R01;(K?l0`X_sSoDqGKYnt(ybZMa8VpbI%hDcyU@LzgTcsgkCMI{JN1@huk;Tkh#}W7mg+nXIzm)y-SWHj z1-=vG%);+DYwago)NEvf##)JvEW_!zrFr9E7xLfOZf4H>j;Sa9;GLBI8-=dF;{u=Q zy!Y(1{FIxTR%OBD<#pH0Q?l7K*wX+(x@htp^ z9q?hE4nS_jK8-`pvE1k<Ih+Q%$yuPA7kl#xp0Qm$F_gOl za>R{T?^+r^QCdTA*XrS(7XPaBlUh^@+8e3*=GYX)37Y?EM;(@MlKGi zvLj}N3~^o3iFoxH%Z5l>wR7f;Tp|UhyKgZ=We2JXF7y2)oJo&k1P}m#&-YcCR7td! zfB5R-pIx<|d&YUxHyQTVC)=X?%%#4(Jc2$S1}r_(e1_gfeeafi%QeK2daDR;vABuzt@zwwvO znC9u!*C%uQFI-295j9s`4ge3j8J7osFohQ64kY{$bL}2S8mz`YcNR83#{ksfkd4BJ zN98;E2Y*%xtMjkh)0*RKj)FYl3OzU1n8g1*qUh;p_D6d2b=0eq(ZKu9zm9G*XI{3- z5>{Q_vZS;(oU#I$2Wai<59IE!{5xy3AxA^nm(RVq@$BASu8$sWzETC9@u+wHAP^qi z>B1^vrxk(=n&X@na~`~L{aO~6G8iPydO3H(y}RME>@PXg5;HnLsjueRmSFeJ_T{L= zXg@1qA;#Y^L**lo6u}kQ6{EP>^D)tT#ZeWeRi_E3A5aK#EOZJk?;P|iZOL!{Go^*J zd`*7u3ni;_P3;ct*UuOy26x>Q7g}LARAHy<@t==$&hLZQaIC~soXp4jYJ8C8Yqt42 zw-2iBqYe%am53(>-@sw39dZQ9@kYZ7ez#2ETZSWDm+mHlkAe_e7p6}Um4n_j=m zbUSiO*$SKq{;ylyxp7U{=g8_44o451z8-S9kI_}*S2-y~)NY9ij;I9p43w*!^%6#R z&2M$8GWXlVhvrutCQ)Rq)z?LS`-TXu2d#_2a{U5U$vE|N=lQv~9~X{K@T~XLDZu~y zDPU%jqF-u?0MfUwTCnjdRyMpo3l{A`#z;WtN{pfGPTS;b-IiMnu{$&33|0MxUpmKa zS%>>90{dl2Pct_s?zVIvgpL^SgddP9yJ#9YvtuRmv;W~wOx_48I7+NjJ24KPLKPh-7J(lw9woaog5lIPePEMY0eoh-W zn>DklHllMYbui|FEya^9T1PtUo8SLr^FC3@aXK^WU02aF%%jxkmR!2e7 z!K19UgnOfGo#s!|NjRTx?S5x#SXPHz1+LJ|tR|Gr_ql`Gv?&{+2NyW)Rx;nv{&k6r z?aYk`Okevu}*dc2caw4$H|RrQV?-Ku>R;e3^NhoT?B? z_hNvTMhGig&d;${neYHb3YMX?hA)W|I(@PRS1&fsUC;@pwCe4_6bYdWq1Hj$iZ?G+ zE)SHH$gV0(`J)d}a`Na~b}Lkl-Wc7=_hm~W2)kAmjb?}T2&YR)V~aYp7dxwzog z5c9o+xWm$VWT|Jz(NYcy9DLJmxz*MV8Xy{)x9SNWrnQB!WQg>VWP9w@m5yw2AkK?$ zZ)O>(^gHI-ja)(AGM@4tAzOyQ;T^Sivfy^Ys>FulGFAq%ca1rFb$FsNdm+Jg#s`Et`sUC|4 z@#BI&e$@L57`d1II_LI-UcW#nmdbilY(JO?g+ftHpab2)qh(i=R|_)i;CDq2IzlShq4eiy4{?P?58ehM@z(PJ6EmiF^euWYG;2fQUPf^lP;%kY+FL_MgAE zxs5Jh_j3{n1WMDwd;mANBq%@6zZsj1=xMEe(DL9`Y8XFkg~s$y43Wb zibsR+t=i8!T3o$~7T;o%?Q13hWX>WDVL*F{{{FKoTPm$@7SOA#U0KR>{aUEA$L-}C zn4cAzm22y5Hl_~D9@~ouO~j_Jq~@mjJ~da>;>yYs7y?J8+?>2DQ|N1~lnq(9+8vieoz`A%d>Tkn{u9tg&qd5;HNR8Y*D+5?!%M`Dc6!1&x{j%n zRb;2ISR-^1z@dm>Nk;vn>>7k@r~--NT5pt|@qr|UJ|%q*b%xz`F>ZL2rY?!FH&CF5 zPnjc_9jYnV@((s@x`n*DZ8vT)rKBVxnRhdobtm8&Y~RJ$y1|5Q)Zc$4pC34%%sJDj z;thMwDQ^rh(n9xNlD(7HgX?!%hPC~ZCEWEkLvjpuO#p8;w!Y8^tc=u?i@l)e`<-#| znZW4=#!wZ#%6jrfvS{PAz`>txXr7th^Hq47kk z%B?~bds#fCcU-dhre6`DEPn5)btgyF*d791Ww2?JPY)huQH>%(zZZ!Jo;8KLw<~@qy%0M1BT;YT@x~4p_ zYb)~Kno_lB!CPMA0AmC?w!2$zO`LG

XkNud$|rS*`LI7vgK=*tU3ARJEPi<$PE2 zkbqK2f*TXcOM%kXdH$AP?ntSC+^e3Pu)yWDMoCAFoDl#h`;4E_ySw$-TN(L#jXW2M zLJcR!$_i*{24f->L zXLmEGfxbSX%r=rss0;hd3Z+p>8pyvIw~4fe|L`{9(22j)TjGSZYlydIrA$^#-H##! zKw?=COpSJXtzuA_z7)|NcT!?v4ge@nfm^GdC?_;HWv#|k%256N8<(U@RFh;TW9h>$ z8%cFeG!#SewpB6DjCq03GnJPn;ZP31ePLY9e3*7`iqblZ6_KCtg<;hMBlp>5%>?*t zR%HXM+@wo%8y5Zaaml!k)+2^pH)G{|XPP#{B_*IhOPdVC4KQq__-{<)L>HAhFA3x~BeO7aBx%m=Ov!p__NXxq6!xg=-`35LlsPAreal8j2! z)JY`u?R*O=u0~hRq#vMeCnN$1EmlroWru%T^F`b~)!j>Lcor#;Nf7Z4_Mh#J zAiQ`t>c_)ULz=Rw_`xf^#n_MFg4ouD5%c`Q-cZGdvE!(^o^3plHVZ5y>j9o7GdngzJ7JIT3T?Oa*n%^=_i<~@wVI`;b#(=GNDZlg@jBY_em;M(O$EMVp|_(+efw%YwF(-egT9^e`(0zPk2 z)rzQEB>{u@bLF#3(5e#1iN?_O@&MDM@({0QNMy}BA9Q?X)QM~Effb(bI1mQuHM++= zpOSM8Ayy~Sviz$1es?WIw}pT5t*el>BxBlhqA{!2}=>3v0rP}Z8B7N)p-Fmp>Te1 z@=#2-sUQphs@vDm9j1vutd@Jz#e_u7V3>y&6p_8GwvjhE9_KC%WDDa|?98f}uPKku z7W_(AfmG>*RZ!@Y{-b(&{F2h|&XTd00s_x}&knYNZg!pGxGl`@p*^0xv#sy&9Q-&L z$cRq)Y-WA`RUAeMF>QT+x^EyG4%34bjqtdeSXrLP2t*=`JxsAr zI5>o@WdMWJJV6d~Ds?)-nHFj2(%p?I6e_;`{85{Vu(4T#rCq9q7AGe(^tEjEyb6|% z%HpNCkIR$S+Zg!#`lMU)G;b4gY!+_PPorYNdIYVTx=CwJJ1^x?9pDdng51JMfc#A~ ztU+y$(`ZhLPa!5vB~OXTe1OM8&q^yyvFSlk1D!9PrU!f7ZDpOss3@Ki_r2U5M_zll zW#-EPF-mq+?<9Bd%WMQO?vDJG=SGw6%pdTr;2yE`t7ry-XzBbrv4(iGZv=XlHJ6nUQZ*@2rQ>ZE9j|2fX;CfHEo znYXQvJ1ZqzS*jn*n{y znWiIF=a9pG0<)X0J%7lA6CjV3l)Z8nQ*-+l7sO=!XKvWzY`8VB3Glyd^XOw92C}XI zqhe7b7&C@o(t>+2vJz97j4$#xf1@HH?7jnU5)P}6{SO`#J+j`swAXc^Tz3ON4Q-!B zpnY#gt0^?Xv|)G8TW!t@Bb@-UH<2?3`eV+<0w*vYO8&+H^4o82oTI5=1zsgi7Lg}H za$krtLpd>|Y=;m5_pwU@2siq4nYp?!8piY8#ejxN7$1Rgt8GaYHay#$w)x!T;(zSo z%y_oCY>Dc%h-z&jvWns5?mCHGcTrL5opxrJ5R?_m^0c;V-=F6)@40z7{TK{UW@jL` zx)Tu+&R@OmjMy~2CXqZc)bTOFYyVtBwC

v16tv1~dCNXheHF>5(*JP`az`0m`!I z_=tom@xE%kP0l2etoJ*PUyJ@Nh47&N@+EtKD zN#V+_23(2ktAZ$1PY=BXc`($$;NGI#k&h}^qS|yu{p0fTalsG8neqt-nhjU}G zJ1^=){o2iNG>2mMX}1q6AsnT*q)LEw7z(I>uIY2+JD;5E0zf!sS+-np~89Q&@_e2!dhF^#$7CCplW%$EQCwuzrz+UT?aR^}mTv2vU`f z0gZae)cdEbd)OtpAFvN<-%;leB67z;0x~l7$QxYDtmjuav|#@04L^0#?|$n=^Zar_ z>fFs;U39S$es41<<7My7yLsMee?eKkI53VS5W z^aBJ-zpCbF=;Pj$MEbOI{&6}rHFUtQapLJj4?x zK`J&4lRQa{5(s7n_;caJKKePQG$hqhdH9~DuYG%A95G!&{%8k*7v6npZVKj*_k_B6 z4u_S85!f0%D<=7a48-pjSn1Ljr>PB>gtFC5PcBhEpYKRX7$B4WMn&MAdcKyV=!@EJ?tCpcTEu-RS_<#%Kj&=M8J1y5R7U8;or(fOfn zVSm10NoS=aGs|3|0}k=(S};dm1K3P2zMMI!6w<7ctYMQn^XpM=(yc4KPlP7dkn&zv z%R`;nGxt8s3JSq?A2N?d|9>G)i`!4N6Ak5*4?ycQUxD2Yvw3K}7=Td}!>HZn%&

e6V5FRup@?R_P~$5#0ato4?dx|UT+YZe!uO{R^{ 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
ccgGPtth9g(3C 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%0DofVu@{9+M?15 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_blue_down.9.png b/src/res/drawable-hdpi/list_blue_down.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b88eebf67ab0a5e65237187408873878ef7130cb GIT binary patch literal 4361 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_blue_single.9.png b/src/res/drawable-hdpi/list_blue_single.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e7206fc2e942f9cdb0645af8855bb2bbd24206 GIT binary patch literal 4618 zcmZ8jcTf}Dv%NHFQUnp{9YwlW=v5>r0)liy5$Op*2qn~rAS%80fD{p=2!iw?h=8F5 z1*9Ve0)*Zo{l_=2eDmHPcXwy@&fUG|oSEI%hWa`Tbewbm00v#i9U}n98qQ)@nsaCN zdrK1UnWOc9Sa<q)VzZBnKu_&0iapsj%ljP^grqo7p0dIRV&(F|(+5hQFdSy~uVU3u5v$beIm3 z{c0}vYMqnDn^%^RCXeOU_$G^Lg8bK4R}V)In+REiqkhx?6Z!&+X#7H+D^M^BS62MR z7i$3d+S80CXM@aA@-r`B+nuO70ob5G`2{0CsvVJ4AOJb=7?u)d>H2;8qQOwq4DiQ; zSwR*8Jz1O)=$3laeGznD1|N+-J*5Ll0Kiaznu4H&0j%uks#1Yp#fg*b;8z}ZF%5_& z1L;?Fgvr$#fvw4NBMI`hc92`DE+|FWR!)Yt_d}7SwnAB|nI$cwu7x2rI z11($4id>nY*4bhkkMKGO8EC^M_odz+lDk-!Jjm(0wJ|#cOGa_h#{*`k8`n`J01{jGW7WmUKwoOX9{`#bFF$^t#IE;^27o)c&#!&d zpg#ZQVrd&=))$_pHg`0B!wm|ueZH0p}|Mvd7$j*8H>eQnMu+I7i(-u$L% z>`i+f^V>dbTx}S;bsAyvNHpsTjdd7vJ1jIVPRCr&TDzUOO>@l=Pg4q_ zgj?E!CstMaD|$Xuhg?3=0eZ$-UL}sDj`5D!3(xw<7{67{ZYYdp-Rl?VXXp=*q>xmT ztQ>JIb1VxkyFKnd-ZK7V)pPaIDsg<>+ap^&TOxZ`5w1w`rfs;@@US7gVZwW0S@nlK z5w%3S`+b*jX$q&a3*X7#WnW$&S;z6+mbpQ5D~Cf$_np153}DEL~?iEk0>OLEI_Y`|6j zK=$@_OH7vjD(zW`Q5ep0!`QWqHBB5vhZkyRb>54-71@#OdLq4hePA9<#Dd>9I*Pv*cPyDXaXG#9%HF=o{_cJp zmL=6EmE9O#^rpx?#~+(K&$-qxRP$puKeI7&vTO|gbE;RRGw8$N1F1}|9%zTky2j21 z$$aiv@1N|V%%b+~ID)jbkF|yMVKcA6rz}y-hzz`Y;;YqcGd93hQB}p^pnr)%^_wbr zj(<)>%exlA8I=~H;E~|;VCo~xq0#~NIQDPrZ`9VMO?@g`vM*%wWX;bxpMRooqu`@V zr!1ttNfk}icuxAfDx2ncS_TU~&qPEU`xe)}z1*aeLWfaj@gVY zj;dFhaQ*D*<5cPjGlJQ#WY(eUO6s2bMf}y?Ol3i`3e&E>#((|wRps>`FLDAbLoN%S z@hAmpUp_yXSI@q%)Q`pZDqGyNhzpbtPh&}~Qk#FluW2ZK*d@tuSh+V|R?V1tG0;qt4E$_*JW=}EsA z_p`ce#nK8 zR;D4>*pqEaJxbq~|NVHkZeh+$-)1;)7X=?5pT1Z7eU%6y77*P_NfxaY_nKWbh6i76 zFqCm^M$dEE!0$~X-}<}m#`IP9eea{VX?Jtgs`qp0#Mawe`FsA^AyBO8aoLC3mNC)s zk=7~SfNjPXJZwtS>q#q3HR66|Zq3?3yY544p;NJ(Pq-Rd7lNnibbJjuF|h%K0n~fi z>qJ*10ybIE+FC^mH@X$g3sLl#&qO1}GgmWwYdkEkF}7>Wf4MUAE->Ja;o{r=j>(R` zne>p_T^b?;B|fCs>Rl?C56@M3+q}LQm7mRH&7;#&dm6kh`^Vn9>t?JOCO7-4%H}>k zH1SW-(;`f^zM9I<^hp#+?8>tzabS?2%-ZCyK1Ifj@)@bRKl(Q2sv$A7Y?n}3(HwpER^{Y5)89!d8K44l7sXnQ6XoJuGwQaK<=&)c~XQYk5oFtw8 zi1uG=D@1m+A)`9QArl%;P*9XGP@!aA40rR6@8}$2; z1Fhw#;%(3M55*OVT|!-aP5mg9&38v-{S!g!b?Xf?UCn&ySC7tWGF}OY}@3whZsEoz+VIa^a}v?PtW`k0NyeHEZYL0m<9klBEhEfE&$ZG zb?<0A@*7{7YDPRY<2g4=idtnB$)xF~rXQmcaOHH3Lx(1WhQ8#zqpi`AgU-#3T8vxN z(s>=H{)!x@u0e4DW_$Z-r{gCg6agD}yTQ|$;TJe?ywRmNAY{QglYaPH39~&tqd=M# zs~G`=4@pLDWt|wb*WV^uMNnQ94h8633ZOv^LKy)i51>&5%*g+?{EI++knAjtPKOz! z*C!bzz`U_zOT3LjO2GK1aD?t&BDb(YDQnAfTjZd(Ky4zvURYYRJ_T=IatDZ7ilP$m zb_t{ea;)}sH+haLfvMOCSdaj2_Czgq51zX9c(Az$UI#3RsRR!x)Keud$M28 zwGA^gSh`hmfx42<1oKx3%;@`8xG}2#Lqgl*Ng@mSKDJqk?5z43F|%(n=KHUnTLOkS zvbG=s;?UQvN?8n9YYBcq0#_ z$mGT4@R4sA0o#-Ur4-1bJ^S|mibLLJEsDIY@T~Sf&zwocL%ZIV8=PG^Q%+sjLVc6^ zj0kYDjqyttSxlLx2j!lF_0HVr`eZB%vRDV28p?>qnh(JZ9v^!mPGzvLGZi{kEbi?w zCFWnK!pX{sEHWmpoc`H6Zj=sLPL$@m{QitSt4MsG5@}r&HRRAAPC1pYcC=K12;6qF zIarG}P|h)W<9iO><62hlg}5DZv^^7?{PcFui8kewMuLvo@t4|=%@c#*{r3B#h(LR{ zfI|@k6EK!cjaY9AAg$V*u0+hBRC+qZ*r3HiQla8Hg%hR;Zo1YFwk#7ebyYF=F)4L+ zh2s(?5s^DA{fS{pUtq z_bVu+olH7rcp$V z1gY$)&*%S?DsNx&8&rX8wF;9O0u|D#s#ZB}`PA6OHqP^uQ$bPpd`~8S->iv;7ki8p zNpq1G$E1yHjrZ;xI1J1v2uI1yJ+tX-Ij@Yzj5>?!n$ zimI5fRj@SI$SBFL`@mAuSFdK=6UY_J`i+xU?@>-!o8eY{#ysO*vva@~mNqw?K3D1XSXe#hhr)|k9R8hMKfw-q*DuBL{pm;5qpR1+QK-mB4( zCN(8HmE#156yADQ;#?M^A8?!}Aa5mJ|6qWR3AalaDU$TptlN>Wf2QeNOSzf`R_RAZ zUSRZ`1F#C8JG;D|vLO$lxE()9yy#Tw(?^5DmTqDW!$l3FBJ0iW`Mg(9qB{0|BFFX= z1PfI35@y*gEaK69EQVic$w}{W*(vKT{M2PC82j>Arux1&g(Ks`b*-uhc3tRm=TFSFpdeXq38_bYn>_O6F*AuDFn+#Xc4mF zT@lp!n46c_FgZZoVfTSZSWX&vn!bgSDwJrr?Sc!R&^POW_jw@46d7;fSDN2KqqVL@ zS2`U>PpuUXujnY!Fwe=|#CwIcrvXk+(dEHU&JnPQL5lPr{gU$2;q{!Cl=P~y#;22t zSBEP@8iqxvy^xu`(6PP?<=*X0lud|&ee zzmgY6y%SrW@d~)?LGm`Xvz6x~mivSWfYVb7Ag{b5p^seHJ{z|{S6ly1xu$LCe*k&= B+)@Al literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_blue_up.9.png b/src/res/drawable-hdpi/list_blue_up.9.png new file mode 100644 index 0000000000000000000000000000000000000000..632e88c844ee1d377841adb49c0a80ffe3957a2d GIT binary patch literal 3301 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_green_down.9.png b/src/res/drawable-hdpi/list_green_down.9.png new file mode 100644 index 0000000000000000000000000000000000000000..64a39d9516f8c9df1034a1830235a64db4c663ea GIT binary patch literal 4488 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 Ee?o7YP5=M^ literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_green_middle.9.png b/src/res/drawable-hdpi/list_green_middle.9.png new file mode 100644 index 0000000000000000000000000000000000000000..897325a4f62defad10d745c527cf39b6acf2c833 GIT binary patch literal 3179 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 Ofr_H$lTvxh*Z%`qbR0MU literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_green_up.9.png b/src/res/drawable-hdpi/list_green_up.9.png new file mode 100644 index 0000000000000000000000000000000000000000..141f9e1678a0b34a5343614e38d3fda52ed47cfb GIT binary patch literal 3351 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_red_down.9.png b/src/res/drawable-hdpi/list_red_down.9.png new file mode 100644 index 0000000000000000000000000000000000000000..42243095f3c249d529d55523ff1aba2823ff61f9 GIT binary patch literal 4307 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_red_up.9.png b/src/res/drawable-hdpi/list_red_up.9.png new file mode 100644 index 0000000000000000000000000000000000000000..46b475797d7636ee9ac20ffdab422853612ea876 GIT binary patch literal 3277 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 UYW(2rmj(cxy9Rfv)$POo2Q$;Ge*gdg literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_white_up.9.png b/src/res/drawable-hdpi/list_white_up.9.png new file mode 100644 index 0000000000000000000000000000000000000000..e23cd5cb09c271ccd56716f3d61d11892f70151a GIT binary patch literal 3220 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_yellow_middle.9.png b/src/res/drawable-hdpi/list_yellow_middle.9.png new file mode 100644 index 0000000000000000000000000000000000000000..b6549b2945d0d92247366118297633d69031cbe9 GIT binary patch literal 3150 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 XsAQrV2j1U2(LhB}^J$5^Meu(B#^L)R literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/list_yellow_up.9.png b/src/res/drawable-hdpi/list_yellow_up.9.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae791cecb795142f46ceb5fb2352ac0af82ee2a GIT binary patch literal 3335 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/menu_delete.png b/src/res/drawable-hdpi/menu_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..ccdfc4ba5468ad2a5c865f2e2c9bd1f210c69b67 GIT binary patch literal 3426 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/menu_top.png b/src/res/drawable-hdpi/menu_top.png new file mode 100644 index 0000000000000000000000000000000000000000..6568ddf4b1e6e5cd6da89e6b94fd8ac55f232d5c GIT binary patch literal 2381 zcmV-T39|NyP)Px;2T4RhRCr$PTWgRURTchD@AmB^T2?8dMM!sN#bkPRjrn0zN&}@oC`7@c$ZjGJ zvlUD#6c8Sw5PlpCM6Fmlt3&kVs?5KlI--XF%}dM%1Gw+ zZXc_c1ZSpi&-C=nX4gvk&s6n2kMDea?&;h2o*|sz7oFho<0JtmGvNP#fxK;e8O%M* z_?!m5XL`~9X{%t5`zeq&+s|UswgWKU3z~7KQV!0nOy#1Cc){tanJ7L*9`fYJZz<5jndW+-9?ql~|OWXtC#z-bGugVntCG~k$~#+-mXr{ewX6U25VoEZTeV5T!DU#=BM&eT^C(Nz%{ru9y-w6Got zV@^QM6kCXJQ8iEv+Bws`BjJ>&d%2de2H-0cZ;g!^PcEosU`z?fTlxwHMT-{UGN&L_ z#V|G&*D@XfSoOp=Ii8#!r#NN=;C&hp{_dSf{@%mTFVH}bM&~UyI7Ru51hLl0 z1o1NfUsnh`?s)QRifNMGo!en#c$hCHU=e`H=`DqtwA1lQvzxQ=uC{B6$3VEG+7^RX zWEKz=el%)0(nFkJ}Xf>rE|qC34vEc?M1UJaR%gVePO`#BLeh#Kp8kpz##yKm~n^* zA30hVqN;7=IQvWadNz}e=WP9l#PrQ*`a=>^k5epdZ8!s5Q``Z@c6KAU?0j?!}4xoAg!QoDg-Jl3mA9A$Sid{ zd2bSIb>9N6CBl8VaDT4)I>Mm2S+De)B#v4sle5I51Sr?{0l2r*^TX9(qN^?ep_RNT z<}u+H3X6vWqPd-g(o>1NwLr+VjOPG8OJV9j0Ijz(;TPmF{X_(W!ZqgG+sxE+JPM*~ z2@im&2!2-^&^yhOeT{OQn1Il*Yl}<42n%EN^#(}maSBKN*eHM`^0}!Krcw~>kCEMK zXtK9s0B;xYi6BF>0k<6-W}4h}t=21uOFE0*XS2KK1N8T6B^SBh+e zG~&Nu0z%_`mOfwkISc#~2znfEXlElJYRTp;@plHg6i@E9j3?vX0*T$HB4DH@Sb8sk zHYz*~1{(Kt4)~GRXJS-kg03aPbw|ZT#EUWoe_a}TO;3Sx1Foqr0MP~okb&?x+bR0H zngv1orE3sxq_tVD*AfEWeNy@& z2CY?OLf;V3)0N^K9olm32_4{IU%B1kfY0n2^j{cP1RO1liwX2&1+d-RPTkpkrT#`i zKMk~>W(mKt3O2rN9_P1Z8Sq|BF!d`yv_|3ZZ$4A^jF|88IDjL2knQ5N@^J>1Wjz@= zCU2D7P`>2^jMM~EzfvPwtpKzuXw$ko_a7-F1-oa8@$oi|U#Xn8+?#3OgQu3SQ6XTY zCfLSR%)F}FITK!xLv7tN|MAXX5)xcfp9P|qDhS}nCvS=i8GJ2k zd~>!i^!%~WTD!BuT6=fgsc*UUep_4=Ft(K6D-E}qNeQeMUDFv5>E)?9(RD538h{^; zWCG~9c3JA4b`TZwyIRh*#dAa+tfT?flS@s2YpKuRn0Z0A=tsU0@}_Y;6F(T8 zgS=f6e)qIj@pkoC-Zsu-=IYIsrn{0Z1@e}$mcij+XywJ&?8F>FmkZ`><6Fdhzv4;! zRueMJgi<(`GmUeJcw3d+Q;sLU(oDcjWk6gfMz}#zs|g`e*enq?HmY`Qf1UB<90G=2 zON7CnTdo^7y_z8;aSh0u`bs9cI{M(TF3VYO0m)h7Rsxn)$rUuhdD9CrS5H6fxRQXlet>WxlTF!`odjUs z61SCggCAhRl59afnM60OOoV`(ZCp*vD-{Osb37SoP)_SOPA@-Y;^~1lyhyam*7n4<(^!qsph+4#X>2yO8{4*R+qTo#wx;34PW#XMo^!tcx@KlS+WXma z@3j~1wIUSdB~cIw5di=IinNrNG5`Rv2R^QZhXwz-7-Tbm8w3X_Ehhi~3G1IP1RygT z9{@mnws*3ycOa7%6(w`{X>Vp}V+sJcZ{(=BX(m143hX|aqN$6lT{ooJ z1OO-~tKrAdwF=P_0fxcom_j2V;fU(kI2hSdYQurch*CM>2l=$^=E9NT+EHq{+*hPq zWi39Qpv%j*)wgb7Ht>DMV;0RH1Cu7RQ^gbV=w86u2R05Wb!fG7#pG!&UER6grM z-(H2jLrA+61fYL1WjgKq0y}nl${eBF?e*RP`N5z~gNPv>9l9C95k+=d7A2Mx5K49i z82})BnIHJWEf^0xIodxl1KNP@M+*N~U)xg%kl*b7>5hhk2B6E&f;RMzk5`}^#vtll z`m8H-02}H6i`^GJ_DzI*ZNxdxmnaYJcOjD80>yDYVj@H&q)Td}f*#hxD1pE1`}TWL zzK`I$e>Od@0gjnM88!VyK_8BWcCNL`vA{`a5jMLgAmyL25WkODy7>c+23-A1TpeoDF>LReqU}#Q$G-r+)x13p$h%-t#B=qHvPU=5Rg%*nhUM~A>TWu zXhNg}0J=HH7mp_ZAgS*qPKW^lFr8L>2mo~d#@8)R#*-a|2LQzK1L*68;gAQgtNT&2 z2Z+1-@gNOh#e|Tl`uWgBV2}KX5DV~Ag$Y#qdDoy@>Y)hpF*5hjn+MpqQGk1xx&h}7 zc(4Zexr6xKp$O2zL@2Aj2z8(ns??v)ALU)w4Nty zCgJyQEi9Y={@cYF;1d~Z>_5+jY8Jh2s2d$7ZV;hKNHd0Oe5}c-9>-}+tohXy=Tm>K zAqbudGRhz80{%xZ`k+l&lccCne4US z;Azmk8!}2LO3;{;5iNl=ffqp;ej5QxhHNR!Vp_(yD(mW(PZ{RvXzBK9n)HwK-Z%*p zm?^v|>M6b{z)Dp$CpE!kk4hxfDmApKAL>4(5^7C~hZP7*xK+y)#A;m?T(vXGZpv|r zvr76!z4{-4uf`~ip&=6ap;ASv#%-enG32QL!C2Pr^^}XG`?KOy28AD za%J(7RS|WnG^;jCFv~e{oQ6OhZP>f!Si&&oJ zZ0lUZ-u3Ry_n43p@$3raYHN&o1w!7E|*l~0VbPp`7qFK+kA{!bkG7Aq#8X6= z#4F#Nzj^<3cA0Xuap*oT-sc#q7_JyP)iD2LUf`5-$B9?^J$@21%{2{A#kMT6%r4J! zGUb@?s&k=b@u4WID{HG}-F9hvihsnX>P?P0>(ej2A%2kX{q>XPf#cL+PFYsj;9WeB z<%jDJtsieaBnnO0G`TCRw&R<_I(t2nUIx4Z{HCunr%(c;0+4y0d11Y!y%f9ry_CKy zz8Su7@40W^UMD}|p8NJaZgFqqVGJM!AdVq=0tf?|psb-tp);UM;5cDoV7g#gkOgo= zkP%R{NPi~T_v77udNF3-GH1-3$C-f7!O{No$~r|OOR|Cy8#)WWi|%V*`XYNe)e0ZJ zCutMjPHIVzf%oErO-KKwlKD)jS;g7W`H69*`bg`|yeIZ1t|GeQ+oo0PPgnD5D;s4S zu371iJ1O;UVj|76m4$3<@b+MJ5>e+S2btazV?BwhsWfaTQW`aQhvhzjF%C(B9xUwwe4DLGkI_~XKJyP0B?7L=v z&R!^y0&%^2;_DUL>zmfv-L-D^DEh>^a4Dly@Z6Z$^prbI+%2ycd?qa>8&f|N4>Xn4 zZmm4FZex{$7D`G)83HvpQYw;vP1@DoYj+sq7^ax0fvnP&b=3Xn@ly1w9jeP~pX(*s zPYyKX^_RULJZv{Mc4XQnF3+XTi_h(G~~S0nQE=xye;4=di2ck)0DzYmxRqO`qbHX;=A20>83D}8|PKx1@|ZpI=6DRx7n)e>uW@?RpyEz zk>YhY&hoe4$hypQYjMz~M;#PC9{9Xl>g{!?_`6_cXlrPCH^Z;(0sdUdgJFTU&!w8F z$Tpw9pa=9jx+sVE2eD*t+h1Q0+o7?`7-yVDZhj6e|IN!$VA5fkNm*`=ydeKl#+JvE z?0bf_o|0aVx#(=JAfEG;Y@7bmue%*!oZfY}!#%~5(I$1<_Zt3Meo0@4kA0~+9s6_B zr^!nVzFOydx$|%Hphdq|tNvxD)#p`ay*!T|(CEddHanVaqIT-ehiBKvOFTEkE7>hQ z&p7wG_uh?D&+O`CtJmYwr|yTE(s5-WVr4xdEn!6eID9ZnYJ+KrO&Ap%Y=Fr+CVU3j zQT*{<*buHCPO#{^gFk|Ch?f>7Y>A~v>akL0%3ERUCYtt;0bw$XGRb~o_Y zZu-mCKS#VAXV*WwaWSlB8pqmu#|*x3lL8ODv*Yd@1$+xoU4Ur+JDVAMd3KJvSpCQc z-vXcf`#A!oJNC8xx4>xwkmc;ZJz*ZbyR~ol z|8)5-Up>8x=l*9J9sRj+3aE5d8ng>;yoYyqKL4HWf#)CQTy^(lEW{fXU*BH*|6&3j zcy|^n5~P9%;)hwK2TW*_l{o(&Cd{=!&{f3twQ-0#l==XLmQYFZ66LnjpSzbp-v0ux z{ao|NU!rjO&8PbMHjl}mfbnniH!U9pN1u8XW~BRDef8c|m@SgOUJ-q_qzwD~yfp*qylo&zS`dc|jq}aQSLrjP* zC!|#$UK&88w|~)Nt_L1weSF(>t9x>;uY27ZGpPvU=&Gb0HoaMv6xSej8^8|4J32LFclC<5aLb_nLoQi3LMY zhG>T%j3=nD0F!5*`M<6}->-GL{y9!)xFcA+YYN)Bq#xZQx(_qvonf?UxSLch2}l
>ZVDwitaE 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�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%0A_#trX&}SgOfFQUml39{ezh%g|F$RNFw0xo} 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/new_note_pressed.png b/src/res/drawable-hdpi/new_note_pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..c7489362c9809fff748149c72fd927b27c9871d3 GIT binary patch literal 90126 zcmYhi1z4Lw(=HsKP#lT|DMgCA7I$l)1%d~6_d;<(i?w)hhvE|4y=aRCcP)|@X`m1s z`se-5_nz}#SCYr~*`1l4x#ynEC+)XtMEJD$004mKwYoAG0KnKr?^ogCpnrWWbGgwQ zJWq9F9{_-W{6Aj|Kz1$=0Kk9aq@<*+?db8&!^hFXlkv5Z5~HWLhrN@l9RT3Jny35T zDCLSucI(QH#6WTRv?0Sa9Kg&{gZrJ-_$%obfK>!3nf!2M488#c<+EIM{h<#F`09Bv zKMOh99TYytKw|Yx#s9omFK-D6M4p`7E!}k^auN4a0dNxNGcva1gRjm232>yebAj(A+33!{kDc0Vh5*K7 zz&0}(f&e244EWBc_niXp9SEq`ZL-A&qyhl00l|vQfGQ%u@x^OdY`}75$~rY*`73=T zE+8HQkj0_)5>vhlV5uJt=E3YA02J29GxI&^uf>2Gw+g9YLVK_QehEfNB=VL3XqF<+ z1b|T-6QIOEK8eMsiB%{t+qYe5;ThSkjsfT&Pn*opm=&gIPn)KF|MztJC)3XX*9Ju^ zYEDvnyglaJj2sqnbp)2?6d?dWdo%OxQCuzwaj>^@V2^M`UJQSIbUF24mSsBIdhCwF zd;%bS3rDV6?C&pPd5&V#`}Vn1ngCV}0FGNXX2NTDg%JGdz?;|r@q2lO{37k|($DGf z2?$PDt&4gDc4KA#3GaAp$A(^_uRg8?o&vnG<+EV@#UCHMtla%-!3l`*CyIjZR|uBJ z(a5le1kRbCA`PZIl%LOxKDBEzzZnha04FOm{Yd*s_B%}I>_z$mUdnqSKuwfZ|J&B5 zE#t2Jp?@$iV~LGs{Q&Zz=e%*W1jztW2N9uwD*zy+?I4@!?;1WZ?;(d(C7e$rBp zMO*kRdxy07o1i!mVw=n~{K%6U#}b%70PK#!d!q0im)wd;GUl0e!ZPy|E_GJI6J{%Q zkuT5^#@{g%I?Ti0y-P4F6`hmK)LH)WdQ(Wmo66rNt$k+{`h5SnTTL)Eyio^h9@AI8 zqv8ea=aE96nRg;2X3+GnE;F>v3^LHxujMluzkJ^TLOv(hKxYJr?c-LgOyi>G(1B#PQRH+tnqN!Oomg~WY{84D#p#x;*19dP}Sl%!^)X{1!add$*H)`@F~ z_c20nfSoy|LaUiIknCp2-&(RE$w;+^?GF&Re2eB0Ed!l&i^hl;rkfa}T!>TEm!;+?GU=r1j?QA8g{)vY;bTxf!5%7JY({8^f1*mD_K z-}MBRgy^yyGD$K$^o_VKxq>N^$H>wo(+tu=(-2j9`ab${3jtLGde!_8Pd<+)4<+d)dF6}ODb}ge8QHn! z3qO>dvpEX*jfWaT5&zzpQA4?16r-pQk&DQg7q0|FaK(~nTm{8#PA8IVez{~iwa=VJ z>{L7(ckE0aax9*CUCiFj_9xn5SJa z+rD$AdG6iB#CM+cn&p}w#|aV(xi0xuy(`^o_wkXXD!Id;Sh3jA^wsp>aqRRr=~p$G z2C@bL1}KB2n%9e_M?6Pvi-xY+bcQ*EIg&Z!trf5w*pOe2+ZM%7ibT#?PL!_us^Ibc zG5&G(G0us^rPU?trQ0R^`2;=L^F^t5Qo-Kud?)-|J-d%ec0>j%hbjku8#>TA6#3+x zi&B?qB#o10_+?P*x|M$}cP|JWPur*c(>dERhbqqL%2|i4xXo`&$P9;6-@W0>q5EMr zD1%hEIK49Z={2#NSDsToaGr$VH}^9)Hoxm(&}zzM%U=|5`@S}0vfVQtWGN{tV|P3C z8%uUX7PBC*AiB4#mw8L3mnC#DG%NJ!eg2))?f66Db>B|FU#hdW*p?XIF!nKe!fC^s zuw1ZSJjr@e`cxD<9=i*NpHP-kkr0o__=R_hM?dvnx*HqebqAj88Okx-JW2@Nt-u7E zCd1;hgeW-f7HOzQ*^TD!iB{a0Z8g`J_7_exS=2Wn6r5Z_ReXm!&ARWr-d*u5*6bPI zIrJo)C053DNUb@ydiy!lIJ<&fZH{x=q3u=e;r`LrDrXsF@5o=`oqXCGS{{=5wCjV3 zaLpFZ-OJWXe`iy>zy7s@`r!A}c>a57V^QOzVDZRIvW!N#{f~@_+WbJR{c`s=&&mHr zDIgakB=# z;x~N!Ub*bO; z37UaBZT+22XG6vv#~afhw0|0b_5V5ttp7~_f1E8XRpS0&D3Vs0`eWR^_5#vjLur*} ztB-WfSTHdN6^-+2>osTkKXSQ`Cd}6<3`1-2Ay(Z`;36q~NZN@2F^^VSZsA zhs@c{-iMUka@+F!yti^P^I7WwSDN=(E@nDrJq}9nd^zfOe>B@Hu6~?vA`;C`yFD+M zudLTt+caP@wK8gH(Zk_uVe3q`4_{<6ddXOW> zbZzcz8}#k0ov3TS%Mons>+XA39}b`1k{pILKQ`F)yKP@v_FKXSjY*Ki zc+vTfssHApcV^Wl)D~D&S>hA(Uc8_qqV4%>JC(9i-dIi!9}6}37jWcLjo5nld8Yw4 zx?esexQT`L)dp0adn2nW>m)~6MqhMK1<0J0-NUBVLXhpq&aKg&7g-$l@{ii*Gq*OQ z<t8awcPfUMCr7Kbt1aT?<#L|vp%BbMsTOIpjlC_3C<%ZgMYq*?sJ51U;#Q!+uw z7G`^tp~wg@Y$Arz<)j5JbJb%qG~Xi`RM*37JrYOr?|GBT%?6@2A^#7hXqlP9L0($>@8GCtal>GnQ910hB zYldg5Uq&wrT-))SmhO|Hqf)`mVedFf9JtBh2Hv-#uo&|L=+ITf}Mp z!mEILN@(4Gdi`djd!jZ_?^rvG=u+kp?q=0-$)B#xq%lsuoY^*B{}$^&b| zdN;NI_ibhbVQaGGe|ba7kXYuAP1roC`vqRC)dheh2kw1Qc?*xu|Ir4eY2B#DnuB5Q z4gz-FkO3L4Pw)SNaoHWHKl=IVW>NU#@o;)GxJnj*8tMKYnP6N7-nWM2?+=DA4XolP zX~|rIRl3rFSxsC9G8hAggs!N_rJn!QBYyqTZrdLpzQh+cdtv+`z3dK6-1Wgvdi|xT zWihsVBfBu2C*=%AeGHfA?*2z~{}EBnW7do6C3dc5l8`?>jq^U)W-XXMMXwKqr}YsF z4PaVrsANcYbAKJ>|FISP#=g-4wVU{MlDKd?@j#OH(A}V8#kK3o(O*qra!DhMxNM3Ue)Io z05&xi1mi7yd36_PwB_s?8`!|Vn+ggHd-3^&k4XVISe_lBzyC9v`1Y1|-#<1RUAYD)gfo&G@SjPDy|R^dq#OEX>2~Qf>z*&XI%;w25T%Q#RM3)M zy8HQLfqCeaW^>#*_7l6V;|f=x z?Ylv&O%2Wf#;_e1BN#E!YM7 znu-Ivg8~R^;1L$O@IC8bF!by&kKT&#>B6n=V=;VOi_PoOo|H2TF|TQaLyuoG_5i+P zTC?~09K4Sc7Fcj#7)ScV&GJ{|!`rwVYHW+&^2zFj^9F{57$A$FA{~gOO2#CceMH*^ z39W+%UEO0<_^pvsuzTul2d24FB@!$0(NL)5p};y~k(N`n+3YET{A;rzso%wF}tnSvfv<3KgIwBuzj)GS{zqjs~ z52{-7zU)ft&`5I{W<@EB^7zc3w}s+~OkzVr-#P?+vI|x;9Z25q#?&25+!t=szMOe5 z917}?eLE9i2e_GY`)9X1VYas1SCtkB3r9MZhJq-0LJ29}{z(gJW-N~(CBN_`!3G5zsOx&#*8OKxTSfEg)E?w$QtWp>NhDA8>3;+2zf|)eY>! zjWIXP+xghst){f?06ov03{1`~$;X-c%NrJTG#T}X1Fr^ktkYz){s|;+27M2zQn^pH z+g)WnoZSsCKlg=)UlAq|g|V&6%I2ZCP2E|>5t(wUeg$n)q4T1bB+ZL;gr{b(1roh) zE~WGECzd|1HbVZY zvfzk46fW)MmM>0%CBHD1^~y)9q3Ho$Ew$xVLnuyc zq%buumCPC!08J&2^VNoY$e7i0=BG8PpJ<(FRb8hTF?CK zjQG8L;0DfzG?kO3p!2MPWYBJ0?z?b#edq^Y__b2=_d~kSMP!H^_3G~7pe$V}9Lt9R zu??2G{`9LyqiN;C_$S%^U4y?Y0CNv2gQ>S#J&RTGuJxb$D4`3NGc8=B@B}fR!&VP- zx7CC5sjL@tFl3yL+$<=pNXMMB^iiI(aPLDdc{A8^in%lWTKHTARdiTfzYC zY^=R<%%i^pl`aXQjKk^;b&TPTRW;x#p0X{C4vU1|Pw14ya{<#(WlIXO-Lm@8ri2W0Pbk2XHp%Ps7V4oS3GMMHkb}xVF))Z}bclJggL0HLYx4UQ*48Smiq$Up<|e ziwnqZ7>dayX9-c5Yxcjp%YnWbeP#?-)yuRp#}< zgWh{eT|&u)$VS8)r_AXC<_Vi_T;}i15%>25HoV|CUtk{(#y;(cr%b3C#%0@0Pe@F& zEm0#i*K(}=BhtyK7qQ1T7oa_#f~7gkc=zGz?|=|WMR+fT^zusoF9Le8ZZlQ)sLY4Ye0Tcp(X5NOFD3PO35V>NS?}EczfIg zuiruz6$-o|2Sm!A^gf=5zmg#v0tGb2Wn>+`FV7`fS_WJCpY zN%m3Y#AZ?!ar+2lNnP}eYJIsY{?!d~k;8BAa3*Jwr@7o%D{cMN4c%>OF|4I?d9G&3$HrZ5R@lA3tPfXQyCK<3WWT` zE2VGTDz1jtV5_@uGm>o)CPc`@L55xxGN^mtoTlMW=47v&!QyQ=s)RSr`YkJ{RTlo+ z_h;+%r}QP0wcuu#uvziD%7t4Nhe->tcAd!S^WrlZfQ&jTp_i5cptCmeioqlF2JJOh zfgXgb38CH`OU7Y5f zBbecmJYf(7t0xI{MZSU@JBh^{B7lMkHg?P&uS~kT!VHlv zNEz!m&nc$T2r&L-w9IY3{Pp7_gP`gVPzS%zzzdHPJPd15n4$@XvA)V-fN)3HecKWE ztNKMYl9WtasJUVNdEvRi=X(V-Fhh${4XWQaaNaX*w3XlfHy3kEC5hJ`quQ?&s|U9k z@siv8lxzCC^l>D(h#lkd(_}yX^dX^v%o)Q%(DI~~{!T`fdB_MGpFgu9l@|OpJglq$ z@DBksu;`6CIKEm)R&YJ5sA|#jpxR@WW!4BebH2;y5vXb`Jx~VEF-Jg2F|Ff(Q5b#K zb8;$M9!cPlM&(rS^py-gwAINfE^-!!hQNEwb4-yl(k{y?S4lzDh-xo)J5SBJBeB^f zgLNPvF;%FoRkWWDkRlvz2hyG}%16+QWZqgJrCZl{FYjbpN(?FgqN6Nlq^%-TAySfO z9E|9fnEQwKPBdx<+Pl>sfR3A%ge}!rhRc9y6z>38viDcNrrGw6o?%b%dUivFA2ef0 z0i$S^NB*wsf;jiA%>NrhDqTQ3~)Xcx;y7%8D>UolufxN{7HAtma8du#AmkuYk z3*n@`&Cp}L+ER`Lnb^dQc4a3H8B z-*>QK=MIy?!1V=T{mNdwee=LthY3z|A*tapgR^8Y6xikZ6Vz|}p$JfYF3u`yWf$H4 zSaV#uB;)sT{!l64qE|Mk<)L!vw&ne0kU=HV8D>sX8u~Tu)`&B>WT}iKE3<2gG&B9n z&Pw7kB)0ctrkVG)cJRf+N4Y9Wr#VqvCMLv(yXdD8!0<1ET6^mv3FL5DqDzwKK#%y{ zi1Z)of~preL^Y!Iii+9T8rh#5otyVVziT zw4QcbrSie`1jLn(?&mh}5Tt^Cb=J0iDG#s)8?YI8Pod-66yzc#u@@=$#a$b*|9a?MIoWm2%+hA*MD1 zw-78g)OJXFvHjl{vAft$dJwrRl3Md$ht0L>C>ll=X*iB-U9d18@HL08^;n;KWS@sv z(C=JP!@3W#fh|{(7&bxXG8v;e8TS{29l?QZ53g-5xRJ*sJSy`&LZAmtZWM$w_`{({ znI+J1ZKT+Zt~=;`qA6LoPy5QI_D2hsW0IimLuADV8=sg|AqL{76HJUF5kO|NgO1`b zCFD_5ALFzJs_lWN#TYiF;&z`PeqRj?c;_oF&;#~T8@A*u+q#$veW;j}C(a{kxB4Zc zDOe{p5G3}8A$Xt?;sB@)sv!`h2E%`dG5sv@~cX7?|Uq^VW{8g;kNcgr34(a!11x_rx*Q<-*f#RpH7%xs}Aqg7+@aW8Ht0F{kqU&$@OgB{bQb}3NR?!JBI=3Cl4F@)$Ljz0A`})OiqC{*sb}-R{ z09Akg{>e$A-1A?6iSxK_XI8q!qXRIP39aNj$<9gFdu@=F10g!L42l;<;FjuR&)eZ? zJAZgjy!k5A-kHCg!^a$5%m(qHqfJ+y!YDvmr~(1ru2K3ShQ(kY0gR&Ydy%}PR`MA(^wx1LWJ&70>iiG8K_wanzo01%tJ3S31BDc= z;4-sTt;WqH6>xIAGaDz?H0>FNww|0GUQ&AhFdF#aMXv+;CY^xGWSwnawHfs++DiU2 z#+#*|Cl4mgZsTM?tWs$GlRd>-6PM?4U-8LVSt71u9`e1T_^{`sm0W~Iv_a3Fag{=N zU-c@)B&!=R4M?f&Re}p)D)|nx>jx15=G(l#ok^Zz@(LCMqo1|45&5l|5%Dfx(8cY> z)E)`Ig+ZLZAkHh`Z0!o({oLQQ0SM<~3qc%J7mDf^ry2sx}34eyMM<`g(Xb=snqF*A6) z@g9F^=Z30HHseCtWxz{}pU;1_m(*W%cWk38qd6Ep$xs5(Ep^QO4JJs4;P#Xx&MS_@ zjr78=t)_Yx(E0GFhcW}{ym0H{?{2E=9C?`FLM0mr*UG{1tBWB^*Z+Ixv{m4_Xw(D4xwH-KQxUV#+Skb#(WYtL z#U=S)ejFCho8sc$Ttux-hw2Q_IJDAx2<>&S1vz{=`V2rPXGL3wlf@|29WATh>E-? zszHfD3@=;ydLn()j@ojCx|<3mzNp93P6#*DzP|N|kU-Kt2Gd)AMoE3~QRPz}_{_vy z76W8nEgSBhK=n}6dVlijk$2KJnLn3SdKI`}#q~0}5y#1VyBP+MEyrVu*dhS*PC5Mh zY4Pu7OAcm6$;eN12~fn}m_;b^C|xv|Vx z$1egn?96}jz9u}vh@|$Kk-aYrBN)!T@-=lqOMm{Q61Y=4T%$km+bbIG^HAxNFjKzf znxmdm=ef{L@w-ls2a87Sx@Lm{V_0ZE;4TEFhdqa)bESpH{nVpAZgmqkNYG^O>{Z&O zrO+23#v;BWq=<}uz;aT`3CYvoDy?5}EsRrrjW;gxY=`}s#281sDOru!_fPkUKRCG- z>J;OiZAvjSI}z>Dw@8g*ERr>FL;$v0#g9K}F1(kqev2DUUxv<#H1X2+1wg++FB_-y zuPpd&01M(3`1=RgJhuBKM9*k43@}m0mZQk22vo(P9AR#0OrzdALjk*Yk|tG-F!kMSDn(SQX+++I_+1#oi2hTqi8^ zQj95T?SeJI7^y_b@98r-ohe41^DcC92u&~h{*tp5S#gR?CtrxbiYPGyuoG8aM z&5gabK|E;He{w>EPEs?zODHi}f5MQ&(VRp3xk3>M-crpeH8yTrrIWW9m^MV-n$y}w z)&pb}l#)$YDYN(^M&d{)?O)kx7p}+vw*CY`^w=qI43C~`dKxYF8PPfS9eiovDRQ>% zITz)TZ%U4+f4^jwZD+hqpEvsOfMvHS`P6}TwUsqUHK73vVj9Aoq+OGEGS*Fm!Ro+f zS%lem{w7ViR5{MhNk#k zea!APKf*8U#sKJVBN~uB_0iEV=DKPkY;2+YHSb%pmLvm%E2G%w_h~p+nYeBWd_zNV?Y@X1~m%*^!S=j2axJn1YYe zOnX?j;Z%6Q^;3iDR8=$?oPoygWIHBOph18GTZJT|09tg?~8Zc&~oeEn2P|n|uAoUY?G~fvDTX z%cp4&jb7qeXpu9pI7(?c6f#<7#7iE8Hz&^Qi9huqlN=H!%JH3plc|1>b^nR&e1ILH z?Xm@cXKsQC6B^ClQ!SWg%=0|T6#pkZfM+?2u4*xN@b91J6mVu6=D%<3<2`ra7-6yZR#h4y*bnFMc~4UxM<(1*q$i(bx(8EWO4TM zfj|DUMOv$8KkLKfx2{^UDG;1l#>f|cj%;jRE6+A298_>N!uFDFTegr58}8`z5@q{a zJihx=W36A=kgferx*#f6eXA?olg7pqNZh`%VcE3u)9N1pMseU2<$>=j+KDD87mgg_ zivEO8Y;N%V>a;T+#^%%a(320Y?)GBh(7*#RU~>3v`p(Uie#8U zVJTcHy~5VsK*m2 zBbV)(YMSOXv^W<><;;uDonfi(jPh9 z`b4tP7}qNNoM8%5-@XNNJJ(U*7-B208-G|mQjjG|%umiEPpsxq>!me8xFDFvjxdt2A2w^fA2Kq3O zcjH;AY2W0y&FRd)d^vylg^SBPy0lf`jJaIEXxTKzuYPp$&VsqVV(A zp*27)p79TBIct)4&FOo>@(SayRWN=_mgtYD8sD_v$2BavpS_ghMCMdDf4zFrnr-~! z?>!(qz9k(py8dB7dX(bB7hmG84PufznRK9+O=UbE!x+=c5^0+`kAxALF>P&y34!C6 z`hTJA^r$|_*^&G=$H8-mp%ktl+e?)b#{j*hxggS?CWOfslK`jKl`I1A2H!l{Qo8Ni z=yC*rXv{(CSh{lgy8*W<-3m*uc zF8<~2o*G{rq|bj40ruirT3qzX)mQZpLdyYnWCIJVNeleJB!{2Geg*OcVvd1z^5L3V z&{m2xEkx?=arb=W*ky9rwV=(K07sQ59;g7LhO2B|t1q`X`h}Ajy!uaUPO5Ny*pq&< zU9neY=NpSFNLm=OTSsmN5>`@V?t@*O2KMasSF1h99w~N#L;$zNsV@Z>EaSfYu{Z3A zjJAR{QC(eK?e%p{#8`dn=E*#u3E8sBXG7O4bIG&I!cqCFg~y^b6kIW$2Vho1-f&w{ zj(#CHK-dN?-PW$>=>e6Wq!x`d$yX>PkuKP*FpH{SGuU*r*Y^FgdI{eyI^BoRai~bn zlWJGXj`M5{3T&e`xY0@R)f0RIc#0CC-kWo3sVKnsg6WbUE+;b&0SHthDx0k?UqqHQ z;#I?`0N%j=ROPmYPXT)N?YjWEIQ48}y5h6oaiKv8XAPv^D_}H6I1CtzStA_7)TkFL z#xq5$ITtgPf~Tg5VYXIuBt=ggy(*TD+eb>>T=fmj!mWuxF%JT&R=P)k6zSYq!`~o@ zV5&tT9|AcX4i$HAPE}>{{^ag zy_pRoPfxOhl^qroETLyD|2p{05Ch_?>N#LzNrpKvuH|lak{d+u@AHyIh!QlUmi3No zb|HnbUa!JI9-Z;pp?pFhO!*&Xjn}R|W&JK*>h*j)hy&^;EJj1Y6qDeR5s_+yao2mn zb~4i4p0vw=w9wy>%Eh%mtsY_1;&+j(=<1fiVT-}7P4O8Ez<}G^i>!^cSkzh**NUxC zd+Qsp5kx4#$U`9cwkSEEx`9fjg7Ow+Xd(FfK>ozSWhVzmf_1iz%R5Xcd$n~0QkAaz zk_Nh=-SGMf#ppO)hz6QQ^T$4)9X?U5RKCROnxz#EuK@sDZdGW9^+>4P1sf6&^a zo#UC$ohz6nUNJzgi3n=elquf2wqa?E8RaEE zhV7K)WX|1bZ?BTLD{oH~xeogd`JzaH*;L!In0Bq-4&vzmM2Xp@WKWB@ZP3>g7qzgF zvg35Btchfn(~Q$^(?#bJfIpx17A+A9H&y;X8gs@66m36QjZwLd%A6EcGmVE;KBs+8AYW3OQtz z4{F?&WfQMN^y_QyJEc5~Ti*XYuX`pqF2NdGTcu!q;3<8Bt<&th?~LW3s3h zV1Up+>Ns}5Zddf=(|UVV}z3KYZuWPQJ z|NbyA4X+B7#ACL+H7O)>@^tm>Z?s8mqWTpWw+pc00sWv?7SJ930a!;pAF-;5J(q?L zIhy-smIWxjr7_$3_7N(>hDn8xF@(I#5`@^$enNF^xSyS#LO(god{#oh6)blaTYQOu zqg73A{#3MzfYhI2k2NEe3KSQvN zFx?1qqq(tnMZPfjM~{WRm0+19$Z^xgRhko%$JoC)nAn_a7A(4&EGb{K0kZKBJp1OY z`p`xSX3fEP$%4-W-X~r>|C@`>eBR{{wd^5ip5HmdqL=j$^VfT}{Cvx~pvU5wMr?1- z&m`YOZitJ~dq&C@N=Q(1vh#4RN`Hu7(RaBN#P>vArplII_|p~wb>{{>T=9`XBV&^> ztz3AtvzG;UUzUAP&|%?z^^X@(;Q?Xug|IN3;9uE7KxD8;mNq^Ix2FuAzC};QDx~+N z8^mEb|KEee8=l;mKd9P&UN)2LBfpk5e-$`Ym=rG{Ak|2&inqeC6daB@IJEdoQQ3W~ zsG)3qh}D`0CzdFVkqhYocI1l!?}5P`3|aq|fUsNkFz{NVP;sgXFLk!b=d(xggo)2B zJU8{t9Ooga-l}nXw|lTi!B$!^j?$#6av^`ePRnl}&|I>g+k!tR$Y*Mv4YjGO9>_-J zN_bDZsVh1RSZn6hA6~b9w@Ho#sg!I=PY>Yhm@+Mm*lW?f@&Qj}VWBO}MXG3ajOG<2X5XnNJ zWamI&5|HP|?3d}SMl^`AIOF*7VC`iKI>{OZ*u^|<1LtjGmQUP0m*u8|HylAFpPTU- z5d^CqM!16o4)(4$=UB^XmO)|;U76I?n{!_tE~k<`+9I>X8VKeE5Vx3N{{tB6+wRk^J9H74Wxn7TJJzB8aK zE%)1k02gx;7uieIf9l-6E~&Q(2Defmt71dm*2T3$4b288`MEC<13`(sM>DNNp*JZ0 zoq(wh z-~enXWtf-Zn4qD#LoXCphRs{9sLbH?k*hocM{x327tv*a1xbMpvI`q~7=wA2U^K%uc%GzAB#Fa*k2D@KrPr_8DPE~l65t8Gd>&yMYz z){erXprKSpFD*P(&I-(-)bLbe17%m2%3n?&Q(USuSF4g87KtHq_qls&&sH5p9y2Ei zrcp#1@?L69@u5u$7@p#U6p{tsxi#&}tgUBSc_UwNU_0=-dw7s4)$p494pd+2m%!w( zAqAl(1fQu6dGK5TvrpE+FQcrb&_JAka%39yo-2xyTzdBgb|Nn&n^U$tq5K%DExe*Wi|MEbt# zew+aCYyT@x5{^i8HTa8=;>+ETUET4&SD*NrsZqKxl8SNX{21DyQHvE|CPd>mkvo?Yf7ox3SZ)D z@?p3wDY?XJ$v!?=+X(04&yRjH7xCVsSG8|#=cvuYa~av7shjpio^vl#K$GR8|HlfJ z15)RlfLzrC=ushMGE7J#lEW+d!T0$jCGWqu)gRkj>c`Cug}4@DQV8#v;Pf zGk|h0WGXgSnXL)__*4zS;nM|8=I~BTzj1wqS9@<`%gZTjT?qlV@IsV++x%Sgt<-1G zu0X+?Ol}k@-H%364VIX|e7s@1>PMjb>12$^{&)7%Led2!zityg=~eh#gF$X2)S+?- zukbl_o_zI<0<1v%xawSuKD=#1V;iWHTdxm|>3y4A$yZYNvgmkt< zDoJKnXwH&W9(FSpBXvNCym}tj-O1@P60qibV@>_uK{bo^T!}diyjN?+!HQG2n<^Zg${Q>1qw5^m`@c z2=n^qnaKO`V*^!)n$_-jk+X&fk8o$J+O7G$2`K^0&x$g)zi22dX%BlXBP-2lF>T9EawEaEVoU`E6G}{epH&V* zFg{faV9PhL8Lsx$CK3IxYIGh6!xiT0wMX?Z>-#KQU+pr>6E$)=RxMQ;_au;#}>>erxX z#H{JyzvxP;xYNOBtTo0X+xWb6|IbI?c_+{Oi}vKXyj&l70?j#fzbxT~Y*B|ll4`{y zLXLRrE2KZ*DS`+5I!5Ok z5JI~rbxl3rpl4{&i>{Pk;ZRs9<7Q+>!Z!*bK`mFqyrW`|}8p8WYD!HlG z9>&aCoBPfU@rg!hcWw1U8g`w1iR4ok`nas>cS?khHYLWD?-_C?ajrFKaODcgw~Z@19?L*Ydt*!MTR<{{wkJhQ2JLDT)9bu|FJm>#r)QubOUz z8QwS0O4klS&IR5#XgVUeuj?5BT>B6>fPl0`Em^^K7Mi#-M%q zhJz{*r7sZlN-1i)-RLt`ZUtJFK%5bs?CS4|f49`PUJ4BTds5X7kt=g zE+~cDnLSm3kr!F-Jq%kNe*Ez#*zfmP0)eSD7UMJ`#fZaUPsR}X9x(>&HalqNu)n{D zN#t~-a5R2c<{3F9gk^#94oPVS_(*Ltj;}LZQB3m$?|f|^iU;sCO%;%w6;la){9-e6 zI54=`-cmOo1h@lRKgv9F2{iY6{pvN|y?YB-oIHPs0Z^z_wERp<#lSN-Vkv8?Hn}z0 z_Z?!S&4Vo5i7VWjn;Sgb-xC3e2{GP#^nH*0;eaA@M{eg@u4d#o91iIE4*hmZ?oc6e zrV>NdWkdaExS|U$HZhO*f)>h(D$&!MV zxx28`*)q*geXUR_Dvz|XrBElLpujgI4MGLMc=XWbnYnL5e_r9M|qe7%?)SPJSUL|)TqlGsi2LLCbBl+J8BDMT}X3_X-Fwd){KCdKas05+Qz zheKhLj#DSB4`BkolqsxUFkk&P$WP@1ShgSVniXtMHKgyEojz0LULYLl!Wph7fLop? z?L5bZ{U%j5R`GV1TB&Q`t{Z{P<`i&KN-NN{we5O*EDb-r_nKq-xRslYnE4Bkt`d`^ z+P#$Gqb~q%1%C$CXQTE2C~Ix~w-_T{Z`$uVXK#CFe{8h=*l6|2GMiXa2s<_6OgEjsoHo~IePP!i7mVPAEEWm$kS;QrwOS`k^u`xXVj%*GKa12Jc$ zMJfR@h7c#7tTLL$Llsnaq=s3`(=;Rdg0^X?J;!;j*4mTEC0Y2yT5w?9sTdo~%fd5e zV!|$5fhk3njan%ROJ9+PB;P7AbD2PRfwvz0W`l=^2PQ^kc&E@dEzOV1ai%LC$)5d) z_w0^jjH%Tv*bCWtN0p1wWZu8oQl4w)u)DdzJWt#eq;P-o8dsQKjm+nJc>41fpR2Tqd^&+_xMJkTmksuHyDN@68&~f~_lJkV|9%860 z_z)KKn@u$wA>gK#_xDZgxA2(?s$e z27dB$rH+GiaGIteXR#&F?AoGkcn*g>8K-!&8EW==6VlU=PCe~52y&w^@-&J!BqVU;C)_U>tCT- zR)8&1VO?^PD(|T(pNYhK2|?<82L4Z)O}yOh@%@ZvJn{;DDnZAg?|V&v3$P?dai;4E z1hZdk`w+PFEahfm(Vu&uw09!=X|I1I=o z@oT3Vla@%3(slA<9C{;D#;k95h-W14J8NV zl%XswMqStA_VyM_SaARDo?6Uo-6#uGDKul=Y_=GN165}{<2L+zOPJX%ko=L2Hh9=S z@WM^4c51CRNI7AeCoIdtjBIzph&}B0Y;NHgbZ7zGKRjTw*-)#s-(WZ#P&ANIhI1Y< zEbz`Egaz|FA!j0GbzNIGAhMAX(CWGlO~X1<9v2)dpbekDt5tG{iD#|$1dydoJdQIb z>^N$bu4bMoMOfEVV4vruR(OZQ0h`SRaimB*xn92U)m_SRz(Ur!CjM-spNCXtB3uu}aDbZ|q90vHt*BNbKPw>F=c55w`nVI$0VlE4}k!^J<%b92RtSFRClmM=( zoB|#>tlo2u5u44fa(<-KF)w6wIn7JGcLlUlN)>m0mG$JONvw6iDR@>EsJWF!g$Am@g1>3m8ls$6D7uYT9zGNYI7#I|iU0F`sr zIp^c!9F!28oO9aNbB?;2NhAVRbp+OPz_0CUYppp;2-18rs|s*uRqy(oH_m+Ota;se z`Vfgp2r=awZdkz!`#X^1FYa;{`1 z=N!p#n2k9M12QjkF-EGAH7$%s(|RHTHI1+5yDS8X-ubG>9H*%QumDPkp@yT&#=#l` z<%nq;bD}w?^A$uyD=Xmt+uXF2QbYe9Zer(&dlz7CR$&IJ5 zgNMVOHY}bj6tN0100(^rCbUW>5-&FU@_$utb6bdK?Z1ygjYSm8eQj)*hqD&LtYq1)B(0!BGYkRIXlLY4Z_?jtWnU8IFd49Pr z^?k;Ow(HRGW>#VXspCV}M8HXW;!20(Gf>3WTFR{0dz z`S(o?EhwdEt@Sx@*1t2j;|YLOyQcZnTlKp2_9r^y&Ki8KmHwVm>P9PkPieN=?XbAKnp27i6eK_&_YJgJUtb@C8 zI4}`wVGe@#9+AyjBvnfE>2iOjlrRhfymzZ4ss&B6h2dGdbX(fCt?`evVJf`-@b{+* zD+_mX3akbLX+-xwcxBro2%xmY?Stz5%xV24mA;;8rp~1RiS)HvJaE zIAAyoHBfz;rqzru)CEB)g~qo`q?)naY=~s!h>$f7162(y7qU!zRW)=QTkF`l zM&A6)oFGJO7-6k!@%+l&tT;+3?n7-u#Mm{Pn`0z0SdK2 zg$1pQhEW#AIxK-$#MY2gR*v~t1?GZc$mpNio=uhR7)x2L#2Q{|tJE5Ug{>QVc9oi@ zxtdvc_F^W7u25qDY2((iNk4&7V4|0h!D7n1k%*jq8xR1*u+(Z;WHnvaRwIj23Z^{O z$~JS=xhA{`8A_x`HE^DROMah-UJV12s}YR-W>YsLAw*g;`OjU~Vq{WPjFC1GJ*5&2 zhvCr%N@kuSA(Hz^H~_hn>Ypus)erjz-0W`16>Fikeh5o#Uu#e8<8g@WZkFq4hZyPe z3Vli)ortl8QVNDE(Q+(UXgr`bCY~p+?`hEmi%E!_zg#DgKGn?^zwc#PDihl}NAEW* zRTE8_(Gj_1Xk&R)ldvqRR?9^GDlgIjtFw8p`ZWOXODr1|EQ)>RaUT|n{^EJ6h(-Wi z)Dr;%`Xv?Yh1qMpo~!EiQO0U1b_Jm2k|%MU!!jOgTZ-l`wFb(m(MOgy^jL~xt<^c_ zOLO5$T3V4vYSqmDCSO!7E%>#=)3))iyj7ohqkgEN?yM@`(@K5873`0-I7<}HgjGP> zIBM0h&GJ0YND{owvz_hkwl11Ve@#|~Gnw>H^NgGe4&wl4JoW<-bQ<5(oq5|?W<5r> zB(zoIDKnp(iC~qK!ZOdWogqLd8QXqazj(_`$v?<|bGk}=0$VkPl;F84Cf1~@VeE4M zIPcN49a$tU%gKywT|pH#e%DOCk=;E&4n89JC?(g>d7AGf0x15u)*4Q^`ux=hpEF^P zRd42Vp-o9Py6Rq~4JhYeSyO3@hVvdhK$WdXVI0jP$)ZrhdRGD1E2`!qGmc{j7%{TN zqeD9E`KHq-?Dt9pp7Py8kPzqa{Xfr>;RQdD#lP^4JcqlXNR$H;wUBE5&&4{rOswkOm!q6fV$ow z9_P~ZdvXsH2I-Mo-y)-us#VNX#$ljPi>|L>7S6k>#|40qTi@%sZr}G9#&O*t#K?cI zn}M9`{9Vp}ooOspsiYm8i+b>o&Z zjW;L`Qe6b#r{iFHfYtmmvxw8W)yJz*WopQYkGK2EDM!jmcm z*tGst=k(`|)!)@nudFIR&{}^+Bq#ioOeW}~R|?26!#hqBfx_!ocL*_5wySp@P1CY< zB1M6H{pKCUX{ap3X`b=0|6{In>B|*kMlJ_xML7#&fRt#)n%O+USz1KHG9NShlIq4KMkoWvXHA%Fql~7|#^BT+g3JzP>N(nJjbN@CoQ(py0jePAT!6A^e9$^VcOa?n{ zHgjFmqy_Apql!)${x0a+-YtbbOPTSuZHxW>0oEGsz{I)%ls2>6+Y_69h#uEDhvZYW zp9HrTV@kBaWm1+nwyguwFTnUGD9bnik4mC=5*IW;JS364BA z61}g?jO9L(*OykkzwxwLRt3nax@d_PwElo<^c;9Ulpu8mN>2WF+J?OVXdeK$>IHK8Emx%3X5toe@B=FaKzW3BZkM(I~t;m3*$eqjxD)`bQM^v(O8y<#&>x4@D3p*gkg_iBIah__Sg@5-fmN-tL5Eg<6A%x zp(2I>ssJelXhXZy%mL*&XUyY-);B2Z3A>(c3D`~xIWGage!r(2S~ifdJZ~Mwk#_cx z+E2dmaIV4aoyVIuUsv)=E~WYxQ`H?Sp-Hr|!i<$_IaIxH12->~NYbBt*^iqBvH6oq zt?ha^kd5Lv4d~kbWKp$Ei+A_$Xb0~+6r1>yfjkq6n8h2GnZZjlQ3_aQ(g~N6k!6Eo z$fQ6qquE*_OQlGp9Agc6HO6mB*PL3s*fq*&6~IA`<{2SG!Tk0U|!~G z2`Ppkt9~(d+g%N42+W8Vc@Rmf2v|i@C4{cN>ud0YfR)U5#dla{qgv}a#}ts1eBcl$ z^(UrSuR%)3&B(GWK!@7t5J}Ry&Fq}RIMFzVHaw2Kwpjwl_i@$rGC&H`zlPUK-tbC4 zEMQ17v9?yX41j>%fSCj>LGsFdI9T1u1p<)8f--OF+2G1h{O_f%2ia?a?bO7}xU zUhnTAu&0*hP?eewr<`jTMR-?=bak+tVC!y{q1{Lap z&b7wm<($pgy!FxVJW+Y8M|10w-y@I(pc<$9o6di~arSeo@XA~BQ?1o24fT;R>PKXu zYlxMY3mWU76n$wM?`rah(ZKE9EfX#xQqI`*TjZQ^v)v-ajEBPm&u^xx`CB4oXl5p& z$YD%|cMWpNY_1+K#u>`cxlm2c%v)_%U=)#Kf^i1FGj<{oc zL1GUR+c}p4XB)~A4WiMd_&2-RkkP((?8anHbfBac=D4|K!TrNKZ2Ao%YlZt)8{FR9 z;;`SJ+zm%8DI6R?$vKB%tW4$p7roe5+4%^)h z`-ca_oZ$HVB9h*?X&PAXYu+xPF>w%pR5?bGY)UpBAw)EdKWT0Hra{URI*y;Cg}SgG zHc4LMeqZe_h5Te;>u5t}#A?vhYEs&jlDJb?D@_)Y6hKcBvVeZm*AW7NVXRVw85hh5FjE{^12?$3;P+pseXcWoS)GD7Qo32vbYsE9Cs{FvzWidmh$o3 zjA0ks53+{5(31CSfEM67b$@C&*!+YAOaRL?U{!KaWd*ie)rwQp8c@%J-}Qz6p3Q(O zz^*n_O0C=H-kSE+rul()_ET&0U8B{{jL~;m>raeU-&YEa;RHRyrV}F9F@`j%GFMs_ z*2*>xecMABVsOsOgp@KYYv4*Iy8kpyOx6LWWv2EIx4r-%DT?m$uE8)JjuwFhh$&Dz zssX%l6za}kY_wrQ%tABbg%VhDE`XZIHjCSRBsKDN9%Zy)0|Z)_wJ}vo3s4w1P$~no z6!QNiU?APCFpw8c6Pg#E?e$x76Iz)(7#9AMhcfv*Yh}T@d|IlJuUET@F473B6}TJw`-5BU2Tw%YSPchh9*))dtOAIrR1e^BoDh=`yhxrCLI4WK^l=N_grh_!CEBbM9(za&o5)id zeZN5np@OPNouvB^Q{sdnsvxDEy{-rs)&<89*_?vd$wF9K^9hbKP|i5!Yg}8cvhZ`& zD}*Cy9Xl`W-36r(gE|Ik!LLnTWZjj`i!kcbgw!@w^>C)9A`%c<$%Fmp4m}W9M zY1^ibHJr26O>0?}7q_6-KQk3<-MYR#O@et(+Kze;;HoD;x;&|cJvF*mSMK`#pzGD+ zs#fU};!>kjDMd9$0?cWvm~0VEIRnX3ieAZU#B{>o)N}Y!vX8#dLe^Bl3izKArL58J zqiy>WXU!+pm{*NaKha9v8lyhbT7Rj5P7}eJT9_*~sdto0qQNb_l28gQ<>_xE_IR?Y77{s5xdQf=Tj|buTnd%BAl+b-Q%`>zjm#BxsLya)I?Qfv9#{OZC#EV>tu{!SAvZiIGZUnbck2-LweuNAstnhK9Ybh;U2`N|> zN+Xh1Ik{_1mH1Qb8I@FLBTL3&y$9Fc?bAqAW81b>7A1fqEafExjBGn9nY;A49GT6P zsK;$q8MlNb)Xjvnt^BV(#6oLxvPwNmW5tlEIO^V*zfnqIoEl7b1Pk@AoIyVGaBwG4c$=R9J{Udj0#ToupV>;?j~AZTz~TB!2;ouq;Hf z63fd#Tn()?GIG@vO9Z6FdrkX2%Sf51bAg2Q0&VR}2~g!ZBA8N-&4`sTmz#Oi@BDLfA+MGP#!8t_Zo0qZ zta%4!i9ZeM=SDVI1mB21NuI#by@@3RYVT^8wa54C4WP z-@#}Hr3pZ%ks`gu@c^ZIUZ6ZPT*){hgaz|5!z~VdzripZs;L3VG!jtg^_F?Trr%VD z9GcnDLR?Cz3|V6g`o5!zFD1k!A{BCZ3d_QYHx~O4*jS&FU`m08raW4up}4h7iw3p8 zm$0C1I%sY1=H1)sMnzezg&D~f-diYDFwHaVl1pKtnyxe5&2~eK&%=PE6_ocV9L_G; zwq?~@q6Jg5n~A}%VKe+tzX1gWC6nC47>ztf7(;}&BOlVPShf)w)OBcE%GkBDpGIJOKRrEq+p(==&ww@&?YX)o11iFAawqb_>ju$rX zni{(&am}hOS%st_IagDNYS<63hp}VReVX|;ZG#YLoRD&YRTjhHfVOL~+wHL5@5#JB zM(nmb*1B?QIg-_6&B_h7g7SKfN?jdlg&!I1AicV?n7E3P^Cn}Ap*m+t>)EYLES5mw z99`GJhJbmVRz$*dj3{LS5&>$go0fI(y*Okgki3gzL*pv_iMl@mw!*HK*73THD_y1i zeviAmJG4wL6kts&U*{O(i8uLiG-XZ_n$k++yJkI~VMx7)3U8QO-e^;ipz3`nn;O~R z8*SLQrquJ)#?bv>jxmXeEnmsRsKM>4SNM}Z{$m(r_}-)MUF0wZU8_KmP%-eh3$ouw zS+1w#qw*d(&a?8P7q_8}0pL&kY~}J^bgMdkZp!7XR;RfJSjFio=epN55bFzIYTnl} zUjLg?M!b+OwEm0w?6&*4v*ykj{h8DH2gay7tJRlU>Cd3Bb1Q(Q_&SZ861=C~oK|EL z7h>Ysl)-Mh0ZHu+goIM%>Rp3qAz*vi6I3UcS8l}t5cDvc2?K%pekJOgd zN@M1#S8gR?2+!QMlvEqx_{5Z8l&&){VM#liYG$v@&tgh&EJK;+1)J>#zG?90>o>>U zw6&Or5!P6E?>K;fyqV`YpycDcuj|SFP~)`|tAn*H@{Ju8X~BpCzc>XuGl&B!CM{P+GHIWf7Hh zskUh`+l!&(MXlAb=;cRFUyWJ6KYo1gwOFM(Ih!6WQhnFISYFstei?oFcoo!11&&88W~o|_QDQW6#RZ!~h5Q)o1Qb`+ zifa%xtM|SpHwhd0oK>v(^d-xk+s}{nx}Q=7d+Ut;!WsR2qt%_!>U&11PoUJT72k@K zxYKQ^w#P6IaD9*4+a0{~b=EV_3*Nq)YAQ{Yv3Oz)D_#i4ne>&= z8ig0vkRz73pm8mnp-MpJCpi~r6if?|ro8vKxxK+KjF`p&ns~=R;<{42(6e>Sqy(bg@l;F5}@{Nbm$Eq`Oyjs(==r$YdA0D`!X;3nezHW9qvXu(~ zP?}{W3kp|tsgPb$v2e>e3#|xX3re-E6G@HS=HoE&?35}*x{(yLB4?_|lBUh3Cx${p zE?Q)UVW5;SyEQ+h!Z?k!3MZ0ChIJe~&Xt6C@D`q#_I-3B>y{O=5H<&pkDYHj( z-}U@mc|fO08=VWqFap357hnO;sgLrNwVswFWHeuOQDX3p*|hXIhFVF*7>*v_D<-zE zkhL-B+V;dQQUFO>?kK<*#*>5~k*2NZq)VX8+L&lgzS(T>u-{iUy*RAVNFmfpQ(o`p z<`&~PU>YZk1A#G-9SsLQu-`Yx3`8RR24NPvqvOGM$ z+By~y;+1R$B$z>fT;{^E=B*_~QrXID$$clB4UreNZHtG8hZA3C`CP@ML%I{fA)yUn z!}hTY6cfLuIKgrdgH-;`IVhv++M;+3f_Q$rv+(c>=`&ABe9AKpS>?Gl^JN|Cs!UZ- zGDcQLtK!*|7)AN@rXU~N*5w&X!}I_1zw0%So>jF1v?p#-N-3?BIZxNoQqh(I_32Ib zGjGkUbNWlC)t5%;J7d%jwNf7`rCt#-(?H)kht_!v!vW43G|rREqHVG84e5AyA40^J zuU=z+AdAEsOV!cahk$umFpQ*o-EvyVVHl7KwW+3MhBKB4IT0ZTw65hD5VdwIwM;4K zLgwL=k?GKO4bncMhFE53i)OSMM6B{Uo%aYS zVw%W<`R3-9jrZ#y597>4E^Uq)Lj_FZgud^w+imgg?S0h|M{au&5F{8YB#aqFsj9`L z7CW_1hlc~1i+B%XEW)y9-{MRxSl$@*TPB1o2~A59i%wAhf%Oj45Md0EGlAGRjOhA~ zE0+RzCL%G5U9Lk0V7noW}Yf0B3M<`i5yS`&LrWu>hvUtQ5K~Ecnnf07a*TM2a+O{21I#kntVk9TPaas-(^BX*F zcDs{>IOmMM>tPDF8QE&obClu8*|q|RqGk2ISutkIk)Keb5$Ss{2$(TB>gcS*ZO2us zGjTgv04YVqh2HNQ-(MZ%CV> z1#R0_sg}&11yF?$XN;~@u@J80+N>SNghg%HU_*>Rj%ifHVwVq0&PNDz#!#oy7|F<{ zHNc(+q<^4AW4XX;zQ}ME-{NDtz&|;17Ly8pM96Amn3yDWLGOAl<2i2&pW7bu67?>nu(Fba3Zm>(&H*IFqKUC)(GONJ8xji;dPxR8`2 z#DKf)7OnRb3ZOOaZg27C?c3@d`^z_PkaMPZvt=e-T8>cAc>DHkwbm<|ZV<5^B=hrC zOx8?t32Q6{ww!ZfTCO$XGFLrm-}PAHg1+k!V#GWzXxpal&Lw1e8V4wCpcr(Wb7-8W z99nK<%q&$<%HaNfUqjNVI-@qH5HFgB$S@L2uGs_GSY0jNw9ynP*7jrup%s>yykV=6 z0!yEcZR*6{whdjQTquc%zmRQ9n!kBoDhcK0mMU9n{}I7Pt!VrO22DpY3S$l0zU4VI z$yms|Ke8s(q1$W`W5zhl0E1&p5u42xr6j1fK^&+v;Cz8^n<}r0A+nq&VY}Jk&D*bu z4CNg~opC#~@f2PjV&tyNQn@x`x6I3af#u3)) zQ!)u_ge^xf$}D%8XEbeFL7AM%jKJL`P4S8eZAV1B!!Y3P_O>Qg$#qg9H)0Z%$b00oBoFV?JmWR6 zN%61-OnH83M-w4!tY9V8sQ{t?yO7YNJzZ9vlyyfSuIBh+&QUocyjh@dg{7uO?RML` zfustzss7ON9;DlbGflFzsh4Hpk&{E)G?aeE@s~yuG0%I4c}f+0Wusuv+Nqaxu}{Sn zmJ8&mOEM#7Df`Q$D-Ts9mdTjo$eeeMX%()1u7N!#Hmv|xudEgsh|L+>xac*=GQi@a zUHikv>Q{|7KXh7u#sK?MrEsT}`h@(4$*XmJ;Yy~z-`?CpD~-d*)_Iovb)B{N=+$ea zoH33gzWVx?7{?L!_YWvJBcy<7906G{dB>bHwcf~iiQ6GLV4ef4)o{kw8BPcRDP|a( zG0zi)aq~^J%nPP4V+qS~{>30|wL#>?4vMNWD6ufqFvhYJ3?QbDwx6k0B!>drUV^gZTfMqDTsFQy2mZ4H7CAz-uHVVP(y z>YYc|(MG^ok9nFfFJve|&PffiqqV}sM3|hZ`rd7KTwNHRGgJG_8qzFFbw#q90_W(~ zcGexeinW1tmV(zk0nRW^L>l3HNNgo531(S1s*hwmebD2~AuF$F5(Jy{nmt?YT`| z&X}-5Zj`_T*>H+|wB0&;6-sg%;Ad8~k`kmuxaVihSaQxb?E z1TR^eq~fexhpwwGVU@|vqcz#M$-harVHhaHL)@|eV7J@h{{Eh4%*V}6j1l8FVYl0% z?|aG=W~mVE>xmsN6@85HDCM&b6FP{>5nPQ+2qkpA}f~CyDTE0Xx!Z10bjqt5|(OU@UVZt+qduV`t>VX@H7z%LXK!Xxhx%~5qG;=7R3*> z_1Lg)u7cQ`&Ah`R&Fr@Cad&fzuiw5Q`##mzFQQaVwzD{l2X=cQjjMc#w9)WwORbyv zc;hGeLV%*vy1vJ<1UPLdmdrVlxp>bqiensD(=^aVS9wNC2~Zl&JIvDpQ;2!W!bH-d z4g<7S@VpQj>nbflf*2fI*d2KGlTyaaZb_10v)S~Rr@1a7C6fVq*KaTl2X0Zb9Kz^o zjR_{T%`<_fH8huX*0HM%xoc50TA$|qYI8VG&ro~Tjduy6zUd%E|AuxB27PZZ0L*0wzEzOjTg?Chi=gh_jY*x@V zElHNRCFh+(F}4zEz@RjYLk%8~MG64Aw!^&4m0%-tTQm)(aU`c7Uihj3eoD|lwHcLp zGn7KtwiU?6aUv3nqd2#zOne8JBX@zL5-D7R810_*-NP_2F^j6`6v+*WDxrwZbX9k& zi)OPCi%n1bf^i&cs?HK3tTE)9Exy`9isI~9X)%j$_S$1uTFgR-$~o66OfMb#a?a=a zVIfhiiBQreuZ9%%H1AlL#q0Mc&p%C51!4hbkphvwd8pN}kh8>KL(Db0t~;q%k0BJH z>V@g^3MXFcYi;p5-AV4B$ca_!S#jV9$SOr-0;X(IGIKb@yhHJL$2x~JFR-gwC!T8Q zo`LLB?dP&m1s9H}J^tK60jgNw7}hBXFB>Yz&NktdlJUH4vU#$p-3G-+b2_ z{kr$|XGZDQM&lF1q3cSi?`R=^utv{I>ohL3E8(3{<22f~4`W!HDRmGNd@}<-i#Jsj-bIxL%3RIy5o`@r~%WfM-fRi&q&S={PyUnip<~nOg zzz)wXy@0Oo@apc>k-;mb&`M!mCTNycc&`z;G8D4R1Cydk$;hjZOhHxFBek4$ZS6Y8 zk$EYiY1&$edG9bUkejJZ?+p)WiUq4srtrMS1fVUa?Hkd z%5z|XhPA{DUYh|-!^k^o3+Ee5>| BQtE)ii5P5i05$W&ov$xCC9R2x(7B)oHDR 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 QxT6g~Q&mr;TFLJHe@{=aV*mgE literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/notification.png b/src/res/drawable-hdpi/notification.png new file mode 100644 index 0000000000000000000000000000000000000000..b13ab4a9232b11f23a3eda4c4c80e543e6802c7d GIT binary patch literal 3107 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 Y0NbM{;)bwtBLDyZ07*qoM6N<$f~1kZuK)l5 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/selected.png b/src/res/drawable-hdpi/selected.png new file mode 100644 index 0000000000000000000000000000000000000000..b889bef091f6f8bb3630195a02f908db4b0b17de GIT binary patch literal 4959 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/title_alert.png b/src/res/drawable-hdpi/title_alert.png new file mode 100644 index 0000000000000000000000000000000000000000..544ee9ca6c956b580dce42e5bc1bf3192b64face GIT binary patch literal 3696 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_2x_blue.png b/src/res/drawable-hdpi/widget_2x_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..a1707f4232b0715116a668fe3792d376ba2a1fe6 GIT binary patch literal 1946 zcmeIz>pv5U9|!QsWz}&fx8=B;D23Issr@9fxsIb!b3Z0claX8&5+i0|tmWj|Tu!Fk zj%$7{A(wG7j>}9$Ih;)<_v_|z>g7E7{SUtf@9+2Z`aJkN_&)iP9UZKsj;b96002@p z)`)B0_V{;)CBDs>xEV750En?cm^(f2oF8xVQ@E-aGZoCRId@82S-WAr=%z*+V?)(_ z8{jIGG;Hw4(JoGA)+CsJoKUsfGQA-7RNr=r*Q*ZE*=T^5EZ6GfRaC2czQ5%Kp7S>Z z8yec_F$Nsbwq%H<`(K*V+nIY&R`2$sT%zcW51wUiqB$J2T#y?tV7-0-76{YmfBR6l z2h9>OZ4rj-@i(lT#u;|Z^^)~*TJfVvglH>?BWHnz)~)~Pq8zCMaTQ&;hxj7BSj&>i z2xGItVd9XzCkE%U4i$NXRvykvLf!;9<0l@TglX@#ccNudV@X!$xuOpE68Oo` zk@2Sg7*K;ADM+8F}D|7l#y2JW7eR z_d)V?9&ZI2Z}d40)Q&e#WZ9NfDjgyF+tK+Y6@FOPOS|~gWTjl~nU{Y9f<0s6r|~sn z-YHrzkP8aD6~s&L%O;ra%*L?@i*KuMC``EpehRmUfah+oJXk$;2G4g| z_;zt;Z6~jM?i^sLb0~?){MkW6TYGUgBswtSV)M>I_9BTMz0uh%c+&Zck{IM<5?@;V zERtAcpjLpwZcYG6wfwu_j5|&~sJW$5vQ$t(m+JIu8eFETz8DR1 zfnmt#+2<+ruk>tDtzDE85-*uLL>p?+o$mRfFVeok>$ggk2A8R}a*% zkM^dX?=C;sQLM~s)`;GnE&;dvNF>puZm?E8EMOzOY!qXAA8pJ4NDsll*^a2K$%#$j zE^9A~)s}fI-YsK-LuhQ?OBhZLO1Q231{jyUp}3%5)1floG;-#BnB4>E+aL7mJSXQe zc@I&#wD*NmOEdHh`f)mnl3?WvXzhO;85Lp#2c=l@ey!qMN{}J>wrCvBadx-{G`kNS z+sE&3O}^QD;oPj0s5k0(`(ik&x29p`zZK__B%U_Hf2bIBtp2pxiPQPWm$R1ra-BTs zuafV$gk5PKi;uaHf1`%W0bB2rVs7UM-7$uuguE%mHjAZMe@;p>&Jq1&Sv1#wz zj6qSPT{+M~K}}bRr^9Zd&j`YdOt?Z}ICh%2^jkgAK2yFa$=|m$Gj0*?X(7-tY$cSlwg|qrc zG;-Fy;!|i@!So-=bFDp>E~nmHk%&;RSi5&;_-f{>MC(td!o*&=gBxHJQeQ1~ zC62X!xAjys|_Tsfj?a+wunHJX->@AX)Zq(^~WV+x+(-?!; zw@zp@)q-%c#CSTrZQSkSO~2W!hUQvWil+0`u;o6}@rwNi#(0y5 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_2x_green.png b/src/res/drawable-hdpi/widget_2x_green.png new file mode 100644 index 0000000000000000000000000000000000000000..f86886c142f3650dbd9b06818fd3dd1b9c0696d5 GIT binary patch literal 1954 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_2x_white.png b/src/res/drawable-hdpi/widget_2x_white.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0619a37a8e5ea3ddfaa84b3ef0f925e54ac887 GIT binary patch literal 1901 zcmeIz|34Fm9|!Qwv_uZO(>~eCmvZtw-woB$Y~*VZB}SVlM!sJ85*uRe40o;%GOmwG zWxj+@TRTLyw!W}cL(W>v*9y~UMvUvu{d9lB{qTIfACLDB?;l>jysrlMVKmkC)Bym1 zrk5w`_}3}=lN$JIPUKA>0f4RcUZ}%Cm$0*<$Mr(wcSMO@iV$~L>X&aN&i_rOd~=Xw zgk9J!75&KAWuid0swG6}QL^;mD&g091eK=oln|Dm(*Y5%DUCmF=S%9m*XH_JX?Xkp z)Pm%rrmwv@rqRYyfwHSBXCfs+AP=>&F}=N(rB`r=>^zVzt)ntBnXAjoa#6Y9)%N>2 zYo8^&51B#JhcLW8QQvCe-GVdPNYG2g<)ZL`AxC@+0(*PkE4_fJo5?j1apkc4vt}a; z3F^O`v>`>-6`8*b@zdS;Lap~Lr(UQ0C~-O#;} zZKS@zR>w%`$8{&z!#1Fl@YiPjO=x#39Zsk1d5o}auF+dwd~X>CVltZeN2>c+ZWl^; z_*q3J&>n#IFJFk8ojIG_pt9VB2epuf0DnUgh(ntU9Fc@g+AsshO=L}N*d`8`thosX z;(#}`0CAwd{Cn;n-M#b`9G|}E8r%lM=;XI&E@80vm^lZus^r%^9mEaKw?+$qFoaBv zR(eT4!42R(#yNuI7^>z%e8@e~-@13i%@4QRg$FhM_V(tAeXJ-GNntkl%TJt8q|)yk zRGjm@BeX%;7gi{+G|qDeYs6j47EV=>#S5YaErlCO52JAmF$@bwK}Gc|`qB@pOO1kq z8>usVamj@pj}rC8kL3R=I{%<*rm9oAii+wq5zRHtFXH0ag9L|mI-M>$Ygm6Taez`A zKymjlv~J-T1?cpvqdg4A`+q4{z1ivFir9VV_3$}ox8B99-ZU52>PIda2Qs)RADCN9 zcJu32KEEqbtd3+U=ZI+@wblj9S}5A&Mtr&}-`<$_f)N$7)4K9h6+*%-ZL2d(#}wS+ zCibxWsMcLy#)ux*uAWpVE;1P->6wA3>kh3`@80o?6Q2wZpN9Xg^#RKFsd^KKzzUIG)(&J%DDv>Kd0tefM$i`s9n88o%H7MoU&cq&g~R zo(WBQj1{Bn>_gmf*}as?4SD%UMAn8_3xs_zs@vgYCwOaTVw-MQZDNFr(4JiEaEf^i zxBc&bjBFoQ*tGbxCbA!JwnpV9H$2LXzBk2j6;`B-U3W;ZLhoYd>dvbg`Pelhz~`}C z*CPx!{^ewaUo&&yv}7nl$M`4V%*tq9UP3dI1=#{qN~QcSR4H{Sy@|WDbkQlaF&Jb{ z{()XC&YBl%ru4*bnH2c_>?DKN;#Wyh9%*b81@N(;nw@W4mmUOo5J>F6U2P9N&^i*;)CX2i-FN3$i`A;$P z(|B)Icca#b*|gC%9;8F?EZ`I>ok&3~+FdOT0S{&I50>RFAp$t|0E-p@}Pm{sEA_VKHS86 zc|$yMBEg;z{=OnPM~iwtRh3OsYPJlQ56@0>&SKg? z->}_gHK?U{A>CkqF&07Av7+^VId31UPxK{t|0p^tCRIFFIqIZ7&}?3idsi2_+eIBi zvQamUk9ud(R{m7v(occRG!TJ!UEanfk~yT8ngz*KAbo7eew=m1B(NK+wvDqTEqKquS=N z(~;R%jn`v-!qc#YKOZ!#pQPUBK%h{XuY4niHdo?ZR(po<^^F3&Jp52i?vc5F00d`# ATL1t6 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_2x_yellow.png b/src/res/drawable-hdpi/widget_2x_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..12d1c2ba7b40158b5115b7bbc6ce8b6d07b67893 GIT binary patch literal 1978 zcmeIz**n{b8VB%SL{e*IP+QU^s+^X=DNT!7Y71JiCAAePN+%)cRJ6n#%R$uEmX<-w zFmq6nP@+|Wl%j}GQd?swrNmOT6(@2!<2g6yZ#Wm9_kEu4#rNX9c~hM+Xjv&WDF6Uu z?d_~xzwhxsNkG5P*~D2305}wHZ+!`S$9HM`?_q-$Dsj`RbbI6x{Ui5PJfA%u^y}<0 z53sr-gB8kFBl90>n)Ovw9#)bzE+~&aws8Alt@Q)nSTk)*gw`-qWs4j~r-!zbA*;(G zX?@(jJ~xNX0cXrN94+0mC{*?$@m~j#AMw+ZF@djZ_E}Gp_>h>Or z2~B&Ix#≥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 Sc&UT$0l?JA(y;10D(YW+)3Aa7 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_4x_green.png b/src/res/drawable-hdpi/widget_4x_green.png new file mode 100644 index 0000000000000000000000000000000000000000..fa8b4526faa77582794ac18bca85e8b5d7ebf512 GIT binary patch literal 4192 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 literal 0 HcmV?d00001 diff --git a/src/res/drawable-hdpi/widget_4x_yellow.png b/src/res/drawable-hdpi/widget_4x_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c5fa48dfa1fa767ce494df9555e59565b251f9 GIT binary patch literal 4199 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 sIa#C5eWch*7HE)@p6Z1vu~7Db^~Amb#kVB + + + + + + + diff --git a/src/res/layout/account_dialog_title.xml b/src/res/layout/account_dialog_title.xml new file mode 100644 index 00000000..77171121 --- /dev/null +++ b/src/res/layout/account_dialog_title.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/res/layout/add_account_text.xml b/src/res/layout/add_account_text.xml new file mode 100644 index 00000000..c7991780 --- /dev/null +++ b/src/res/layout/add_account_text.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file diff --git a/src/res/layout/datetime_picker.xml b/src/res/layout/datetime_picker.xml new file mode 100644 index 00000000..f10d592b --- /dev/null +++ b/src/res/layout/datetime_picker.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/res/layout/dialog_edit_text.xml b/src/res/layout/dialog_edit_text.xml new file mode 100644 index 00000000..361b39a8 --- /dev/null +++ b/src/res/layout/dialog_edit_text.xml @@ -0,0 +1,23 @@ + + + + + \ No newline at end of file diff --git a/src/res/layout/folder_list_item.xml b/src/res/layout/folder_list_item.xml new file mode 100644 index 00000000..77e81483 --- /dev/null +++ b/src/res/layout/folder_list_item.xml @@ -0,0 +1,29 @@ + + + + + + + + \ No newline at end of file diff --git a/src/res/layout/note_edit.xml b/src/res/layout/note_edit.xml new file mode 100644 index 00000000..d3e3e6fe --- /dev/null +++ b/src/res/layout/note_edit.xml @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/res/layout/note_edit_list_item.xml b/src/res/layout/note_edit_list_item.xml new file mode 100644 index 00000000..a885f9c2 --- /dev/null +++ b/src/res/layout/note_edit_list_item.xml @@ -0,0 +1,39 @@ + + + + + + + + + + diff --git a/src/res/layout/note_item.xml b/src/res/layout/note_item.xml new file mode 100644 index 00000000..20ca3b5a --- /dev/null +++ b/src/res/layout/note_item.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/res/layout/note_list.xml b/src/res/layout/note_list.xml new file mode 100644 index 00000000..6b25d38f --- /dev/null +++ b/src/res/layout/note_list.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + +