Skip to content

Commit 044890b

Browse files
authored
Merge pull request #168 from Petterpx/fix_implementation_rule
fix:修复依赖错误
2 parents 6b31a69 + 51020f2 commit 044890b

14 files changed

Lines changed: 114 additions & 67 deletions

File tree

.github/workflows/android.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,11 @@ jobs:
3333
sarif_file: ${{ github.workspace }}/app/build/reports/detekt/detekt.sarif
3434
checkout_path: ${{ github.workspace }}
3535

36+
- name: Dev support
37+
env:
38+
WORKSPACE: ${{ github.workspace }}
39+
run: |
40+
cp $WORKSPACE/gradle/dev/FxComposeSimple.kt $WORKSPACE/app/src/main/java/com/petterp/floatingx/app/kotlin/FxComposeSimple.kt
41+
3642
- name: Build with Gradle
37-
run: ./gradlew assembleRelease
43+
run: ./gradlew assembleRelease -PisPublish=true

.github/workflows/publish_maven.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,17 @@ jobs:
2121
- name: Grant execute permission for gradlew
2222
run: chmod +x gradlew
2323

24+
- name: Dev support
25+
env:
26+
WORKSPACE: ${{ github.workspace }}
27+
run: |
28+
cp $WORKSPACE/gradle/dev/FxComposeSimple.kt $WORKSPACE/app/src/main/java/com/petterp/floatingx/app/kotlin/FxComposeSimple.kt
29+
2430
- name: publish maven
2531
env:
2632
MAVEN_USERNAME: ${{ secrets.MAVEN_USER_NAME }}
2733
MAVEN_PASSWORD: ${{ secrets.MAVEN_PASS_WORD }}
2834
SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY}}
2935
SIGNING_KEY_ID: ${{ secrets.GPG_SIGNING_KEY_ID }}
3036
SIGNING_PASSWORD: ${{ secrets.GPG_SIGNING_PASS_WORD }}
31-
run: ./gradlew publish -PSONATYPE_AUTOMATIC_RELEASE=true -PmavenCentralUsername=$MAVEN_USERNAME -PmavenCentralPassword=$MAVEN_PASSWORD -PsigningInMemoryKeyId=$SIGNING_KEY_ID -PsigningInMemoryKeyPassword=$SIGNING_PASSWORD -PsigningInMemoryKey=$SIGNING_KEY
37+
run: ./gradlew publish -PisPublish=true -PSONATYPE_AUTOMATIC_RELEASE=true -PmavenCentralUsername=$MAVEN_USERNAME -PmavenCentralPassword=$MAVEN_PASSWORD -PsigningInMemoryKeyId=$SIGNING_KEY_ID -PsigningInMemoryKeyPassword=$SIGNING_PASSWORD -PsigningInMemoryKey=$SIGNING_KEY

app/build.gradle

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
plugins {
22
id 'com.android.application'
3-
id 'kotlin-android'
3+
id 'org.jetbrains.kotlin.android'
44
}
5+
if (!isPublish) apply from: "../gradle/dev_compose.gradle"
56

