Commit 97f3375b authored by Sajal Narang's avatar Sajal Narang

Show different icon when user has notifications, fix #184

parent 01b4b434
......@@ -37,6 +37,8 @@ import com.google.firebase.iid.InstanceIdResult;
import com.google.gson.JsonObject;
import com.squareup.picasso.Picasso;
import java.util.List;
import app.insti.Constants;
import app.insti.R;
import app.insti.SessionManager;
......@@ -44,6 +46,7 @@ import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Body;
import app.insti.data.Event;
import app.insti.data.Notification;
import app.insti.data.Role;
import app.insti.data.User;
import app.insti.fragment.BackHandledFragment;
......@@ -83,6 +86,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
private User currentUser;
private boolean showNotifications = false;
private BackHandledFragment selectedFragment;
private Menu menu;
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
......@@ -136,11 +140,34 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
}
fetchNotifications();
checkLatestVersion();
NotificationEventReceiver.setupAlarm(getApplicationContext());
}
private void fetchNotifications() {
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
retrofitInterface.getNotifications(getSessionIDHeader()).enqueue(new Callback<List<Notification>>() {
@Override
public void onResponse(Call<List<Notification>> call, Response<List<Notification>> response) {
if (response.isSuccessful()) {
List<Notification> notifications = response.body();
if (notifications != null && !notifications.isEmpty()) {
menu.findItem(R.id.action_notifications).setIcon(R.drawable.baseline_notifications_active_white_24);
} else {
menu.findItem(R.id.action_notifications).setIcon(R.drawable.ic_notifications_white_24dp);
}
}
}
@Override
public void onFailure(Call<List<Notification>> call, Throwable t) {
}
});
}
private void checkLatestVersion() {
try {
PackageInfo pInfo = this.getPackageManager().getPackageInfo(getPackageName(), 0);
......@@ -366,7 +393,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
this.menu = menu;
fetchNotifications();
getMenuInflater().inflate(R.menu.main, this.menu);
return true;
}
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M7.58,4.08L6.15,2.65C3.75,4.48 2.17,7.3 2.03,10.5h2c0.15,-2.65 1.51,-4.97 3.55,-6.42zM19.97,10.5h2c-0.15,-3.2 -1.73,-6.02 -4.12,-7.85l-1.42,1.43c2.02,1.45 3.39,3.77 3.54,6.42zM18,11c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2v-5zM12,22c0.14,0 0.27,-0.01 0.4,-0.04 0.65,-0.14 1.18,-0.58 1.44,-1.18 0.1,-0.24 0.15,-0.5 0.15,-0.78h-4c0.01,1.1 0.9,2 2.01,2z"/>
</vector>
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