package Ġio . github . toy ota 3 2 k . dialog . connector Ċ Ċ import Ġandroidx . activity . result . Activity Result Callback Ċ import Ġandroidx . activity . result . Activity Result Launcher Ċ import Ġandroidx . activity . result . contract . Activity Result Contract Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġio . github . toy ota 3 2 k . dialog . Ut Dialog Owner Ċ Ċ /** Ċ Ġ* ĠActivity / Fragment ãģĭãĤī Imm ort al Task ãģ« ĠActivity Connector Ġ ãĤ¤ãĥ³ ãĤ¹ãĤ¿ ãĥ³ãĤ¹ ãĤĴ ä¾Ľ çµ ¦ ãģĻãĤĭãģŁãĤģ ãģ® i / f å®ļç¾© Ċ Ġ* ĠImm ort al Task Ġãģ¨ åį Ķ èª¿ åĭķ ä½ľ ãģĻãĤĭ ĠActivity ãģ¾ãģŁãģ¯ Fragment ãģ¯ ãĢģ ãģĵãģ® i / f ãĤĴ ç¶ Ļ æī¿ ãģĻãĤĭ ãĢĤ Ċ Ġ*/ Ċ interface ĠI Ut Activity Connector Store Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠActivity Connector ĠãĤĴ åıĸå¾Ĺ ãģĻãĤĭ ĊĠĠĠĠ Ġ* Ġ@ param Ġimm ort al Task Name ĠĠĠ Ġimm ort al Task Ġãģ® ãĤ¿ ãĤ¹ãĤ¯ åĲį ĊĠĠĠĠ Ġ* Ġ@ param Ġconnector Name ĠĠĠĠĠĠ Ġconnector ĠãĤĴ èŃ ĺ åĪ¥ ãģĻãĤĭ åĲįåīį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetActivity Connector ( imm ort al Task Name : String , Ġconnector Name : String ): ĠUt Activity Connector < *, Ġ* >? Ċ } Ċ Ċ /** Ċ Ġ* ĠI Ut Activity Connector Store Ġãģ® å®Ł è£ħ ãĤ¯ãĥ©ãĤ¹ Ċ Ġ* Ġ éĢļå¸¸ ãģ¯ ãĢģ åĲĮ Activity ( Fragment ) åĨħ ãģ« ãĢģ Ut Activity Connector Store ãĤ¤ãĥ³ ãĤ¹ãĤ¿ ãĥ³ãĤ¹ ãĤĴ æĮģ ãģŁ ãģĽ ãĢģ Ċ Ġ* ĠActivity . getActivity Connector () ãģĭãĤī ãĢģ Ut Activity Connector Store . getActivity Connector () ĠãĤĴ åĳ¼ ãģ³ åĩº ãģĻ ãĤĪãģĨãģ« å®Ł è£ħ ãģĻãĤĭ ãĢĤ Ċ Ġ*/ Ċ class ĠUt Activity Connector Store ( private Ġval Ġmap : ĠMap < Ut Activity Connector Key , ĠUt Activity Connector < *, Ġ* >>) Ġ: ĊĠĠĠ ĠI Ut Activity Connector Store Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠActivity Connector ĠãĤĴ åıĸå¾Ĺ ãģĻãĤĭ ĊĠĠĠĠ Ġ* Ġ@ param Ġimm ort al Task Name ĠĠĠ Ġimm ort al Task Ġãģ® ãĤ¿ ãĤ¹ãĤ¯ åĲį ĊĠĠĠĠ Ġ* Ġ@ param Ġconnector Name ĠĠĠĠĠĠ Ġconnector ĠãĤĴ èŃ ĺ åĪ¥ ãģĻãĤĭ åĲįåīį ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠgetActivity Connector ( imm ort al Task Name : String , Ġconnector Name : String ): ĠUt Activity Connector < *, Ġ* >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmap [ Ut Activity Connector Key ( imm ort al Task Name , connector Name )] ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUt Dialog Owner ãģĭãĤī I Ut Activity Connector Store ãĤĴåıĸå¾Ĺ ãģĻãĤĭãģŁãĤģ ãģ® æĭ ¡ å¼ µ éĸ¢æķ° Ċ Ġ* ĠãĤ Ĥ ãģĹ ãĢģ Ut Dialog Owner ãģĮ ĠI Ut Activity Connector Store ĠãĤĴ å®Ł è£ħ ãģĹãģ¦ãģĦ ãģª ãģĳ ãĤĮãģ° Ġnull ĠãĤĴ è¿Ķ ãģĻ ãĢĤ Ċ Ġ*/ Ċ fun ĠUt Dialog Owner . as Activity Connector Store () Ġ: ĠI Ut Activity Connector Store ? Ġ= ĊĠĠĠ Ġlifecycle Owner Ġas ? ĠI Ut Activity Connector Store Ċ Ċ /** Ċ Ġ* ĠUt Dialog Owner ãģ«å¯¾ ãģĹãģ¦ ãĢģ register For Activity Result () Ġ ãģ§ãģįãĤĭ ãĤĪãģĨãģ« ãģĻãĤĭãģŁãĤģ ãģ® æĭ ¡ å¼ µ éĸ¢æķ° Ċ Ġ* ĠFragment çĶ¨ ãģ¨ Activity çĶ¨ ãģ« å®Ł è£ħ ãĤĴ çĶ¨ æĦı ãģĻãĤĭ ãģ® ãģĮ éĿ¢ åĢĴ ãģª ãģ®ãģ§ ãĢģ connector éĸ¢ éĢ£ ãģ¯ ãĢģ Ut Dialog Owner Ġãģ§ ä¸Ģ æľ¬ åĮĸ ãģĻãĤĭ ãĢĤ Ċ Ġ*/ Ċ fun Ġ< I , ĠO > ĠUt Dialog Owner . register For Activity Result ( contract : ĠActivity Result Contract < I , ĠO >, Ġcallback : ĠActivity Result Callback < O >): ĠActivity Result Launcher < I > Ġ{ ĊĠĠĠ Ġreturn Ġwhen ( lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠFragment Ġ-> Ġlifecycle Owner . register For Activity Result ( contract , Ġcallback ) ĊĠĠĠĠĠĠĠ Ġis ĠFragment Activity Ġ-> Ġlifecycle Owner . register For Activity Result ( contract , Ġcallback ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow Ġjava . lang . IllegalStateException (" invalid Ġlifecycle Ġowner ") ĊĠĠĠ Ġ} Ċ } Ċ