package Ġcom . example . android dev challenge . earth quake Ċ Ċ interface ĠIE arth quake Scope Ġ{ ĊĠĠĠ Ġfun Ġstart Sh aking () ĊĠĠĠ Ġfun Ġstop Sh aking () ĊĠĠĠ Ġval Ġis Sh aking : ĠBoolean ĊĠĠĠ Ġvar Ġsh ake Duration : ĠLong ĊĠĠĠ Ġvar Ġsh akes PerSecond : ĠInt ĊĠĠĠ Ġvar Ġsh ake Force : ĠInt Ċ } Ċ Ċ class ĠEarth quake Scope ( private Ġval Ġstate : ĠEarth quake State ) Ġ: ĠIE arth quake Scope Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġstart Sh aking () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! state . is Sh aking Ġ&& Ġstate . earth quake Duration Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . is Sh aking Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Sh aking () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( state . is Sh aking ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . is Sh aking Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġis Sh aking : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġstate . is Sh aking ĊĊĠĠĠ Ġoverride Ġvar Ġsh ake Duration : ĠLong Ġ= Ġstate . earth quake Duration ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . earth quake Duration Ġ= Ġvalue . coerce At Least ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġsh akes PerSecond : ĠInt Ġ= Ġstate . sh akes PerSecond ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . sh akes PerSecond Ġ= Ġvalue . coerce At Least ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġsh ake Force : ĠInt Ġ= Ġstate . shake Force ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . shake Force Ġ= Ġvalue . coerce At Least ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ċ }