package Ġcom . dev v ail onge . flip . features . categories . create . domain Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġcom . dev v ail onge . flip . Flip Application Ċ import Ġcom . dev v ail onge . flip . R Ċ import Ġcom . dev v ail onge . flip . base . AppData Base Ċ import Ġcom . dev v ail onge . flip . features . categories . create . presentation . Category Create State Ċ import Ġcom . dev v ail onge . flip . features . categories . data . Category Dao Ċ import Ġcom . dev v ail onge . flip . features . categories . data . Category Entity Ċ import Ġcom . dev v ail onge . flip . features . categories . data . Category Image Ċ Ċ class ĠCreate Category UseCase ( ĊĠĠĠ Ġapplication : ĠApplication , ĊĠĠĠ Ġprivate Ġval Ġcategory Dao : ĠCategory Dao Ġ= ĠApp Data Base . getData Base ( application ). category Dao () Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġperform ( name : ĠString , Ġcategory Image : ĠCategory Image ?): ĠLive Data < Category Create State > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Category Create State . Loading ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. trim () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take If Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Image ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcategory Dao ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. insert ( Category Entity ( name Ġ= Ġname , Ġcategory Image Ġ= Ġit . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Category Create State . Success ( result , ĠR . string . create _ category _ success )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Category Create State . Error ( R . string . missing _ category _ image )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Category Create State . Error ( R . string . missing _ category _ name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Category Create State . Error ( R . string . create _ category _ failed )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate (): ĠCreate Category UseCase Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCreate Category UseCase ( Flip Application . instance ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ }