Skip to content

Instantly share code, notes, and snippets.

View s3va's full-sized avatar

Vsevolod Semenov s3va

  • Seva's studio apartment
  • Moskva (Moscow)
View GitHub Profile
@s3va
s3va / CrateBitmapWithCircleInIt.kt
Created November 26, 2024 10:54
Crate Bitmap With Circle In It
// https://stackoverflow.com/a/68228461/11798617
private fun drawCircle300(): Bitmap? {
var radius = 150f
val bitmap = Bitmap.createBitmap(
(radius * 2).toInt(),
(radius * 2).toInt(),
Bitmap.Config.ARGB_8888
)
@s3va
s3va / serializationtype.kt
Last active September 7, 2024 16:55
koltin serialization polymorphizm. "type" field in json
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.*
import kotlinx.serialization.SerialName
@Serializable
@JsonClassDiscriminator("mytype")
sealed class ContentRequest
@s3va
s3va / JsoJsonPreProcessingAdapterFactorynPre
Created June 24, 2024 20:36 — forked from mypplication/JsoJsonPreProcessingAdapterFactorynPre
Gson TypeAdapterFactory to handle when API return empty array instead of null value
/**
* Usage : gsonBuilder.registerTypeAdapterFactory(JsonPreProcessingAdapterFactory())
**/
class JsonPreProcessingAdapterFactory : TypeAdapterFactory {
override fun <T> create(gson: Gson, type: TypeToken<T>): TypeAdapter<T>? {
if (!Object::class.java.isAssignableFrom(type.rawType) ||
Iterable::class.java.isAssignableFrom(type.rawType)
@s3va
s3va / readme.txt
Created February 5, 2024 11:20
a VIDEO not a SHORT
Just remove the 'shorts' from the URL and replace it with: 'watch?v='
E.g.: youtube.com/shorts/XXXXXXX into: youtube.com/watch?v=XXXXX
https://www.reddit.com/r/youtube/comments/um9p9u/comment/j7j7im2/
@s3va
s3va / AndroidManifest.xml
Created September 20, 2023 01:58
*#*#123123#*#*
<receiver
android:name=".MySecretReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.provider.Telephony.SECRET_CODE" />
<data android:scheme="android_secret_code" android:host="123123"/>
</intent-filter>
</receiver>
http://simonmarquis.github.io/Android-SecretCodes/
@s3va
s3va / mailactivity.kt
Created August 1, 2023 21:54
running line
findViewById<TextView>(R.id.running_text).isSelected=true
@s3va
s3va / timeclient37.pl
Last active April 6, 2023 22:49
perl script to get unix time (port 37)
#!/usr/bin/perl
use POSIX qw(strftime);
use IO::Socket::INET;
### binmode(STDIN);
$serverip = $ARGV[0];
if(not defined $serverip){
$serverip = '192.168.46.114';
@s3va
s3va / AndroidKotlinDate-TimeStamp.kt
Created October 23, 2022 17:17
Android Kotlin Date-Time Stamp
SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(Date())
@s3va
s3va / Activity.java
Created August 28, 2022 20:28
When can I View.getX() from View?
view.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Layout has happened here.
// Don't forget to remove your listener when you are done with it.
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
@s3va
s3va / CustomDialogFragment.tk
Created July 8, 2022 14:46
Custom Dialog with vidgets pointers to change them programmatically
class CustDialogFragment(contentLayoutId: Int) : DialogFragment(contentLayoutId) {
lateinit var tv: TextView
lateinit var pb: ProgressBar
/**
* Override to build your own custom Dialog container. This is typically
* used to show an AlertDialog instead of a generic Dialog; when doing so,
* [.onCreateView] does not need
* to be implemented since the AlertDialog takes care of its own content.