Skip to content

Instantly share code, notes, and snippets.

@amirulzin
amirulzin / DaggerViewModelFactory.java
Created February 27, 2020 02:17
Dagger constructor injection for AAC ViewModel without module (MIT license)
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelProvider;
import javax.inject.Inject;
import javax.inject.Provider;
public class DaggerViewModelFactory<VM extends ViewModel> implements ViewModelProvider.Factory {
private final Provider<VM> provider;
@amirulzin
amirulzin / DaggerStatelessViewModelFactory.java
Created February 27, 2020 02:15
AAC ViewModel constructor injection with SavedState support (MIT license)
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.lifecycle.AbstractSavedStateViewModelFactory;
import androidx.lifecycle.SavedStateHandle;
import androidx.lifecycle.ViewModel;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.savedstate.SavedStateRegistryOwner;
package android.support.constraint;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
/**
* Custom Group for ConstraintLayout that also supports alpha
*/
public class CustomGroup extends Group {
@amirulzin
amirulzin / TestUploaderStrategy.java
Last active May 7, 2018 10:31
Cloudinary UploaderStrategy for Java which follows Android signature check and append mechanism
package com.cloudinary.http44;
import com.cloudinary.Cloudinary;
import com.cloudinary.ProgressCallback;
import com.cloudinary.Uploader;
import com.cloudinary.Util;
import com.cloudinary.http44.ApiUtils;
import com.cloudinary.strategies.AbstractUploaderStrategy;
import com.cloudinary.utils.ObjectUtils;
import com.cloudinary.utils.StringUtils;