Skip to content

Instantly share code, notes, and snippets.

View mtrakal's full-sized avatar

Matej Trakal mtrakal

View GitHub Profile
@mtrakal
mtrakal / build.gradle.kts
Created November 13, 2024 14:15
CycloneDX integration android
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
id("org.cyclonedx.bom") version "1.10.0"
}
allprojects {
apply(plugin = "org.cyclonedx.bom")
tasks.cyclonedxBom {
@mtrakal
mtrakal / LiveMessageEvent.kt
Created May 15, 2020 06:42
Activity <- ViewModel events communication
/**
* Way how to send events from VM to Views
*/
class LiveMessageEvent<T> : SingleLiveEvent<(T.() -> Unit)?>() {
fun setEventReceiver(owner: LifecycleOwner, receiver: T) {
observe(owner, Observer { event ->
if (event != null) {
receiver.event()
}
@mtrakal
mtrakal / WorkManager.kt
Created December 14, 2018 12:00
Work manager with parametred constructor...
package com.droid4you.application.wallet.receiver
import android.content.Context
import android.os.AsyncTask
import androidx.work.*
import com.crashlytics.android.Crashlytics
import org.joda.time.DateTime
import java.util.concurrent.TimeUnit
class MyJobCreator : WorkerFactory() {
@mtrakal
mtrakal / foo.java
Created July 10, 2017 08:51
Android html tags and variable
private TextView text;
...
text.setText(Html.fromHtml(getString(R.string.html_with_variable, "Some variable")));
@mtrakal
mtrakal / build.gradle
Last active February 20, 2017 15:55
When you have big APK file (our is more than 35 MB with libraries), you can split it by platform. But we don't want to split release APK (you know changing versionCode etc...), but we want to have shorter build time (don't build in develop all platforms) and shorter time for send apk to phone. That it. You can use this gradle script to split apk…
buildTypes {
debug {
debuggable true
minifyEnabled false
/**
* To use Splits Abi add to gradle.properties file two variables:
* split.enabled=true
* split.platform=x86_64, x86, armeabi, armeabi-v7a, arm64-v8a, mips
* You can select just one platform to save build time :)
08-11 17:37:20.038 13180-13233/cz.seznam.mapy D/MALI: MTK_CheckAppName:68: appName=cz.seznam.mapy, acAppName=com.android.gallery3d
08-11 17:37:20.038 13180-13233/cz.seznam.mapy D/MALI: MTK_CheckAppName:74: 0
08-11 17:37:20.041 13180-13180/cz.seznam.mapy V/SettingsInterface: from settings cache , name = sound_effects_enabled , value = 0
08-11 17:37:20.050 13180-13180/cz.seznam.mapy D/ProgressBar: setMax, old = 100, new = 10000, backtrace = android.widget.ProgressBar.<init>:302 android.widget.ProgressBar.<init>:264 android.widget.ProgressBar.<init>:260 java.lang.reflect.Constructor.newInstance:-2 java.lang.reflect.Constructor.newInstance:288 , this = android.widget.ProgressBar{30527ba V.ED.... ........ 0,0-0,0 #102000d android:id/progress}
08-11 17:37:20.050 13180-13180/cz.seznam.mapy D/ProgressBar: setProgress, old = 0, new = 0, max = 10000, backtrace = android.widget.ProgressBar.setProgress:1337 android.widget.ProgressBar.<init>:304 android.widget.ProgressBar.<init>:264 android.widget.ProgressBar.<init>:260
07-19 21:22:03.045 4420-14568/? E/Auth: [GoogleAccountDataServiceImpl] getToken() -> BAD_AUTHENTICATION. Account: <ELLIDED:824112818>, App: com.google.android.gms, Service: oauth2:https://www.googleapis.com/auth/contextcontroller
dcb: Long live credential not available.
at dcc.a(:com.google.android.gms:3099)
at dap.a(:com.google.android.gms:397)
at dao.a(:com.google.android.gms:31369)
at dao.a(:com.google.android.gms:313)
at ece.a(:com.google.android.gms:1201)
at ecd.a(:com.google.android.gms:530)
at ecd.a(:com.google.android.gms:196)
at cxm.a(:com.google.android.gms:287)
@mtrakal
mtrakal / gist:03e77109940b95f3561b52a9834d2ced
Created April 14, 2016 13:28
Google AVD Android N (Nexus 5X) con not add user account for sign in with Google...
04-14 13:26:53.358 3088-3088/com.android.settings W/ViewRootImpl[Settings$AccountSettingsActivity]: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=264.23218, y[0]=286.11328, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=218769, downTime=214515, deviceId=0, source=0x1002 }
04-14 13:26:53.359 3088-3088/com.android.settings W/ViewRootImpl[Settings$AccountSettingsActivity]: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0, x[0]=264.23218, y[0]=286.11328, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=218769, downTime=214515, deviceId=0, source=0x1002 }
04-14 13:26:53.359 3088-3088/com.android.settings W/ViewRootImpl[Settings$AccountSettingsActivity]: Cancelling event due to no window focus: MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=0
@mtrakal
mtrakal / gist:d6f6377a686dd32d79be
Created January 26, 2016 09:01
Android Studio 2.0 preview 7 Gradle 2.10, SDK 23 (23.0.2 / 23.1.1) Gradle build never finished in Android Studio
This file has been truncated, but you can view the full file.
gradle.internal.transforms.JarMerger] addJar(D:\Projects\BudgetBakers\wallet-android\mobile\build\intermediates\exploded-aar\com.android.support\support-v4\23.1.1\jars\classes.jar): entry android/support/v4/content/SharedPreferencesCompat.class
09:57:56.362 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] addJar(D:\Projects\BudgetBakers\wallet-android\mobile\build\intermediates\exploded-aar\com.android.support\support-v4\23.1.1\jars\classes.jar): entry android/support/v4/content/FileProvider.class
09:57:56.363 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] addJar(D:\Projects\BudgetBakers\wallet-android\mobile\build\intermediates\exploded-aar\com.android.support\support-v4\23.1.1\jars\classes.jar): entry android/support/v4/content/Loader$ForceLoadContentObserver.class
09:57:56.363 [DEBUG] [com.android.build.gradle.internal.transforms.JarMerger] addJar(D:\Projects\BudgetBakers\wallet-android\mobile\build\intermediates\exploded-aar\com.android.support\support-v4\23.1.1\jars\clas