Clean the code in function for better maintenance 💅

SQLite
Lucas Delanier 2 years ago
parent 64011ba3a0
commit 7c4b6cb148

@ -19,7 +19,10 @@ import android.widget.TextView
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.example.shakecraft.model.Boss
import com.example.shakecraft.model.Generator import com.example.shakecraft.model.Generator
import com.example.shakecraft.model.Item
import com.example.shakecraft.model.Player
import com.example.shakecraft.view.adapter.AdapterBossLoot import com.example.shakecraft.view.adapter.AdapterBossLoot
import kotlin.math.pow import kotlin.math.pow
import kotlin.math.sqrt import kotlin.math.sqrt
@ -27,38 +30,61 @@ import kotlin.math.sqrt
class BossFragment() : Fragment() { class BossFragment() : Fragment() {
private lateinit var sensorManager: SensorManager private lateinit var sensorManager: SensorManager
private lateinit var accelerometer: Sensor private lateinit var accelerometer: Sensor
private lateinit var accelerometerEventListener: SensorEventListener private lateinit var accelerometerEventListener: SensorEventListener
private lateinit var progressBar: ProgressBar private lateinit var progressBar: ProgressBar
private lateinit var image: ImageView private lateinit var image: ImageView
private lateinit var buttonCollect: TextView
private lateinit var recyclerView: RecyclerView
private lateinit var boss: Boss
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
val player = (activity as MainActivity).currentPlayer val currentPlayer = (activity as MainActivity).currentPlayer
val view = inflater.inflate(R.layout.fragment_boss, container, false) val view = inflater.inflate(R.layout.fragment_boss, container, false)
val buttonCollect = view.findViewById<TextView>(R.id.backbutton)
// Initialize views
initializeViews(view)
// Set up boss
boss = Generator.generateBoss()
setUpBoss(boss)
// Set up RecyclerView for boss loot
setUpRecyclerView(view)
// Set up accelerometer listener
setUpAccelerometerListener(view, currentPlayer)
// Set up activity orientation
setUpActivityOrientation()
// Return fragment view
return view
}
private fun initializeViews(view: View) {
progressBar = view.findViewById(R.id.progressBar)
image = view.findViewById(R.id.imageBoss)
buttonCollect = view.findViewById<TextView>(R.id.backbutton)
buttonCollect.setOnClickListener{ buttonCollect.setOnClickListener{
findNavController().navigate(R.id.action_bossFragment_to_homeFragment) findNavController().navigate(R.id.action_bossFragment_to_homeFragment)
} }
val imageView = view.findViewById<ImageView>(R.id.imageBoss) }
imageView.scaleX = 1.2f private fun setUpBoss(boss: Boss) {
imageView.scaleY = 1.2f progressBar.max = boss.maxlife
progressBar.progress = boss.life
image.setImageResource(boss.image)
// Créez une animation qui modifie la propriété scaleX et scaleY de l'image // Create scale animation for boss image
val scaleAnimation = ScaleAnimation( val scaleAnimation = ScaleAnimation(
1.2f, // de 2.0 à 1.0 1.2f, // from 1.2 to 1.0
1.0f, 1.0f,
1.2f, 1.2f,
1.0f, 1.0f,
@ -67,110 +93,84 @@ class BossFragment() : Fragment() {
Animation.RELATIVE_TO_SELF, Animation.RELATIVE_TO_SELF,
0.5f 0.5f
) )
scaleAnimation.duration = 1000 // lasts 1 second
scaleAnimation.duration = 1000 // dure 1 seconde scaleAnimation.repeatCount = Animation.INFINITE // repeat indefinitely
scaleAnimation.repeatCount = Animation.INFINITE // répéter indéfiniment scaleAnimation.repeatMode = Animation.REVERSE // reverse animation direction
scaleAnimation.repeatMode = Animation.REVERSE // inverser la direction de l'animation image.startAnimation(scaleAnimation)
}
// Appliquez l'animation à l'image private fun setUpRecyclerView(view: View) {
imageView.startAnimation(scaleAnimation) recyclerView = view.findViewById(R.id.recyclerviewBossLoot)
progressBar = view.findViewById(R.id.progressBar)
sensorManager = requireActivity().getSystemService(Context.SENSOR_SERVICE) as SensorManager
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
var boss = Generator.generateBoss()
progressBar.max = boss.maxlife
progressBar.progress = boss.life
imageView.setImageResource(boss.image)
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerviewBossLoot)
with(recyclerView) { with(recyclerView) {
layoutManager = LinearLayoutManager(view.context) layoutManager = LinearLayoutManager(view.context)
adapter = AdapterBossLoot(boss.possibleLoot) adapter = AdapterBossLoot(boss.possibleLoot)
} }
}
private fun setUpActivityOrientation(){
// Créez un écouteur de capteur d'accéléromètre pour écouter les secousses val activity = requireActivity()
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
}
private fun displayToast(view: View, item: Item){
val toastView = view.findViewById<View>(R.id.toast)
val lootImage = toastView.findViewById<ImageView>(R.id.imageViewLoot)
val lootName = toastView.findViewById<TextView>(R.id.nameLoot)
val xpReward = toastView.findViewById<TextView>(R.id.xpRewarded)
toastView.visibility = View.VISIBLE
lootImage.setImageResource(item.image)
lootName.text = item.name
xpReward.text = boss.xpReward.toString()
toastView.postDelayed({
toastView.visibility = View.GONE
}, 3000)
}
private fun setUpAccelerometerListener(view: View, currentPlayer: Player) {
sensorManager = requireActivity().getSystemService(Context.SENSOR_SERVICE) as SensorManager
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
accelerometerEventListener = object : SensorEventListener { accelerometerEventListener = object : SensorEventListener {
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) { override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
// Ne faites rien ici // Do nothing
} }
override fun onSensorChanged(event: SensorEvent?) { override fun onSensorChanged(event: SensorEvent?) {
val acceleration = sqrt( val acceleration = sqrt(event!!.values[0].pow(2) + event.values[1].pow(2) + event.values[2].pow(2))
event!!.values[0].pow(2) + event.values[1].pow(2) + event.values[2].pow(2)
)
if (boss.life <= 0) { if (boss.life <= 0) {
val item = Generator.generateLootBoss(boss.possibleLoot)
println(item)
player.addItem(item)
player.gainXp(boss.xpReward)
val maVue = view.findViewById<View>(R.id.toast)
val image = maVue.findViewById<ImageView>(R.id.imageViewLoot)
val name = maVue.findViewById<TextView>(R.id.nameLoot)
val xp = maVue.findViewById<TextView>(R.id.xpRewarded)
maVue.visibility = View.VISIBLE
image.setImageResource(item.image)
name.text = item.name
xp.text = boss.xpReward.toString()
maVue.postDelayed({
maVue.visibility = View.GONE
}, 3000) //Vibration to signal the death of the boss
boss = Generator.generateBoss()
println(boss)
imageView.setImageResource(boss.image)
val vibrator = context?.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator val vibrator = context?.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
vibrator.vibrate(100) vibrator.vibrate(100)
progressBar.max = boss.maxlife
progressBar.progress = boss.life
with(recyclerView) {
layoutManager = LinearLayoutManager(view.context)
adapter = AdapterBossLoot(boss.possibleLoot)
}
// Définissez la propriété scaleX et scaleY de l'image sur 0.5f
// Generate a loot item and XP reward
val item = Generator.generateLootBoss(boss.possibleLoot)
currentPlayer.addItem(item)
currentPlayer.gainXp(boss.xpReward)
// Show loot toast view for 3 seconds
displayToast(view,item)
// Spawn new boss and reset progress bar
boss = Generator.generateBoss()
setUpBoss(boss)
//Update displayed information
setUpRecyclerView(view)
} } else {
if (acceleration > 40) { // Reduce boss life based on acceleration value
boss.takeDamage((acceleration / 80).toInt()) boss.takeDamage((acceleration / 80).toInt())
progressBar.progress = boss.life progressBar.progress = boss.life
} }
} }
} }
// Register accelerometer sensor earphone with manager
sensorManager.registerListener( sensorManager.registerListener(
accelerometerEventListener, accelerometerEventListener,
accelerometer, accelerometer,
SensorManager.SENSOR_DELAY_GAME SensorManager.SENSOR_DELAY_GAME
) )
return view
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
val activity = requireActivity()
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
} }
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
// Désenregistrez l'écouteur de capteur d'accéléromètre lorsque le fragment est détruit // Unregister the accelerometer sensor listener when the fragment is destroyed
sensorManager.unregisterListener(accelerometerEventListener) sensorManager.unregisterListener(accelerometerEventListener)
val activity = requireActivity() val activity = requireActivity()
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED

