Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ private const val TERMS_OF_SERVICE = "https://eventyay.com/terms/"
class AttendeeFragment : Fragment() {

private lateinit var rootView: View
private val attendeeFragmentViewModel by viewModel<AttendeeViewModel>()
private val attendeeViewModel by viewModel<AttendeeViewModel>()
private val ticketsRecyclerAdapter: TicketDetailsRecyclerAdapter = TicketDetailsRecyclerAdapter()
private val attendeeRecyclerAdapter: AttendeeRecyclerAdapter = AttendeeRecyclerAdapter()
private lateinit var linearLayoutManager: LinearLayoutManager
Expand Down Expand Up @@ -152,13 +152,13 @@ class AttendeeFragment : Fragment() {
linearLayoutManager.orientation = LinearLayoutManager.VERTICAL
rootView.ticketsRecycler.layoutManager = linearLayoutManager

attendeeFragmentViewModel.ticketDetails(ticketIdAndQty)
attendeeViewModel.ticketDetails(ticketIdAndQty)

attendeeFragmentViewModel.updatePaymentSelectorVisibility(ticketIdAndQty)
attendeeViewModel.updatePaymentSelectorVisibility(ticketIdAndQty)
val paymentOptions = ArrayList<String>()
paymentOptions.add("PayPal")
paymentOptions.add("Stripe")
attendeeFragmentViewModel.paymentSelectorVisibility.observe(this, Observer {
attendeeViewModel.paymentSelectorVisibility.observe(this, Observer {
if (it != null && it) {
rootView.paymentSelector.visibility = View.VISIBLE
} else {
Expand All @@ -179,43 +179,43 @@ class AttendeeFragment : Fragment() {
}
}

attendeeFragmentViewModel.initializeSpinner()
attendeeViewModel.initializeSpinner()

rootView.month.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeFragmentViewModel.month)
rootView.month.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeViewModel.month)
rootView.month.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(p0: AdapterView<*>?) {
}

override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
expiryMonth = p2
rootView.monthText.text = attendeeFragmentViewModel.month[p2]
rootView.monthText.text = attendeeViewModel.month[p2]
}
}

rootView.year.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeFragmentViewModel.year)
rootView.year.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeViewModel.year)
rootView.year.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(p0: AdapterView<*>?) {
}

override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
expiryYear = attendeeFragmentViewModel.year[p2]
expiryYear = attendeeViewModel.year[p2]
if (expiryYear == "Year")
expiryYear = "2017" // invalid year, if the user hasn't selected the year
rootView.yearText.text = attendeeFragmentViewModel.year[p2]
rootView.yearText.text = attendeeViewModel.year[p2]
}
}

rootView.cardSelector.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeFragmentViewModel.cardType)
rootView.cardSelector.adapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, attendeeViewModel.cardType)
rootView.cardSelector.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(p0: AdapterView<*>?) {
}

