package Ġcom . and ry oga . safe box . ui . view . home . add New Data . login Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . and ry oga . safe box . data . repository . interfaces . Login Data Repository Ċ import Ġcom . and ry oga . safe box . ui . common . Resource Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt ViewModel Ċ class ĠAdd New Login Data ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġlogin Data Repository : ĠLogin Data Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġadd New Login Screen Data Ġ= ĠAdd New Login Screen Data () ĊĊĠĠĠ Ġfun Ġon Save Click () Ġ= Ġlive Data ( viewModel Scope . coroutine Context ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . i (" save Ġclicked , Ġadding Ġlogin Ġdata Ġin Ġdb ") ĊĠĠĠĠĠĠĠ Ġemit ( Resource . loading ( true )) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogin Data Repository . insert Login Data ( add New Login Screen Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . success ( true )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage Ġ= Ġex . message ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( ex ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