Skip to content

Commit 865e2d4

Browse files
authored
Multiple Local Diffusions Models (#107)
* Multiple LD Models | Patch 1 * Multiple LD Models | Patch 2 * Multiple LD Models | Patch 3 * Multiple LD Models | Patch 4
1 parent 396b1ea commit 865e2d4

File tree

59 files changed

+1092
-336
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1092
-336
lines changed

app/build.gradle

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
namespace 'com.shifthackz.aisdv1.app'
1515
defaultConfig {
1616
applicationId "com.shifthackz.aisdv1.app"
17-
versionName "0.5.3"
18-
versionCode 166
17+
versionName "0.5.4"
18+
versionCode 167
1919

2020
buildConfigField "String", "IMAGE_CDN_URL", "\"https://random.imagecdn.app\""
2121
buildConfigField "String", "HORDE_AI_URL", "\"https://stablehorde.net\""
@@ -43,14 +43,23 @@ android {
4343
buildTypes.release.signingConfig = signingConfigs.release
4444
}
4545

46-
flavorDimensions "type"
46+
flavorDimensions = ["type"]
4747
productFlavors {
4848
foss {
4949
dimension "type"
5050
applicationIdSuffix = ".foss"
51-
resValue "string", "app_name", "SDAI"
51+
resValue "string", "app_name", "SDAI FOSS"
5252
buildConfigField "String", "BUILD_FLAVOR_TYPE", "\"FOSS\""
5353
}
54+
playstore {
55+
dimension "type"
56+
resValue "string", "app_name", "SDAI"
57+
buildConfigField "String", "BUILD_FLAVOR_TYPE", "\"GOOGLE_PLAY\""
58+
}
59+
}
60+
61+
buildFeatures {
62+
buildConfig true
5463
}
5564
}
5665

app/src/foss/AndroidManifest.xml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:tools="http://schemas.android.com/tools"
3+
xmlns:android="http://schemas.android.com/apk/res/android">
4+
5+
<uses-feature
6+
android:name="android.hardware.camera"
7+
android:required="false" />
8+
9+
<uses-permission android:name="android.permission.CAMERA" />
10+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
11+
<uses-permission android:name="android.permission.INTERNET" />
12+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
13+
14+
<uses-permission
15+
android:name="android.permission.READ_EXTERNAL_STORAGE"
16+
android:maxSdkVersion="32" />
17+
18+
<uses-permission
19+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
20+
android:maxSdkVersion="31"
21+
tools:ignore="ScopedStorage" />
22+
23+
<uses-permission
24+
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
25+
tools:ignore="ScopedStorage" />
26+
27+
</manifest>

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,6 @@
22
<manifest xmlns:tools="http://schemas.android.com/tools"
33
xmlns:android="http://schemas.android.com/apk/res/android">
44

5-
<uses-feature
6-
android:name="android.hardware.camera"
7-
android:required="false" />
8-
9-
<uses-permission android:name="android.permission.CAMERA" />
10-
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
11-
<uses-permission android:name="android.permission.INTERNET" />
12-
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
13-
14-
<uses-permission
15-
android:name="android.permission.READ_EXTERNAL_STORAGE"
16-
android:maxSdkVersion="32" />
17-
18-
<uses-permission
19-
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
20-
android:maxSdkVersion="31"
21-
tools:ignore="ScopedStorage" />
22-
235
<application
246
android:name=".AiStableDiffusionClientApp"
257
android:icon="@mipmap/ic_launcher"
@@ -34,7 +16,8 @@
3416
android:launchMode="singleInstance"
3517
android:screenOrientation="portrait"
3618
android:taskAffinity=""
37-
android:windowSoftInputMode="adjustResize">
19+
android:windowSoftInputMode="adjustResize"
20+
tools:ignore="LockedOrientationActivity">
3821
<intent-filter>
3922
<action android:name="android.intent.action.MAIN" />
4023
<category android:name="android.intent.category.LAUNCHER" />
@@ -50,14 +33,5 @@
5033
android:name="android.support.FILE_PROVIDER_PATHS"
5134
android:resource="@xml/file_provider_paths" />
5235
</provider>
53-
54-
<meta-data
55-
android:name="com.google.android.gms.ads.APPLICATION_ID"
56-
android:value="ca-app-pub-5994265132349884~9645142847" />
57-
58-
<meta-data
59-
android:name="applovin.sdk.key"
60-
android:value="HIShVpilJ0_bWZ4mFNgLTkzJBXDODBScGQa478ynIUQut8zdD8QkhpWnWi5cdvFWNIT8gwL_TzvXzCNCTuDGm8"/>
61-
6236
</application>
6337
</manifest>

app/src/main/java/com/shifthackz/aisdv1/app/AiStableDiffusionClientApp.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import com.shifthackz.aisdv1.app.di.featureModule
77
import com.shifthackz.aisdv1.app.di.preferenceModule
88
import com.shifthackz.aisdv1.app.di.providersModule
99
import com.shifthackz.aisdv1.core.common.log.FileLoggingTree
10+
import com.shifthackz.aisdv1.core.common.log.errorLog
1011
import com.shifthackz.aisdv1.core.imageprocessing.di.imageProcessingModule
1112
import com.shifthackz.aisdv1.core.validation.di.validatorsModule
1213
import com.shifthackz.aisdv1.data.di.dataModule
@@ -25,6 +26,7 @@ class AiStableDiffusionClientApp : Application() {
2526
override fun onCreate() {
2627
super.onCreate()
2728
StrictMode.setVmPolicy(VmPolicy.Builder().build())
29+
Thread.currentThread().setUncaughtExceptionHandler { _, t -> errorLog(t) }
2830
initializeKoin()
2931
initializeLogging()
3032
}

app/src/main/java/com/shifthackz/aisdv1/app/di/ProvidersModule.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.shifthackz.aisdv1.app.di
22

33
import com.shifthackz.aisdv1.app.BuildConfig
44
import com.shifthackz.aisdv1.core.common.appbuild.BuildInfoProvider
5+
import com.shifthackz.aisdv1.core.common.appbuild.BuildType
56
import com.shifthackz.aisdv1.core.common.appbuild.BuildVersion
67
import com.shifthackz.aisdv1.core.common.file.FileProviderDescriptor
78
import com.shifthackz.aisdv1.core.common.links.LinksProvider
@@ -11,6 +12,7 @@ import com.shifthackz.aisdv1.domain.feature.auth.AuthorizationStore
1112
import com.shifthackz.aisdv1.domain.preference.PreferenceManager
1213
import com.shifthackz.aisdv1.feature.diffusion.entity.LocalDiffusionFlag
1314
import com.shifthackz.aisdv1.feature.diffusion.environment.DeviceNNAPIFlagProvider
15+
import com.shifthackz.aisdv1.feature.diffusion.environment.LocalModelIdProvider
1416
import com.shifthackz.aisdv1.network.qualifiers.ApiUrlProvider
1517
import com.shifthackz.aisdv1.network.qualifiers.CredentialsProvider
1618
import com.shifthackz.aisdv1.network.qualifiers.HordeApiKeyProvider
@@ -73,12 +75,13 @@ val providersModule = module {
7375
override val isDebug: Boolean = BuildConfig.DEBUG
7476
override val buildNumber: Int = BuildConfig.VERSION_CODE
7577
override val version: BuildVersion = BuildVersion(BuildConfig.VERSION_NAME)
78+
override val type: BuildType = BuildType.fromBuildConfig(BuildConfig.BUILD_FLAVOR_TYPE)
7679

7780
override fun toString(): String = buildString {
7881
append("$version")
7982
if (BuildConfig.DEBUG) append("-dev")
8083
append(" ($buildNumber)")
81-
append(" FOSS")
84+
if (type == BuildType.FOSS) append(" FOSS")
8285
}
8386
}
8487
}
@@ -108,4 +111,8 @@ val providersModule = module {
108111
.let(LocalDiffusionFlag::value)
109112
}
110113
}
114+
115+
single {
116+
LocalModelIdProvider { get<PreferenceManager>().localModelId }
117+
}
111118
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:tools="http://schemas.android.com/tools"
3+
xmlns:android="http://schemas.android.com/apk/res/android">
4+
5+
<uses-feature
6+
android:name="android.hardware.camera"
7+
android:required="false" />
8+
9+
<uses-permission android:name="android.permission.CAMERA" />
10+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
11+
<uses-permission android:name="android.permission.INTERNET" />
12+
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
13+
14+
<uses-permission
15+
android:name="android.permission.READ_EXTERNAL_STORAGE"
16+
android:maxSdkVersion="32" />
17+
18+
<uses-permission
19+
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
20+
android:maxSdkVersion="31"
21+
tools:ignore="ScopedStorage" />
22+
23+
</manifest>

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ buildscript {
66
}
77

