diff --git a/Habitica/res/layout/activity_notifications.xml b/Habitica/res/layout/activity_notifications.xml index 0f608d4d1..af76a967a 100644 --- a/Habitica/res/layout/activity_notifications.xml +++ b/Habitica/res/layout/activity_notifications.xml @@ -27,7 +27,28 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_gravity="top|center" > + + + + + + \ No newline at end of file diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt index b1b4e8185..8e3c1a432 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/NotificationsActivity.kt @@ -3,9 +3,18 @@ package com.habitrpg.android.habitica.ui.activities import android.os.Bundle import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.components.AppComponent +import com.habitrpg.android.habitica.data.UserRepository +import com.habitrpg.android.habitica.helpers.RxErrorHandler +import com.habitrpg.android.habitica.models.notifications.GlobalNotification +import com.habitrpg.android.habitica.models.user.User +import io.reactivex.functions.Consumer +import io.realm.RealmList import kotlinx.android.synthetic.main.activity_notifications.* +import javax.inject.Inject -class NotificationsActivity : BaseActivity() { +class NotificationsActivity : BaseActivity(), androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener { + @Inject + lateinit var userRepository: UserRepository override fun getLayoutResId(): Int = R.layout.activity_notifications @@ -13,6 +22,17 @@ class NotificationsActivity : BaseActivity() { super.onCreate(savedInstanceState) setupToolbar(toolbar) + + compositeSubscription.add(userRepository.getUser().subscribe(Consumer { + this.setNotifications(it.notifications) + }, RxErrorHandler.handleEmptyError())) + + notifications_refresh_layout?.setOnRefreshListener(this) + } + + override fun onDestroy() { + userRepository.close() + super.onDestroy() } override fun injectActivity(component: AppComponent?) { @@ -26,4 +46,16 @@ class NotificationsActivity : BaseActivity() { } return super.onSupportNavigateUp() } + + override fun onRefresh() { + notifications_refresh_layout.isRefreshing = true + + compositeSubscription.add(userRepository.retrieveUser(false, true).subscribe(Consumer { + notifications_refresh_layout.isRefreshing = false + }, RxErrorHandler.handleEmptyError())) + } + + private fun setNotifications(notifications: RealmList) { + //TODO("not implemented") + } }