diff --git a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java index e85e23208..2b5af405d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java +++ b/apps/routerconsole/java/src/net/i2p/router/news/NewsManager.java @@ -172,6 +172,23 @@ public class NewsManager implements ClientApp { return parseNews(newsContent, false); } + /** + * The initial (welcome to i2p) news + * + * @return entry with first-installed date stamp, or null + * @since 0.9.28 + */ + public NewsEntry getInitialNews() { + List list = parseInitialNews(); + if (list.isEmpty()) + return null; + NewsEntry rv = list.get(0); + long installed = _context.getProperty("router.firstInstalled", 0L); + if (installed > 0) + rv.updated = installed; + return rv; + } + private List parseInitialNews() { NewsEntry entry = new NewsEntry(); File file = new File(_context.getBaseDir(), "docs/initialNews/initialNews.xml"); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java index 5eaa3e362..89928da89 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NewsFeedHelper.java @@ -50,8 +50,15 @@ public class NewsFeedHelper extends HelperBase { ClientAppManager cmgr = ctx.clientAppManager(); if (cmgr != null) { NewsManager nmgr = (NewsManager) cmgr.getRegisteredApp(NewsManager.APP_NAME); - if (nmgr != null) + if (nmgr != null) { entries = nmgr.getEntries(); + NewsEntry init = nmgr.getInitialNews(); + if (init != null) { + // crude check to see if it's already in there + if (entries.size() != 1 || !DataHelper.eq(entries.get(0).title, init.title)) + entries.add(init); + } + } } if (!entries.isEmpty()) { DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);