/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 ĠL uke ĠK linker Ċ Ġ* Ċ Ġ* Ġ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 Ġxyz . k linker . floating _ tutorial . examples Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ import Ġxyz . k linker . android . floating _ tutorial . Floating Tutorial Activity Ċ import Ġxyz . k linker . android . floating _ tutorial . Tutorial Page Ċ import Ġxyz . k linker . floating _ tutorial . R Ċ import Ġxyz . k linker . floating _ tutorial . util . Animation Helper Ċ Ċ class ĠRate It Example Ġ: ĠFloating Tutorial Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Pages () Ġ= ĠlistOf ( Page One ( this ), ĠPage Two ( this )) ĊĊĠĠĠ Ġ@ Suppress Lint (" View Constructor ") ĊĠĠĠ Ġprivate Ġclass ĠPage One ( activity : ĠFloating Tutorial Activity ) Ġ: ĠTutorial Page ( activity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinit Page () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . example _ rate _ it _ page _ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Next Button () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . thumbs _ up ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Page Result Data ( Rate It Result . TH UM BS _ UP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetActivity (). onNext Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . thumbs _ down ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Page Result Data ( Rate It Result . TH UM BS _ DOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetActivity (). onNext Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Shown ( first Time Shown : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Shown ( first Time Shown ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Activity Result ( Activity . RESULT _ C ANCE LED ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġanimate Layout () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Helper . animate Group ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . bottom _ text ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . thumbs _ up ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById ( R . id . thumbs _ down ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" View Constructor ") ĊĠĠĠ Ġprivate Ġclass ĠPage Two ( activity : ĠFloating Tutorial Activity ) Ġ: ĠTutorial Page ( activity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinit Page () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . example _ rate _ it _ page _ 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠfindViewById < View >( R . id . tutorial _ back _ button ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Activity Result ( Activity . RESULT _ C ANCE LED , ĠIntent ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetActivity (). finish Animated () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Shown ( first Time Shown : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Shown ( first Time Shown ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Text Ġ= ĠfindViewById < View >( R . id . top _ text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsummary Text Ġ= ĠfindViewById < View >( R . id . bottom _ text ) Ġas ĠTextView ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprevious Result Ġ= Ġget Previous Page Result () Ġas ĠRate It Result ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( previous Result Ġ== ĠRate It Result . TH UM BS _ UP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Text . setText ( R . string . rate _ it _ page _ 2 _ good _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Text . setText ( R . string . rate _ it _ page _ 2 _ good _ summary ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . putExtra ( RESULT _ DATA _ TEXT , Ġ" Send Ġthat Ġuser Ġto Ġthe ĠPlay ĠStore Ġto Ġgive Ġyou Ġa Ġrating !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Activity Result ( Activity . RESULT _ OK , Ġdata ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Next ButtonText ( R . string . rate _ it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Back ButtonText ( R . string . no _ thanks ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Text . setText ( R . string . rate _ it _ page _ 2 _ bad _ title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsummary Text . setText ( R . string . rate _ it _ page _ 2 _ bad _ summary ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . putExtra ( RESULT _ DATA _ TEXT , Ġ" They Ġhave Ġfeedback Ġfor Ġyour Ġapp . ĠMaybe Ġallow Ġthem Ġto Ġsend Ġyou Ġan Ġemail ?") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Activity Result ( Activity . RESULT _ OK , Ġdata ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Next ButtonText ( R . string . send _ email ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Back ButtonText ( R . string . no _ thanks ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġanimate Layout () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnimation Helper . quick View Re veal ( findViewById ( R . id . bottom _ text ), Ġ 3 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġenum Ġclass ĠRate It Result Ġ{ ĊĠĠĠĠĠĠĠ ĠTH UM BS _ UP , ĠTH UM BS _ DOWN ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠRESULT _ DATA _ TEXT Ġ= Ġ" result _ data _ text " ĊĠĠĠ Ġ} Ċ }