feat: add android manifest, strings (DE+EN), colors, base theme
READ_CALENDAR permission declared. Strings split into English master (values/) and German (values-de/) with the Loading/Failure/Success generic state strings used across screens. Backup rules let DataStore back up by default with no file-based content. Theme stub delegates real theming to Compose; the Activity-level XML theme only sets transparent system bars and dark-mode hint. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
30
app/src/main/AndroidManifest.xml
Normal file
30
app/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.READ_CALENDAR" />
|
||||||
|
|
||||||
|
<application
|
||||||
|
android:name=".CalendulaApp"
|
||||||
|
android:allowBackup="true"
|
||||||
|
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||||
|
android:fullBackupContent="@xml/backup_rules"
|
||||||
|
android:icon="@mipmap/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
|
android:supportsRtl="true"
|
||||||
|
android:theme="@style/Theme.Calendula"
|
||||||
|
tools:targetApi="35">
|
||||||
|
<activity
|
||||||
|
android:name=".MainActivity"
|
||||||
|
android:exported="true"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:theme="@style/Theme.Calendula">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</manifest>
|
||||||
13
app/src/main/res/values-de/strings.xml
Normal file
13
app/src/main/res/values-de/strings.xml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">Calendula</string>
|
||||||
|
<string name="app_tagline">Ein moderner Kalender.</string>
|
||||||
|
|
||||||
|
<string name="state_loading">Lädt…</string>
|
||||||
|
<string name="state_retry">Erneut versuchen</string>
|
||||||
|
<string name="state_failure_unknown">Etwas ist schiefgelaufen.</string>
|
||||||
|
<string name="state_failure_permission">Zugriff auf den Kalender wird benötigt.</string>
|
||||||
|
<string name="state_failure_permission_action">Zugriff erlauben</string>
|
||||||
|
<string name="state_failure_no_calendars">Keine Kalender eingerichtet.</string>
|
||||||
|
<string name="state_failure_no_calendars_action">System-Kalender-Einstellungen öffnen</string>
|
||||||
|
<string name="state_failure_provider">Kalender konnte nicht gelesen werden.</string>
|
||||||
|
</resources>
|
||||||
6
app/src/main/res/values/colors.xml
Normal file
6
app/src/main/res/values/colors.xml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<resources>
|
||||||
|
<!-- Seed color: desaturated slate blue-gray. Material 3 derives Light & Dark schemes from this. -->
|
||||||
|
<color name="seed">#FF5C6B7A</color>
|
||||||
|
<!-- Adaptive icon background -->
|
||||||
|
<color name="ic_launcher_background">#FF5C6B7A</color>
|
||||||
|
</resources>
|
||||||
14
app/src/main/res/values/strings.xml
Normal file
14
app/src/main/res/values/strings.xml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<resources>
|
||||||
|
<string name="app_name">Calendula</string>
|
||||||
|
<string name="app_tagline">A modern calendar.</string>
|
||||||
|
|
||||||
|
<!-- Loading / Failure / Success generic strings (used across screens) -->
|
||||||
|
<string name="state_loading">Loading…</string>
|
||||||
|
<string name="state_retry">Retry</string>
|
||||||
|
<string name="state_failure_unknown">Something went wrong.</string>
|
||||||
|
<string name="state_failure_permission">Calendar access is required.</string>
|
||||||
|
<string name="state_failure_permission_action">Grant access</string>
|
||||||
|
<string name="state_failure_no_calendars">No calendars configured.</string>
|
||||||
|
<string name="state_failure_no_calendars_action">Open system calendar settings</string>
|
||||||
|
<string name="state_failure_provider">Could not read the calendar.</string>
|
||||||
|
</resources>
|
||||||
7
app/src/main/res/values/themes.xml
Normal file
7
app/src/main/res/values/themes.xml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
<style name="Theme.Calendula" parent="android:Theme.Material.Light.NoActionBar">
|
||||||
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:navigationBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:windowLightStatusBar">true</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
4
app/src/main/res/xml/backup_rules.xml
Normal file
4
app/src/main/res/xml/backup_rules.xml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<full-backup-content>
|
||||||
|
<!-- No file-based backups; settings live in DataStore which is backed up by default. -->
|
||||||
|
</full-backup-content>
|
||||||
8
app/src/main/res/xml/data_extraction_rules.xml
Normal file
8
app/src/main/res/xml/data_extraction_rules.xml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<data-extraction-rules>
|
||||||
|
<cloud-backup>
|
||||||
|
<!-- Allow DataStore backup, exclude nothing extra. -->
|
||||||
|
</cloud-backup>
|
||||||
|
<device-transfer>
|
||||||
|
</device-transfer>
|
||||||
|
</data-extraction-rules>
|
||||||
Reference in New Issue
Block a user