Is this an example of redundant use of Handlers?
Yes.
Quoted from the Docs:
A Handler allows you to send and process Message and Runnable objects
associated with a thread's MessageQueue. Each Handler instance is
associated with a single thread and that thread's message queue. When
you create a new Handler, it is bound to the thread / message queue of
the thread that is creating it -- from that point on, it will deliver
messages and runnables to that message queue and execute them as they
come out of the message queue.
Those Handlers are sending messages to the same MessageQueue
, so anyway the second one will run after the first one is done, meaning it's redundant.
Further more, The Handler
is associated with the Thread
it's created in by default. So if the Handler
is created on the main thread
you don't have to specify a Looper.