* #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;
}