This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.twilio.twiml.Body | |
import com.twilio.twiml.Message | |
import com.twilio.twiml.MessagingResponse | |
// ... | |
@RequestMapping(value = "/replyMessage", produces = arrayOf("text/xml")) | |
fun replyMessage(): String? { | |
val message = Message.Builder().body(Body("Be getting back to you soon, let me do some more Kotlin first")).build(); | |
return MessagingResponse.Builder().message(message).build().toXml(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import com.twilio.http.TwilioRestClient | |
import com.twilio.rest.api.v2010.account.MessageCreator | |
import com.twilio.type.PhoneNumber | |
// ... | |
@RequestMapping(value = "/sendMessage") | |
fun sendMessage(){ | |
val client = TwilioRestClient.Builder("YOUR_TWILIO_ACCOUNT_SID", "YOUR_TWILIO_AUTH_TOKEN").build() | |
val message = MessageCreator( |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package uk.co.placona.TwilioKotlin | |
import org.springframework.web.bind.annotation.RequestMapping; | |
import org.springframework.web.bind.annotation.RestController; | |
@RestController | |
public class SMSController { | |
@RequestMapping(value = "/") | |
fun helloSpringBoot() = "Hello Spring Boot" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package uk.co.placona.TwilioKotlin | |
import org.springframework.boot.SpringApplication | |
import org.springframework.boot.autoconfigure.SpringBootApplication | |
@SpringBootApplication | |
open class App | |
fun main(args: Array<String>) { | |
SpringApplication.run(App::class.java, *args) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
group 'uk.co.placona' | |
version '1.0-SNAPSHOT' | |
buildscript { | |
ext.kotlin_version = '1.1.1' | |
ext.spring_boot_version = '1.4.3.RELEASE' | |
repositories { | |
mavenCentral() | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>uk.co.placona.javacalls</groupId> | |
<artifactId>java-calls</artifactId> | |
<version>1.0-SNAPSHOT</version> | |
<build> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ButterKnife.bind(this); | |
Observable<CharSequence> loginObservable = RxTextView.textChanges(mLogin); | |
loginObservable | |
.map(this::isValidLogin) | |
.subscribe(isValid -> mLogin.setCompoundDrawablesRelativeWithIntrinsicBounds(null,null, (isValid ? mValidField : mInvalidField), null)); | |
Observable<CharSequence> passwordObservable = RxTextView.textChanges(mPassword); | |
passwordObservable | |
.map(this::isValidPassword) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ButterKnife.bind(this); | |
Observable<CharSequence> loginObservable = RxTextView.textChanges(mLogin); | |
Observable<CharSequence> passwordObservable = RxTextView.textChanges(mPassword); | |
Observable<Boolean> combinedObservables = Observable.combineLatest(loginObservable, passwordObservable, (o1, o2) -> isValidLogin(o1) && isValidPassword(o2)); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private boolean isValidPassword(CharSequence value) { | |
return value.toString().matches("^(?=.*\\d).{4,8}$"); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private boolean isValidLogin(CharSequence value) { | |
return value.toString().matches("(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])"); | |
} |