kopia lustrzana https://github.com/vitorpamplona/amethyst
Migrates dependencies to new versions. App now requires Android Electric Eel
rodzic
875a518a05
commit
5c9b736591
|
@ -37,7 +37,7 @@ android {
|
||||||
compose true
|
compose true
|
||||||
}
|
}
|
||||||
composeOptions {
|
composeOptions {
|
||||||
kotlinCompilerExtensionVersion '1.3.2'
|
kotlinCompilerExtensionVersion '1.4.0'
|
||||||
}
|
}
|
||||||
packagingOptions {
|
packagingOptions {
|
||||||
resources {
|
resources {
|
||||||
|
@ -48,27 +48,28 @@ android {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'androidx.core:core-ktx:1.9.0'
|
implementation 'androidx.core:core-ktx:1.9.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.0-alpha04'
|
|
||||||
implementation 'androidx.activity:activity-compose:1.6.1'
|
implementation 'androidx.activity:activity-compose:1.6.1'
|
||||||
implementation "androidx.compose.ui:ui:$compose_ui_version"
|
implementation "androidx.compose.ui:ui:$compose_ui_version"
|
||||||
implementation "androidx.compose.ui:ui-tooling-preview:$compose_ui_version"
|
implementation "androidx.compose.ui:ui-tooling-preview:$compose_ui_version"
|
||||||
implementation 'androidx.compose.material:material:1.3.1'
|
|
||||||
|
|
||||||
// Navigation
|
// Navigation
|
||||||
implementation("androidx.navigation:navigation-compose:$nav_version")
|
implementation("androidx.navigation:navigation-compose:$nav_version")
|
||||||
implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.6.0-alpha05'
|
|
||||||
implementation 'androidx.compose.runtime:runtime-livedata:1.4.0-alpha04'
|
|
||||||
implementation "androidx.compose.material:material-icons-extended:1.3.1"
|
|
||||||
|
|
||||||
// Input
|
// Observe Live data as State
|
||||||
|
implementation 'androidx.compose.runtime:runtime-livedata:1.4.0-alpha04'
|
||||||
|
|
||||||
|
implementation 'androidx.compose.material:material:1.4.0-alpha05'
|
||||||
|
implementation "androidx.compose.material:material-icons-extended:1.4.0-alpha05"
|
||||||
|
|
||||||
|
// Lifecycle
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.6.0-alpha05'
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.6.0-alpha05'
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.6.0-alpha05'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.0-alpha05'
|
||||||
|
implementation 'androidx.lifecycle:lifecycle-livedata:2.6.0-alpha05'
|
||||||
|
|
||||||
// Swipe Refresh
|
// Swipe Refresh
|
||||||
implementation 'com.google.accompanist:accompanist-swiperefresh:0.29.0-alpha'
|
implementation 'com.google.accompanist:accompanist-swiperefresh:0.29.0-alpha'
|
||||||
|
|
||||||
// Load images from the web.
|
|
||||||
implementation "io.coil-kt:coil-compose:2.2.2"
|
|
||||||
|
|
||||||
// Bitcoin secp256k1 bindings to Android
|
// Bitcoin secp256k1 bindings to Android
|
||||||
implementation 'fr.acinq.secp256k1:secp256k1-kmp-jni-android:0.7.1'
|
implementation 'fr.acinq.secp256k1:secp256k1-kmp-jni-android:0.7.1'
|
||||||
|
|
||||||
|
@ -86,24 +87,25 @@ dependencies {
|
||||||
// Json Serialization
|
// Json Serialization
|
||||||
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.14.1'
|
implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.14.1'
|
||||||
|
|
||||||
// Rendering clickable text
|
|
||||||
implementation "com.google.accompanist:accompanist-flowlayout:0.28.0"
|
|
||||||
|
|
||||||
// link preview
|
// link preview
|
||||||
implementation 'tw.com.oneup.www:Baha-UrlPreview:1.0.1'
|
implementation 'tw.com.oneup.www:Baha-UrlPreview:1.0.1'
|
||||||
implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha04'
|
implementation 'androidx.security:security-crypto-ktx:1.1.0-alpha04'
|
||||||
|
|
||||||
// upload pictures:
|
|
||||||
implementation "com.google.accompanist:accompanist-permissions:0.28.0"
|
|
||||||
|
|
||||||
// view videos
|
// view videos
|
||||||
implementation 'com.google.android.exoplayer:exoplayer:2.18.2'
|
implementation 'com.google.android.exoplayer:exoplayer:2.18.2'
|
||||||
|
|
||||||
|
// Load images from the web.
|
||||||
|
implementation "io.coil-kt:coil-compose:2.2.2"
|
||||||
// view gifs
|
// view gifs
|
||||||
implementation "io.coil-kt:coil-gif:2.2.2"
|
implementation "io.coil-kt:coil-gif:2.2.2"
|
||||||
// view svgs
|
// view svgs
|
||||||
implementation("io.coil-kt:coil-svg:2.2.2")
|
implementation("io.coil-kt:coil-svg:2.2.2")
|
||||||
|
|
||||||
|
// Rendering clickable text
|
||||||
|
implementation "com.google.accompanist:accompanist-flowlayout:$accompanist_version"
|
||||||
|
// Permission to upload pictures:
|
||||||
|
implementation "com.google.accompanist:accompanist-permissions:$accompanist_version"
|
||||||
|
|
||||||
// tabs for user profiles
|
// tabs for user profiles
|
||||||
implementation "com.google.accompanist:accompanist-pager:$accompanist_version" // Pager
|
implementation "com.google.accompanist:accompanist-pager:$accompanist_version" // Pager
|
||||||
implementation "com.google.accompanist:accompanist-pager-indicators:$accompanist_version"
|
implementation "com.google.accompanist:accompanist-pager-indicators:$accompanist_version"
|
||||||
|
|
|
@ -13,7 +13,7 @@ import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import com.google.accompanist.swiperefresh.SwipeRefresh
|
import com.google.accompanist.swiperefresh.SwipeRefresh
|
||||||
import com.google.accompanist.swiperefresh.rememberSwipeRefreshState
|
import com.google.accompanist.swiperefresh.rememberSwipeRefreshState
|
||||||
|
@ -22,7 +22,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ChatroomFeedView(viewModel: FeedViewModel, accountViewModel: AccountViewModel, navController: NavController) {
|
fun ChatroomFeedView(viewModel: FeedViewModel, accountViewModel: AccountViewModel, navController: NavController) {
|
||||||
val feedState by viewModel.feedContent.collectAsStateWithLifecycle()
|
val feedState by viewModel.feedContent.collectAsState()
|
||||||
|
|
||||||
var isRefreshing by remember { mutableStateOf(false) }
|
var isRefreshing by remember { mutableStateOf(false) }
|
||||||
val swipeRefreshState = rememberSwipeRefreshState(isRefreshing)
|
val swipeRefreshState = rememberSwipeRefreshState(isRefreshing)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.vitorpamplona.amethyst.ui.screen
|
package com.vitorpamplona.amethyst.ui.screen
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
package com.vitorpamplona.amethyst.ui.screen
|
package com.vitorpamplona.amethyst.ui.screen
|
||||||
|
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.Transformations
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.map
|
||||||
import com.vitorpamplona.amethyst.service.relays.RelayPool
|
import com.vitorpamplona.amethyst.service.relays.RelayPool
|
||||||
|
|
||||||
class RelayPoolViewModel: ViewModel() {
|
class RelayPoolViewModel: ViewModel() {
|
||||||
val connectedRelaysLiveData: LiveData<Int> = Transformations.map(RelayPool.live) {
|
val connectedRelaysLiveData: LiveData<Int> = RelayPool.live.map {
|
||||||
it.relays.connectedRelays()
|
it.relays.connectedRelays()
|
||||||
}
|
}
|
||||||
val availableRelaysLiveData: LiveData<Int> = Transformations.map(RelayPool.live) {
|
val availableRelaysLiveData: LiveData<Int> = RelayPool.live.map {
|
||||||
it.relays.availableRelays()
|
it.relays.availableRelays()
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -30,7 +30,7 @@ import androidx.compose.ui.draw.drawBehind
|
||||||
import androidx.compose.ui.geometry.Offset
|
import androidx.compose.ui.geometry.Offset
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import coil.compose.AsyncImage
|
import coil.compose.AsyncImage
|
||||||
import coil.compose.rememberAsyncImagePainter
|
import coil.compose.rememberAsyncImagePainter
|
||||||
|
@ -47,7 +47,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ThreadFeedView(noteId: String, viewModel: FeedViewModel, accountViewModel: AccountViewModel, navController: NavController) {
|
fun ThreadFeedView(noteId: String, viewModel: FeedViewModel, accountViewModel: AccountViewModel, navController: NavController) {
|
||||||
val feedState by viewModel.feedContent.collectAsStateWithLifecycle()
|
val feedState by viewModel.feedContent.collectAsState()
|
||||||
|
|
||||||
var isRefreshing by remember { mutableStateOf(false) }
|
var isRefreshing by remember { mutableStateOf(false) }
|
||||||
val swipeRefreshState = rememberSwipeRefreshState(isRefreshing)
|
val swipeRefreshState = rememberSwipeRefreshState(isRefreshing)
|
||||||
|
|
|
@ -2,17 +2,16 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.Transformations
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.map
|
||||||
import com.vitorpamplona.amethyst.LocalPreferences
|
import com.vitorpamplona.amethyst.LocalPreferences
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.AccountState
|
import com.vitorpamplona.amethyst.model.AccountState
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.model.UserState
|
|
||||||
|
|
||||||
class AccountViewModel(private val account: Account): ViewModel() {
|
class AccountViewModel(private val account: Account): ViewModel() {
|
||||||
val accountLiveData: LiveData<AccountState> = Transformations.map(account.live) { it }
|
val accountLiveData: LiveData<AccountState> = account.live.map { it }
|
||||||
|
|
||||||
fun reactTo(note: Note) {
|
fun reactTo(note: Note) {
|
||||||
account.reactTo(note)
|
account.reactTo(note)
|
||||||
|
|
10
build.gradle
10
build.gradle
|
@ -1,14 +1,14 @@
|
||||||
buildscript {
|
buildscript {
|
||||||
ext {
|
ext {
|
||||||
compose_ui_version = '1.3.3'
|
compose_ui_version = '1.4.0-alpha05'
|
||||||
nav_version = "2.5.3"
|
nav_version = "2.5.3"
|
||||||
room_version = "2.4.3"
|
room_version = "2.4.3"
|
||||||
accompanist_version = "0.28.0"
|
accompanist_version = "0.28.0"
|
||||||
}
|
}
|
||||||
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application' version '7.3.1' apply false
|
id 'com.android.application' version '7.4.0' apply false
|
||||||
id 'com.android.library' version '7.3.1' apply false
|
id 'com.android.library' version '7.4.0' apply false
|
||||||
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
|
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
|
||||||
id 'org.jetbrains.kotlin.jvm' version '1.7.20' apply false
|
id 'org.jetbrains.kotlin.jvm' version '1.8.0' apply false
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
#Wed Jan 04 09:23:50 EST 2023
|
#Wed Jan 04 09:23:50 EST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|
Ładowanie…
Reference in New Issue