From 4701387d48a6322e127f1b20e043d84abfad2f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mieszko=20Wrzeszczy=C5=84ski?= Date: Sun, 28 Oct 2018 12:18:49 +0100 Subject: [PATCH] Add duty hours to user information modal --- app/build.gradle | 1 + .../activity/UsersListActivity.java | 32 ++++++++++++------- .../findmytutor/model/DutyHourViewModel.java | 5 +++ .../findmytutor/model/TutorTabViewModel.java | 9 ++++-- app/src/main/res/layout/note_dialog.xml | 10 +++++- app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/strings.xml | 5 +++ 7 files changed, 48 insertions(+), 16 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 72c08c7..054989e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,5 +57,6 @@ dependencies { implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' implementation 'com.auth0.android:jwtdecode:1.1.1' implementation 'com.annimon:stream:1.2.1' + implementation 'com.facebook.shimmer:shimmer:0.3.0' } diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java index 7e053e4..cfce872 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/UsersListActivity.java @@ -1,5 +1,7 @@ package com.uam.wmi.findmytutor.activity; +import android.annotation.SuppressLint; +import android.content.DialogInterface; import android.graphics.Color; import android.os.Build; import android.os.Bundle; @@ -18,6 +20,7 @@ import android.widget.ListView; import android.widget.TextView; import com.annimon.stream.Stream; +import com.facebook.shimmer.ShimmerFrameLayout; import com.jakewharton.retrofit2.adapter.rxjava2.HttpException; import com.uam.wmi.findmytutor.R; import com.uam.wmi.findmytutor.model.DutyHour; @@ -44,6 +47,8 @@ import io.reactivex.observers.DisposableSingleObserver; import io.reactivex.schedulers.Schedulers; import okhttp3.ResponseBody; +import static java.util.stream.Collectors.toList; + public class UsersListActivity extends BaseActivity { private static final String TAG = UsersListActivity.class.getSimpleName(); @BindView(R.id.coordinator_layout) @@ -120,8 +125,12 @@ public class UsersListActivity extends BaseActivity { AlertDialog.Builder alertDialogBuilderUserInput = new AlertDialog.Builder(this); alertDialogBuilderUserInput.setView(view); + alertDialogBuilderUserInput.setNegativeButton(R.string.cancel, (dialog, id) -> { + // User cancelled the dialog + }); + TextView userName = view.findViewById(R.id.userName); - TextView userDutyHours = view.findViewById(R.id.userDutyHours); + ListView userDutyHours = view.findViewById(R.id.userDutyHours); TextView userNote = view.findViewById(R.id.userNote); TextView userRoom = view.findViewById(R.id.userRoom); TextView userEmail = view.findViewById(R.id.userEmail); @@ -133,19 +142,22 @@ public class UsersListActivity extends BaseActivity { .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new DisposableSingleObserver() { + @SuppressLint("SetTextI18n") @Override public void onSuccess(TutorTabViewModel tutorTabViewModel) { Log.e("TUTOR_TAB",tutorTabViewModel.toString()); - List dutyHourslist = Stream.of(tutorTabViewModel.getDutyHours()) - .map(DutyHourViewModel::toString).toList(); + List dutyHoursList = Stream.of(tutorTabViewModel.getDutyHours()) + .map(DutyHourViewModel::getSummary).toList(); - userRoom.setText(tutorTabViewModel.getRoom()); - userEmail.setText(tutorTabViewModel.getEmailTutorTab()); - userNote.setText(tutorTabViewModel.getNote()); + userRoom.setText(getString(R.string.userRoom) + ": " + tutorTabViewModel.getRoom()); + userEmail.setText(getString(R.string.userEmail) + ": " + tutorTabViewModel.getEmailTutorTab()); + userNote.setText(getString(R.string.userNote) + ": " + tutorTabViewModel.getNote()); - if(dutyHourslist.size() > 0) - userDutyHours.setText(dutyHourslist.get(0)); + final ArrayAdapter arrayAdapter = new ArrayAdapter(UsersListActivity.this, + android.R.layout.simple_list_item_activated_1,dutyHoursList); + + userDutyHours.setAdapter(arrayAdapter); } @@ -159,7 +171,7 @@ public class UsersListActivity extends BaseActivity { final AlertDialog alertDialog = alertDialogBuilderUserInput.create(); alertDialog.show(); - } + } private void fetchAllTutors() { @@ -202,8 +214,6 @@ public class UsersListActivity extends BaseActivity { showError(e); } })); - - } private void showError(Throwable e) { diff --git a/app/src/main/java/com/uam/wmi/findmytutor/model/DutyHourViewModel.java b/app/src/main/java/com/uam/wmi/findmytutor/model/DutyHourViewModel.java index 36e688e..d3bcbe2 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/model/DutyHourViewModel.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/model/DutyHourViewModel.java @@ -94,6 +94,11 @@ public class DutyHourViewModel { return Objects.hash(day, start, end); } + public String getSummary() { + return this.getDay() + " " + this.getStart() + " " + this.getEnd(); + } + + @Override public String toString() { diff --git a/app/src/main/java/com/uam/wmi/findmytutor/model/TutorTabViewModel.java b/app/src/main/java/com/uam/wmi/findmytutor/model/TutorTabViewModel.java index 8c7bb97..f74d50c 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/model/TutorTabViewModel.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/model/TutorTabViewModel.java @@ -22,13 +22,13 @@ public class TutorTabViewModel { private String userId = null; @SerializedName("room") - private String room = null; + private String room = ""; @SerializedName("emailTutorTab") - private String emailTutorTab = null; + private String emailTutorTab = ""; @SerializedName("note") - private String note = null; + private String note = ""; @SerializedName("dutyHours") private List dutyHours = null; @@ -112,6 +112,9 @@ public class TutorTabViewModel { public String getNote() { + if(note == null) + return ""; + return note; } diff --git a/app/src/main/res/layout/note_dialog.xml b/app/src/main/res/layout/note_dialog.xml index 08dcdd2..8b0ae93 100644 --- a/app/src/main/res/layout/note_dialog.xml +++ b/app/src/main/res/layout/note_dialog.xml @@ -8,6 +8,7 @@ android:paddingRight="@dimen/activity_margin" android:paddingTop="@dimen/activity_margin"> + + + - \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 387faef..f21ae63 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,7 +2,7 @@ #3F51B5 #303F9F - #9ef13f + #dc0004 #999 #89c3c3c3 #858585 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8a70684..4e32e8f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -198,4 +198,9 @@ functionality. Main2Activity There is no users in system + Close + Pokój + Email + Notatka + Dyżury: