/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 Ġ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 Ġcom . android . tools . idea . sqlite . fileType Ċ Ċ import Ġcom . android . tools . idea . sqlite . Database Inspector Flag Controller Ċ import Ġcom . intellij . openapi . file Types . FileType Ċ import Ġcom . intellij . openapi . file Types . FileType Registry Ċ import Ġcom . intellij . openapi . util . io . Byte Sequence Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof Ġ[ FileType Registry . FileType Detector ] Ġfor ĠSql ite Ġfiles . Ċ Ġ* Ċ Ġ* ĠIf Ġstarting Ġby Ġsequence Ġof Ġbytes Ġof Ġa Ġfile Ġis Ġthe Ġrecognized ĠSql ite Ġheader Ġ[ SQL ITE 3 _ FORMAT _ HEADER ], Ċ Ġ* Ġthe Ġimplementation Ġreturns Ġthe Ġ[ Sqlite FileType ] Ġfile Ġtype . Ċ Ġ*/ Ċ class ĠSql ite FileType Detector Ġ: ĠFile Type Registry . FileType Detector Ġ{ ĊĠ Ġprivate Ġval ĠSQL ITE 3 _ FORMAT _ HEADER Ġ= Ġ" SQLite Ġformat Ġ 3 \ u 0 0 0 0 ". toByteArray ( Charsets . UTF _ 8 ) ĊĊĠ Ġoverride Ġfun Ġdetect ( file : ĠVirtual File , Ġfirst Bytes : ĠByte Sequence , Ġfirst Chars If Text : ĠCharSequence ?): ĠFile Type ? Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠ Ġ! Database Inspector Flag Controller . is Feature Enabled Ġ|| Ġ! Database Inspector Flag Controller . isFile Support Enabled Ġ-> Ġnull ĊĠĠĠĠĠ Ġfirst Bytes . length () Ġ< ĠSQL ITE 3 _ FORMAT _ HEADER . size Ġ-> Ġnull ĊĠĠĠĠĠ Ġfirst Bytes . sub Sequence ( 0 , ĠSQL ITE 3 _ FORMAT _ HEADER . size ). to Bytes () Ġcontent Equals ĠSQL ITE 3 _ FORMAT _ HEADER Ġ-> ĠSql ite FileType ĊĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Desired Content Prefix Length (): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠSQL ITE 3 _ FORMAT _ HEADER . size ĊĠ Ġ} Ċ Ċ } Ċ