Skip to content

Commit

Permalink
Merge pull request #15 from binaryshrey/feat/v1.2
Browse files Browse the repository at this point in the history
Feat/v1.2
  • Loading branch information
binaryshrey committed Mar 9, 2023
2 parents 6d5c1a6 + 36ced66 commit 96c2976
Show file tree
Hide file tree
Showing 55 changed files with 1,504 additions and 171 deletions.
7 changes: 4 additions & 3 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'org.jetbrains.kotlin.kapt'
id 'com.google.gms.google-services'

}
Expand Down Expand Up @@ -70,4 +71,7 @@ dependencies {
//firebase-auth
implementation 'com.google.firebase:firebase-auth-ktx'
implementation 'com.google.android.gms:play-services-auth:20.4.0'

//lottie
implementation "com.airbnb.android:lottie:3.4.0"
}
38 changes: 26 additions & 12 deletions app/src/main/java/dev/shreyansh/dice/ui/game/BoardFourFragment.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package dev.shreyansh.dice.ui.game

import android.os.Bundle
import android.util.Log
import android.view.*
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
Expand All @@ -18,7 +16,6 @@ import com.google.android.gms.auth.api.signin.GoogleSignInOptions
import com.google.firebase.auth.FirebaseAuth
import dev.shreyansh.dice.R
import dev.shreyansh.dice.databinding.FragmentBoardFourBinding
import dev.shreyansh.dice.databinding.FragmentBoardThreeBinding
import dev.shreyansh.dice.viewModel.DiceViewModel


Expand All @@ -27,29 +24,34 @@ class BoardFourFragment : Fragment() {
private lateinit var binding : FragmentBoardFourBinding
private val viewModel: DiceViewModel by activityViewModels()

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {

(activity as AppCompatActivity).supportActionBar?.show()
requireActivity().window.statusBarColor = ContextCompat.getColor(requireContext(),R.color.black)
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_board_four, container, false)
binding.viewModel = viewModel
binding.lifecycleOwner = this
binding.lifecycleOwner = viewLifecycleOwner
setHasOptionsMenu(true)
viewModel.resetData()

viewModel.result.observe(viewLifecycleOwner, Observer { value ->
if (value != "") {
animateDice(binding)
animateDiceResult(binding)
}
})
binding.rollButton.setOnClickListener {
binding.confetti.visibility = View.VISIBLE
binding.rollButton.isEnabled=false
binding.rollButton.isClickable=false
viewModel.rollBoardFour()
binding.rollButton.postDelayed(Runnable {
binding.rollButton.isEnabled=true
binding.rollButton.isClickable=true
} , 210)
} , 2000)
binding.rollButton.postDelayed(Runnable {
binding.confetti.visibility = View.INVISIBLE
} , 2000)

}

Expand Down Expand Up @@ -97,12 +99,11 @@ class BoardFourFragment : Fragment() {
googlesSignInClient.signOut()
FirebaseAuth.getInstance().signOut()
findNavController().navigate(R.id.action_boardFourFragment_to_introFragment)
Log.d("BottomSheet", "Log Out successful!")
}

private fun animateDice(binding: FragmentBoardFourBinding) {
binding.dice1ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice1ImageView.animate().apply {
Expand All @@ -111,7 +112,7 @@ class BoardFourFragment : Fragment() {
}
}
binding.dice2ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice1ImageView.animate().apply {
Expand All @@ -120,7 +121,7 @@ class BoardFourFragment : Fragment() {
}
}
binding.dice3ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice3ImageView.animate().apply {
Expand All @@ -129,7 +130,7 @@ class BoardFourFragment : Fragment() {
}
}
binding.dice4ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice4ImageView.animate().apply {
Expand All @@ -138,4 +139,17 @@ class BoardFourFragment : Fragment() {
}
}
}

private fun animateDiceResult(binding: FragmentBoardFourBinding?) {
binding?.resultImageView?.animate()?.apply {
duration = 200
rotationYBy(360f)
}?.withEndAction {
binding.resultImageView.animate().apply {
duration = 200
rotationYBy(3600f)
}
}
}

}
36 changes: 23 additions & 13 deletions app/src/main/java/dev/shreyansh/dice/ui/game/BoardOneFragment.kt
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package dev.shreyansh.dice.ui.game

