From fc9b4e782e23577bc6d34b458e8882f97483dfab Mon Sep 17 00:00:00 2001
From: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
Date: Fri, 13 Dec 2013 14:55:25 -0500
Subject: [PATCH] * #36914: highlight correct navigation section

---
 src/org/sflphone/client/HomeActivity.java    | 13 +++++--------
 src/org/sflphone/fragments/MenuFragment.java | 12 ++++++++++--
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/org/sflphone/client/HomeActivity.java b/src/org/sflphone/client/HomeActivity.java
index 70f18a43a..21ce7f022 100644
--- a/src/org/sflphone/client/HomeActivity.java
+++ b/src/org/sflphone/client/HomeActivity.java
@@ -328,12 +328,9 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
         if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
             BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(getSupportFragmentManager().getBackStackEntryCount() - 1);
-            Log.i(TAG, "Popping:"+ getSupportFragmentManager().getBackStackEntryCount());
-            Log.i(TAG, "Name:"+ entry.getName());
             fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
-            if(fContent == null)
-                Log.i(TAG, "Null frag");
             getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
+            fMenu.backToHome();
             return;
         }
 
@@ -685,10 +682,10 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
 
             if (fContent instanceof HomeFragment)
                 break;
-            
-            if(getSupportFragmentManager().getBackStackEntryCount() == 0)
+
+            if (getSupportFragmentManager().getBackStackEntryCount() == 0)
                 break;
-            
+
             BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(0);
             fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
             getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
@@ -697,7 +694,7 @@ public class HomeActivity extends FragmentActivity implements DialingFragment.Ca
         case 1:
             if (fContent instanceof AccountsManagementFragment)
                 break;
-            
+
             fContent = new AccountsManagementFragment();
             getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Accounts").addToBackStack("Accounts").commit();
             break;
diff --git a/src/org/sflphone/fragments/MenuFragment.java b/src/org/sflphone/fragments/MenuFragment.java
index b0fa2e11a..f7002c9df 100644
--- a/src/org/sflphone/fragments/MenuFragment.java
+++ b/src/org/sflphone/fragments/MenuFragment.java
@@ -75,6 +75,8 @@ public class MenuFragment extends Fragment implements LoaderCallbacks<Bundle>, A
     AccountsReceiver accountReceiver;
     private Callbacks mCallbacks = sDummyCallbacks;
 
+    private ListView sections;
+
     private static Callbacks sDummyCallbacks = new Callbacks() {
 
         @Override
@@ -149,8 +151,10 @@ public class MenuFragment extends Fragment implements LoaderCallbacks<Bundle>, A
 
         ArrayAdapter<String> paramAdapter = new ArrayAdapter<String>(getActivity(), R.layout.item_menu, getResources().getStringArray(
                 R.array.menu_items_param));
-        ((ListView) inflatedView.findViewById(R.id.listView)).setAdapter(paramAdapter);
-        ((ListView) inflatedView.findViewById(R.id.listView)).setOnItemClickListener(new OnItemClickListener() {
+        sections = (ListView) inflatedView.findViewById(R.id.listView);
+        sections.setAdapter(paramAdapter);
+        backToHome();
+        sections.setOnItemClickListener(new OnItemClickListener() {
 
             @Override
             public void onItemClick(AdapterView<?> arg0, View selected, int pos, long arg3) {
@@ -240,4 +244,8 @@ public class MenuFragment extends Fragment implements LoaderCallbacks<Bundle>, A
 
     }
 
+    public void backToHome() {
+        sections.setItemChecked(0, true);
+    }
+
 }
-- 
GitLab