mirror of
https://github.com/pawelorzech/SunZones.git
synced 2026-01-29 19:54:26 +00:00
Initial commit
This commit is contained in:
commit
25878882e8
839 changed files with 32221 additions and 0 deletions
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Compiled class file
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# Log file
|
||||||
|
*.log
|
||||||
|
|
||||||
|
# BlueJ files
|
||||||
|
*.ctxt
|
||||||
|
|
||||||
|
# Mobile Tools for Java (J2ME)
|
||||||
|
.mtj.tmp/
|
||||||
|
|
||||||
|
# Package Files #
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.nar
|
||||||
|
*.ear
|
||||||
|
*.zip
|
||||||
|
*.tar.gz
|
||||||
|
*.rar
|
||||||
|
|
||||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||||
|
hs_err_pid*
|
||||||
|
replay_pid*
|
||||||
|
|
||||||
|
# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects
|
||||||
|
.kotlin/
|
||||||
BIN
.gradle/8.11.1/checksums/checksums.lock
Normal file
BIN
.gradle/8.11.1/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/checksums/md5-checksums.bin
Normal file
BIN
.gradle/8.11.1/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/8.11.1/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/8.11.1/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/8.11.1/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/fileChanges/last-build.bin
Normal file
BIN
.gradle/8.11.1/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/8.11.1/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/8.11.1/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/8.11.1/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/8.11.1/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
.gradle/8.11.1/gc.properties
Normal file
0
.gradle/8.11.1/gc.properties
Normal file
BIN
.gradle/8.13/checksums/checksums.lock
Normal file
BIN
.gradle/8.13/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/checksums/md5-checksums.bin
Normal file
BIN
.gradle/8.13/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/8.13/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/8.13/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/8.13/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileChanges/last-build.bin
Normal file
BIN
.gradle/8.13/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/8.13/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/8.13/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/8.13/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/8.13/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
.gradle/8.13/gc.properties
Normal file
0
.gradle/8.13/gc.properties
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
Binary file not shown.
2
.gradle/buildOutputCleanup/cache.properties
Normal file
2
.gradle/buildOutputCleanup/cache.properties
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#Tue Jan 27 15:10:02 CET 2026
|
||||||
|
gradle.version=8.13
|
||||||
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
2
.gradle/config.properties
Normal file
2
.gradle/config.properties
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#Tue Jan 27 12:56:15 CET 2026
|
||||||
|
java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
|
||||||
BIN
.gradle/file-system.probe
Normal file
BIN
.gradle/file-system.probe
Normal file
Binary file not shown.
0
.gradle/vcs-1/gc.properties
Normal file
0
.gradle/vcs-1/gc.properties
Normal file
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
6
.idea/AndroidProjectSystem.xml
Normal file
6
.idea/AndroidProjectSystem.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AndroidProjectSystem">
|
||||||
|
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
23
.idea/appInsightsSettings.xml
Normal file
23
.idea/appInsightsSettings.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AppInsightsSettings">
|
||||||
|
<option name="tabSettings">
|
||||||
|
<map>
|
||||||
|
<entry key="Android Vitals">
|
||||||
|
<value>
|
||||||
|
<InsightsFilterSettings>
|
||||||
|
<option name="connection">
|
||||||
|
<ConnectionSetting>
|
||||||
|
<option name="appId" value="com.dotenote" />
|
||||||
|
</ConnectionSetting>
|
||||||
|
</option>
|
||||||
|
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||||
|
<option name="timeIntervalDays" value="SEVEN_DAYS" />
|
||||||
|
<option name="visibilityType" value="ALL" />
|
||||||
|
</InsightsFilterSettings>
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
1298
.idea/caches/deviceStreaming.xml
Normal file
1298
.idea/caches/deviceStreaming.xml
Normal file
File diff suppressed because it is too large
Load diff
6
.idea/compiler.xml
Normal file
6
.idea/compiler.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<bytecodeTargetLevel target="21" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
18
.idea/deploymentTargetSelector.xml
Normal file
18
.idea/deploymentTargetSelector.xml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetSelector">
|
||||||
|
<selectionStates>
|
||||||
|
<SelectionState runConfigName="app">
|
||||||
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
<DropdownSelection timestamp="2026-01-27T14:11:29.222167Z">
|
||||||
|
<Target type="DEFAULT_BOOT">
|
||||||
|
<handle>
|
||||||
|
<DeviceId pluginId="LocalEmulator" identifier="path=/Users/pawelorzech/.android/avd/Pixel_9a.avd" />
|
||||||
|
</handle>
|
||||||
|
</Target>
|
||||||
|
</DropdownSelection>
|
||||||
|
<DialogSelection />
|
||||||
|
</SelectionState>
|
||||||
|
</selectionStates>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
13
.idea/deviceManager.xml
Normal file
13
.idea/deviceManager.xml
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DeviceTable">
|
||||||
|
<option name="columnSorters">
|
||||||
|
<list>
|
||||||
|
<ColumnSorterState>
|
||||||
|
<option name="column" value="Name" />
|
||||||
|
<option name="order" value="ASCENDING" />
|
||||||
|
</ColumnSorterState>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
19
.idea/gradle.xml
Normal file
19
.idea/gradle.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||||
|
<option name="modules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
10
.idea/migrations.xml
Normal file
10
.idea/migrations.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectMigrations">
|
||||||
|
<option name="MigrateToGradleLocalJavaHome">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
9
.idea/misc.xml
Normal file
9
.idea/misc.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="Android" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
17
.idea/runConfigurations.xml
Normal file
17
.idea/runConfigurations.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RunConfigurationProducerService">
|
||||||
|
<option name="ignoredProducers">
|
||||||
|
<set>
|
||||||
|
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
55
CLAUDE.md
Normal file
55
CLAUDE.md
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
# CLAUDE.md
|
||||||
|
|
||||||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||||
|
|
||||||
|
## Build Commands
|
||||||
|
|
||||||
|
**Requires Java 17** — the system default may be Java 25 which Gradle 8.11.1 doesn't support:
|
||||||
|
```bash
|
||||||
|
export JAVA_HOME="/opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home"
|
||||||
|
./gradlew assembleDebug
|
||||||
|
```
|
||||||
|
|
||||||
|
Clean build:
|
||||||
|
```bash
|
||||||
|
./gradlew clean assembleDebug
|
||||||
|
```
|
||||||
|
|
||||||
|
Android SDK is at `~/Library/Android/sdk` (set in `local.properties`).
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
Clean MVVM with Hilt DI. Single-activity Compose app — no navigation library, just one screen with a modal bottom sheet.
|
||||||
|
|
||||||
|
**Data flow:**
|
||||||
|
```
|
||||||
|
Room DB (Flow) → LocationDao → LocationRepository → GetLocationsUseCase
|
||||||
|
→ maps each LocationEntity through CalculateSunTimesUseCase → SunLocation
|
||||||
|
→ MainViewModel (StateFlow<MainUiState>) → Compose (collectAsState)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Layer responsibilities:**
|
||||||
|
- `data/local/` — Room entity, DAO, database. `LocationEntity` stores lat/lng, timezone ID string, display order
|
||||||
|
- `data/repository/` — Thin wrapper over DAO, adds `replaceCurrentLocation` (delete old + insert)
|
||||||
|
- `domain/usecase/` — `CalculateSunTimesUseCase` uses `commons-suncalc` library to compute sunrise/sunset/progress for a given entity and its stored timezone. `GetLocationsUseCase` maps the Room Flow through calculations
|
||||||
|
- `domain/model/` — `SunLocation` is the UI-ready model with computed fields (dayLengthFormatted, sunProgress 0–1, isDaytime)
|
||||||
|
- `ui/main/` — `MainViewModel` collects locations flow + refreshes every 60s. `MainScreen` is a `HorizontalPager` of `SunCard` composables with a FAB
|
||||||
|
- `ui/addlocation/` — `AddLocationViewModel` handles Geocoder search and GPS via `FusedLocationProviderClient`. Timezone is resolved using `android.icu.util.TimeZone.getAvailableIDs(countryCode)` from the Geocoder's Address
|
||||||
|
- `di/AppModule.kt` — Provides Room DB, DAO, Geocoder, FusedLocationProviderClient as Hilt singletons
|
||||||
|
|
||||||
|
**Key design decisions:**
|
||||||
|
- Timezone stored per location as IANA string (e.g. "Asia/Tokyo"). Resolved at save time via Android ICU + Geocoder country code (NOT `timezonemap` library — that crashes on Android due to missing `zstd-jni` native libs)
|
||||||
|
- Sun progress (0–1 float) calculated against the location's local time, not device time
|
||||||
|
- SunCard gradient background changes by time-of-day bucket (sunrise/morning/midday/afternoon/sunset/twilight/night)
|
||||||
|
- Long-press on card to delete (avoids gesture conflict with HorizontalPager swipe)
|
||||||
|
|
||||||
|
## Key Dependencies
|
||||||
|
|
||||||
|
- `org.shredzone.commons:commons-suncalc:3.11` — sunrise/sunset/sun position calculations
|
||||||
|
- `com.google.android.gms:play-services-location` — FusedLocationProviderClient for GPS
|
||||||
|
- Android `Geocoder` — forward search (city name → lat/lng) and reverse geocode (lat/lng → city name + country code)
|
||||||
|
- `android.icu.util.TimeZone` — built-in Android API for country code → timezone ID lookup (no extra dependency)
|
||||||
|
|
||||||
|
## i18n
|
||||||
|
|
||||||
|
English default in `res/values/strings.xml`, Polish translations in `res/values-pl/strings.xml`. All user-visible strings use `stringResource(R.string.*)`.
|
||||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2026 Paweł Orzech
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
2
README.md
Normal file
2
README.md
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# SunZones
|
||||||
|
|
||||||
72
app/build.gradle.kts
Normal file
72
app/build.gradle.kts
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
plugins {
|
||||||
|
alias(libs.plugins.android.application)
|
||||||
|
alias(libs.plugins.kotlin.android)
|
||||||
|
alias(libs.plugins.kotlin.compose)
|
||||||
|
alias(libs.plugins.ksp)
|
||||||
|
alias(libs.plugins.hilt.android)
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace = "com.sunzones"
|
||||||
|
compileSdk = 35
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId = "com.sunzones"
|
||||||
|
minSdk = 26
|
||||||
|
targetSdk = 35
|
||||||
|
versionCode = 1
|
||||||
|
versionName = "1.0"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
isMinifyEnabled = true
|
||||||
|
isShrinkResources = true
|
||||||
|
proguardFiles(
|
||||||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
|
"proguard-rules.pro"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "17"
|
||||||
|
}
|
||||||
|
|
||||||
|
buildFeatures {
|
||||||
|
compose = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(libs.androidx.core.ktx)
|
||||||
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||||||
|
implementation(libs.androidx.lifecycle.viewmodel.compose)
|
||||||
|
implementation(libs.androidx.lifecycle.runtime.compose)
|
||||||
|
implementation(libs.androidx.activity.compose)
|
||||||
|
|
||||||
|
implementation(platform(libs.androidx.compose.bom))
|
||||||
|
implementation(libs.androidx.ui)
|
||||||
|
implementation(libs.androidx.ui.graphics)
|
||||||
|
implementation(libs.androidx.ui.tooling.preview)
|
||||||
|
implementation(libs.androidx.material3)
|
||||||
|
implementation(libs.androidx.foundation)
|
||||||
|
implementation(libs.androidx.material.icons.extended)
|
||||||
|
debugImplementation(libs.androidx.ui.tooling)
|
||||||
|
|
||||||
|
implementation(libs.hilt.android)
|
||||||
|
ksp(libs.hilt.android.compiler)
|
||||||
|
implementation(libs.hilt.navigation.compose)
|
||||||
|
|
||||||
|
implementation(libs.room.runtime)
|
||||||
|
implementation(libs.room.ktx)
|
||||||
|
ksp(libs.room.compiler)
|
||||||
|
|
||||||
|
implementation(libs.suncalc)
|
||||||
|
implementation(libs.play.services.location)
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,633 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.Service;
|
||||||
|
import android.location.Geocoder;
|
||||||
|
import android.view.View;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.lifecycle.SavedStateHandle;
|
||||||
|
import androidx.lifecycle.ViewModel;
|
||||||
|
import com.google.android.gms.location.FusedLocationProviderClient;
|
||||||
|
import com.sunzones.data.local.AppDatabase;
|
||||||
|
import com.sunzones.data.local.LocationDao;
|
||||||
|
import com.sunzones.data.repository.LocationRepository;
|
||||||
|
import com.sunzones.di.AppModule_ProvideDatabaseFactory;
|
||||||
|
import com.sunzones.di.AppModule_ProvideFusedLocationClientFactory;
|
||||||
|
import com.sunzones.di.AppModule_ProvideGeocoderFactory;
|
||||||
|
import com.sunzones.di.AppModule_ProvideLocationDaoFactory;
|
||||||
|
import com.sunzones.domain.usecase.CalculateSunTimesUseCase;
|
||||||
|
import com.sunzones.domain.usecase.CalculateYearlyDaylightUseCase;
|
||||||
|
import com.sunzones.domain.usecase.GetLocationsUseCase;
|
||||||
|
import com.sunzones.ui.addlocation.AddLocationViewModel;
|
||||||
|
import com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules;
|
||||||
|
import com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules_BindsModule_Binds_LazyMapKey;
|
||||||
|
import com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules_KeyModule_Provide_LazyMapKey;
|
||||||
|
import com.sunzones.ui.main.MainViewModel;
|
||||||
|
import com.sunzones.ui.main.MainViewModel_HiltModules;
|
||||||
|
import com.sunzones.ui.main.MainViewModel_HiltModules_BindsModule_Binds_LazyMapKey;
|
||||||
|
import com.sunzones.ui.main.MainViewModel_HiltModules_KeyModule_Provide_LazyMapKey;
|
||||||
|
import dagger.hilt.android.ActivityRetainedLifecycle;
|
||||||
|
import dagger.hilt.android.ViewModelLifecycle;
|
||||||
|
import dagger.hilt.android.internal.builders.ActivityComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ActivityRetainedComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.FragmentComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ServiceComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewModelComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewWithFragmentComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories_InternalFactoryFactory_Factory;
|
||||||
|
import dagger.hilt.android.internal.managers.ActivityRetainedComponentManager_LifecycleModule_ProvideActivityRetainedLifecycleFactory;
|
||||||
|
import dagger.hilt.android.internal.managers.SavedStateHandleHolder;
|
||||||
|
import dagger.hilt.android.internal.modules.ApplicationContextModule;
|
||||||
|
import dagger.hilt.android.internal.modules.ApplicationContextModule_ProvideContextFactory;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.DoubleCheck;
|
||||||
|
import dagger.internal.LazyClassKeyMap;
|
||||||
|
import dagger.internal.MapBuilder;
|
||||||
|
import dagger.internal.Preconditions;
|
||||||
|
import dagger.internal.Provider;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class DaggerSunZonesApp_HiltComponents_SingletonC {
|
||||||
|
private DaggerSunZonesApp_HiltComponents_SingletonC() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class Builder {
|
||||||
|
private ApplicationContextModule applicationContextModule;
|
||||||
|
|
||||||
|
private Builder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder applicationContextModule(ApplicationContextModule applicationContextModule) {
|
||||||
|
this.applicationContextModule = Preconditions.checkNotNull(applicationContextModule);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SunZonesApp_HiltComponents.SingletonC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(applicationContextModule, ApplicationContextModule.class);
|
||||||
|
return new SingletonCImpl(applicationContextModule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ActivityRetainedCBuilder implements SunZonesApp_HiltComponents.ActivityRetainedC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private SavedStateHandleHolder savedStateHandleHolder;
|
||||||
|
|
||||||
|
private ActivityRetainedCBuilder(SingletonCImpl singletonCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityRetainedCBuilder savedStateHandleHolder(
|
||||||
|
SavedStateHandleHolder savedStateHandleHolder) {
|
||||||
|
this.savedStateHandleHolder = Preconditions.checkNotNull(savedStateHandleHolder);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ActivityRetainedC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(savedStateHandleHolder, SavedStateHandleHolder.class);
|
||||||
|
return new ActivityRetainedCImpl(singletonCImpl, savedStateHandleHolder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ActivityCBuilder implements SunZonesApp_HiltComponents.ActivityC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private Activity activity;
|
||||||
|
|
||||||
|
private ActivityCBuilder(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityCBuilder activity(Activity activity) {
|
||||||
|
this.activity = Preconditions.checkNotNull(activity);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ActivityC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(activity, Activity.class);
|
||||||
|
return new ActivityCImpl(singletonCImpl, activityRetainedCImpl, activity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class FragmentCBuilder implements SunZonesApp_HiltComponents.FragmentC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private Fragment fragment;
|
||||||
|
|
||||||
|
private FragmentCBuilder(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FragmentCBuilder fragment(Fragment fragment) {
|
||||||
|
this.fragment = Preconditions.checkNotNull(fragment);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.FragmentC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(fragment, Fragment.class);
|
||||||
|
return new FragmentCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, fragment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewWithFragmentCBuilder implements SunZonesApp_HiltComponents.ViewWithFragmentC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private final FragmentCImpl fragmentCImpl;
|
||||||
|
|
||||||
|
private View view;
|
||||||
|
|
||||||
|
private ViewWithFragmentCBuilder(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
|
||||||
|
FragmentCImpl fragmentCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
this.fragmentCImpl = fragmentCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewWithFragmentCBuilder view(View view) {
|
||||||
|
this.view = Preconditions.checkNotNull(view);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ViewWithFragmentC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(view, View.class);
|
||||||
|
return new ViewWithFragmentCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, fragmentCImpl, view);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewCBuilder implements SunZonesApp_HiltComponents.ViewC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private View view;
|
||||||
|
|
||||||
|
private ViewCBuilder(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
|
||||||
|
ActivityCImpl activityCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewCBuilder view(View view) {
|
||||||
|
this.view = Preconditions.checkNotNull(view);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ViewC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(view, View.class);
|
||||||
|
return new ViewCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, view);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewModelCBuilder implements SunZonesApp_HiltComponents.ViewModelC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private SavedStateHandle savedStateHandle;
|
||||||
|
|
||||||
|
private ViewModelLifecycle viewModelLifecycle;
|
||||||
|
|
||||||
|
private ViewModelCBuilder(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewModelCBuilder savedStateHandle(SavedStateHandle handle) {
|
||||||
|
this.savedStateHandle = Preconditions.checkNotNull(handle);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewModelCBuilder viewModelLifecycle(ViewModelLifecycle viewModelLifecycle) {
|
||||||
|
this.viewModelLifecycle = Preconditions.checkNotNull(viewModelLifecycle);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ViewModelC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(savedStateHandle, SavedStateHandle.class);
|
||||||
|
Preconditions.checkBuilderRequirement(viewModelLifecycle, ViewModelLifecycle.class);
|
||||||
|
return new ViewModelCImpl(singletonCImpl, activityRetainedCImpl, savedStateHandle, viewModelLifecycle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ServiceCBuilder implements SunZonesApp_HiltComponents.ServiceC.Builder {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private Service service;
|
||||||
|
|
||||||
|
private ServiceCBuilder(SingletonCImpl singletonCImpl) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServiceCBuilder service(Service service) {
|
||||||
|
this.service = Preconditions.checkNotNull(service);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SunZonesApp_HiltComponents.ServiceC build() {
|
||||||
|
Preconditions.checkBuilderRequirement(service, Service.class);
|
||||||
|
return new ServiceCImpl(singletonCImpl, service);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewWithFragmentCImpl extends SunZonesApp_HiltComponents.ViewWithFragmentC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private final FragmentCImpl fragmentCImpl;
|
||||||
|
|
||||||
|
private final ViewWithFragmentCImpl viewWithFragmentCImpl = this;
|
||||||
|
|
||||||
|
private ViewWithFragmentCImpl(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
|
||||||
|
FragmentCImpl fragmentCImpl, View viewParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
this.fragmentCImpl = fragmentCImpl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class FragmentCImpl extends SunZonesApp_HiltComponents.FragmentC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private final FragmentCImpl fragmentCImpl = this;
|
||||||
|
|
||||||
|
private FragmentCImpl(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
|
||||||
|
Fragment fragmentParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DefaultViewModelFactories.InternalFactoryFactory getHiltInternalFactoryFactory() {
|
||||||
|
return activityCImpl.getHiltInternalFactoryFactory();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewWithFragmentComponentBuilder viewWithFragmentComponentBuilder() {
|
||||||
|
return new ViewWithFragmentCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl, fragmentCImpl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewCImpl extends SunZonesApp_HiltComponents.ViewC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl;
|
||||||
|
|
||||||
|
private final ViewCImpl viewCImpl = this;
|
||||||
|
|
||||||
|
private ViewCImpl(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
|
||||||
|
ActivityCImpl activityCImpl, View viewParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.activityCImpl = activityCImpl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ActivityCImpl extends SunZonesApp_HiltComponents.ActivityC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ActivityCImpl activityCImpl = this;
|
||||||
|
|
||||||
|
private ActivityCImpl(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, Activity activityParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void injectMainActivity(MainActivity mainActivity) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DefaultViewModelFactories.InternalFactoryFactory getHiltInternalFactoryFactory() {
|
||||||
|
return DefaultViewModelFactories_InternalFactoryFactory_Factory.newInstance(getViewModelKeys(), new ViewModelCBuilder(singletonCImpl, activityRetainedCImpl));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Class<?>, Boolean> getViewModelKeys() {
|
||||||
|
return LazyClassKeyMap.<Boolean>of(MapBuilder.<String, Boolean>newMapBuilder(2).put(AddLocationViewModel_HiltModules_KeyModule_Provide_LazyMapKey.lazyClassKeyName, AddLocationViewModel_HiltModules.KeyModule.provide()).put(MainViewModel_HiltModules_KeyModule_Provide_LazyMapKey.lazyClassKeyName, MainViewModel_HiltModules.KeyModule.provide()).build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewModelComponentBuilder getViewModelComponentBuilder() {
|
||||||
|
return new ViewModelCBuilder(singletonCImpl, activityRetainedCImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FragmentComponentBuilder fragmentComponentBuilder() {
|
||||||
|
return new FragmentCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewComponentBuilder viewComponentBuilder() {
|
||||||
|
return new ViewCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ViewModelCImpl extends SunZonesApp_HiltComponents.ViewModelC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ViewModelCImpl viewModelCImpl = this;
|
||||||
|
|
||||||
|
private Provider<AddLocationViewModel> addLocationViewModelProvider;
|
||||||
|
|
||||||
|
private Provider<MainViewModel> mainViewModelProvider;
|
||||||
|
|
||||||
|
private ViewModelCImpl(SingletonCImpl singletonCImpl,
|
||||||
|
ActivityRetainedCImpl activityRetainedCImpl, SavedStateHandle savedStateHandleParam,
|
||||||
|
ViewModelLifecycle viewModelLifecycleParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
|
||||||
|
initialize(savedStateHandleParam, viewModelLifecycleParam);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private GetLocationsUseCase getLocationsUseCase() {
|
||||||
|
return new GetLocationsUseCase(singletonCImpl.locationRepositoryProvider.get(), new CalculateSunTimesUseCase());
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
private void initialize(final SavedStateHandle savedStateHandleParam,
|
||||||
|
final ViewModelLifecycle viewModelLifecycleParam) {
|
||||||
|
this.addLocationViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 0);
|
||||||
|
this.mainViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Class<?>, javax.inject.Provider<ViewModel>> getHiltViewModelMap() {
|
||||||
|
return LazyClassKeyMap.<javax.inject.Provider<ViewModel>>of(MapBuilder.<String, javax.inject.Provider<ViewModel>>newMapBuilder(2).put(AddLocationViewModel_HiltModules_BindsModule_Binds_LazyMapKey.lazyClassKeyName, ((Provider) addLocationViewModelProvider)).put(MainViewModel_HiltModules_BindsModule_Binds_LazyMapKey.lazyClassKeyName, ((Provider) mainViewModelProvider)).build());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<Class<?>, Object> getHiltViewModelAssistedMap() {
|
||||||
|
return Collections.<Class<?>, Object>emptyMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class SwitchingProvider<T> implements Provider<T> {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final ViewModelCImpl viewModelCImpl;
|
||||||
|
|
||||||
|
private final int id;
|
||||||
|
|
||||||
|
SwitchingProvider(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
|
||||||
|
ViewModelCImpl viewModelCImpl, int id) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.viewModelCImpl = viewModelCImpl;
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public T get() {
|
||||||
|
switch (id) {
|
||||||
|
case 0: // com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
return (T) new AddLocationViewModel(singletonCImpl.provideGeocoderProvider.get(), singletonCImpl.provideFusedLocationClientProvider.get(), singletonCImpl.locationRepositoryProvider.get());
|
||||||
|
|
||||||
|
case 1: // com.sunzones.ui.main.MainViewModel
|
||||||
|
return (T) new MainViewModel(viewModelCImpl.getLocationsUseCase(), new CalculateYearlyDaylightUseCase(), singletonCImpl.locationRepositoryProvider.get());
|
||||||
|
|
||||||
|
default: throw new AssertionError(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ActivityRetainedCImpl extends SunZonesApp_HiltComponents.ActivityRetainedC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl = this;
|
||||||
|
|
||||||
|
private Provider<ActivityRetainedLifecycle> provideActivityRetainedLifecycleProvider;
|
||||||
|
|
||||||
|
private ActivityRetainedCImpl(SingletonCImpl singletonCImpl,
|
||||||
|
SavedStateHandleHolder savedStateHandleHolderParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
|
||||||
|
initialize(savedStateHandleHolderParam);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
private void initialize(final SavedStateHandleHolder savedStateHandleHolderParam) {
|
||||||
|
this.provideActivityRetainedLifecycleProvider = DoubleCheck.provider(new SwitchingProvider<ActivityRetainedLifecycle>(singletonCImpl, activityRetainedCImpl, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityComponentBuilder activityComponentBuilder() {
|
||||||
|
return new ActivityCBuilder(singletonCImpl, activityRetainedCImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityRetainedLifecycle getActivityRetainedLifecycle() {
|
||||||
|
return provideActivityRetainedLifecycleProvider.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class SwitchingProvider<T> implements Provider<T> {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ActivityRetainedCImpl activityRetainedCImpl;
|
||||||
|
|
||||||
|
private final int id;
|
||||||
|
|
||||||
|
SwitchingProvider(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
|
||||||
|
int id) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.activityRetainedCImpl = activityRetainedCImpl;
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public T get() {
|
||||||
|
switch (id) {
|
||||||
|
case 0: // dagger.hilt.android.ActivityRetainedLifecycle
|
||||||
|
return (T) ActivityRetainedComponentManager_LifecycleModule_ProvideActivityRetainedLifecycleFactory.provideActivityRetainedLifecycle();
|
||||||
|
|
||||||
|
default: throw new AssertionError(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class ServiceCImpl extends SunZonesApp_HiltComponents.ServiceC {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final ServiceCImpl serviceCImpl = this;
|
||||||
|
|
||||||
|
private ServiceCImpl(SingletonCImpl singletonCImpl, Service serviceParam) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class SingletonCImpl extends SunZonesApp_HiltComponents.SingletonC {
|
||||||
|
private final ApplicationContextModule applicationContextModule;
|
||||||
|
|
||||||
|
private final SingletonCImpl singletonCImpl = this;
|
||||||
|
|
||||||
|
private Provider<Geocoder> provideGeocoderProvider;
|
||||||
|
|
||||||
|
private Provider<FusedLocationProviderClient> provideFusedLocationClientProvider;
|
||||||
|
|
||||||
|
private Provider<AppDatabase> provideDatabaseProvider;
|
||||||
|
|
||||||
|
private Provider<LocationRepository> locationRepositoryProvider;
|
||||||
|
|
||||||
|
private SingletonCImpl(ApplicationContextModule applicationContextModuleParam) {
|
||||||
|
this.applicationContextModule = applicationContextModuleParam;
|
||||||
|
initialize(applicationContextModuleParam);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private LocationDao locationDao() {
|
||||||
|
return AppModule_ProvideLocationDaoFactory.provideLocationDao(provideDatabaseProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
private void initialize(final ApplicationContextModule applicationContextModuleParam) {
|
||||||
|
this.provideGeocoderProvider = DoubleCheck.provider(new SwitchingProvider<Geocoder>(singletonCImpl, 0));
|
||||||
|
this.provideFusedLocationClientProvider = DoubleCheck.provider(new SwitchingProvider<FusedLocationProviderClient>(singletonCImpl, 1));
|
||||||
|
this.provideDatabaseProvider = DoubleCheck.provider(new SwitchingProvider<AppDatabase>(singletonCImpl, 3));
|
||||||
|
this.locationRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<LocationRepository>(singletonCImpl, 2));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void injectSunZonesApp(SunZonesApp sunZonesApp) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<Boolean> getDisableFragmentGetContextFix() {
|
||||||
|
return Collections.<Boolean>emptySet();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityRetainedComponentBuilder retainedComponentBuilder() {
|
||||||
|
return new ActivityRetainedCBuilder(singletonCImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ServiceComponentBuilder serviceComponentBuilder() {
|
||||||
|
return new ServiceCBuilder(singletonCImpl);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class SwitchingProvider<T> implements Provider<T> {
|
||||||
|
private final SingletonCImpl singletonCImpl;
|
||||||
|
|
||||||
|
private final int id;
|
||||||
|
|
||||||
|
SwitchingProvider(SingletonCImpl singletonCImpl, int id) {
|
||||||
|
this.singletonCImpl = singletonCImpl;
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
@Override
|
||||||
|
public T get() {
|
||||||
|
switch (id) {
|
||||||
|
case 0: // android.location.Geocoder
|
||||||
|
return (T) AppModule_ProvideGeocoderFactory.provideGeocoder(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
|
||||||
|
|
||||||
|
case 1: // com.google.android.gms.location.FusedLocationProviderClient
|
||||||
|
return (T) AppModule_ProvideFusedLocationClientFactory.provideFusedLocationClient(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
|
||||||
|
|
||||||
|
case 2: // com.sunzones.data.repository.LocationRepository
|
||||||
|
return (T) new LocationRepository(singletonCImpl.locationDao());
|
||||||
|
|
||||||
|
case 3: // com.sunzones.data.local.AppDatabase
|
||||||
|
return (T) AppModule_ProvideDatabaseFactory.provideDatabase(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
|
||||||
|
|
||||||
|
default: throw new AssertionError(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import android.app.Application;
|
||||||
|
import androidx.annotation.CallSuper;
|
||||||
|
import dagger.hilt.android.internal.managers.ApplicationComponentManager;
|
||||||
|
import dagger.hilt.android.internal.managers.ComponentSupplier;
|
||||||
|
import dagger.hilt.android.internal.modules.ApplicationContextModule;
|
||||||
|
import dagger.hilt.internal.GeneratedComponentManagerHolder;
|
||||||
|
import dagger.hilt.internal.UnsafeCasts;
|
||||||
|
import java.lang.Object;
|
||||||
|
import java.lang.Override;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A generated base class to be extended by the @dagger.hilt.android.HiltAndroidApp annotated class. If using the Gradle plugin, this is swapped as the base class via bytecode transformation.
|
||||||
|
*/
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.ApplicationGenerator")
|
||||||
|
public abstract class Hilt_SunZonesApp extends Application implements GeneratedComponentManagerHolder {
|
||||||
|
private boolean injected = false;
|
||||||
|
|
||||||
|
private final ApplicationComponentManager componentManager = new ApplicationComponentManager(new ComponentSupplier() {
|
||||||
|
@Override
|
||||||
|
public Object get() {
|
||||||
|
return DaggerSunZonesApp_HiltComponents_SingletonC.builder()
|
||||||
|
.applicationContextModule(new ApplicationContextModule(Hilt_SunZonesApp.this)).build();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final ApplicationComponentManager componentManager() {
|
||||||
|
return componentManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final Object generatedComponent() {
|
||||||
|
return this.componentManager().generatedComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
@CallSuper
|
||||||
|
@Override
|
||||||
|
public void onCreate() {
|
||||||
|
hiltInternalInject();
|
||||||
|
super.onCreate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void hiltInternalInject() {
|
||||||
|
if (!injected) {
|
||||||
|
injected = true;
|
||||||
|
// This is a known unsafe cast, but is safe in the only correct use case:
|
||||||
|
// SunZonesApp extends Hilt_SunZonesApp
|
||||||
|
((SunZonesApp_GeneratedInjector) generatedComponent()).injectSunZonesApp(UnsafeCasts.<SunZonesApp>unsafeCast(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,242 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import com.sunzones.di.AppModule;
|
||||||
|
import com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules;
|
||||||
|
import com.sunzones.ui.main.MainViewModel_HiltModules;
|
||||||
|
import dagger.Binds;
|
||||||
|
import dagger.Component;
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Subcomponent;
|
||||||
|
import dagger.hilt.android.components.ActivityComponent;
|
||||||
|
import dagger.hilt.android.components.ActivityRetainedComponent;
|
||||||
|
import dagger.hilt.android.components.FragmentComponent;
|
||||||
|
import dagger.hilt.android.components.ServiceComponent;
|
||||||
|
import dagger.hilt.android.components.ViewComponent;
|
||||||
|
import dagger.hilt.android.components.ViewModelComponent;
|
||||||
|
import dagger.hilt.android.components.ViewWithFragmentComponent;
|
||||||
|
import dagger.hilt.android.flags.FragmentGetContextFix;
|
||||||
|
import dagger.hilt.android.flags.HiltWrapper_FragmentGetContextFix_FragmentGetContextFixModule;
|
||||||
|
import dagger.hilt.android.internal.builders.ActivityComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ActivityRetainedComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.FragmentComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ServiceComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewModelComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.builders.ViewWithFragmentComponentBuilder;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltViewModelFactory;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltWrapper_DefaultViewModelFactories_ActivityModule;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltWrapper_HiltViewModelFactory_ActivityCreatorEntryPoint;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltWrapper_HiltViewModelFactory_ViewModelModule;
|
||||||
|
import dagger.hilt.android.internal.managers.ActivityComponentManager;
|
||||||
|
import dagger.hilt.android.internal.managers.FragmentComponentManager;
|
||||||
|
import dagger.hilt.android.internal.managers.HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint;
|
||||||
|
import dagger.hilt.android.internal.managers.HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedLifecycleEntryPoint;
|
||||||
|
import dagger.hilt.android.internal.managers.HiltWrapper_ActivityRetainedComponentManager_LifecycleModule;
|
||||||
|
import dagger.hilt.android.internal.managers.HiltWrapper_SavedStateHandleModule;
|
||||||
|
import dagger.hilt.android.internal.managers.ServiceComponentManager;
|
||||||
|
import dagger.hilt.android.internal.managers.ViewComponentManager;
|
||||||
|
import dagger.hilt.android.internal.modules.ApplicationContextModule;
|
||||||
|
import dagger.hilt.android.internal.modules.HiltWrapper_ActivityModule;
|
||||||
|
import dagger.hilt.android.scopes.ActivityRetainedScoped;
|
||||||
|
import dagger.hilt.android.scopes.ActivityScoped;
|
||||||
|
import dagger.hilt.android.scopes.FragmentScoped;
|
||||||
|
import dagger.hilt.android.scopes.ServiceScoped;
|
||||||
|
import dagger.hilt.android.scopes.ViewModelScoped;
|
||||||
|
import dagger.hilt.android.scopes.ViewScoped;
|
||||||
|
import dagger.hilt.components.SingletonComponent;
|
||||||
|
import dagger.hilt.internal.GeneratedComponent;
|
||||||
|
import dagger.hilt.migration.DisableInstallInCheck;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
public final class SunZonesApp_HiltComponents {
|
||||||
|
private SunZonesApp_HiltComponents() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ServiceC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ServiceCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ServiceComponentBuilder bind(ServiceC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ActivityRetainedC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ActivityRetainedCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ActivityRetainedComponentBuilder bind(ActivityRetainedC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ActivityC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ActivityCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ActivityComponentBuilder bind(ActivityC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ViewModelC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ViewModelCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ViewModelComponentBuilder bind(ViewModelC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ViewC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ViewCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ViewComponentBuilder bind(ViewC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = FragmentC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface FragmentCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
FragmentComponentBuilder bind(FragmentC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module(
|
||||||
|
subcomponents = ViewWithFragmentC.class
|
||||||
|
)
|
||||||
|
@DisableInstallInCheck
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.RootProcessor")
|
||||||
|
abstract interface ViewWithFragmentCBuilderModule {
|
||||||
|
@Binds
|
||||||
|
ViewWithFragmentComponentBuilder bind(ViewWithFragmentC.Builder builder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component(
|
||||||
|
modules = {
|
||||||
|
AppModule.class,
|
||||||
|
ApplicationContextModule.class,
|
||||||
|
HiltWrapper_FragmentGetContextFix_FragmentGetContextFixModule.class,
|
||||||
|
ActivityRetainedCBuilderModule.class,
|
||||||
|
ServiceCBuilderModule.class
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@Singleton
|
||||||
|
public abstract static class SingletonC implements SunZonesApp_GeneratedInjector,
|
||||||
|
FragmentGetContextFix.FragmentGetContextFixEntryPoint,
|
||||||
|
HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint,
|
||||||
|
ServiceComponentManager.ServiceComponentBuilderEntryPoint,
|
||||||
|
SingletonComponent,
|
||||||
|
GeneratedComponent {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
@ServiceScoped
|
||||||
|
public abstract static class ServiceC implements ServiceComponent,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ServiceComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent(
|
||||||
|
modules = {
|
||||||
|
AddLocationViewModel_HiltModules.KeyModule.class,
|
||||||
|
HiltWrapper_ActivityRetainedComponentManager_LifecycleModule.class,
|
||||||
|
HiltWrapper_SavedStateHandleModule.class,
|
||||||
|
MainViewModel_HiltModules.KeyModule.class,
|
||||||
|
ActivityCBuilderModule.class,
|
||||||
|
ViewModelCBuilderModule.class
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ActivityRetainedScoped
|
||||||
|
public abstract static class ActivityRetainedC implements ActivityRetainedComponent,
|
||||||
|
ActivityComponentManager.ActivityComponentBuilderEntryPoint,
|
||||||
|
HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedLifecycleEntryPoint,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ActivityRetainedComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent(
|
||||||
|
modules = {
|
||||||
|
HiltWrapper_ActivityModule.class,
|
||||||
|
HiltWrapper_DefaultViewModelFactories_ActivityModule.class,
|
||||||
|
FragmentCBuilderModule.class,
|
||||||
|
ViewCBuilderModule.class
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ActivityScoped
|
||||||
|
public abstract static class ActivityC implements MainActivity_GeneratedInjector,
|
||||||
|
ActivityComponent,
|
||||||
|
DefaultViewModelFactories.ActivityEntryPoint,
|
||||||
|
HiltWrapper_HiltViewModelFactory_ActivityCreatorEntryPoint,
|
||||||
|
FragmentComponentManager.FragmentComponentBuilderEntryPoint,
|
||||||
|
ViewComponentManager.ViewComponentBuilderEntryPoint,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ActivityComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent(
|
||||||
|
modules = {
|
||||||
|
AddLocationViewModel_HiltModules.BindsModule.class,
|
||||||
|
HiltWrapper_HiltViewModelFactory_ViewModelModule.class,
|
||||||
|
MainViewModel_HiltModules.BindsModule.class
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ViewModelScoped
|
||||||
|
public abstract static class ViewModelC implements ViewModelComponent,
|
||||||
|
HiltViewModelFactory.ViewModelFactoriesEntryPoint,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ViewModelComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
@ViewScoped
|
||||||
|
public abstract static class ViewC implements ViewComponent,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ViewComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent(
|
||||||
|
modules = ViewWithFragmentCBuilderModule.class
|
||||||
|
)
|
||||||
|
@FragmentScoped
|
||||||
|
public abstract static class FragmentC implements FragmentComponent,
|
||||||
|
DefaultViewModelFactories.FragmentEntryPoint,
|
||||||
|
ViewComponentManager.ViewWithFragmentComponentBuilderEntryPoint,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends FragmentComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subcomponent
|
||||||
|
@ViewScoped
|
||||||
|
public abstract static class ViewWithFragmentC implements ViewWithFragmentComponent,
|
||||||
|
GeneratedComponent {
|
||||||
|
@Subcomponent.Builder
|
||||||
|
abstract interface Builder extends ViewWithFragmentComponentBuilder {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import dagger.hilt.internal.aggregatedroot.codegen._com_sunzones_SunZonesApp;
|
||||||
|
import dagger.hilt.internal.componenttreedeps.ComponentTreeDeps;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ActivityComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ActivityRetainedComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_FragmentComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ServiceComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ViewComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ViewModelComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_components_ViewWithFragmentComponent;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ActivityComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ActivityRetainedComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_FragmentComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ServiceComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ViewComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ViewModelComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_android_internal_builders_ViewWithFragmentComponentBuilder;
|
||||||
|
import dagger.hilt.processor.internal.definecomponent.codegen._dagger_hilt_components_SingletonComponent;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_MainActivity_GeneratedInjector;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_SunZonesApp_GeneratedInjector;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_di_AppModule;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_BindsModule;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_KeyModule;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_ui_main_MainViewModel_HiltModules_BindsModule;
|
||||||
|
import hilt_aggregated_deps._com_sunzones_ui_main_MainViewModel_HiltModules_KeyModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_flags_FragmentGetContextFix_FragmentGetContextFixEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_flags_HiltWrapper_FragmentGetContextFix_FragmentGetContextFixModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_DefaultViewModelFactories_ActivityEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_DefaultViewModelFactories_FragmentEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_HiltViewModelFactory_ViewModelFactoriesEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_HiltWrapper_DefaultViewModelFactories_ActivityModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_HiltWrapper_HiltViewModelFactory_ActivityCreatorEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_lifecycle_HiltWrapper_HiltViewModelFactory_ViewModelModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_ActivityComponentManager_ActivityComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_FragmentComponentManager_FragmentComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedLifecycleEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_LifecycleModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_HiltWrapper_SavedStateHandleModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_ServiceComponentManager_ServiceComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_ViewComponentManager_ViewComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_managers_ViewComponentManager_ViewWithFragmentComponentBuilderEntryPoint;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_modules_ApplicationContextModule;
|
||||||
|
import hilt_aggregated_deps._dagger_hilt_android_internal_modules_HiltWrapper_ActivityModule;
|
||||||
|
|
||||||
|
@ComponentTreeDeps(
|
||||||
|
rootDeps = _com_sunzones_SunZonesApp.class,
|
||||||
|
defineComponentDeps = {
|
||||||
|
_dagger_hilt_android_components_ActivityComponent.class,
|
||||||
|
_dagger_hilt_android_components_ActivityRetainedComponent.class,
|
||||||
|
_dagger_hilt_android_components_FragmentComponent.class,
|
||||||
|
_dagger_hilt_android_components_ServiceComponent.class,
|
||||||
|
_dagger_hilt_android_components_ViewComponent.class,
|
||||||
|
_dagger_hilt_android_components_ViewModelComponent.class,
|
||||||
|
_dagger_hilt_android_components_ViewWithFragmentComponent.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ActivityComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ActivityRetainedComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_FragmentComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ServiceComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ViewComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ViewModelComponentBuilder.class,
|
||||||
|
_dagger_hilt_android_internal_builders_ViewWithFragmentComponentBuilder.class,
|
||||||
|
_dagger_hilt_components_SingletonComponent.class
|
||||||
|
},
|
||||||
|
aggregatedDeps = {
|
||||||
|
_com_sunzones_MainActivity_GeneratedInjector.class,
|
||||||
|
_com_sunzones_SunZonesApp_GeneratedInjector.class,
|
||||||
|
_com_sunzones_di_AppModule.class,
|
||||||
|
_com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_BindsModule.class,
|
||||||
|
_com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_KeyModule.class,
|
||||||
|
_com_sunzones_ui_main_MainViewModel_HiltModules_BindsModule.class,
|
||||||
|
_com_sunzones_ui_main_MainViewModel_HiltModules_KeyModule.class,
|
||||||
|
_dagger_hilt_android_flags_FragmentGetContextFix_FragmentGetContextFixEntryPoint.class,
|
||||||
|
_dagger_hilt_android_flags_HiltWrapper_FragmentGetContextFix_FragmentGetContextFixModule.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_DefaultViewModelFactories_ActivityEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_DefaultViewModelFactories_FragmentEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_HiltViewModelFactory_ViewModelFactoriesEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_HiltWrapper_DefaultViewModelFactories_ActivityModule.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_HiltWrapper_HiltViewModelFactory_ActivityCreatorEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_lifecycle_HiltWrapper_HiltViewModelFactory_ViewModelModule.class,
|
||||||
|
_dagger_hilt_android_internal_managers_ActivityComponentManager_ActivityComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_FragmentComponentManager_FragmentComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_ActivityRetainedLifecycleEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_HiltWrapper_ActivityRetainedComponentManager_LifecycleModule.class,
|
||||||
|
_dagger_hilt_android_internal_managers_HiltWrapper_SavedStateHandleModule.class,
|
||||||
|
_dagger_hilt_android_internal_managers_ServiceComponentManager_ServiceComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_ViewComponentManager_ViewComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_managers_ViewComponentManager_ViewWithFragmentComponentBuilderEntryPoint.class,
|
||||||
|
_dagger_hilt_android_internal_modules_ApplicationContextModule.class,
|
||||||
|
_dagger_hilt_android_internal_modules_HiltWrapper_ActivityModule.class
|
||||||
|
}
|
||||||
|
)
|
||||||
|
public final class SunZonesApp_ComponentTreeDeps {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package dagger.hilt.internal.processedrootsentinel.codegen;
|
||||||
|
|
||||||
|
import dagger.hilt.internal.processedrootsentinel.ProcessedRootSentinel;
|
||||||
|
|
||||||
|
@ProcessedRootSentinel(
|
||||||
|
roots = "com.sunzones.SunZonesApp"
|
||||||
|
)
|
||||||
|
public final class _com_sunzones_SunZonesApp {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import androidx.activity.ComponentActivity;
|
||||||
|
import androidx.activity.contextaware.OnContextAvailableListener;
|
||||||
|
import androidx.annotation.CallSuper;
|
||||||
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories;
|
||||||
|
import dagger.hilt.android.internal.managers.ActivityComponentManager;
|
||||||
|
import dagger.hilt.android.internal.managers.SavedStateHandleHolder;
|
||||||
|
import dagger.hilt.internal.GeneratedComponentManager;
|
||||||
|
import dagger.hilt.internal.GeneratedComponentManagerHolder;
|
||||||
|
import dagger.hilt.internal.UnsafeCasts;
|
||||||
|
import java.lang.Object;
|
||||||
|
import java.lang.Override;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A generated base class to be extended by the @dagger.hilt.android.AndroidEntryPoint annotated class. If using the Gradle plugin, this is swapped as the base class via bytecode transformation.
|
||||||
|
*/
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.ActivityGenerator")
|
||||||
|
public abstract class Hilt_MainActivity extends ComponentActivity implements GeneratedComponentManagerHolder {
|
||||||
|
private SavedStateHandleHolder savedStateHandleHolder;
|
||||||
|
|
||||||
|
private volatile ActivityComponentManager componentManager;
|
||||||
|
|
||||||
|
private final Object componentManagerLock = new Object();
|
||||||
|
|
||||||
|
private boolean injected = false;
|
||||||
|
|
||||||
|
Hilt_MainActivity(int contentLayoutId) {
|
||||||
|
super(contentLayoutId);
|
||||||
|
_initHiltInternal();
|
||||||
|
}
|
||||||
|
|
||||||
|
Hilt_MainActivity() {
|
||||||
|
super();
|
||||||
|
_initHiltInternal();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _initHiltInternal() {
|
||||||
|
addOnContextAvailableListener(new OnContextAvailableListener() {
|
||||||
|
@Override
|
||||||
|
public void onContextAvailable(Context context) {
|
||||||
|
inject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initSavedStateHandleHolder() {
|
||||||
|
if (getApplication() instanceof GeneratedComponentManager) {
|
||||||
|
savedStateHandleHolder = componentManager().getSavedStateHandleHolder();
|
||||||
|
if (savedStateHandleHolder.isInvalid()) {
|
||||||
|
savedStateHandleHolder.setExtras(getDefaultViewModelCreationExtras());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@CallSuper
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
initSavedStateHandleHolder();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
if (savedStateHandleHolder != null) {
|
||||||
|
savedStateHandleHolder.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final Object generatedComponent() {
|
||||||
|
return this.componentManager().generatedComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ActivityComponentManager createComponentManager() {
|
||||||
|
return new ActivityComponentManager(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final ActivityComponentManager componentManager() {
|
||||||
|
if (componentManager == null) {
|
||||||
|
synchronized (componentManagerLock) {
|
||||||
|
if (componentManager == null) {
|
||||||
|
componentManager = createComponentManager();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return componentManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void inject() {
|
||||||
|
if (!injected) {
|
||||||
|
injected = true;
|
||||||
|
((MainActivity_GeneratedInjector) this.generatedComponent()).injectMainActivity(UnsafeCasts.<MainActivity>unsafeCast(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
|
||||||
|
return DefaultViewModelFactories.getActivityFactory(this, super.getDefaultViewModelProviderFactory());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import dagger.hilt.InstallIn;
|
||||||
|
import dagger.hilt.android.components.ActivityComponent;
|
||||||
|
import dagger.hilt.codegen.OriginatingElement;
|
||||||
|
import dagger.hilt.internal.GeneratedEntryPoint;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@OriginatingElement(
|
||||||
|
topLevelClass = MainActivity.class
|
||||||
|
)
|
||||||
|
@GeneratedEntryPoint
|
||||||
|
@InstallIn(ActivityComponent.class)
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.InjectorEntryPointGenerator")
|
||||||
|
public interface MainActivity_GeneratedInjector {
|
||||||
|
void injectMainActivity(MainActivity mainActivity);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.sunzones;
|
||||||
|
|
||||||
|
import dagger.hilt.InstallIn;
|
||||||
|
import dagger.hilt.codegen.OriginatingElement;
|
||||||
|
import dagger.hilt.components.SingletonComponent;
|
||||||
|
import dagger.hilt.internal.GeneratedEntryPoint;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@OriginatingElement(
|
||||||
|
topLevelClass = SunZonesApp.class
|
||||||
|
)
|
||||||
|
@GeneratedEntryPoint
|
||||||
|
@InstallIn(SingletonComponent.class)
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.androidentrypoint.InjectorEntryPointGenerator")
|
||||||
|
public interface SunZonesApp_GeneratedInjector {
|
||||||
|
void injectSunZonesApp(SunZonesApp sunZonesApp);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,174 @@
|
||||||
|
package com.sunzones.data.local;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.room.DatabaseConfiguration;
|
||||||
|
import androidx.room.InvalidationTracker;
|
||||||
|
import androidx.room.RoomDatabase;
|
||||||
|
import androidx.room.RoomOpenHelper;
|
||||||
|
import androidx.room.migration.AutoMigrationSpec;
|
||||||
|
import androidx.room.migration.Migration;
|
||||||
|
import androidx.room.util.DBUtil;
|
||||||
|
import androidx.room.util.TableInfo;
|
||||||
|
import androidx.sqlite.db.SupportSQLiteDatabase;
|
||||||
|
import androidx.sqlite.db.SupportSQLiteOpenHelper;
|
||||||
|
import java.lang.Class;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
import java.lang.SuppressWarnings;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@Generated("androidx.room.RoomProcessor")
|
||||||
|
@SuppressWarnings({"unchecked", "deprecation"})
|
||||||
|
public final class AppDatabase_Impl extends AppDatabase {
|
||||||
|
private volatile LocationDao _locationDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
protected SupportSQLiteOpenHelper createOpenHelper(@NonNull final DatabaseConfiguration config) {
|
||||||
|
final SupportSQLiteOpenHelper.Callback _openCallback = new RoomOpenHelper(config, new RoomOpenHelper.Delegate(1) {
|
||||||
|
@Override
|
||||||
|
public void createAllTables(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
db.execSQL("CREATE TABLE IF NOT EXISTS `locations` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `latitude` REAL NOT NULL, `longitude` REAL NOT NULL, `timezoneId` TEXT NOT NULL, `isCurrentLocation` INTEGER NOT NULL, `displayOrder` INTEGER NOT NULL)");
|
||||||
|
db.execSQL("CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)");
|
||||||
|
db.execSQL("INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'f0813b4ce67228280368431d76e74e13')");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dropAllTables(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
db.execSQL("DROP TABLE IF EXISTS `locations`");
|
||||||
|
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||||
|
if (_callbacks != null) {
|
||||||
|
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||||
|
_callback.onDestructiveMigration(db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||||
|
if (_callbacks != null) {
|
||||||
|
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||||
|
_callback.onCreate(db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onOpen(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
mDatabase = db;
|
||||||
|
internalInitInvalidationTracker(db);
|
||||||
|
final List<? extends RoomDatabase.Callback> _callbacks = mCallbacks;
|
||||||
|
if (_callbacks != null) {
|
||||||
|
for (RoomDatabase.Callback _callback : _callbacks) {
|
||||||
|
_callback.onOpen(db);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPreMigrate(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
DBUtil.dropFtsSyncTriggers(db);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPostMigrate(@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public RoomOpenHelper.ValidationResult onValidateSchema(
|
||||||
|
@NonNull final SupportSQLiteDatabase db) {
|
||||||
|
final HashMap<String, TableInfo.Column> _columnsLocations = new HashMap<String, TableInfo.Column>(7);
|
||||||
|
_columnsLocations.put("id", new TableInfo.Column("id", "INTEGER", true, 1, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("name", new TableInfo.Column("name", "TEXT", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("latitude", new TableInfo.Column("latitude", "REAL", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("longitude", new TableInfo.Column("longitude", "REAL", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("timezoneId", new TableInfo.Column("timezoneId", "TEXT", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("isCurrentLocation", new TableInfo.Column("isCurrentLocation", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
_columnsLocations.put("displayOrder", new TableInfo.Column("displayOrder", "INTEGER", true, 0, null, TableInfo.CREATED_FROM_ENTITY));
|
||||||
|
final HashSet<TableInfo.ForeignKey> _foreignKeysLocations = new HashSet<TableInfo.ForeignKey>(0);
|
||||||
|
final HashSet<TableInfo.Index> _indicesLocations = new HashSet<TableInfo.Index>(0);
|
||||||
|
final TableInfo _infoLocations = new TableInfo("locations", _columnsLocations, _foreignKeysLocations, _indicesLocations);
|
||||||
|
final TableInfo _existingLocations = TableInfo.read(db, "locations");
|
||||||
|
if (!_infoLocations.equals(_existingLocations)) {
|
||||||
|
return new RoomOpenHelper.ValidationResult(false, "locations(com.sunzones.data.local.LocationEntity).\n"
|
||||||
|
+ " Expected:\n" + _infoLocations + "\n"
|
||||||
|
+ " Found:\n" + _existingLocations);
|
||||||
|
}
|
||||||
|
return new RoomOpenHelper.ValidationResult(true, null);
|
||||||
|
}
|
||||||
|
}, "f0813b4ce67228280368431d76e74e13", "d872a4751d157f9b642c2ecf5718a86a");
|
||||||
|
final SupportSQLiteOpenHelper.Configuration _sqliteConfig = SupportSQLiteOpenHelper.Configuration.builder(config.context).name(config.name).callback(_openCallback).build();
|
||||||
|
final SupportSQLiteOpenHelper _helper = config.sqliteOpenHelperFactory.create(_sqliteConfig);
|
||||||
|
return _helper;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
protected InvalidationTracker createInvalidationTracker() {
|
||||||
|
final HashMap<String, String> _shadowTablesMap = new HashMap<String, String>(0);
|
||||||
|
final HashMap<String, Set<String>> _viewTables = new HashMap<String, Set<String>>(0);
|
||||||
|
return new InvalidationTracker(this, _shadowTablesMap, _viewTables, "locations");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clearAllTables() {
|
||||||
|
super.assertNotMainThread();
|
||||||
|
final SupportSQLiteDatabase _db = super.getOpenHelper().getWritableDatabase();
|
||||||
|
try {
|
||||||
|
super.beginTransaction();
|
||||||
|
_db.execSQL("DELETE FROM `locations`");
|
||||||
|
super.setTransactionSuccessful();
|
||||||
|
} finally {
|
||||||
|
super.endTransaction();
|
||||||
|
_db.query("PRAGMA wal_checkpoint(FULL)").close();
|
||||||
|
if (!_db.inTransaction()) {
|
||||||
|
_db.execSQL("VACUUM");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
protected Map<Class<?>, List<Class<?>>> getRequiredTypeConverters() {
|
||||||
|
final HashMap<Class<?>, List<Class<?>>> _typeConvertersMap = new HashMap<Class<?>, List<Class<?>>>();
|
||||||
|
_typeConvertersMap.put(LocationDao.class, LocationDao_Impl.getRequiredConverters());
|
||||||
|
return _typeConvertersMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Set<Class<? extends AutoMigrationSpec>> getRequiredAutoMigrationSpecs() {
|
||||||
|
final HashSet<Class<? extends AutoMigrationSpec>> _autoMigrationSpecsSet = new HashSet<Class<? extends AutoMigrationSpec>>();
|
||||||
|
return _autoMigrationSpecsSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public List<Migration> getAutoMigrations(
|
||||||
|
@NonNull final Map<Class<? extends AutoMigrationSpec>, AutoMigrationSpec> autoMigrationSpecs) {
|
||||||
|
final List<Migration> _autoMigrations = new ArrayList<Migration>();
|
||||||
|
return _autoMigrations;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LocationDao locationDao() {
|
||||||
|
if (_locationDao != null) {
|
||||||
|
return _locationDao;
|
||||||
|
} else {
|
||||||
|
synchronized(this) {
|
||||||
|
if(_locationDao == null) {
|
||||||
|
_locationDao = new LocationDao_Impl(this);
|
||||||
|
}
|
||||||
|
return _locationDao;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,233 @@
|
||||||
|
package com.sunzones.data.local;
|
||||||
|
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.os.CancellationSignal;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.room.CoroutinesRoom;
|
||||||
|
import androidx.room.EntityInsertionAdapter;
|
||||||
|
import androidx.room.RoomDatabase;
|
||||||
|
import androidx.room.RoomSQLiteQuery;
|
||||||
|
import androidx.room.SharedSQLiteStatement;
|
||||||
|
import androidx.room.util.CursorUtil;
|
||||||
|
import androidx.room.util.DBUtil;
|
||||||
|
import androidx.sqlite.db.SupportSQLiteStatement;
|
||||||
|
import java.lang.Class;
|
||||||
|
import java.lang.Exception;
|
||||||
|
import java.lang.Integer;
|
||||||
|
import java.lang.Long;
|
||||||
|
import java.lang.Object;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
import java.lang.SuppressWarnings;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.Callable;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import kotlin.Unit;
|
||||||
|
import kotlin.coroutines.Continuation;
|
||||||
|
import kotlinx.coroutines.flow.Flow;
|
||||||
|
|
||||||
|
@Generated("androidx.room.RoomProcessor")
|
||||||
|
@SuppressWarnings({"unchecked", "deprecation"})
|
||||||
|
public final class LocationDao_Impl implements LocationDao {
|
||||||
|
private final RoomDatabase __db;
|
||||||
|
|
||||||
|
private final EntityInsertionAdapter<LocationEntity> __insertionAdapterOfLocationEntity;
|
||||||
|
|
||||||
|
private final SharedSQLiteStatement __preparedStmtOfDeleteLocation;
|
||||||
|
|
||||||
|
private final SharedSQLiteStatement __preparedStmtOfDeleteCurrentLocation;
|
||||||
|
|
||||||
|
public LocationDao_Impl(@NonNull final RoomDatabase __db) {
|
||||||
|
this.__db = __db;
|
||||||
|
this.__insertionAdapterOfLocationEntity = new EntityInsertionAdapter<LocationEntity>(__db) {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
protected String createQuery() {
|
||||||
|
return "INSERT OR REPLACE INTO `locations` (`id`,`name`,`latitude`,`longitude`,`timezoneId`,`isCurrentLocation`,`displayOrder`) VALUES (nullif(?, 0),?,?,?,?,?,?)";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void bind(@NonNull final SupportSQLiteStatement statement,
|
||||||
|
@NonNull final LocationEntity entity) {
|
||||||
|
statement.bindLong(1, entity.getId());
|
||||||
|
statement.bindString(2, entity.getName());
|
||||||
|
statement.bindDouble(3, entity.getLatitude());
|
||||||
|
statement.bindDouble(4, entity.getLongitude());
|
||||||
|
statement.bindString(5, entity.getTimezoneId());
|
||||||
|
final int _tmp = entity.isCurrentLocation() ? 1 : 0;
|
||||||
|
statement.bindLong(6, _tmp);
|
||||||
|
statement.bindLong(7, entity.getDisplayOrder());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.__preparedStmtOfDeleteLocation = new SharedSQLiteStatement(__db) {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public String createQuery() {
|
||||||
|
final String _query = "DELETE FROM locations WHERE id = ?";
|
||||||
|
return _query;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.__preparedStmtOfDeleteCurrentLocation = new SharedSQLiteStatement(__db) {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public String createQuery() {
|
||||||
|
final String _query = "DELETE FROM locations WHERE isCurrentLocation = 1";
|
||||||
|
return _query;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object insertLocation(final LocationEntity location,
|
||||||
|
final Continuation<? super Long> $completion) {
|
||||||
|
return CoroutinesRoom.execute(__db, true, new Callable<Long>() {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Long call() throws Exception {
|
||||||
|
__db.beginTransaction();
|
||||||
|
try {
|
||||||
|
final Long _result = __insertionAdapterOfLocationEntity.insertAndReturnId(location);
|
||||||
|
__db.setTransactionSuccessful();
|
||||||
|
return _result;
|
||||||
|
} finally {
|
||||||
|
__db.endTransaction();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, $completion);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object deleteLocation(final long id, final Continuation<? super Unit> $completion) {
|
||||||
|
return CoroutinesRoom.execute(__db, true, new Callable<Unit>() {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Unit call() throws Exception {
|
||||||
|
final SupportSQLiteStatement _stmt = __preparedStmtOfDeleteLocation.acquire();
|
||||||
|
int _argIndex = 1;
|
||||||
|
_stmt.bindLong(_argIndex, id);
|
||||||
|
try {
|
||||||
|
__db.beginTransaction();
|
||||||
|
try {
|
||||||
|
_stmt.executeUpdateDelete();
|
||||||
|
__db.setTransactionSuccessful();
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
} finally {
|
||||||
|
__db.endTransaction();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
__preparedStmtOfDeleteLocation.release(_stmt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, $completion);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object deleteCurrentLocation(final Continuation<? super Unit> $completion) {
|
||||||
|
return CoroutinesRoom.execute(__db, true, new Callable<Unit>() {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Unit call() throws Exception {
|
||||||
|
final SupportSQLiteStatement _stmt = __preparedStmtOfDeleteCurrentLocation.acquire();
|
||||||
|
try {
|
||||||
|
__db.beginTransaction();
|
||||||
|
try {
|
||||||
|
_stmt.executeUpdateDelete();
|
||||||
|
__db.setTransactionSuccessful();
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
} finally {
|
||||||
|
__db.endTransaction();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
__preparedStmtOfDeleteCurrentLocation.release(_stmt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, $completion);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Flow<List<LocationEntity>> getAllLocations() {
|
||||||
|
final String _sql = "SELECT * FROM locations ORDER BY displayOrder ASC, id ASC";
|
||||||
|
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
|
||||||
|
return CoroutinesRoom.createFlow(__db, false, new String[] {"locations"}, new Callable<List<LocationEntity>>() {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public List<LocationEntity> call() throws Exception {
|
||||||
|
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||||
|
try {
|
||||||
|
final int _cursorIndexOfId = CursorUtil.getColumnIndexOrThrow(_cursor, "id");
|
||||||
|
final int _cursorIndexOfName = CursorUtil.getColumnIndexOrThrow(_cursor, "name");
|
||||||
|
final int _cursorIndexOfLatitude = CursorUtil.getColumnIndexOrThrow(_cursor, "latitude");
|
||||||
|
final int _cursorIndexOfLongitude = CursorUtil.getColumnIndexOrThrow(_cursor, "longitude");
|
||||||
|
final int _cursorIndexOfTimezoneId = CursorUtil.getColumnIndexOrThrow(_cursor, "timezoneId");
|
||||||
|
final int _cursorIndexOfIsCurrentLocation = CursorUtil.getColumnIndexOrThrow(_cursor, "isCurrentLocation");
|
||||||
|
final int _cursorIndexOfDisplayOrder = CursorUtil.getColumnIndexOrThrow(_cursor, "displayOrder");
|
||||||
|
final List<LocationEntity> _result = new ArrayList<LocationEntity>(_cursor.getCount());
|
||||||
|
while (_cursor.moveToNext()) {
|
||||||
|
final LocationEntity _item;
|
||||||
|
final long _tmpId;
|
||||||
|
_tmpId = _cursor.getLong(_cursorIndexOfId);
|
||||||
|
final String _tmpName;
|
||||||
|
_tmpName = _cursor.getString(_cursorIndexOfName);
|
||||||
|
final double _tmpLatitude;
|
||||||
|
_tmpLatitude = _cursor.getDouble(_cursorIndexOfLatitude);
|
||||||
|
final double _tmpLongitude;
|
||||||
|
_tmpLongitude = _cursor.getDouble(_cursorIndexOfLongitude);
|
||||||
|
final String _tmpTimezoneId;
|
||||||
|
_tmpTimezoneId = _cursor.getString(_cursorIndexOfTimezoneId);
|
||||||
|
final boolean _tmpIsCurrentLocation;
|
||||||
|
final int _tmp;
|
||||||
|
_tmp = _cursor.getInt(_cursorIndexOfIsCurrentLocation);
|
||||||
|
_tmpIsCurrentLocation = _tmp != 0;
|
||||||
|
final int _tmpDisplayOrder;
|
||||||
|
_tmpDisplayOrder = _cursor.getInt(_cursorIndexOfDisplayOrder);
|
||||||
|
_item = new LocationEntity(_tmpId,_tmpName,_tmpLatitude,_tmpLongitude,_tmpTimezoneId,_tmpIsCurrentLocation,_tmpDisplayOrder);
|
||||||
|
_result.add(_item);
|
||||||
|
}
|
||||||
|
return _result;
|
||||||
|
} finally {
|
||||||
|
_cursor.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void finalize() {
|
||||||
|
_statement.release();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object getCount(final Continuation<? super Integer> $completion) {
|
||||||
|
final String _sql = "SELECT COUNT(*) FROM locations";
|
||||||
|
final RoomSQLiteQuery _statement = RoomSQLiteQuery.acquire(_sql, 0);
|
||||||
|
final CancellationSignal _cancellationSignal = DBUtil.createCancellationSignal();
|
||||||
|
return CoroutinesRoom.execute(__db, false, _cancellationSignal, new Callable<Integer>() {
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public Integer call() throws Exception {
|
||||||
|
final Cursor _cursor = DBUtil.query(__db, _statement, false, null);
|
||||||
|
try {
|
||||||
|
final Integer _result;
|
||||||
|
if (_cursor.moveToFirst()) {
|
||||||
|
final int _tmp;
|
||||||
|
_tmp = _cursor.getInt(0);
|
||||||
|
_result = _tmp;
|
||||||
|
} else {
|
||||||
|
_result = 0;
|
||||||
|
}
|
||||||
|
return _result;
|
||||||
|
} finally {
|
||||||
|
_cursor.close();
|
||||||
|
_statement.release();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, $completion);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static List<Class<?>> getRequiredConverters() {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.sunzones.data.repository;
|
||||||
|
|
||||||
|
import com.sunzones.data.local.LocationDao;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata("javax.inject.Singleton")
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class LocationRepository_Factory implements Factory<LocationRepository> {
|
||||||
|
private final Provider<LocationDao> locationDaoProvider;
|
||||||
|
|
||||||
|
public LocationRepository_Factory(Provider<LocationDao> locationDaoProvider) {
|
||||||
|
this.locationDaoProvider = locationDaoProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LocationRepository get() {
|
||||||
|
return newInstance(locationDaoProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static LocationRepository_Factory create(Provider<LocationDao> locationDaoProvider) {
|
||||||
|
return new LocationRepository_Factory(locationDaoProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static LocationRepository newInstance(LocationDao locationDao) {
|
||||||
|
return new LocationRepository(locationDao);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.sunzones.di;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import com.sunzones.data.local.AppDatabase;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.Preconditions;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata("javax.inject.Singleton")
|
||||||
|
@QualifierMetadata("dagger.hilt.android.qualifiers.ApplicationContext")
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AppModule_ProvideDatabaseFactory implements Factory<AppDatabase> {
|
||||||
|
private final Provider<Context> contextProvider;
|
||||||
|
|
||||||
|
public AppModule_ProvideDatabaseFactory(Provider<Context> contextProvider) {
|
||||||
|
this.contextProvider = contextProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AppDatabase get() {
|
||||||
|
return provideDatabase(contextProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AppModule_ProvideDatabaseFactory create(Provider<Context> contextProvider) {
|
||||||
|
return new AppModule_ProvideDatabaseFactory(contextProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AppDatabase provideDatabase(Context context) {
|
||||||
|
return Preconditions.checkNotNullFromProvides(AppModule.INSTANCE.provideDatabase(context));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.sunzones.di;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import com.google.android.gms.location.FusedLocationProviderClient;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.Preconditions;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata("javax.inject.Singleton")
|
||||||
|
@QualifierMetadata("dagger.hilt.android.qualifiers.ApplicationContext")
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AppModule_ProvideFusedLocationClientFactory implements Factory<FusedLocationProviderClient> {
|
||||||
|
private final Provider<Context> contextProvider;
|
||||||
|
|
||||||
|
public AppModule_ProvideFusedLocationClientFactory(Provider<Context> contextProvider) {
|
||||||
|
this.contextProvider = contextProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FusedLocationProviderClient get() {
|
||||||
|
return provideFusedLocationClient(contextProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AppModule_ProvideFusedLocationClientFactory create(
|
||||||
|
Provider<Context> contextProvider) {
|
||||||
|
return new AppModule_ProvideFusedLocationClientFactory(contextProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static FusedLocationProviderClient provideFusedLocationClient(Context context) {
|
||||||
|
return Preconditions.checkNotNullFromProvides(AppModule.INSTANCE.provideFusedLocationClient(context));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.sunzones.di;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.location.Geocoder;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.Preconditions;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata("javax.inject.Singleton")
|
||||||
|
@QualifierMetadata("dagger.hilt.android.qualifiers.ApplicationContext")
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AppModule_ProvideGeocoderFactory implements Factory<Geocoder> {
|
||||||
|
private final Provider<Context> contextProvider;
|
||||||
|
|
||||||
|
public AppModule_ProvideGeocoderFactory(Provider<Context> contextProvider) {
|
||||||
|
this.contextProvider = contextProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Geocoder get() {
|
||||||
|
return provideGeocoder(contextProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AppModule_ProvideGeocoderFactory create(Provider<Context> contextProvider) {
|
||||||
|
return new AppModule_ProvideGeocoderFactory(contextProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Geocoder provideGeocoder(Context context) {
|
||||||
|
return Preconditions.checkNotNullFromProvides(AppModule.INSTANCE.provideGeocoder(context));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.sunzones.di;
|
||||||
|
|
||||||
|
import com.sunzones.data.local.AppDatabase;
|
||||||
|
import com.sunzones.data.local.LocationDao;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.Preconditions;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AppModule_ProvideLocationDaoFactory implements Factory<LocationDao> {
|
||||||
|
private final Provider<AppDatabase> databaseProvider;
|
||||||
|
|
||||||
|
public AppModule_ProvideLocationDaoFactory(Provider<AppDatabase> databaseProvider) {
|
||||||
|
this.databaseProvider = databaseProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LocationDao get() {
|
||||||
|
return provideLocationDao(databaseProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AppModule_ProvideLocationDaoFactory create(Provider<AppDatabase> databaseProvider) {
|
||||||
|
return new AppModule_ProvideLocationDaoFactory(databaseProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static LocationDao provideLocationDao(AppDatabase database) {
|
||||||
|
return Preconditions.checkNotNullFromProvides(AppModule.INSTANCE.provideLocationDao(database));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.sunzones.domain.usecase;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class CalculateSunTimesUseCase_Factory implements Factory<CalculateSunTimesUseCase> {
|
||||||
|
@Override
|
||||||
|
public CalculateSunTimesUseCase get() {
|
||||||
|
return newInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CalculateSunTimesUseCase_Factory create() {
|
||||||
|
return InstanceHolder.INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CalculateSunTimesUseCase newInstance() {
|
||||||
|
return new CalculateSunTimesUseCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class InstanceHolder {
|
||||||
|
private static final CalculateSunTimesUseCase_Factory INSTANCE = new CalculateSunTimesUseCase_Factory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.sunzones.domain.usecase;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class CalculateYearlyDaylightUseCase_Factory implements Factory<CalculateYearlyDaylightUseCase> {
|
||||||
|
@Override
|
||||||
|
public CalculateYearlyDaylightUseCase get() {
|
||||||
|
return newInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CalculateYearlyDaylightUseCase_Factory create() {
|
||||||
|
return InstanceHolder.INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CalculateYearlyDaylightUseCase newInstance() {
|
||||||
|
return new CalculateYearlyDaylightUseCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class InstanceHolder {
|
||||||
|
private static final CalculateYearlyDaylightUseCase_Factory INSTANCE = new CalculateYearlyDaylightUseCase_Factory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.sunzones.domain.usecase;
|
||||||
|
|
||||||
|
import com.sunzones.data.repository.LocationRepository;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class GetLocationsUseCase_Factory implements Factory<GetLocationsUseCase> {
|
||||||
|
private final Provider<LocationRepository> repositoryProvider;
|
||||||
|
|
||||||
|
private final Provider<CalculateSunTimesUseCase> calculateSunTimesProvider;
|
||||||
|
|
||||||
|
public GetLocationsUseCase_Factory(Provider<LocationRepository> repositoryProvider,
|
||||||
|
Provider<CalculateSunTimesUseCase> calculateSunTimesProvider) {
|
||||||
|
this.repositoryProvider = repositoryProvider;
|
||||||
|
this.calculateSunTimesProvider = calculateSunTimesProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GetLocationsUseCase get() {
|
||||||
|
return newInstance(repositoryProvider.get(), calculateSunTimesProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GetLocationsUseCase_Factory create(Provider<LocationRepository> repositoryProvider,
|
||||||
|
Provider<CalculateSunTimesUseCase> calculateSunTimesProvider) {
|
||||||
|
return new GetLocationsUseCase_Factory(repositoryProvider, calculateSunTimesProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GetLocationsUseCase newInstance(LocationRepository repository,
|
||||||
|
CalculateSunTimesUseCase calculateSunTimes) {
|
||||||
|
return new GetLocationsUseCase(repository, calculateSunTimes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package com.sunzones.ui.addlocation;
|
||||||
|
|
||||||
|
import android.location.Geocoder;
|
||||||
|
import com.google.android.gms.location.FusedLocationProviderClient;
|
||||||
|
import com.sunzones.data.repository.LocationRepository;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AddLocationViewModel_Factory implements Factory<AddLocationViewModel> {
|
||||||
|
private final Provider<Geocoder> geocoderProvider;
|
||||||
|
|
||||||
|
private final Provider<FusedLocationProviderClient> fusedLocationClientProvider;
|
||||||
|
|
||||||
|
private final Provider<LocationRepository> repositoryProvider;
|
||||||
|
|
||||||
|
public AddLocationViewModel_Factory(Provider<Geocoder> geocoderProvider,
|
||||||
|
Provider<FusedLocationProviderClient> fusedLocationClientProvider,
|
||||||
|
Provider<LocationRepository> repositoryProvider) {
|
||||||
|
this.geocoderProvider = geocoderProvider;
|
||||||
|
this.fusedLocationClientProvider = fusedLocationClientProvider;
|
||||||
|
this.repositoryProvider = repositoryProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AddLocationViewModel get() {
|
||||||
|
return newInstance(geocoderProvider.get(), fusedLocationClientProvider.get(), repositoryProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AddLocationViewModel_Factory create(Provider<Geocoder> geocoderProvider,
|
||||||
|
Provider<FusedLocationProviderClient> fusedLocationClientProvider,
|
||||||
|
Provider<LocationRepository> repositoryProvider) {
|
||||||
|
return new AddLocationViewModel_Factory(geocoderProvider, fusedLocationClientProvider, repositoryProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AddLocationViewModel newInstance(Geocoder geocoder,
|
||||||
|
FusedLocationProviderClient fusedLocationClient, LocationRepository repository) {
|
||||||
|
return new AddLocationViewModel(geocoder, fusedLocationClient, repository);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.sunzones.ui.addlocation;
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel;
|
||||||
|
import dagger.Binds;
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import dagger.hilt.InstallIn;
|
||||||
|
import dagger.hilt.android.components.ActivityRetainedComponent;
|
||||||
|
import dagger.hilt.android.components.ViewModelComponent;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltViewModelMap;
|
||||||
|
import dagger.hilt.codegen.OriginatingElement;
|
||||||
|
import dagger.multibindings.IntoMap;
|
||||||
|
import dagger.multibindings.LazyClassKey;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.viewmodel.ViewModelProcessor")
|
||||||
|
@OriginatingElement(
|
||||||
|
topLevelClass = AddLocationViewModel.class
|
||||||
|
)
|
||||||
|
public final class AddLocationViewModel_HiltModules {
|
||||||
|
private AddLocationViewModel_HiltModules() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(ViewModelComponent.class)
|
||||||
|
public abstract static class BindsModule {
|
||||||
|
private BindsModule() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Binds
|
||||||
|
@IntoMap
|
||||||
|
@LazyClassKey(AddLocationViewModel.class)
|
||||||
|
@HiltViewModelMap
|
||||||
|
public abstract ViewModel binds(AddLocationViewModel vm);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(ActivityRetainedComponent.class)
|
||||||
|
public static final class KeyModule {
|
||||||
|
private KeyModule() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@IntoMap
|
||||||
|
@LazyClassKey(AddLocationViewModel.class)
|
||||||
|
@HiltViewModelMap.KeySet
|
||||||
|
public static boolean provide() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.sunzones.ui.addlocation;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.IdentifierNameString;
|
||||||
|
import dagger.internal.KeepFieldType;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@IdentifierNameString
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AddLocationViewModel_HiltModules_BindsModule_Binds_LazyMapKey {
|
||||||
|
@KeepFieldType
|
||||||
|
static AddLocationViewModel keepFieldType;
|
||||||
|
|
||||||
|
public static String lazyClassKeyName = "com.sunzones.ui.addlocation.AddLocationViewModel";
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.sunzones.ui.addlocation;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata("dagger.hilt.android.internal.lifecycle.HiltViewModelMap.KeySet")
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AddLocationViewModel_HiltModules_KeyModule_ProvideFactory implements Factory<Boolean> {
|
||||||
|
@Override
|
||||||
|
public Boolean get() {
|
||||||
|
return provide();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AddLocationViewModel_HiltModules_KeyModule_ProvideFactory create() {
|
||||||
|
return InstanceHolder.INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean provide() {
|
||||||
|
return AddLocationViewModel_HiltModules.KeyModule.provide();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class InstanceHolder {
|
||||||
|
private static final AddLocationViewModel_HiltModules_KeyModule_ProvideFactory INSTANCE = new AddLocationViewModel_HiltModules_KeyModule_ProvideFactory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.sunzones.ui.addlocation;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.IdentifierNameString;
|
||||||
|
import dagger.internal.KeepFieldType;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@IdentifierNameString
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class AddLocationViewModel_HiltModules_KeyModule_Provide_LazyMapKey {
|
||||||
|
@KeepFieldType
|
||||||
|
static AddLocationViewModel keepFieldType;
|
||||||
|
|
||||||
|
public static String lazyClassKeyName = "com.sunzones.ui.addlocation.AddLocationViewModel";
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
package com.sunzones.ui.main;
|
||||||
|
|
||||||
|
import com.sunzones.data.repository.LocationRepository;
|
||||||
|
import com.sunzones.domain.usecase.CalculateYearlyDaylightUseCase;
|
||||||
|
import com.sunzones.domain.usecase.GetLocationsUseCase;
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
import javax.inject.Provider;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class MainViewModel_Factory implements Factory<MainViewModel> {
|
||||||
|
private final Provider<GetLocationsUseCase> getLocationsUseCaseProvider;
|
||||||
|
|
||||||
|
private final Provider<CalculateYearlyDaylightUseCase> calculateYearlyDaylightProvider;
|
||||||
|
|
||||||
|
private final Provider<LocationRepository> repositoryProvider;
|
||||||
|
|
||||||
|
public MainViewModel_Factory(Provider<GetLocationsUseCase> getLocationsUseCaseProvider,
|
||||||
|
Provider<CalculateYearlyDaylightUseCase> calculateYearlyDaylightProvider,
|
||||||
|
Provider<LocationRepository> repositoryProvider) {
|
||||||
|
this.getLocationsUseCaseProvider = getLocationsUseCaseProvider;
|
||||||
|
this.calculateYearlyDaylightProvider = calculateYearlyDaylightProvider;
|
||||||
|
this.repositoryProvider = repositoryProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MainViewModel get() {
|
||||||
|
return newInstance(getLocationsUseCaseProvider.get(), calculateYearlyDaylightProvider.get(), repositoryProvider.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MainViewModel_Factory create(
|
||||||
|
Provider<GetLocationsUseCase> getLocationsUseCaseProvider,
|
||||||
|
Provider<CalculateYearlyDaylightUseCase> calculateYearlyDaylightProvider,
|
||||||
|
Provider<LocationRepository> repositoryProvider) {
|
||||||
|
return new MainViewModel_Factory(getLocationsUseCaseProvider, calculateYearlyDaylightProvider, repositoryProvider);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MainViewModel newInstance(GetLocationsUseCase getLocationsUseCase,
|
||||||
|
CalculateYearlyDaylightUseCase calculateYearlyDaylight, LocationRepository repository) {
|
||||||
|
return new MainViewModel(getLocationsUseCase, calculateYearlyDaylight, repository);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.sunzones.ui.main;
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel;
|
||||||
|
import dagger.Binds;
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import dagger.hilt.InstallIn;
|
||||||
|
import dagger.hilt.android.components.ActivityRetainedComponent;
|
||||||
|
import dagger.hilt.android.components.ViewModelComponent;
|
||||||
|
import dagger.hilt.android.internal.lifecycle.HiltViewModelMap;
|
||||||
|
import dagger.hilt.codegen.OriginatingElement;
|
||||||
|
import dagger.multibindings.IntoMap;
|
||||||
|
import dagger.multibindings.LazyClassKey;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@Generated("dagger.hilt.android.processor.internal.viewmodel.ViewModelProcessor")
|
||||||
|
@OriginatingElement(
|
||||||
|
topLevelClass = MainViewModel.class
|
||||||
|
)
|
||||||
|
public final class MainViewModel_HiltModules {
|
||||||
|
private MainViewModel_HiltModules() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(ViewModelComponent.class)
|
||||||
|
public abstract static class BindsModule {
|
||||||
|
private BindsModule() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Binds
|
||||||
|
@IntoMap
|
||||||
|
@LazyClassKey(MainViewModel.class)
|
||||||
|
@HiltViewModelMap
|
||||||
|
public abstract ViewModel binds(MainViewModel vm);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(ActivityRetainedComponent.class)
|
||||||
|
public static final class KeyModule {
|
||||||
|
private KeyModule() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@IntoMap
|
||||||
|
@LazyClassKey(MainViewModel.class)
|
||||||
|
@HiltViewModelMap.KeySet
|
||||||
|
public static boolean provide() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.sunzones.ui.main;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.IdentifierNameString;
|
||||||
|
import dagger.internal.KeepFieldType;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@IdentifierNameString
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class MainViewModel_HiltModules_BindsModule_Binds_LazyMapKey {
|
||||||
|
@KeepFieldType
|
||||||
|
static MainViewModel keepFieldType;
|
||||||
|
|
||||||
|
public static String lazyClassKeyName = "com.sunzones.ui.main.MainViewModel";
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package com.sunzones.ui.main;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.Factory;
|
||||||
|
import dagger.internal.QualifierMetadata;
|
||||||
|
import dagger.internal.ScopeMetadata;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@ScopeMetadata
|
||||||
|
@QualifierMetadata("dagger.hilt.android.internal.lifecycle.HiltViewModelMap.KeySet")
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class MainViewModel_HiltModules_KeyModule_ProvideFactory implements Factory<Boolean> {
|
||||||
|
@Override
|
||||||
|
public Boolean get() {
|
||||||
|
return provide();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MainViewModel_HiltModules_KeyModule_ProvideFactory create() {
|
||||||
|
return InstanceHolder.INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean provide() {
|
||||||
|
return MainViewModel_HiltModules.KeyModule.provide();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class InstanceHolder {
|
||||||
|
private static final MainViewModel_HiltModules_KeyModule_ProvideFactory INSTANCE = new MainViewModel_HiltModules_KeyModule_ProvideFactory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.sunzones.ui.main;
|
||||||
|
|
||||||
|
import dagger.internal.DaggerGenerated;
|
||||||
|
import dagger.internal.IdentifierNameString;
|
||||||
|
import dagger.internal.KeepFieldType;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
@IdentifierNameString
|
||||||
|
@DaggerGenerated
|
||||||
|
@Generated(
|
||||||
|
value = "dagger.internal.codegen.ComponentProcessor",
|
||||||
|
comments = "https://dagger.dev"
|
||||||
|
)
|
||||||
|
@SuppressWarnings({
|
||||||
|
"unchecked",
|
||||||
|
"rawtypes",
|
||||||
|
"KotlinInternal",
|
||||||
|
"KotlinInternalInJava",
|
||||||
|
"cast",
|
||||||
|
"deprecation",
|
||||||
|
"nullness:initialization.field.uninitialized"
|
||||||
|
})
|
||||||
|
public final class MainViewModel_HiltModules_KeyModule_Provide_LazyMapKey {
|
||||||
|
@KeepFieldType
|
||||||
|
static MainViewModel keepFieldType;
|
||||||
|
|
||||||
|
public static String lazyClassKeyName = "com.sunzones.ui.main.MainViewModel";
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package dagger.hilt.internal.aggregatedroot.codegen;
|
||||||
|
|
||||||
|
import dagger.hilt.android.HiltAndroidApp;
|
||||||
|
import dagger.hilt.internal.aggregatedroot.AggregatedRoot;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedRoot(
|
||||||
|
root = "com.sunzones.SunZonesApp",
|
||||||
|
rootPackage = "com.sunzones",
|
||||||
|
originatingRoot = "com.sunzones.SunZonesApp",
|
||||||
|
originatingRootPackage = "com.sunzones",
|
||||||
|
rootAnnotation = HiltAndroidApp.class,
|
||||||
|
rootSimpleNames = "SunZonesApp",
|
||||||
|
originatingRootSimpleNames = "SunZonesApp"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.root.AggregatedRootGenerator")
|
||||||
|
public class _com_sunzones_SunZonesApp {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.android.components.ActivityComponent",
|
||||||
|
entryPoints = "com.sunzones.MainActivity_GeneratedInjector"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_MainActivity_GeneratedInjector {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.components.SingletonComponent",
|
||||||
|
entryPoints = "com.sunzones.SunZonesApp_GeneratedInjector"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_SunZonesApp_GeneratedInjector {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.components.SingletonComponent",
|
||||||
|
modules = "com.sunzones.di.AppModule"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_di_AppModule {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.android.components.ViewModelComponent",
|
||||||
|
modules = "com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules.BindsModule"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_BindsModule {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.android.components.ActivityRetainedComponent",
|
||||||
|
modules = "com.sunzones.ui.addlocation.AddLocationViewModel_HiltModules.KeyModule"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_ui_addlocation_AddLocationViewModel_HiltModules_KeyModule {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.android.components.ViewModelComponent",
|
||||||
|
modules = "com.sunzones.ui.main.MainViewModel_HiltModules.BindsModule"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_ui_main_MainViewModel_HiltModules_BindsModule {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package hilt_aggregated_deps;
|
||||||
|
|
||||||
|
import dagger.hilt.processor.internal.aggregateddeps.AggregatedDeps;
|
||||||
|
import javax.annotation.processing.Generated;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class should only be referenced by generated code! This class aggregates information across multiple compilations.
|
||||||
|
*/
|
||||||
|
@AggregatedDeps(
|
||||||
|
components = "dagger.hilt.android.components.ActivityRetainedComponent",
|
||||||
|
modules = "com.sunzones.ui.main.MainViewModel_HiltModules.KeyModule"
|
||||||
|
)
|
||||||
|
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
|
||||||
|
public class _com_sunzones_ui_main_MainViewModel_HiltModules_KeyModule {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"hilt-android-compiler-2.53.1.jar (com.google.dagger:hilt-android-compiler:2.53.1)":"KSP_PROCESSOR","room-compiler-2.6.1.jar (androidx.room:room-compiler:2.6.1)":"KSP_PROCESSOR","dagger-compiler-2.53.1.jar (com.google.dagger:dagger-compiler:2.53.1)":"KSP_PROCESSOR"}
|
||||||
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
Binary file not shown.
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "APK",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "com.sunzones",
|
||||||
|
"variantName": "debug",
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"type": "SINGLE",
|
||||||
|
"filters": [],
|
||||||
|
"attributes": [],
|
||||||
|
"versionCode": 1,
|
||||||
|
"versionName": "1.0",
|
||||||
|
"outputFile": "app-debug.apk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementType": "File",
|
||||||
|
"minSdkVersionForDexing": 26
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
#- File Locator -
|
||||||
|
listingFile=../../../apk/debug/output-metadata.json
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
appMetadataVersion=1.1
|
||||||
|
androidGradlePluginVersion=8.13.2
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,3 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.addlocation.AddLocationViewModel
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
-keep,allowobfuscation,allowshrinking class com.sunzones.ui.main.MainViewModel
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "com.sunzones",
|
||||||
|
"variantName": "debug",
|
||||||
|
"elements": []
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue