package Ġcom . you st in us . d vir ate li et u va . ui . routes . cre ater oute Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . google . firebase . firestore . Firebase Fire store Ċ import Ġcom . you st in us . d vir ate li et u va . R Ċ import Ġcom . you st in us . d vir ate li et u va . ui . info . Info ViewModel Ċ Ċ class ĠCreate Route Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠCreate Route Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠCreate Route ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ create _ route , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset OnClickListener ( view ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this )[ Create Route ViewModel :: class . java ] ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset OnClickListener ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . findViewById < Button >( R . id . button ). setOnClickListener Ġ{ ĠonSubmit Click () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠonSubmit Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" title " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ title ). text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ description ). text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" distance " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ distance ). text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" location " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ location ). text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route Storage " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ route _ storage ). text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route Url " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ route _ url ). text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" state " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" difficulty " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route Type " Ġto Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route K ml " Ġto Ġrequire View (). findViewById < EditText >( R . id . edit Text _ route _ storage ). text . toString () Ġ+ Ġ". k ml ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" route Image " Ġto Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" road Type " Ġto Ġ 5 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠFirebase Fire store . getInstance (). collection (" routes "). add ( data ). add On Success Listener Ġ{ Ġ_ Ġ-> Ġ// Ġdoc Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require View (). context , Ġ" Good ", ĠToast . LENGTH _ LONG ). show () Ċ Ċ /* Ċ * ĠĠĠĠ Ġ// var Ġid : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġtitle : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġstate : ĠInt Ġ= Ġ 2 , Ġ// 1 - ak ty vus , Ġ 2 - ne ak ty vus , Ġ 3 - la uk iant is , Ġ 4 - uÅ¾ blo ku ot as ĊĠĠĠ Ġvar Ġdescription : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġlocation : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġdifficulty : ĠInt Ġ= Ġ 0 , Ġ// Ġ 1 - Ġeasy ĊĠĠĠ Ġvar Ġroute Type : ĠInt Ġ= Ġ 1 , Ġ// Ġ 1 - bic ycle , Ġ 2 - car ĊĠĠĠ Ġvar Ġroute K ml : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġroute Image : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġroute Storage : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġroute Url : ĠString Ġ= Ġ"", ĊĠĠĠ Ġvar Ġroad Type : ĠInt Ġ= Ġ 0 , Ġ// Ġ 0 - Ġk el ias ĊĠĠĠ Ġvar Ġdistance : ĠDouble Ġ= Ġ 0 . 0 */ ĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// val Ġex Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require View (). context , Ġ" Permission ", ĠToast . LENGTH _ LONG ). show () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ( ex . message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