override fun onItemSelected(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
cardBrand = attendeeFragmentViewModel.cardType[p2]
cardBrand = attendeeViewModel.cardType[p2]
rootView.selectCard.text = cardBrand
}
}
attendeeFragmentViewModel.qtyList.observe(this, Observer {
attendeeViewModel.qtyList.observe(this, Observer {
it?.let { it1 -> ticketsRecyclerAdapter.setQty(it1) }
})

Expand All @@ -229,30 +229,30 @@ class AttendeeFragment : Fragment() {
}
}

attendeeFragmentViewModel.loadEvent(id)
attendeeViewModel.loadEvent(id)

if (attendeeFragmentViewModel.isLoggedIn()) {
if (attendeeViewModel.isLoggedIn()) {

attendeeFragmentViewModel.loadUser(attendeeFragmentViewModel.getId())
attendeeFragmentViewModel.loadEvent(id)
attendeeViewModel.loadUser(attendeeViewModel.getId())
attendeeViewModel.loadEvent(id)

attendeeFragmentViewModel.message.observe(this, Observer {
attendeeViewModel.message.observe(this, Observer {
Toast.makeText(context, it, Toast.LENGTH_LONG).show()
})

attendeeFragmentViewModel.progress.observe(this, Observer {
attendeeViewModel.progress.observe(this, Observer {
it?.let { Utils.showProgressBar(rootView.progressBarAttendee, it) }
})

attendeeFragmentViewModel.event.observe(this, Observer {
attendeeViewModel.event.observe(this, Observer {
it?.let { loadEventDetails(it) }
attendeeFragmentViewModel.totalAmount.observe(this, Observer {
attendeeViewModel.totalAmount.observe(this, Observer {
rootView.amount.text = "Total: $paymentCurrency$it"
})
})

attendeeRecyclerAdapter.eventId = eventId
attendeeFragmentViewModel.tickets.observe(this, Observer {
attendeeViewModel.tickets.observe(this, Observer {
it?.let {
ticketsRecyclerAdapter.addAll(it)
ticketsRecyclerAdapter.notifyDataSetChanged()
Expand All @@ -261,28 +261,28 @@ class AttendeeFragment : Fragment() {
val pos = ticketIdAndQty?.map { it.first }?.indexOf(it.id)
val iterations = pos?.let { it1 -> ticketIdAndQty?.get(it1)?.second } ?: 0
for (i in 0 until iterations)
attendeeRecyclerAdapter.add(Attendee(attendeeFragmentViewModel.getId()), it)
attendeeRecyclerAdapter.add(Attendee(attendeeViewModel.getId()), it)
attendeeRecyclerAdapter.notifyDataSetChanged()
}
}
})

attendeeFragmentViewModel.totalQty.observe(this, Observer {
attendeeViewModel.totalQty.observe(this, Observer {
rootView.qty.text = " — $it items"
})

attendeeFragmentViewModel.countryVisibility.observe(this, Observer {
attendeeViewModel.countryVisibility.observe(this, Observer {
if (it != null && singleTicket) {
rootView.countryArea.visibility = if (it) View.VISIBLE else View.GONE
}
})

attendeeFragmentViewModel.paymentCompleted.observe(this, Observer {
attendeeViewModel.paymentCompleted.observe(this, Observer {
if (it != null && it)
openOrderCompletedFragment()
})

attendeeFragmentViewModel.attendee.observe(this, Observer {
attendeeViewModel.attendee.observe(this, Observer {
it?.let {
helloUser.text = "Hello ${it.firstName.nullToEmpty()}"
firstName.text = Editable.Factory.getInstance().newEditable(it.firstName.nullToEmpty())
Expand All @@ -292,13 +292,13 @@ class AttendeeFragment : Fragment() {
})

rootView.signOut.setOnClickListener {
attendeeFragmentViewModel.logout()
attendeeViewModel.logout()
redirectToLogin()
}

attendeeFragmentViewModel.getCustomFormsForAttendees(eventId.id)
attendeeViewModel.getCustomFormsForAttendees(eventId.id)

attendeeFragmentViewModel.forms.observe(this, Observer {
attendeeViewModel.forms.observe(this, Observer {
it?.let {
if (singleTicket)
fillInformationSection(it)
Expand All @@ -320,7 +320,7 @@ class AttendeeFragment : Fragment() {
if (singleTicket) {
val pos = ticketIdAndQty?.map { it.second }?.indexOf(1)
val ticket = pos?.let { it1 -> ticketIdAndQty?.get(it1)?.first?.toLong() } ?: -1
val attendee = Attendee(id = attendeeFragmentViewModel.getId(),
val attendee = Attendee(id = attendeeViewModel.getId(),
firstname = firstName.text.toString(),
lastname = lastName.text.toString(),
city = getAttendeeField("city"),
Expand All @@ -334,14 +334,14 @@ class AttendeeFragment : Fragment() {
attendees.addAll(attendeeRecyclerAdapter.attendeeList)
}
val country = if (country.text.isEmpty()) country.text.toString() else null
attendeeFragmentViewModel.createAttendees(attendees, country, selectedPaymentOption)
attendeeViewModel.createAttendees(attendees, country, selectedPaymentOption)
}
} else {
redirectToLogin()
Toast.makeText(context, "You need to log in first!", Toast.LENGTH_LONG).show()
}

attendeeFragmentViewModel.ticketSoldOut.observe(this, Observer
attendeeViewModel.ticketSoldOut.observe(this, Observer
{
it?.let {
showTicketSoldOutDialog(it)
Expand Down Expand Up @@ -391,8 +391,8 @@ class AttendeeFragment : Fragment() {
object : TokenCallback {
override fun onSuccess(token: Token) {
// Send this token to server
val charge = Charge(attendeeFragmentViewModel.getId().toInt(), token.id, null)
attendeeFragmentViewModel.completeOrder(charge)
val charge = Charge(attendeeViewModel.getId().toInt(), token.id, null)
attendeeViewModel.completeOrder(charge)
}

override fun onError(error: Exception) {
Expand Down Expand Up @@ -420,7 +420,7 @@ class AttendeeFragment : Fragment() {
}

private fun openOrderCompletedFragment() {
attendeeFragmentViewModel.paymentCompleted.value = false
attendeeViewModel.paymentCompleted.value = false
// Initialise Order Completed Fragment
val orderCompletedFragment = OrderCompletedFragment()
val bundle = Bundle()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import java.io.InputStream

class EditProfileFragment : Fragment() {

private val profileFragmentViewModel by viewModel<ProfileFragmentViewModel>()
private val profileViewModel by viewModel<ProfileViewModel>()
private val editProfileViewModel by viewModel<EditProfileViewModel>()
private lateinit var rootView: View
private var permissionGranted = false
Expand All @@ -48,7 +48,7 @@ class EditProfileFragment : Fragment() {
): View? {
rootView = inflater.inflate(R.layout.fragment_edit_profile, container, false)

profileFragmentViewModel.user.observe(this, Observer {
profileViewModel.user.observe(this, Observer {
it?.let {
val userFirstName = it.firstName.nullToEmpty()
val userLastName = it.lastName.nullToEmpty()
Expand All @@ -69,7 +69,7 @@ class EditProfileFragment : Fragment() {
}
}
})
profileFragmentViewModel.fetchProfile()
profileViewModel.fetchProfile()

editProfileViewModel.progress.observe(this, Observer {
it?.let {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import org.koin.android.architecture.ext.viewModel
const val LAUNCH_ATTENDEE: String = "LAUNCH_ATTENDEE"
class LoginFragment : Fragment() {

private val loginFragmentViewModel by viewModel<LoginFragmentViewModel>()
private val loginViewModel by viewModel<LoginViewModel>()
private lateinit var rootView: View
private var bundle: Bundle? = null
private var ticketIdAndQty: List<Pair<Int, Int>>? = null
Expand All @@ -47,32 +47,32 @@ class LoginFragment : Fragment() {
): View? {
rootView = inflater.inflate(R.layout.fragment_login, container, false)

if (loginFragmentViewModel.isLoggedIn())
if (loginViewModel.isLoggedIn())
redirectToMain(bundle)

rootView.loginButton.setOnClickListener {
loginFragmentViewModel.login(email.text.toString(), password.text.toString())
loginViewModel.login(email.text.toString(), password.text.toString())
hideSoftKeyboard(context, rootView)
}

loginFragmentViewModel.progress.observe(this, Observer {
loginViewModel.progress.observe(this, Observer {
it?.let {
Utils.showProgressBar(rootView.progressBar, it)
loginButton.isEnabled = !it
}
})

loginFragmentViewModel.showNoInternetDialog.observe(this, Observer {
loginViewModel.showNoInternetDialog.observe(this, Observer {
Utils.showNoInternetDialog(context)
})

loginFragmentViewModel.error.observe(this, Observer {
loginViewModel.error.observe(this, Observer {
Toast.makeText(context, it, Toast.LENGTH_LONG).show()
})

loginFragmentViewModel.loggedIn.observe(this, Observer {
loginViewModel.loggedIn.observe(this, Observer {
Toast.makeText(context, getString(R.string.welcome_back) , Toast.LENGTH_LONG).show()
loginFragmentViewModel.fetchProfile()
loginViewModel.fetchProfile()
})

rootView.email.addTextChangedListener(object : TextWatcher {
Expand All @@ -81,16 +81,16 @@ class LoginFragment : Fragment() {
override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}

override fun onTextChanged(email: CharSequence, start: Int, before: Int, count: Int) {
loginFragmentViewModel.checkEmail(email.toString())
loginViewModel.checkEmail(email.toString())
}
})

loginFragmentViewModel.requestTokenSuccess.observe(this, Observer {
loginViewModel.requestTokenSuccess.observe(this, Observer {
rootView.sentEmailLayout.visibility = View.VISIBLE
rootView.loginLayout.visibility = View.GONE
})

loginFragmentViewModel.isCorrectEmail.observe(this, Observer {
loginViewModel.isCorrectEmail.observe(this, Observer {
it?.let {
onEmailEntered(it)
}
Expand All @@ -103,10 +103,10 @@ class LoginFragment : Fragment() {

rootView.forgotPassword.setOnClickListener {
hideSoftKeyboard(context, rootView)
loginFragmentViewModel.sendResetPasswordEmail(email.text.toString())
loginViewModel.sendResetPasswordEmail(email.text.toString())
}

loginFragmentViewModel.user.observe(this, Observer {
loginViewModel.user.observe(this, Observer {
redirectToMain(bundle)
})

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import org.fossasia.openevent.general.common.SingleLiveEvent
import org.fossasia.openevent.general.data.Network
import timber.log.Timber

class LoginFragmentViewModel(
class LoginViewModel(
private val authService: AuthService,
private val network: Network
) : ViewModel() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import org.fossasia.openevent.general.utils.nullToEmpty
import org.koin.android.architecture.ext.viewModel

class ProfileFragment : Fragment() {
private val profileFragmentViewModel by viewModel<ProfileFragmentViewModel>()
private val profileViewModel by viewModel<ProfileViewModel>()

private lateinit var rootView: View
private var emailSettings: String? = null
Expand All @@ -40,7 +40,7 @@ class ProfileFragment : Fragment() {

override fun onAttach(context: Context?) {
super.onAttach(context)
if (!profileFragmentViewModel.isLoggedIn()) {
if (!profileViewModel.isLoggedIn()) {
Toast.makeText(context, "You need to Login!", Toast.LENGTH_LONG).show()
redirectToLogin()
}
Expand All @@ -55,15 +55,15 @@ class ProfileFragment : Fragment() {

setHasOptionsMenu(true)

profileFragmentViewModel.progress.observe(this, Observer {
profileViewModel.progress.observe(this, Observer {
it?.let { Utils.showProgressBar(rootView.progressBar, it) }
})

profileFragmentViewModel.error.observe(this, Observer {
profileViewModel.error.observe(this, Observer {
Toast.makeText(context, it, Toast.LENGTH_LONG).show()
})

profileFragmentViewModel.user.observe(this, Observer {
profileViewModel.user.observe(this, Observer {
it?.let {
rootView.name.text = "${it.firstName.nullToEmpty()} ${it.lastName.nullToEmpty()}"
rootView.email.text = it.email
Expand Down Expand Up @@ -100,7 +100,7 @@ class ProfileFragment : Fragment() {
return true
}
R.id.logout -> {
profileFragmentViewModel.logout()
profileViewModel.logout()
activity?.supportFragmentManager?.beginTransaction()?.remove(this)?.commit()
redirectToMain()
return true
Expand Down Expand Up @@ -141,11 +141,11 @@ class ProfileFragment : Fragment() {
}

private fun fetchProfile() {
if (!profileFragmentViewModel.isLoggedIn())
if (!profileViewModel.isLoggedIn())
return

rootView.progressBar.isIndeterminate = true
profileFragmentViewModel.fetchProfile()
profileViewModel.fetchProfile()
}

override fun onResume() {
Expand Down
Loading