* #26824 Screens created and accessible via fly-in menu
diff --git a/src/com/savoirfairelinux/sflphone/client/ActivityHolder.java b/src/com/savoirfairelinux/sflphone/client/ActivityHolder.java
new file mode 100644
index 0000000..af4f485
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/client/ActivityHolder.java
@@ -0,0 +1,95 @@
+/*
+ *  Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
+ *
+ *  Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *  Additional permission under GNU GPL version 3 section 7:
+ *
+ *  If you modify this program, or any covered work, by linking or
+ *  combining it with the OpenSSL project's OpenSSL library (or a
+ *  modified version of that library), containing parts covered by the
+ *  terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
+ *  grants you additional permission to convey the resulting work.
+ *  Corresponding Source for a non-source form of such a combination
+ *  shall include the source code for the parts of OpenSSL used as well
+ *  as that of the covered work.
+ */
+
+package com.savoirfairelinux.sflphone.client;
+
+import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.R.layout;
+import com.savoirfairelinux.sflphone.R.menu;
+import com.savoirfairelinux.sflphone.fragments.ContributeFragment;
+import com.savoirfairelinux.sflphone.fragments.HelpGesturesFragment;
+import com.savoirfairelinux.sflphone.fragments.LegalFragment;
+
+import android.os.Bundle;
+import android.app.Activity;
+import android.app.FragmentTransaction;
+import android.view.Menu;
+import android.view.MenuItem;
+
+/**
+ * This Activity holds some conex fragments not requiring a lot of interaction: HelpGesturesFragment, LegalFragment, ContributeFragment
+ * @author lisional
+ *
+ */
+public class ActivityHolder extends Activity {
+    
+    public interface args {
+        int FRAG_GESTURES = 0;
+        int FRAG_LEGAL = 1;
+        int FRAG_CONTRIBUTE = 2;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_holder);
+        
+        
+        FragmentTransaction ft = getFragmentManager().beginTransaction();
+        switch(getIntent().getIntExtra("ActivityHolder.args", -1)){
+        case args.FRAG_GESTURES:
+            ft.replace(R.id.frag_container, new HelpGesturesFragment());
+            break;
+        case args.FRAG_LEGAL:
+            ft.replace(R.id.frag_container, new LegalFragment());
+            break;
+        case args.FRAG_CONTRIBUTE:
+            ft.replace(R.id.frag_container, new ContributeFragment());
+            break;
+        }
+        
+        ft.commit();
+        
+        getActionBar().setDisplayHomeAsUpEnabled(true);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        switch (item.getItemId()) {
+        case android.R.id.home:
+            finish();
+            return true;
+        default:
+            return true;
+        }
+    }
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/fragments/ContributeFragment.java b/src/com/savoirfairelinux/sflphone/fragments/ContributeFragment.java
new file mode 100644
index 0000000..ed507da
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/fragments/ContributeFragment.java
@@ -0,0 +1,21 @@
+package com.savoirfairelinux.sflphone.fragments;
+
+import com.savoirfairelinux.sflphone.R;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+public class ContributeFragment extends Fragment {
+    
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
+        View inflatedView = inflater.inflate(R.layout.frag_contribute, parent, false);
+
+        return inflatedView;
+    }
+
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/fragments/HelpGesturesFragment.java b/src/com/savoirfairelinux/sflphone/fragments/HelpGesturesFragment.java
new file mode 100644
index 0000000..fb0735d
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/fragments/HelpGesturesFragment.java
@@ -0,0 +1,20 @@
+package com.savoirfairelinux.sflphone.fragments;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.savoirfairelinux.sflphone.R;
+
+public class HelpGesturesFragment extends Fragment {
+    
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
+        View inflatedView = inflater.inflate(R.layout.frag_gestures, parent, false);
+
+        return inflatedView;
+    }
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/fragments/LegalFragment.java b/src/com/savoirfairelinux/sflphone/fragments/LegalFragment.java
new file mode 100644
index 0000000..92d30ee
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/fragments/LegalFragment.java
@@ -0,0 +1,21 @@
+package com.savoirfairelinux.sflphone.fragments;
+
+import com.savoirfairelinux.sflphone.R;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+public class LegalFragment extends Fragment {
+    
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
+        View inflatedView = inflater.inflate(R.layout.frag_legal, parent, false);
+
+        return inflatedView;
+    }
+
+
+}
diff --git a/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java b/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java
index fafe6ac..169dd2b 100644
--- a/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java
+++ b/src/com/savoirfairelinux/sflphone/fragments/MenuFragment.java
@@ -39,7 +39,6 @@
 import android.content.IntentFilter;
 import android.content.Loader;
 import android.os.Bundle;
-import android.os.RemoteException;
 import android.provider.ContactsContract.Profile;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -57,6 +56,7 @@
 import com.savoirfairelinux.sflphone.R;
 import com.savoirfairelinux.sflphone.adapters.AccountSelectionAdapter;
 import com.savoirfairelinux.sflphone.adapters.MenuAdapter;
+import com.savoirfairelinux.sflphone.client.ActivityHolder;
 import com.savoirfairelinux.sflphone.client.SFLPhoneHomeActivity;
 import com.savoirfairelinux.sflphone.client.SFLPhonePreferenceActivity;
 import com.savoirfairelinux.sflphone.interfaces.AccountsInterface;
@@ -64,7 +64,6 @@
 import com.savoirfairelinux.sflphone.loaders.LoaderConstants;
 import com.savoirfairelinux.sflphone.model.Account;
 import com.savoirfairelinux.sflphone.receivers.AccountsReceiver;
-import com.savoirfairelinux.sflphone.service.CallManagerCallBack;
 import com.savoirfairelinux.sflphone.service.ConfigurationManagerCallback;
 import com.savoirfairelinux.sflphone.service.ISipService;
 
@@ -167,18 +166,31 @@
 
             @Override
             public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
-                Toast.makeText(getActivity(), "pos "+pos, Toast.LENGTH_SHORT).show();
+                
+                Intent in = new Intent();
                 switch(pos){
                 case 1:
-                    Intent launchPreferencesIntent = new Intent().setClass(getActivity(), SFLPhonePreferenceActivity.class);
-                    getActivity().startActivityForResult(launchPreferencesIntent, SFLPhoneHomeActivity.REQUEST_CODE_PREFERENCES);
+                    in.setClass(getActivity(), SFLPhonePreferenceActivity.class);
+                    getActivity().startActivityForResult(in, SFLPhoneHomeActivity.REQUEST_CODE_PREFERENCES);
                     break;
                 case 2:
                 case 3:
+                    Toast.makeText(getActivity(), "Not implemented", Toast.LENGTH_SHORT).show();
                     break;
                 case 5:
+                    in.putExtra("ActivityHolder.args", ActivityHolder.args.FRAG_GESTURES);
+                    in.setClass(getActivity(), ActivityHolder.class);
+                    getActivity().startActivity(in);
+                    break;
                 case 6:
+                    in.putExtra("ActivityHolder.args", ActivityHolder.args.FRAG_LEGAL);
+                    in.setClass(getActivity(), ActivityHolder.class);
+                    getActivity().startActivity(in);
+                    break;
                 case 7:
+                    in.putExtra("ActivityHolder.args", ActivityHolder.args.FRAG_CONTRIBUTE);
+                    in.setClass(getActivity(), ActivityHolder.class);
+                    getActivity().startActivity(in);
                     break;
                 }