package Ġorg . step ic . d roid . adaptive . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġorg . step ic . d roid . R Ċ import Ġorg . step ic . d roid . di . App Singleton Ċ import Ġorg . step ic . d roid . preferences . Shared Preference Helper Ċ import Ġjavax . inject . Inject Ċ Ċ @ App Singleton Ċ class ĠRating Names Generator Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġshared Preference Helper : ĠShared Preference Helper Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġanimal s Male Ġby Ġlazy Ġ{ Ġcontext . resources . getString Array ( R . array . animal s _ m ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġanimal s Female Ġby Ġlazy Ġ{ Ġcontext . resources . getString Array ( R . array . animal s _ f ) Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġanimal s Ġby Ġlazy Ġ{ Ġanimal s Male Ġ+ Ġanimal s Female Ġ} ĊĠĠĠ Ġprivate Ġval Ġad ject ives Ġby Ġlazy Ġ{ Ġcontext . resources . getString Array ( R . array . ad ject ives ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġad ject ives Female Ġby Ġlazy Ġ{ Ġcontext . resources . getString Array ( R . array . ad ject ives _ female ) Ġ} ĊĊĠĠĠ Ġfun ĠgetName ( user : ĠLong ) Ġ: ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( user Ġ== Ġshared Preference Helper . profile ?. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( R . string . adaptive _ rating _ you _ placeholder ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhash Ġ= Ġhash ( user ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġanimal Ġ= Ġanimal s [( hash Ġ% Ġanimal s . size ). toInt ()] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadj Index Ġ= Ġ( hash Ġ/ Ġanimal s . size ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadj Ġ= Ġif Ġ( is Female No un ( animal )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad ject ives Female [ adj Index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad ject ives [ adj Index ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadj . capitalize () Ġ+ Ġ' Ġ' Ġ+ Ġanimal ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Female No un ( no un : ĠString ) Ġ= Ġanimal s Female . contains ( no un ) ĊĊĠĠĠ Ġprivate Ġfun Ġhash ( x : ĠLong ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġh Ġ= Ġx ĊĠĠĠĠĠĠĠ Ġh Ġ= Ġh . shr ( 1 6 ). xor ( h ) Ġ* Ġ 0 x 4 5 d 9 f 3 b ĊĠĠĠĠĠĠĠ Ġh Ġ= Ġh . shr ( 1 6 ). xor ( h ) Ġ* Ġ 0 x 4 5 d 9 f 3 b ĊĠĠĠĠĠĠĠ Ġh Ġ= Ġh . shr ( 1 6 ). xor ( h ) ĊĠĠĠĠĠĠĠ Ġreturn Ġh Ġ% Ġ( animal s . size Ġ* Ġad ject ives . size ) ĊĠĠĠ Ġ} Ċ }