You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ra...@apache.org on 2019/06/02 07:43:13 UTC

[fineract-cn-mobile] branch development updated: Exit feature on Dashboard pressing back button twice

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 <ac...@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>