package Ġcom . jetbrains . edu . learning . twitter Ċ Ċ import Ġcom . intellij . openapi . components .* Ċ import Ġcom . jetbrains . edu . learning . is UnitTest Mode Ċ import Ġjava . util .* Ċ Ċ @ Service Ċ @ State ( name Ġ= Ġ" Study Twitter Settings ", Ġstorage s Ġ= Ġ[ Storage (" study _ twitter _ settings . xml ", Ġro aming Type Ġ= ĠRo aming Type . DISABLED )]) Ċ class ĠTwitter Settings Ġ: ĠSimple Persistent State Component < Twitter Settings . State >( State ()) Ġ{ ĊĊĠ Ġfun Ġask To Tweet (): ĠBoolean Ġ= Ġstate . ask To Tweet ĊĊĠ Ġfun Ġset Ask To Tweet ( ask To Tweet : ĠBoolean ) Ġ{ ĊĠĠĠ Ġstate . ask To Tweet Ġ= Ġask To Tweet ĊĠ Ġ} ĊĊĠ Ġvar ĠuserId : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġstate . userId Ġ?: Ġgenerate New UserId () ĊĠĠĠ Ġ} ĊĠĠĠ Ġset ( userId ) Ġ{ ĊĠĠĠĠĠ Ġstate . userId Ġ= ĠuserId ĊĠĠĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġgenerate New UserId (): ĠString Ġ{ ĊĠĠĠ Ġval Ġrandom Id Ġ= ĠUUID . randomUUID (). toString () ĊĠĠĠ Ġstate . userId Ġ= Ġrandom Id ĊĠĠĠ Ġreturn Ġrandom Id ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetInstance (): ĠTwitter Settings Ġ= Ġservice () ĊĠ Ġ} ĊĊĠ Ġclass ĠState Ġ: ĠBase State () Ġ{ ĊĠĠĠ Ġvar ĠuserId Ġby Ġstring () ĊĠĠĠ Ġvar Ġask To Tweet Ġby Ġproperty (! is UnitTest Mode ) ĊĠ Ġ} Ċ } Ċ