/* Ċ Ġ* ĠSPDX - File Copyright Text : Ġ 2 0 2 0 , Ġmicro G ĠProject ĠTeam Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġorg . micro g . gms . fonts Ċ Ċ import Ġandroid . content . Content Provider Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . Matrix Cursor Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcel FileDescriptor Ċ import Ġandroid . os . Parcel FileDescriptor . MODE _ READ _ ONLY Ċ import Ġandroid . util . Log Ċ import Ġjava . io . File Ċ Ċ class ĠFonts Provider Ġ: ĠContent Provider () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onCreate ") ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcall ( method : ĠString , Ġarg : ĠString ?, Ġextras : ĠBundle ?): ĠBundle ? Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" call Ġ$ method Ġ$ arg Ġ$ extras ") ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġquery ( ĊĠĠĠĠĠĠĠ Ġuri : ĠUri , ĊĠĠĠĠĠĠĠ Ġprojection : ĠArray < out ĠString > ?, ĊĠĠĠĠĠĠĠ Ġselection : ĠString ?, ĊĠĠĠĠĠĠĠ Ġselection Args : ĠArray < out ĠString > ?, ĊĠĠĠĠĠĠĠ Ġsort Order : ĠString ? ĊĠĠĠ Ġ): ĠCursor Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġ" query : Ġ$ uri Ġ${ projection ?. toList ()} Ġ$ selection Ġ${ selection Args ?. join ToString ( prefix Ġ= Ġ"[", Ġpostfix Ġ= Ġ"] ") }") ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠMatrix Cursor ( COLUMNS ) ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġcould Ġalso Ġreturn Ġan Ġempty Ġcursor Ġhere , Ġbut Ġsome Ġapps Ġhave Ġbeen Ġreported Ġto Ġcrash ĊĠĠĠĠĠĠĠ Ġ// Ġwhen Ġtheir Ġexpected Ġfont Ġis Ġnot Ġreturned Ġby ĠGoogle 's Ġfont Ġprovider . ĊĠĠĠĠĠĠĠ Ġcursor . add Row ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 3 3 7 L , Ġ// Ġfile _ id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// Ġfont _ tt c _ index ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġ// Ġfont _ variation _ settings ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 0 , Ġ// Ġfont _ weight ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// Ġfont _ italic ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ// Ġresult _ code : ĠRESULT _ CODE _ OK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinsert ( uri : ĠUri , Ġvalues : ĠContent Values ?): ĠUri Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" insert : Ġ$ uri , Ġ$ values ") ĊĠĠĠĠĠĠĠ Ġreturn Ġuri ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( ĊĠĠĠĠĠĠĠ Ġuri : ĠUri , ĊĠĠĠĠĠĠĠ Ġvalues : ĠContent Values ?, ĊĠĠĠĠĠĠĠ Ġselection : ĠString ?, ĊĠĠĠĠĠĠĠ Ġselection Args : ĠArray < out ĠString >? ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" update : Ġ$ uri , Ġ$ values , Ġ$ selection , Ġ$ selection Args ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( uri : ĠUri , Ġselection : ĠString ?, Ġselection Args : ĠArray < out ĠString >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" delete : Ġ$ uri , Ġ$ selection , Ġ$ selection Args ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetType ( uri : ĠUri ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" getType : Ġ$ uri ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ" font / ttf " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġopen File ( uri : ĠUri , Ġmode : ĠString ): ĠParcel FileDescriptor ? Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" open File : Ġ$ uri Ġmode : Ġ$ mode ") ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= ĠFile ("/ system / fonts / Roboto - Regular . ttf ") ĊĠĠĠĠĠĠĠ Ġreturn ĠParcel FileDescriptor . open ( file , ĠMODE _ READ _ ONLY ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Fonts Provider " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOL UMNS Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" file _ id ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" font _ tt c _ index ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" font _ variation _ settings ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" font _ weight ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" font _ italic ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" result _ code " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