Skip to content

Commit

Permalink
Merge pull request #12 from gy6543721/develop
Browse files Browse the repository at this point in the history
[Release] 0.3.0
  • Loading branch information
gy6543721 authored Feb 4, 2024
2 parents 6b69cdc + 3b815e2 commit be9f9ad
Show file tree
Hide file tree
Showing 14 changed files with 484 additions and 277 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ apiKey=[your api key]

Text | Image
:--: | :--:
<img width="271" alt="Text" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/d19267f6-da89-4b32-9567-f8591acc4d29"> | <img width="271" alt="Image" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/1904d5cf-c40b-4b7e-9d50-2c5cb27d1a8b">
<img width="271" alt="Text" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/3c9fcba4-00ef-4a17-819c-91bc6b60f74d"> | <img width="271" alt="Image" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/af6bdd03-bbf9-4d73-b632-f7da5c35b5cc">
<img width="271" alt="Text" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/bba0e334-c497-4491-8a05-570c746f3fbc"> | <img width="271" alt="Image" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/3f97b9b6-6b40-493d-9bf4-20e35cdea503">
<img width="271" alt="Text" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/a18fee0d-ffb2-4901-8523-2d3a097cff0c"> | <img width="271" alt="Image" src="https://github.com/gy6543721/GeminiAndroid/assets/46208481/2d9ce0a3-63f2-4e9e-8d73-3d2f664ffba5">
6 changes: 2 additions & 4 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import java.util.Properties

plugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
Expand All @@ -14,8 +12,8 @@ android {
applicationId = "levi.lin.gemini.android"
minSdk = 30
targetSdk = 34
versionCode = 9
versionName = "0.2.0"
versionCode = 10
versionName = "0.3.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/levi/lin/gemini/android/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -64,19 +64,19 @@ class MainActivity : ComponentActivity() {
val imageBitmaps = result.data?.let { intent ->
extractBitmapsFromIntent(intent = intent)
}.orEmpty()
viewModel.clearSelectedImages()
viewModel.setImageCount(imageBitmaps.size)
viewModel.setImageBitmaps(imageBitmaps)
viewModel.clearImageList()
viewModel.setImageCount(count = imageBitmaps.size)
viewModel.setImageList(imageList = imageBitmaps)
}
}

private fun extractBitmapsFromIntent(intent: Intent): List<Bitmap> {
return intent.clipData?.let { clipData ->
(0 until clipData.itemCount).mapNotNull { index ->
getBitmapFromUri(clipData.getItemAt(index).uri)
getBitmapFromUri(uri = clipData.getItemAt(index).uri)
}
} ?: intent.data?.let { uri ->
listOfNotNull(getBitmapFromUri(uri))
listOfNotNull(getBitmapFromUri(uri = uri))
}.orEmpty()
}

Expand Down
10 changes: 10 additions & 0 deletions app/src/main/java/levi/lin/gemini/android/model/MessageItem.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package levi.lin.gemini.android.model

import java.util.UUID

data class MessageItem(
val id: String = UUID.randomUUID().toString(),
var text: String = "",
val type: MessageType = MessageType.User,
var isPending: Boolean = false
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package levi.lin.gemini.android.model

enum class MessageType {
User,
Gemini,
Error
}
36 changes: 36 additions & 0 deletions app/src/main/java/levi/lin/gemini/android/state/MessageState.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package levi.lin.gemini.android.state

import androidx.compose.runtime.toMutableStateList
import levi.lin.gemini.android.model.MessageItem

class MessageState(
messageList: List<MessageItem> = emptyList()
) {
private val _messageItems: MutableList<MessageItem> = messageList.toMutableStateList()
val messageItems: List<MessageItem> = _messageItems

fun addMessage(message: MessageItem) {
_messageItems.add(element = message)
}

fun replaceLastMessage() {
val lastMessage = _messageItems.lastOrNull()
lastMessage?.let {
val newMessage = lastMessage.apply {
isPending = false
}
_messageItems.removeLast()
_messageItems.add(newMessage)
}
}

fun updateMessagePendingStatus(messageId: String, isPending: Boolean) {
val index = _messageItems.indexOfFirst { messageItem ->
messageItem.id == messageId
}
if (index != -1) {
val message = _messageItems[index].copy(isPending = isPending)
_messageItems[index] = message
}
}
}

This file was deleted.

15 changes: 14 additions & 1 deletion app/src/main/java/levi/lin/gemini/android/ui/theme/Color.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,17 @@ val LightBlue80 = Color(0xFF73A0FF)

val Blue40 = Color(0xFF87B5FF)
val BlueGrey40 = Color(0xFF8793FF)
val LightBlue40 = Color(0xFFAECBFF)
val LightBlue40 = Color(0xFFAECBFF)

val LightGray = Color(0xFFFAFAFA)
val LightMediumGray = Color(0xFFD1CFCF)
val MediumGray = Color(0xFFACA9A9)
val MediumDarkGray = Color(0xFF6F6C6C)
val DarkGray = Color(0xFF3D3C3C)

val LightOrange = Color(0xFFF1AC47)
val Orange = Color(0xFFFF9800)
val DarkOrange = Color(0xFF533201)

val LightRed = Color(0xFFFF3939)
val LightGreen = Color(0xFF9CFF39)
Loading

0 comments on commit be9f9ad

Please sign in to comment.