diff --git a/app/src/main/java/org/communiquons/android/comunic/client/MainActivity.java b/app/src/main/java/org/communiquons/android/comunic/client/MainActivity.java
index 854de19..c20cc57 100644
--- a/app/src/main/java/org/communiquons/android/comunic/client/MainActivity.java
+++ b/app/src/main/java/org/communiquons/android/comunic/client/MainActivity.java
@@ -1,22 +1,23 @@
package org.communiquons.android.comunic.client;
import android.app.AlertDialog;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
import android.content.DialogInterface;
import android.content.Intent;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.design.widget.BottomNavigationView;
+import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
-import android.widget.ImageView;
import android.widget.Toast;
import org.communiquons.android.comunic.client.api.APIRequestTask;
import org.communiquons.android.comunic.client.data.Account.Account;
import org.communiquons.android.comunic.client.data.Account.AccountUtils;
-import org.communiquons.android.comunic.client.data.DatabaseHelper;
-import org.communiquons.android.comunic.client.data.ImageLoadTask;
-import org.communiquons.android.comunic.client.data.UsersInfo.GetUsersInfos;
-import org.communiquons.android.comunic.client.data.UsersInfo.UserInfo;
+import org.communiquons.android.comunic.client.fragments.FriendsListFragment;
+import org.communiquons.android.comunic.client.fragments.UserInfosFragment;
/**
@@ -41,6 +42,9 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+ //Enable bottom navigation menu
+ init_bottom_menu();
+
//Check for connectivity
if(!APIRequestTask.isAPIavailable(this)){
Toast.makeText(this, R.string.err_no_internet_connection, Toast.LENGTH_SHORT).show();
@@ -48,28 +52,11 @@ public class MainActivity extends AppCompatActivity {
//Initialize account objects
account = new Account(this);
- aUtils = new AccountUtils(this);
- //DEVELOPMENT : Try to get information about a user over the network
- GetUsersInfos uInfos = new GetUsersInfos(this, new DatabaseHelper(this));
- final ImageView imageView = (ImageView) findViewById(R.id.test_img);
-
- //Get infos... about me! :)
- final int uID = aUtils.get_current_user_id();
- uInfos.get(uID, new GetUsersInfos.getUserInfosCallback() {
- @Override
- public void callback(UserInfo info) {
- if(info == null)
- Toast.makeText(MainActivity.this, "Failure !", Toast.LENGTH_SHORT).show();
- else {
- Toast.makeText(MainActivity.this, uID + " is " + info.getFullName() + "!", Toast.LENGTH_SHORT).show();
-
- new ImageLoadTask(MainActivity.this, info.getAcountImageURL(), imageView).execute();
-
-
- }
- }
- });
+ //If it is the first time the application is launched, started the user friends tab
+ if(savedInstanceState == null){
+ openFriendsFragment();
+ }
}
@Override
@@ -84,7 +71,7 @@ public class MainActivity extends AppCompatActivity {
}
/**
- * Menu creation
+ * Top menu creation
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
@@ -108,6 +95,37 @@ public class MainActivity extends AppCompatActivity {
}
+ /**
+ * Bottom menu creation
+ */
+ void init_bottom_menu(){
+ BottomNavigationView navigation =
+ (BottomNavigationView) findViewById(R.id.main_bottom_navigation);
+ navigation.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
+ @Override
+ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
+
+ //Check which option was selected
+ switch (item.getItemId()) {
+
+ //If the user clicked to show the friends list
+ case R.id.main_bottom_navigation_friends_list:
+ openFriendsFragment();
+ return true;
+
+ //If the user choosed to show informations about him
+ case R.id.main_bottom_navigation_me_view:
+ openUserInfosFragment();
+ return true;
+
+ }
+
+ //Selected element not found
+ return false;
+ }
+ });
+ }
+
/**
* Ask user to confirm if he really what to sign out or not
*/
@@ -139,4 +157,28 @@ public class MainActivity extends AppCompatActivity {
//Show popup
.create().show();
}
+
+ /**
+ * Open the friends list fragment
+ */
+ void openFriendsFragment(){
+
+ FriendsListFragment friendsListFragment = new FriendsListFragment();
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ transaction.replace(R.id.main_fragment, friendsListFragment);
+ transaction.addToBackStack(null);
+ transaction.commit();
+
+ }
+
+ /**
+ * Open the user information fragment
+ */
+ void openUserInfosFragment(){
+ UserInfosFragment userInfosFragment = new UserInfosFragment();
+ FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ transaction.replace(R.id.main_fragment, userInfosFragment);
+ transaction.addToBackStack(null);
+ transaction.commit();
+ }
}
diff --git a/app/src/main/java/org/communiquons/android/comunic/client/fragments/FriendsListFragment.java b/app/src/main/java/org/communiquons/android/comunic/client/fragments/FriendsListFragment.java
new file mode 100644
index 0000000..5492993
--- /dev/null
+++ b/app/src/main/java/org/communiquons/android/comunic/client/fragments/FriendsListFragment.java
@@ -0,0 +1,30 @@
+package org.communiquons.android.comunic.client.fragments;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import org.communiquons.android.comunic.client.R;
+
+/**
+ * Friends list fragment
+ *
+ * @author Pierre HUBERT
+ * Created by pierre on 11/11/17.
+ */
+
+public class FriendsListFragment extends Fragment {
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
+ Bundle savedInstanceState) {
+
+ //Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_friendslist, container, false);
+
+ }
+}
diff --git a/app/src/main/java/org/communiquons/android/comunic/client/fragments/UserInfosFragment.java b/app/src/main/java/org/communiquons/android/comunic/client/fragments/UserInfosFragment.java
new file mode 100644
index 0000000..3932e79
--- /dev/null
+++ b/app/src/main/java/org/communiquons/android/comunic/client/fragments/UserInfosFragment.java
@@ -0,0 +1,29 @@
+package org.communiquons.android.comunic.client.fragments;
+
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import org.communiquons.android.comunic.client.R;
+
+/**
+ * User informations fragment
+ *
+ * This fragment display informations about the user
+ *
+ * @author Pierre HUBERT
+ * Created by pierre on 11/11/17.
+ */
+
+public class UserInfosFragment extends Fragment {
+
+ @Nullable
+ @Override
+ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
+ return inflater.inflate(R.layout.fragment_userinfos, container, false);
+ }
+}
diff --git a/app/src/main/res/drawable/ic_menu_allfriends.png b/app/src/main/res/drawable/ic_menu_allfriends.png
new file mode 100644
index 0000000..c07a7c7
Binary files /dev/null and b/app/src/main/res/drawable/ic_menu_allfriends.png differ
diff --git a/app/src/main/res/drawable/ic_menu_home.png b/app/src/main/res/drawable/ic_menu_home.png
new file mode 100644
index 0000000..23c67d0
Binary files /dev/null and b/app/src/main/res/drawable/ic_menu_home.png differ
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 207fb94..6b10d73 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,28 +1,23 @@
-