/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠP era ĠWallet , ĠL DA Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense Ċ Ġ*/ Ċ Ċ package Ġcom . al gor and . android . dev ic ere gistration . domain . use case Ċ Ċ import Ġcom . al gor and . android . dev ic ere gistration . domain . repository . User DeviceId Repository Ċ import Ġcom . al gor and . android . use case . Node Settings UseCase Ċ import Ġcom . al gor and . android . utils . MAIN NET _ NETWORK _ SL UG Ċ import Ġcom . al gor and . android . utils . TEST NET _ NETWORK _ SL UG Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Named Ċ Ċ class ĠDevice Id Migration UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġ@ Named ( User DeviceId Repository . USER _ DEVICE _ ID _ REPOSITORY _ IN JECTION _ NAME ) ĊĠĠĠ Ġprivate Ġval Ġuser DeviceId Repository : ĠUser DeviceId Repository , ĊĠĠĠ Ġprivate Ġval Ġnode Settings UseCase : ĠNode Settings UseCase Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġmigrate DeviceId If Need () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġold DeviceId Ġ= Ġuser DeviceId Repository . get Notification UserId () Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġwhen Ġ( node Settings UseCase . getActive Node OrDefault (). network Slug ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMAIN NET _ NETWORK _ SL UG Ġ-> Ġmigrate Old DeviceId To Main net ( old DeviceId ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTEST NET _ NETWORK _ SL UG Ġ-> Ġmigrate Old DeviceId To Test net ( old DeviceId ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmigrate Old DeviceId To Main net ( old DeviceId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmigrate DeviceId Ġ{ Ġit . set Main net DeviceId ( old DeviceId ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmigrate Old DeviceId To Test net ( old DeviceId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmigrate DeviceId Ġ{ Ġit . set Test net DeviceId ( old DeviceId ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmigrate DeviceId ( migration Action : Ġ( User DeviceId Repository ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( user DeviceId Repository ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmigration Action ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser DeviceId Repository . set Notification UserId ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