Skip to content

Instantly share code, notes, and snippets.

View JakeSteam's full-sized avatar
🤖

Jake Lee JakeSteam

🤖
View GitHub Profile
@JakeSteam
JakeSteam / coins.svg
Created February 1, 2023 09:51
Cleaning up an SVG for Minima 3
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@JakeSteam
JakeSteam / maze.as
Created January 5, 2023 22:20
"Scary Maze Game" decompiled
package
{
import com.google.ads.instream.api.AdErrorEvent;
import com.google.ads.instream.api.AdEvent;
import com.google.ads.instream.api.AdLoadedEvent;
import com.google.ads.instream.api.AdSizeChangedEvent;
import com.google.ads.instream.api.AdsLoadedEvent;
import com.google.ads.instream.api.AdsLoader;
import com.google.ads.instream.api.AdsManager;
import com.google.ads.instream.api.AdsManagerTypes;
@JakeSteam
JakeSteam / settings.ini
Created March 8, 2022 23:14
IrfanView replace image with black background and filename
; UNICODE FILE - edit with care ;-)
[Batch]
AdvCrop=0
AdvCropX=0
AdvCropY=0
AdvCropW=0
AdvCropH=0
AdvCropC=0
AdvResize=0
@JakeSteam
JakeSteam / Car.kt
Last active November 4, 2022 11:25
How to extract a Room list column into a new linked table, migrating data https://blog.jakelee.co.uk/how-to-extract-a-room-list-column-into-a-new-linked-table-migrating-data/
class Car(
@Embedded
val metadata: CarMetadata,
@Relation(
parentColumn = "id", // The name of the CarMetadata ID field
entityColumn = "carId" // The name of the Component's car ID field
)
var components: List<Component>
)
@JakeSteam
JakeSteam / ItemAdapter.kt
Last active April 22, 2024 09:56
Creating a grid RecyclerView with quick drag and drop item swapping, Room / LiveData support, and more!
class ItemAdapter(
private val itemClickListener: (OwnedItem) -> Unit,
private val itemSaver: (List<OwnedItem>) -> Unit
) : RecyclerView.Adapter<ItemViewHolder>() {
val items = ArrayList<OwnedItem>()
fun setItems(newItems: List<OwnedItem>) {
val result = calculateDiff(newItems)
items.clear()
@JakeSteam
JakeSteam / MyClass.kt
Last active March 23, 2024 19:24
Accessing Android app secrets from GitHub Actions using Gradle (https://blog.jakelee.co.uk/accessing-android-app-secret-from-github-actions-using-gradle/)
package uk.co.jakelee.apodwallpaper.example
import uk.co.jakelee.apodwallpaper.BuildConfig
class MyClass() {
val key = BuildConfig.APOD_API_KEY
}
private var animatorSet: AnimatorSet? = null
private fun startAnimation(target: ImageView) {
val animationLayers = target.drawable as LayerDrawable
val moveImageViewLeft = ObjectAnimator.ofFloat(target, View.TRANSLATION_X, -200f).setDuration(6000)
val moveImageViewRight = ObjectAnimator.ofFloat(target, View.TRANSLATION_X, 0f).setDuration(6000)
val redCircle = animationLayers.findDrawableByLayerId(R.id.red_circle) as GradientDrawable
val redCircleFadeOut = ObjectAnimator.ofInt(redCircle, "alpha", 255, 100).setDuration(1000)
val redCircleFadeIn = ObjectAnimator.ofInt(redCircle, "alpha", 100, 255).setDuration(100)
@JakeSteam
JakeSteam / build.sh
Created April 26, 2020 20:14
Posting a Slack message from Travis CI
# Environment variables
REPO=${TRAVIS_REPO_SLUG}
BRANCH=${TRAVIS_BRANCH}
COMMIT_HASH=${TRAVIS_COMMIT}
COMMIT_HASH_SHORT=${COMMIT_HASH:0:7}
COMMIT_MESSAGE=${TRAVIS_COMMIT_MESSAGE}
IS_PULL_REQUEST=${TRAVIS_PULL_REQUEST}
BUILD_DIR=${TRAVIS_BUILD_DIR}
BUILD_NUMBER=${TRAVIS_BUILD_NUMBER}
BUILD_URL=${TRAVIS_BUILD_WEB_URL}
# Overall config
dist: xenial
language: android
# Android version config
android:
components:
- build-tools-28.0.3
- android-28
# Overall config
dist: xenial
language: android
# Android version config
android:
components:
- build-tools-28.0.3
- android-28