Skip to content

Commit eeba32c

Browse files
committed
Change bottom navogation behaviour
1 parent da5ef1a commit eeba32c

File tree

5 files changed

+22
-22
lines changed

5 files changed

+22
-22
lines changed

app/src/main/java/com/concordium/wallet/ui/MainActivity.kt

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import android.os.Bundle
55
import android.view.MenuItem
66
import android.widget.Toast
77
import androidx.core.content.ContextCompat
8-
import androidx.fragment.app.Fragment
98
import androidx.lifecycle.ViewModelProvider
109
import androidx.lifecycle.get
1110
import androidx.lifecycle.lifecycleScope
@@ -228,12 +227,11 @@ class MainActivity : BaseActivity(R.layout.activity_main, R.string.accounts_over
228227
private fun onNavigationItemSelected(menuItem: MenuItem): Boolean {
229228
menuItem.isChecked = true
230229

231-
val state = getState(menuItem)
232-
if (state != null) {
233-
viewModel.setState(state)
234-
return true
235-
}
236-
return false
230+
val state = getState(menuItem) ?: return false
231+
232+
if (viewModel.stateLiveData.value == state) return false
233+
viewModel.setState(state)
234+
return true
237235
}
238236

239237
private fun getState(menuItem: MenuItem): MainViewModel.State? {
@@ -246,19 +244,19 @@ class MainActivity : BaseActivity(R.layout.activity_main, R.string.accounts_over
246244
}
247245

248246
private fun replaceFragment(state: MainViewModel.State) {
249-
val fragment = when (state) {
247+
val existingFragment = supportFragmentManager.findFragmentByTag(state.name)
248+
249+
val fragment = existingFragment ?: when (state) {
250250
MainViewModel.State.AccountOverview -> AccountDetailsFragment()
251251
MainViewModel.State.NewsOverview -> NewsOverviewFragment()
252252
MainViewModel.State.More -> MoreOverviewFragment()
253253
}
254-
replaceFragment(fragment)
255-
}
256254

257-
private fun replaceFragment(fragment: Fragment?) {
258-
if (fragment == null) return
259-
val transaction = supportFragmentManager.beginTransaction()
260-
transaction.replace(R.id.fragment_container, fragment)
261-
transaction.commit()
255+
if (existingFragment == null) {
256+
supportFragmentManager.beginTransaction()
257+
.replace(R.id.fragment_container, fragment, state.name)
258+
.commit()
259+
}
262260
}
263261

264262
//endregion

app/src/main/java/com/concordium/wallet/ui/cis2/TokenDetailsActivity.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,11 @@ class TokenDetailsActivity : BaseActivity(R.layout.activity_token_details),
147147

148148
private fun setBalances(token: Token) {
149149
binding.walletInfoCard.totalBalanceTextview.text = if (token.isCcd) {
150-
CurrencyUtil.formatGTU(viewModel.tokenData.account?.balance!!, token)
150+
CurrencyUtil.formatGTU(viewModel.tokenData.account?.balance!!, token) +
151+
" ${token.symbol}"
151152
} else {
152-
CurrencyUtil.formatGTU(token.balance, token)
153+
CurrencyUtil.formatGTU(token.balance, token) +
154+
" ${token.symbol}"
153155
}
154156

155157
viewModel.tokenData.account?.readOnly?.let {

app/src/main/java/com/concordium/wallet/ui/more/moreoverview/MoreOverviewFragment.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ import com.concordium.wallet.ui.more.notifications.NotificationsPreferencesActiv
2626
import com.concordium.wallet.ui.more.tracking.TrackingPreferencesActivity
2727
import com.concordium.wallet.ui.more.unshielding.UnshieldingAccountsActivity
2828
import com.concordium.wallet.ui.multiwallet.WalletsActivity
29+
import com.concordium.wallet.ui.recipient.recipientlist.RecipientListActivity
2930
import com.concordium.wallet.ui.seed.recoverprocess.RecoverProcessActivity
3031
import com.concordium.wallet.ui.seed.reveal.SavedSeedPhraseRevealActivity
3132
import com.concordium.wallet.ui.seed.reveal.SavedSeedRevealActivity
32-
import com.concordium.wallet.ui.recipient.recipientlist.RecipientListActivity
3333
import com.concordium.wallet.ui.tokens.provider.NFTActivity
3434
import com.concordium.wallet.ui.welcome.WelcomeActivity
3535
import com.google.android.material.dialog.MaterialAlertDialogBuilder
@@ -208,7 +208,7 @@ class MoreOverviewFragment : BaseFragment() {
208208
clearWalletConnectAndRestart()
209209
}
210210

211-
binding.eraseDataLayout.setOnClickListener {
211+
binding.removeWalletLayout.setOnClickListener {
212212
eraseDataAndExit()
213213
}
214214
}

app/src/main/res/layout/fragment_more_overview.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,12 +213,12 @@
213213
</LinearLayout>
214214

215215
<LinearLayout
216-
android:id="@+id/erase_data_layout"
216+
android:id="@+id/remove_wallet_layout"
217217
style="@style/SettingsOverviewItem">
218218

219219
<TextView
220220
style="@style/SettingsOverviewItemTextView"
221-
android:text="@string/settings_overview_erase_data"
221+
android:text="@string/settings_overview_remove_wallet"
222222
app:drawableStartCompat="@drawable/ccx_ico_file_shred" />
223223

224224
<View

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@
285285
<string name="settings_overview_item_developer_options">Developer Options</string>
286286
<string name="settings_overview_item_clear_wallet_connect">Clear WalletConnect</string>
287287
<string name="settings_overview_item_recover">Recovery</string>
288-
<string name="settings_overview_erase_data">Erase Data</string>
288+
<string name="settings_overview_remove_wallet">Remove wallet</string>
289289
<string name="settings_overview_erase_data_confirmation_title">Erasing all data</string>
290290
<string name="settings_overview_erase_wallet_confirmation_message">
291291
All your wallets will be erased from this device.

0 commit comments

Comments
 (0)