Skip to content

Instantly share code, notes, and snippets.

View andhikayuana's full-sized avatar
🌏
bertapa

Andhika Yuana andhikayuana

🌏
bertapa
View GitHub Profile
@andhikayuana
andhikayuana / MainActivity.kt
Created June 27, 2024 03:18 — forked from webserveis/MainActivity.kt
Show app usage with UsageStatsManager
import android.Manifest
import android.app.AppOpsManager
import android.app.usage.StorageStats
import android.app.usage.StorageStatsManager
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.os.Process
@andhikayuana
andhikayuana / youtube.md
Created June 20, 2024 12:50 — forked from bitsurgeon/youtube.md
Markdown cheatsheet for YouTube

Embed YouTube Video in Markdown File

  1. Markdown style
[![Watch the video](https://img.youtube.com/vi/nTQUwghvy5Q/default.jpg)](https://youtu.be/nTQUwghvy5Q)
  1. HTML style
<a href="http://www.youtube.com/watch?feature=player_embedded&v=nTQUwghvy5Q" target="_blank">
@andhikayuana
andhikayuana / JsonExt.kt
Created June 16, 2024 09:19
Kotlinx Json Extension
import kotlinx.serialization.json.JsonArray
import kotlinx.serialization.json.JsonElement
import kotlinx.serialization.json.JsonNull
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive
fun Any?.toJsonElement(): JsonElement {
return when (this) {
is Number -> JsonPrimitive(this)
is Boolean -> JsonPrimitive(this)
@andhikayuana
andhikayuana / write-fixer.py
Created April 18, 2024 03:18 — forked from ahmadrosid/write-fixer.py
Fixed typos, spelling mistakes, and grammar while maintaining clarity and a concise tone using Claude.
import sys
import anthropic
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic()
prompt_template = """
Please review and edit the following text to ensure it is grammatically correct, clear, and concise. Aim to maintain a casual tone without being overly informal. Provide suggestions for improvement and explain any changes you make. Do not add double quotes in you rewrite answer. Answer in direct response.
@andhikayuana
andhikayuana / PR_Konversi_Suhu
Last active April 3, 2024 03:21
[Belajar] Dart Playground
Program Konversi Suhu
=====================
Silakan pilih di bawah ini
1. Celcius ke Fahrenheit
2. Celcius ke Reamur
3. Celcius ke Kelvin
=====================
Masukkan Menu di atas [1,2,3]
1
@andhikayuana
andhikayuana / JsonRpc.kt
Created February 23, 2024 06:51 — forked from ntoskrnl/JsonRpc.kt
Retrofit-style JSON-RPC client in Kotlin (with gson serialization/deserialization)
fun <T, B> createJsonRpcService(service: Class<T>,
client: JsonRpcClient<B>,
resultDeserializer: Deserializer<B>,
logger: (String) -> Unit = {}): T {
val classLoader = service.classLoader
val interfaces = arrayOf<Class<*>>(service)
val invocationHandler = createInvocationHandler(service, client, resultDeserializer, logger)
@Suppress("UNCHECKED_CAST")
@andhikayuana
andhikayuana / working_effectively_with_legacy_code.md
Created November 30, 2023 08:09 — forked from jonnyjava/working_effectively_with_legacy_code.md
Working effectively with legacy code summary

WORKING EFFECTIVELY WITH LEGACY CODE

To me, legacy code is simply code without tests. I’ve gotten some grief for this definition. What do tests have to do with whether code is bad? To me, the answer is straightforward, and it is a point that I elaborate throughout the book: Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.

Chapter 1 Changing Software

Four Reasons to Change Software: For simplicity’s sake, let’s look at four primary reasons to change software.

import org.junit.Test;
import java.util.concurrent.TimeUnit;
import rx.Observable;
import rx.Scheduler;
import rx.functions.Func1;
import rx.observers.AssertableSubscriber;
import rx.schedulers.TestScheduler;
@andhikayuana
andhikayuana / android-send-push-locally-using-adb.adoc
Created August 21, 2023 02:40 — forked from tolpp/android-send-push-locally-using-adb.adoc
This gist explains how to send push notification locally using ADB without need network connection.

Requirements:

  • Device should be a rooted (simulator’s are rooted by default)

  • adbd should be started as root. (Rub command: adb root )

Now, send local push message using command:

@andhikayuana
andhikayuana / BranchNetworkClient.java
Created July 24, 2023 08:53 — forked from elroid/BranchNetworkClient.java
BranchRemoteInterface using OkHttp3
import org.json.JSONObject;
import java.io.IOException;
import io.branch.referral.network.BranchRemoteInterface;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;