/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 Ġandroidx . room . util Ċ Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġandroidx . sqlite . db . Support SQLite Database Ċ Ċ /** Ċ Ġ* ĠA Ġdata Ġclass Ġthat Ġholds Ġthe Ġinformation Ġabout Ġa Ġview . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠThis Ġder ives Ġinformation Ġfrom Ġsqlite _ master . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠEven Ġthough ĠSQLite Ġcolumn Ġnames Ġare Ġcase Ġins ensitive , Ġthis Ġclass Ġuses Ġcase Ġsensitive Ġmatching . Ċ Ġ* Ċ Ġ* Ġ@ hide Ċ Ġ*/ Ċ @ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP _ PREFIX ) Ċ class ĠView Info ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġview Ġname ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠSQL Ġof ĠCREATE ĠVIEW . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġval Ġsql : ĠString ? Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other Ġ! is ĠView Info ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġ(( name Ġ== Ġother . name ) Ġ&& Ġif Ġ( sql Ġ!= Ġnull ) Ġsql Ġ== Ġother . sql Ġelse Ġother . sql Ġ== Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġname . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( sql ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ(" View Info {" Ġ+ Ġ" name ='" Ġ+ Ġname Ġ+ Ġ'\'' Ġ+ Ġ", Ġsql ='" Ġ+ Ġsql Ġ+ Ġ'\'' Ġ+ Ġ' }') ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReads Ġthe Ġview Ġinformation Ġfrom Ġthe Ġgiven Ġdatabase . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġdatabase ĠThe Ġdatabase Ġto Ġread Ġthe Ġinformation Ġfrom . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġview Name ĠThe Ġview Ġname . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠA ĠView Info Ġcontaining Ġthe Ġschema Ġinformation Ġfor Ġthe Ġprovided Ġview Ġname . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġread ( database : ĠSupport SQLite Database , Ġview Name : ĠString ): ĠView Info Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdatabase . query ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" SELECT Ġname , Ġsql ĠFROM Ġsqlite _ master Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" WHERE Ġtype Ġ= Ġ' view ' ĠAND Ġname Ġ= Ġ'$ view Name '" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). use Cursor Ġ{ Ġcursor Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cursor . moveTo First ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Info ( cursor . getString ( 0 ), Ġcursor . getString ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Info ( view Name , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }