Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4179e6e4 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Use getColumnIndexOrThrow() for safer cursor access

parent 4c57b804
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -144,7 +144,7 @@ public class RelationHandler extends PropertyHandler {
        if (values.containsKey(Relation.RELATED_TYPE)) {
            type = values.getAsInteger(Relation.RELATED_TYPE);
        } else {
            type = oldValues.getInt(oldValues.getColumnIndex(Relation.RELATED_TYPE));
            type = oldValues.getInt(oldValues.getColumnIndexOrThrow(Relation.RELATED_TYPE));
        }

        if (type == Relation.RELTYPE_PARENT) {
@@ -194,7 +194,7 @@ public class RelationHandler extends PropertyHandler {
     * @param oldValues
     */
    private void clearParentId(SQLiteDatabase db, long taskId, Cursor oldValues) {
        int type = oldValues.getInt(oldValues.getColumnIndex(Relation.RELATED_TYPE));
        int type = oldValues.getInt(oldValues.getColumnIndexOrThrow(Relation.RELATED_TYPE));

        /*
         * This is more complicated than it may sound. We don't know the order in which
+2 −2
Original line number Diff line number Diff line
@@ -167,10 +167,10 @@ public class ManageListActivity extends BaseActivity
            }
            cursor.moveToNext();
            if (mListName == null) {
                mListName = cursor.getString(cursor.getColumnIndex(TaskContract.TaskLists.LIST_NAME));
                mListName = cursor.getString(cursor.getColumnIndexOrThrow(TaskContract.TaskLists.LIST_NAME));
            }
            if (mListColor == NO_COLOR) {
                mListColor = cursor.getInt(cursor.getColumnIndex(TaskContract.TaskLists.LIST_COLOR));
                mListColor = cursor.getInt(cursor.getColumnIndexOrThrow(TaskContract.TaskLists.LIST_COLOR));
            }
        }
        mNameView.setText(mListName);
+5 −5
Original line number Diff line number Diff line
@@ -270,11 +270,11 @@ public class SettingsListFragment extends ListFragment
        @Override
        public Cursor swapCursor(Cursor c) {
            if (c != null) {
                listNameColumn = c.getColumnIndex(TaskContract.TaskLists.LIST_NAME);
                listColorColumn = c.getColumnIndex(TaskContract.TaskLists.LIST_COLOR);
                compareColumn = c.getColumnIndex(mListCompareColumnName);
                accountNameColumn = c.getColumnIndex(TaskContract.TaskLists.ACCOUNT_NAME);
                accountTypeColumn = c.getColumnIndex(TaskContract.TaskLists.ACCOUNT_TYPE);
                listNameColumn = c.getColumnIndexOrThrow(TaskContract.TaskLists.LIST_NAME);
                listColorColumn = c.getColumnIndexOrThrow(TaskContract.TaskLists.LIST_COLOR);
                compareColumn = c.getColumnIndexOrThrow(mListCompareColumnName);
                accountNameColumn = c.getColumnIndexOrThrow(TaskContract.TaskLists.ACCOUNT_NAME);
                accountTypeColumn = c.getColumnIndexOrThrow(TaskContract.TaskLists.ACCOUNT_TYPE);
            } else {
                listNameColumn = -1;
                listColorColumn = -1;
+7 −7
Original line number Diff line number Diff line
@@ -555,7 +555,7 @@ public class TaskListFragment extends SupportFragment
                    ExpandableListView.getPackedPositionChild(packedPos));

            if (cursor != null) {
                int taskStatus = cursor.getInt(cursor.getColumnIndex(Instances.STATUS));
                int taskStatus = cursor.getInt(cursor.getColumnIndexOrThrow(Instances.STATUS));
                if (leftFlingView != null && rightFlingView != null) {
                    if (taskStatus == Instances.STATUS_COMPLETED) {
                        leftFlingView.setText(R.string.fling_task_delete);
@@ -593,10 +593,10 @@ public class TaskListFragment extends SupportFragment
                    ExpandableListView.getPackedPositionChild(packedPos));

            if (cursor != null) {
                long instanceId = cursor.getLong(cursor.getColumnIndex(Instances._ID));
                long instanceId = cursor.getLong(cursor.getColumnIndexOrThrow(Instances._ID));

                boolean closed = cursor.getLong(cursor.getColumnIndex(Instances.IS_CLOSED)) > 0;
                String title = cursor.getString(cursor.getColumnIndex(Instances.TITLE));
                boolean closed = cursor.getLong(cursor.getColumnIndexOrThrow(Instances.IS_CLOSED)) > 0;
                String title = cursor.getString(cursor.getColumnIndexOrThrow(Instances.TITLE));
                // TODO: use the instance URI once we support recurrence
                Uri taskUri = ContentUris.withAppendedId(Instances.getContentUri(mAuthority), instanceId);

@@ -616,7 +616,7 @@ public class TaskListFragment extends SupportFragment
                    if (closed) {
                        return setCompleteTask(taskUri, title, false);
                    } else {
                        openTaskEditor(taskUri, cursor.getString(cursor.getColumnIndex(Instances.ACCOUNT_TYPE)));
                        openTaskEditor(taskUri, cursor.getString(cursor.getColumnIndexOrThrow(Instances.ACCOUNT_TYPE)));
                        return false;
                    }
                }
@@ -767,7 +767,7 @@ public class TaskListFragment extends SupportFragment
    public void expandCurrentSearchGroup() {
        if (mPageId == R.id.task_group_search && mAdapter.getGroupCount() > 0) {
            Cursor c = mAdapter.getGroup(0);
            if (c != null && c.getInt(c.getColumnIndex(SearchHistoryColumns.HISTORIC)) < 1) {
            if (c != null && c.getInt(c.getColumnIndexOrThrow(SearchHistoryColumns.HISTORIC)) < 1) {
                mExpandableListView.expandGroup(0);
            }
        }
@@ -809,7 +809,7 @@ public class TaskListFragment extends SupportFragment
        if (taskUri != null && listCursor != null && listCursor.moveToFirst()) {
            Long taskIdToSelect = Long.valueOf(taskUri.getLastPathSegment());
            do {
                Long taskId = listCursor.getLong(listCursor.getColumnIndex(Tasks._ID));
                Long taskId = listCursor.getLong(listCursor.getColumnIndexOrThrow(Tasks._ID));
                if (taskId.equals(taskIdToSelect)) {
                    return listCursor.getPosition();
                }
+13 −13
Original line number Diff line number Diff line
@@ -146,15 +146,15 @@ public class TasksExtension extends DashClockExtension {

                boolean isAllDay = allDayTaskCount > 0;

                String description = c.getString(c.getColumnIndex(Tasks.DESCRIPTION));
                String description = c.getString(c.getColumnIndexOrThrow(Tasks.DESCRIPTION));
                if (description != null) {
                    description = description.replaceAll("\\[\\s?\\]", " ").replaceAll("\\[[xX]\\]", "✓");
                }
                String title = getTaskTitleDisplayString(c, isAllDay);

                // intent
                String accountType = c.getString(c.getColumnIndex(Instances.ACCOUNT_TYPE));
                long taskId = c.getLong(c.getColumnIndex(Instances._ID));
                String accountType = c.getString(c.getColumnIndexOrThrow(Instances.ACCOUNT_TYPE));
                long taskId = c.getLong(c.getColumnIndexOrThrow(Instances._ID));
                Intent clickIntent = buildClickIntent(taskId, accountType);

                // Publish the extension data update.
@@ -205,7 +205,7 @@ public class TasksExtension extends DashClockExtension {
    private String getTaskTitleDueString(Cursor c, boolean isAllDay) {
        if (isAllDay) {
            return getString(R.string.dashclock_widget_title_due_expanded_allday,
                    c.getString(c.getColumnIndex(Tasks.TITLE)));
                    c.getString(c.getColumnIndexOrThrow(Tasks.TITLE)));
        } else {
            TimeFieldAdapter timeFieldAdapter = new TimeFieldAdapter(Instances.DUE, Instances.TZ, Instances.IS_ALLDAY);
            Time dueTime = timeFieldAdapter.get(c);
@@ -213,15 +213,15 @@ public class TasksExtension extends DashClockExtension {
                return null;
            }
            String dueTimeString = mDateFormatter.format(dueTime, DateFormatContext.DASHCLOCK_VIEW);
            return getString(R.string.dashclock_widget_title_due_expanded, c.getString(c.getColumnIndex(Tasks.TITLE)),
                    dueTimeString);
            return getString(R.string.dashclock_widget_title_due_expanded,
                    c.getString(c.getColumnIndexOrThrow(Tasks.TITLE)), dueTimeString);
        }
    }

    private String getTaskTitleStartString(Cursor c, boolean isAllDay) {
        if (isAllDay) {
            return getString(R.string.dashclock_widget_title_start_expanded_allday,
                    c.getString(c.getColumnIndex(Tasks.TITLE)));
                    c.getString(c.getColumnIndexOrThrow(Tasks.TITLE)));
        } else {
            TimeFieldAdapter timeFieldAdapter = new TimeFieldAdapter(Instances.DTSTART, Instances.TZ,
                    Instances.IS_ALLDAY);
@@ -230,22 +230,22 @@ public class TasksExtension extends DashClockExtension {
                return null;
            }
            String startTimeString = mDateFormatter.format(startTime, DateFormatContext.DASHCLOCK_VIEW);
            return getString(R.string.dashclock_widget_title_start_expanded, c.getString(c.getColumnIndex(Tasks.TITLE)),
                    startTimeString);
            return getString(R.string.dashclock_widget_title_start_expanded,
                    c.getString(c.getColumnIndexOrThrow(Tasks.TITLE)), startTimeString);
        }
    }

    private boolean isDueEvent(Cursor c, boolean isAllDay) {

        if (c.isNull(c.getColumnIndex(Instances.DUE))) {
        if (c.isNull(c.getColumnIndexOrThrow(Instances.DUE))) {
            return false;
        }
        if (c.isNull(c.getColumnIndex(Instances.DTSTART))) {
        if (c.isNull(c.getColumnIndexOrThrow(Instances.DTSTART))) {
            return true;
        }

        Long dueTime = c.getLong(c.getColumnIndex(Instances.DUE));
        Long startTime = c.getLong(c.getColumnIndex(Instances.DTSTART));
        Long dueTime = c.getLong(c.getColumnIndexOrThrow(Instances.DUE));
        Long startTime = c.getLong(c.getColumnIndexOrThrow(Instances.DTSTART));

        if (isAllDay) {

Loading