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

Commit 902e7af3 authored by Jochen Sprickerhof's avatar Jochen Sprickerhof
Browse files

Use display name in addition to account owner as default calendar name

The old version only saved the owner of the calendar upon creating or
editing an event as default for a new event. But this is not unique, as
there could be multiple calendars by the same owner. The new version
uses the display name as well.
parent 04a9af68
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -258,12 +258,15 @@ public class CreateEventDialogFragment extends DialogFragment implements TextWat
        }
        }


        int calendarOwnerIndex = cursor.getColumnIndexOrThrow(Calendars.OWNER_ACCOUNT);
        int calendarOwnerIndex = cursor.getColumnIndexOrThrow(Calendars.OWNER_ACCOUNT);
        int calendarNameIndex = cursor.getColumnIndexOrThrow(Calendars.CALENDAR_DISPLAY_NAME);
        int accountNameIndex = cursor.getColumnIndexOrThrow(Calendars.ACCOUNT_NAME);
        int accountNameIndex = cursor.getColumnIndexOrThrow(Calendars.ACCOUNT_NAME);
        int accountTypeIndex = cursor.getColumnIndexOrThrow(Calendars.ACCOUNT_TYPE);
        int accountTypeIndex = cursor.getColumnIndexOrThrow(Calendars.ACCOUNT_TYPE);


        cursor.moveToPosition(-1);
        cursor.moveToPosition(-1);
        while (cursor.moveToNext()) {
        while (cursor.moveToNext()) {
            String calendarOwner = cursor.getString(calendarOwnerIndex);
            String calendarOwner = cursor.getString(calendarOwnerIndex);
            String calendarName = cursor.getString(calendarNameIndex);
            String currentCalendar = calendarOwner + "/" + calendarName;
            if (defaultCalendar == null) {
            if (defaultCalendar == null) {
                // There is no stored default upon the first time running.  Use a primary
                // There is no stored default upon the first time running.  Use a primary
                // calendar in this case.
                // calendar in this case.
@@ -274,7 +277,7 @@ public class CreateEventDialogFragment extends DialogFragment implements TextWat
                    setCalendarFields(cursor);
                    setCalendarFields(cursor);
                    return;
                    return;
                }
                }
            } else if (defaultCalendar.equals(calendarOwner)) {
            } else if (defaultCalendar.equals(currentCalendar)) {
                // Found the default calendar.
                // Found the default calendar.
                setCalendarFields(cursor);
                setCalendarFields(cursor);
                return;
                return;
+10 −4
Original line number Original line Diff line number Diff line
@@ -670,12 +670,15 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
            mModel.mCalendarId = mCalendarsSpinner.getSelectedItemId();
            mModel.mCalendarId = mCalendarsSpinner.getSelectedItemId();
            int calendarCursorPosition = mCalendarsSpinner.getSelectedItemPosition();
            int calendarCursorPosition = mCalendarsSpinner.getSelectedItemPosition();
            if (mCalendarsCursor.moveToPosition(calendarCursorPosition)) {
            if (mCalendarsCursor.moveToPosition(calendarCursorPosition)) {
                String defaultCalendar = mCalendarsCursor.getString(
                String calendarOwner = mCalendarsCursor.getString(
                        EditEventHelper.CALENDARS_INDEX_OWNER_ACCOUNT);
                        EditEventHelper.CALENDARS_INDEX_OWNER_ACCOUNT);
                String calendarName = mCalendarsCursor.getString(
                        EditEventHelper.CALENDARS_INDEX_DISPLAY_NAME);
                String defaultCalendar = calendarOwner + "/" + calendarName;
                Utils.setSharedPreference(
                Utils.setSharedPreference(
                        mActivity, GeneralPreferences.KEY_DEFAULT_CALENDAR, defaultCalendar);
                        mActivity, GeneralPreferences.KEY_DEFAULT_CALENDAR, defaultCalendar);
                mModel.mOwnerAccount = defaultCalendar;
                mModel.mOwnerAccount = calendarOwner;
                mModel.mOrganizer = defaultCalendar;
                mModel.mOrganizer = calendarOwner;
                mModel.mCalendarId = mCalendarsCursor.getLong(EditEventHelper.CALENDARS_INDEX_ID);
                mModel.mCalendarId = mCalendarsCursor.getLong(EditEventHelper.CALENDARS_INDEX_ID);
            }
            }
        }
        }
@@ -1258,12 +1261,15 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
                mActivity, GeneralPreferences.KEY_DEFAULT_CALENDAR, (String) null);
                mActivity, GeneralPreferences.KEY_DEFAULT_CALENDAR, (String) null);


        int calendarsOwnerIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.OWNER_ACCOUNT);
        int calendarsOwnerIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.OWNER_ACCOUNT);
        int calendarNameIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.CALENDAR_DISPLAY_NAME);
        int accountNameIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.ACCOUNT_NAME);
        int accountNameIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.ACCOUNT_NAME);
        int accountTypeIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.ACCOUNT_TYPE);
        int accountTypeIndex = calendarsCursor.getColumnIndexOrThrow(Calendars.ACCOUNT_TYPE);
        int position = 0;
        int position = 0;
        calendarsCursor.moveToPosition(-1);
        calendarsCursor.moveToPosition(-1);
        while (calendarsCursor.moveToNext()) {
        while (calendarsCursor.moveToNext()) {
            String calendarOwner = calendarsCursor.getString(calendarsOwnerIndex);
            String calendarOwner = calendarsCursor.getString(calendarsOwnerIndex);
            String calendarName = calendarsCursor.getString(calendarNameIndex);
            String currentCalendar = calendarOwner + "/" + calendarName;
            if (defaultCalendar == null) {
            if (defaultCalendar == null) {
                // There is no stored default upon the first time running.  Use a primary
                // There is no stored default upon the first time running.  Use a primary
                // calendar in this case.
                // calendar in this case.
@@ -1273,7 +1279,7 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
                                calendarsCursor.getString(accountTypeIndex))) {
                                calendarsCursor.getString(accountTypeIndex))) {
                    return position;
                    return position;
                }
                }
            } else if (defaultCalendar.equals(calendarOwner)) {
            } else if (defaultCalendar.equals(currentCalendar)) {
                // Found the default calendar.
                // Found the default calendar.
                return position;
                return position;
            }
            }