Skip to content

Instantly share code, notes, and snippets.

View calvinnor's full-sized avatar

Calvin Noronha calvinnor

View GitHub Profile
@Parcelize
data class PlayerDetails(
val id: Int,
val name: String
) : Parcelable
ivPlayerOneAddScore.setOnClickListener {
] gameState.playerOneScore += 1
updateScores()
}
ivPlayerTwoAddScore.setOnClickListener {
gameState.playerTwoScore += 1
updateScores()
}
fun newInstance(playersDetails: Pair<PlayerDetails, PlayerDetails>) =
GameFragment().apply {
arguments = Bundle().apply {
putParcelable(ARGS_GAME_STATE, buildNewGame(playersDetails.first, playersDetails.second))
}
}
val playerOneName = etPlayer1Name.text.toString()
val playerTwoName = etPlayer2Name.text.toString()
interactions.onPlayerDetailsEntered(
playerOneDetails = PlayerDetails(id = 1, name = playerOneName),
playerTwoDetails = PlayerDetails(id = 2, name = playerTwoName)
)
@calvinnor
calvinnor / DKA: GameState.kt
Last active October 2, 2019 07:26
Implementation of GameState from DKA Project
data class GameState(
val playerOneDetails: PlayerDetails,
val playerTwoDetails: PlayerDetails,
var playerOneScore: Long,
var playerTwoScore: Long
) : Parcelable {
constructor(parcel: Parcel) : this(
playerOneDetails = parcel.readParcelable(PlayerDetails::class.java.classLoader),
playerTwoDetails = parcel.readParcelable(PlayerDetails::class.java.classLoader),
@calvinnor
calvinnor / move_drawables_between_modules.py
Created September 25, 2019 14:41
Move Drawables Between 2 Modules
import os
from shutil import move
sourceDirectory = input("Enter Source Directory eg: app/src/main/res: ")
destinationDirectory = input("Destination Directory eg: feature/src/main/res: ")
drawableFileName = input("Drawable File Name With Extension: ")
fileAbsolutePathsToMove = []
directoryPathsToMove = []
@calvinnor
calvinnor / Sync 101: WithSync.java
Last active October 2, 2019 07:26
A Java Execution manipulating a shared variable, with Synchronisation
public class WithSync {
private static final int NUM_EXECUTIONS = 100000000;
// This Object ensures synchronization
private static final Object mutexLock = new Object();
private static void someLongOperation() { /* NO-OP */ }
public static void main(String[] args) {
@calvinnor
calvinnor / Sync 101: WithoutSync.java
Last active October 2, 2019 07:25
A Java Execution manipulating a shared variable, without Synchronisation
public class WithoutSync {
private static final int NUM_EXECUTIONS = 100000000;
private static void someLongOperation() { /* NO-OP */ }
public static void main(String[] args) {
final long[] numElements = {0};