diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/daos/UserAccountDao.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/daos/UserAccountDao.kt index d9df243..05edea5 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/daos/UserAccountDao.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/daos/UserAccountDao.kt @@ -11,6 +11,9 @@ interface UserAccountDao { @Insert fun insert(userAccount: UserAccount) + @Query("SELECT * FROM user_accounts WHERE user_accounts.id = :id") + fun getUserAccount(id: String): LiveData + @Query("SELECT * FROM user_accounts") fun getAllUserAccounts(): LiveData> } \ No newline at end of file diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/BalancesFragment.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/BalancesFragment.kt index ba0bed2..bf21faf 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/BalancesFragment.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/BalancesFragment.kt @@ -3,24 +3,28 @@ package cy.agorise.bitsybitshareswallet.fragments import androidx.lifecycle.ViewModelProviders import android.content.Intent import android.os.Bundle +import android.preference.PreferenceManager import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.annotation.Nullable +import androidx.lifecycle.Observer import cy.agorise.bitsybitshareswallet.R import cy.agorise.bitsybitshareswallet.activities.ReceiveTransactionActivity import cy.agorise.bitsybitshareswallet.activities.SendTransactionActivity +import cy.agorise.bitsybitshareswallet.models.UserAccount +import cy.agorise.bitsybitshareswallet.repositories.UserAccountRepository +import cy.agorise.bitsybitshareswallet.utils.Constants import cy.agorise.bitsybitshareswallet.viewmodels.BalancesViewModel +import cy.agorise.bitsybitshareswallet.viewmodels.UserAccountViewModel import kotlinx.android.synthetic.main.fragment_balances.* class BalancesFragment : Fragment() { - companion object { - fun newInstance() = BalancesFragment() - } - - private lateinit var viewModel: BalancesViewModel + private lateinit var mUserAccountViewModel: UserAccountViewModel + private lateinit var mBalancesViewModel: BalancesViewModel override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -29,9 +33,21 @@ class BalancesFragment : Fragment() { return inflater.inflate(R.layout.fragment_balances, container, false) } - override fun onActivityCreated(savedInstanceState: Bundle?) { - super.onActivityCreated(savedInstanceState) - viewModel = ViewModelProviders.of(this).get(BalancesViewModel::class.java) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + mUserAccountViewModel = ViewModelProviders.of(this).get(UserAccountViewModel::class.java) + + val userId = PreferenceManager.getDefaultSharedPreferences(context) + .getString(Constants.KEY_CURRENT_ACCOUNT_ID, "") + + mUserAccountViewModel.getUserAccount(userId!!).observe(this, Observer{ user -> + tvAccountName.text = user.name + }) + + + mBalancesViewModel = ViewModelProviders.of(this).get(BalancesViewModel::class.java) // TODO: Use the ViewModel + } } diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/MerchantsFragment.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/MerchantsFragment.kt index 4714120..5bab935 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/MerchantsFragment.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/fragments/MerchantsFragment.kt @@ -12,10 +12,6 @@ import cy.agorise.bitsybitshareswallet.viewmodels.MerchantsViewModel class MerchantsFragment : Fragment() { - companion object { - fun newInstance() = MerchantsFragment() - } - private lateinit var viewModel: MerchantsViewModel override fun onCreateView( @@ -25,8 +21,9 @@ class MerchantsFragment : Fragment() { return inflater.inflate(R.layout.fragment_merchants, container, false) } - override fun onActivityCreated(savedInstanceState: Bundle?) { - super.onActivityCreated(savedInstanceState) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewModel = ViewModelProviders.of(this).get(MerchantsViewModel::class.java) // TODO: Use the ViewModel } diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/repositories/UserAccountRepository.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/repositories/UserAccountRepository.kt index e11963f..8789fe8 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/repositories/UserAccountRepository.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/repositories/UserAccountRepository.kt @@ -2,6 +2,7 @@ package cy.agorise.bitsybitshareswallet.repositories import android.app.Application import android.os.AsyncTask +import androidx.lifecycle.LiveData import cy.agorise.bitsybitshareswallet.daos.BitsyDatabase import cy.agorise.bitsybitshareswallet.daos.UserAccountDao import cy.agorise.bitsybitshareswallet.models.UserAccount @@ -19,6 +20,10 @@ class UserAccountRepository internal constructor(application: Application) { insertAsyncTask(mUserAccountDao).execute(userAccount) } + fun getUserAccount(id: String): LiveData { + return mUserAccountDao.getUserAccount(id) + } + private class insertAsyncTask internal constructor(private val mAsyncTaskDao: UserAccountDao) : AsyncTask() { diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/BalancesViewModel.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/BalancesViewModel.kt index 788d761..2b660b0 100644 --- a/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/BalancesViewModel.kt +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/BalancesViewModel.kt @@ -1,7 +1,8 @@ package cy.agorise.bitsybitshareswallet.viewmodels -import androidx.lifecycle.ViewModel +import android.app.Application +import androidx.lifecycle.AndroidViewModel -class BalancesViewModel : ViewModel() { - // TODO: Implement the ViewModel -} + +class BalancesViewModel(application: Application) : AndroidViewModel(application) { +} \ No newline at end of file diff --git a/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/UserAccountViewModel.kt b/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/UserAccountViewModel.kt new file mode 100644 index 0000000..77f02dd --- /dev/null +++ b/app/src/main/java/cy/agorise/bitsybitshareswallet/viewmodels/UserAccountViewModel.kt @@ -0,0 +1,19 @@ +package cy.agorise.bitsybitshareswallet.viewmodels + +import android.app.Application +import androidx.lifecycle.AndroidViewModel +import androidx.lifecycle.LiveData +import cy.agorise.bitsybitshareswallet.models.UserAccount +import cy.agorise.bitsybitshareswallet.repositories.UserAccountRepository + +class UserAccountViewModel(application: Application) : AndroidViewModel(application) { + private var mRepository = UserAccountRepository(application) + + internal fun getUserAccount(id: String): LiveData { + return mRepository.getUserAccount(id) + } + +// fun insert(userAccount: UserAccount) { +// mRepository.insert(userAccount) +// } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 8b6045a..b4afa4d 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -16,7 +16,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/night_mode" - android:textAppearance="@style/TextAppearance.Body1" + android:textAppearance="@style/TextAppearance.Bitsy.Body1" android:textColor="?android:textColorPrimary"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_balances.xml b/app/src/main/res/layout/fragment_balances.xml index f1a11d5..364b34c 100644 --- a/app/src/main/res/layout/fragment_balances.xml +++ b/app/src/main/res/layout/fragment_balances.xml @@ -1,14 +1,54 @@ - - + - \ No newline at end of file + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_balance.xml b/app/src/main/res/layout/item_balance.xml new file mode 100644 index 0000000..c458d76 --- /dev/null +++ b/app/src/main/res/layout/item_balance.xml @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_transaction.xml b/app/src/main/res/layout/item_transaction.xml new file mode 100644 index 0000000..f818652 --- /dev/null +++ b/app/src/main/res/layout/item_transaction.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index feaf5d6..3c5c341 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,6 +29,9 @@ Merchants Send + + Transactions + Settings Night mode diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ff02646..e883885 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -42,6 +42,8 @@ -