Skip to content

Instantly share code, notes, and snippets.

@chenzhang2006
chenzhang2006 / CustomTextInput.kt
Last active April 24, 2020 14:30
Create a custom view with 3 override constructors
class CustomTextInput : TextInputEditText {
constructor(context: Context) : super(context)
constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
}
@chenzhang2006
chenzhang2006 / TextInputJvmOverloads3.kt
Created April 24, 2020 14:33
create custom view with @jvmoverloads and 3 arguments
class CustomTextInput @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : TextInputEditText(context, attrs, defStyleAttr)
@chenzhang2006
chenzhang2006 / TextInputJvmOverloads2.kt
Last active April 24, 2020 14:42
create custom view with @jvmoverloads and 2 arguments
class TextInputEditTextJvmOverloads2 @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null
) : TextInputEditText(context, attrs)
@chenzhang2006
chenzhang2006 / TextViewSpecificDefStyleAttr.kt
Created April 24, 2020 14:45
create custom view with @jvmoverloads and specific defStyleAttr
class TextInputEditTextJvmStyled @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = editTextStyle
) : TextInputEditText(context, attrs, defStyleAttr)
@chenzhang2006
chenzhang2006 / NonZeroDefStyleAttr.kt
Created April 24, 2020 14:47
superclass constructor that uses a non-0 default style attribute
public TextInputEditText(Context context, AttributeSet attrs) {
this(context, attrs, attr.editTextStyle);
}
@chenzhang2006
chenzhang2006 / kotlinGeneratedConstructors.kt
Last active April 24, 2020 14:51
Kotlin compiler generated @jvmoverloads with 3 arguments
@JvmOverloads
public CustomTextInput(@NotNull Context context, @Nullable AttributeSet attrs, int defStyleAttr){
super(context, attrs, defStyleAttr);
}
@JvmOverloads
public CustomTextInput(@NotNull Context context, @Nullable AttributeSet attrs){
super(context, attrs, 0);
}
@JvmOverloads
public CustomTextInput(@NotNull Context context){
apply plugin: 'maven-publish'
def LIB_GROUP_ID = 'com.chenzhang2006.libraries'
def LIB_ARTIFACT_ID = 'droidlib'
def LIB_VERSION = '2.0.1'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
repositories {
maven {
name = "GithubPackages"
url = uri("https://maven.pkg.github.com/chenzhang2006/AndroidLibForArtifactory")
credentials {
username = System.getenv('GITHUB_USER') ?: project.properties['GITHUB_USER']
password = System.getenv('GITHUB_PERSONAL_ACCESS_TOKEN') ?: project.properties['GITHUB_PERSONAL_ACCESS_TOKEN']
}
}
maven {
apply plugin: 'maven-publish'
def LIB_GROUP_ID = 'com.chenzhang2006.libraries'
def LIB_ARTIFACT_ID = 'droidlib2'
def LIB_VERSION = '3.0.1'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
publications {
droidlib2(MavenPublication) {
groupId LIB_GROUP_ID
artifactId LIB_ARTIFACT_ID
version LIB_VERSION
artifact("$buildDir/outputs/aar/droidlibrary2-release.aar")
artifact(sourceJar)
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')