package Ġcom . example . dig in otes Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Environment Ċ import Ġandroid . speech . Recognizer Intent Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . dig in otes . databinding . Fragment Speech ToText Binding Ċ import Ġjava . io . File Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . IOException Ċ import Ġjava . util .* Ċ Ċ class ĠSpeech ToText Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġval Ġfolder _ name Ġ= Ġmain _ home _ page . folder _ name ĊĠĠĠ Ġprivate Ġval Ġfilepath Ġ= Ġ" Storage - 1 /${ folder _ name }" ĊĠĠĠ Ġprivate Ġvar Ġmy External File : ĠFile ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġis External Storage ReadOnly : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext Storage State Ġ= ĠEnvironment . get External Storage State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEnvironment . MEDIA _ MOUNT ED _ READ _ ONLY Ġ== Ġext Storage State ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġis External Storage Available : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext Storage State Ġ= ĠEnvironment . get External Storage State () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEnvironment . MEDIA _ MOUNT ED Ġ== Ġext Storage State ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġrequest Code Ġ= Ġ 1 0 0 ĊĠĠĠ Ġlateinit Ġvar ĠtextView : ĠTextView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . inflate < Fragment Speech ToText Binding >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . fragment _ speech _ to _ text , Ġcontainer , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval ĠfileName Ġ= Ġbinding . fileName EditText ĊĠĠĠĠĠĠĠ Ġval Ġfile Data Ġ= Ġbinding . file Content EditText ĊĠĠĠĠĠĠĠ Ġval Ġsave Button Ġ= Ġbinding . save Button ĊĊĠĠĠĠĠĠĠ ĠtextView Ġ= Ġbinding . file Content EditText ĊĠĠĠĠĠĠĠ Ġval Ġrecord Button : ĠButton Ġ= Ġbinding . record Button ĊĠĠĠĠĠĠĠ Ġrecord Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Recognizer Intent . ACTION _ RE CO GN IZE _ SPE E CH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRe cognizer Intent . EXTRA _ LANGUAGE _ MODEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRe cognizer Intent . LANGUAGE _ MODEL _ FREE _ FORM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Recognizer Intent . EXTRA _ LANGUAGE , ĠLocale . getDefault ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( Recognizer Intent . EXTRA _ PROMPT , Ġ" Dig i Notes Ġ: ĠStart ĠSpe aking ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( intent , Ġrequest Code ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sorry Ġyour Ġdevice Ġnot Ġsupported ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsave Button . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy External File Ġ= ĠFile ( context ?. get External Files Dir ( filepath ), ĠfileName . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Out Put Stream Ġ= ĠFileOutputStream ( my External File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Out Put Stream . write ( file Data . text . toString (). toByteArray ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Out Put Stream . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Activity (), Ġ" File ĠSaved ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġif Ġ(! is External Storage Available Ġ|| Ġis External Storage ReadOnly ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Button . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK Ġ&& Ġnull Ġ!= Ġdata ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠArrayList < String > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . getString ArrayList Extra ( Recognizer Intent . EXTRA _ RESULTS ) Ġas ĠArrayList < String > ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġresult [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