18 Commits

Author SHA1 Message Date
Sebastian Molenda 6944480d13 problemy z graddle
Deploy to FTP / deploy (push) Successful in 9s
Build APK / build (push) Successful in 3m45s
2026-06-13 17:42:14 +02:00
Sebastian Molenda f8a38a94e8 problemy z graddle
Deploy to FTP / deploy (push) Successful in 10s
2026-06-13 17:37:00 +02:00
Sebastian Molenda ecacaf7b60 Autoupdate
Deploy to FTP / deploy (push) Successful in 10s
2026-06-13 17:31:56 +02:00
Sebastian Molenda 36757d1fb9 Autoupdate
Deploy to FTP / deploy (push) Successful in 9s
Build APK / build (push) Failing after 1m12s
2026-06-13 17:26:13 +02:00
Sebastian Molenda a99f5167a9 jurprfgdbsophi
Deploy to FTP / deploy (push) Successful in 9s
2026-06-13 15:10:52 +02:00
Sebastian Molenda 2ea8e9c58e pack and upload
Deploy to FTP / deploy (push) Failing after 8s
2026-06-13 15:09:58 +02:00
Sebastian Molenda 40b013b2d6 pack and upload
Deploy to FTP / deploy (push) Failing after 9s
2026-06-13 15:09:12 +02:00
Sebastian Molenda 67a9d5b024 pack and upload
Deploy to FTP / deploy (push) Failing after 9s
2026-06-13 15:08:19 +02:00
Sebastian Molenda eb6890a603 pack and upload
Deploy to FTP / deploy (push) Failing after 10s
2026-06-13 15:06:31 +02:00
Sebastian Molenda 5f0074ed37 pack and upload
Deploy to FTP / deploy (push) Failing after 9s
2026-06-13 15:04:13 +02:00
Sebastian Molenda 5399b64cd5 pack and upload
Deploy to FTP / deploy (push) Failing after 5s
2026-06-13 15:02:47 +02:00
Sebastian Molenda e4db4bb31e pack and upload
Deploy to FTP / deploy (push) Successful in 5s
2026-06-13 11:16:53 +02:00
Sebastian Molenda 332fef0fd3 lock vertical
Deploy to FTP / deploy (push) Successful in 5s
2026-06-01 21:45:34 +02:00
Sebastian Molenda 244aa8457a Moze wersja 1.0.0?
Deploy to FTP / deploy (push) Successful in 5s
Build APK / build (push) Successful in 2m11s
2026-05-29 22:53:11 +02:00
Sebastian Molenda 03bcb465cf 0.2.3-t9
Deploy to FTP / deploy (push) Successful in 5s
Build APK / build (push) Successful in 1m56s
2026-05-29 22:37:21 +02:00
Sebastian Molenda b2721c2ec3 0.2.3-t8
Deploy to FTP / deploy (push) Successful in 5s
Build APK / build (push) Failing after 1m56s
2026-05-29 22:26:03 +02:00
Sebastian Molenda 1385b3ace0 0.2.3-t7
Deploy to FTP / deploy (push) Successful in 4s
Build APK / build (push) Failing after 1m57s
2026-05-29 22:20:33 +02:00
Sebastian Molenda 66a028880c 0.2.3-t5
Deploy to FTP / deploy (push) Successful in 5s
Build APK / build (push) Failing after 1m59s
2026-05-27 21:45:21 +02:00
162 changed files with 976 additions and 494 deletions
+96 -44
View File
@@ -21,12 +21,40 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Generate Gradle Wrapper
run: gradle wrapper
- name: Grant execute permission
run: chmod +x ./gradlew
- name: Verify Gradle wrapper
run: |
echo "Wrapper file details:"; ls -l ./gradlew || true
echo "Running wrapper --version to ensure CI uses project wrapper:";
./gradlew --version
- name: Package and upload webapp
env:
UPLOAD_WEBAPP_URL: ${{ secrets.UPLOAD_WEBAPP_URL }}
UPLOAD_WEBAPP_TOKEN: ${{ secrets.UPLOAD_WEBAPP_TOKEN }}
run: |
set -e
# create webapp zip and upload to configured URL (if provided)
./gradlew zipWebApp uploadWebApp
- name: Update version in assets
run: |
set -e
TAG="${{ github.ref_name }}"
# Jeśli tag jest pusty (np. push nie na tag), użyjemy skróconego SHA
if [ -z "$TAG" ] || [ "$TAG" = "main" ]; then
TAG=$(git rev-parse --short HEAD)
fi
echo "Setting version to: $TAG"
# Aktualizacja pliku js/version.js
echo "const APP_VERSION = '$TAG';" > app/src/main/assets/js/version.js
echo "document.addEventListener('DOMContentLoaded', () => {
const el = document.getElementById('app-version') || document.getElementById('commit-sha');
if (el) el.textContent = '$TAG';
});" >> app/src/main/assets/js/version.js
- name: Build APK
run: ./gradlew assembleRelease
@@ -54,43 +82,56 @@ jobs:
GITEA_SERVER: ${{ secrets.GIT_SERVER }}
run: |
set -e
if [ -n "$GITEA_SERVER" ]; then
API_BASE="$GITEA_SERVER/api/v1"
else
API_BASE="https://gitea.com/api/v1"
fi
SERVER_CLEAN=$(echo "$GITEA_SERVER" | sed 's#/$##')
API_BASE="${SERVER_CLEAN}/api/v1"
REMOTE_URL=$(git config --get remote.origin.url || true)
if [ -z "$REMOTE_URL" ]; then
echo "Cannot determine remote origin URL" >&2
exit 1
fi
REPO_FULL=$(echo "$REMOTE_URL" | sed -E 's#.*[:/](.+/.+)\.git$#\1#')
OWNER=$(echo "$REPO_FULL" | cut -d/ -f1)
REPO_NAME=$(echo "$REPO_FULL" | cut -d/ -f2)
OWNER="${{ github.repository_owner }}"
REPO_NAME=$(echo "${{ github.repository }}" | cut -d/ -f2)
TAG="${{ github.ref_name }}"
TAG=${GITHUB_REF_NAME:-$(echo $GITHUB_REF | sed 's#refs/tags/##')}
if [ -z "$TAG" ]; then
TAG=$(git describe --tags --exact-match 2>/dev/null || true)
fi
if [ -z "$TAG" ]; then
echo "Cannot determine tag name" >&2
exit 1
fi
echo "Debug Info:"
echo "- API URL: $API_BASE/repos/$OWNER/$REPO_NAME/releases"
echo "- OWNER: $OWNER"
echo "- REPO: $REPO_NAME"
echo "- TAG: $TAG"
echo "Creating release $TAG for $OWNER/$REPO_NAME against $API_BASE"
CREATE_RESPONSE=$(curl -s -H "Content-Type: application/json" -H "Authorization: token $GITEA_TOKEN" \
-d "{\"tag_name\": \"$TAG\", \"name\": \"$TAG\", \"body\": \"Automated release for $TAG\", \"draft\": false, \"prerelease\": false}" \
# Próba utworzenia release z przechwyceniem statusu HTTP
RESPONSE_FILE=$(mktemp)
HTTP_STATUS=$(curl -s -o "$RESPONSE_FILE" -w "%{http_code}" \
-H "Content-Type: application/json" \
-H "Authorization: token $GITEA_TOKEN" \
-X POST \
-d "{
\"tag_name\": \"$TAG\",
\"name\": \"$TAG\",
\"body\": \"Automated release for $TAG\",
\"draft\": false,
\"prerelease\": false
}" \
"$API_BASE/repos/$OWNER/$REPO_NAME/releases")
RELEASE_ID=$(echo "$CREATE_RESPONSE" | grep -o '"id":[0-9]*' | head -n1 | cut -d: -f2 | tr -d ' ')
if [ -z "$RELEASE_ID" ]; then
echo "Failed to create release. Response: $CREATE_RESPONSE" >&2
RESPONSE_BODY=$(cat "$RESPONSE_FILE")
echo "HTTP Status: $HTTP_STATUS"
echo "Response: $RESPONSE_BODY"
if [ "$HTTP_STATUS" -eq 409 ]; then
echo "Release already exists, fetching existing ID..."
RESPONSE_BODY=$(curl -s -H "Authorization: token $GITEA_TOKEN" "$API_BASE/repos/$OWNER/$REPO_NAME/releases/tags/$TAG")
RELEASE_ID=$(echo "$RESPONSE_BODY" | sed -n 's/.*"id":\([0-9]*\),.*/\1/p' | head -n1)
elif [ "$HTTP_STATUS" -eq 201 ]; then
RELEASE_ID=$(echo "$RESPONSE_BODY" | sed -n 's/.*"id":\([0-9]*\),.*/\1/p' | head -n1)
else
echo "Failed to create release. Expected 201 or 409, got $HTTP_STATUS"
exit 1
fi
if [ -z "$RELEASE_ID" ]; then
echo "Failed to extract RELEASE_ID from response"
exit 1
fi
echo "RELEASE_ID=$RELEASE_ID" >> $GITHUB_ENV
echo "Created release id $RELEASE_ID"
echo "Successfully processed release ID: $RELEASE_ID"
- name: Upload APK to Gitea release
env:
@@ -98,25 +139,36 @@ jobs:
GITEA_SERVER: ${{ secrets.GIT_SERVER }}
run: |
set -e
API_BASE=${GITEA_SERVER:+$GITEA_SERVER/api/v1}
API_BASE=${API_BASE:-https://gitea.com/api/v1}
REMOTE_URL=$(git config --get remote.origin.url || true)
REPO_FULL=$(echo "$REMOTE_URL" | sed -E 's#.*[:/](.+/.+)\.git$#\1#')
OWNER=$(echo "$REPO_FULL" | cut -d/ -f1)
REPO_NAME=$(echo "$REPO_FULL" | cut -d/ -f2)
APK_PATH=${APK_PATH:-$APK_PATH}
SERVER_CLEAN=$(echo "$GITEA_SERVER" | sed 's#/$##')
API_BASE="${SERVER_CLEAN}/api/v1"
OWNER="${{ github.repository_owner }}"
REPO_NAME=$(echo "${{ github.repository }}" | cut -d/ -f2)
TAG="${{ github.ref_name }}"
if [ -z "$APK_PATH" ]; then
echo "APK_PATH not set" >&2
exit 1
fi
RELEASE_ID=${RELEASE_ID}
if [ -z "$RELEASE_ID" ]; then
echo "RELEASE_ID not set" >&2
exit 1
fi
UPLOAD_URL="$API_BASE/repos/$OWNER/$REPO_NAME/releases/$RELEASE_ID/assets?name=$(basename $APK_PATH)"
echo "Uploading $APK_PATH to $UPLOAD_URL"
# Tworzymy ładną nazwę dla pliku
FRIENDLY_NAME="Matma-${TAG}.apk"
cp "$APK_PATH" "./$FRIENDLY_NAME"
curl --fail -H "Authorization: token $GITEA_TOKEN" -H "Content-Type: application/octet-stream" \
--data-binary @"$APK_PATH" "$UPLOAD_URL"
UPLOAD_URL="$API_BASE/repos/$OWNER/$REPO_NAME/releases/$RELEASE_ID/assets?name=$FRIENDLY_NAME"
echo "Uploading $FRIENDLY_NAME to $UPLOAD_URL"
curl --fail -s -H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @"./$FRIENDLY_NAME" \
"$UPLOAD_URL"
# Dodanie bezpośredniego linku do podsumowania buildu w Gitea
DOWNLOAD_URL="${SERVER_CLEAN}/${OWNER}/${REPO_NAME}/releases/download/${TAG}/${FRIENDLY_NAME}"
echo "### ✅ APK gotowy do pobrania!" >> $GITHUB_STEP_SUMMARY
echo "[Pobierz plik $FRIENDLY_NAME]($DOWNLOAD_URL)" >> $GITHUB_STEP_SUMMARY
echo "Adres: $DOWNLOAD_URL" >> $GITHUB_STEP_SUMMARY
+22
View File
@@ -19,6 +19,28 @@ jobs:
run: |
echo "${{ env.GITHUB_SHA }}" > version.sha
- name: Create latest.zip
run: |
set -e
# ensure a small staging dir for upload (absolute path so later cd won't affect it)
mkdir -p "$GITHUB_WORKSPACE/dist/"
# install zip utility (container may not have it)
apt-get update && apt-get install -y zip
# create latest.zip containing the assets directory (so zip root contains 'assets/')
cd app/src/main
zip -r "$GITHUB_WORKSPACE/latest.zip" assets
# move zip into the workspace dist so the FTP action can upload just that file
mv "$GITHUB_WORKSPACE/latest.zip" "$GITHUB_WORKSPACE/dist/"
- name: Upload latest.zip via FTP to releases
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.FTP_HOST }}
username: ${{ secrets.FTP_USER }}
password: ${{ secrets.FTP_PASS }}
local-dir: dist/
server-dir: /releases/
- name: Upload via FTP
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
-117
View File
@@ -1,117 +0,0 @@
name: Release APK on Tag (Gitea Actions)
on:
push:
tags:
- '*'
# Note: This workflow requires a repository secret named GITEA_TOKEN with a personal access token
# that has `repo` (or appropriate) scope for creating releases and uploading assets.
# Optionally set GITEA_SERVER to your Gitea server base URL (e.g. https://gitea.example.com).p
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Ensure JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
- name: Build release APK
run: |
set -e
./gradlew :app:assembleRelease --no-daemon --stacktrace
- name: Locate APK
id: locate_apk
run: |
set -e
APK_PATH=$(ls app/build/outputs/apk/release/*.apk | head -n1 || true)
if [ -z "$APK_PATH" ]; then
echo "No APK found in app/build/outputs/apk/release"
exit 1
fi
echo "APK_PATH=$APK_PATH" >> $GITHUB_ENV
echo "Found $APK_PATH"
- name: Create Gitea release
id: create_release
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_SERVER: ${{ secrets.GITEA_SERVER }}
run: |
set -e
# Determine API base URL
if [ -n "$GITEA_SERVER" ]; then
API_BASE="$GITEA_SERVER/api/v1"
else
API_BASE="https://gitea.com/api/v1"
fi
# Derive owner/repo from git remote
REMOTE_URL=$(git config --get remote.origin.url || true)
if [ -z "$REMOTE_URL" ]; then
echo "Cannot determine remote origin URL" >&2
exit 1
fi
REPO_FULL=$(echo "$REMOTE_URL" | sed -E 's#.*[:/](.+/.+)\.git$#\1#')
OWNER=$(echo "$REPO_FULL" | cut -d/ -f1)
REPO_NAME=$(echo "$REPO_FULL" | cut -d/ -f2)
TAG=${GITHUB_REF_NAME:-$(echo $GITHUB_REF | sed 's#refs/tags/##')}
if [ -z "$TAG" ]; then
# fallback: use git to get tag from HEAD
TAG=$(git describe --tags --exact-match 2>/dev/null || true)
fi
if [ -z "$TAG" ]; then
echo "Cannot determine tag name" >&2
exit 1
fi
echo "Creating release $TAG for $OWNER/$REPO_NAME against $API_BASE"
CREATE_RESPONSE=$(curl -s -H "Content-Type: application/json" -H "Authorization: token $GITEA_TOKEN" \
-d "{\"tag_name\": \"$TAG\", \"name\": \"$TAG\", \"body\": \"Automated release for $TAG\", \"draft\": false, \"prerelease\": false}" \
"$API_BASE/repos/$OWNER/$REPO_NAME/releases")
RELEASE_ID=$(echo "$CREATE_RESPONSE" | grep -o '"id":[0-9]*' | head -n1 | cut -d: -f2 | tr -d ' ')
if [ -z "$RELEASE_ID" ]; then
echo "Failed to create release. Response: $CREATE_RESPONSE" >&2
exit 1
fi
echo "RELEASE_ID=$RELEASE_ID" >> $GITHUB_ENV
echo "Created release id $RELEASE_ID"
- name: Upload APK to Gitea release
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_SERVER: ${{ secrets.GITEA_SERVER }}
run: |
set -e
API_BASE=${GITEA_SERVER:+$GITEA_SERVER/api/v1}
API_BASE=${API_BASE:-https://gitea.com/api/v1}
REMOTE_URL=$(git config --get remote.origin.url || true)
REPO_FULL=$(echo "$REMOTE_URL" | sed -E 's#.*[:/](.+/.+)\.git$#\1#')
OWNER=$(echo "$REPO_FULL" | cut -d/ -f1)
REPO_NAME=$(echo "$REPO_FULL" | cut -d/ -f2)
APK_PATH=${APK_PATH:-$APK_PATH}
if [ -z "$APK_PATH" ]; then
echo "APK_PATH not set" >&2
exit 1
fi
RELEASE_ID=${RELEASE_ID}
if [ -z "$RELEASE_ID" ]; then
echo "RELEASE_ID not set" >&2
exit 1
fi
UPLOAD_URL="$API_BASE/repos/$OWNER/$REPO_NAME/releases/$RELEASE_ID/assets?name=$(basename $APK_PATH)"
echo "Uploading $APK_PATH to $UPLOAD_URL"
curl --fail -H "Authorization: token $GITEA_TOKEN" -H "Content-Type: application/octet-stream" \
--data-binary @"$APK_PATH" "$UPLOAD_URL"
-68
View File
@@ -1,68 +0,0 @@
name: Release APK on Tag
on:
push:
tags:
- '*'
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Build release APK
run: ./gradlew :app:assembleRelease --no-daemon --stacktrace
- name: Find APK
id: find_apk
run: |
set -e
APK=$(ls app/build/outputs/apk/release/*.apk | head -n1 || true)
if [ -z "$APK" ]; then
echo "No APK found in app/build/outputs/apk/release"
exit 1
fi
echo "APK_PATH=$APK" >> $GITHUB_ENV
echo "apk=$APK"
- name: Upload artifact (for debugging)
uses: actions/upload-artifact@v4
with:
name: app-release-apk
path: ${{ env.APK_PATH }}
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ github.ref_name }}
release_name: Release ${{ github.ref_name }}
body: Automated release for tag ${{ github.ref_name }}
draft: false
prerelease: false
- name: Upload APK to Release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ env.APK_PATH }}
asset_name: app-release.apk
asset_content_type: application/vnd.android.package-archive
+36 -1
View File
@@ -1,3 +1,38 @@
.DS_Store
./QuizzyTemplate
./QuizzyTemplate/*
/.QuizzyTemplate
# Android/Gradle
/.gradle/
/build/
/app/build/
/**/build/
# Gradle wrapper
/gradle/wrapper/gradle-wrapper.jar
# Local configuration
/local.properties
# Keystore
*.jks
# Generated APKs/outputs
**/outputs/
**/apk/**
*.apk
*.ap_
# IntelliJ / Android Studio
.idea/
*.iml
# macOS
.DS_Store
# NPM / Node
node_modules/
# Misc
*.log
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File
Binary file not shown.
+2 -2
View File
@@ -1,2 +1,2 @@
#Wed May 27 00:12:10 CEST 2026
gradle.version=8.5
#Sat Jun 13 15:33:08 CEST 2026
gradle.version=9.4.1
Binary file not shown.
Binary file not shown.
+102 -13
View File
@@ -13,6 +13,24 @@
<component name="ClangdSettings">
<option name="formatViaClangd" value="false" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="device_and_snapshot_combo_box_target[LocalEmulator::path=/Users/aln/.android/avd/Pixel_10.avd]" />
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$">
<ProjectState />
</projectState>
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<projects_view>
<tree_state>
<expand />
<select />
</tree_state>
</projects_view>
</state>
</system>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
@@ -25,20 +43,91 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;RunOnceActivity.readMode.enableVisualFormatting&quot;: &quot;true&quot;,
&quot;cf.first.check.clang-format&quot;: &quot;false&quot;,
&quot;cidr.known.project.marker&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;master&quot;,
&quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
&quot;last_opened_file_path&quot;: &quot;/Users/aln/Work/Matma&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Android App.app.executor": "Run",
"Gradle.Configure Daemon JVM Criteria.executor": "Run",
"GradleDaemonJvmCriteriaMigrationNotification.isNotificationDisabled": "true",
"ModuleVcsDetector.initialDetectionPerformed": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.cidr.known.project.marker": "true",
"RunOnceActivity.git.unshallow": "true",
"RunOnceActivity.readMode.enableVisualFormatting": "true",
"cf.first.check.clang-format": "false",
"cidr.known.project.marker": "true",
"git-widget-placeholder": "master",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "/Users/aln/Work/Matma"
}
}</component>
}]]></component>
<component name="RunManager">
<configuration name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
<module name="Matma.app" />
<option name="ANDROID_RUN_CONFIGURATION_SCHEMA_VERSION" value="1" />
<option name="DEPLOY" value="true" />
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
<option name="DEPLOY_AS_INSTANT" value="false" />
<option name="ARTIFACT_NAME" value="" />
<option name="PM_INSTALL_OPTIONS" value="" />
<option name="ALL_USERS" value="false" />
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
<option name="ALLOW_ASSUME_VERIFIED" value="false" />
<option name="CLEAR_APP_STORAGE" value="false" />
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
<option name="MODE" value="default_activity" />
<option name="RESTORE_ENABLED" value="false" />
<option name="RESTORE_FILE" value="" />
<option name="RESTORE_FRESH_INSTALL_ONLY" value="false" />
<option name="CLEAR_LOGCAT" value="false" />
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
<option name="DEBUGGER_TYPE" value="Auto" />
<Auto>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
</Auto>
<Hybrid>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
</Hybrid>
<Java>
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
</Java>
<Native>
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
<option name="SHOW_STATIC_VARS" value="true" />
<option name="WORKING_DIR" value="" />
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
</Native>
<Profilers>
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
<option name="STARTUP_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
</Profilers>
<option name="DEEP_LINK" value="" />
<option name="ACTIVITY" value="" />
<option name="ACTIVITY_CLASS" value="" />
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
<method v="2">
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
</method>
</configuration>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="51538617-7e5b-4e71-9f47-7bda274cf4cc" name="Changes" comment="" />
+49
View File
@@ -65,4 +65,53 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.22"
implementation 'androidx.webkit:webkit:1.8.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
// JSONObject is provided by Android SDK (org.json)
}
// Task: package webapp assets into a zip for release and optionally upload
def webappSrc = file("src/main/assets")
def webappZip = file("${buildDir}/outputs/webapp/webapp.zip")
tasks.register("zipWebApp") {
group = "release"
description = "Create zip of web assets (app/src/main/assets -> webapp.zip)"
inputs.dir(webappSrc)
outputs.file(webappZip)
doLast {
webappZip.parentFile.mkdirs()
ant.zip(destfile: webappZip) {
fileset(dir: webappSrc)
}
println "Created webapp zip: ${webappZip.absolutePath}"
}
}
tasks.register("uploadWebApp") {
group = "release"
description = "Upload webapp zip to remote server if UPLOAD_WEBAPP_URL is set"
dependsOn "zipWebApp"
doLast {
def uploadUrl = System.getenv('UPLOAD_WEBAPP_URL')
def token = System.getenv('UPLOAD_WEBAPP_TOKEN')
if (!uploadUrl) {
println "UPLOAD_WEBAPP_URL not set, skipping upload"
return
}
if (!webappZip.exists()) {
throw new GradleException("webapp zip not found: ${webappZip}")
}
println "Uploading webapp to ${uploadUrl}"
def cmd = ["curl", "--fail", "-X", "PUT", "-H", "Content-Type: application/zip"]
if (token) {
cmd += ["-H", "Authorization: Bearer ${token}"]
}
cmd += ["--data-binary", "@${webappZip.absolutePath}", uploadUrl]
def process = cmd.execute()
process.in.eachLine { println it }
process.err.eachLine { System.err.println it }
def rc = process.waitFor()
if (rc != 0) throw new GradleException("Upload failed with exit code ${rc}")
println "Upload successful"
}
}
@@ -1,25 +1,14 @@
#Wed May 27 14:04:06 CEST 2026
com.example.app-main-22\:/mipmap-xhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-hdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher_foreground.png.flat
com.example.app-main-22\:/mipmap-xxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxhdpi_ic_launcher.png.flat
com.example.app-main-22\:/mipmap-xxxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxxhdpi_ic_launcher_foreground.png.flat
com.example.app-main-22\:/drawable/ic_launcher_foreground.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/drawable_ic_launcher_foreground.xml.flat
com.example.app-main-22\:/mipmap-xxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxhdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-xxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxhdpi_ic_launcher_foreground.png.flat
com.example.app-main-22\:/mipmap-xhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xhdpi_ic_launcher_foreground.png.flat
com.example.app-main-22\:/mipmap-mdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-mdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-xhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xhdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-anydpi-v26/ic_launcher.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-anydpi-v26_ic_launcher.xml.flat
com.example.app-main-23\:/mipmap-mdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-mdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-hdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher.png.flat
com.example.app-main-22\:/mipmap-xxxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxxhdpi_ic_launcher.png.flat
com.example.app-main-22\:/mipmap-mdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-mdpi_ic_launcher.png.flat
com.example.app-main-22\:/mipmap-hdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher_foreground.png.flat
com.example.app-main-22\:/mipmap-hdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-hdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xxxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxxhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xxxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-xxxhdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-mdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-mdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/drawable/ic_launcher_foreground.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/drawable_ic_launcher_foreground.xml.flat
com.example.app-main-22\:/mipmap-anydpi-v26/ic_launcher.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mipmap-anydpi-v26_ic_launcher.xml.flat
#Sat Jun 13 17:10:52 CEST 2026
com.example.app-main-23\:/drawable/ic_launcher_foreground.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/drawable_ic_launcher_foreground.xml.flat
com.example.app-main-23\:/layout/activity_splash.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/layout_activity_splash.xml.flat
com.example.app-main-23\:/mipmap-anydpi-v26/ic_launcher.xml=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-anydpi-v26_ic_launcher.xml.flat
com.example.app-main-23\:/mipmap-hdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-hdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-hdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-hdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-mdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-mdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-mdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-mdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-xhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xhdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-xxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xxhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xxhdpi_ic_launcher_foreground.png.flat
com.example.app-main-23\:/mipmap-xxxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xxxhdpi_ic_launcher.png.flat
com.example.app-main-23\:/mipmap-xxxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/merged_res/debug/mergeDebugResources/mipmap-xxxhdpi_ic_launcher_foreground.png.flat
File diff suppressed because one or more lines are too long
@@ -1,13 +1,14 @@
#Wed May 27 13:49:11 CEST 2026
com.example.app-main-5\:/mipmap-xxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-mdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-anydpi-v26/ic_launcher.xml=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml
com.example.app-main-5\:/mipmap-hdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png
com.example.app-main-5\:/drawable/ic_launcher_foreground.xml=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/drawable/ic_launcher_foreground.xml
com.example.app-main-5\:/mipmap-xxxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-mdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xxxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-hdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png
#Sat Jun 13 17:10:52 CEST 2026
com.example.app-main-5\:/drawable/ic_launcher_foreground.xml=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/drawable/ic_launcher_foreground.xml
com.example.app-main-5\:/layout/activity_splash.xml=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/layout/activity_splash.xml
com.example.app-main-5\:/mipmap-anydpi-v26/ic_launcher.xml=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-anydpi-v26/ic_launcher.xml
com.example.app-main-5\:/mipmap-hdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-hdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-hdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-hdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-mdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-mdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-mdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-mdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xhdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-xhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xhdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xxhdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-xxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xxhdpi-v4/ic_launcher_foreground.png
com.example.app-main-5\:/mipmap-xxxhdpi/ic_launcher.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xxxhdpi-v4/ic_launcher.png
com.example.app-main-5\:/mipmap-xxxhdpi/ic_launcher_foreground.png=/Users/aln/Work/Matma/app/build/intermediates/packaged_res/debug/packageDebugResources/mipmap-xxxhdpi-v4/ic_launcher_foreground.png
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/main/res"><file path="/Users/aln/Work/Matma/app/src/main/res/values/styles.xml" qualifiers=""><style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/Users/aln/Work/Matma/app/src/main/res"><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png" qualifiers="mdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-mdpi/ic_launcher.png" qualifiers="mdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png" qualifiers="hdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-hdpi/ic_launcher.png" qualifiers="hdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/drawable/ic_launcher_foreground.xml" qualifiers="" type="drawable"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png" qualifiers="xxxhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" qualifiers="xxxhdpi-v4" type="mipmap"/><file name="activity_splash" path="/Users/aln/Work/Matma/app/src/main/res/layout/activity_splash.xml" qualifiers="" type="layout"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png" qualifiers="xxhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxhdpi/ic_launcher.png" qualifiers="xxhdpi-v4" type="mipmap"/><file path="/Users/aln/Work/Matma/app/src/main/res/values/colors.xml" qualifiers=""><color name="ic_launcher_background">#2196F3</color></file><file path="/Users/aln/Work/Matma/app/src/main/res/values/styles.xml" qualifiers=""><style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style></file><file path="/Users/aln/Work/Matma/app/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">Mądrik</string></file><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/drawable/ic_launcher_foreground.xml" qualifiers="" type="drawable"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" qualifiers="anydpi-v26" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-mdpi/ic_launcher.png" qualifiers="mdpi-v4" type="mipmap"/><file path="/Users/aln/Work/Matma/app/src/main/res/values/colors.xml" qualifiers=""><color name="ic_launcher_background">#2196F3</color></file><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-hdpi/ic_launcher.png" qualifiers="hdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png" qualifiers="hdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png" qualifiers="mdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xhdpi/ic_launcher.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxhdpi/ic_launcher.png" qualifiers="xxhdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png" qualifiers="xxhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" qualifiers="xxxhdpi-v4" type="mipmap"/><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png" qualifiers="xxxhdpi-v4" type="mipmap"/></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
</style></file><file path="/Users/aln/Work/Matma/app/src/main/res/values/strings.xml" qualifiers=""><string name="app_name">Mądrik</string></file><file name="ic_launcher_foreground" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-xhdpi/ic_launcher.png" qualifiers="xhdpi-v4" type="mipmap"/><file name="ic_launcher" path="/Users/aln/Work/Matma/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml" qualifiers="anydpi-v26" type="mipmap"/></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/Users/aln/Work/Matma/app/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~:!&lt;dir>navigation"><source path="/Users/aln/Work/Matma/app/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/main/assets"><file name="czytanie.html" path="/Users/aln/Work/Matma/app/src/main/assets/czytanie.html"/><file name="index.html" path="/Users/aln/Work/Matma/app/src/main/assets/index.html"/><file name="styles.css" path="/Users/aln/Work/Matma/app/src/main/assets/styles.css"/><file name="css/styles.css" path="/Users/aln/Work/Matma/app/src/main/assets/css/styles.css"/><file name="css/fonts/inter.css" path="/Users/aln/Work/Matma/app/src/main/assets/css/fonts/inter.css"/><file name="js/mnozenie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/mnozenie.js"/><file name="js/dyktando.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/dyktando.js"/><file name="js/version.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/version.js"/><file name="js/components.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/components.js"/><file name="js/czytanie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/czytanie.js"/><file name="js/nav.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/nav.js"/><file name="js/app.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/app.js"/><file name="js/dzielenie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/dzielenie.js"/><file name="mnozenie.html" path="/Users/aln/Work/Matma/app/src/main/assets/mnozenie.html"/><file name="dzielenie.html" path="/Users/aln/Work/Matma/app/src/main/assets/dzielenie.html"/><file name="components/progress-bar.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/progress-bar.html"/><file name="components/footer.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/footer.html"/><file name="components/header.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/header.html"/><file name="json/dyktanda.json" path="/Users/aln/Work/Matma/app/src/main/assets/json/dyktanda.json"/><file name="dyktando.html" path="/Users/aln/Work/Matma/app/src/main/assets/dyktando.html"/><file name="testy.html" path="/Users/aln/Work/Matma/app/src/main/assets/testy.html"/><file name="fonts/Inter-Medium.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Medium.ttf"/><file name="fonts/Inter-Bold.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Bold.ttf"/><file name="fonts/Inter-Regular.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Regular.ttf"/><file name="fonts/Inter-ExtraBold.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-ExtraBold.ttf"/></source></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/build/intermediates/shader_assets/debug/out"/></dataSet></merger>
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/main/assets"><file name="czytanie.html" path="/Users/aln/Work/Matma/app/src/main/assets/czytanie.html"/><file name="index.html" path="/Users/aln/Work/Matma/app/src/main/assets/index.html"/><file name="styles.css" path="/Users/aln/Work/Matma/app/src/main/assets/styles.css"/><file name="css/styles.css" path="/Users/aln/Work/Matma/app/src/main/assets/css/styles.css"/><file name="css/fonts/inter.css" path="/Users/aln/Work/Matma/app/src/main/assets/css/fonts/inter.css"/><file name="js/mnozenie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/mnozenie.js"/><file name="js/dyktando.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/dyktando.js"/><file name="js/version.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/version.js"/><file name="js/components.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/components.js"/><file name="js/czytanie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/czytanie.js"/><file name="js/nav.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/nav.js"/><file name="js/app.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/app.js"/><file name="js/dzielenie.js" path="/Users/aln/Work/Matma/app/src/main/assets/js/dzielenie.js"/><file name="mnozenie.html" path="/Users/aln/Work/Matma/app/src/main/assets/mnozenie.html"/><file name="dzielenie.html" path="/Users/aln/Work/Matma/app/src/main/assets/dzielenie.html"/><file name="components/progress-bar.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/progress-bar.html"/><file name="components/footer.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/footer.html"/><file name="components/header.html" path="/Users/aln/Work/Matma/app/src/main/assets/components/header.html"/><file name="json/dyktanda.json" path="/Users/aln/Work/Matma/app/src/main/assets/json/dyktanda.json"/><file name="dyktando.html" path="/Users/aln/Work/Matma/app/src/main/assets/dyktando.html"/><file name="testy.html" path="/Users/aln/Work/Matma/app/src/main/assets/testy.html"/><file name="fonts/Inter-Medium.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Medium.ttf"/><file name="fonts/Inter-Bold.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Bold.ttf"/><file name="fonts/Inter-Regular.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-Regular.ttf"/><file name="fonts/Inter-ExtraBold.ttf" path="/Users/aln/Work/Matma/app/src/main/assets/fonts/Inter-ExtraBold.ttf"/></source></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/aln/Work/Matma/app/src/debug/assets"/></dataSet></merger>
@@ -1,10 +1,13 @@
#Wed May 27 14:53:22 CEST 2026
base.2=/Users/aln/Work/Matma/app/build/intermediates/dex/debug/mergeProjectDexDebug/6/classes.dex
path.2=6/classes.dex
base.1=/Users/aln/Work/Matma/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex
path.1=0/classes.dex
#Sat Jun 13 17:25:09 CEST 2026
base.0=/Users/aln/Work/Matma/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
renamed.2=classes3.dex
renamed.1=classes2.dex
renamed.0=classes.dex
base.1=/Users/aln/Work/Matma/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex
base.2=/Users/aln/Work/Matma/app/build/intermediates/dex/debug/mergeProjectDexDebug/6/classes.dex
base.3=/Users/aln/Work/Matma/app/build/intermediates/global_synthetics_dex/debug/generateDebugGlobalSynthetics/classes.dex
path.0=classes.dex
path.1=0/classes.dex
path.2=6/classes.dex
path.3=classes.dex
renamed.0=classes.dex
renamed.1=classes2.dex
renamed.2=classes3.dex
renamed.3=classes4.dex

Some files were not shown because too many files have changed in this diff Show More