@@ -204,207 +204,6 @@ public static void setEventIcon(ImageView view, Event event, Enrollment enrollme
204
204
}
205
205
}
206
206
207
- @ BindingAdapter (value = {"eventStatusText" , "enrollmentStatus" , "eventProgramStage" , "eventProgram" })
208
- public static void setEventText (TextView view , Event event , Enrollment enrollment , ProgramStage eventProgramStage , Program program ) {
209
- if (event != null ) {
210
- EventStatus status = event .status ();
211
- EnrollmentStatus enrollmentStatus = enrollment .status ();
212
- if (status == null )
213
- status = EventStatus .ACTIVE ;
214
- if (enrollmentStatus == null )
215
- enrollmentStatus = EnrollmentStatus .ACTIVE ;
216
-
217
-
218
- if (enrollmentStatus == EnrollmentStatus .ACTIVE ) {
219
- switch (status ) {
220
- case ACTIVE :
221
- Date eventDate = event .eventDate ();
222
- if (eventProgramStage .periodType () != null && eventProgramStage .periodType ().name ().contains (PeriodType .Weekly .name ()))
223
- eventDate = DateUtils .getInstance ().getNextPeriod (eventProgramStage .periodType (), eventDate , 0 , true );
224
- if (DateUtils .getInstance ().isEventExpired (eventDate , null , event .status (), program .completeEventsExpiryDays (), eventProgramStage .periodType () != null ? eventProgramStage .periodType () : program .expiryPeriodType (), program .expiryDays ())) {
225
- view .setText (view .getContext ().getString (R .string .event_expired ));
226
- } else {
227
- view .setText (view .getContext ().getString (R .string .event_open ));
228
- }
229
- break ;
230
- case COMPLETED :
231
- if (DateUtils .getInstance ().isEventExpired (null , event .completedDate (), program .completeEventsExpiryDays ())) {
232
- view .setText (view .getContext ().getString (R .string .event_expired ));
233
- } else {
234
- view .setText (view .getContext ().getString (R .string .event_completed ));
235
- }
236
- break ;
237
- case SCHEDULE :
238
- if (DateUtils .getInstance ().isEventExpired (
239
- event .dueDate (),
240
- null ,
241
- status ,
242
- program .completeEventsExpiryDays (),
243
- eventProgramStage .periodType () != null ? eventProgramStage .periodType () : program .expiryPeriodType (),
244
- program .expiryDays ())) {
245
- view .setText (view .getContext ().getString (R .string .event_expired ));
246
- } else {
247
- view .setText (view .getContext ().getString (R .string .event_schedule ));
248
- }
249
- break ;
250
- case SKIPPED :
251
- view .setText (view .getContext ().getString (R .string .event_skipped ));
252
- break ;
253
- case OVERDUE :
254
- view .setText (R .string .event_overdue );
255
- break ;
256
- default :
257
- view .setText (view .getContext ().getString (R .string .read_only ));
258
- break ;
259
- }
260
- } else if (enrollmentStatus == EnrollmentStatus .COMPLETED ) {
261
- view .setText (view .getContext ().getString (R .string .program_completed ));
262
- } else { //EnrollmentStatus = CANCELLED
263
- view .setText (view .getContext ().getString (R .string .program_inactive ));
264
- }
265
- }
266
- }
267
-
268
- @ BindingAdapter (value = {"eventColor" , "eventProgramStage" , "eventProgram" })
269
- public static void setEventColor (View view , Event event , ProgramStage programStage , Program program ) {
270
- if (event != null ) {
271
- int bgColor ;
272
- if (DateUtils .getInstance ().isEventExpired (null , event .completedDate (), program .completeEventsExpiryDays ())) {
273
- bgColor = R .drawable .item_event_dark_gray_ripple ;
274
- } else if (event .status () != null ) {
275
- switch (event .status ()) {
276
- case ACTIVE :
277
- Date eventDate = event .eventDate ();
278
- if (programStage .periodType () != null && programStage .periodType ().name ().contains (PeriodType .Weekly .name ()))
279
- eventDate = DateUtils .getInstance ().getNextPeriod (programStage .periodType (), eventDate , 0 , true );
280
- if (DateUtils .getInstance ().isEventExpired (eventDate , null , event .status (), program .completeEventsExpiryDays (), programStage .periodType () != null ? programStage .periodType () : program .expiryPeriodType (), program .expiryDays ())) {
281
- bgColor = R .drawable .item_event_dark_gray_ripple ;
282
- } else
283
- bgColor = R .drawable .item_event_yellow_ripple ;
284
- break ;
285
- case COMPLETED :
286
- if (DateUtils .getInstance ().isEventExpired (null , event .completedDate (), program .completeEventsExpiryDays ())) {
287
- bgColor = R .drawable .item_event_dark_gray_ripple ;
288
- } else
289
- bgColor = R .drawable .item_event_gray_ripple ;
290
- break ;
291
- case SCHEDULE :
292
- if (DateUtils .getInstance ().isEventExpired (
293
- event .dueDate (),
294
- null ,
295
- event .status (),
296
- program .completeEventsExpiryDays (),
297
- programStage .periodType () != null ? programStage .periodType () : program .expiryPeriodType (),
298
- program .expiryDays ())) {
299
- bgColor = R .drawable .item_event_dark_gray_ripple ;
300
- } else
301
- bgColor = R .drawable .item_event_green_ripple ;
302
- break ;
303
- case VISITED :
304
- case SKIPPED :
305
- default :
306
- bgColor = R .drawable .item_event_red_ripple ;
307
- break ;
308
- }
309
- } else {
310
- bgColor = R .drawable .item_event_red_ripple ;
311
- }
312
- view .setBackground (AppCompatResources .getDrawable (view .getContext (), bgColor ));
313
- }
314
- }
315
-
316
- @ BindingAdapter ("eventWithoutRegistrationStatusText" )
317
- public static void setEventWithoutRegistrationStatusText (TextView textView , ProgramEventViewModel event ) {
318
- switch (event .eventStatus ()) {
319
- case ACTIVE :
320
- if (event .isExpired ()) {
321
- textView .setText (textView .getContext ().getString (R .string .event_editing_expired ));
322
- } else {
323
- textView .setText (textView .getContext ().getString (R .string .event_open ));
324
- }
325
- break ;
326
- case COMPLETED :
327
- if (event .isExpired ()) {
328
- textView .setText (textView .getContext ().getString (R .string .event_editing_expired ));
329
- } else {
330
- textView .setText (textView .getContext ().getString (R .string .event_completed ));
331
- }
332
- break ;
333
- case SKIPPED :
334
- textView .setText (textView .getContext ().getString (R .string .event_editing_expired ));
335
- break ;
336
- default :
337
- textView .setText (textView .getContext ().getString (R .string .read_only ));
338
- break ;
339
- }
340
- }
341
-
342
-
343
-
344
- @ BindingAdapter ("stateText" )
345
- public static void setStateText (TextView textView , State state ) {
346
- switch (state ) {
347
- case TO_POST :
348
- textView .setText (textView .getContext ().getString (R .string .state_to_post ));
349
- break ;
350
- case TO_UPDATE :
351
- textView .setText (textView .getContext ().getString (R .string .state_to_update ));
352
- break ;
353
- case ERROR :
354
- textView .setText (textView .getContext ().getString (R .string .state_error ));
355
- break ;
356
- case SYNCED :
357
- textView .setText (textView .getContext ().getString (R .string .state_synced ));
358
- break ;
359
- default :
360
- break ;
361
- }
362
- }
363
-
364
- @ BindingAdapter ("fromResBgColor" )
365
- public static void setFromResBgColor (View view , int color ) {
366
- String tintedColor ;
367
-
368
- ArrayList <Double > rgb = new ArrayList <>();
369
- rgb .add (Color .red (color ) / 255.0d );
370
- rgb .add (Color .green (color ) / 255.0d );
371
- rgb .add (Color .blue (color ) / 255.0d );
372
-
373
- Double r = null ;
374
- Double g = null ;
375
- Double b = null ;
376
- for (Double c : rgb ) {
377
- if (c <= 0.03928d )
378
- c = c / 12.92d ;
379
- else
380
- c = Math .pow (((c + 0.055d ) / 1.055d ), 2.4d );
381
-
382
- if (r == null )
383
- r = c ;
384
- else if (g == null )
385
- g = c ;
386
- else
387
- b = c ;
388
- }
389
-
390
- double L = 0.2126d * r + 0.7152d * g + 0.0722d * b ;
391
-
392
-
393
- if (L > 0.179d )
394
- tintedColor = "#000000" ; // bright colors - black font
395
- else
396
- tintedColor = "#FFFFFF" ; // dark colors - white font
397
-
398
- if (view instanceof TextView ) {
399
- ((TextView ) view ).setTextColor (Color .parseColor (tintedColor ));
400
- }
401
- if (view instanceof ImageView ) {
402
- Drawable drawable = ((ImageView ) view ).getDrawable ();
403
- if (drawable != null )
404
- drawable .setColorFilter (Color .parseColor (tintedColor ), PorterDuff .Mode .SRC_IN );
405
- ((ImageView ) view ).setImageDrawable (drawable );
406
- }
407
- }
408
207
409
208
@ BindingAdapter ("imageBackground" )
410
209
public static void setImageBackground (ImageView imageView , Drawable drawable ) {
0 commit comments