@ -1,6 +1,6 @@
package com.example.shakecraft package com.example.shakecraft
import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.pm.ActivityInfo import android.content.pm.ActivityInfo
import android.hardware.Sensor import android.hardware.Sensor
@ -20,6 +20,9 @@ import android.widget.TextView
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.example.shakecraft.model.Generator import com.example.shakecraft.model.Generator
import com.example.shakecraft.model.Item
import com.example.shakecraft.model.Player
import kotlin.math.pow import kotlin.math.pow
import kotlin.math.sqrt import kotlin.math.sqrt
@ -30,57 +33,44 @@ class CollectFragment() : Fragment() {
private lateinit var accelerometer: Sensor private lateinit var accelerometer: Sensor
private lateinit var accelerometerEventListener: SensorEventListener private lateinit var accelerometerEventListener: SensorEventListener
private lateinit var progressBar: ProgressBar private lateinit var progressBar: ProgressBar
private lateinit var buttonCollect: TextView
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
val player = (activity as MainActivity).currentPlayer
// Récupérez une référence à la ProgressBar dans la vue val currentPlayer = (activity as MainActivity).currentPlayer
val view = inflater.inflate(R.layout.fragment_collect, container, false) val view = inflater.inflate(R.layout.fragment_collect, container, false)
// Initialize views
initializeViews(view)
val buttonCollect = view.findViewById<TextView>(R.id.backbutton) // Set up accelerometer listener
setUpAccelerometerListener(view,currentPlayer)
// Set up activity orientation
setUpActivityOrientation()
// Return fragment view
return view
}
private fun initializeViews(view: View) {
progressBar = view.findViewById(R.id.progressBar)
buttonCollect = view.findViewById<TextView>(R.id.backbutton)
buttonCollect.setOnClickListener{ buttonCollect.setOnClickListener{
findNavController().navigate(R.id.action_collectFragment_to_homeFragment) findNavController().navigate(R.id.action_collectFragment_to_homeFragment)
} }
progressBar = view.findViewById(R.id.progressBar)
sensorManager = requireActivity().getSystemService(Context.SENSOR_SERVICE) as SensorManager
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
// Créez un écouteur de capteur d'accéléromètre pour écouter les secousses
accelerometerEventListener = object : SensorEventListener {
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
// Ne faites rien ici
} }
private fun setUpActivityOrientation(){
@SuppressLint("ServiceCast") val activity = requireActivity()
override fun onSensorChanged(event: SensorEvent?) { activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
val acceleration = sqrt( }
event!!.values[0].pow(2) + event.values[1].pow(2) + event.values[2].pow(2) private fun displayToast(view: View, item: Item){
)
if(progressBar.progress == 100){
val item = Generator.generateLootCollection()
println(item)
player.addItem(item)
player.gainXp(item.xpReward)
progressBar.progress = 0
val vibrator = context?.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
vibrator.vibrate(100)
val maVue = view.findViewById<View>(R.id.toast) val maVue = view.findViewById<View>(R.id.toast)
val image = maVue.findViewById<ImageView>(R.id.imageViewLoot) val image = maVue.findViewById<ImageView>(R.id.imageViewLoot)
val name = maVue.findViewById<TextView>(R.id.nameLoot) val name = maVue.findViewById<TextView>(R.id.nameLoot)
@ -93,38 +83,52 @@ class CollectFragment() : Fragment() {
maVue.visibility = View.GONE maVue.visibility = View.GONE
}, 3000) }, 3000)
}
private fun setUpAccelerometerListener(view: View, currentPlayer: Player) {
sensorManager = requireActivity().getSystemService(Context.SENSOR_SERVICE) as SensorManager
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
accelerometerEventListener = object : SensorEventListener {
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) {
// Do nothing
}
override fun onSensorChanged(event: SensorEvent?) {
val acceleration = sqrt(event!!.values[0].pow(2) + event.values[1].pow(2) + event.values[2].pow(2))
if(progressBar.progress == 100){
//Vibration to signal collect of the resource
val vibrator = context?.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator
vibrator.vibrate(100)
// Generate a resource item and XP reward
val item = Generator.generateLootCollection()
currentPlayer.addItem(item)
currentPlayer.gainXp(item.xpReward)
//reset to 0 the progress bar
progressBar.progress = 0
// Show loot toast view for 3 seconds
displayToast(view,item)
} }
if (acceleration > 40) { if (acceleration > 40) {
// Le téléphone a été secoué, mettre à jour la barre de chargement ici // raise the progress bar based on acceleration value
progressBar.progress += (acceleration/20).toInt() // Incrémente la progression de la barre de 10 unités progressBar.progress += (acceleration/20).toInt()
} }
} }
} }
// Enregistrez l'écouteur de capteur d'accéléromètre // Register accelerometer sensor earphone with manager
sensorManager.registerListener( sensorManager.registerListener(
accelerometerEventListener, accelerometerEventListener,
accelerometer, accelerometer,
SensorManager.SENSOR_DELAY_GAME SensorManager.SENSOR_DELAY_GAME
) )
// Retournez la vue de fragment
return view
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
val activity = requireActivity()
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
} }
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
// Désenregistrez l'écouteur de capteur d'accéléromètre lorsque le fragment est détruit // Unregister the accelerometer sensor listener when the fragment is destroyed
sensorManager.unregisterListener(accelerometerEventListener) sensorManager.unregisterListener(accelerometerEventListener)
val activity = requireActivity() val activity = requireActivity()
activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED

