package Ġcom . h end ra angg rian . plan o . data Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Delete Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . Insert Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġandroidx . room . Query Ċ import Ġcom . h end ra angg rian . plan o . Size Ċ Ċ @ Entity ( tableName Ġ= Ġ" recent _ media _ sizes ") Ċ data Ġclass ĠRecent Media Size ( ĊĠĠĠ Ġoverride Ġval Ġwidth : ĠFloat , ĊĠĠĠ Ġoverride Ġval Ġheight : ĠFloat Ċ ) Ġ: ĠSize Ġ{ ĊĊĠĠĠ Ġ@ PrimaryKey ( auto Generate Ġ= Ġtrue ) Ġvar Ġid : ĠLong Ġ= Ġ 0 Ċ } Ċ Ċ @ Dao Ċ interface ĠRecent Media Sizes Ġ{ ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġrecent _ media _ sizes ") ĊĠĠĠ Ġsuspend Ġfun Ġall (): ĠList < Recent Media Size > ĊĊĠĠĠ Ġ@ Insert ĊĠĠĠ Ġsuspend Ġfun Ġinsert All ( var arg Ġsizes : ĠRecent Media Size ) ĊĊĠĠĠ Ġ@ Delete ĊĠĠĠ Ġsuspend Ġfun Ġdelete ( user : ĠRecent Media Size ) ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġrecent _ media _ sizes ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete All () ĊĊĠĠĠ Ġsuspend Ġfun Ġcontains ( width : ĠFloat , Ġheight : ĠFloat ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġall (). any Ġ{ Ġit . width Ġ== Ġwidth Ġ&& Ġit . height Ġ== Ġheight Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġlimit Size () Ġ= Ġall (). reversed (). drop ( 5 ). forEach Ġ{ Ġdelete ( it ) Ġ} Ċ } Ċ Ċ @ Entity ( tableName Ġ= Ġ" recent _ trim _ sizes ") Ċ data Ġclass ĠRecent Trim Size ( ĊĠĠĠ Ġoverride Ġval Ġwidth : ĠFloat , ĊĠĠĠ Ġoverride Ġval Ġheight : ĠFloat Ċ ) Ġ: ĠSize Ġ{ ĊĊĠĠĠ Ġ@ PrimaryKey ( auto Generate Ġ= Ġtrue ) Ġvar Ġid : ĠLong Ġ= Ġ 0 Ċ } Ċ Ċ @ Dao Ċ interface ĠRecent Trim Sizes Ġ{ ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġrecent _ trim _ sizes ") ĊĠĠĠ Ġsuspend Ġfun Ġall (): ĠList < Recent Trim Size > ĊĊĠĠĠ Ġ@ Insert ĊĠĠĠ Ġsuspend Ġfun Ġinsert All ( var arg Ġsizes : ĠRecent Trim Size ) ĊĊĠĠĠ Ġ@ Delete ĊĠĠĠ Ġsuspend Ġfun Ġdelete ( user : ĠRecent Trim Size ) ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġrecent _ trim _ sizes ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete All () ĊĊĠĠĠ Ġsuspend Ġfun Ġcontains ( width : ĠFloat , Ġheight : ĠFloat ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġall (). any Ġ{ Ġit . width Ġ== Ġwidth Ġ&& Ġit . height Ġ== Ġheight Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġlimit Size () Ġ= Ġall (). reversed (). drop ( 5 ). forEach Ġ{ Ġdelete ( it ) Ġ} Ċ } Ċ Ċ suspend Ġfun ĠContext . save Recent Sizes ( media Width : ĠFloat , Ġmedia Height : ĠFloat , Ġtrim Width : ĠFloat , Ġtrim Height : ĠFloat ) Ġ{ ĊĠĠĠ Ġval Ġdb Ġ= ĠPl ano Database . getInstance ( this @ save Recent Sizes ) ĊĠĠĠ Ġif Ġ(! db . recent Media (). contains ( media Width , Ġmedia Height )) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . recent Media (). insert All ( Recent Media Size ( media Width , Ġmedia Height )) ĊĠĠĠĠĠĠĠ Ġdb . recent Media (). limit Size () ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ(! db . recent Trim (). contains ( trim Width , Ġtrim Height )) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . recent Trim (). insert All ( Recent Trim Size ( trim Width , Ġtrim Height )) ĊĠĠĠĠĠĠĠ Ġdb . recent Trim (). limit Size () ĊĠĠĠ Ġ} Ċ } Ċ