import android.content.SharedPreferences
import android.os.Bundle
import android.util.Log
import android.view.*
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
Expand All @@ -27,36 +24,39 @@ class BoardOneFragment : Fragment() {
private lateinit var binding: FragmentBoardOneBinding
private val viewModel: DiceViewModel by activityViewModels()

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {

(activity as AppCompatActivity).supportActionBar?.show()
requireActivity().window.statusBarColor = ContextCompat.getColor(requireContext(),R.color.black)
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_board_one, container, false)
binding.viewModel = viewModel
binding.lifecycleOwner = this
binding.lifecycleOwner = viewLifecycleOwner
setHasOptionsMenu(true)
viewModel.resetData()
viewModel.result.observe(viewLifecycleOwner, Observer { value ->
if (value != "") {
animateDice(binding)
animateDiceResult(binding)
}
})
binding.rollButton.setOnClickListener {
binding.confetti.visibility = View.VISIBLE
binding.rollButton.isEnabled=false
binding.rollButton.isClickable=false
viewModel.rollBoardFour()
viewModel.rollBoardOne()
binding.rollButton.postDelayed(Runnable {
binding.rollButton.isEnabled=true
binding.rollButton.isClickable=true
} , 210)
} , 2000)
binding.rollButton.postDelayed(Runnable {
binding.confetti.visibility = View.INVISIBLE
} , 2000)

}

return binding.root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val sp = PreferenceManager.getDefaultSharedPreferences(requireContext())
Expand Down Expand Up @@ -98,12 +98,11 @@ class BoardOneFragment : Fragment() {
googlesSignInClient.signOut()
FirebaseAuth.getInstance().signOut()
findNavController().navigate(R.id.action_boardOneFragment_to_introFragment)
Log.d("BottomSheet", "Log Out successful!")
}

private fun animateDice(binding: FragmentBoardOneBinding) {
binding.dice1ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice1ImageView.animate().apply {
Expand All @@ -113,4 +112,15 @@ class BoardOneFragment : Fragment() {
}
}

private fun animateDiceResult(binding: FragmentBoardOneBinding?) {
binding?.resultImageView?.animate()?.apply {
duration = 200
rotationYBy(360f)
}?.withEndAction {
binding.resultImageView.animate().apply {
duration = 200
rotationYBy(3600f)
}
}
}
}
41 changes: 26 additions & 15 deletions app/src/main/java/dev/shreyansh/dice/ui/game/BoardThreeFragment.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package dev.shreyansh.dice.ui.game

import android.os.Bundle
import android.util.Log
import android.view.*
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
Expand All @@ -18,7 +16,6 @@ import com.google.android.gms.auth.api.signin.GoogleSignInOptions
import com.google.firebase.auth.FirebaseAuth
import dev.shreyansh.dice.R
import dev.shreyansh.dice.databinding.FragmentBoardThreeBinding
import dev.shreyansh.dice.databinding.FragmentBoardTwoBinding
import dev.shreyansh.dice.viewModel.DiceViewModel


Expand All @@ -27,32 +24,35 @@ class BoardThreeFragment : Fragment() {
private lateinit var binding : FragmentBoardThreeBinding
private val viewModel: DiceViewModel by activityViewModels()

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {

(activity as AppCompatActivity).supportActionBar?.show()
requireActivity().window.statusBarColor = ContextCompat.getColor(requireContext(),R.color.black)
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_board_three, container, false)
binding.viewModel = viewModel
binding.lifecycleOwner = this
binding.lifecycleOwner = viewLifecycleOwner
setHasOptionsMenu(true)
viewModel.resetData()

viewModel.result.observe(viewLifecycleOwner, Observer { value ->
if (value != "") {
animateDice(binding)
animateDiceResult(binding)
}
})

binding.rollButton.setOnClickListener {
binding.confetti.visibility = View.VISIBLE
binding.rollButton.isEnabled=false
binding.rollButton.isClickable=false
viewModel.rollBoardFour()
viewModel.rollBoardThree()
binding.rollButton.postDelayed(Runnable {
binding.rollButton.isEnabled=true
binding.rollButton.isClickable=true
} , 210)
} , 2000)
binding.rollButton.postDelayed(Runnable {
binding.confetti.visibility = View.INVISIBLE
} , 2000)

}

Expand Down Expand Up @@ -100,12 +100,11 @@ class BoardThreeFragment : Fragment() {
googlesSignInClient.signOut()
FirebaseAuth.getInstance().signOut()
findNavController().navigate(R.id.action_boardThreeFragment_to_introFragment)
Log.d("BottomSheet", "Log Out successful!")
}

private fun animateDice(binding: FragmentBoardThreeBinding) {
binding.dice0ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice0ImageView.animate().apply {
Expand All @@ -114,7 +113,7 @@ class BoardThreeFragment : Fragment() {
}
}
binding.dice1ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice1ImageView.animate().apply {
Expand All @@ -123,7 +122,7 @@ class BoardThreeFragment : Fragment() {
}
}
binding.dice2ImageView.animate().apply {
duration = 100
duration = 200
rotationYBy(360f)
}.withEndAction {
binding.dice1ImageView.animate().apply {
Expand All @@ -133,4 +132,16 @@ class BoardThreeFragment : Fragment() {
}
}

private fun animateDiceResult(binding: FragmentBoardThreeBinding?) {
binding?.resultImageView?.animate()?.apply {
duration = 200
rotationYBy(360f)
}?.withEndAction {
binding.resultImageView.animate().apply {
duration = 200
rotationYBy(3600f)
}
}
}

}
Loading

0 comments on commit 96c2976

Please sign in to comment.