/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠThe ĠT ari ĠProject Ċ Ġ* Ċ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ċ Ġ* Ġwithout Ġmodification , Ġare Ġpermitted Ġprovided Ġthat Ġthe Ċ Ġ* Ġfollowing Ġconditions Ġare Ġmet : Ċ Ġ* Ċ Ġ* Ġ 1 . ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ċ Ġ* Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . Ċ Ġ* Ċ Ġ* Ġ 2 . ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ċ Ġ* Ġcopyright Ġnotice , Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ċ Ġ* Ġdocumentation Ġand / or Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . Ċ Ġ* Ċ Ġ* Ġ 3 . ĠNeither Ġthe Ġname Ġof Ġthe Ġcopyright Ġholder Ġnor Ġthe Ġnames Ġof Ċ Ġ* Ġits Ġcontributors Ġmay Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ċ Ġ* Ġderived Ġfrom Ġthis Ġsoftware Ġwithout Ġspecific Ġprior Ġwritten Ġpermission . Ċ Ġ* Ċ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND Ċ Ġ* ĠCONTRIBUTORS Ġ" AS ĠIS " ĠAND ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , Ċ Ġ* ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE ĠIMPLIED ĠWARRANTIES Ċ Ġ* ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠARE Ċ Ġ* ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠHOLDER ĠOR Ċ Ġ* ĠCONTRIBUTORS ĠBE ĠLIABLE ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , Ċ Ġ* ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL ĠDAMAGES Ġ( INCLUDING , ĠBUT Ċ Ġ* ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR ĠSERVICES ; Ċ Ġ* ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) Ċ Ġ* ĠHOWEVER ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠIN Ċ Ġ* ĠCONTRACT , ĠSTRICT ĠLIABILITY , ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE Ċ Ġ* ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE ĠOF ĠTHIS Ċ Ġ* ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . Ċ Ġ*/ Ċ package Ġcom . t ari . android . wallet . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . t ari . android . wallet . application . Wallet Manager Ċ import Ġcom . t ari . android . wallet . infrastructure . Bug Reporting Service Ċ import Ġcom . t ari . android . wallet . network . Network Connection State Receiver Ċ import Ġcom . t ari . android . wallet . tor . Tor Config Ċ import Ġcom . t ari . android . wallet . tor . Tor Proxy Manager Ċ import Ġcom . t ari . android . wallet . tor . Tor Proxy Monitor Ċ import Ġcom . t ari . android . wallet . util . Constants Ċ import Ġcom . t ari . android . wallet . util . Shared Prefs Wrapper Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Named Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠD agger Ġmodule Ġto Ġinject Ġwallet - related Ġdependencies . Ċ Ġ* Ċ Ġ* Ġ@ author ĠThe ĠT ari ĠDevelopment ĠTeam Ċ Ġ*/ Ċ @ Module Ċ internal Ġclass ĠWallet Module Ġ{ ĊĊĠĠĠ Ġobject ĠField Name Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġwallet Files DirPath Ġ= Ġ" wallet _ files _ dir _ path " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġwallet Log Files DirPath Ġ= Ġ" wallet _ log _ file _ dir _ path " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġwallet Log FilePath Ġ= Ġ" wallet _ log _ file _ path " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġwallet Database FilePath Ġ= Ġ" wallet _ database _ file _ path " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġwallet Temp DirPath Ġ= Ġ" wallet _ temp _ dir _ path " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġlog File Prefix Ġ= Ġ" t ari _ aur ora " ĊĠĠĠ Ġprivate Ġval Ġlog File Extension Ġ= Ġ" log " ĊĠĠĠ Ġprivate Ġval Ġlog Files Dir Name Ġ= Ġ" t ari _ logs " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġin Ġwhich Ġthe Ġwallet Ġfiles Ġres ide . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . wallet Files DirPath ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Wallet Files DirPath ( context : ĠContext ): ĠString Ġ= Ġcontext . files Dir . absolute Path ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġin Ġwhich Ġthe Ġwallet Ġlog Ġfiles Ġres ide . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . wallet Log Files DirPath ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Log Files DirPath ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Files DirPath ) Ġwallet Files DirPath : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog Files Dir Ġ= ĠFile ( wallet Files DirPath , Ġlog Files Dir Name ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! log Files Dir . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Files Dir . mkdir () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ġ// Ġdelete Ġolder Ġlog Ġfiles ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfiles Ġ= Ġlog Files Dir . list Files ()?. filter Ġ{ Ġ! it . name . contains ( log File Prefix ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfiles ?. forEach Ġ{ Ġit . delete () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlog Files Dir . absolute Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF FI Ġlog Ġfile Ġpath . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . wallet Log FilePath ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Wallet Log FilePath (@ Named ( FieldName . wallet Log Files DirPath ) Ġlog Files DirPath : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlog FileName Ġ= Ġ"$ log File Prefix .$ log File Extension " ĊĠĠĠĠĠĠĠ Ġval Ġlog File Ġ= ĠFile ( log Files DirPath , Ġlog FileName ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! log File . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog File . createNew File () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlog File . absolute Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . wallet Database FilePath ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Wallet Database FilePath ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Files DirPath ) Ġwallet Files DirPath : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFile ( wallet Files DirPath , ĠConstants . Wallet . wallet DB Full FileName ). absolute Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . wallet Temp DirPath ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Wallet Temp DirPath ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Files DirPath ) Ġwallet Files DirPath : ĠString ĊĠĠĠ Ġ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtemp Dir Ġ= ĠFile ( wallet Files DirPath , Ġ" temp ") ĊĠĠĠĠĠĠĠ Ġif Ġ(! temp Dir . exists ()) Ġtemp Dir . mkdir () ĊĠĠĠĠĠĠĠ Ġreturn Ġtemp Dir . absolute Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Wallet Manager ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Files DirPath ) Ġwallet Files DirPath : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Log FilePath ) Ġwallet Log FilePath : ĠString , ĊĠĠĠĠĠĠĠ Ġtor Config : ĠTor Config , ĊĠĠĠĠĠĠĠ Ġtor Proxy Manager : ĠTor Proxy Manager , ĊĠĠĠĠĠĠĠ Ġtor Proxy Monitor : ĠTor Proxy Monitor , ĊĠĠĠĠĠĠĠ Ġshared Prefs Wrapper : ĠShared Prefs Wrapper ĊĠĠĠ Ġ): ĠWallet Manager Ġ= ĠWallet Manager ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġwallet Files DirPath , ĊĠĠĠĠĠĠĠ Ġwallet Log FilePath , ĊĠĠĠĠĠĠĠ Ġtor Proxy Manager , ĊĠĠĠĠĠĠĠ Ġtor Proxy Monitor , ĊĠĠĠĠĠĠĠ Ġshared Prefs Wrapper , ĊĠĠĠĠĠĠĠ Ġtor Config ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Network Connection Status Receiver (): ĠNetwork Connection State Receiver Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNetwork Connection State Receiver () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Bug Reporting Service ( ĊĠĠĠĠĠĠĠ Ġshared Prefs Wrapper : ĠShared Prefs Wrapper , ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . wallet Log Files DirPath ) Ġlog Files DirPath : ĠString ĊĠĠĠ Ġ): ĠBug Reporting Service Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBug Reporting Service ( shared Prefs Wrapper , Ġlog Files DirPath ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