@ -5,55 +5,62 @@ import androidx.fragment.app.Fragment
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ProgressBar import android.widget.ProgressBar
import android.widget.TextView import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.navigation.NavOptions import androidx.navigation.NavOptions
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.example.shakecraft.model.Player
class HomeFragment : Fragment() { class HomeFragment : Fragment() {
private lateinit var pseudo : TextView
private lateinit var progressbar : ProgressBar
private lateinit var level : TextView
private lateinit var rank : TextView
private lateinit var maxXp : TextView
private lateinit var xp : TextView
private lateinit var buttonCollect : ConstraintLayout
private lateinit var buttonBoss : ConstraintLayout
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
val player = (activity as MainActivity).currentPlayer val currentPlayer = (activity as MainActivity).currentPlayer
val view = inflater.inflate(R.layout.fragment_home,container,false) val view = inflater.inflate(R.layout.fragment_home,container,false)
val buttonCollect = view.findViewById<ConstraintLayout>(R.id.buttonCollect)
// Initialize views
initializeViews(view, currentPlayer)
return view
}
private fun initializeViews(view: View, currentPlayer : Player) {
pseudo = view.findViewById(R.id.pseudoTextView)
progressbar = view.findViewById(R.id.levelProgressBar)
level = view.findViewById(R.id.levelTextView)
rank = view.findViewById(R.id.rankTextView)
maxXp = view.findViewById(R.id.maxXpTextView)
xp = view.findViewById(R.id.xpTextView)
buttonCollect = view.findViewById(R.id.buttonCollect)
buttonCollect.setOnClickListener{ buttonCollect.setOnClickListener{
findNavController().navigate(R.id.action_homeFragment_to_collectFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()) findNavController().navigate(R.id.action_homeFragment_to_collectFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build())
} }
val buttonBoss = view.findViewById<ConstraintLayout>(R.id.buttonBoss) buttonBoss = view.findViewById(R.id.buttonBoss)
buttonBoss.setOnClickListener{ buttonBoss.setOnClickListener{
findNavController().navigate(R.id.action_homeFragment_to_bossFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()) findNavController().navigate(R.id.action_homeFragment_to_bossFragment, null, NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build())
} }
pseudo.text = currentPlayer.pseudo
val pseudo = view.findViewById<TextView>(R.id.pseudoTextView) level.text = currentPlayer.level.toString()
val progressbar = view.findViewById<ProgressBar>(R.id.levelProgressBar) rank.text = currentPlayer.rank
val level = view.findViewById<TextView>(R.id.levelTextView) xp.text = currentPlayer.xp.toString()
val rank = view.findViewById<TextView>(R.id.rankTextView) maxXp.text = (currentPlayer.level*100).toString()
val maxXp = view.findViewById<TextView>(R.id.maxXpTextView) progressbar.progress = currentPlayer.xp
val xp = view.findViewById<TextView>(R.id.xpTextView) progressbar.max = currentPlayer.level*100
pseudo.text = player.pseudo
level.text = player.level.toString()
rank.text = player.rank
xp.text = player.xp.toString()
maxXp.text = (player.level*100).toString()
progressbar.progress = player.xp
progressbar.max = player.level*100
return view
} }

