package Ġkr . sweet case . har mo assist . modules . DB Module . DB Materials Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġkr . sweet case . har mo assist . modules . DB Module . DB handler Ċ Ċ class ĠMeasure Ġ{ ĊĠĠĠ Ġvar Ġtitle : String ="" ĊĠĠĠ Ġvar Ġtrack Index : Int = 0 ĊĠĠĠ Ġvar ĠMeasure Index : Int = 0 ĊĊĠĠĠ Ġfun Ġadd Measure ( db : ĠSQLite Database , Ġtitle : ĠString , Ġtrack Index : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġ// val Ġhandler = dB handler ĊĠĠĠĠĠĠĠ Ġ// val Ġdb = this . writable Database ĊĠĠĠĠĠĠĠ Ġval Ġselect Query = (" SELECT ĠMAX ( Measure Index ) ĠFROM Ġ${ DB handler . FIRST _ MEAS URE _ TABLE } ĠWHERE ĠTitle =\" ${ title }\" ĠAND ĠTrack Index =${ track Index }") ĊĠĠĠĠĠĠĠ Ġval Ġcursor = db . raw Query ( select Query , null ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex : ĠInt ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// index = cursor . getInt ( cursor . getColumnIndex (( DB handler . MEAS URE _ INDEX ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex = cursor . getInt ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex = 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= ĠContent Values () ĊĊĠĠĠĠĠĠĠ Ġvalues . put ( DB handler . TRACK _ INDEX , Ġtrack Index ) ĊĠĠĠĠĠĠĠ Ġvalues . put ( DB handler . MEAS URE _ INDEX , Ġindex + 1 ) ĊĠĠĠĠĠĠĠ Ġvalues . put ( DB handler . TITLE , Ġtitle ) ĊĊĠĠĠĠĠĠĠ Ġdb !!. insert ( DB handler . FIRST _ MEAS URE _ TABLE , Ġnull , Ġvalues ) ĊĠĠĠĠĠĠĠ Ġ// val Ġvalues Ġ= (" INSERT ĠINTO ĠVALUES Ġ"+ DB handler . FIRST _ MEAS URE _ TABLE +" Ġ(" + measure . title + "," + measure . track Index + "," + measure . Measure Index ) ĊĊĠĠĠĠĠĠĠ Ġ// db . exec SQL ( values ) ĊĠĠĠĠĠĠĠ Ġ// val Ġ_ success Ġ= db . insert ( DB handler . FIRST _ MEAS URE _ TABLE , Ġnull , Ġvalues ) ĊĠĠĠĠĠĠĠ Ġ// db . close () ĊĊĠĠĠĠĠĠĠ Ġ// return Ġ( Integer . parseInt (" $_ success ")== 1 ) ĊĠĠĠĠĠĠĠ Ġ// return Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete All Measure By Title ( del Title : ĠString , Ġmeasure Index : ĠInt , Ġtrack Index t : ĠInt , Ġdb : ĠSQLite Database ){ ĊĠĠĠĠĠĠĠ Ġdb !!. delete ( DB handler . FIRST _ MEAS URE _ TABLE ," title = ?", ĠarrayOf ( del Title )) ĊĠĠĠĠĠĠĠ Ġ// db !!. delete ( DB handler . FIRST _ MEAS URE _ TABLE ," title =? ĠAND ĠMeasure Index = ?", ĠarrayOf ( del Title , Ġmeasure Index . toString ())) ĊĠĠĠĠĠĠĠ Ġ/* var Ġsql = (" DELETE ĠFROM ĠMeasure ĠWHERE Ġtitle ="+ del Title +" AND ĠMeasure Index t ="+ measure Index ) ĊĠĠĠĠĠĠĠ Ġdb . exec SQL ( sql ) */ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdel Measure ( db : ĠSQLite Database , Ġtitle : ĠString , Ġtrack Index : ĠInt , Ġdelete Measure Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselect Query = (" SELECT ĠMAX ( Measure Index ) ĠFROM Ġ${ DB handler . FIRST _ MEAS URE _ TABLE } ĠWHERE ĠTitle =\" ${ title }\" ĠAND ĠTrack Index =${ track Index }") ĊĠĠĠĠĠĠĠ Ġval Ġcursor = db . raw Query ( select Query , null ) ĊĠĠĠĠĠĠĠ Ġvar Ġlast Index : ĠInt ĊĠĠĠĠĠĠĠ Ġvar ĠstartIndex : ĠInt = delete Measure Index ĊĠĠĠĠĠĠĠ Ġvar Ġchange Index = startIndex + 1 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// index = cursor . getInt ( cursor . getColumnIndex (( DB handler . MEAS URE _ INDEX ))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Index = cursor . getInt ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Index = 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdb !!. delete ( DB handler . FIRST _ MEAS URE _ TABLE ," Title =\" ${ title }\" ĠAND ĠTrack Index =${ track Index } ĠAND ĠMeasure Index = ?", ĠarrayOf ( Integer . toString ( delete Measure Index ))) ĊĊĠĠĠĠĠĠĠ Ġwhile ( startIndex < last Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġupdate Sql Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ(" UPDATE Ġ${ DB handler . FIRST _ MEAS URE _ TABLE } ĠSET ĠMeasure Index =$ startIndex ĠWHERE ĠTitle =\" ${ title }\" ĠAND ĠTrack Index =$ track Index ĠAND ĠMeasure Index =$ change Index ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb . exec SQL ( update Sql ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartIndex ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Index ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest data ( db : ĠSQLite Database ){ ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 1 ", Ġ 2 ) ĊĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġadd Measure ( db , Ġ" title 2 ", Ġ 2 ) ĊĊĠĠĠ Ġ} Ċ }