// Path: NotificationAnalyser/app/src/main/java/com/tierep/notificationanalyser/NotificationAppView.java
// public class NotificationAppView {
//     public String AppName;
//     public Integer Notifications;
//     public Integer MaxNotifications;
// 
//     public NotificationAppView() {
//         this.AppName = "";
//         this.Notifications = 0;
//         this.MaxNotifications = 0;
//     }
// 
//     /**
//      *
//      * @param appName The name of the app.
//      * @param notifications The number of notifications from the app.
//      * @param maxNotifications The maximum number of notifications from any app.
//      */
//     public NotificationAppView(String appName, Integer notifications, Integer maxNotifications) {
//         this.AppName = appName;
//         this.Notifications = notifications;
//         this.MaxNotifications = maxNotifications;
//     }
// }
// 
// Path: NotificationAnalyser/app/src/main/java/com/tierep/notificationanalyser/NotificationDateView.java
// public class NotificationDateView {
//     public Date Date;
//     public Integer Notifications;
// 
//     public NotificationDateView() {
//         this.Date = null;
//         this.Notifications = 0;
//     }
// 
//     public NotificationDateView(Date date, Integer notifications) {
//         this.Date = date;
//         this.Notifications = notifications;
//     }
// }


import android.content.Intent;
import com.tierep.notificationanalyser.NotificationAppView;
import com.tierep.notificationanalyser.NotificationDateView;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
            completeNotificationDateViews.add(completeNotificationDateViews.size(), notificationDateViews.get(i));
            if (i < notificationDateViews.size() - 1) {
                Calendar nextNotificationDate = Calendar.getInstance();
                nextNotificationDate.setTime(notificationDateViews.get(i + 1).Date);
                nextNotificationDate.set(Calendar.HOUR_OF_DAY, 0);
                nextNotificationDate.set(Calendar.MINUTE, 0);
                nextNotificationDate.set(Calendar.SECOND, 0);
                nextNotificationDate.set(Calendar.MILLISECOND, 0);

                Calendar nextCalendarDate = Calendar.getInstance();
                nextCalendarDate.setTime(notificationDateViews.get(i).Date);
                nextCalendarDate.add(Calendar.DAY_OF_YEAR, 1);
                nextCalendarDate.set(Calendar.HOUR_OF_DAY, 0);
                nextCalendarDate.set(Calendar.MINUTE, 0);
                nextCalendarDate.set(Calendar.SECOND, 0);
                nextCalendarDate.set(Calendar.MILLISECOND, 0);

                while (!nextCalendarDate.equals(nextNotificationDate)){
                    NotificationDateView emptyEntry = new NotificationDateView();
                    emptyEntry.Date = nextCalendarDate.getTime();
                    completeNotificationDateViews.add(completeNotificationDateViews.size(), emptyEntry);
                    nextCalendarDate.add(Calendar.DAY_OF_YEAR, 1);
                }
            }
        }

        return completeNotificationDateViews;
    }

    @Override
// Path: NotificationAnalyser/app/src/main/java/com/tierep/notificationanalyser/NotificationAppView.java
// public class NotificationAppView {
//     public String AppName;
//     public Integer Notifications;
//     public Integer MaxNotifications;
// 
//     public NotificationAppView() {
//         this.AppName = "";
//         this.Notifications = 0;
//         this.MaxNotifications = 0;
//     }
// 
//     /**
//      *
//      * @param appName The name of the app.
//      * @param notifications The number of notifications from the app.
//      * @param maxNotifications The maximum number of notifications from any app.
//      */
//     public NotificationAppView(String appName, Integer notifications, Integer maxNotifications) {
//         this.AppName = appName;
//         this.Notifications = notifications;
//         this.MaxNotifications = maxNotifications;
//     }
// }
// 
// Path: NotificationAnalyser/app/src/main/java/com/tierep/notificationanalyser/NotificationDateView.java
// public class NotificationDateView {
//     public Date Date;
//     public Integer Notifications;
// 
//     public NotificationDateView() {
//         this.Date = null;
//         this.Notifications = 0;
//     }
// 
//     public NotificationDateView(Date date, Integer notifications) {
//         this.Date = date;
//         this.Notifications = notifications;
//     }
// }


// Path: NotificationAnalyser/app/src/main/java/com/tierep/notificationanalyser/ui/HistoryDailyFragment.java
import android.content.Intent;
import com.tierep.notificationanalyser.NotificationAppView;
import com.tierep.notificationanalyser.NotificationDateView;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

            completeNotificationDateViews.add(completeNotificationDateViews.size(), notificationDateViews.get(i));
            if (i < notificationDateViews.size() - 1) {
                Calendar nextNotificationDate = Calendar.getInstance();
                nextNotificationDate.setTime(notificationDateViews.get(i + 1).Date);
                nextNotificationDate.set(Calendar.HOUR_OF_DAY, 0);
                nextNotificationDate.set(Calendar.MINUTE, 0);
                nextNotificationDate.set(Calendar.SECOND, 0);
                nextNotificationDate.set(Calendar.MILLISECOND, 0);

                Calendar nextCalendarDate = Calendar.getInstance();
                nextCalendarDate.setTime(notificationDateViews.get(i).Date);
                nextCalendarDate.add(Calendar.DAY_OF_YEAR, 1);
                nextCalendarDate.set(Calendar.HOUR_OF_DAY, 0);
                nextCalendarDate.set(Calendar.MINUTE, 0);
                nextCalendarDate.set(Calendar.SECOND, 0);
                nextCalendarDate.set(Calendar.MILLISECOND, 0);

                while (!nextCalendarDate.equals(nextNotificationDate)){
                    NotificationDateView emptyEntry = new NotificationDateView();
                    emptyEntry.Date = nextCalendarDate.getTime();
                    completeNotificationDateViews.add(completeNotificationDateViews.size(), emptyEntry);
                    nextCalendarDate.add(Calendar.DAY_OF_YEAR, 1);
                }
            }
        }

        return completeNotificationDateViews;
    }

    @Override
    protected List<NotificationAppView> getListViewDate(Date date) throws SQLException {