Skip to content

Instantly share code, notes, and snippets.

View rachitmishra's full-sized avatar
🏴‍☠️

Rachit Mishra rachitmishra

🏴‍☠️
View GitHub Profile
@rachitmishra
rachitmishra / HomeActivity.kt
Last active November 7, 2017 19:18
dagger-android-activity
/**
* An activity with a `HomeViewModel` dependency
*/
class HomeActivity : AppCompatActivity() {
@Inject
lateinit var homeViewModel: HomeViewModel // Requesting the dependency
override fun onCreate(savedInstanceState: Bundle?) {
@rachitmishra
rachitmishra / DefineApplication.kt
Last active November 7, 2017 19:11
dagger-android-application
/**
* Declaring application implementing `HasActivityInjector` with `DispatchingAndroidInjector`
*/
class DefineApplication : Application(), HasActivityInjector {
override fun activityInjector(): DispatchingAndroidInjector<Activity> = mAndroidInjector
@Inject
lateinit var mAndroidInjector: DispatchingAndroidInjector<Activity>
@rachitmishra
rachitmishra / ActivityBindings.kt
Last active November 7, 2017 19:09
dagger-activity
/**
* Declaring a activity bindings using @ContributesAndroidInjector and @Activity scope (custom scope)
*/
@Module
abstract class ActivityBindings {
@ActivityScope
@ContributesAndroidInjector
abstract fun contributeHomeActivity(): HomeActivity
@rachitmishra
rachitmishra / MiningRigComponent.kt
Last active November 7, 2017 19:09
dagger-component-dependency
/**
* Using ComputerComponent as dependency to MiningRigComponent
*/
@Component(dependency = arrayOf(ComputerComponent::class))
interface MiningRigComponent
@rachitmishra
rachitmishra / SomeModuleForParentComponent.kt
Last active November 7, 2017 19:08
dagger-subcomponent-use
/**
* Declaring a module with a sub component
*/
@Module(subcomponents = arrayOf(MySubComponent::class))
class SomeModuleForParentComponent{}
@rachitmishra
rachitmishra / MySubComponent.kt
Last active November 7, 2017 19:08
dagger-subcomponent
/**
* Declaring a sub component
*/
@SubComponent(modules = arrayOf(ComputerModule::class))
@MyCustomScope
interface MySubComponent {}
@rachitmishra
rachitmishra / MyCustomQualifier.kt
Last active November 7, 2017 19:07
dagger-qualified-annotation
/**
* Declaring a custom qualifier
*/
@Qualifier // Required to specify the annotation as a qualifier
@Documented
@Retention(RUNTIME)
public @interface MyCustomQualifier {
String value() default "";
}
@rachitmishra
rachitmishra / ComputerComponent.kt
Last active November 7, 2017 19:06
dagger-component
// Declaring our component
@Component(modules = arrayOf(ComputerModule::class))
interface ComputerComponent {
// provision function
fun getComputer(): Computer
}
@rachitmishra
rachitmishra / fix_vector.py
Last active July 4, 2019 07:04
Python script to fix vector errors for android (.1 to 0.1)
from xml.dom.minidom import parse, parseString
from sys import argv
import os
def fix_path(pathdata, token):
# Fix missing 0 after space
points = pathdata.split(token)
for i, b in enumerate(points):
if b.startswith('.'):
points[i] = '0' + b
@rachitmishra
rachitmishra / ComputerModule.kt
Last active October 21, 2017 20:58
dagger-module-provides
package di
import dagger.Module
import dagger.Provides
import di.dependencies.*
@Module
abstract class ComputerModule(private val memorySize: Int,
private val vMemorySize: Int) {