@@ -0,0 +1,1577 @@
+package com.novoda.downloadmanager;%0A%0Aimport android.app.Notification;%0Aimport android.content.Context;%0Aimport android.support.annotation.DrawableRes;%0Aimport android.support.v4.app.NotificationCompat;%0A%0Aclass MigrationNotification implements NotificationCreator%3CMigrationStatus%3E %7B%0A%0A    private final Context context;%0A    private final int iconDrawable;%0A%0A    MigrationNotification(Context context, @DrawableRes int iconDrawable) %7B%0A        this.context = context.getApplicationContext();%0A        this.iconDrawable = iconDrawable;%0A    %7D%0A%0A    @Override%0A    public NotificationInformation createNotification(String notificationChannelName, MigrationStatus migrationStatus) %7B%0A        String title = migrationStatus.message();%0A%0A        Notification notification = new NotificationCompat.Builder(context, notificationChannelName)%0A                .setSmallIcon(iconDrawable)%0A                .setContentTitle(migrationStatus.message())%0A                .build();%0A%0A        return new MigrationNotificationInformation(title.hashCode(), notification);%0A    %7D%0A%0A    private static class MigrationNotificationInformation implements NotificationInformation %7B%0A%0A        private final int id;%0A        private final Notification notification;%0A%0A        MigrationNotificationInformation(int id, Notification notification) %7B%0A            this.id = id;%0A            this.notification = notification;%0A        %7D%0A%0A        @Override%0A        public int getId() %7B%0A            return id;%0A        %7D%0A%0A        @Override%0A        public Notification getNotification() %7B%0A            return notification;%0A        %7D%0A    %7D%0A%7D%0A

Create a MigrationNotification.