package Ġtasks . internal Ċ Ċ import Ġcom . android . dd m lib . Android Debug Bridge Ċ import Ġcom . android . dd m lib . I Device Ċ import Ġinternal . Device Com municator Ċ import Ġinternal . Output Receiver Provider Ċ import Ġinternal . Task Info . GROUP _ NAME Ċ import Ġinternal . devices Can Be Found Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . tasks . Task Action ĊĊ Ċ abstract Ġclass ĠDefault Plugin Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= ĠGROUP _ NAME ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġcommunic ator : ĠDevice Com municator ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbridge Ġ= Ġit . bridge ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoutput Receiver Provider Ġ= Ġit . output Receiver Provider ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġbridge : ĠAndroid Debug Bridge ĊĠĠĠ Ġlateinit Ġvar Ġoutput Receiver Provider : ĠOutput Receiver Provider ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġperform Task () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġbridge . devices Can Be Found () ĊĊĠĠĠĠĠĠĠ Ġrun Task 1 () ĊĊĠĠĠĠĠĠĠ Ġbridge . devices . forEach Ġ{ Ġdevice Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Task 2 ( device ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrun Task 3 () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġrun Task 1 () ĊĊĠĠĠ Ġabstract Ġfun Ġrun Task 2 ( device : ĠI Device ) ĊĊĠĠĠ Ġabstract Ġfun Ġrun Task 3 () Ċ }