Delphi TNotificationCenter Multiple Repeating Notifications has unexpected behaviour
<p>lets say you want to create a Notification with a repeat interval so that it is recurring</p>

<pre><code>var
    MyNotification : TNotification;
begin
    MyNotification := NotificationCenter1.CreateNotification;
    try
        MyNotification.Name := 'FirstNotification';
        MyNotification.AlertBody := 'First Notification!';
        MyNotification.FireDate := IncSecond(Now,15);// Note this fires 15 secs from NOW
        MyNotification.RepeatInterval := TRepeatInterval.Minute;
        Notificationcenter1.ScheduleNotification(MyNotification);
    finally
        MyNotification.DisposeOf;
    end;
</code></pre>

<p>In my case it is recurring to remind the user to respond to the notification, and then Once the user responds to the Notification on the TNotificationCenters <code>OnReceiveLocalNotification</code> I simply cancel the notification</p>

<pre><code>NotificationCenter1.CancelNotification(ANotification.Name);
</code></pre>

<p>this cancels the notification and it works(kind of)</p>

<p>Now the above example will create a notification and once every minute if it is not responded to it will fire again, and again till responded to.</p>

<p>But the problem now is if I would to create another notification that I also want to repeat:</p>

<pre><code>var
    MyNotification2 : TNotification;
begin
    MyNotification2 := NotificationCenter1.CreateNotification;
    try
        MyNotification2.Name := 'SecondNotification';
        MyNotification2.AlertBody := 'Second Notification!';
        MyNotification2.FireDate := IncSecond(Now,30);// Note this fires 30 secs from NOW
        MyNotification2.RepeatInterval := TRepeatInterval.Minute;
        Notificationcenter1.ScheduleNotification(MyNotification2);
    finally
        MyNotification2.DisposeOf;
    end;
</code></pre>

<p>if the Second Notification's FireDate is set to later than the first then it all works fine and dandy as expected, BUT if I was to Create the Second Notification with a FireDate like <code>IncSecond(Now,10)</code> meaning it will fire before the first scheduled Notification things go wrong </p>

<pre><code>var
    MyNotification2 : TNotification;
begin
    MyNotification2 := NotificationCenter1.CreateNotification;
    try
        MyNotification2.Name := 'SecondNotification';
        MyNotification2.AlertBody := 'Second Notification!';
        MyNotification2.FireDate := IncSecond(Now,10);// Note this fires 10 secs from NOW
        MyNotification2.RepeatInterval := TRepeatInterval.Minute;
        Notificationcenter1.ScheduleNotification(MyNotification2);
    finally
        MyNotification2.DisposeOf;
    end;
</code></pre>

<p>The First Notification <strong>never arrives</strong> and the second Notification is no longer removed by <code>NotificationCenter1.CancelNotification(ANotification.Name);</code>
the <code>CancelNotification</code> will now have no effect on the SecondNotification</p>

<p><strong>Update 1</strong></p>

<p>I can confirm that the code works exactly as it should (No unexpected behaviour) in iOS so this is a Android related issue,</p>

<p>I have tried it on Xperia Z2 running 5.0.2 and a Samsung Note 2 running 4.4.2 and the behaviour is exactly the same </p>