@@ -31,34 +31,6 @@ public class FeedReader.decsyncInterface : FeedServerInterface {
3131 m_session. timeout = 5 ;
3232 }
3333
34- private bool initDecsync ()
35- {
36- var decsyncDir = m_utils. getDecsyncDir();
37- if (decsyncDir == " " )
38- {
39- return false ;
40- }
41- var dir = getDecsyncSubdir(decsyncDir, " rss" );
42- var ownAppId = getAppId(" FeedReader" );
43- var listeners = new Gee .ArrayList<OnEntryUpdateListener > ();
44- listeners. add(new DecsyncListeners .ReadMarkListener (true , this ));
45- listeners. add(new DecsyncListeners .ReadMarkListener (false , this ));
46- listeners. add(new DecsyncListeners .SubscriptionsListener (this ));
47- listeners. add(new DecsyncListeners .FeedNamesListener (this ));
48- listeners. add(new DecsyncListeners .CategoriesListener (this ));
49- listeners. add(new DecsyncListeners .CategoryNamesListener (this ));
50- listeners. add(new DecsyncListeners .CategoryParentsListener (this ));
51- m_sync = new Decsync<Unit > (dir, ownAppId, listeners);
52- m_sync. syncComplete. connect((extra) = > {
53- FeedReaderBackend . get_default(). updateBadge();
54- refreshFeedListCounter();
55- newFeedList();
56- updateArticleList();
57- });
58- m_sync. initMonitor(new Unit ());
59- return true ;
60- }
61-
6234 public override string getWebsite ()
6335 {
6436 return " https://github.com/39aldo39/DecSync" ;
@@ -262,13 +234,36 @@ public class FeedReader.decsyncInterface : FeedServerInterface {
262234
263235 public override LoginResponse login ()
264236 {
265- if (initDecsync())
237+ var decsyncDir = m_utils. getDecsyncDir();
238+ if (decsyncDir == " " )
266239 {
240+ return LoginResponse . ALL_EMPTY ;
241+ }
242+ var dir = getDecsyncSubdir(decsyncDir, " rss" );
243+ var ownAppId = getAppId(" FeedReader" );
244+ var listeners = new Gee .ArrayList<OnEntryUpdateListener > ();
245+ listeners. add(new DecsyncListeners .ReadMarkListener (true , this ));
246+ listeners. add(new DecsyncListeners .ReadMarkListener (false , this ));
247+ listeners. add(new DecsyncListeners .SubscriptionsListener (this ));
248+ listeners. add(new DecsyncListeners .FeedNamesListener (this ));
249+ listeners. add(new DecsyncListeners .CategoriesListener (this ));
250+ listeners. add(new DecsyncListeners .CategoryNamesListener (this ));
251+ listeners. add(new DecsyncListeners .CategoryParentsListener (this ));
252+ try
253+ {
254+ m_sync = new Decsync<Unit > (dir, ownAppId, listeners);
255+ m_sync. syncComplete. connect((extra) = > {
256+ FeedReaderBackend . get_default(). updateBadge();
257+ refreshFeedListCounter();
258+ newFeedList();
259+ updateArticleList();
260+ });
261+ m_sync. initMonitor(new Unit ());
267262 return LoginResponse . SUCCESS ;
268263 }
269- else
264+ catch ( DecsyncError e)
270265 {
271- return LoginResponse . ALL_EMPTY ;
266+ return LoginResponse . API_ERROR ;
272267 }
273268 }
274269
0 commit comments