Skip to content

Commit

Permalink
Home Fragment, Profile Fragment and Account Fragment
Browse files Browse the repository at this point in the history
  • Loading branch information
garvit984 committed Mar 25, 2020
1 parent ade5d7a commit 16ecdbf
Show file tree
Hide file tree
Showing 51 changed files with 1,147 additions and 85 deletions.
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
Expand All @@ -24,6 +25,7 @@
</activity>

<activity android:name=".ui.mifos.DashboardActivity" />
<activity android:name=".ui.mifos.Main" />
<activity android:name=".ui.mifos.login.LoginActivity" />
<activity android:name=".ui.mifos.passcode.PasscodeActivity"/>
<activity android:name=".ui.mifos.loanApplication.loanActivity.LoanApplicationActivity"/>
Expand Down
20 changes: 20 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Account.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.mifos.mobile.cn.ui.mifos

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.ui.base.MifosBaseFragment

class Account : MifosBaseFragment() {
companion object {
fun newInstance(): Account = Account()
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
getToolbar().setVisibility(View.GONE);
return inflater.inflate(R.layout.fragment_account, container, false)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,15 @@ import org.mifos.mobile.cn.ui.mifos.settings.SettingsFragment
import org.mifos.mobile.cn.ui.utils.CircularImageView
import org.mifos.mobile.cn.ui.utils.Toaster
import android.widget.Toast
import com.mifos.mobile.passcode.utils.PasscodePreferencesHelper
import org.mifos.mobile.cn.ui.mifos.passcode.PasscodeActivity
import org.mifos.mobile.cn.ui.utils.ConstantKeys

class DashboardActivity : MifosBaseActivity(), View.OnClickListener, NavigationView.OnNavigationItemSelectedListener {

@Inject
internal lateinit var preferencesHelper: PreferencesHelper

private var passcodePreferencesHelper: PasscodePreferencesHelper? = null
private lateinit var tvUsername: TextView
private lateinit var ivCircularUserProfilePicture: CircularImageView
private lateinit var ivTextDrawableUserProfilePicture: ImageView
Expand All @@ -52,7 +55,7 @@ class DashboardActivity : MifosBaseActivity(), View.OnClickListener, NavigationV
setupNavigationBar()
setToolbarElevation()

replaceFragment(DashboardFragment.newInstance(), false, R.id.container)
replaceFragment(DashboardFragment.newInstance("customer_identifier"), false, R.id.container)

}

Expand Down Expand Up @@ -95,10 +98,6 @@ class DashboardActivity : MifosBaseActivity(), View.OnClickListener, NavigationV
val actionBarDrawerToggle = object : ActionBarDrawerToggle(this,
drawerLayout, getToolbar(), R.string.open_drawer, R.string.close_drawer) {

override fun onDrawerClosed(drawerView: View) {
super.onDrawerClosed(drawerView)
}

override fun onDrawerOpened(drawerView: View) {
super.onDrawerOpened(drawerView)
hideKeyboard(drawerView)
Expand Down Expand Up @@ -160,7 +159,7 @@ class DashboardActivity : MifosBaseActivity(), View.OnClickListener, NavigationV
when (item.itemId) {
R.id.item_home -> {
hideToolbarElevation()
replaceFragment(DashboardFragment.newInstance(), true, R.id.container)
replaceFragment(DashboardFragment.newInstance("customer_identifier"), true, R.id.container)
}
R.id.item_accounts -> {
replaceFragment(CustomerAccountFragment.newInstance(AccountType.DEPOSIT), true,
Expand All @@ -170,7 +169,17 @@ class DashboardActivity : MifosBaseActivity(), View.OnClickListener, NavigationV
R.id.item_logout -> {
showLogoutDialog()
}

R.id.item_passcode ->{
if (this != null) {
passcodePreferencesHelper = PasscodePreferencesHelper(this)
val currentPass: String = passcodePreferencesHelper!!.getPassCode()
passcodePreferencesHelper!!.savePassCode("")
val intent = Intent(this, PasscodeActivity::class.java)
intent.putExtra(ConstantKeys.CURR_PASSWORD, currentPass)
intent.putExtra(ConstantKeys.UPDATE_PASSWORD_KEY, true)
startActivity(intent)
}
}
R.id.item_product -> {
replaceFragment(ProductFragment.Companion.newInstance(), true,
R.id.container)
Expand Down
21 changes: 21 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Home.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.mifos.mobile.cn.ui.mifos

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.ui.Test1
import org.mifos.mobile.cn.ui.base.MifosBaseFragment

class Home : MifosBaseFragment() {
companion object {
fun newInstance(): Home = Home()
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
getToolbar().setVisibility(View.GONE);
return inflater.inflate(R.layout.fragment_home, container, false)
}
}
71 changes: 71 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Main.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package org.mifos.mobile.cn.ui.mifos

import android.os.Bundle
import androidx.annotation.NonNull
import androidx.fragment.app.Fragment
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.material.bottomnavigation.BottomNavigationView
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.ui.Test1
import org.mifos.mobile.cn.ui.base.MifosBaseActivity
import android.view.MenuItem as MenuItem1


class Main : MifosBaseActivity(), BottomNavigationView.OnNavigationItemSelectedListener {
private var bottomNavigationView: BottomNavigationView? = null
private var menuItem = -1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)

bottomNavigationView = findViewById(R.id.bottom_navigation)
setupNavigationBar()
bottomNavigationView?.run { setSelectedItemId(R.id.action_home)
}


}

override fun onNavigationItemSelected(item: MenuItem1): Boolean {
clearFragmentBackStack()
setToolbarElevation()
menuItem = item.itemId
navigateFragment(item.itemId,false)
return true
}
private fun setupNavigationBar() {

bottomNavigationView?.setOnNavigationItemSelectedListener(object : BottomNavigationView.OnNavigationItemSelectedListener {
override fun onNavigationItemSelected(@NonNull item: android.view.MenuItem): Boolean {
navigateFragment(item.itemId, false)
return true
}
})

}
override fun onBackPressed() {
val fragment: Fragment? = supportFragmentManager
.findFragmentById(R.id.bottom_navigation_fragment_container)
if (fragment != null && fragment !is Home && fragment.isVisible()) {
navigateFragment(R.id.action_home, true)
return
}
super.onBackPressed()
}
private fun navigateFragment(id: Int, shouldSelect: Boolean) {
if (shouldSelect) {
bottomNavigationView?.setSelectedItemId(id)
} else {
when (id) {
R.id.action_home -> replaceFragment(Home.newInstance(), false,
R.id.bottom_navigation_fragment_container)
R.id.action_acounts -> replaceFragment(Account.newInstance(), false,
R.id.bottom_navigation_fragment_container)
R.id.action_transfer -> replaceFragment(Test1.newInstance(), false,
R.id.bottom_navigation_fragment_container)
R.id.action_profile -> replaceFragment(Profile.newInstance(), false,
R.id.bottom_navigation_fragment_container)
}
}
}
}
20 changes: 20 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Profile.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.mifos.mobile.cn.ui.mifos

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.ui.base.MifosBaseFragment

class Profile : MifosBaseFragment() {
companion object {
fun newInstance(): Profile = Profile()
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
getToolbar().setVisibility(View.GONE);
return inflater.inflate(R.layout.fragment_profile, container, false)
}
}
26 changes: 26 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Test1.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.mifos.mobile.cn.ui

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import kotlinx.android.synthetic.main.toolbar.*
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.ui.base.MifosBaseFragment
import org.mifos.mobile.cn.ui.mifos.accounts.AccountsFragment
import org.mifos.mobile.cn.ui.mifos.recentTransactions.RecentTransactionsFragment
import org.mifos.mobile.cn.ui.utils.ConstantKeys

class Test1 : MifosBaseFragment() {
companion object {
fun newInstance(): Test1 = Test1()
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
setToolbarTitle("Recent Transactions")
getToolbar().setVisibility(View.GONE);
return inflater.inflate(R.layout.fragment_home, container, false)
}
}
4 changes: 4 additions & 0 deletions app/src/main/kotlin/org/mifos/mobile/cn/ui/mifos/Transfer.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package org.mifos.mobile.cn.ui.mifos

class Transfer {
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import android.view.View
import android.view.ViewGroup
import com.github.therajanmaurya.sweeterror.SweetUIErrorHandler
import kotlinx.android.synthetic.main.fragment_accounts.*
import kotlinx.android.synthetic.main.layout_exception_handler.*
import org.mifos.mobile.cn.R
import org.mifos.mobile.cn.data.models.accounts.deposit.DepositAccount
import org.mifos.mobile.cn.data.models.accounts.loan.LoanAccount
Expand All @@ -19,7 +20,6 @@ import org.mifos.mobile.cn.ui.base.MifosBaseFragment
import org.mifos.mobile.cn.ui.utils.ConstantKeys
import org.mifos.mobile.cn.ui.utils.Network
import javax.inject.Inject
import kotlinx.android.synthetic.main.layout_sweet_exception_handler.*
import org.mifos.mobile.cn.data.models.CheckboxStatus
import org.mifos.mobile.cn.ui.base.OnItemClickListener
import org.mifos.mobile.cn.ui.mifos.customerDepositDetails.CustomerDepositDetailsFragment
Expand Down
Loading

0 comments on commit 16ecdbf

Please sign in to comment.