@@ -71,29 +71,8 @@ public void onSuccess(final List<Course> courses) {
71
71
Course currentCourse = CourseListUtils .getCourseByName (courses , courseDb .getCurrentCourseName ());
72
72
if (currentCourse != null ) {
73
73
try {
74
- System .out .println ("DETAILS URL: " + currentCourse .getDetailsUrl ());
75
74
ListenableFuture <Course > courseFuture = tmcCore .getCourse (tmcSettings , currentCourse .getDetailsUrl ());
76
- Futures .addCallback (courseFuture , new FutureCallback <Course >() {
77
- @ Override
78
- public void onSuccess (Course detailedCourse ) {
79
- detailedCourse .setExercisesLoaded (true );
80
- ArrayList <Course > finalCourses = new ArrayList <Course >();
81
- for (Course course : courses ){
82
- if (course .getName ().equals (detailedCourse .getName ())) {
83
- finalCourses .add (detailedCourse );
84
- } else {
85
- finalCourses .add (course );
86
- }
87
- }
88
- callbacks .onSuccess (finalCourses );
89
- }
90
-
91
- @ Override
92
- public void onFailure (Throwable ex ) {
93
- log .log (Level .INFO , "Failed to download current course info." , ex );
94
- callbacks .onFailure (ex );
95
- }
96
- });
75
+ Futures .addCallback (courseFuture , new UpdateCourse (courses ));
97
76
} catch (TmcCoreException ex ) {
98
77
Exceptions .printStackTrace (ex );
99
78
callbacks .onFailure (ex );
@@ -116,6 +95,34 @@ public void onFailure(Throwable ex) {
116
95
}
117
96
}
118
97
98
+ class UpdateCourse implements FutureCallback <Course > {
99
+
100
+ List <Course > courses ;
101
+ public UpdateCourse (List <Course > courses ){
102
+ this .courses = courses ;
103
+ }
104
+
105
+ @ Override
106
+ public void onSuccess (Course detailedCourse ) {
107
+ detailedCourse .setExercisesLoaded (true );
108
+ ArrayList <Course > finalCourses = new ArrayList <Course >();
109
+ for (Course course : courses ) {
110
+ if (course .getName ().equals (detailedCourse .getName ())) {
111
+ finalCourses .add (detailedCourse );
112
+ } else {
113
+ finalCourses .add (course );
114
+ }
115
+ }
116
+ callbacks .onSuccess (finalCourses );
117
+ }
118
+
119
+ @ Override
120
+ public void onFailure (Throwable ex ) {
121
+ log .log (Level .INFO , "Failed to download current course info." , ex );
122
+ callbacks .onFailure (ex );
123
+ }
124
+ }
125
+
119
126
// public void run() {
120
127
// CancellableCallable<List<Course>> courseListTask = serverAccess.getDownloadingCourseListTask();
121
128
// BgTask.start("Refreshing course list", courseListTask, new BgTaskListener<List<Course>>() {
@@ -172,7 +179,6 @@ public void onFailure(Throwable ex) {
172
179
// }
173
180
// });
174
181
// }
175
-
176
182
private class DefaultListener implements FutureCallback <List <Course >> {
177
183
178
184
private final boolean showDialogOnError ;
@@ -200,7 +206,6 @@ public DefaultListener(boolean showDialogOnError, boolean updateCourseDb) {
200
206
// dialogs.displayError("Course refresh failed.\n" + ServerErrorHelper.getServerExceptionMsg(ex));
201
207
// }
202
208
// }
203
-
204
209
@ Override
205
210
public void onSuccess (List <Course > result ) {
206
211
if (updateCourseDb ) {
0 commit comments