88
plugins {
9-
id 'com.android.application' version '8.2.0' apply false
10-
id 'com.android.library' version '8.2.0' apply false
9+
id 'com.android.application' version '8.2.2' apply false
10+
id 'com.android.library' version '8.2.2' apply false
1111
id 'org.jetbrains.kotlin.android' version '1.9.21' apply false
1212
}

core/common/src/main/java/com/shifthackz/aisdv1/core/common/appbuild/BuildInfoProvider.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,14 @@ interface BuildInfoProvider {
44
val isDebug: Boolean
55
val buildNumber: Int
66
val version: BuildVersion
7+
val type: BuildType
8+
9+
companion object {
10+
val stub = object : BuildInfoProvider {
11+
override val isDebug: Boolean = true
12+
override val buildNumber: Int = 0
13+
override val version: BuildVersion = BuildVersion()
14+
override val type: BuildType = BuildType.FOSS
15+
}
16+
}
717
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.shifthackz.aisdv1.core.common.appbuild
2+
3+
enum class BuildType {
4+
FOSS,
5+
PLAY;
6+
7+
companion object {
8+
fun fromBuildConfig(input: String) = when (input) {
9+
"FOSS" -> FOSS
10+
else -> PLAY
11+
}
12+
}
13+
}

core/ui/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ android {
99
namespace 'com.shifthackz.aisdv1.core.ui'
1010
buildFeatures {
1111
compose true
12+
buildConfig true
1213
}
1314
composeOptions {
1415
kotlinCompilerExtensionVersion = "1.5.7"

0 commit comments

Comments
 (0)