Set up project skeleton (milestone 1)
- Architecture and feature overview in docs/ARCHITECTURE.md - Gradle 9.8 / AGP 9.4 / Kotlin 2.4 with version catalog and convention plugins - Modules :app, :core:*, :device-profiles, :feature:* (placeholder screens) - Flavors core (no INTERNET, enforced by a build check) and full - Material You theme, navigation, expert mode and dry-run settings (DataStore) - Pixel 8-10 device detection, unit tests, GPLv3 license, English README with Obtainium badge Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
plugins {
|
||||
alias(libs.plugins.pixelwall.android.library)
|
||||
alias(libs.plugins.pixelwall.android.hilt)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "org.pixelwall.core.system"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(project(":core:domain"))
|
||||
implementation(libs.androidx.core.ktx)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package org.pixelwall.core.system
|
||||
|
||||
import android.os.Build
|
||||
import org.pixelwall.core.domain.DeviceInfoProvider
|
||||
import org.pixelwall.core.model.DeviceInfo
|
||||
import javax.inject.Inject
|
||||
|
||||
class BuildDeviceInfoProvider @Inject constructor() : DeviceInfoProvider {
|
||||
override fun current() = DeviceInfo(
|
||||
manufacturer = Build.MANUFACTURER,
|
||||
brand = Build.BRAND,
|
||||
device = Build.DEVICE,
|
||||
model = Build.MODEL,
|
||||
sdkInt = Build.VERSION.SDK_INT,
|
||||
release = Build.VERSION.RELEASE,
|
||||
securityPatch = Build.VERSION.SECURITY_PATCH,
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package org.pixelwall.core.system.di
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import org.pixelwall.core.domain.DeviceInfoProvider
|
||||
import org.pixelwall.core.system.BuildDeviceInfoProvider
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
abstract class SystemModule {
|
||||
@Binds
|
||||
abstract fun bindDeviceInfoProvider(impl: BuildDeviceInfoProvider): DeviceInfoProvider
|
||||
}
|
||||
Reference in New Issue
Block a user