I see. I think you have a point and I should have implemented an interface to adjust the interval of RepeatableWorker's loop ... 

Ideally, I think we should avoid sharing an interval value among all the instances which use RepeatableWorker. How about adding APIs in AbstractTdLogger and TdLoggerService to adjust the frequency like the followings:

1. For AbstractTdLogger, it has room to call RepeatingWorker#setInterval(). So we can add this new constructor like this: public AbstractTdLogger(boolean startFlushWorkerOnInit, long flushIntervalMillis).

2. For TdLoggerService, it's a little difficult to add simply calling RepeatingWorker#setInterval() before TdLoggerService#onCreate() called. But we can add 'static long TdLoggerService.intervalMilli' and make TdLoggerService call RepeatingWorker#setInterval() with TdLoggerService.intervalMilli just before calling uploadWorker.start().