package Ġcom . q avan . view pager layout manager x . scale Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroid . widget . Seek Bar . On Seek Bar ChangeListener Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . Switch Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . q avan . Center Snap Helper Ċ import Ġcom . q avan . Scale LayoutManager Ċ import Ġcom . q avan . view pager layout manager x . R Ċ import Ġcom . q avan . view pager layout manager x . Setting Pop Up Window Ċ import Ġcom . q avan . view pager layout manager x . format Float Ċ import Ġkotlin . math . round ToInt Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠD aj av u Ġon Ġ 2 7 / 1 0 / 2 0 1 7 . Ċ Ġ* ĠRe based Ġby Ġq avan Ġon Ġ 2 7 / 1 0 / 2 0 2 0 . Ċ Ġ*/ Ċ @ Suppress Lint (" Inf late Params ") Ċ class ĠScale Pop Up Window Ġinternal Ġconstructor ( context : ĠContext ?, Ġprivate Ġval Ġscale LayoutManager : ĠScale LayoutManager ?, Ġprivate Ġval Ġre cyclerView : ĠRecyclerView ?) Ġ: ĠSetting Pop Up Window ( context ), ĠOn Seek Bar ChangeListener , ĠCompound Button . On Checked ChangeListener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġitem Space Value : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġspeed Value : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġmin Scale Value : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġmin Alpha Value : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġmax Alpha Value : ĠTextView ĊĠĠĠ Ġprivate Ġval Ġchange Orientation : ĠSwitch Compat ĊĠĠĠ Ġprivate Ġval Ġauto Center : ĠSwitch Compat ĊĠĠĠ Ġprivate Ġval Ġinfinite : ĠSwitch Compat ĊĠĠĠ Ġprivate Ġval Ġreverse : ĠSwitch Compat ĊĠĠĠ Ġprivate Ġval Ġcenter Snap Helper : ĠCenter Snap Helper ĊĊĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( seek Bar . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sb _ item _ space Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Space Ġ= Ġprogress Ġ* Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. item Space Ġ= Ġitem Space ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Space Value . text Ġ= Ġitem Space . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sb _ min _ scale Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġscale Ġ= Ġ 0 . 5 f Ġ+ Ġprogress Ġ/ Ġ 2 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. min Scale Ġ= Ġscale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Scale Value . text Ġ= Ġformat Float ( scale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sb _ speed Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspeed Ġ= Ġprogress Ġ* Ġ 0 . 0 5 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. move Speed Ġ= Ġspeed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspeed Value . text Ġ= Ġformat Float ( speed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sb _ max _ alpha Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Alpha Ġ= Ġprogress Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. max Alpha Ġ= Ġmax Alpha ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Alpha Value . text Ġ= Ġformat Float ( max Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . sb _ min _ alpha Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmin Alpha Ġ= Ġprogress Ġ/ Ġ 1 0 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. min Alpha Ġ= Ġmin Alpha ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmin Alpha Value . text Ġ= Ġformat Float ( min Alpha ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon CheckedChanged ( button View : ĠCompound Button , Ġis Checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( button View . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . s _ infinite Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView ?. scrollTo Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. infinite Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . s _ change _ orientation Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. scrollTo Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. orientation Ġ= Ġif Ġ( isChecked ) ĠRecyclerView . VERTICAL Ġelse ĠRecyclerView . HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . s _ auto _ center Ġ-> Ġif Ġ( isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Snap Helper . attach To RecyclerView ( re cyclerView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Snap Helper . attach To RecyclerView ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . s _ reverse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. scrollTo Position ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale LayoutManager ?. reverse Layout Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . dialog _ scale _ setting , Ġnull ) ĊĠĠĠĠĠĠĠ Ġcontent View Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġcenter Snap Helper Ġ= ĠCenter Snap Helper () ĊĠĠĠĠĠĠĠ Ġval Ġitem Space Ġ= Ġview . findViewById < Seek Bar >( R . id . sb _ item _ space ) ĊĠĠĠĠĠĠĠ Ġval Ġspeed Ġ= Ġview . findViewById < Seek Bar >( R . id . sb _ speed ) ĊĠĠĠĠĠĠĠ Ġval Ġmin Scale Ġ= Ġview . findViewById < Seek Bar >( R . id . sb _ min _ scale ) ĊĠĠĠĠĠĠĠ Ġval Ġmin Alpha Ġ= Ġview . findViewById < Seek Bar >( R . id . sb _ min _ alpha ) ĊĠĠĠĠĠĠĠ Ġval Ġmax Alpha Ġ= Ġview . findViewById < Seek Bar >( R . id . sb _ max _ alpha ) ĊĠĠĠĠĠĠĠ Ġitem Space Value Ġ= Ġview . findViewById ( R . id . item _ space ) ĊĠĠĠĠĠĠĠ Ġspeed Value Ġ= Ġview . findViewById ( R . id . speed _ value ) ĊĠĠĠĠĠĠĠ Ġmin Scale Value Ġ= Ġview . findViewById ( R . id . min _ scale _ value ) ĊĠĠĠĠĠĠĠ Ġmin Alpha Value Ġ= Ġview . findViewById ( R . id . min _ alpha _ value ) ĊĠĠĠĠĠĠĠ Ġmax Alpha Value Ġ= Ġview . findViewById ( R . id . max _ alpha _ value ) ĊĠĠĠĠĠĠĠ Ġchange Orientation Ġ= Ġview . findViewById ( R . id . s _ change _ orientation ) ĊĠĠĠĠĠĠĠ Ġauto Center Ġ= Ġview . findViewById ( R . id . s _ auto _ center ) ĊĠĠĠĠĠĠĠ Ġinfinite Ġ= Ġview . findViewById ( R . id . s _ infinite ) ĊĠĠĠĠĠĠĠ Ġreverse Ġ= Ġview . findViewById ( R . id . s _ reverse ) ĊĠĠĠĠĠĠĠ Ġitem Space . setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġspeed . setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġmin Scale . setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġmin Alpha . setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġmax Alpha . setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġitem Space . progress Ġ= Ġscale LayoutManager !!. item Space Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠ Ġspeed . progress Ġ= Ġ( scale LayoutManager . move Speed Ġ/ Ġ 0 . 0 5 f ). round ToInt () ĊĠĠĠĠĠĠĠ Ġmin Scale . progress Ġ= Ġ(( scale LayoutManager . min Scale Ġ- Ġ 0 . 5 f ) Ġ* Ġ 2 0 0 ). round ToInt () ĊĠĠĠĠĠĠĠ Ġmax Alpha . progress Ġ= Ġ( scale LayoutManager . max Alpha Ġ* Ġ 1 0 0 ). round ToInt () ĊĠĠĠĠĠĠĠ Ġmin Alpha . progress Ġ= Ġ( scale LayoutManager . min Alpha Ġ* Ġ 1 0 0 ). round ToInt () ĊĠĠĠĠĠĠĠ Ġitem Space Value . text Ġ= Ġscale LayoutManager . item Space . toString () ĊĠĠĠĠĠĠĠ Ġspeed Value . text Ġ= Ġformat Float ( scale LayoutManager . move Speed ) ĊĠĠĠĠĠĠĠ Ġmin Scale Value . text Ġ= Ġformat Float ( scale LayoutManager . min Scale ) ĊĠĠĠĠĠĠĠ Ġmin Alpha Value . text Ġ= Ġformat Float ( scale LayoutManager . min Alpha ) ĊĠĠĠĠĠĠĠ Ġmax Alpha Value . text Ġ= Ġformat Float ( scale LayoutManager . max Alpha ) ĊĠĠĠĠĠĠĠ Ġchange Orientation . isChecked Ġ= Ġscale LayoutManager . orientation Ġ== ĠRecyclerView . VERTICAL ĊĠĠĠĠĠĠĠ Ġreverse . isChecked Ġ= Ġscale LayoutManager . reverse Layout ĊĠĠĠĠĠĠĠ Ġinfinite . isChecked Ġ= Ġscale LayoutManager . infinite ĊĠĠĠĠĠĠĠ Ġchange Orientation . setOn Checked ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġauto Center . setOn Checked ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġreverse . setOn Checked ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġinfinite . setOn Checked ChangeListener ( this ) ĊĠĠĠ Ġ} Ċ }