Skip to content

Instantly share code, notes, and snippets.

View pahill's full-sized avatar
👩‍🎤

Pamela Hill pahill

👩‍🎤
View GitHub Profile
<TextView
android:id="@+id/name_label"
android:text="Name:"/>
<TextView
android:id="@+id/cat_name"
android:text="Eliza" />
<ImageView
android:id="@+id/star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:importantForAccessibility="no"
app:srcCompat=“@drawable/vd_star" />
<ImageView
android:id="@+id/star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription=“@null"
app:srcCompat=“@drawable/vd_star" />
@pahill
pahill / contentdescription1
Created November 28, 2020 13:36
Content description
<ImageView
android:id="@+id/star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription=“Twinkly star”
app:srcCompat=“@drawable/vd_star" />
npm install -g create-react-kotlin-app
npx create-react-kotlin-app inspirobot
npm start
@KtorExperimentalAPI
override suspend fun getInspiration(): URL? {
val httpClient = HttpClient(CIO)
val url = httpClient.get<String?>(INSPIROBOT_URL)
return if (url != null) {
URL(url)
} else {
null
}
}
dependencies {
compile "io.ktor:ktor-client-cio:$ktor_version"
compile "com.h2database:h2:1.4.198"
compile "org.jetbrains.exposed:exposed:0.12.2"
compile "com.zaxxer:HikariCP:2.7.8"
}
override suspend fun findInspirationsByUserId(userId: Long): List<Inspiration> {
return dbQuery {
Inspirations.select { Inspirations.userId eq userId }.mapNotNull {
mapInspirationsToInspiration(it)
}
}
}
private suspend fun <T> dbQuery(block: () -> T): T {
return withContext(Dispatchers.IO) {
transaction { block() }
}
}
override suspend fun createInspiration(
userId: Long,
fileExtension: String,
inputStream: ByteArrayInputStream
): Inspiration? {
return dbQuery {
//Save the file
val inspirationImage = File("$IMAGE_DIR/${UUID.randomUUID()}.$fileExtension")
inspirationImage.writeBytes(inputStream.readBytes())