This is an automated email from the ASF dual-hosted git repository. rajanmaurya154 pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/fineract-cn-mobile.git
The following commit(s) were added to refs/heads/development by this push: new fd578e5 Exit feature on Dashboard pressing back button twice new c7097ef Merge pull request #64 from miPlodder/fix-PR#34 fd578e5 is described below commit fd578e5c36f80e2ea47778d6957cc896356a2ad0 Author: miPlodder <academic.ra...@gmail.com> AuthorDate: Sun Jun 2 12:50:04 2019 +0530 Exit feature on Dashboard pressing back button twice --- .../fineract/ui/online/DashboardActivity.java | 22 ++++++++++++++++++---- app/src/main/res/values/strings.xml | 1 + 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java b/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java index a467510..959758c 100644 --- a/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java +++ b/app/src/main/java/org/apache/fineract/ui/online/DashboardActivity.java @@ -3,8 +3,10 @@ package org.apache.fineract.ui.online; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; +import android.support.design.widget.Snackbar; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; @@ -17,6 +19,7 @@ import org.apache.fineract.R; import org.apache.fineract.data.local.PreferencesHelper; import org.apache.fineract.jobs.StartSyncJob; import org.apache.fineract.ui.base.FineractBaseActivity; +import org.apache.fineract.ui.base.Toaster; import org.apache.fineract.ui.offline.CustomerPayloadFragment; import org.apache.fineract.ui.online.accounting.ledgers.LedgerFragment; import org.apache.fineract.ui.online.accounting.accounts.AccountsFragment; @@ -51,6 +54,8 @@ public class DashboardActivity extends FineractBaseActivity implements @Inject PreferencesHelper preferencesHelper; + private boolean isBackPressedOnce = false; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -140,12 +145,21 @@ public class DashboardActivity extends FineractBaseActivity implements @Override public void onBackPressed() { - DrawerLayout drawer = findViewById(R.id.drawer_layout); - if (drawer.isDrawerOpen(GravityCompat.START)) { - drawer.closeDrawer(GravityCompat.START); - } else { + if (drawerLayout.isDrawerOpen(GravityCompat.START)) { + drawerLayout.closeDrawer(GravityCompat.START); + } + if (isBackPressedOnce) { super.onBackPressed(); + return; } + this.isBackPressedOnce = true; + Toaster.show(drawerLayout, R.string.please_click_back_again_to_exit, Snackbar.LENGTH_SHORT); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + isBackPressedOnce = false; + } + }, 2000); } public void logout() { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index be6386c..9961375 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -496,4 +496,5 @@ <string name="customer_payloads">Customer Payloads</string> <string name="email">Email</string> <string name="logged_out_successfully">Logged out successfully.</string> + <string name="please_click_back_again_to_exit">Please click BACK again to exit</string> </resources>