package Ġcom . example . an at oly . dj inn it est Ċ Ċ import Ġandroid . app . Intent Service Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġcom . example . an at oly . dj inn ig ener ated . Prime Generator D jin ni ĊĊ Ċ /** Ċ Ġ* ĠDate : Ġ 2 4 . 0 7 . 2 0 1 8 Ċ Ġ* ĠTime : Ġ 1 0 : 4 0 Ċ Ġ* Ċ Ġ* Ġ@ author Ġan at oly Ċ Ġ*/ Ċ class ĠPrime Numbers Service Ġ: ĠIntent Service (" Prime Numbers Service ") Ġ{ ĊĠĠĠ Ġprivate Ġval Ġgenerator : ĠPrime Generator D jin ni ĊĠĠĠ Ġprivate Ġvar Ġis Run Ġ= Ġfalse ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . load Library (" prime ") ĊĊĠĠĠĠĠĠĠ Ġgenerator Ġ= ĠPrime Generator D jin ni . create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Handle Intent ( intent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( intent Ġ== Ġnull Ġ|| Ġis Run ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġis Run Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġval Ġamount Ġ= ĠService Args . deserialize From Intent ( intent ). amount ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġgenerate Prime Numbers ( amount ) ĊĊĠĠĠĠĠĠĠ ĠMainActivity . Broadcast Args ( result ). send Broadcast ( this ) ĊĊĠĠĠĠĠĠĠ Ġis Run Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Prime Numbers ( amount : ĠInt ): ĠList < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġgenerator . generate Prime ( amount ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠService Args ( val Ġamount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Service ( Intent ( this , ĠPrime Numbers Service :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( AMOUNT _ KEY , Ġamount ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠA MOUNT _ KEY Ġ= Ġ" amount : key " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġdeserialize From Intent ( intent : ĠIntent ): ĠService Args Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠService Args ( intent . getInt Extra ( AMOUNT _ KEY , Ġ 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }