Update .gitignore and expand README documentation

Expanded the .gitignore to cover more build artifacts, IDE, and OS-specific files. Significantly enhanced the README.md with a detailed app description, feature list, architecture overview, tech stack, and build instructions for better onboarding and project clarity.
This commit is contained in:
Paweł Orzech 2026-01-27 16:38:10 +01:00
parent 7287792e92
commit 67f2802a7d
No known key found for this signature in database
23 changed files with 263 additions and 201 deletions

61
.gitignore vendored
View file

@ -1,27 +1,44 @@
# Compiled class file # Built artifacts
*.apk
*.aar
*.ap_
*.aab
# Compiled
*.class *.class
*.dex
# Log file # Generated files
bin/
gen/
out/
build/
# Gradle
.gradle/
!gradle/wrapper/gradle-wrapper.jar
gradle-app.setting
# Local configuration
local.properties
# IDE
.idea/
*.iml
*.iws
*.ipr
.project
.classpath
.settings/
# OS files
.DS_Store
Thumbs.db
# Kotlin
.kotlin/
# Logs & crash reports
*.log *.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* hs_err_pid*
replay_pid* replay_pid*
# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects
.kotlin/

View file

@ -1,2 +1,64 @@
# SunZones # SunZones
Track sunrise, sunset and daylight across multiple locations around the world. A minimal, single-screen Android app with time-aware gradient backgrounds, animated sun/moon arcs, and a yearly daylight chart.
## Features
- **Multi-location tracking** -- swipe between saved locations to see real-time sun and moon data
- **Sunrise & sunset times** with day/night length and countdown to next sunrise
- **Animated sun/moon arc** -- a visual progress indicator showing where the sun (or moon) is in its path across the sky
- **Moon phase & illumination** -- current lunar phase emoji and illumination percentage
- **Time-of-day gradients** -- card backgrounds shift dynamically through sunrise, morning, midday, afternoon, sunset, twilight and night palettes
- **Yearly daylight chart** -- scrollable month-by-month visualization of day length and sunrise/sunset distribution
- **Timezone-aware** -- each location stores its own IANA timezone, so times are always correct regardless of where your device is
- **Search or GPS** -- add locations by city name search or use your current position
- **Polish & English** -- full i18n with `values/` and `values-pl/` string resources
## Architecture
Clean MVVM, single-activity Jetpack Compose app with Hilt dependency injection.
```
Room DB (Flow)
-> LocationDao -> LocationRepository -> GetLocationsUseCase
-> CalculateSunTimesUseCase -> SunLocation (UI model)
-> MainViewModel (StateFlow) -> Compose UI
```
| Layer | Responsibility |
|---|---|
| `data/local` | Room entity, DAO, database |
| `data/repository` | Thin DAO wrapper, current-location replacement logic |
| `domain/usecase` | Sun/moon calculations via commons-suncalc, yearly daylight aggregation |
| `domain/model` | `SunLocation` (computed fields), `MonthDaylight` (chart data) |
| `ui/main` | `HorizontalPager` of `SunCard` composables, 60-second auto-refresh |
| `ui/addlocation` | Geocoder search + GPS, timezone resolution via Android ICU |
| `di` | Hilt module providing Room, DAO, Geocoder, FusedLocationProviderClient |
## Tech stack
| | |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose, Material 3 |
| DI | Hilt |
| Database | Room |
| Sun/moon math | [commons-suncalc](https://github.com/shred/commons-suncalc) 3.11 |
| Location | Google Play Services FusedLocationProviderClient |
| Geocoding | Android Geocoder |
| Timezone lookup | `android.icu.util.TimeZone` (built-in) |
| Min SDK | 26 (Android 8.0) |
| Target SDK | 35 (Android 15) |
## Build
Requires **Java 17** and the Android SDK.
```bash
export JAVA_HOME="/opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home"
./gradlew assembleDebug
```
## License
[MIT](LICENSE) -- Pawel Orzech

View file

@ -1,2 +1,2 @@
#- File Locator - #- File Locator -
listingFile=../../../../outputs/apk/debug/output-metadata.json listingFile=../../../apk/debug/output-metadata.json

View file

@ -1,37 +1,37 @@
#Tue Jan 27 16:33:44 CET 2026 #Tue Jan 27 16:34:24 CET 2026
path.4=11/classes.dex
path.3=10/classes.dex
path.2=1/classes.dex
renamed.9=classes10.dex
path.1=0/classes.dex
renamed.8=classes9.dex
path.8=7/classes.dex
path.7=4/classes.dex
path.6=2/classes.dex
path.5=15/classes.dex
renamed.11=classes12.dex
renamed.10=classes11.dex
path.0=classes.dex
base.4=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex
base.3=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/10/classes.dex
base.2=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/1/classes.dex
base.1=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex
base.0=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex base.0=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
renamed.3=classes4.dex base.1=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex
renamed.2=classes3.dex
renamed.1=classes2.dex
path.10=9/classes.dex
renamed.0=classes.dex
base.9=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/8/classes.dex
path.9=8/classes.dex
path.11=classes2.dex
renamed.7=classes8.dex
base.8=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/7/classes.dex
renamed.6=classes7.dex
base.7=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/4/classes.dex
renamed.5=classes6.dex
base.6=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/2/classes.dex
renamed.4=classes5.dex
base.5=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/15/classes.dex
base.11=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeExtDexDebug/classes2.dex
base.10=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/9/classes.dex base.10=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/9/classes.dex
base.11=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeExtDexDebug/classes2.dex
base.2=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/1/classes.dex
base.3=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/10/classes.dex
base.4=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex
base.5=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/15/classes.dex
base.6=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/2/classes.dex
base.7=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/4/classes.dex
base.8=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/7/classes.dex
base.9=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/8/classes.dex
path.0=classes.dex
path.1=0/classes.dex
path.10=9/classes.dex
path.11=classes2.dex
path.2=1/classes.dex
path.3=10/classes.dex
path.4=11/classes.dex
path.5=15/classes.dex
path.6=2/classes.dex
path.7=4/classes.dex
path.8=7/classes.dex
path.9=8/classes.dex
renamed.0=classes.dex
renamed.1=classes2.dex
renamed.10=classes11.dex
renamed.11=classes12.dex
renamed.2=classes3.dex
renamed.3=classes4.dex
renamed.4=classes5.dex
renamed.5=classes6.dex
renamed.6=classes7.dex
renamed.7=classes8.dex
renamed.8=classes9.dex
renamed.9=classes10.dex

File diff suppressed because one or more lines are too long

View file

@ -47,124 +47,125 @@
29-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:13:9-54 29-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:13:9-54
30 android:supportsRtl="true" 30 android:supportsRtl="true"
30-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:14:9-35 30-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:14:9-35
31 android:theme="@style/Theme.SunZones" > 31 android:testOnly="true"
31-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:15:9-46 32 android:theme="@style/Theme.SunZones" >
32 <activity 32-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:15:9-46
32-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:16:9-24:20 33 <activity
33 android:name="com.sunzones.MainActivity" 33-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:16:9-24:20
33-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:17:13-41 34 android:name="com.sunzones.MainActivity"
34 android:exported="true" 34-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:17:13-41
34-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:18:13-36 35 android:exported="true"
35 android:theme="@style/Theme.SunZones" > 35-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:18:13-36
35-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:19:13-50 36 android:theme="@style/Theme.SunZones" >
36 <intent-filter> 36-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:19:13-50
36-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:20:13-23:29 37 <intent-filter>
37 <action android:name="android.intent.action.MAIN" /> 37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:20:13-23:29
37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:17-69 38 <action android:name="android.intent.action.MAIN" />
37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:25-66 38-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:17-69
38 38-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:25-66
39 <category android:name="android.intent.category.LAUNCHER" /> 39
39-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:17-77 40 <category android:name="android.intent.category.LAUNCHER" />
39-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:27-74 40-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:17-77
40 </intent-filter> 40-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:27-74
41 </activity> 41 </intent-filter>
42 <activity 42 </activity>
42-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:9-173 43 <activity
43 android:name="com.google.android.gms.common.api.GoogleApiActivity" 43-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:9-173
43-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:19-85 44 android:name="com.google.android.gms.common.api.GoogleApiActivity"
44 android:exported="false" 44-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:19-85
44-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:146-170 45 android:exported="false"
45 android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 45-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:146-170
45-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:86-145 46 android:theme="@android:style/Theme.Translucent.NoTitleBar" />
46 46-->[com.google.android.gms:play-services-base:18.5.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/c869d058acd78b7fc5eb67448fb7a0c8/transformed/play-services-base-18.5.0/AndroidManifest.xml:5:86-145
47 <meta-data 47
47-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:9-122 48 <meta-data
48 android:name="com.google.android.gms.version" 48-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:9-122
48-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:20-65 49 android:name="com.google.android.gms.version"
49 android:value="@integer/google_play_services_version" /> 49-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:20-65
49-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:66-119 50 android:value="@integer/google_play_services_version" />
50 50-->[com.google.android.gms:play-services-basement:18.4.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/48add1e11c95b212b489f2d802afdbf9/transformed/play-services-basement-18.4.0/AndroidManifest.xml:6:66-119
51 <activity 51
51-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:23:9-25:39 52 <activity
52 android:name="androidx.compose.ui.tooling.PreviewActivity" 52-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:23:9-25:39
52-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:24:13-71 53 android:name="androidx.compose.ui.tooling.PreviewActivity"
53 android:exported="true" /> 53-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:24:13-71
53-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:25:13-36 54 android:exported="true" />
54 54-->[androidx.compose.ui:ui-tooling-android:1.7.6] /Users/pawelorzech/.gradle/caches/8.13/transforms/4b780b6503c78a552711484e5ba9ab13/transformed/ui-tooling-release/AndroidManifest.xml:25:13-36
55 <provider 55
55-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:24:9-32:20 56 <provider
56 android:name="androidx.startup.InitializationProvider" 56-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:24:9-32:20
56-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:25:13-67 57 android:name="androidx.startup.InitializationProvider"
57 android:authorities="com.sunzones.androidx-startup" 57-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:25:13-67
57-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:26:13-68 58 android:authorities="com.sunzones.androidx-startup"
58 android:exported="false" > 58-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:26:13-68
58-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:27:13-37 59 android:exported="false" >
59 <meta-data 59-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:27:13-37
59-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:29:13-31:52 60 <meta-data
60 android:name="androidx.emoji2.text.EmojiCompatInitializer" 60-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:29:13-31:52
60-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:30:17-75 61 android:name="androidx.emoji2.text.EmojiCompatInitializer"
61 android:value="androidx.startup" /> 61-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:30:17-75
61-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:31:17-49 62 android:value="androidx.startup" />
62 <meta-data 62-->[androidx.emoji2:emoji2:1.3.0] /Users/pawelorzech/.gradle/caches/8.13/transforms/cf026257e99eeefe860ce336b93601c7/transformed/emoji2-1.3.0/AndroidManifest.xml:31:17-49
62-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:29:13-31:52 63 <meta-data
63 android:name="androidx.lifecycle.ProcessLifecycleInitializer" 63-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:29:13-31:52
63-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:30:17-78 64 android:name="androidx.lifecycle.ProcessLifecycleInitializer"
64 android:value="androidx.startup" /> 64-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:30:17-78
64-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:31:17-49 65 android:value="androidx.startup" />
65 <meta-data 65-->[androidx.lifecycle:lifecycle-process:2.8.7] /Users/pawelorzech/.gradle/caches/8.13/transforms/525011fe192e83be5b25a229c350b401/transformed/lifecycle-process-2.8.7/AndroidManifest.xml:31:17-49
65-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:29:13-31:52 66 <meta-data
66 android:name="androidx.profileinstaller.ProfileInstallerInitializer" 66-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:29:13-31:52
66-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:30:17-85 67 android:name="androidx.profileinstaller.ProfileInstallerInitializer"
67 android:value="androidx.startup" /> 67-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:30:17-85
67-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:31:17-49 68 android:value="androidx.startup" />
68 </provider> 68-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:31:17-49
69 69 </provider>
70 <service 70
70-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:24:9-28:63 71 <service
71 android:name="androidx.room.MultiInstanceInvalidationService" 71-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:24:9-28:63
71-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:25:13-74 72 android:name="androidx.room.MultiInstanceInvalidationService"
72 android:directBootAware="true" 72-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:25:13-74
72-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:26:13-43 73 android:directBootAware="true"
73 android:exported="false" /> 73-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:26:13-43
73-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:27:13-37 74 android:exported="false" />
74 74-->[androidx.room:room-runtime:2.6.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/274ebafecd6f53891e30da7d25f41af6/transformed/room-runtime-2.6.1/AndroidManifest.xml:27:13-37
75 <receiver 75
75-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:34:9-52:20 76 <receiver
76 android:name="androidx.profileinstaller.ProfileInstallReceiver" 76-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:34:9-52:20
76-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:35:13-76 77 android:name="androidx.profileinstaller.ProfileInstallReceiver"
77 android:directBootAware="false" 77-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:35:13-76
77-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:36:13-44 78 android:directBootAware="false"
78 android:enabled="true" 78-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:36:13-44
78-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:37:13-35 79 android:enabled="true"
79 android:exported="true" 79-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:37:13-35
79-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:38:13-36 80 android:exported="true"
80 android:permission="android.permission.DUMP" > 80-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:38:13-36
80-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:39:13-57 81 android:permission="android.permission.DUMP" >
81 <intent-filter> 81-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:39:13-57
81-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:40:13-42:29 82 <intent-filter>
82 <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" /> 82-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:40:13-42:29
82-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:41:17-91 83 <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
82-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:41:25-88 83-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:41:17-91
83 </intent-filter> 83-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:41:25-88
84 <intent-filter> 84 </intent-filter>
84-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:43:13-45:29 85 <intent-filter>
85 <action android:name="androidx.profileinstaller.action.SKIP_FILE" /> 85-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:43:13-45:29
85-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:44:17-85 86 <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
85-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:44:25-82 86-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:44:17-85
86 </intent-filter> 86-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:44:25-82
87 <intent-filter> 87 </intent-filter>
87-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:46:13-48:29 88 <intent-filter>
88 <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" /> 88-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:46:13-48:29
88-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:47:17-88 89 <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
88-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:47:25-85 89-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:47:17-88
89 </intent-filter> 89-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:47:25-85
90 <intent-filter> 90 </intent-filter>
90-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:49:13-51:29 91 <intent-filter>
91 <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" /> 91-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:49:13-51:29
91-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:50:17-95 92 <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
91-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:50:25-92 92-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:50:17-95
92 </intent-filter> 92-->[androidx.profileinstaller:profileinstaller:1.3.1] /Users/pawelorzech/.gradle/caches/8.13/transforms/a4bc2a1b1e5692d7984dfa74a5f7d80d/transformed/profileinstaller-1.3.1/AndroidManifest.xml:50:25-92
93 </receiver> 93 </intent-filter>
94 </application> 94 </receiver>
95 95 </application>
96</manifest> 96
97</manifest>

View file

@ -28,6 +28,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:testOnly="true"
android:theme="@style/Theme.SunZones" > android:theme="@style/Theme.SunZones" >
<activity <activity
android:name="com.sunzones.MainActivity" android:name="com.sunzones.MainActivity"

View file

@ -28,6 +28,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:testOnly="true"
android:theme="@style/Theme.SunZones" > android:theme="@style/Theme.SunZones" >
<activity <activity
android:name="com.sunzones.MainActivity" android:name="com.sunzones.MainActivity"

View file

@ -28,6 +28,7 @@
android:label="@string/app_name" android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:testOnly="true"
android:theme="@style/Theme.SunZones" > android:theme="@style/Theme.SunZones" >
<activity <activity
android:name="com.sunzones.MainActivity" android:name="com.sunzones.MainActivity"

View file

@ -1,21 +0,0 @@
{
"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
}

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.