@ -7,32 +7,36 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.example.shakecraft.data.Stub
import com.example.shakecraft.model.Player import com.example.shakecraft.model.Player
import com.example.shakecraft.view.adapter.AdapterInventory import com.example.shakecraft.view.adapter.AdapterInventory
class InventoryFragment() : Fragment( ) { class InventoryFragment() : Fragment( ) {
private lateinit var recyclerView: RecyclerView
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View? { ): View? {
var player = (activity as MainActivity).currentPlayer val currentPlayer = (activity as MainActivity).currentPlayer
val view = inflater.inflate(R.layout.fragment_inventory, container, false) val view = inflater.inflate(R.layout.fragment_inventory, container, false)
val recyclerView: RecyclerView = view.findViewById(R.id.recyclerviewInventory)
// Initialize views
setUpRecyclerView(view, currentPlayer)
return view
}
private fun setUpRecyclerView(view: View, currentPlayer: Player) {
recyclerView = view.findViewById(R.id.recyclerviewInventory)
with(recyclerView) { with(recyclerView) {
layoutManager = LinearLayoutManager(view.context) layoutManager = LinearLayoutManager(view.context)
adapter = AdapterInventory(player.items) adapter = AdapterInventory(currentPlayer.items)
} }
return view
} }
} }

@ -6,27 +6,12 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"
/**
* A simple [Fragment] subclass.
* Use the [PlusFragment.newInstance] factory method to
* create an instance of this fragment.
*/
class PlusFragment : Fragment() { class PlusFragment : Fragment() {
// TODO: Rename and change types of parameters
private var param1: String? = null
private var param2: String? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
} }
override fun onCreateView( override fun onCreateView(
@ -37,23 +22,5 @@ class PlusFragment : Fragment() {
return inflater.inflate(R.layout.fragment_plus, container, false) return inflater.inflate(R.layout.fragment_plus, container, false)
} }
companion object {
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment PlusFragment.
*/
// TODO: Rename and change types and number of parameters
@JvmStatic
fun newInstance(param1: String, param2: String) =
PlusFragment().apply {
arguments = Bundle().apply {
putString(ARG_PARAM1, param1)
putString(ARG_PARAM2, param2)
}
}
}
} }
Loading…
Cancel
Save