67
android {
78
signingConfigs {
@@ -12,19 +13,12 @@ android {
1213
keyPassword '19980920.'
1314
}
1415
}
15-
compileSdk 33
16-
17-
composeOptions {
18-
kotlinCompilerExtensionVersion = '1.5.3'
19-
}
20-
buildFeatures {
21-
compose = true
22-
}
16+
compileSdk 34
2317

2418
defaultConfig {
2519
applicationId "com.petterp.floatingx.app"
2620
minSdk 21
27-
targetSdk 33
21+
targetSdk 34
2822
versionCode 1
2923
versionName "1.0"
3024
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -53,23 +47,13 @@ android {
5347

5448
dependencies {
5549
implementation fileTree(dir: 'libs', include: ['*.jar'])
56-
implementation project(path: ':floatingx')
57-
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.10"
58-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10"
5950
implementation 'androidx.appcompat:appcompat:1.3.0'
6051
implementation 'com.google.android.material:material:1.4.0'
6152
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
62-
implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
63-
implementation project(':floatingx_compose')
53+
6454
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10'
65-
implementation platform("androidx.compose:compose-bom:2023.06.01")
66-
implementation "androidx.compose.ui:ui:1.3.3"
67-
implementation "androidx.compose.ui:ui-graphics"
68-
implementation "androidx.compose.ui:ui-tooling-preview"
69-
implementation "androidx.compose.material3:material3"
70-
debugImplementation 'androidx.compose.ui:ui-tooling'
71-
debugImplementation 'com.squareup.leakcanary:leakcanary-object-watcher-android-startup:2.10'
55+
debugImplementation "com.bytedance.tools.codelocator:codelocator-core:2.0.3"
56+
// debugImplementation 'com.squareup.leakcanary:leakcanary-object-watcher-android-startup:2.10'
7257
implementation isDev ? project(path: ':floatingx_compose') : "io.github.petterpx:floatingx-compose:$version_name"
7358
implementation isDev ? project(path: ':floatingx') : "io.github.petterpx:floatingx:$version_name"
74-
debugImplementation "com.bytedance.tools.codelocator:codelocator-core:2.0.3"
7559
}

app/src/main/java/com/petterp/floatingx/app/kotlin/FxComposeSimple.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,16 @@ package com.petterp.floatingx.app.kotlin
33
import android.app.Application
44
import androidx.compose.foundation.background
55
import androidx.compose.foundation.layout.Box
6-
import androidx.compose.foundation.layout.fillMaxHeight
7-
import androidx.compose.foundation.layout.padding
86
import androidx.compose.foundation.layout.size
9-
import androidx.compose.foundation.layout.wrapContentSize
10-
import androidx.compose.foundation.layout.wrapContentWidth
117
import androidx.compose.foundation.shape.CircleShape
128
import androidx.compose.material3.Text
13-
import androidx.compose.material3.contentColorFor
149
import androidx.compose.ui.Alignment
1510
import androidx.compose.ui.Modifier
1611
import androidx.compose.ui.draw.clip
1712
import androidx.compose.ui.graphics.Color
1813
import androidx.compose.ui.platform.ComposeView
1914
import androidx.compose.ui.unit.dp
2015
import com.petterp.floatingx.FloatingX
21-
import com.petterp.floatingx.app.test.MultipleFxActivity
2216
import com.petterp.floatingx.assist.FxGravity
2317
import com.petterp.floatingx.assist.FxScopeType
2418
import com.petterp.floatingx.compose.enableComposeSupport

app/src/main/java/com/petterp/floatingx/app/kotlin/FxSystemSimple.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ object FxSystemSimple {
8383
setAnimationImpl(FxAnimationImpl())
8484
// 设置移动边框
8585
setBorderMargin(50f, 50f, 50f, 50f)
86-
enableComposeSupport()
8786
/** 指定浮窗可显示的activity方式 */
8887
// 1.设置是否允许所有activity都进行显示,默认true
8988
setEnableAllInstall(true)

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
buildscript {
2-
apply from: "config.gradle"
2+
apply from: "gradle/config.gradle"
33
dependencies {
44
classpath 'com.android.tools.build:gradle:7.4.2'
5-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10"
5+
if (isPublish) classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
6+
else classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10"
67
}
78
}
89

910
plugins {
1011
id 'io.gitlab.arturbosch.detekt' version '1.22.0' apply false
1112
id "com.vanniktech.maven.publish" version "0.25.3"
1213
id 'com.android.library' version '7.4.2' apply false
13-
id 'org.jetbrains.kotlin.android' version '1.9.10' apply false
1414
id 'org.jetbrains.dokka' version '1.9.20'
1515
}

floatingx/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ android {
1313
namespace 'com.petterp.floatingx'
1414

1515
compileSdk compilesdk_version
16+
def android = rootProject.ext
1617

1718
defaultConfig {
18-
minSdk 21
19-
targetSdk 31
20-
versionCode versionCode
19+
minSdk minsdk_version
20+
targetSdk targetsdk_version
21+
versionCode version_code
2122
versionName version_name
2223
consumerProguardFiles "proguard-floatingx.pro"
2324
}

floatingx_compose/build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ android {
1313
namespace 'com.petterp.floatingx.compose'
1414

1515
compileSdk compilesdk_version
16-
1716
defaultConfig {
18-
minSdk 21
19-
versionCode versionCode
17+
minSdk minsdk_version
18+
targetSdk targetsdk_version
19+
versionCode version_code
2020
versionName version_name
2121
consumerProguardFiles "proguard-floatingx-compose.pro"
2222
}
@@ -43,6 +43,5 @@ dependencies {
4343
implementation project(':floatingx')
4444
implementation 'androidx.appcompat:appcompat:1.3.0'
4545
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
46-
implementation "androidx.lifecycle:lifecycle-runtime:2.6.1"
4746
dokkaPlugin 'org.jetbrains.dokka:android-documentation-plugin:1.9.20'
4847
}

floatingx_compose/src/main/java/com/petterp/floatingx/compose/FxAppBuilderExt.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.petterp.floatingx.compose
22

33
import android.view.View
44
import android.widget.FrameLayout.VISIBLE
5-
import androidx.lifecycle.findViewTreeLifecycleOwner
5+
import androidx.lifecycle.ViewTreeLifecycleOwner
66
import com.petterp.floatingx.assist.helper.FxAppHelper
77
import com.petterp.floatingx.listener.IFxViewLifecycle
88

@@ -19,7 +19,7 @@ internal class FxComposeViewLifecycleImp : IFxViewLifecycle {
1919

2020
override fun attach(view: View) {
2121
// 如果存在viewLifecycle,没有必要开启这些
22-
if (lifecycleOwner != null || view.findViewTreeLifecycleOwner() != null) return
22+
if (lifecycleOwner != null || ViewTreeLifecycleOwner.get(view) != null) return
2323
lifecycleOwner = FxComposeLifecycleOwner()
2424
lifecycleOwner?.attachToDecorView(view)
2525
lifecycleOwner?.onCreate()

floatingx_compose/src/main/java/com/petterp/floatingx/compose/FxComposeLifecycleOwner.kt

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,23 @@ import androidx.lifecycle.LifecycleOwner
66
import androidx.lifecycle.LifecycleRegistry
77
import androidx.lifecycle.ViewModelStore
88
import androidx.lifecycle.ViewModelStoreOwner
9-
import androidx.lifecycle.setViewTreeLifecycleOwner
10-
import androidx.lifecycle.setViewTreeViewModelStoreOwner
11-
import androidx.savedstate.SavedStateRegistry
9+
import androidx.lifecycle.ViewTreeLifecycleOwner
10+
import androidx.lifecycle.ViewTreeViewModelStoreOwner
1211
import androidx.savedstate.SavedStateRegistryController
1312
import androidx.savedstate.SavedStateRegistryOwner
14-
import androidx.savedstate.setViewTreeSavedStateRegistryOwner
13+
import androidx.savedstate.ViewTreeSavedStateRegistryOwner
1514

1615
class FxComposeLifecycleOwner : LifecycleOwner, ViewModelStoreOwner, SavedStateRegistryOwner {
1716

1817
private val lifecycleRegistry: LifecycleRegistry = LifecycleRegistry(this)
1918
private val savedStateRegistryController = SavedStateRegistryController.create(this)
2019
private val store = ViewModelStore()
2120

22-
override val lifecycle: Lifecycle
23-
get() = lifecycleRegistry
24-
override val savedStateRegistry: SavedStateRegistry
25-
get() = savedStateRegistryController.savedStateRegistry
26-
override val viewModelStore: ViewModelStore
27-
get() = store
21+
override fun getLifecycle() = lifecycleRegistry
2822

23+
override fun getSavedStateRegistry() = savedStateRegistryController.savedStateRegistry
24+
25+
override fun getViewModelStore() = store
2926

3027
fun onCreate() {
3128
savedStateRegistryController.performRestore(null)
@@ -60,17 +57,17 @@ class FxComposeLifecycleOwner : LifecycleOwner, ViewModelStoreOwner, SavedStateR
6057
*/
6158
fun attachToDecorView(decorView: View?) {
6259
decorView?.let {
63-
it.setViewTreeViewModelStoreOwner(this)
64-
it.setViewTreeLifecycleOwner(this)
65-
it.setViewTreeSavedStateRegistryOwner(this)
60+
ViewTreeLifecycleOwner.set(it, this)
61+
ViewTreeViewModelStoreOwner.set(it, this)
62+
ViewTreeSavedStateRegistryOwner.set(it, this)
6663
} ?: return
6764
}
6865

6966
fun detachFromDecorView(decorView: View?) {
7067
decorView?.let {
71-
it.setViewTreeViewModelStoreOwner(null)
72-
it.setViewTreeLifecycleOwner(null)
73-
it.setViewTreeSavedStateRegistryOwner(null)
68+
ViewTreeLifecycleOwner.set(it, null)
69+
ViewTreeViewModelStoreOwner.set(it, null)
70+
ViewTreeSavedStateRegistryOwner.set(it, null)
7471
} ?: return
7572
}
7673
}

0 commit comments

Comments
 (0)