Simple Notepad Application for Android OS
Revision | 102e18460466d6713f630c7682161881744cdbac (tree) |
---|---|
Zeit | 2019-02-06 14:57:30 |
Autor | Masahiko, SAWAI <say@user...> |
Commiter | Masahiko, SAWAI |
Fixed note id parser.
@@ -44,7 +44,7 @@ import org.routine_work.notepad.provider.NoteStore.NoteTemplate; | ||
44 | 44 | import org.routine_work.utils.Log; |
45 | 45 | |
46 | 46 | public class NoteProvider extends ContentProvider |
47 | - implements NoteDBConstants | |
47 | + implements NoteDBConstants | |
48 | 48 | { |
49 | 49 | |
50 | 50 | private static final String LOG_TAG = "simple-notepad"; |
@@ -72,14 +72,14 @@ public class NoteProvider extends ContentProvider | ||
72 | 72 | |
73 | 73 | SUGGESTION_PROJECTION_MAP = new HashMap<String, String>(); |
74 | 74 | SUGGESTION_PROJECTION_MAP.put(SearchManager.SUGGEST_COLUMN_TEXT_1, |
75 | - Note.Columns.TITLE + " AS " + SearchManager.SUGGEST_COLUMN_TEXT_1); | |
75 | + Note.Columns.TITLE + " AS " + SearchManager.SUGGEST_COLUMN_TEXT_1); | |
76 | 76 | SUGGESTION_PROJECTION_MAP.put(SearchManager.SUGGEST_COLUMN_TEXT_2, |
77 | - Note.Columns.CONTENT + " AS " + SearchManager.SUGGEST_COLUMN_TEXT_2); | |
77 | + Note.Columns.CONTENT + " AS " + SearchManager.SUGGEST_COLUMN_TEXT_2); | |
78 | 78 | SUGGESTION_PROJECTION_MAP.put(SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID, |
79 | - Note.Columns._ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID); | |
79 | + Note.Columns._ID + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA_ID); | |
80 | 80 | SUGGESTION_PROJECTION_MAP.put(Note.Columns._ID, Note.Columns._ID); |
81 | 81 | SUGGESTION_PROJECTION_MAP.put(SearchManager.SUGGEST_COLUMN_INTENT_DATA, |
82 | - "'" + NoteStore.Note.CONTENT_URI + "'" + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA); | |
82 | + "'" + NoteStore.Note.CONTENT_URI + "'" + " AS " + SearchManager.SUGGEST_COLUMN_INTENT_DATA); | |
83 | 83 | } |
84 | 84 | |
85 | 85 | @Override |
@@ -93,7 +93,7 @@ public class NoteProvider extends ContentProvider | ||
93 | 93 | |
94 | 94 | @Override |
95 | 95 | public Cursor query(Uri uri, String[] projection, |
96 | - String selection, String[] selectionArgs, String sort) | |
96 | + String selection, String[] selectionArgs, String sort) | |
97 | 97 | { |
98 | 98 | Log.v(LOG_TAG, "Hello"); |
99 | 99 | Log.d(LOG_TAG, "query uri => " + uri); |
@@ -137,12 +137,12 @@ public class NoteProvider extends ContentProvider | ||
137 | 137 | setUpQueryByPhrase(qb, q); |
138 | 138 | break; |
139 | 139 | case NOTES_ITEM_BY_ID: |
140 | - setUpQueryByNoteId(qb, uri.getPathSegments().get(1)); | |
140 | + setUpQueryByNoteId(qb, getResourceId(uri)); | |
141 | 141 | break; |
142 | 142 | case NOTE_TEMPLATES_ITEM_ALL: |
143 | 143 | break; |
144 | 144 | case NOTE_TEMPLATES_ITEM_BY_ID: |
145 | - setUpQueryByNoteTemplateId(qb, uri.getPathSegments().get(1)); | |
145 | + setUpQueryByNoteTemplateId(qb, getResourceId(uri)); | |
146 | 146 | break; |
147 | 147 | default: |
148 | 148 | throw new IllegalArgumentException("Unsupported URI: " + uri); |
@@ -156,7 +156,7 @@ public class NoteProvider extends ContentProvider | ||
156 | 156 | Log.v(LOG_TAG, "limit => " + limit); |
157 | 157 | |
158 | 158 | Cursor cursor = qb.query(noteDB, projection, selection, selectionArgs, |
159 | - null, null, sort, limit); | |
159 | + null, null, sort, limit); | |
160 | 160 | Log.v(LOG_TAG, "cursor => " + cursor); |
161 | 161 | |
162 | 162 | cursor.setNotificationUri(getContext().getContentResolver(), uri); |
@@ -218,7 +218,7 @@ public class NoteProvider extends ContentProvider | ||
218 | 218 | } |
219 | 219 | |
220 | 220 | count = noteDB.delete(tableName, whereClause.toString(), |
221 | - whereArgs); | |
221 | + whereArgs); | |
222 | 222 | break; |
223 | 223 | |
224 | 224 | default: |
@@ -232,7 +232,7 @@ public class NoteProvider extends ContentProvider | ||
232 | 232 | |
233 | 233 | @Override |
234 | 234 | public int update(Uri uri, ContentValues values, String where, |
235 | - String[] whereArgs) | |
235 | + String[] whereArgs) | |
236 | 236 | { |
237 | 237 | int count; |
238 | 238 | Log.v(LOG_TAG, "Hello"); |
@@ -262,7 +262,7 @@ public class NoteProvider extends ContentProvider | ||
262 | 262 | whereClause.append(")"); |
263 | 263 | } |
264 | 264 | count = noteDB.update(tableName, values, |
265 | - whereClause.toString(), whereArgs); | |
265 | + whereClause.toString(), whereArgs); | |
266 | 266 | break; |
267 | 267 | default: |
268 | 268 | throw new IllegalArgumentException("Unknown URI " + uri); |
@@ -399,24 +399,46 @@ public class NoteProvider extends ContentProvider | ||
399 | 399 | |
400 | 400 | private static String getLimitParameter(Uri uri) |
401 | 401 | { |
402 | - String limit; | |
402 | + String limitText = null; | |
403 | 403 | |
404 | - limit = uri.getQueryParameter("limit"); | |
405 | - Log.d(LOG_TAG, "uri limit => " + limit); | |
406 | - if (limit != null) | |
404 | + String inputLimitText = uri.getQueryParameter("limit"); | |
405 | + Log.d(LOG_TAG, "uri limitString => " + inputLimitText); | |
406 | + if (inputLimitText != null) | |
407 | 407 | { |
408 | 408 | try |
409 | 409 | { |
410 | - Integer.parseInt(limit); | |
410 | + int limit = Integer.parseInt(inputLimitText); | |
411 | + limitText = Integer.toString(limit); | |
411 | 412 | } |
412 | 413 | catch (NumberFormatException e) |
413 | 414 | { |
414 | - Log.e(LOG_TAG, "limit parameter is illegal value : limitText => " + limit, e); | |
415 | - limit = null; | |
415 | + Log.e(LOG_TAG, "limit parameter is illegal value : inputLimitText => " + inputLimitText, e); | |
416 | 416 | } |
417 | 417 | } |
418 | 418 | |
419 | - return limit; | |
419 | + return limitText; | |
420 | + } | |
421 | + | |
422 | + private static String getResourceId(Uri uri) | |
423 | + { | |
424 | + String idText = null; | |
425 | + | |
426 | + String inputIdText = uri.getPathSegments().get(1); | |
427 | + Log.d(LOG_TAG, "uri inputIdText => " + inputIdText); | |
428 | + if (inputIdText != null) | |
429 | + { | |
430 | + try | |
431 | + { | |
432 | + int inputIdInt = Integer.parseInt(inputIdText); | |
433 | + idText = Integer.toString(inputIdInt); | |
434 | + } | |
435 | + catch (NumberFormatException e) | |
436 | + { | |
437 | + Log.e(LOG_TAG, "A resource id is illegal value : inputIdText => " + inputIdText, e); | |
438 | + } | |
439 | + } | |
440 | + | |
441 | + return idText; | |
420 | 442 | } |
421 | 443 | |
422 | 444 | private static void setUpQueryByPhrase(SQLiteQueryBuilder queryBuilder, String searchPhrase) |