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
*.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
# 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/

View file

@ -1,2 +1,64 @@
# 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 -
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
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
#Tue Jan 27 16:34:24 CET 2026
base.0=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
renamed.3=classes4.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.1=/Users/pawelorzech/Programowanie/SunZones/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/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
30 android:supportsRtl="true"
30-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:14:9-35
31 android:theme="@style/Theme.SunZones" >
31-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:15:9-46
32 <activity
32-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:16:9-24:20
33 android:name="com.sunzones.MainActivity"
33-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:17:13-41
34 android:exported="true"
34-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:18:13-36
35 android:theme="@style/Theme.SunZones" >
35-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:19:13-50
36 <intent-filter>
36-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:20:13-23:29
37 <action android:name="android.intent.action.MAIN" />
37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:17-69
37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:25-66
38
39 <category android:name="android.intent.category.LAUNCHER" />
39-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:17-77
39-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:27-74
40 </intent-filter>
41 </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 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:19-85
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:146-170
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:86-145
46
47 <meta-data
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 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:20-65
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:66-119
50
51 <activity
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 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:24:13-71
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:25:13-36
54
55 <provider
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 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:25:13-67
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:26:13-68
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:27:13-37
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:29:13-31:52
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:30:17-75
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:31:17-49
62 <meta-data
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 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:30:17-78
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:31:17-49
65 <meta-data
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 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:30:17-85
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:31:17-49
68 </provider>
69
70 <service
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 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:25:13-74
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:26:13-43
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:27:13-37
74
75 <receiver
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 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:35:13-76
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:36:13-44
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:37:13-35
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:38:13-36
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:39:13-57
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:40:13-42:29
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:41:17-91
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 </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 <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:17-85
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 </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 <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:17-88
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 </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 <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:17-95
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 </intent-filter>
93 </receiver>
94 </application>
95
96</manifest>
31 android:testOnly="true"
32 android:theme="@style/Theme.SunZones" >
32-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:15:9-46
33 <activity
33-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:16:9-24:20
34 android:name="com.sunzones.MainActivity"
34-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:17:13-41
35 android:exported="true"
35-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:18:13-36
36 android:theme="@style/Theme.SunZones" >
36-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:19:13-50
37 <intent-filter>
37-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:20:13-23:29
38 <action android:name="android.intent.action.MAIN" />
38-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:17-69
38-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:21:25-66
39
40 <category android:name="android.intent.category.LAUNCHER" />
40-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:17-77
40-->/Users/pawelorzech/Programowanie/SunZones/app/src/main/AndroidManifest.xml:22:27-74
41 </intent-filter>
42 </activity>
43 <activity
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
44 android:name="com.google.android.gms.common.api.GoogleApiActivity"
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
45 android:exported="false"
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
46 android:theme="@android:style/Theme.Translucent.NoTitleBar" />
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
48 <meta-data
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
49 android:name="com.google.android.gms.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
50 android:value="@integer/google_play_services_version" />
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
52 <activity
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
53 android:name="androidx.compose.ui.tooling.PreviewActivity"
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
54 android:exported="true" />
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
56 <provider
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
57 android:name="androidx.startup.InitializationProvider"
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
58 android:authorities="com.sunzones.androidx-startup"
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
59 android:exported="false" >
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
60 <meta-data
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
61 android:name="androidx.emoji2.text.EmojiCompatInitializer"
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
62 android:value="androidx.startup" />
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
63 <meta-data
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
64 android:name="androidx.lifecycle.ProcessLifecycleInitializer"
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
65 android:value="androidx.startup" />
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
66 <meta-data
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
67 android:name="androidx.profileinstaller.ProfileInstallerInitializer"
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
68 android:value="androidx.startup" />
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 </provider>
70
71 <service
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
72 android:name="androidx.room.MultiInstanceInvalidationService"
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
73 android:directBootAware="true"
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
74 android:exported="false" />
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
76 <receiver
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
77 android:name="androidx.profileinstaller.ProfileInstallReceiver"
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
78 android:directBootAware="false"
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
79 android:enabled="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
80 android:exported="true"
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
81 android:permission="android.permission.DUMP" >
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
82 <intent-filter>
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
83 <action android:name="androidx.profileinstaller.action.INSTALL_PROFILE" />
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-->[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>
85 <intent-filter>
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
86 <action android:name="androidx.profileinstaller.action.SKIP_FILE" />
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-->[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>
88 <intent-filter>
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
89 <action android:name="androidx.profileinstaller.action.SAVE_PROFILE" />
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-->[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>
91 <intent-filter>
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
92 <action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION" />
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-->[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 </intent-filter>
94 </receiver>
95 </application>
96
97</manifest>

View file

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

View file

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

View file

@ -28,6 +28,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:testOnly="true"
android:theme="@style/Theme.SunZones" >
<activity
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.