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

Commit 06f3d6d0 authored by Sara Ting's avatar Sara Ting
Browse files

Add-reminder button should not be seen if the event has the maximum allowed reminders.

Change-Id: Ief518976e99861573602ec8e99c4d12abd4bca16
parent 91489d36
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1739,6 +1739,7 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange
                        mReminderMinuteValues, mReminderMinuteLabels, mReminderMethodValues,
                        mReminderMethodLabels, re, Integer.MAX_VALUE, mReminderChangeListener);
            }
            EventViewUtils.updateAddReminderButton(mView, mReminderViews, mMaxReminders);
            // TODO show unsupported reminder types in some fashion.
        }
    }
@@ -1931,6 +1932,7 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange
        parent.removeView(reminderItem);
        mReminderViews.remove(reminderItem);
        mUserModifiedReminders = true;
        EventViewUtils.updateAddReminderButton(mView, mReminderViews, mMaxReminders);
    }


@@ -1953,8 +1955,9 @@ public class EventInfoFragment extends DialogFragment implements OnCheckedChange
                    mReminderMethodLabels, ReminderEntry.valueOf(mDefaultReminderMinutes),
                    mMaxReminders, mReminderChangeListener);
        }
    }

        EventViewUtils.updateAddReminderButton(mView, mReminderViews, mMaxReminders);
    }

    synchronized private void prepareReminders() {
        // Nothing to do if we've already built these lists _and_ we aren't
+3 −0
Original line number Diff line number Diff line
@@ -656,6 +656,7 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
        parent.removeView(reminderItem);
        mReminderItems.remove(reminderItem);
        updateRemindersVisibility(mReminderItems.size());
        EventViewUtils.updateAddReminderButton(mView, mReminderItems, mModel.mCalendarMaxReminders);
    }

    // This is called if the user cancels the "No calendars" dialog.
@@ -990,6 +991,7 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
        }

        updateRemindersVisibility(numReminders);
        EventViewUtils.updateAddReminderButton(mView, mReminderItems, mModel.mCalendarMaxReminders);
    }

    /**
@@ -1457,6 +1459,7 @@ public class EditEventView implements View.OnClickListener, DialogInterface.OnCa
                    mModel.mCalendarMaxReminders, null);
        }
        updateRemindersVisibility(mReminderItems.size());
        EventViewUtils.updateAddReminderButton(mView, mReminderItems, mModel.mCalendarMaxReminders);
    }

    // From com.google.android.gm.ComposeActivity
+18 −0
Original line number Diff line number Diff line
@@ -275,4 +275,22 @@ public class EventViewUtils {

        return true;
    }

    /**
     * Enables/disables the 'add reminder' button depending on the current number of
     * reminders.
     */
    public static void updateAddReminderButton(View view, ArrayList<LinearLayout> reminders,
            int maxReminders) {
        View reminderAddButton = view.findViewById(R.id.reminder_add);
        if (reminderAddButton != null) {
            if (reminders.size() >= maxReminders) {
                reminderAddButton.setEnabled(false);
                reminderAddButton.setVisibility(View.GONE);
            } else {
                reminderAddButton.setEnabled(true);
                reminderAddButton.setVisibility(View.VISIBLE);
            }
        }
    }
}