Centralize time zone code in DataHelper

NewsManager should be a ClientApp, not a RouterApp
This commit is contained in:
zzz
2015-11-16 20:04:15 +00:00
parent 38a1a96db2
commit 6fb0692d57
11 changed files with 33 additions and 44 deletions

View File

@ -10,13 +10,13 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import net.i2p.I2PAppContext;
import net.i2p.app.ClientApp;
import net.i2p.app.ClientAppManager;
import net.i2p.app.ClientAppState;
import static net.i2p.app.ClientAppState.*;
import net.i2p.router.app.RouterApp;
import net.i2p.data.DataHelper;
import net.i2p.util.FileUtil;
import net.i2p.util.Log;
import net.i2p.util.TranslateReader;
@ -30,7 +30,7 @@ import org.cybergarage.xml.Node;
*
* @since 0.9.23
*/
public class NewsManager implements RouterApp {
public class NewsManager implements ClientApp {
private final I2PAppContext _context;
private final Log _log;
@ -233,9 +233,7 @@ public class NewsManager implements RouterApp {
// Doesn't work if the date has a : in it, but SHORT hopefully does not
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
String systemTimeZone = _context.getProperty("i2p.systemTimeZone");
if (systemTimeZone != null)
fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone));
fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
try {
Date date = fmt.parse(newsContent.substring(0, colon));
entry.updated = date.getTime();

View File

@ -19,7 +19,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.TimeZone;
import net.i2p.app.ClientAppManager;
import net.i2p.crypto.SU3File;
@ -579,9 +578,7 @@ class NewsFetcher extends UpdateRunner {
return;
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
String systemTimeZone = _context.getProperty("i2p.systemTimeZone");
if (systemTimeZone != null)
fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone));
fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
for (NewsEntry e : entries) {
if (e.title == null || e.content == null)
continue;

View File

@ -12,7 +12,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import java.util.TreeMap;
import net.i2p.data.DataHelper;
@ -189,9 +188,7 @@ public class EventLogHelper extends FormHandler {
SimpleDateFormat fmt = (SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
String systemTimeZone = _context.getProperty("i2p.systemTimeZone");
if (systemTimeZone != null)
fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone));
fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
List<Map.Entry<Long, String>> entries = new ArrayList<Map.Entry<Long, String>>(events.entrySet());
Collections.reverse(entries);

View File

@ -4,7 +4,6 @@ import java.text.DateFormat;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import net.i2p.I2PAppContext;
import net.i2p.app.ClientAppManager;
@ -56,9 +55,7 @@ public class NewsFeedHelper extends HelperBase {
if (!entries.isEmpty()) {
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
String systemTimeZone = ctx.getProperty("i2p.systemTimeZone");
if (systemTimeZone != null)
fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone));
fmt.setTimeZone(DataHelper.getSystemTimeZone(ctx));
int i = 0;
for (NewsEntry entry : entries) {
if (i++ < start)

View File

@ -9,7 +9,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;
import net.i2p.app.ClientAppManager;
import net.i2p.crypto.SigType;
@ -634,9 +633,7 @@ public class SummaryBarRenderer {
buf.append("<ul>\n");
DateFormat fmt = DateFormat.getDateInstance(DateFormat.SHORT);
// the router sets the JVM time zone to UTC but saves the original here so we can get it
String systemTimeZone = _context.getProperty("i2p.systemTimeZone");
if (systemTimeZone != null)
fmt.setTimeZone(TimeZone.getTimeZone(systemTimeZone));
fmt.setTimeZone(DataHelper.getSystemTimeZone(_context));
int i = 0;
final int max = 2;
for (NewsEntry entry : entries) {