mirror of
https://github.com/google-ai-edge/gallery.git
synced 2025-07-06 06:30:30 -04:00
Update package to com.google.ai.edge.gallery
This commit is contained in:
parent
7d567c3499
commit
96f838b550
105 changed files with 658 additions and 708 deletions
|
@ -22,10 +22,11 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
namespace = "com.google.aiedge.gallery"
|
||||
namespace = "com.google.ai.edge.gallery"
|
||||
compileSdk = 35
|
||||
|
||||
defaultConfig {
|
||||
// Don't change to com.google.ai.edge.gallery yet.
|
||||
applicationId = "com.google.aiedge.gallery"
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
|
@ -33,7 +34,7 @@ android {
|
|||
versionName = "0.9.4"
|
||||
|
||||
// Needed for HuggingFace auth workflows.
|
||||
manifestPlaceholders["appAuthRedirectScheme"] = "com.google.aiedge.gallery.oauth"
|
||||
manifestPlaceholders["appAuthRedirectScheme"] = "com.google.ai.edge.gallery.oauth"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
/*
|
||||
* Copyright 2025 Google LLC
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery
|
||||
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
import org.junit.Assert.*
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
*
|
||||
* See [testing documentation](http://d.android.com/tools/testing).
|
||||
*/
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ExampleInstrumentedTest {
|
||||
@Test
|
||||
fun useAppContext() {
|
||||
// Context of the app under test.
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("com.google.aiedge.gallery", appContext.packageName)
|
||||
}
|
||||
}
|
|
@ -27,7 +27,7 @@
|
|||
android:required="false" />
|
||||
|
||||
<application
|
||||
android:name=".GalleryApplication"
|
||||
android:name="com.google.ai.edge.gallery.GalleryApplication"
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
|
@ -38,7 +38,7 @@
|
|||
android:theme="@style/Theme.Gallery"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:name="com.google.ai.edge.gallery.MainActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/Theme.Gallery.SplashScreen"
|
||||
android:screenOrientation="portrait"
|
||||
|
@ -57,7 +57,7 @@
|
|||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
|
||||
<data android:scheme="com.google.aiedge.gallery" />
|
||||
<data android:scheme="com.google.ai.edge.gallery" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
@file:OptIn(ExperimentalMaterial3Api::class)
|
||||
|
||||
package com.google.aiedge.gallery
|
||||
package com.google.ai.edge.gallery
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -49,9 +49,10 @@ import androidx.compose.ui.unit.dp
|
|||
import androidx.compose.ui.unit.sp
|
||||
import androidx.navigation.NavHostController
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.google.aiedge.gallery.data.AppBarAction
|
||||
import com.google.aiedge.gallery.data.AppBarActionType
|
||||
import com.google.aiedge.gallery.ui.navigation.GalleryNavHost
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.AppBarAction
|
||||
import com.google.ai.edge.gallery.data.AppBarActionType
|
||||
import com.google.ai.edge.gallery.ui.navigation.GalleryNavHost
|
||||
|
||||
/**
|
||||
* Top level composable representing the main screen of the application.
|
|
@ -14,16 +14,16 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery
|
||||
package com.google.ai.edge.gallery
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import androidx.datastore.preferences.preferencesDataStore
|
||||
import com.google.aiedge.gallery.data.AppContainer
|
||||
import com.google.aiedge.gallery.data.DefaultAppContainer
|
||||
import com.google.aiedge.gallery.ui.theme.ThemeSettings
|
||||
import com.google.ai.edge.gallery.data.AppContainer
|
||||
import com.google.ai.edge.gallery.data.DefaultAppContainer
|
||||
import com.google.ai.edge.gallery.ui.theme.ThemeSettings
|
||||
|
||||
private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "app_gallery_preferences")
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery
|
||||
package com.google.ai.edge.gallery
|
||||
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery
|
||||
package com.google.ai.edge.gallery
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
|
@ -24,7 +24,7 @@ import androidx.compose.foundation.layout.fillMaxSize
|
|||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
/** Possible action for app bar. */
|
||||
enum class AppBarActionType {
|
|
@ -14,13 +14,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import android.content.Context
|
||||
import androidx.datastore.core.DataStore
|
||||
import androidx.datastore.preferences.core.Preferences
|
||||
import com.google.aiedge.gallery.GalleryLifecycleProvider
|
||||
import com.google.aiedge.gallery.AppLifecycleProvider
|
||||
import com.google.ai.edge.gallery.GalleryLifecycleProvider
|
||||
import com.google.ai.edge.gallery.AppLifecycleProvider
|
||||
|
||||
/**
|
||||
* App container for Dependency injection.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
/**
|
||||
* The types of configuration editors available.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import kotlinx.serialization.KSerializer
|
||||
import kotlinx.serialization.Serializable
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
// Keys used to send/receive data to Work.
|
||||
const val KEY_MODEL_URL = "KEY_MODEL_URL"
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import android.security.keystore.KeyGenParameterSpec
|
||||
import android.security.keystore.KeyProperties
|
||||
|
@ -26,7 +26,7 @@ import androidx.datastore.preferences.core.longPreferencesKey
|
|||
import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.google.aiedge.gallery.ui.theme.THEME_AUTO
|
||||
import com.google.ai.edge.gallery.ui.theme.THEME_AUTO
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.security.KeyStore
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import android.Manifest
|
||||
import android.app.NotificationChannel
|
||||
|
@ -37,9 +37,9 @@ import androidx.work.OutOfQuotaPolicy
|
|||
import androidx.work.WorkInfo
|
||||
import androidx.work.WorkManager
|
||||
import androidx.work.WorkQuery
|
||||
import com.google.aiedge.gallery.AppLifecycleProvider
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.worker.DownloadWorker
|
||||
import com.google.ai.edge.gallery.AppLifecycleProvider
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.worker.DownloadWorker
|
||||
import com.google.common.util.concurrent.FutureCallback
|
||||
import com.google.common.util.concurrent.Futures
|
||||
import com.google.common.util.concurrent.ListenableFuture
|
||||
|
@ -112,7 +112,7 @@ class DefaultDownloadRepository(
|
|||
// Create worker request.
|
||||
val downloadWorkRequest =
|
||||
OneTimeWorkRequestBuilder<DownloadWorker>().setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
|
||||
.setInputData(inputData).addTag("${MODEL_NAME_TAG}:${model.name}").build()
|
||||
.setInputData(inputData).addTag("$MODEL_NAME_TAG:${model.name}").build()
|
||||
|
||||
val workerId = downloadWorkRequest.id
|
||||
|
||||
|
@ -128,7 +128,7 @@ class DefaultDownloadRepository(
|
|||
}
|
||||
|
||||
override fun cancelDownloadModel(model: Model) {
|
||||
workManager.cancelAllWorkByTag("${MODEL_NAME_TAG}:${model.name}")
|
||||
workManager.cancelAllWorkByTag("$MODEL_NAME_TAG:${model.name}")
|
||||
}
|
||||
|
||||
override fun cancelAll(models: List<Model>, onComplete: () -> Unit) {
|
||||
|
@ -138,7 +138,7 @@ class DefaultDownloadRepository(
|
|||
}
|
||||
|
||||
val futures = mutableListOf<ListenableFuture<Operation.State.SUCCESS>>()
|
||||
for (tag in models.map { "${MODEL_NAME_TAG}:${it.name}" }) {
|
||||
for (tag in models.map { "$MODEL_NAME_TAG:${it.name}" }) {
|
||||
futures.add(workManager.cancelAllWorkByTag(tag).result)
|
||||
}
|
||||
val combinedFuture: ListenableFuture<List<Operation.State.SUCCESS>> = Futures.allAsList(futures)
|
||||
|
@ -248,7 +248,7 @@ class DefaultDownloadRepository(
|
|||
var modelName = ""
|
||||
Log.d(TAG, "work: ${info.id}, tags: $tags")
|
||||
for (tag in tags) {
|
||||
if (tag.startsWith("${MODEL_NAME_TAG}:")) {
|
||||
if (tag.startsWith("$MODEL_NAME_TAG:")) {
|
||||
val index = tag.indexOf(':')
|
||||
if (index >= 0) {
|
||||
modelName = tag.substring(index + 1)
|
||||
|
@ -282,7 +282,7 @@ class DefaultDownloadRepository(
|
|||
// Create an Intent to open your app with a deep link.
|
||||
val intent = Intent(
|
||||
Intent.ACTION_VIEW,
|
||||
Uri.parse("com.google.aiedge.gallery://model/${modelName}")
|
||||
Uri.parse("com.google.ai.edge.gallery://model/${modelName}")
|
||||
).apply {
|
||||
flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
}
|
|
@ -14,11 +14,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import android.content.Context
|
||||
import com.google.aiedge.gallery.ui.common.chat.PromptTemplate
|
||||
import com.google.aiedge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.PromptTemplate
|
||||
import com.google.ai.edge.gallery.ui.common.convertValueToTargetType
|
||||
import java.io.File
|
||||
|
||||
data class ModelDataFile(
|
|
@ -14,13 +14,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_ACCELERATORS
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TEMPERATURE
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TOPK
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TOPP
|
||||
import com.google.aiedge.gallery.ui.llmchat.createLlmChatConfigs
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_ACCELERATORS
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TEMPERATURE
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TOPK
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TOPP
|
||||
import com.google.ai.edge.gallery.ui.llmchat.createLlmChatConfigs
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/** A model in the model allowlist. */
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.data
|
||||
package com.google.ai.edge.gallery.data
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.material.icons.Icons
|
||||
|
@ -25,7 +25,7 @@ import androidx.compose.material.icons.rounded.ImageSearch
|
|||
import androidx.compose.runtime.MutableState
|
||||
import androidx.compose.runtime.mutableLongStateOf
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.ai.edge.gallery.R
|
||||
|
||||
/** Type of task. */
|
||||
enum class TaskType(val label: String, val id: String) {
|
||||
|
@ -96,7 +96,7 @@ val TASK_LLM_CHAT = Task(
|
|||
models = mutableListOf(),
|
||||
description = "Chat with on-device large language models",
|
||||
docUrl = "https://ai.google.dev/edge/mediapipe/solutions/genai/llm_inference/android",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/aiedge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/ai/edge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
textInputPlaceHolderRes = R.string.text_input_placeholder_llm_chat
|
||||
)
|
||||
|
||||
|
@ -106,7 +106,7 @@ val TASK_LLM_PROMPT_LAB = Task(
|
|||
models = mutableListOf(),
|
||||
description = "Single turn use cases with on-device large language model",
|
||||
docUrl = "https://ai.google.dev/edge/mediapipe/solutions/genai/llm_inference/android",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/aiedge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/ai/edge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
textInputPlaceHolderRes = R.string.text_input_placeholder_llm_chat
|
||||
)
|
||||
|
||||
|
@ -116,7 +116,7 @@ val TASK_LLM_ASK_IMAGE = Task(
|
|||
models = mutableListOf(),
|
||||
description = "Ask questions about images with on-device large language models",
|
||||
docUrl = "https://ai.google.dev/edge/mediapipe/solutions/genai/llm_inference/android",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/aiedge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/ai/edge/gallery/ui/llmchat/LlmChatModelHelper.kt",
|
||||
textInputPlaceHolderRes = R.string.text_input_placeholder_llm_chat
|
||||
)
|
||||
|
||||
|
@ -126,7 +126,7 @@ val TASK_IMAGE_GENERATION = Task(
|
|||
models = MODELS_IMAGE_GENERATION,
|
||||
description = "Generate images from text",
|
||||
docUrl = "https://ai.google.dev/edge/mediapipe/solutions/vision/image_generator/android",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/aiedge/gallery/ui/imagegeneration/ImageGenerationModelHelper.kt",
|
||||
sourceCodeUrl = "https://github.com/google-ai-edge/gallery/blob/main/Android/src/app/src/main/java/com/google/ai/edge/gallery/ui/imagegeneration/ImageGenerationModelHelper.kt",
|
||||
textInputPlaceHolderRes = R.string.text_image_generation_text_field_placeholder
|
||||
)
|
||||
|
|
@ -14,21 +14,21 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui
|
||||
package com.google.ai.edge.gallery.ui
|
||||
|
||||
import android.app.Application
|
||||
import androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory
|
||||
import androidx.lifecycle.viewmodel.CreationExtras
|
||||
import androidx.lifecycle.viewmodel.initializer
|
||||
import androidx.lifecycle.viewmodel.viewModelFactory
|
||||
import com.google.aiedge.gallery.GalleryApplication
|
||||
import com.google.aiedge.gallery.ui.imageclassification.ImageClassificationViewModel
|
||||
import com.google.aiedge.gallery.ui.imagegeneration.ImageGenerationViewModel
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmChatViewModel
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmAskImageViewModel
|
||||
import com.google.aiedge.gallery.ui.llmsingleturn.LlmSingleTurnViewModel
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.textclassification.TextClassificationViewModel
|
||||
import com.google.ai.edge.gallery.GalleryApplication
|
||||
import com.google.ai.edge.gallery.ui.imageclassification.ImageClassificationViewModel
|
||||
import com.google.ai.edge.gallery.ui.imagegeneration.ImageGenerationViewModel
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmAskImageViewModel
|
||||
import com.google.ai.edge.gallery.ui.llmsingleturn.LlmSingleTurnViewModel
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.textclassification.TextClassificationViewModel
|
||||
|
||||
object ViewModelProvider {
|
||||
val Factory = viewModelFactory {
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import android.net.Uri
|
||||
import net.openid.appauth.AuthorizationServiceConfiguration
|
||||
|
@ -27,7 +27,7 @@ object AuthConfig {
|
|||
// The scheme needs to match the
|
||||
// "android.defaultConfig.manifestPlaceholders["appAuthRedirectScheme"]" field in
|
||||
// "build.gradle.kts".
|
||||
const val redirectUri = "com.google.aiedge.gallery.oauth://oauthredirect"
|
||||
const val redirectUri = "com.google.ai.edge.gallery.oauth://oauthredirect"
|
||||
|
||||
// OAuth 2.0 Endpoints (Authorization + Token Exchange)
|
||||
private const val authEndpoint = "https://huggingface.co/oauth/authorize"
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -51,11 +51,11 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.modelmanager.TokenRequestResultType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.TokenStatus
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.TokenRequestResultType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.TokenStatus
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
|
@ -48,12 +48,12 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.chat.ConfigDialog
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ConfigDialog
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -41,14 +41,14 @@ import androidx.compose.ui.res.vectorResource
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.modelitem.StatusIcon
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.modelitem.StatusIcon
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
|
||||
@Composable
|
||||
fun ModelPicker(
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.fadeIn
|
||||
|
@ -59,11 +59,11 @@ import androidx.compose.ui.platform.LocalDensity
|
|||
import androidx.compose.ui.platform.LocalWindowInfo
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.modelitem.StatusIcon
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.modelitem.StatusIcon
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.math.absoluteValue
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
|
@ -41,12 +41,12 @@ import androidx.compose.ui.res.vectorResource
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.TASKS
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.TASKS
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
|
||||
private val SHAPES: List<Int> =
|
||||
listOf(R.drawable.pantegon, R.drawable.double_circle, R.drawable.circle, R.drawable.four_circle)
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common
|
||||
package com.google.ai.edge.gallery.ui.common
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
|
@ -28,18 +28,18 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.FileProvider
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASKS
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageBenchmarkResult
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.aiedge.gallery.ui.common.chat.Histogram
|
||||
import com.google.aiedge.gallery.ui.common.chat.Stat
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASKS
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageBenchmarkResult
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Histogram
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Stat
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import kotlinx.serialization.ExperimentalSerializationApi
|
||||
import kotlinx.serialization.json.Json
|
||||
import java.io.File
|
||||
|
@ -207,7 +207,9 @@ fun Context.createTempPictureUri(
|
|||
}
|
||||
|
||||
return FileProvider.getUriForFile(
|
||||
applicationContext, "com.google.aiedge.gallery.provider", tempFile
|
||||
applicationContext,
|
||||
"com.google.aiedge.gallery.provider" /* {applicationId}.provider */,
|
||||
tempFile
|
||||
)
|
||||
}
|
||||
|
|
@ -14,16 +14,16 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.NumberSliderConfig
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.aiedge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.NumberSliderConfig
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
private const val DEFAULT_BENCHMARK_WARM_UP_ITERATIONS = 50f
|
||||
private const val DEFAULT_BENCHMARK_ITERATIONS = 200f
|
|
@ -14,13 +14,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
|
||||
enum class ChatMessageType {
|
||||
INFO,
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.ExperimentalSharedTransitionApi
|
||||
|
@ -94,18 +94,18 @@ import androidx.compose.ui.text.AnnotatedString
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.IntSize
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.data.TaskType
|
||||
import com.google.aiedge.gallery.ui.common.ErrorDialog
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewChatModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.data.TaskType
|
||||
import com.google.ai.edge.gallery.ui.common.ErrorDialog
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewChatModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
enum class ChatInputType {
|
||||
|
@ -301,8 +301,7 @@ fun ChatPanel(
|
|||
is ChatMessageConfigValuesChange -> MessageBodyConfigUpdate(message = message)
|
||||
|
||||
// Prompt templates.
|
||||
is ChatMessagePromptTemplates -> MessageBodyPromptTemplates(
|
||||
message = message,
|
||||
is ChatMessagePromptTemplates -> MessageBodyPromptTemplates(message = message,
|
||||
task = task,
|
||||
onPromptClicked = { template ->
|
||||
onSendMessage(
|
|
@ -14,12 +14,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.util.Log
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
|
@ -28,7 +27,6 @@ import androidx.compose.foundation.pager.HorizontalPager
|
|||
import androidx.compose.foundation.pager.rememberPagerState
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
|
@ -38,23 +36,20 @@ import androidx.compose.runtime.remember
|
|||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.snapshotFlow
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.graphicsLayer
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.ModelPageAppBar
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.modelmanager.PagerScrollState
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewChatModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.ModelPageAppBar
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.PagerScrollState
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewChatModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.math.absoluteValue
|
|
@ -14,13 +14,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.processLlmResponse
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.processLlmResponse
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
import kotlinx.coroutines.flow.update
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.foundation.border
|
||||
|
@ -64,15 +64,15 @@ import androidx.compose.ui.text.input.KeyboardType
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.Dialog
|
||||
import com.google.aiedge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.LabelConfig
|
||||
import com.google.aiedge.gallery.data.NumberSliderConfig
|
||||
import com.google.aiedge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.LabelConfig
|
||||
import com.google.ai.edge.gallery.data.NumberSliderConfig
|
||||
import com.google.ai.edge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
import kotlin.Double.Companion.NaN
|
||||
|
||||
private const val TAG = "AGConfigDialog"
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -28,11 +28,11 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallMediumNarrow
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallMediumNarrowBold
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrowMedium
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallMediumNarrow
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallMediumNarrowBold
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrowMedium
|
||||
|
||||
/**
|
||||
* Composable function to display a data card with a label and a numeric value.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Matrix
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.ProvideTextStyle
|
||||
|
@ -26,8 +26,8 @@ import androidx.compose.ui.text.TextLinkStyles
|
|||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.font.FontFamily
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import com.halilibo.richtext.commonmark.Markdown
|
||||
import com.halilibo.richtext.ui.CodeBlockStyle
|
||||
import com.halilibo.richtext.ui.RichTextStyle
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
|
@ -37,8 +37,8 @@ import androidx.compose.ui.draw.clip
|
|||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallNarrow
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallNarrow
|
||||
|
||||
/**
|
||||
* Composable function to display an action button below a chat message.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -33,7 +33,7 @@ import androidx.compose.ui.draw.alpha
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import kotlin.math.max
|
||||
|
||||
private const val DEFAULT_HISTOGRAM_BAR_HEIGHT = 50f
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -25,7 +25,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display benchmark LLM results within a chat message.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -36,7 +36,7 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
val CLASSIFICATION_BAR_HEIGHT = 8.dp
|
||||
val CLASSIFICATION_BAR_MAX_WIDTH = 200.dp
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -37,13 +37,13 @@ import androidx.compose.ui.text.font.FontWeight
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.aiedge.gallery.ui.common.getConfigValueString
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallNarrow
|
||||
import com.google.aiedge.gallery.ui.theme.titleSmaller
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.ai.edge.gallery.ui.common.getConfigValueString
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallNarrow
|
||||
import com.google.ai.edge.gallery.ui.theme.titleSmaller
|
||||
|
||||
/**
|
||||
* Composable function to display a message indicating configuration value changes.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.height
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.gestures.detectHorizontalDragGestures
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -29,8 +29,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
|
||||
/**
|
||||
* Composable function to display informational message content within a chat.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.animation.core.Animatable
|
||||
import androidx.compose.animation.core.tween
|
||||
|
@ -35,9 +35,9 @@ import androidx.compose.ui.layout.ContentScale
|
|||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
|
@ -43,11 +43,11 @@ import androidx.compose.ui.text.font.FontWeight
|
|||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.preview.ALL_PREVIEW_TASKS
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.preview.ALL_PREVIEW_TASKS
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
private const val CARD_HEIGHT = 100
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -28,7 +28,7 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display the text content of a ChatMessageText.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -29,7 +29,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display warning message content within a chat.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.ui.geometry.CornerRadius
|
||||
import androidx.compose.ui.geometry.RoundRect
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
|
@ -52,8 +52,8 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.google.aiedge.gallery.ui.common.createTempPictureUri
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.common.createTempPictureUri
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
private const val TAG = "AGMessageInputImage"
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
|
@ -80,11 +80,11 @@ import androidx.compose.ui.res.stringResource
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.common.createTempPictureUri
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.common.createTempPictureUri
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display a text input field for composing chat messages.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -26,8 +26,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.draw.alpha
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.common.humanReadableDuration
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.common.humanReadableDuration
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display the latency of a chat message, if available.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import androidx.annotation.StringRes
|
||||
|
@ -35,10 +35,10 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallNarrow
|
||||
import com.google.aiedge.gallery.ui.theme.bodySmallSemiBold
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallNarrow
|
||||
import com.google.ai.edge.gallery.ui.theme.bodySmallSemiBold
|
||||
|
||||
data class MessageLayoutConfig(
|
||||
val horizontalArrangement: Arrangement.Horizontal,
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.fadeIn
|
||||
|
@ -34,11 +34,11 @@ import androidx.compose.runtime.remember
|
|||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.DownloadAndTryButton
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.DownloadAndTryButton
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
@Composable
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.animation.core.Animatable
|
||||
import androidx.compose.animation.core.Easing
|
||||
|
@ -54,19 +54,19 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.formatToHourMinSecond
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.common.humanReadableSize
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.formatToHourMinSecond
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.common.humanReadableSize
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlin.math.cos
|
||||
import kotlin.math.pow
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -36,8 +36,8 @@ import androidx.compose.ui.draw.clip
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display a visual indicator for model initialization status.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -25,7 +25,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display a button to download model if the model has not been downloaded.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
|
@ -33,15 +33,15 @@ import androidx.compose.ui.graphics.graphicsLayer
|
|||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.aiedge.gallery.ui.common.modelitem.ModelItem
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST2
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.ai.edge.gallery.ui.common.modelitem.ModelItem
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST2
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/**
|
||||
* Composable function to display a selectable model item with an option to configure its settings.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.chat
|
||||
package com.google.ai.edge.gallery.ui.common.chat
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
|
@ -55,9 +55,9 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import androidx.compose.animation.core.DeferredTargetAnimation
|
||||
import androidx.compose.animation.core.ExperimentalAnimatableApi
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.Button
|
||||
|
@ -22,8 +22,8 @@ import androidx.compose.material3.Text
|
|||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
|
||||
/**
|
||||
* Composable function to display a confirmation dialog for deleting a model.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
|
@ -55,24 +55,24 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.DownloadAndTryButton
|
||||
import com.google.aiedge.gallery.ui.common.TaskIcon
|
||||
import com.google.aiedge.gallery.ui.common.chat.MarkdownText
|
||||
import com.google.aiedge.gallery.ui.common.checkNotificationPermissionAndStartDownload
|
||||
import com.google.aiedge.gallery.ui.common.getTaskBgColor
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST2
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST3
|
||||
import com.google.aiedge.gallery.ui.preview.MODEL_TEST4
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST2
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.DownloadAndTryButton
|
||||
import com.google.ai.edge.gallery.ui.common.TaskIcon
|
||||
import com.google.ai.edge.gallery.ui.common.chat.MarkdownText
|
||||
import com.google.ai.edge.gallery.ui.common.checkNotificationPermissionAndStartDownload
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskBgColor
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST1
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST2
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST3
|
||||
import com.google.ai.edge.gallery.ui.preview.MODEL_TEST4
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST2
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
private val DEFAULT_VERTICAL_PADDING = 16.dp
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import android.content.Context
|
||||
import androidx.compose.foundation.layout.Row
|
||||
|
@ -35,12 +35,12 @@ import androidx.compose.runtime.setValue
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
|
||||
/**
|
||||
* Composable function to display action buttons for a model item, based on its download status.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibilityScope
|
||||
import androidx.compose.animation.ExperimentalSharedTransitionApi
|
||||
|
@ -33,19 +33,18 @@ import androidx.compose.runtime.LaunchedEffect
|
|||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.focusModifier
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.formatToHourMinSecond
|
||||
import com.google.aiedge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.aiedge.gallery.ui.common.humanReadableSize
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.formatToHourMinSecond
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskIconColor
|
||||
import com.google.ai.edge.gallery.ui.common.humanReadableSize
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
|
||||
/**
|
||||
* Composable function to display the model name and its download status information.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.common.modelitem
|
||||
package com.google.ai.edge.gallery.ui.common.modelitem
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
@ -33,10 +33,10 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
|
||||
/**
|
||||
* Composable function to display an icon representing the download status of a model.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.home
|
||||
package com.google.ai.edge.gallery.ui.home
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
|
@ -98,19 +98,19 @@ import androidx.compose.ui.text.withLink
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.google.aiedge.gallery.GalleryTopAppBar
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.AppBarAction
|
||||
import com.google.aiedge.gallery.data.AppBarActionType
|
||||
import com.google.aiedge.gallery.data.ImportedModelInfo
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.TaskIcon
|
||||
import com.google.aiedge.gallery.ui.common.getTaskBgColor
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.aiedge.gallery.ui.theme.titleMediumNarrow
|
||||
import com.google.ai.edge.gallery.GalleryTopAppBar
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.AppBarAction
|
||||
import com.google.ai.edge.gallery.data.AppBarActionType
|
||||
import com.google.ai.edge.gallery.data.ImportedModelInfo
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.TaskIcon
|
||||
import com.google.ai.edge.gallery.ui.common.getTaskBgColor
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.ui.theme.titleMediumNarrow
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.home
|
||||
package com.google.ai.edge.gallery.ui.home
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
|
@ -59,23 +59,23 @@ import androidx.compose.ui.platform.LocalFocusManager
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.Dialog
|
||||
import androidx.compose.ui.window.DialogProperties
|
||||
import com.google.aiedge.gallery.data.Accelerator
|
||||
import com.google.aiedge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.IMPORTS_DIR
|
||||
import com.google.aiedge.gallery.data.LabelConfig
|
||||
import com.google.aiedge.gallery.data.ImportedModelInfo
|
||||
import com.google.aiedge.gallery.data.NumberSliderConfig
|
||||
import com.google.aiedge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ConfigEditorsPanel
|
||||
import com.google.aiedge.gallery.ui.common.ensureValidFileName
|
||||
import com.google.aiedge.gallery.ui.common.humanReadableSize
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_MAX_TOKEN
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TEMPERATURE
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TOPK
|
||||
import com.google.aiedge.gallery.ui.llmchat.DEFAULT_TOPP
|
||||
import com.google.ai.edge.gallery.data.Accelerator
|
||||
import com.google.ai.edge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.IMPORTS_DIR
|
||||
import com.google.ai.edge.gallery.data.LabelConfig
|
||||
import com.google.ai.edge.gallery.data.ImportedModelInfo
|
||||
import com.google.ai.edge.gallery.data.NumberSliderConfig
|
||||
import com.google.ai.edge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ConfigEditorsPanel
|
||||
import com.google.ai.edge.gallery.ui.common.ensureValidFileName
|
||||
import com.google.ai.edge.gallery.ui.common.humanReadableSize
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_MAX_TOKEN
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TEMPERATURE
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TOPK
|
||||
import com.google.ai.edge.gallery.ui.llmchat.DEFAULT_TOPP
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
|
@ -1,4 +1,4 @@
|
|||
package com.google.aiedge.gallery.ui.home
|
||||
package com.google.ai.edge.gallery.ui.home
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
|
@ -14,19 +14,25 @@ import androidx.compose.material.icons.automirrored.rounded.OpenInNew
|
|||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.BuildConfig
|
||||
import com.google.aiedge.gallery.ui.common.getJsonResponse
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ClickableLink
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleEventObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.compose.LocalLifecycleOwner
|
||||
import com.google.ai.edge.gallery.BuildConfig
|
||||
import com.google.ai.edge.gallery.ui.common.getJsonResponse
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ClickableLink
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlin.math.max
|
||||
|
@ -44,22 +50,43 @@ data class ReleaseInfo(
|
|||
fun NewReleaseNotification() {
|
||||
var newReleaseVersion by remember { mutableStateOf("") }
|
||||
var newReleaseUrl by remember { mutableStateOf("") }
|
||||
val lifecycleOwner: LifecycleOwner = LocalLifecycleOwner.current
|
||||
val coroutineScope = rememberCoroutineScope()
|
||||
|
||||
LaunchedEffect(Unit) {
|
||||
withContext(Dispatchers.IO) {
|
||||
Log.d("AGNewReleaseNotification", "Checking for new release...")
|
||||
val info = getJsonResponse<ReleaseInfo>("https://api.github.com/repos/$REPO/releases/latest")
|
||||
if (info != null) {
|
||||
val curRelease = BuildConfig.VERSION_NAME
|
||||
val newRelease = info.jsonObj.tag_name
|
||||
val isNewer = isNewerRelease(currentRelease = curRelease, newRelease = newRelease)
|
||||
Log.d(TAG, "curRelease: $curRelease, newRelease: $newRelease, isNewer: $isNewer")
|
||||
if (isNewer) {
|
||||
newReleaseVersion = newRelease
|
||||
newReleaseUrl = info.jsonObj.html_url
|
||||
DisposableEffect(lifecycleOwner) {
|
||||
// Create a LifecycleEventObserver to listen for specific lifecycle events.
|
||||
val observer = LifecycleEventObserver { _, event ->
|
||||
// Log or perform actions based on the lifecycle event.
|
||||
when (event) {
|
||||
Lifecycle.Event.ON_RESUME -> {
|
||||
coroutineScope.launch {
|
||||
withContext(Dispatchers.IO) {
|
||||
Log.d(TAG, "Checking for new release...")
|
||||
val info =
|
||||
getJsonResponse<ReleaseInfo>("https://api.github.com/repos/$REPO/releases/latest")
|
||||
if (info != null) {
|
||||
val curRelease = BuildConfig.VERSION_NAME
|
||||
val newRelease = info.jsonObj.tag_name
|
||||
val isNewer = isNewerRelease(currentRelease = curRelease, newRelease = newRelease)
|
||||
Log.d(TAG, "curRelease: $curRelease, newRelease: $newRelease, isNewer: $isNewer")
|
||||
if (isNewer) {
|
||||
newReleaseVersion = newRelease
|
||||
newReleaseUrl = info.jsonObj.html_url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
lifecycleOwner.lifecycle.addObserver(observer)
|
||||
|
||||
onDispose {
|
||||
lifecycleOwner.lifecycle.removeObserver(observer)
|
||||
}
|
||||
}
|
||||
|
||||
AnimatedVisibility(
|
||||
|
@ -97,7 +124,7 @@ fun NewReleaseNotification() {
|
|||
}
|
||||
}
|
||||
|
||||
fun isNewerRelease(currentRelease: String, newRelease: String): Boolean {
|
||||
private fun isNewerRelease(currentRelease: String, newRelease: String): Boolean {
|
||||
// Split the version strings into their individual components (e.g., "0.9.0" -> ["0", "9", "0"])
|
||||
val currentComponents = currentRelease.split('.').map { it.toIntOrNull() ?: 0 }
|
||||
val newComponents = newRelease.split('.').map { it.toIntOrNull() ?: 0 }
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.home
|
||||
package com.google.ai.edge.gallery.ui.home
|
||||
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.clickable
|
||||
|
@ -27,7 +27,6 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.offset
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
|
@ -61,13 +60,13 @@ import androidx.compose.ui.text.TextStyle
|
|||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.Dialog
|
||||
import com.google.aiedge.gallery.BuildConfig
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.THEME_AUTO
|
||||
import com.google.aiedge.gallery.ui.theme.THEME_DARK
|
||||
import com.google.aiedge.gallery.ui.theme.THEME_LIGHT
|
||||
import com.google.aiedge.gallery.ui.theme.ThemeSettings
|
||||
import com.google.aiedge.gallery.ui.theme.labelSmallNarrow
|
||||
import com.google.ai.edge.gallery.BuildConfig
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.THEME_AUTO
|
||||
import com.google.ai.edge.gallery.ui.theme.THEME_DARK
|
||||
import com.google.ai.edge.gallery.ui.theme.THEME_LIGHT
|
||||
import com.google.ai.edge.gallery.ui.theme.ThemeSettings
|
||||
import com.google.ai.edge.gallery.ui.theme.labelSmallNarrow
|
||||
import java.time.Instant
|
||||
import java.time.ZoneId
|
||||
import java.time.format.DateTimeFormatter
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.icon
|
||||
package com.google.ai.edge.gallery.ui.icon
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.PathFillType
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imageclassification
|
||||
package com.google.ai.edge.gallery.ui.imageclassification
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
|
@ -23,10 +23,10 @@ import androidx.compose.ui.graphics.Color
|
|||
import com.google.android.gms.tflite.client.TfLiteInitializationOptions
|
||||
import com.google.android.gms.tflite.gpu.support.TfLiteGpu
|
||||
import com.google.android.gms.tflite.java.TfLite
|
||||
import com.google.aiedge.gallery.ui.common.chat.Classification
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.ui.common.LatencyProvider
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Classification
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.ui.common.LatencyProvider
|
||||
import org.tensorflow.lite.DataType
|
||||
import org.tensorflow.lite.InterpreterApi
|
||||
import org.tensorflow.lite.gpu.GpuDelegateFactory
|
|
@ -14,18 +14,18 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imageclassification
|
||||
package com.google.ai.edge.gallery.ui.imageclassification
|
||||
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatInputType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatView
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatInputType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatView
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/** Navigation destination data */
|
|
@ -14,21 +14,21 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imageclassification
|
||||
package com.google.ai.edge.gallery.ui.imageclassification
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_IMAGE_CLASSIFICATION
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.aiedge.gallery.ui.common.runBasicBenchmark
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_IMAGE_CLASSIFICATION
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.common.runBasicBenchmark
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
|
@ -14,17 +14,17 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imagegeneration
|
||||
package com.google.ai.edge.gallery.ui.imagegeneration
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.util.Log
|
||||
import com.google.mediapipe.framework.image.BitmapExtractor
|
||||
import com.google.mediapipe.tasks.vision.imagegenerator.ImageGenerator
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.ui.common.LatencyProvider
|
||||
import com.google.aiedge.gallery.ui.common.cleanUpMediapipeTaskErrorMessage
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.ui.common.LatencyProvider
|
||||
import com.google.ai.edge.gallery.ui.common.cleanUpMediapipeTaskErrorMessage
|
||||
import kotlin.random.Random
|
||||
|
||||
private const val TAG = "AGImageGenerationModelHelper"
|
|
@ -14,15 +14,15 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imagegeneration
|
||||
package com.google.ai.edge.gallery.ui.imagegeneration
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatView
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatView
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/** Navigation destination data */
|
|
@ -14,19 +14,19 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.imagegeneration
|
||||
package com.google.ai.edge.gallery.ui.imagegeneration
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import androidx.compose.ui.graphics.ImageBitmap
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_IMAGE_GENERATION
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageImageWithHistory
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageLoading
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_IMAGE_GENERATION
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageImageWithHistory
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageLoading
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
|
@ -14,14 +14,14 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmchat
|
||||
package com.google.ai.edge.gallery.ui.llmchat
|
||||
|
||||
import com.google.aiedge.gallery.data.Accelerator
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.NumberSliderConfig
|
||||
import com.google.aiedge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.data.Accelerator
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.NumberSliderConfig
|
||||
import com.google.ai.edge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
|
||||
const val DEFAULT_MAX_TOKEN = 1024
|
||||
const val DEFAULT_TOPK = 40
|
|
@ -14,15 +14,15 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmchat
|
||||
package com.google.ai.edge.gallery.ui.llmchat
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.util.Log
|
||||
import com.google.aiedge.gallery.data.Accelerator
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.ui.common.cleanUpMediapipeTaskErrorMessage
|
||||
import com.google.ai.edge.gallery.data.Accelerator
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.ui.common.cleanUpMediapipeTaskErrorMessage
|
||||
import com.google.mediapipe.framework.image.BitmapImageBuilder
|
||||
import com.google.mediapipe.tasks.genai.llminference.GraphOptions
|
||||
import com.google.mediapipe.tasks.genai.llminference.LlmInference
|
|
@ -14,18 +14,18 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmchat
|
||||
package com.google.ai.edge.gallery.ui.llmchat
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatView
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatView
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/** Navigation destination data */
|
|
@ -14,25 +14,25 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmchat
|
||||
package com.google.ai.edge.gallery.ui.llmchat
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageBenchmarkLlmResult
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageLoading
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageWarning
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.aiedge.gallery.ui.common.chat.Stat
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageBenchmarkLlmResult
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageLoading
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageWarning
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Stat
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import android.util.Log
|
||||
import androidx.activity.compose.BackHandler
|
||||
|
@ -41,17 +41,17 @@ import androidx.compose.ui.platform.LocalContext
|
|||
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.common.ErrorDialog
|
||||
import com.google.aiedge.gallery.ui.common.ModelPageAppBar
|
||||
import com.google.aiedge.gallery.ui.common.chat.ModelDownloadStatusInfoPanel
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewLlmSingleTurnViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.common.ErrorDialog
|
||||
import com.google.ai.edge.gallery.ui.common.ModelPageAppBar
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ModelDownloadStatusInfoPanel
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewLlmSingleTurnViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.serialization.Serializable
|
|
@ -14,19 +14,19 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageBenchmarkLlmResult
|
||||
import com.google.aiedge.gallery.ui.common.chat.Stat
|
||||
import com.google.aiedge.gallery.ui.common.processLlmResponse
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmChatModelHelper
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmModelInstance
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageBenchmarkLlmResult
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Stat
|
||||
import com.google.ai.edge.gallery.ui.common.processLlmResponse
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmChatModelHelper
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmModelInstance
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.text.AnnotatedString
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.background
|
||||
|
@ -85,12 +85,12 @@ import androidx.compose.ui.res.dimensionResource
|
|||
import androidx.compose.ui.text.TextLayoutResult
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.ui.common.chat.MessageBubbleShape
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.ui.common.chat.MessageBubbleShape
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelInitializationStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -56,13 +56,13 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.platform.LocalClipboardManager
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.aiedge.gallery.ui.common.chat.MarkdownText
|
||||
import com.google.aiedge.gallery.ui.common.chat.MessageBodyBenchmarkLlm
|
||||
import com.google.aiedge.gallery.ui.common.chat.MessageBodyLoading
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.modelmanager.PagerScrollState
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.ai.edge.gallery.ui.common.chat.MarkdownText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.MessageBodyBenchmarkLlm
|
||||
import com.google.ai.edge.gallery.ui.common.chat.MessageBodyLoading
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.PagerScrollState
|
||||
|
||||
private val OPTIONS = listOf("Response", "Benchmark")
|
||||
private val ICONS = listOf(Icons.Outlined.AutoAwesome, Icons.Outlined.Timer)
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.llmsingleturn
|
||||
package com.google.ai.edge.gallery.ui.llmsingleturn
|
||||
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.gestures.detectDragGestures
|
||||
|
@ -42,8 +42,8 @@ import androidx.compose.ui.platform.LocalDensity
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
|
||||
@Composable
|
||||
fun VerticalSplitView(
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.modelmanager
|
||||
package com.google.ai.edge.gallery.ui.modelmanager
|
||||
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
@ -49,13 +49,13 @@ import androidx.compose.ui.text.style.TextAlign
|
|||
import androidx.compose.ui.text.style.TextDecoration
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.common.modelitem.ModelItem
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.aiedge.gallery.ui.theme.customColors
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.common.modelitem.ModelItem
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.ui.theme.customColors
|
||||
|
||||
private const val TAG = "AGModelList"
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.modelmanager
|
||||
package com.google.ai.edge.gallery.ui.modelmanager
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
|
@ -28,14 +28,14 @@ import androidx.compose.runtime.remember
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.google.aiedge.gallery.GalleryTopAppBar
|
||||
import com.google.aiedge.gallery.data.AppBarAction
|
||||
import com.google.aiedge.gallery.data.AppBarActionType
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.aiedge.gallery.ui.theme.GalleryTheme
|
||||
import com.google.ai.edge.gallery.GalleryTopAppBar
|
||||
import com.google.ai.edge.gallery.data.AppBarAction
|
||||
import com.google.ai.edge.gallery.data.AppBarActionType
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.ui.preview.PreviewModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.preview.TASK_TEST1
|
||||
import com.google.ai.edge.gallery.ui.theme.GalleryTheme
|
||||
|
||||
/** A screen to manage models. */
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.modelmanager
|
||||
package com.google.ai.edge.gallery.ui.modelmanager
|
||||
|
||||
import android.content.Context
|
||||
import android.net.Uri
|
||||
|
@ -22,37 +22,37 @@ import android.util.Log
|
|||
import androidx.activity.result.ActivityResult
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.aiedge.gallery.data.AGWorkInfo
|
||||
import com.google.aiedge.gallery.data.Accelerator
|
||||
import com.google.aiedge.gallery.data.AccessTokenData
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.DataStoreRepository
|
||||
import com.google.aiedge.gallery.data.DownloadRepository
|
||||
import com.google.aiedge.gallery.data.EMPTY_MODEL
|
||||
import com.google.aiedge.gallery.data.IMPORTS_DIR
|
||||
import com.google.aiedge.gallery.data.ImportedModelInfo
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelAllowlist
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.data.TASKS
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.data.TaskType
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.aiedge.gallery.data.getModelByName
|
||||
import com.google.aiedge.gallery.ui.common.AuthConfig
|
||||
import com.google.aiedge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.aiedge.gallery.ui.common.getJsonResponse
|
||||
import com.google.aiedge.gallery.ui.common.processTasks
|
||||
import com.google.aiedge.gallery.ui.imageclassification.ImageClassificationModelHelper
|
||||
import com.google.aiedge.gallery.ui.imagegeneration.ImageGenerationModelHelper
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmChatModelHelper
|
||||
import com.google.aiedge.gallery.ui.llmchat.createLlmChatConfigs
|
||||
import com.google.aiedge.gallery.ui.textclassification.TextClassificationModelHelper
|
||||
import com.google.ai.edge.gallery.data.AGWorkInfo
|
||||
import com.google.ai.edge.gallery.data.Accelerator
|
||||
import com.google.ai.edge.gallery.data.AccessTokenData
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.DataStoreRepository
|
||||
import com.google.ai.edge.gallery.data.DownloadRepository
|
||||
import com.google.ai.edge.gallery.data.EMPTY_MODEL
|
||||
import com.google.ai.edge.gallery.data.IMPORTS_DIR
|
||||
import com.google.ai.edge.gallery.data.ImportedModelInfo
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelAllowlist
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.data.TASKS
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.data.TaskType
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.data.getModelByName
|
||||
import com.google.ai.edge.gallery.ui.common.AuthConfig
|
||||
import com.google.ai.edge.gallery.ui.common.convertValueToTargetType
|
||||
import com.google.ai.edge.gallery.ui.common.getJsonResponse
|
||||
import com.google.ai.edge.gallery.ui.common.processTasks
|
||||
import com.google.ai.edge.gallery.ui.imageclassification.ImageClassificationModelHelper
|
||||
import com.google.ai.edge.gallery.ui.imagegeneration.ImageGenerationModelHelper
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmChatModelHelper
|
||||
import com.google.ai.edge.gallery.ui.llmchat.createLlmChatConfigs
|
||||
import com.google.ai.edge.gallery.ui.textclassification.TextClassificationModelHelper
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.navigation
|
||||
package com.google.ai.edge.gallery.ui.navigation
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.animation.AnimatedContentTransitionScope
|
||||
|
@ -42,32 +42,32 @@ import androidx.navigation.NavType
|
|||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navArgument
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_IMAGE_CLASSIFICATION
|
||||
import com.google.aiedge.gallery.data.TASK_IMAGE_GENERATION
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.aiedge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.aiedge.gallery.data.TASK_TEXT_CLASSIFICATION
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.data.TaskType
|
||||
import com.google.aiedge.gallery.data.getModelByName
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.home.HomeScreen
|
||||
import com.google.aiedge.gallery.ui.imageclassification.ImageClassificationDestination
|
||||
import com.google.aiedge.gallery.ui.imageclassification.ImageClassificationScreen
|
||||
import com.google.aiedge.gallery.ui.imagegeneration.ImageGenerationDestination
|
||||
import com.google.aiedge.gallery.ui.imagegeneration.ImageGenerationScreen
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmChatDestination
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmChatScreen
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmAskImageDestination
|
||||
import com.google.aiedge.gallery.ui.llmchat.LlmAskImageScreen
|
||||
import com.google.aiedge.gallery.ui.llmsingleturn.LlmSingleTurnDestination
|
||||
import com.google.aiedge.gallery.ui.llmsingleturn.LlmSingleTurnScreen
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManager
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.aiedge.gallery.ui.textclassification.TextClassificationDestination
|
||||
import com.google.aiedge.gallery.ui.textclassification.TextClassificationScreen
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_IMAGE_CLASSIFICATION
|
||||
import com.google.ai.edge.gallery.data.TASK_IMAGE_GENERATION
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_CHAT
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_ASK_IMAGE
|
||||
import com.google.ai.edge.gallery.data.TASK_LLM_PROMPT_LAB
|
||||
import com.google.ai.edge.gallery.data.TASK_TEXT_CLASSIFICATION
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.data.TaskType
|
||||
import com.google.ai.edge.gallery.data.getModelByName
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.home.HomeScreen
|
||||
import com.google.ai.edge.gallery.ui.imageclassification.ImageClassificationDestination
|
||||
import com.google.ai.edge.gallery.ui.imageclassification.ImageClassificationScreen
|
||||
import com.google.ai.edge.gallery.ui.imagegeneration.ImageGenerationDestination
|
||||
import com.google.ai.edge.gallery.ui.imagegeneration.ImageGenerationScreen
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmChatDestination
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmChatScreen
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmAskImageDestination
|
||||
import com.google.ai.edge.gallery.ui.llmchat.LlmAskImageScreen
|
||||
import com.google.ai.edge.gallery.ui.llmsingleturn.LlmSingleTurnDestination
|
||||
import com.google.ai.edge.gallery.ui.llmsingleturn.LlmSingleTurnScreen
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManager
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.textclassification.TextClassificationDestination
|
||||
import com.google.ai.edge.gallery.ui.textclassification.TextClassificationScreen
|
||||
|
||||
private const val TAG = "AGGalleryNavGraph"
|
||||
private const val ROUTE_PLACEHOLDER = "placeholder"
|
||||
|
@ -267,7 +267,7 @@ fun GalleryNavHost(
|
|||
if (data != null) {
|
||||
intent.data = null
|
||||
Log.d(TAG, "navigation link clicked: $data")
|
||||
if (data.toString().startsWith("com.google.aiedge.gallery://model/")) {
|
||||
if (data.toString().startsWith("com.google.ai.edge.gallery://model/")) {
|
||||
val modelName = data.pathSegments.last()
|
||||
getModelByName(modelName)?.let { model ->
|
||||
// TODO(jingjin): need to show a list of possible tasks for this model.
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
|
@ -23,13 +23,13 @@ import android.graphics.drawable.Drawable
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.asImageBitmap
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.google.aiedge.gallery.R
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.aiedge.gallery.ui.common.chat.Classification
|
||||
import com.google.ai.edge.gallery.R
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageImage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatSide
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Classification
|
||||
|
||||
class PreviewChatModel(context: Context) : ChatViewModel(task = TASK_TEST1) {
|
||||
init {
|
|
@ -14,11 +14,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import com.google.aiedge.gallery.data.AccessTokenData
|
||||
import com.google.aiedge.gallery.data.DataStoreRepository
|
||||
import com.google.aiedge.gallery.data.ImportedModelInfo
|
||||
import com.google.ai.edge.gallery.data.AccessTokenData
|
||||
import com.google.ai.edge.gallery.data.DataStoreRepository
|
||||
import com.google.ai.edge.gallery.data.ImportedModelInfo
|
||||
|
||||
class PreviewDataStoreRepository : DataStoreRepository {
|
||||
override fun saveTextInputHistory(history: List<String>) {
|
|
@ -14,12 +14,12 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import com.google.aiedge.gallery.data.AGWorkInfo
|
||||
import com.google.aiedge.gallery.data.DownloadRepository
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.AGWorkInfo
|
||||
import com.google.ai.edge.gallery.data.DownloadRepository
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import java.util.UUID
|
||||
|
||||
class PreviewDownloadRepository : DownloadRepository {
|
|
@ -14,8 +14,8 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import com.google.aiedge.gallery.ui.llmsingleturn.LlmSingleTurnViewModel
|
||||
import com.google.ai.edge.gallery.ui.llmsingleturn.LlmSingleTurnViewModel
|
||||
|
||||
class PreviewLlmSingleTurnViewModel : LlmSingleTurnViewModel(task = TASK_TEST1)
|
|
@ -14,13 +14,13 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import android.content.Context
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatus
|
||||
import com.google.aiedge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerUiState
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatus
|
||||
import com.google.ai.edge.gallery.data.ModelDownloadStatusType
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerUiState
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.coroutines.flow.update
|
||||
|
||||
class PreviewModelManagerViewModel(context: Context) :
|
|
@ -14,21 +14,21 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.preview
|
||||
package com.google.ai.edge.gallery.ui.preview
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.rounded.AccountBox
|
||||
import androidx.compose.material.icons.rounded.AutoAwesome
|
||||
import com.google.aiedge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.aiedge.gallery.data.Config
|
||||
import com.google.aiedge.gallery.data.ConfigKey
|
||||
import com.google.aiedge.gallery.data.LabelConfig
|
||||
import com.google.aiedge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.NumberSliderConfig
|
||||
import com.google.aiedge.gallery.data.Task
|
||||
import com.google.aiedge.gallery.data.TaskType
|
||||
import com.google.aiedge.gallery.data.ValueType
|
||||
import com.google.ai.edge.gallery.data.BooleanSwitchConfig
|
||||
import com.google.ai.edge.gallery.data.Config
|
||||
import com.google.ai.edge.gallery.data.ConfigKey
|
||||
import com.google.ai.edge.gallery.data.LabelConfig
|
||||
import com.google.ai.edge.gallery.data.SegmentedButtonConfig
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.NumberSliderConfig
|
||||
import com.google.ai.edge.gallery.data.Task
|
||||
import com.google.ai.edge.gallery.data.TaskType
|
||||
import com.google.ai.edge.gallery.data.ValueType
|
||||
|
||||
val TEST_CONFIGS1: List<Config> = listOf(
|
||||
LabelConfig(
|
|
@ -14,15 +14,15 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.textclassification
|
||||
package com.google.ai.edge.gallery.ui.textclassification
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.google.mediapipe.tasks.components.containers.Category
|
||||
import com.google.mediapipe.tasks.core.BaseOptions
|
||||
import com.google.mediapipe.tasks.text.textclassifier.TextClassifier
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.ui.common.LatencyProvider
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.ui.common.LatencyProvider
|
||||
import java.io.File
|
||||
import java.io.FileInputStream
|
||||
import java.nio.ByteBuffer
|
|
@ -14,15 +14,15 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.textclassification
|
||||
package com.google.ai.edge.gallery.ui.textclassification
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||
import com.google.aiedge.gallery.ui.ViewModelProvider
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatView
|
||||
import com.google.aiedge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import com.google.ai.edge.gallery.ui.ViewModelProvider
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatView
|
||||
import com.google.ai.edge.gallery.ui.modelmanager.ModelManagerViewModel
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/** Navigation destination data */
|
|
@ -14,22 +14,22 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.textclassification
|
||||
package com.google.ai.edge.gallery.ui.textclassification
|
||||
|
||||
import android.util.Log
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.google.mediapipe.tasks.components.containers.Category
|
||||
import com.google.aiedge.gallery.data.Model
|
||||
import com.google.aiedge.gallery.data.TASK_TEXT_CLASSIFICATION
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessage
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.aiedge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.aiedge.gallery.ui.common.chat.Classification
|
||||
import com.google.aiedge.gallery.ui.common.getDistinctiveColor
|
||||
import com.google.aiedge.gallery.ui.common.runBasicBenchmark
|
||||
import com.google.ai.edge.gallery.data.Model
|
||||
import com.google.ai.edge.gallery.data.TASK_TEXT_CLASSIFICATION
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessage
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageClassification
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageText
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatMessageType
|
||||
import com.google.ai.edge.gallery.ui.common.chat.ChatViewModel
|
||||
import com.google.ai.edge.gallery.ui.common.chat.Classification
|
||||
import com.google.ai.edge.gallery.ui.common.getDistinctiveColor
|
||||
import com.google.ai.edge.gallery.ui.common.runBasicBenchmark
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.google.aiedge.gallery.ui.theme
|
||||
package com.google.ai.edge.gallery.ui.theme
|
||||
|
||||
import androidx.compose.ui.graphics.Color
|
||||
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue