package Ġcom . music player . a ow . ui . eq Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . media . audio fx . B ass Boost Ċ import Ġandroid . media . audio fx . Equal izer Ċ import Ġandroid . media . audio fx . Preset Re verb Ċ import Ġandroid . media . audio fx . Virtual izer Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 7 . app . AlertDialog Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget .* Ċ import Ġcom . j ared rum ml er . material spinner . Material Spinner Ċ import Ġcom . music player . a ow . R Ċ import Ġcom . music player . a ow . application . Music Player Application Ċ import Ġcom . music player . a ow . ui . widget . circular seek bar . Circular Seek Bar ĊĊ Ċ class ĠEq Activity Ġ: ĠAppCompatActivity (), ĠSeek Bar . On Seek Bar ChangeListener , ĊĠĠĠĠĠĠĠ ĠCircular Seek Bar . On Circular Seek Bar ChangeListener , ĊĠĠĠĠĠĠĠ ĠCompound Button . On Checked ChangeListener , ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ċ { ĊĊĠĠĠ Ġvar Ġb ass _ boost _ label : ĠTextView ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġb ass _ boost : ĠCircular Seek Bar ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġvirtual izer : ĠCircular Seek Bar ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġre verb : ĠMaterial Spinner ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġenabled : ĠCheckBox ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġflat : ĠButton ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġeq : ĠEqual izer ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġbb : ĠB ass Boost ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġrev : ĠP reset Re verb ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġv rt : ĠVirtual izer ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġmin _ level Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġmax _ level Ġ= Ġ 1 0 0 ĊĊĠĠĠ Ġval ĠMAX _ SL ID ERS Ġ= Ġ 5 Ġ// ĠMust Ġmatch Ġthe ĠXML Ġlayout ĊĠĠĠ Ġvar Ġsl iders Ġ= ĠarrayOf Null s < Seek Bar >( MAX _ SL ID ERS ) ĊĠĠĠ Ġvar Ġslider _ level Ġ= ĠarrayOf Null s < TextView >( MAX _ SL ID ERS ) ĊĠĠĠ Ġvar Ġslider _ labels Ġ= ĠarrayOf Null s < TextView >( MAX _ SL ID ERS ) ĊĠĠĠ Ġvar Ġnum _ sl iders Ġ= Ġ 0 ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ ĠonCreate ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġmenu Inflater ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . main _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ ĠonCreate ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ eq ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar 2 ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar !!. set Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= Ġ" EQ ." ĊĠĠĠĠĠĠĠ Ġtoolbar . navigation Icon Ġ= Ġresources . get Drawable ( R . drawable . ic _ arrow _ back _ black ) ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġenabled Ġ= ĠfindViewById < CheckBox >( R . id . enabled ) ĊĠĠĠĠĠĠĠ Ġenabled !!. setOn Checked ChangeListener Ġ( this ) ĊĊĠĠĠĠĠĠĠ Ġflat Ġ= ĠfindViewById < Button >( R . id . flat ) ĊĠĠĠĠĠĠĠ Ġflat !!. setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġb ass _ boost Ġ= ĠfindViewById < Circular Seek Bar >( R . id . b ass _ boost ) ĊĠĠĠĠĠĠĠ Ġb ass _ boost !!. setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġb ass _ boost _ label Ġ= Ġ ĠfindViewById < TextView >( R . id . b ass _ boost _ label ) ĊĊĠĠĠĠĠĠĠ Ġvirtual izer Ġ= ĠfindViewById < Circular Seek Bar >( R . id . virtual izer _ seek bar ) ĊĠĠĠĠĠĠĠ Ġvirtual izer !!. setOn Seek Bar ChangeListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġre verb Ġ= ĠfindViewById < Material Spinner >( R . id . re verb ) ĊĠĠĠĠĠĠĠ Ġre verb !!. set Items (" None ", Ġ" Large ĠHall ", Ġ" Large ĠRoom ", Ġ" Medium ĠHall ", Ġ" Medium ĠRoom ", Ġ" Small ĠRoom ", Ġ" Plate ") ĊĠĠĠĠĠĠĠ Ġre verb !!. setOn ItemSelected Listener ({ Ġview , Ġposition , Ġid , Ġitem Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position == 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ NONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ LARGE H ALL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ L ARG ERO OM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ MEDIUM H ALL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ MEDIUM ROOM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ SMALL ROOM ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( position == 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrev !!. preset Ġ= ĠP reset Re verb . PRE SET _ PL ATE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġ" Clicked Ġ" Ġ+ Ġitem , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġsl iders [ 0 ] Ġ= ĠfindViewById < Seek Bar >( R . id . slider _ 1 ) ĊĠĠĠĠĠĠĠ Ġslider _ labels [ 0 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ label _ 1 ) ĊĠĠĠĠĠĠĠ Ġslider _ level [ 0 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ level _ 1 ) ĊĠĠĠĠĠĠĠ Ġsl iders [ 1 ] Ġ= ĠfindViewById < Seek Bar >( R . id . slider _ 2 ) ĊĠĠĠĠĠĠĠ Ġslider _ labels [ 1 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ label _ 2 ) ĊĠĠĠĠĠĠĠ Ġslider _ level [ 1 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ level _ 2 ) ĊĠĠĠĠĠĠĠ Ġsl iders [ 2 ] Ġ= ĠfindViewById < Seek Bar >( R . id . slider _ 3 ) ĊĠĠĠĠĠĠĠ Ġslider _ labels [ 2 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ label _ 3 ) ĊĠĠĠĠĠĠĠ Ġslider _ level [ 2 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ level _ 3 ) ĊĠĠĠĠĠĠĠ Ġsl iders [ 3 ] Ġ= ĠfindViewById < Seek Bar >( R . id . slider _ 4 ) ĊĠĠĠĠĠĠĠ Ġslider _ labels [ 3 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ label _ 4 ) ĊĠĠĠĠĠĠĠ Ġslider _ level [ 3 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ level _ 4 ) ĊĠĠĠĠĠĠĠ Ġsl iders [ 4 ] Ġ= ĠfindViewById < Seek Bar >( R . id . slider _ 5 ) ĊĠĠĠĠĠĠĠ Ġslider _ labels [ 4 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ label _ 5 ) ĊĠĠĠĠĠĠĠ Ġslider _ level [ 4 ] Ġ= ĠfindViewById < TextView >( R . id . slider _ level _ 5 ) ĊĊĠĠĠĠĠĠĠ Ġeq Ġ= ĠMusic Player Application . instance !!. get Eq () ĊĠĠĠĠĠĠĠ Ġif Ġ( eq Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeq !!. enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnum _ bands Ġ= Ġeq !!. numberOf B ands ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnum _ sl iders Ġ= Ġnum _ bands . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġeq !!. band Level Range ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin _ level Ġ= Ġr [ 0 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmax _ level Ġ= Ġr [ 1 ]. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ< Ġnum _ sl iders Ġ&& Ġi Ġ< ĠMAX _ SL ID ERS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfreq _ range Ġ= Ġeq !!. get Band Freq Range ( i . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsl iders [ i ] !!. setOn Seek Bar ChangeListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ labels [ i ] !!. text Ġ= Ġformat Band Label ( freq _ range ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// level Ġmeter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. visibility Ġ= ĠView . GONE Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew _ level Ġ= Ġsl iders [ i ] !!. progress Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new _ level Ġ=== Ġ 1 6 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ" 0 ĠdB " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( new _ level Ġ< Ġ 1 6 ) Ġ{ Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new _ level Ġ=== Ġ 0 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ"-" Ġ+ Ġ" 1 5 ĠdB " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ"-" Ġ+ Ġ( 1 6 Ġ- Ġnew _ level ) Ġ+ Ġ" ĠdB " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( new _ level Ġ> Ġ 1 6 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ" +" Ġ+ Ġ( new _ level Ġ- Ġ 1 6 ) Ġ+ Ġ" ĠdB " Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġnum _ sl iders Ġuntil ĠMAX _ SL ID ERS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsl iders [ i ] !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ labels [ i ] !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbb Ġ= ĠMusic Player Application . instance !!. getB ass Boost () ĊĠĠĠĠĠĠĠ Ġif Ġ( bb Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb ass _ boost !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb ass _ boost _ label !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġv rt Ġ= ĠMusic Player Application . instance !!. get Virtual izer () ĊĠĠĠĠĠĠĠ Ġif Ġ( v rt Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvirtual izer !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġrev Ġ= ĠMusic Player Application . instance !!. get Re verb () ĊĠĠĠĠĠĠĠ Ġif Ġ( rev Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre verb !!. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// for Ġb ass Ġboost ĊĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( circular Seek Bar : ĠCircular Seek Bar , Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( circular Seek Bar Ġ=== Ġb ass _ boost ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbb !!. enabled Ġ= Ġprogress Ġ> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbb !!. set Strength ( progress . to Short ()) Ġ// ĠAlready Ġin Ġthe Ġright Ġrange Ġ 0 - 1 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} else Ġif ( circular Seek Bar Ġ=== Ġvirtual izer ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv rt !!. enabled Ġ= Ġprogress Ġ> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv rt !!. set Strength ( progress . to Short ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠCircular Seek Bar ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠCircular Seek Bar ) Ġ{} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġon Progress Changed ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġlevel : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Touch : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eq Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew _ level Ġ= Ġmin _ level Ġ+ Ġ( max _ level Ġ- Ġmin _ level ) Ġ* Ġlevel Ġ/ Ġ 1 0 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġnum _ sl iders ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sl iders [ i ] Ġ=== Ġseek Bar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new _ level Ġ=== Ġ 1 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ" 0 ĠdB " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( new _ level Ġ< Ġ 1 6 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new _ level Ġ=== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ"-" Ġ+ Ġ" 1 5 ĠdB " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ"-" Ġ+ Ġ( 1 6 Ġ- Ġnew _ level ) Ġ+ Ġ" ĠdB " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( new _ level Ġ> Ġ 1 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġslider _ level [ i ] !!. text Ġ= Ġ" +" Ġ+ Ġ( new _ level Ġ- Ġ 1 6 ) Ġ+ Ġ" ĠdB " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeq !!. set Band Level ( i . to Short (), Ġnew _ level . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ ĠonStart Tracking Touch ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġon Stop Tracking Touch ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġformat Band Label ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġformat Band Label ( band : ĠInt Array ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// return Ġmilli Hz ToString ( band [ 0 ]) Ġ+ Ġ"-" Ġ+ Ġmilli Hz ToString ( band [ 1 ]) ĊĠĠĠĠĠĠĠ Ġreturn Ġmilli Hz ToString ( band [ 0 ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġmilli Hz ToString ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġmilli Hz ToString ( milli Hz : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( milli Hz Ġ< Ġ 1 0 0 0 ) Ġreturn Ġ"" ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( milli Hz Ġ< Ġ 1 0 0 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ġ+ Ġmilli Hz Ġ/ Ġ 1 0 0 0 Ġ+ Ġ" Hz " ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"" Ġ+ Ġmilli Hz Ġ/ Ġ 1 0 0 0 0 0 0 Ġ+ Ġ" k Hz " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġupdate Sl iders ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġupdate Sl iders () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġnum _ sl iders ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlevel : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( eq Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= Ġeq !!. get Band Level ( i . to Short ()). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpos Ġ= Ġ 1 0 0 Ġ* Ġlevel Ġ/ Ġ( max _ level Ġ- Ġmin _ level ) Ġ+ Ġ 5 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsl iders [ i ] !!. progress Ġ= Ġpos ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġupdate B ass Boost ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġupdate B ass Boost () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( bb Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb ass _ boost !!. progress Ġ= Ġbb !!. rounded Strength . toInt () ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb ass _ boost !!. progress Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġon Checked Change ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun Ġon CheckedChanged ( view : ĠCompound Button , Ġis Checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ=== Ġenabled Ġas ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeq !!. enabled Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ ĠonClick ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ=== Ġflat Ġas ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Flat () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġupdate UI ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġupdate UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Sl iders () ĊĠĠĠĠĠĠĠ Ġupdate B ass Boost () ĊĠĠĠĠĠĠĠ Ġenabled !!. isChecked Ġ= Ġeq !!. enabled ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġset Flat ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġset Flat () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( eq Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġnum _ sl iders ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġeq !!. set Band Level ( i . to Short (), Ġ 0 . to Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bb Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbb !!. enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbb !!. set Strength ( 0 . to Short ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġshow About ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġfun Ġshow About () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog Builder Ġ= ĠAlertDialog . Builder ( this ) ĊĊĠĠĠĠĠĠĠ Ġalert Dialog Builder . setTitle (" About ĠSimple ĠE Q ") ĊĠĠĠĠĠĠĠ Ġalert Dialog Builder . setMessage ( R . string . copyright _ message ) ĊĠĠĠĠĠĠĠ Ġalert Dialog Builder . set Cancel able ( true ) ĊĠĠĠĠĠĠĠ Ġalert Dialog Builder . set Positive Button ( R . string . ok , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Interface . OnClickListener Ġ{ Ġdialog , Ġid Ġ-> Ġ}) ĊĠĠĠĠĠĠĠ Ġval Ġad Ġ= Ġalert Dialog Builder . create () ĊĠĠĠĠĠĠĠ Ġad . show () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ================================================================ ============= ĊĠĠĠ Ġon Options ItemSelected ĊĠĠĠ Ġ============================================================================= */ ĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . about Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow About () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