#1122 Show confirmation toast when group invite sent (#1155)

* Show snackbar when invitation sent, even if field blank

* Show snackbar when invitation is sent, only if field filled out
This commit is contained in:
Camille Merz 2019-05-31 01:42:26 -06:00 committed by Phillip Thelen
parent a6cb52fc40
commit e5dd85e5ea
2 changed files with 27 additions and 7 deletions

View file

@ -1,4 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
@ -30,4 +35,13 @@
android:layout_weight="1"
android:background="@android:color/white" />
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/snackbar_view"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_gravity="bottom"
android:layout_marginBottom="@dimen/spacing_large"
android:fitsSystemWindows="true" />
</FrameLayout>

View file

@ -5,7 +5,7 @@ import android.content.Intent
import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
import android.view.ViewGroup
import androidx.core.net.toUri
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentPagerAdapter
@ -16,6 +16,7 @@ import com.habitrpg.android.habitica.components.AppComponent
import com.habitrpg.android.habitica.data.SocialRepository
import com.habitrpg.android.habitica.data.UserRepository
import com.habitrpg.android.habitica.extensions.notNull
import com.habitrpg.android.habitica.extensions.runDelayed
import com.habitrpg.android.habitica.helpers.RxErrorHandler
import com.habitrpg.android.habitica.models.user.User
import com.habitrpg.android.habitica.modules.AppModule
@ -23,8 +24,11 @@ import com.habitrpg.android.habitica.prefs.scanner.IntentIntegrator
import com.habitrpg.android.habitica.ui.fragments.social.party.PartyInviteFragment
import com.habitrpg.android.habitica.ui.helpers.bindView
import com.habitrpg.android.habitica.ui.helpers.dismissKeyboard
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.Companion.showSnackbar
import io.reactivex.functions.Consumer
import java.util.*
import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Named
@ -39,6 +43,7 @@ class GroupInviteActivity : BaseActivity() {
internal val tabLayout: TabLayout by bindView(R.id.tab_layout)
internal val viewPager: ViewPager by bindView(R.id.viewPager)
private val snackbarView: ViewGroup by bindView(R.id.snackbar_view)
internal var fragments: MutableList<PartyInviteFragment> = ArrayList()
private var userIdToInvite: String? = null
@ -76,7 +81,12 @@ class GroupInviteActivity : BaseActivity() {
if (id == R.id.action_send_invites) {
setResult(Activity.RESULT_OK, createResultIntent())
dismissKeyboard()
finish()
if (!fragments[viewPager.currentItem].values.isEmpty()) {
showSnackbar(snackbarView, "Invite Sent!", HabiticaSnackbar.SnackbarDisplayType.SUCCESS)
runDelayed(1, TimeUnit.SECONDS, this::finish)
} else {
finish()
}
return true
}
@ -152,10 +162,6 @@ class GroupInviteActivity : BaseActivity() {
return
}
val toast = Toast.makeText(applicationContext,
"Invited: $userIdToInvite", Toast.LENGTH_LONG)
toast.show()
val inviteData = HashMap<String, Any>()
val invites = ArrayList<String>()
userIdToInvite.notNull {