Commit 1dacbdaf authored by Sajal Narang's avatar Sajal Narang

Fill nav header, fix #62

parent 8ce46b54
...@@ -3,6 +3,7 @@ package in.ac.iitb.gymkhana.iitbapp; ...@@ -3,6 +3,7 @@ package in.ac.iitb.gymkhana.iitbapp;
import android.Manifest; import android.Manifest;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.design.widget.NavigationView; import android.support.design.widget.NavigationView;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
...@@ -16,14 +17,19 @@ import android.support.v7.app.AppCompatActivity; ...@@ -16,14 +17,19 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar; import android.support.v7.widget.Toolbar;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.squareup.picasso.Picasso;
import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface; import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface;
import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator; import in.ac.iitb.gymkhana.iitbapp.api.ServiceGenerator;
import in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsRequest; import in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsRequest;
import in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsResponse; import in.ac.iitb.gymkhana.iitbapp.api.model.NotificationsResponse;
import in.ac.iitb.gymkhana.iitbapp.data.User;
import in.ac.iitb.gymkhana.iitbapp.fragment.AboutFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.AboutFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.CMSFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.CMSFragment;
import in.ac.iitb.gymkhana.iitbapp.fragment.CalendarFragment; import in.ac.iitb.gymkhana.iitbapp.fragment.CalendarFragment;
...@@ -47,6 +53,7 @@ public class MainActivity extends AppCompatActivity ...@@ -47,6 +53,7 @@ public class MainActivity extends AppCompatActivity
private static final String TAG = "MainActivity"; private static final String TAG = "MainActivity";
private User currentUser;
SessionManager session; SessionManager session;
NotificationsResponse notificationsResponse; NotificationsResponse notificationsResponse;
private boolean showNotifications = false; private boolean showNotifications = false;
...@@ -56,8 +63,9 @@ public class MainActivity extends AppCompatActivity ...@@ -56,8 +63,9 @@ public class MainActivity extends AppCompatActivity
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
session = new SessionManager(getApplicationContext()); session = new SessionManager(getApplicationContext());
Toast.makeText(getApplicationContext(), "Log In status: " + session.isLoggedIn(), Toast.LENGTH_LONG).show();
session.checkLogin(); session.checkLogin();
Toast.makeText(getApplicationContext(), "Log In status: " + session.isLoggedIn(), Toast.LENGTH_LONG).show();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar); setSupportActionBar(toolbar);
...@@ -67,10 +75,28 @@ public class MainActivity extends AppCompatActivity ...@@ -67,10 +75,28 @@ public class MainActivity extends AppCompatActivity
drawer.addDrawerListener(toggle); drawer.addDrawerListener(toggle);
toggle.syncState(); toggle.syncState();
fetchNotifications();
}
@Override
protected void onStart() {
super.onStart();
if (session.isLoggedIn()) {
currentUser = User.fromString(session.pref.getString(SessionManager.CURRENT_USER, "Error"));
updateNavigationView();
}
}
private void updateNavigationView() {
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this); navigationView.setNavigationItemSelectedListener(this);
View header = navigationView.getHeaderView(0);
fetchNotifications(); TextView nameTextView = header.findViewById(R.id.user_name_nav_header);
TextView rollNoTextView = header.findViewById(R.id.user_rollno_nav_header);
ImageView profilePictureImageView = header.findViewById(R.id.user_profile_picture_nav_header);
nameTextView.setText(currentUser.getUserName());
rollNoTextView.setText(currentUser.getUserRollNumber());
Picasso.with(this).load(currentUser.getUserProfilePictureUrl()).into(profilePictureImageView);
} }
private void fetchNotifications() { private void fetchNotifications() {
......
...@@ -3,12 +3,15 @@ package in.ac.iitb.gymkhana.iitbapp.data; ...@@ -3,12 +3,15 @@ package in.ac.iitb.gymkhana.iitbapp.data;
import android.arch.persistence.room.ColumnInfo; import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity; import android.arch.persistence.room.Entity;
import android.arch.persistence.room.PrimaryKey; import android.arch.persistence.room.PrimaryKey;
import android.util.Log;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import java.util.List; import java.util.List;
import static android.content.ContentValues.TAG;
@Entity(tableName = "users") @Entity(tableName = "users")
public class User { public class User {
@PrimaryKey(autoGenerate = true) @PrimaryKey(autoGenerate = true)
...@@ -168,6 +171,7 @@ public class User { ...@@ -168,6 +171,7 @@ public class User {
} }
public static User fromString(String json) { public static User fromString(String json) {
Log.d(TAG, "fromString: " + json);
return new Gson().fromJson(json, User.class); return new Gson().fromJson(json, User.class);
} }
} }
...@@ -13,13 +13,14 @@ ...@@ -13,13 +13,14 @@
android:theme="@style/ThemeOverlay.AppCompat.Dark"> android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/user_pr"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing" android:paddingTop="@dimen/nav_header_vertical_spacing"
app:srcCompat="@mipmap/ic_launcher_round" /> app:srcCompat="@mipmap/ic_launcher_round" />
<TextView <TextView
android:id="@+id/user_name_nav_header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="@dimen/nav_header_vertical_spacing" android:paddingTop="@dimen/nav_header_vertical_spacing"
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Body1" /> android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
<TextView <TextView
android:id="@+id/textView" android:id="@+id/user_rollno_nav_header"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="android.studio@android.com" /> android:text="android.studio@android.com" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment