diff --git a/.gradle/8.5/checksums/checksums.lock b/.gradle/8.5/checksums/checksums.lock new file mode 100644 index 0000000..1c674a2 Binary files /dev/null and b/.gradle/8.5/checksums/checksums.lock differ diff --git a/.gradle/8.5/checksums/md5-checksums.bin b/.gradle/8.5/checksums/md5-checksums.bin new file mode 100644 index 0000000..68edf2f Binary files /dev/null and b/.gradle/8.5/checksums/md5-checksums.bin differ diff --git a/.gradle/8.5/checksums/sha1-checksums.bin b/.gradle/8.5/checksums/sha1-checksums.bin new file mode 100644 index 0000000..b81b92a Binary files /dev/null and b/.gradle/8.5/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock b/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock new file mode 100644 index 0000000..ab54fac Binary files /dev/null and b/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock differ diff --git a/.gradle/8.5/dependencies-accessors/gc.properties b/.gradle/8.5/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/8.5/executionHistory/executionHistory.bin b/.gradle/8.5/executionHistory/executionHistory.bin new file mode 100644 index 0000000..3a3e54b Binary files /dev/null and b/.gradle/8.5/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.5/executionHistory/executionHistory.lock b/.gradle/8.5/executionHistory/executionHistory.lock new file mode 100644 index 0000000..4816843 Binary files /dev/null and b/.gradle/8.5/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.5/fileChanges/last-build.bin b/.gradle/8.5/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/.gradle/8.5/fileChanges/last-build.bin differ diff --git a/.gradle/8.5/fileHashes/fileHashes.bin b/.gradle/8.5/fileHashes/fileHashes.bin new file mode 100644 index 0000000..6b76ac4 Binary files /dev/null and b/.gradle/8.5/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.5/fileHashes/fileHashes.lock b/.gradle/8.5/fileHashes/fileHashes.lock new file mode 100644 index 0000000..6ce0041 Binary files /dev/null and b/.gradle/8.5/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.5/fileHashes/resourceHashesCache.bin b/.gradle/8.5/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..cbf1fb2 Binary files /dev/null and b/.gradle/8.5/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/8.5/gc.properties b/.gradle/8.5/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/9.5.1/checksums/checksums.lock b/.gradle/9.5.1/checksums/checksums.lock index 3c6f52d..f1e38f7 100644 Binary files a/.gradle/9.5.1/checksums/checksums.lock and b/.gradle/9.5.1/checksums/checksums.lock differ diff --git a/.gradle/9.5.1/checksums/md5-checksums.bin b/.gradle/9.5.1/checksums/md5-checksums.bin index 565eb5e..a0dcfad 100644 Binary files a/.gradle/9.5.1/checksums/md5-checksums.bin and b/.gradle/9.5.1/checksums/md5-checksums.bin differ diff --git a/.gradle/9.5.1/checksums/sha1-checksums.bin b/.gradle/9.5.1/checksums/sha1-checksums.bin index 42f93b8..b671e7e 100644 Binary files a/.gradle/9.5.1/checksums/sha1-checksums.bin and b/.gradle/9.5.1/checksums/sha1-checksums.bin differ diff --git a/.gradle/9.5.1/executionHistory/executionHistory.bin b/.gradle/9.5.1/executionHistory/executionHistory.bin index 21e00d0..1279e97 100644 Binary files a/.gradle/9.5.1/executionHistory/executionHistory.bin and b/.gradle/9.5.1/executionHistory/executionHistory.bin differ diff --git a/.gradle/9.5.1/executionHistory/executionHistory.lock b/.gradle/9.5.1/executionHistory/executionHistory.lock index 337e858..f156569 100644 Binary files a/.gradle/9.5.1/executionHistory/executionHistory.lock and b/.gradle/9.5.1/executionHistory/executionHistory.lock differ diff --git a/.gradle/9.5.1/fileHashes/fileHashes.bin b/.gradle/9.5.1/fileHashes/fileHashes.bin index fa79495..9bfcf9a 100644 Binary files a/.gradle/9.5.1/fileHashes/fileHashes.bin and b/.gradle/9.5.1/fileHashes/fileHashes.bin differ diff --git a/.gradle/9.5.1/fileHashes/fileHashes.lock b/.gradle/9.5.1/fileHashes/fileHashes.lock index b76f704..a93cfe9 100644 Binary files a/.gradle/9.5.1/fileHashes/fileHashes.lock and b/.gradle/9.5.1/fileHashes/fileHashes.lock differ diff --git a/.gradle/9.5.1/fileHashes/resourceHashesCache.bin b/.gradle/9.5.1/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..6316535 Binary files /dev/null and b/.gradle/9.5.1/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index dbecf08..5b4268b 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties index cb07337..356cb58 100644 --- a/.gradle/buildOutputCleanup/cache.properties +++ b/.gradle/buildOutputCleanup/cache.properties @@ -1,2 +1,2 @@ -#Tue May 26 23:52:23 CEST 2026 -gradle.version=9.5.1 +#Wed May 27 00:12:10 CEST 2026 +gradle.version=8.5 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin index 34e81d9..facf491 100644 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index fec264f..c1a12cb 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..1b665a2 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,38 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +android { + namespace 'com.example.app' + compileSdk 33 + + defaultConfig { + applicationId "com.example.app" + minSdk 21 + targetSdk 33 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + kotlinOptions { + jvmTarget = "17" + } +} + +dependencies { + implementation 'androidx.core:core-ktx:1.9.0' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.22" +} diff --git a/app/build/intermediates/annotation_processor_list/release/annotationProcessors.json b/app/build/intermediates/annotation_processor_list/release/annotationProcessors.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/app/build/intermediates/annotation_processor_list/release/annotationProcessors.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/app/build/intermediates/apk_ide_redirect_file/release/redirect.txt b/app/build/intermediates/apk_ide_redirect_file/release/redirect.txt new file mode 100644 index 0000000..3716790 --- /dev/null +++ b/app/build/intermediates/apk_ide_redirect_file/release/redirect.txt @@ -0,0 +1,2 @@ +#- File Locator - +listingFile=../../../outputs/apk/release/output-metadata.json diff --git a/app/build/intermediates/app_metadata/release/app-metadata.properties b/app/build/intermediates/app_metadata/release/app-metadata.properties new file mode 100644 index 0000000..1ca1a4c --- /dev/null +++ b/app/build/intermediates/app_metadata/release/app-metadata.properties @@ -0,0 +1,2 @@ +appMetadataVersion=1.1 +androidGradlePluginVersion=8.2.2 diff --git a/app/build/intermediates/assets/release/components/footer.html b/app/build/intermediates/assets/release/components/footer.html new file mode 100644 index 0000000..b5b37c4 --- /dev/null +++ b/app/build/intermediates/assets/release/components/footer.html @@ -0,0 +1 @@ + diff --git a/app/build/intermediates/assets/release/components/header.html b/app/build/intermediates/assets/release/components/header.html new file mode 100644 index 0000000..70cbf7d --- /dev/null +++ b/app/build/intermediates/assets/release/components/header.html @@ -0,0 +1,5 @@ + +
+

{TITLE}

+

{SUBTITLE}

+
diff --git a/app/build/intermediates/assets/release/components/progress-bar.html b/app/build/intermediates/assets/release/components/progress-bar.html new file mode 100644 index 0000000..899ce2d --- /dev/null +++ b/app/build/intermediates/assets/release/components/progress-bar.html @@ -0,0 +1,4 @@ + +
+
+
diff --git a/app/build/intermediates/assets/release/css/fonts/inter.css b/app/build/intermediates/assets/release/css/fonts/inter.css new file mode 100644 index 0000000..642475c --- /dev/null +++ b/app/build/intermediates/assets/release/css/fonts/inter.css @@ -0,0 +1,27 @@ +@font-face { + font-family: 'Inter'; + src: url('../../fonts/Inter-Regular.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'Inter'; + src: url('../../fonts/Inter-Medium.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} +@font-face { + font-family: 'Inter'; + src: url('../../fonts/Inter-Bold.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} +@font-face { + font-family: 'Inter'; + src: url('../../fonts/Inter-ExtraBold.ttf') format('truetype'); + font-weight: 800; + font-style: normal; +} +body, html { + font-family: 'Inter', Arial, sans-serif; +} diff --git a/app/build/intermediates/assets/release/css/styles.css b/app/build/intermediates/assets/release/css/styles.css new file mode 100644 index 0000000..72a1600 --- /dev/null +++ b/app/build/intermediates/assets/release/css/styles.css @@ -0,0 +1,1152 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + src: url('../fonts/Inter-Regular.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + src: url('../fonts/Inter-Medium.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + src: url('../fonts/Inter-Bold.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + src: url('../fonts/Inter-ExtraBold.ttf') format('truetype'); +} + +:root { + --bg-color: #f1f5f9; + --text-color: #1e293b; + --card-bg: #ffffff; + --shadow-color: rgba(0, 0, 0, 0.08); + --font-main: 'Inter', sans-serif; +} + +body { + margin: 0; + font-family: var(--font-main); + background-color: var(--bg-color); + color: var(--text-color); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + padding: 24px; + box-sizing: border-box; +} + +.app-container { + width: 100%; + max-width: 900px; +} + +.app-header { + text-align: center; + margin-bottom: 32px; +} + +.app-title { + font-size: 32px; + font-weight: 800; + margin: 0 0 4px; +} + +.app-subtitle { + font-size: 18px; + color: #64748b; + margin: 0; +} + +.category-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 24px; +} + +.category-card { + display: flex; + align-items: center; + padding: 24px; + border-radius: 20px; + background: linear-gradient(135deg, var(--grad-start), var(--grad-end)); + color: white; + text-decoration: none; + box-shadow: 0 10px 25px -5px var(--shadow-color), 0 4px 6px -2px var(--shadow-color); + transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; + position: relative; + overflow: hidden; +} + +.category-card:hover { + transform: translateY(-5px); + box-shadow: 0 20px 30px -10px var(--shadow-color), 0 8px 10px -4px var(--shadow-color); +} + +.card-icon { + font-size: 36px; + margin-right: 20px; + background: rgba(255, 255, 255, 0.15); + width: 64px; + height: 64px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; +} + +.read-header .progress-container { + display: flex; + align-items: center; + gap: 12px; +} + +.read-header .progress-text { + font-size: 14px; + font-weight: 600; + color: #475569; +} + +.card-content { + flex: 1; +} + +.card-title { + font-size: 22px; + font-weight: 700; + margin: 0 0 4px; +} + +.card-desc { + font-size: 15px; + opacity: 0.9; + margin: 0; +} + +.app-footer { + margin-top: 40px; + font-size: 12px; + color: #94a3b8; + text-align: center; +} + +/* General Subpage Styles */ +.subpage-nav { + width: 100%; + max-width: 900px; + margin-bottom: 16px; +} + +.back-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 10px 16px; + background: var(--card-bg); + border: 1px solid #e2e8f0; + border-radius: 12px; + font-size: 15px; + font-weight: 600; + color: #475569; + text-decoration: none; + box-shadow: 0 2px 8px rgba(16, 24, 40, 0.07); + transition: all 0.2s; +} + +.back-btn:hover { + background: #f8fafc; + border-color: #cbd5e1; +} + +.screen-content { + /* width: 100%; */ + background: var(--card-bg); + border-radius: 20px; + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); + padding: 24px 32px; +} + +.subpage-header { + text-align: center; + margin-bottom: 24px; + border-bottom: 1px solid #f1f5f9; + padding-bottom: 20px; +} + +.subpage-title { + font-size: 28px; + font-weight: 700; + margin: 0 0 4px; +} + +.subpage-subtitle { + font-size: 16px; + color: #64748b; + margin: 0; +} + +.content-panel { + margin-bottom: 24px; +} + +.panel-title { + font-size: 18px; + font-weight: 600; + margin: 0 0 12px; + color: #334155; +} + +.action-btn { + display: inline-block; + padding: 12px 24px; + border-radius: 12px; + background: #2563eb; + color: white; + font-size: 16px; + font-weight: 600; + border: none; + cursor: pointer; + transition: background 0.2s; +} + +.action-btn:hover { + background: #1d4ed8; +} + +.hidden { + display: none !important; +} + +/* Play Screen Header */ +.play-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + background-color: var(--card-bg); + border-bottom: 1px solid #e2e8f0; + position: sticky; + top: 0; + z-index: 10; +} + +.play-nav-btn { + background: none; + border: none; + color: #475569; + font-size: 15px; + font-weight: 600; + cursor: pointer; + padding: 8px 12px; + border-radius: 8px; + transition: background-color 0.2s; +} +.play-nav-btn:hover { + background-color: #f1f5f9; +} + +.progress-container { + display: flex; + align-items: center; + gap: 12px; + flex-grow: 1; + justify-content: center; +} + +.progress-bar { + width: 100%; + height: 8px; + background-color: #e2e8f0; + border-radius: 4px; + overflow: hidden; +} + +.progress-bar-inner { + height: 100%; + width: 0%; + background-color: #2563eb; + transition: width 0.3s ease; +} + +.progress-text { + font-size: 14px; + font-weight: 600; + color: #475569; + min-width: 50px; + text-align: left; +} + +.play-header-placeholder { + width: 75px; /* Same as back button */ +} + + +/* Czytanie - List Screen */ +.reading-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 12px; +} + +.list-item-btn { + width: 100%; + padding: 16px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + text-align: left; + font-size: 16px; + font-family: inherit; + cursor: pointer; + transition: all 0.2s; + font-weight: 500; + /* Fix for overflow issue */ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.list-item-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; + transform: translateY(-2px); +} + +.custom-textarea { + width: 100%; + min-height: 120px; + padding: 12px 16px; + border-radius: 12px; + border: 1px solid #e2e8f0; + font-size: 15px; + font-family: inherit; + resize: vertical; + margin-bottom: 12px; + display: block; + box-sizing: border-box; +} + +.custom-textarea:focus { + outline: none; + border-color: #2563eb; + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); +} + +/* Czytanie - Reading Screen */ +.read-screen-container { + position: fixed; + inset: 0; + background: var(--card-bg); + display: flex; + flex-direction: column; + z-index: 100; +} + +.read-screen-container.hidden { + display: none; +} + +.read-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 16px; + padding-top: max(12px, env(safe-area-inset-top)); + background: white; + border-bottom: 1px solid #e2e8f0; + flex-shrink: 0; + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + position: relative; + z-index: 2; +} + +.read-progress-bar { + height: 4px; + background: #e2e8f0; + width: 100%; +} + +.read-progress-bar-inner { + height: 100%; + width: 0%; + background: #2563eb; + transition: width 0.3s ease; +} + +.read-nav-btn { + padding: 8px 16px; + border-radius: 10px; + border: 1px solid #e2e8f0; + background: white; + font-size: 15px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.read-nav-btn:hover { + background: #f8fafc; + color: #2563eb; +} + +.speed-toggle-btn { + min-width: 80px; + text-align: center; + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; +} + +.read-title-text { + flex: 1; + text-align: center; + font-size: 16px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.read-viewport { + flex: 1; + overflow: hidden; + position: relative; + /* Apply padding here */ + padding: 0 24px; + /* Ensure flex behavior centers the text container */ + display: flex; + align-items: center; + justify-content: center; +} + +.read-text { + font-size: clamp(48px, 15vw, 72px); + font-weight: 700; + line-height: 1.4; + text-align: center; + color: var(--text-color); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: transform; + /* Remove padding from the text itself */ + padding: 0; + /* Ensure the text block does not overflow its container */ + max-width: 100%; + word-break: break-word; + position: absolute; + top: 10px; + +} + +.next-line-btn { + position: absolute; + bottom: max(30px, calc(env(safe-area-inset-bottom) + 20px)); + right: 30px; + width: 60px; + height: 60px; + border-radius: 50%; + background: #2563eb; + color: white; + border: none; + box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; +} + +.next-line-btn svg { + width: 30px; + height: 30px; +} + +.next-line-btn:hover { + background: #1d4ed8; +} + +.next-line-btn:disabled { + opacity: 0.4; + cursor: default; + background: #94a3b8; + box-shadow: none; +} + +/* Dyktando - Play Screen */ +.play-screen-container { + position: fixed; + inset: 0; + background: var(--bg-color); + display: flex; + flex-direction: column; + z-index: 100; +} + +.play-screen-container.hidden { + display: none; +} + +.play-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 16px; + padding-top: max(12px, env(safe-area-inset-top)); + background: white; + border-bottom: 1px solid #e2e8f0; + flex-shrink: 0; + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + gap: 16px; + position: relative; + z-index: 2; +} + +.play-nav-btn { + padding: 8px 16px; + border-radius: 10px; + border: 1px solid #e2e8f0; + background: white; + font-size: 15px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.play-nav-btn:hover { + background: #f8fafc; + color: #2563eb; +} + +.play-title-text { + flex: 1; + text-align: center; + font-size: 16px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.play-progress { + font-size: 14px; + font-weight: 600; + color: #64748b; + background: #f1f5f9; + padding: 6px 12px; + border-radius: 8px; +} + +.play-body { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + background: var(--card-bg); +} + +.play-scroll-area { + flex: 1; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.dyk-text-display { + padding: 24px; + font-size: 28px; + line-height: 2; + color: var(--text-color); +} + +/* Blanks styling */ +.dyk-blank { + display: inline; + font-weight: 700; + border-radius: 4px; + padding: 2px 4px; +} +.dyk-blank--pending { + color: #94a3b8; + border-bottom: 2px dotted #cbd5e1; +} +.dyk-blank--active { + color: #2563eb; + background: #eff6ff; + border-bottom: 2px solid #2563eb; + animation: dyk-pulse 1.5s ease-in-out infinite; +} +.dyk-blank--ok { + color: #16a34a; + background-color: #f0fdf4; +} +.dyk-blank--err { + color: #dc2626; + background-color: #fef2f2; +} +.dyk-blank--err s { + text-decoration: line-through; + text-decoration-thickness: 2px; +} +.dyk-correction { + color: #16a34a; + font-size: 0.7em; + font-weight: 700; + margin-left: 3px; + vertical-align: super; +} + +@keyframes dyk-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.6; } +} + +/* Choices bar */ +.choices-bar { + flex-shrink: 0; + display: flex; + gap: 12px; + padding: 16px; + padding-bottom: max(16px, env(safe-area-inset-bottom)); + background: white; + border-top: 1px solid #e2e8f0; + box-shadow: 0 -4px 20px rgba(0,0,0,0.05); +} +.choices-bar.hidden { + display: none; +} +.choice-btn { + flex: 1; + padding: 18px 8px; + border-radius: 14px; + border: 2px solid #93c5fd; + background: #eff6ff; + font-size: 24px; + font-weight: 700; + cursor: pointer; + color: #2563eb; + font-family: inherit; + transition: all 0.15s; +} +.choice-btn:hover, .choice-btn:active { + background: #2563eb; + color: white; + border-color: #2563eb; + transform: translateY(-2px); +} + +/* Summary view */ +.summary-view { + padding: 24px; +} +.summary-text-display { + font-size: 24px; + line-height: 2; + margin-bottom: 24px; +} +.summary-score-text { + font-size: 20px; + font-weight: 700; + text-align: center; + color: var(--text-color); + margin: 0 0 24px; + padding: 16px; + background: #f1f5f9; + border-radius: 12px; +} +.summary-back-btn { + display: block; + width: 100%; + text-align: center; + margin-bottom: 24px; +} + +/* Ustawienia */ +.settings-label { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + font-size: 16px; + color: #475569; +} + +.settings-input { + width: 80px; + padding: 10px; + border-radius: 10px; + border: 1px solid #e2e8f0; + font-size: 16px; + text-align: center; + font-weight: 600; +} +.settings-input:focus { + outline: none; + border-color: #2563eb; + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); +} + +.start-btn { + width: 100%; + margin-top: 16px; +} + +/* Grid z wyborem tabliczki */ +.table-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); + gap: 12px; +} + +.table-btn { + padding: 16px 8px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + font-size: 18px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.table-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; + transform: translateY(-2px); +} + +.table-btn.active { + background: #2563eb; + color: white; + border-color: #2563eb; + box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2); +} + +.table-btn.all { + grid-column: 1 / -1; + font-size: 16px; +} + +/* Ekran gry (mnożenie, dzielenie) */ +.play-header { + gap: 16px; + position: relative; + z-index: 2; +} + +.play-progress-bar { + height: 4px; + background: #e2e8f0; + width: 100%; +} + +.play-progress-bar-inner { + height: 100%; + width: 0%; + background: #2563eb; + transition: width 0.3s ease; +} + +.play-progress-text { + font-size: 14px; + font-weight: 600; + color: #64748b; + min-width: 50px; + text-align: right; +} + +.problem-display { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: 20px; +} + +.problem-text { + font-size: clamp(48px, 18vw, 90px); + font-weight: 800; + color: var(--text-color); +} + +.feedback-text { + font-size: 20px; + font-weight: 600; + height: 30px; + margin-top: 12px; + opacity: 0; + transition: opacity 0.2s; +} +.feedback-text.correct { + color: #16a34a; +} +.feedback-text.incorrect { + color: #dc2626; +} + +/* Klawiatura numeryczna */ +.keypad-container { + padding: 16px; + padding-bottom: max(16px, env(safe-area-inset-bottom)); + background: white; + border-top: 1px solid #e2e8f0; + box-shadow: 0 -4px 20px rgba(0,0,0,0.05); +} + +.answer-display { + min-height: 60px; + font-size: 40px; + font-weight: 700; + text-align: center; + padding: 8px; + border-radius: 12px; + background: #f1f5f9; + margin-bottom: 16px; + color: var(--text-color); +} + +.keypad { + display: grid; + gap: 10px; + margin-bottom: 10px; +} + +.key-row { + display: flex; + gap: 10px; +} + +.key { + flex: 1; + height: 60px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: white; + font-size: 24px; + font-weight: 500; + cursor: pointer; + transition: all 0.1s; +} +.key:active { + background: #e2e8f0; + transform: scale(0.95); +} + +.key-special { + font-size: 20px; + background: #f8fafc; +} + +.submit-btn { + width: 100%; + padding: 18px; + border-radius: 12px; + background: #2563eb; + color: white; + font-size: 18px; + font-weight: 700; + border: none; + cursor: pointer; + transition: background 0.2s; +} +.submit-btn:hover { + background: #1d4ed8; +} + +/* Podsumowanie */ +.summary-back-btn.secondary { + background: #64748b; + margin-top: 12px; +} +.summary-back-btn.secondary:hover { + background: #475569; +} + +/* Testy - Konfiguracja */ +.test-config-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24px; + margin-bottom: 24px; +} + +.ops-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.op-btn { + padding: 14px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + font-size: 16px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s; +} +.op-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; +} +.op-btn.active { + background: #2563eb; + color: white; + border-color: #2563eb; + font-weight: 600; +} + +.modes-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.mode-btn { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 20px; + border-radius: 12px; + border: 2px dashed #cbd5e1; + background: transparent; + cursor: pointer; + transition: all 0.2s; +} +.mode-btn:hover { + border-color: #93c5fd; + background: #eff6ff; +} +.mode-btn.active { + border-style: solid; + border-color: #2563eb; + background: #eff6ff; + color: #2563eb; +} +.mode-icon { + font-size: 28px; +} +.mode-label { + font-size: 16px; + font-weight: 600; + margin-top: 8px; +} + +.hint-text { + font-size: 14px; + color: #64748b; + margin-top: 12px; + text-align: center; +} + +/* Ustawienia i Historia (details/summary) */ +.settings-details { + border: 1px solid #e2e8f0; + border-radius: 12px; + overflow: hidden; +} +.settings-summary { + padding: 12px 16px; + cursor: pointer; + background: #f8fafc; + display: flex; + justify-content: space-between; + align-items: center; +} +.settings-summary:hover { + background: #f1f5f9; +} +.settings-summary .panel-title { + margin: 0; +} +.settings-summary::after { + content: '▼'; + font-size: 12px; + color: #94a3b8; + transition: transform 0.2s; +} +.settings-details[open] > .settings-summary::after { + transform: rotate(180deg); +} + +.settings-content { + padding: 16px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.settings-label-row { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 15px; +} +.settings-input-row { + width: 80px; + padding: 8px; + border-radius: 8px; + border: 1px solid #e2e8f0; + text-align: center; +} +.settings-label-row.checkbox { + gap: 12px; +} +.settings-label-row.checkbox input { + width: auto; + height: 18px; + width: 18px; +} + +.settings-actions { + display: flex; + gap: 12px; + margin-top: 12px; + border-top: 1px solid #f1f5f9; + padding-top: 16px; +} +.settings-actions .action-btn.secondary { + background: #64748b; +} +.settings-actions .action-btn.secondary:hover { + background: #475569; +} + +/* Historia */ +.history-list { + padding: 8px 16px 16px; + display: flex; + flex-direction: column; + gap: 10px; + max-height: 300px; + overflow-y: auto; +} +.history-item { + padding: 12px; + border-radius: 10px; + background: #f1f5f9; + border: 1px solid #e2e8f0; +} +.history-item-main { + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 600; +} +.history-score { + font-size: 16px; +} +.history-ops { + font-size: 14px; + color: #475569; +} +.history-item-meta { + display: flex; + justify-content: space-between; + font-size: 12px; + color: #64748b; + margin-top: 6px; +} +.history-empty { + text-align: center; + color: #94a3b8; + padding: 16px; +} + +/* Ekran gry */ +.play-status { + font-size: 16px; + font-weight: 600; + color: #475569; +} +.play-score { + font-size: 20px; + font-weight: 700; + min-width: 40px; + text-align: right; +} +.timer-display { + font-size: 18px; + font-weight: 600; + color: #ef4444; + margin-bottom: 8px; +} + +/* Klawiatura dla testów */ +#negate, #dot { + font-size: 20px; +} +#submit { + flex: 2; +} + +/* Podsumowanie - modal */ +.summary-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 200; +} +.summary-overlay.hidden { + display: none; +} +.summary-modal { + background: white; + padding: 32px; + border-radius: 20px; + text-align: center; + box-shadow: 0 10px 30px rgba(0,0,0,0.2); + max-width: 90%; + width: 360px; +} +.summary-modal h2 { + font-size: 24px; + margin: 12px 0; +} +.summary-modal-text { + font-size: 18px; + color: #475569; + margin-bottom: 24px; +} + +@media (max-width: 640px) { + body { + padding: 16px; + } + + .app-title { + font-size: 28px; + } + + .app-subtitle { + font-size: 16px; + } + + .category-grid { + grid-template-columns: 1fr; + } + + .test-config-grid { + grid-template-columns: 1fr; + } +} diff --git a/app/build/intermediates/assets/release/czytanie.html b/app/build/intermediates/assets/release/czytanie.html new file mode 100644 index 0000000..45c08d3 --- /dev/null +++ b/app/build/intermediates/assets/release/czytanie.html @@ -0,0 +1,71 @@ + + + + + + Czytanie + + + + + + +
+ +
+
+ +
+

Gotowe teksty

+
+
+ +
+

Własny tekst

+ + +
+
+
+ + + + + + + + + + + diff --git a/app/build/intermediates/assets/release/dyktando.html b/app/build/intermediates/assets/release/dyktando.html new file mode 100644 index 0000000..82ee531 --- /dev/null +++ b/app/build/intermediates/assets/release/dyktando.html @@ -0,0 +1,80 @@ + + + + + + Dyktando + + + + + + +
+ +
+
+ +
+

Gotowe dyktanda

+
+
+ +
+

Własny tekst

+ + +
+
+
+ + + + + + + + + + + diff --git a/app/build/intermediates/assets/release/dzielenie.html b/app/build/intermediates/assets/release/dzielenie.html new file mode 100644 index 0000000..49e2e81 --- /dev/null +++ b/app/build/intermediates/assets/release/dzielenie.html @@ -0,0 +1,116 @@ + + + + + + Nauka Dzielenia + + + + +
+ +
+ +
+
+
+

Wybór dzielnika

+
+ + + + + + + + + + + +
+
+
+ +
+ +
+
+ + +
+
+ + Dzielenie +
+ 0/20 +
+
+
+ +
+
+
?
+ +
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+
+ + +
+
+
🎉
+

Koniec ćwiczenia!

+

+ + +
+
+
+ + + + + + + + diff --git a/app/build/intermediates/assets/release/fonts/Inter-Bold.ttf b/app/build/intermediates/assets/release/fonts/Inter-Bold.ttf new file mode 100644 index 0000000..9fb9b75 Binary files /dev/null and b/app/build/intermediates/assets/release/fonts/Inter-Bold.ttf differ diff --git a/app/build/intermediates/assets/release/fonts/Inter-ExtraBold.ttf b/app/build/intermediates/assets/release/fonts/Inter-ExtraBold.ttf new file mode 100644 index 0000000..0fdf1e0 Binary files /dev/null and b/app/build/intermediates/assets/release/fonts/Inter-ExtraBold.ttf differ diff --git a/app/build/intermediates/assets/release/fonts/Inter-Medium.ttf b/app/build/intermediates/assets/release/fonts/Inter-Medium.ttf new file mode 100644 index 0000000..458cd06 Binary files /dev/null and b/app/build/intermediates/assets/release/fonts/Inter-Medium.ttf differ diff --git a/app/build/intermediates/assets/release/fonts/Inter-Regular.ttf b/app/build/intermediates/assets/release/fonts/Inter-Regular.ttf new file mode 100644 index 0000000..b7aaca8 Binary files /dev/null and b/app/build/intermediates/assets/release/fonts/Inter-Regular.ttf differ diff --git a/app/build/intermediates/assets/release/index.html b/app/build/intermediates/assets/release/index.html new file mode 100644 index 0000000..442b180 --- /dev/null +++ b/app/build/intermediates/assets/release/index.html @@ -0,0 +1,63 @@ + + + + + + Edu — Główne Menu + + + + +
+
+

Wybierz kategorię

+

i rozpocznij naukę

+
+ +
+ +
📖
+
+

Czytanie

+

Ćwicz płynność czytania

+
+
+ + +
✏️
+
+

Dyktando

+

Sprawdź swoją ortografię

+
+
+ + +
×
+
+

Mnożenie

+

Tabliczka mnożenia

+
+
+ + +
÷
+
+

Dzielenie

+

Powtórka z dzielenia

+
+
+ + +
📝
+
+

Testy z matematyki

+

Sprawdź swoją wiedzę

+
+
+
+
+ + + + + diff --git a/app/build/intermediates/assets/release/js/app.js b/app/build/intermediates/assets/release/js/app.js new file mode 100644 index 0000000..d0f942b --- /dev/null +++ b/app/build/intermediates/assets/release/js/app.js @@ -0,0 +1,453 @@ +// Minimal app logic for math training +const state = { + ops: new Set(), + mode: null, // 'timed' or 'training' + score: 0, + currentProblem: null, + answerBuffer: '', + timerId: null, + timeLeft: 60, + sessionSolved: 0, + sessionTarget: 20, + settings: { + timedSeconds: 60, + maxResult: 40, + maxOperand: 20, + sessionProblems: 20, + allowNegative: false, + allowFraction: false, + } +} + +// elements +const menuScreen = document.getElementById('menu-screen') +const playScreen = document.getElementById('play-screen') +const opsContainer = document.getElementById('ops') +const modeButtons = document.querySelectorAll('.mode-btn') +const opButtons = document.querySelectorAll('.op-btn') +const backBtn = document.getElementById('back-btn') +const problemEl = document.getElementById('problem') +const answerEl = document.getElementById('answer') +const feedbackEl = document.getElementById('feedback') +const timerEl = document.getElementById('timer') +const scoreEl = document.getElementById('score') +const keypad = document.querySelectorAll('.key') +const submitBtn = document.getElementById('submit') +const clearBtn = document.getElementById('clear') +const backspaceBtn = document.getElementById('backspace') +const historyPanel = document.getElementById('history-panel') +const settingTimed = document.getElementById('setting-timed') +const settingMaxResult = document.getElementById('setting-max-result') +const settingMaxOperand = document.getElementById('setting-max-operand') +const settingSessionProblems = document.getElementById('setting-session-problems') +const settingAllowNegative = document.getElementById('setting-allow-negative') +const settingAllowFraction = document.getElementById('setting-allow-fraction') +const saveSettingsBtn = document.getElementById('save-settings') +const resetSettingsBtn = document.getElementById('reset-settings') +const progressInner = document.getElementById('progress_inner') +const dotBtn = document.getElementById('dot') +const negateBtn = document.getElementById('negate') +const summaryOverlay = document.getElementById('summary-overlay') +const summaryText = document.getElementById('summary-text') +const summaryBack = document.getElementById('summary-back') +const statusEl = document.getElementById('status'); + +// load settings from localStorage +function loadSettings(){ + try{ + let progressInner = null + if (raw) { + const s = JSON.parse(raw) + state.settings = Object.assign(state.settings, s) + } + }catch(e){ console.warn('settings load failed', e) } + // reflect to inputs + settingTimed.value = state.settings.timedSeconds + settingMaxResult.value = state.settings.maxResult + settingMaxOperand.value = state.settings.maxOperand + settingSessionProblems.value = state.settings.sessionProblems + settingAllowNegative.checked = !!state.settings.allowNegative + settingAllowFraction.checked = !!state.settings.allowFraction +} + +function saveSettings(){ + state.settings.timedSeconds = Math.max(5, Math.min(600, parseInt(settingTimed.value,10) || 60)) + state.settings.maxResult = Math.max(1, Math.min(999, parseInt(settingMaxResult.value,10) || 40)) + state.settings.maxOperand = Math.max(1, Math.min(999, parseInt(settingMaxOperand.value,10) || 20)) + state.settings.sessionProblems = Math.max(1, Math.min(500, parseInt(settingSessionProblems.value,10) || 20)) + state.settings.allowNegative = !!settingAllowNegative.checked + state.settings.allowFraction = !!settingAllowFraction.checked + try{ localStorage.setItem('matma:settings', JSON.stringify(state.settings)) }catch(e){console.warn('save failed',e)} + + // visual feedback + const parent = saveSettingsBtn.parentElement; + const feedback = document.createElement('span'); + feedback.textContent = 'Zapisano!'; + feedback.style.color = '#16a34a'; + feedback.style.marginLeft = '12px'; + parent.appendChild(feedback); + setTimeout(()=> parent.removeChild(feedback), 2000); +} + +function resetSettings(){ + state.settings = {timedSeconds:60, maxResult:40, maxOperand:20, sessionProblems:20, allowNegative: false, allowFraction: false}; + saveSettings(); + loadSettings(); +} + +saveSettingsBtn.addEventListener('click', saveSettings) +resetSettingsBtn.addEventListener('click', resetSettings) + +loadSettings() + +// initial wiring +opButtons.forEach(b => { + b.addEventListener('click', () => { + const op = b.dataset.op + if (state.ops.has(op)) { state.ops.delete(op); b.classList.remove('active') } + else { state.ops.add(op); b.classList.add('active') } + }) +}) + +modeButtons.forEach(b => b.addEventListener('click', () => { + if (state.ops.size === 0) { + const hint = document.querySelector('.hint-text'); + hint.style.color = '#dc2626'; + hint.style.fontWeight = '600'; + setTimeout(() => { + hint.style.color = ''; + hint.style.fontWeight = ''; + }, 2000); + return; + } + modeButtons.forEach(x=>x.classList.remove('active')) + b.classList.add('active') + state.mode = b.dataset.mode + startPlay() +})) + +backBtn.addEventListener('click', ()=>{ + stopTimer() + playScreen.classList.add('hidden') + menuScreen.classList.remove('hidden') + feedbackEl.textContent = '' +}) + +function startPlay(){ + menuScreen.classList.add('hidden') + playScreen.classList.remove('hidden') + state.score = 0 + scoreEl.textContent = state.score + state.answerBuffer = '' + answerEl.textContent = '' + feedbackEl.textContent = '' + state.currentProblem = generateProblem() + renderProblem() + + if (state.mode === 'timed'){ + progressInner.style.width = '0%' + startTimer(state.settings.timedSeconds) + statusEl.textContent = 'Na czas'; + timerEl.classList.remove('hidden'); + } else { + progressInner.style.width = '0%' + state.sessionSolved = 0 + state.sessionTarget = Math.max(1, state.settings.sessionProblems) + updateProgress() + timerEl.classList.add('hidden'); + } +} + +function generateProblem(){ + const ops = Array.from(state.ops) + const op = ops[Math.floor(Math.random()*ops.length)] + const maxOp = Math.max(1, state.settings.maxOperand) + const maxRes = Math.max(1, state.settings.maxResult) + let a = 0, b = 0 + for (let i=0;i<200;i++){ + if (op === 'div'){ + b = randInt(1, maxOp) + if (!state.settings.allowFraction){ + const maxQByOp = Math.floor(maxOp / b) + const maxQ = Math.min(maxRes, maxQByOp) + if (maxQ < 0) continue + const q = randInt(0, maxQ) + a = q * b + if (state.settings.allowNegative && Math.random() < 0.2) a = -a + return {a,b,op} + } else { + const maxResultNByOp = Math.floor((10 * maxOp) / b) + const maxResultN = Math.min(maxRes * 10, maxResultNByOp) + if (maxResultN < 0) continue + const result_n = randInt(0, maxResultN) + if ((result_n * b) % 10 !== 0) continue + a = (result_n * b) / 10 + if (state.settings.allowNegative && Math.random() < 0.2) a = -a + return {a,b,op} + } + } else if (op === 'mul'){ + a = randInt(0, maxOp) + b = randInt(0, maxOp) + if (a * b <= maxRes) return {a,b,op} + } else if (op === 'add'){ + a = randInt(0, maxOp) + b = randInt(0, maxOp) + if (a + b <= maxRes) return {a,b,op} + } else if (op === 'sub'){ + a = randInt(0, maxOp) + b = randInt(0, maxOp) + if (!state.settings.allowNegative){ + if (a < b) [a,b] = [b,a] + if (a - b <= maxRes) return {a,b,op} + } else { + if (Math.abs(a - b) <= maxRes) return {a,b,op} + } + } + } + a = Math.min(maxOp, Math.floor(maxRes/2)) + b = Math.min(maxOp, 1) + return {a,b,op} +} + +function randInt(min,max){ + return Math.floor(Math.random()*(max-min+1))+min +} + +function renderProblem(){ + const p = state.currentProblem + const map = {add: '+', sub: '−', mul: '×', div: '÷'} + const symbol = map[p.op] || '?' + problemEl.textContent = `${p.a} ${symbol} ${p.b}` +} + +function submitAnswer(){ + const buf = state.answerBuffer.trim() + if (buf.length === 0) return + const given = parseFloat(buf) + const p = state.currentProblem + let correct = null + if (p.op === 'add') correct = p.a + p.b + else if (p.op === 'sub') correct = p.a - p.b + else if (p.op === 'mul') correct = p.a * p.b + else if (p.op === 'div') correct = (p.b === 0) ? null : (p.a / p.b) + const eps = state.settings.allowFraction ? 1e-6 : 1e-9 + const isCorrect = (correct !== null) && (Math.abs(given - correct) < eps) + + feedbackEl.style.opacity = 1; + if (isCorrect) { + state.score += 1 + feedbackEl.textContent = 'Dobrze!' + feedbackEl.classList.add('correct'); + feedbackEl.classList.remove('incorrect'); + } else { + const correctAnswer = Number.isFinite(correct) ? parseFloat(correct.toFixed(2)) : '—'; + feedbackEl.textContent = `Poprawna odpowiedź: ${correctAnswer}` + feedbackEl.classList.add('incorrect'); + feedbackEl.classList.remove('correct'); + } + scoreEl.textContent = state.score + state.answerBuffer = '' + answerEl.textContent = '' + + if (state.mode === 'training'){ + state.sessionSolved++ + updateProgress() + if (state.sessionSolved >= state.sessionTarget){ + saveSessionToHistory() + setTimeout(showSummary, 1200); + return + } + } + + setTimeout(() => { + feedbackEl.style.opacity = 0; + setTimeout(() => { + state.currentProblem = generateProblem() + renderProblem() + }, 200); + }, 1200); +} + +submitBtn.addEventListener('click', submitAnswer) + +keypad.forEach(k => { + k.addEventListener('click', ()=>{ + const v = k.textContent.trim() + if (!/^[0-9]$/.test(v)) return + if (state.answerBuffer.length >= 12) return + state.answerBuffer += v + answerEl.textContent = state.answerBuffer + }) +}) + +if (dotBtn){ + dotBtn.addEventListener('click', ()=>{ + if (!state.settings.allowFraction) return + if (state.answerBuffer.includes('.')) return + if (state.answerBuffer.length === 0) state.answerBuffer = '0' + state.answerBuffer += '.' + answerEl.textContent = state.answerBuffer + }) +} + +if (negateBtn){ + negateBtn.addEventListener('click', ()=>{ + if (!state.settings.allowNegative) return + if (state.answerBuffer.startsWith('-')) state.answerBuffer = state.answerBuffer.slice(1) + else state.answerBuffer = '-' + state.answerBuffer + answerEl.textContent = state.answerBuffer + }) +} + +clearBtn.addEventListener('click', ()=>{ + state.answerBuffer = '' + answerEl.textContent = '' +}) + +backspaceBtn.addEventListener('click', ()=>{ + state.answerBuffer = state.answerBuffer.slice(0,-1) + answerEl.textContent = state.answerBuffer +}) + +function startTimer(seconds){ + state.timeLeft = seconds + timerEl.textContent = state.timeLeft + + stopTimer(); + state.timerId = setInterval(()=>{ + state.timeLeft -= 1 + timerEl.textContent = state.timeLeft + const pct = Math.max(0, (state.timeLeft / seconds) * 100) + progressInner.style.width = pct + '%' + if (state.timeLeft <= 0) { + stopTimer() + endSession() + } + },1000) +} + +function stopTimer(){ + if (state.timerId) clearInterval(state.timerId) + state.timerId = null +} + +function endSession(){ + saveSessionToHistory() + showSummary(); +} + +function showSummary(){ + const total = state.mode === 'timed' ? state.score : state.sessionTarget; + const correct = state.score; + const pct = total > 0 ? Math.round((correct / total) * 100) : 0; + + if (state.mode === 'timed') { + summaryText.textContent = `Koniec czasu! Zdobyłeś ${correct} punktów.`; + } else { + summaryText.textContent = `Twój wynik: ${correct} / ${total} poprawnie (${pct}%)`; + } + summaryOverlay.classList.remove('hidden'); +} + +summaryBack.addEventListener('click', ()=>{ + summaryOverlay.classList.add('hidden'); + playScreen.classList.add('hidden'); + menuScreen.classList.remove('hidden'); +}); + +function updateProgress(){ + if (state.mode === 'training'){ + const pct = Math.min(100, Math.round((state.sessionSolved/state.sessionTarget)*100)) + progressInner.style.width = pct + '%' + statusEl.textContent = `${state.sessionSolved}/${state.sessionTarget}` + } +} + +// history persistence +function loadHistory(){ + try{ + const raw = localStorage.getItem('matma:history') + return raw ? JSON.parse(raw) : [] + }catch(e){ return [] } +} + +function saveSessionToHistory(){ + const h = loadHistory() + const sessionData = { + ts: Date.now(), + mode: state.mode, + score: state.score, + ops: Array.from(state.ops), + duration: state.mode === 'timed' ? state.settings.timedSeconds : null, + problems: state.mode === 'training' ? state.sessionTarget : null + }; + h.unshift(sessionData); + while(h.length>50) h.pop() + try{ localStorage.setItem('matma:history', JSON.stringify(h)) }catch(e){ } +} + +function renderHistory(){ + const h = loadHistory() + historyPanel.innerHTML = '' + if (h.length === 0) { + historyPanel.innerHTML = '

Brak zapisanych sesji.

' + return + } + h.forEach(item => { + const d = new Date(item.ts).toLocaleString('pl-PL', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' }); + const modeText = item.mode === 'timed' ? `Na czas (${item.duration}s)` : `Trening (${item.problems} zadań)`; + const opsText = item.ops.join(', ').replace('add','+').replace('sub','-').replace('mul','×').replace('div','÷'); + + const el = document.createElement('div') + el.className = 'history-item' + el.innerHTML = ` +
+ Wynik: ${item.score} + ${opsText} +
+
+ ${modeText} + ${d} +
` + historyPanel.appendChild(el) + }) +} + +// Toggle history panel +const historyDetails = historyPanel.closest('details'); +if (historyDetails) { + historyDetails.addEventListener('toggle', () => { + if (historyDetails.open) { + renderHistory(); + } + }); +} + +// keyboard support +window.addEventListener('keydown', (e)=>{ + if (playScreen.classList.contains('hidden')) return + if (/^[0-9]$/.test(e.key)){ + if (state.answerBuffer.length < 12) { + state.answerBuffer += e.key + answerEl.textContent = state.answerBuffer + } + } else if (e.key === 'Backspace'){ + state.answerBuffer = state.answerBuffer.slice(0,-1) + answerEl.textContent = state.answerBuffer + } else if (e.key === 'Enter'){ + submitAnswer() + } else if (e.key === '.' || e.key === ',') { + dotBtn.click(); + } +}) + +// Set default active operations +document.addEventListener('DOMContentLoaded', () => { + opButtons.forEach(btn => { + const op = btn.dataset.op; + if (['add', 'sub'].includes(op)) { + btn.classList.add('active'); + state.ops.add(op); + } + }); +}); diff --git a/app/build/intermediates/assets/release/js/components.js b/app/build/intermediates/assets/release/js/components.js new file mode 100644 index 0000000..c2e6261 --- /dev/null +++ b/app/build/intermediates/assets/release/js/components.js @@ -0,0 +1,14 @@ +// Komponenty HTML loader +function loadComponent(path, replaceMap = {}) { + return fetch(path) + .then(r => r.text()) + .then(html => { + Object.entries(replaceMap).forEach(([key, val]) => { + html = html.replaceAll(key, val); + }); + return html; + }); +} + +// Przykład użycia: +// loadComponent('components/header.html', {'{TITLE}': 'Tytuł', '{SUBTITLE}': 'Podtytuł'}).then(html => ...) diff --git a/app/build/intermediates/assets/release/js/czytanie.js b/app/build/intermediates/assets/release/js/czytanie.js new file mode 100644 index 0000000..2a0b0de --- /dev/null +++ b/app/build/intermediates/assets/release/js/czytanie.js @@ -0,0 +1,138 @@ +// Nauka Czytania +;(function () { + // ms between line advances for each speed level (0 = manual) + const SPEEDS_MS = [0, 3500, 2000, 1000] + const SPEED_LABELS = ['Pauza', 'Wolno', 'Średnio', 'Szybko'] + + let yOffset = 0 + let lineH = 80 // recalculated after render + let maxOffset = 0 + let speedIdx = 0 + let autoTimer = null + + const listWrap = document.getElementById('list-wrap') + const readWrap = document.getElementById('read-wrap') + const textList = document.getElementById('text-list') + const customInput = document.getElementById('custom-input') + const customStartBtn = document.getElementById('custom-start-btn') + const readBackBtn = document.getElementById('read-back-btn') + const readTitleEl = document.getElementById('read-title') + const speedBtn = document.getElementById('speed-btn') + const readViewport = document.getElementById('read-viewport') + const readTextEl = document.getElementById('read-text') + const nextLineBtn = document.getElementById('next-line-btn') + let progressBar = null + + // ── Load text list from dyktanda.json ──────────────────────────────────── + fetch('json/dyktanda.json') + .then(r => r.json()) + .then(data => { + data.forEach(item => { + const btn = document.createElement('button') + btn.className = 'list-item-btn' + btn.textContent = item.name + btn.addEventListener('click', () => startReading(item.name, item.text)) + textList.appendChild(btn) + }) + }) + .catch(() => { + textList.innerHTML = '

Nie udało się wczytać tekstów.

' + }) + + customStartBtn.addEventListener('click', () => { + const txt = customInput.value.trim() + if (!txt) return + startReading('Własny', txt) + }) + + // ── Start reading ───────────────────────────────────────────────────────── + function startReading(title, text) { + yOffset = 0 + speedIdx = 0 + clearInterval(autoTimer) + autoTimer = null + + readTitleEl.textContent = title + readTextEl.textContent = text + readTextEl.style.transform = 'translateY(0)' + speedBtn.textContent = SPEED_LABELS[0] + progressBar.style.width = '0%' + + listWrap.classList.add('hidden') + readWrap.classList.remove('hidden') + + // measure real line height after layout + requestAnimationFrame(() => { + requestAnimationFrame(() => { + const cs = getComputedStyle(readTextEl) + const lhVal = cs.lineHeight + lineH = (lhVal === 'normal') + ? parseFloat(cs.fontSize) * 1.35 + : parseFloat(lhVal) + + maxOffset = Math.max(0, readTextEl.offsetHeight - lineH) + updateNextBtn() + updateProgressBar() + }) + }) + } + + // ── Back to list ────────────────────────────────────────────────────────── + readBackBtn.addEventListener('click', () => { + const active = yOffset > 0 || autoTimer !== null + if (active && !confirm('Wrócić do listy tekstów?')) return + clearInterval(autoTimer) + autoTimer = null + readWrap.classList.add('hidden') + listWrap.classList.remove('hidden') + // Reset speed to manual on exit + speedIdx = 0; + }) + + // ── Speed selector ──────────────────────────────────────────────────────── + speedBtn.addEventListener('click', () => { + clearInterval(autoTimer) + autoTimer = null + speedIdx = (speedIdx + 1) % SPEEDS_MS.length + speedBtn.textContent = SPEED_LABELS[speedIdx] + if (SPEEDS_MS[speedIdx] > 0 && yOffset < maxOffset) { + autoTimer = setInterval(advanceLine, SPEEDS_MS[speedIdx]) + } + }) + + // ── Manual line advance ─────────────────────────────────────────────────── + nextLineBtn.addEventListener('click', advanceLine) + + // ── Core scroll logic ───────────────────────────────────────────────────── + function advanceLine() { + if (yOffset >= maxOffset) { + stopAutoAtEnd() + return + } + yOffset = Math.min(yOffset + lineH, maxOffset) + readTextEl.style.transform = `translateY(${-yOffset}px)` + updateNextBtn() + updateProgressBar() + if (yOffset >= maxOffset) stopAutoAtEnd() + } + + function stopAutoAtEnd() { + if (autoTimer !== null) { + clearInterval(autoTimer) + autoTimer = null + speedIdx = 0 + speedBtn.textContent = SPEED_LABELS[0] + } + updateNextBtn() + } + + function updateNextBtn() { + nextLineBtn.disabled = yOffset >= maxOffset + } + + function updateProgressBar() { + const progress = maxOffset > 0 ? (yOffset / maxOffset) * 100 : 100 + if (!progressBar) progressBar = document.getElementById('read-progress-bar-inner') + if (progressBar) progressBar.style.width = `${progress}%` + } +})() diff --git a/app/build/intermediates/assets/release/js/dyktando.js b/app/build/intermediates/assets/release/js/dyktando.js new file mode 100644 index 0000000..28f3855 --- /dev/null +++ b/app/build/intermediates/assets/release/js/dyktando.js @@ -0,0 +1,320 @@ +// Dyktando — ortografia u/ó, rz/ż, h/ch +;(function () { + + // Pairs: key = lowercase match → [choice1, choice2] (shown to user) + const PAIRS = { + ch: ['ch', 'h'], + rz: ['rz', 'ż'], + ż: ['rz', 'ż'], + ó: ['u', 'ó'], + u: ['u', 'ó'], + h: ['h', 'ch'], + } + + // Order matters: digraphs (ch, rz) must be tried before single chars (h) + const BLANK_RE = /ch|rz|[uóżh]/gi + + let tokens = [] // {type:'text',content} | {type:'blank',...} + let blanks = [] // subset where type==='blank' + let current = 0 // index of active blank + let origText = '' + + // ── DOM refs ───────────────────────────────────────────────────────────── + const listWrap = document.getElementById('list-wrap') + const playWrap = document.getElementById('play-wrap') + const textList = document.getElementById('text-list') + const customInput = document.getElementById('custom-input') + const customStartBtn = document.getElementById('custom-start-btn') + const playBackBtn = document.getElementById('play-back-btn') + const playTitle = document.getElementById('play-title') + const textDisplay = document.getElementById('text-display') + const choicesEl = document.getElementById('choices') + const progressEl = document.getElementById('blank-progress') + const summaryWrap = document.getElementById('summary') + const summaryText = document.getElementById('summary-text') + const summaryScore = document.getElementById('summary-score') + const summaryBackBtn = document.getElementById('summary-back-btn') + const dykScroll = document.getElementById('dyk-scroll') + let progressBar = null + + // ── Load texts ──────────────────────────────────────────────────────────── + fetch('json/dyktanda.json') + .then(r => r.json()) + .then(data => { + data.forEach(item => { + const btn = document.createElement('button') + btn.className = 'list-item-btn' + btn.textContent = item.name + btn.addEventListener('click', () => startGame(item.name, item.text)) + textList.appendChild(btn) + }) + }) + .catch(() => { + textList.innerHTML = '

Nie udało się wczytać tekstów.

' + }) + + // Poczekaj na dynamiczne załadowanie progress bara + document.addEventListener('DOMContentLoaded', () => { + // progress bar jest ładowany przez loadComponent w dyktando.html + const checkProgressBar = () => { + const el = document.getElementById('dyk-progress-bar-inner') + if (el) { + progressBar = el + } else { + setTimeout(checkProgressBar, 50) + } + } + checkProgressBar() + }) + + customStartBtn.addEventListener('click', () => { + const txt = customInput.value.trim() + if (!txt) return + startGame('Własny', txt) + }) + + // ── Start game ──────────────────────────────────────────────────────────── + function startGame(title, text) { + origText = text + tokens = [] + blanks = [] + current = 0 + + // Tokenize: split text into plain segments and blanks + BLANK_RE.lastIndex = 0 + let lastIdx = 0 + let m + while ((m = BLANK_RE.exec(text)) !== null) { + if (m.index > lastIdx) { + tokens.push({ type: 'text', content: text.slice(lastIdx, m.index) }) + } + const blank = { + type: 'blank', + id: blanks.length, + answer: m[0], // original (preserves case) + choices: PAIRS[m[0].toLowerCase()], // pair to show + start: m.index, // position in origText + end: m.index + m[0].length, + userAnswer: null, + correct: null, + } + tokens.push(blank) + blanks.push(blank) + lastIdx = m.index + m[0].length + } + if (lastIdx < text.length) { + tokens.push({ type: 'text', content: text.slice(lastIdx) }) + } + + // Reset UI + playTitle.textContent = title + summaryWrap.classList.add('hidden') + textDisplay.classList.remove('hidden') + choicesEl.classList.remove('hidden') + progressEl.textContent = '' + if (progressBar) progressBar.style.width = '0%' + + listWrap.classList.add('hidden') + playWrap.classList.remove('hidden') + + if (blanks.length === 0) { + renderText() + showSummary() + } else { + renderText() + activateBlank(0) + } + } + + // ── Render the text with blanks ─────────────────────────────────────────── + function renderText() { + textDisplay.innerHTML = '' + tokens.forEach(tok => { + if (tok.type === 'text') { + textDisplay.appendChild(document.createTextNode(tok.content)) + } else { + const span = document.createElement('span') + span.id = `blank-${tok.id}` + + if (tok.correct !== null) { + // Already answered + if (tok.correct) { + span.className = 'dyk-blank dyk-blank--ok' + span.textContent = tok.answer + } else { + span.className = 'dyk-blank dyk-blank--err' + span.innerHTML = `${esc(tok.userAnswer)}${esc(tok.answer)}` + } + } else if (tok.id === current) { + span.className = 'dyk-blank dyk-blank--active' + span.textContent = '__' + } else { + span.className = 'dyk-blank dyk-blank--pending' + span.textContent = '__' + } + + textDisplay.appendChild(span) + } + }) + } + + // ── Activate a blank ────────────────────────────────────────────────────── + function activateBlank(idx) { + current = idx + renderText() + + const blank = blanks[idx] + + // Shuffle choices so correct answer isn't always in same position + const choices = Math.random() < 0.5 + ? [...blank.choices] + : [...blank.choices].reverse() + + choicesEl.innerHTML = '' + choices.forEach(choice => { + const btn = document.createElement('button') + btn.className = 'choice-btn' + btn.textContent = choice + btn.addEventListener('click', () => handleAnswer(blank, choice)) + choicesEl.appendChild(btn) + }) + + progressEl.textContent = `${idx + 1} / ${blanks.length}` + + // Scroll active blank into view + requestAnimationFrame(() => { + const el = document.getElementById(`blank-${idx}`) + if (el) el.scrollIntoView({ block: 'center', behavior: 'smooth' }) + }) + + updateProgressBar() + } + + // ── Handle answer ───────────────────────────────────────────────────────── + function handleAnswer(blank, choice) { + blank.correct = choice.toLowerCase() === blank.answer.toLowerCase() + blank.userAnswer = choice + + const nextIdx = blank.id + 1 + if (nextIdx >= blanks.length) { + // Last blank answered: show final state briefly, then summary + current = blanks.length + choicesEl.innerHTML = '' + progressEl.textContent = '' + renderText() + setTimeout(showSummary, 500) + } else { + activateBlank(nextIdx) + } + updateProgressBar() + } + + // ── Summary ─────────────────────────────────────────────────────────────── + function showSummary() { + choicesEl.classList.add('hidden') + textDisplay.classList.add('hidden') + summaryWrap.classList.remove('hidden') + + const total = blanks.length + const correct = blanks.filter(b => b.correct).length + + if (total === 0) { + summaryScore.textContent = 'Brak liter do uzupełnienia w tym tekście.' + summaryText.innerHTML = esc(origText) + updateProgressBar() + } else { + summaryScore.textContent = `Poprawnie: ${correct} z ${total}` + summaryText.innerHTML = buildSummaryHTML() + } + + dykScroll.scrollTop = 0 + } + + // Build word-coloured summary HTML + function buildSummaryHTML() { + // Find word spans (non-whitespace sequences) in original text + const wordRe = /\S+/g + const words = [] + let wm + while ((wm = wordRe.exec(origText)) !== null) { + words.push({ start: wm.index, end: wm.index + wm[0].length }) + } + + // Assign each word its blanks and overall status + words.forEach(w => { + w.blanks = blanks.filter(b => b.start >= w.start && b.end <= w.end) + w.status = w.blanks.length === 0 ? 'none' + : w.blanks.every(b => b.correct) ? 'ok' : 'err' + }) + + let html = '' + let pos = 0 + + words.forEach(word => { + // Whitespace / punctuation before this word + if (word.start > pos) html += esc(origText.slice(pos, word.start)) + + // Build inner word HTML (blanks replaced by correct answers, coloured) + let wPos = word.start + let inner = '' + word.blanks.forEach(blank => { + if (blank.start > wPos) inner += esc(origText.slice(wPos, blank.start)) + if (blank.correct) { + inner += `${esc(blank.answer)}` + } else { + inner += `${esc(blank.userAnswer)}${esc(blank.answer)}` + } + wPos = blank.end + }) + inner += esc(origText.slice(wPos, word.end)) + + html += word.status !== 'none' + ? `${inner}` + : inner + + pos = word.end + }) + + if (pos < origText.length) html += esc(origText.slice(pos)) + return html + } + + function updateProgressBar() { + const total = blanks.length + if (total === 0) { + progressBar.style.width = '100%' + return + } + // Use `current` which is the index of the *next* blank to be filled. + // When the game ends, `current` becomes `blanks.length`. + const progress = (current / total) * 100 + progressBar.style.width = `${progress}%` + } + + function esc(s) { + return (s || '').replace(/&/g, '&').replace(//g, '>') + } + + // ── Navigation ──────────────────────────────────────────────────────────── + playBackBtn.addEventListener('click', () => { + const inProgress = blanks.length > 0 && current < blanks.length + if (inProgress && !confirm('Przerwać dyktando i wrócić do listy?')) return + goToList() + }) + + summaryBackBtn.addEventListener('click', goToList) + + function goToList() { + tokens = [] + blanks = [] + current = 0 + textDisplay.innerHTML = '' + textDisplay.classList.remove('hidden') + summaryWrap.classList.add('hidden') + choicesEl.innerHTML = '' + choicesEl.classList.remove('hidden') + playWrap.classList.add('hidden') + listWrap.classList.remove('hidden') + } + +})() diff --git a/app/build/intermediates/assets/release/js/dzielenie.js b/app/build/intermediates/assets/release/js/dzielenie.js new file mode 100644 index 0000000..8ee87d5 --- /dev/null +++ b/app/build/intermediates/assets/release/js/dzielenie.js @@ -0,0 +1,149 @@ +// Nauka Dzielenia +;(function () { + const st = { divisor: null, total: 20, solved: 0, score: 0, current: null, buf: '' } + + const selectScreen = document.getElementById('select-screen') + const playScreen = document.getElementById('play-screen') + const summaryScreen = document.getElementById('summary-screen') + const problemEl = document.getElementById('problem') + const answerEl = document.getElementById('answer') + const feedbackEl = document.getElementById('feedback') + let progressInner = null + const progressLabel = document.getElementById('progress-label') + const summaryText = document.getElementById('summary-text') + const totalInput = document.getElementById('total-input') + + // divisor selection + document.getElementById('table-grid').addEventListener('click', e => { + const btn = e.target.closest('.table-btn') + if (!btn) return + document.querySelectorAll('.table-btn').forEach(b => b.classList.remove('active')) + btn.classList.add('active') + st.divisor = parseInt(btn.dataset.val, 10) // 0 = all + }) + + document.getElementById('start-btn').addEventListener('click', () => { + st.total = Math.max(5, Math.min(100, parseInt(totalInput.value, 10) || 20)) + st.solved = 0 + st.score = 0 + show(playScreen) + nextProblem() + }) + + document.getElementById('back-btn').addEventListener('click', () => show(selectScreen)) + document.getElementById('again-btn').addEventListener('click', () => { + st.solved = 0; st.score = 0; show(playScreen); nextProblem() + }) + document.getElementById('change-btn').addEventListener('click', () => show(selectScreen)) + + // keypad + document.querySelectorAll('.key').forEach(k => { + k.addEventListener('click', () => { + const v = k.textContent.trim() + if (!/^[0-9]$/.test(v)) return + if (st.buf.length >= 6) return + st.buf += v; answerEl.textContent = st.buf + }) + }) + document.getElementById('clear').addEventListener('click', () => { st.buf = ''; answerEl.textContent = '' }) + document.getElementById('backspace').addEventListener('click', () => { st.buf = st.buf.slice(0,-1); answerEl.textContent = st.buf || '' }) + document.getElementById('submit').addEventListener('click', submit) + + window.addEventListener('keydown', e => { + if (!playScreen.classList.contains('hidden')) { + if (/^[0-9]$/.test(e.key) && st.buf.length < 6) { st.buf += e.key; answerEl.textContent = st.buf } + else if (e.key === 'Backspace') { st.buf = st.buf.slice(0,-1); answerEl.textContent = st.buf || '' } + else if (e.key === 'Enter') submit() + } + }) + + function randInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min } + + function nextProblem() { + const b = st.divisor || randInt(1, 10) // divisor + const answer = randInt(1, 10) // quotient (always integer) + const a = b * answer // dividend + st.current = { a, b, answer } + problemEl.textContent = `${a} ÷ ${b}` + feedbackEl.textContent = '' + st.buf = ''; answerEl.textContent = '' + updateBar() + } + + function submit() { + if (!st.buf.trim()) return + const given = parseInt(st.buf, 10) + st.solved++ + if (given === st.current.answer) { + st.score++ + feedbackEl.textContent = 'Dobrze!' + feedbackEl.classList.add('correct') + feedbackEl.classList.remove('incorrect') + } else { + feedbackEl.textContent = `Poprawna odpowiedź: ${st.current.answer}` + feedbackEl.classList.add('incorrect') + feedbackEl.classList.remove('correct') + } + feedbackEl.style.opacity = 1; + st.buf = ''; answerEl.textContent = '' + updateBar() + if (st.solved >= st.total) { + setTimeout(showSummary, 1200) + } else { + setTimeout(() => { + feedbackEl.style.opacity = 0; + setTimeout(nextProblem, 200); + }, 1000) + } + } + + function updateBar() { + const pct = st.total > 0 ? Math.round((st.solved / st.total) * 100) : 0 + if (!progressInner) { + progressInner = document.getElementById('progress-inner') + } + if (progressInner) progressInner.style.width = pct + '%' + progressLabel.textContent = `${st.solved}/${st.total}` + } + + function showSummary() { + const pct = st.total > 0 ? Math.round((st.score / st.total) * 100) : 0 + summaryText.textContent = `Twój wynik: ${st.score} / ${st.total} poprawnie (${pct}%)` + show(summaryScreen) + } + + function show(screen) { + [selectScreen, playScreen, summaryScreen].forEach(s => s.classList.add('hidden')) + screen.classList.remove('hidden') + if (screen === summaryScreen) { + selectScreen.classList.add('hidden'); + playScreen.classList.add('hidden'); + } + } + + // commit SHA and default selection + document.addEventListener('DOMContentLoaded', async () => { + const el = document.getElementById('commit-sha') + if (!el) return + + // Set default divisor selection + const defaultDivisorBtn = document.querySelector('.table-btn[data-val="0"]'); + if(defaultDivisorBtn) { + defaultDivisorBtn.classList.add('active'); + st.divisor = 0; + } + + let sha = (window.COMMIT_SHA || '').toString().trim() + if (!sha) { + try { + const res = await fetch('/version.sha', { cache: 'no-cache' }) + if (res.ok) { + const txt = await res.text() + const first = txt.split(/\r?\n/).find(l => l.trim().length > 0) + if (first) sha = first.trim() + } + } catch (e) {} + } + if (sha) el.textContent = sha.slice(0, 8) + }) +})() diff --git a/app/build/intermediates/assets/release/js/mnozenie.js b/app/build/intermediates/assets/release/js/mnozenie.js new file mode 100644 index 0000000..081de2a --- /dev/null +++ b/app/build/intermediates/assets/release/js/mnozenie.js @@ -0,0 +1,149 @@ +// Nauka Mnożenia +;(function () { + const st = { table: null, total: 20, solved: 0, score: 0, current: null, buf: '' } + + const selectScreen = document.getElementById('select-screen') + const playScreen = document.getElementById('play-screen') + const summaryScreen = document.getElementById('summary-screen') + const problemEl = document.getElementById('problem') + const answerEl = document.getElementById('answer') + const feedbackEl = document.getElementById('feedback') + let progressInner = null + const progressLabel = document.getElementById('progress-label') + const scoreLabel = document.getElementById('score-label') // This element is removed, but we might re-purpose the logic + const summaryText = document.getElementById('summary-text') + const totalInput = document.getElementById('total-input') + + // table selection + document.getElementById('table-grid').addEventListener('click', e => { + const btn = e.target.closest('.table-btn') + if (!btn) return + document.querySelectorAll('.table-btn').forEach(b => b.classList.remove('active')) + btn.classList.add('active') + st.table = parseInt(btn.dataset.val, 10) // 0 = all + }) + + document.getElementById('start-btn').addEventListener('click', () => { + st.total = Math.max(5, Math.min(100, parseInt(totalInput.value, 10) || 20)) + st.solved = 0 + st.score = 0 + show(playScreen) + nextProblem() + }) + + document.getElementById('back-btn').addEventListener('click', () => show(selectScreen)) + document.getElementById('again-btn').addEventListener('click', () => { + st.solved = 0; st.score = 0; show(playScreen); nextProblem() + }) + document.getElementById('change-btn').addEventListener('click', () => show(selectScreen)) + + // keypad + document.querySelectorAll('.key').forEach(k => { + k.addEventListener('click', () => { + const v = k.textContent.trim() + if (!/^[0-9]$/.test(v)) return + if (st.buf.length >= 6) return + st.buf += v; answerEl.textContent = st.buf + }) + }) + document.getElementById('clear').addEventListener('click', () => { st.buf = ''; answerEl.textContent = '' }) + document.getElementById('backspace').addEventListener('click', () => { st.buf = st.buf.slice(0,-1); answerEl.textContent = st.buf || '' }) + document.getElementById('submit').addEventListener('click', submit) + + window.addEventListener('keydown', e => { + if (!playScreen.classList.contains('hidden')) { + if (/^[0-9]$/.test(e.key) && st.buf.length < 6) { st.buf += e.key; answerEl.textContent = st.buf } + else if (e.key === 'Backspace') { st.buf = st.buf.slice(0,-1); answerEl.textContent = st.buf || '' } + else if (e.key === 'Enter') submit() + } + }) + + function randInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min } + + function nextProblem() { + const a = st.table || randInt(1, 10) + const b = randInt(1, 10) + st.current = { a, b, answer: a * b } + problemEl.textContent = `${a} × ${b}` + feedbackEl.textContent = '' + st.buf = ''; answerEl.textContent = '' + updateBar() + } + + function submit() { + if (!st.buf.trim()) return + const given = parseInt(st.buf, 10) + st.solved++ + if (given === st.current.answer) { + st.score++ + feedbackEl.textContent = 'Dobrze!' + feedbackEl.classList.add('correct') + feedbackEl.classList.remove('incorrect') + } else { + feedbackEl.textContent = `Poprawna odpowiedź: ${st.current.answer}` + feedbackEl.classList.add('incorrect') + feedbackEl.classList.remove('correct') + } + feedbackEl.style.opacity = 1; + st.buf = ''; answerEl.textContent = '' + updateBar() + if (st.solved >= st.total) { + setTimeout(showSummary, 1200) + } else { + setTimeout(() => { + feedbackEl.style.opacity = 0; + setTimeout(nextProblem, 200); + }, 1000) + } + } + + function updateBar() { + const pct = st.total > 0 ? Math.round((st.solved / st.total) * 100) : 0 + if (!progressInner) progressInner = document.getElementById('progress-inner') + if (progressInner) progressInner.style.width = pct + '%' + progressLabel.textContent = `${st.solved}/${st.total}` + // scoreLabel is removed, so we comment this out + // scoreLabel.textContent = `✔ ${st.score}` + } + + function showSummary() { + const pct = st.total > 0 ? Math.round((st.score / st.total) * 100) : 0 + summaryText.textContent = `Twój wynik: ${st.score} / ${st.total} poprawnie (${pct}%)` + show(summaryScreen) + } + + function show(screen) { + console.log(`Showing screen: ${screen.id}`); + [selectScreen, playScreen, summaryScreen].forEach(s => s.classList.add('hidden')) + screen.classList.remove('hidden') + if (screen === summaryScreen) { + selectScreen.classList.add('hidden'); + playScreen.classList.add('hidden'); + } + } + + // commit SHA + document.addEventListener('DOMContentLoaded', async () => { + const el = document.getElementById('commit-sha') + if (!el) return + // Set default table selection + const defaultTableBtn = document.querySelector('.table-btn[data-val="0"]'); + if(defaultTableBtn) { + defaultTableBtn.classList.add('active'); + st.table = 0; + } + + let sha = (window.COMMIT_SHA || '').toString().trim() + if (!sha) { + try { + const res = await fetch('/version.sha', { cache: 'no-cache' }) + if (res.ok) { + const txt = await res.text() + const first = txt.split(/\r?\n/).find(l => l.trim().length > 0) + if (first) sha = first.trim() + } + } catch (e) {} + } + if (sha) el.textContent = sha.slice(0, 8) + }) +})() diff --git a/app/build/intermediates/assets/release/js/nav.js b/app/build/intermediates/assets/release/js/nav.js new file mode 100644 index 0000000..3893853 --- /dev/null +++ b/app/build/intermediates/assets/release/js/nav.js @@ -0,0 +1,17 @@ +// Back-to-hub button with active-task confirmation +(function () { + document.addEventListener('DOMContentLoaded', () => { + const backBtn = document.getElementById('back-to-hub') + if (!backBtn) return + + backBtn.addEventListener('click', (e) => { + const playScreen = document.getElementById('play-screen') + const taskActive = playScreen && !playScreen.classList.contains('hidden') + if (taskActive) { + e.preventDefault() + const ok = confirm('Masz aktywne zadanie. Czy na pewno chcesz wyjść do menu?') + if (ok) window.location.href = backBtn.getAttribute('href') + } + }) + }) +})() diff --git a/app/build/intermediates/assets/release/js/version.js b/app/build/intermediates/assets/release/js/version.js new file mode 100644 index 0000000..28c6ec0 --- /dev/null +++ b/app/build/intermediates/assets/release/js/version.js @@ -0,0 +1 @@ +const COMMIT_SHA = '-'; diff --git a/app/build/intermediates/assets/release/json/dyktanda.json b/app/build/intermediates/assets/release/json/dyktanda.json new file mode 100644 index 0000000..0aed4dd --- /dev/null +++ b/app/build/intermediates/assets/release/json/dyktanda.json @@ -0,0 +1,42 @@ +[ + { + "name": "Wiosenna wycieczka", + "text": "W sobotę Krzyś i Jurek pojechali z mamą do lasu. Wśród dużych drzew rosły żółte kwiaty i czerwone grzyby. Chłopcy słuchali śpiewu ptaków i szumu strumyka. Później zjedli bułki, jabłka i gorącą herbatę." + }, + { + "name": "Na podwórku", + "text": "Hania huśtała się na huśtawce obok wysokiego płotu. Jej koleżanka Róża jeździła na różowym rowerze. Na chodniku bawiły się trzy małe kotki. Wieczorem dziewczynki wróciły do domu bardzo wesołe." + }, + { + "name": "W kuchni babci", + "text": "Babcia upiekła pyszne drożdżowe bułeczki z różą i jabłkami. W dużym garnku gotowała się zupa jarzynowa. Henio pomagał kroić marchewkę i ogórki. Po obiedzie wszyscy chrupali kruche ciasteczka." + }, + { + "name": "Zimowy poranek", + "text": "W grudniu spadł puszysty śnieg i zrobiło się chłodno. Przed szkołą dzieci lepiły dużego bałwana. Grześ rzucał śnieżkami, a Hela ciągnęła sanki. Po zabawie wszyscy pili gorącą czekoladę." + }, + { + "name": "W zoo", + "text": "W warszawskim zoo Zuzia zobaczyła żyrafę i małego żubra. Obok wybiegów chodziły pawie i hałaśliwe papugi. Pan przewodnik opowiadał ciekawostki o zwierzętach. Na końcu wycieczki dzieci kupiły pamiątkowe magnesy." + }, + { + "name": "Na plaży", + "text": "Latem Ania i Kuba spędzali czas na plaży nad morzem. Budowali zamki z piasku i zbierali kolorowe muszelki. Woda była ciepła, więc często pływali i pluskali się. Wieczorem oglądali zachód słońca i jedli lody." + }, + { + "name": "* Wycieczka do gospodarstwa", + "text": "W środę klasa trzecia pojechała na wycieczkę do wiejskiego gospodarstwa. Dzieci jechały autobusem przez zielone pola i wzgórza. Na miejscu przywitał je gospodarz w słomkowym kapeluszu. Pokazał uczniom dużą stodołę, kurnik oraz ogród pełen warzyw. Później dzieci pomagały zbierać dojrzałe ogórki i marchewki. W sadzie rosły grusze, jabłonie i śliwy. Na podwórku chodziły kury, gęsi i małe żółte kurczątka. Największą atrakcją była przejażdżka starym wozem ciągniętym przez spokojnego konia. Po południu wszyscy usiedli przy długim stole i jedli chrupiące bułki z twarożkiem. Zmęczone, ale szczęśliwe dzieci wróciły do domu z dobrymi humorami." + }, + { + "name": "* Wizyta w bibliotece", + "text": "W poniedziałek klasa trzecia wybrała się na wycieczkę do miejskiej biblioteki. Dzieci jechały autobusem przez centrum miasta, mijając wysokie budynki i kolorowe sklepy. Na miejscu przywitała ich pani bibliotekarka, która zaprosiła ich do środka. Biblioteka była ogromna, z wieloma regałami pełnymi książek. Dzieci mogły wybierać spośród różnych gatunków literackich, od bajek po powieści przygodowe. Pani bibliotekarka opowiedziała im o historii biblioteki i pokazała, jak korzystać z katalogu. Po krótkiej prezentacji dzieci miały czas na samodzielne przeglądanie książek i czytanie w specjalnej strefie dla dzieci. Na koniec wszyscy wypożyczyli swoje ulubione książki i wrócili do domu z uśmiechami na twarzach." + }, + { + "name": "* Deszczowy dzień", + "text": "Od rana na niebie krążyły ciemne chmury. Chwilę później zaczął padać ulewny deszcz. Krople głośno uderzały o dach i szyby. Hania usiadła przy oknie i obserwowała mokre podwórko. Jej młodszy brat układał w pokoju puzzle z obrazkiem górskiego schroniska. Mama przygotowała gorącą herbatę z miodem i cytryną oraz kruche ciasteczka. W kuchni pachniało cynamonem i świeżym ciastem drożdżowym. Po południu burza ucichła i zza chmur wyszło słońce. Na niebie pojawiła się kolorowa tęcza. Dzieci szybko wybiegły na dwór, aby poskakać po kałużach i odetchnąć świeżym powietrzem." + }, + { + "name": "* W bibliotece", + "text": "W piątek uczniowie odwiedzili szkolną bibliotekę. Miła bibliotekarka opowiadała o książkach podróżniczych i historycznych. Na wysokich półkach stały grube słowniki, atlasy oraz kolorowe baśnie. Krzyś długo szukał książki o dżungli i egzotycznych zwierzętach. Zuzia wybrała historię o królewnie, rycerzu i smoku. W kącie biblioteki siedział chłopiec, który z ogromnym skupieniem czytał album o żaglowcach. Na zakończenie spotkania dzieci dostały zakładki do książek i obiecały, że będą częściej odwiedzać bibliotekę. Wychodziły ze szkoły w świetnych humorach, trzymając wypożyczone książki pod pachą." + } +] diff --git a/app/build/intermediates/assets/release/mnozenie.html b/app/build/intermediates/assets/release/mnozenie.html new file mode 100644 index 0000000..8d54002 --- /dev/null +++ b/app/build/intermediates/assets/release/mnozenie.html @@ -0,0 +1,116 @@ + + + + + + Nauka Mnożenia + + + + +
+ +
+ +
+
+
+

Wybór tabliczki

+
+ + + + + + + + + + + +
+
+
+ +
+ +
+
+ + +
+
+ + Mnożenie +
+ 0/20 +
+
+
+ +
+
+
?
+ +
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+
+ + +
+
+
🎉
+

Koniec ćwiczenia!

+

+ + +
+
+
+ + + + + + + + diff --git a/app/build/intermediates/assets/release/styles.css b/app/build/intermediates/assets/release/styles.css new file mode 100644 index 0000000..f77e922 --- /dev/null +++ b/app/build/intermediates/assets/release/styles.css @@ -0,0 +1,1152 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + src: url('../fonts/Inter-Regular.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + src: url('../fonts/Inter-Medium.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + src: url('../fonts/Inter-Bold.ttf') format('truetype'); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + src: url('../fonts/Inter-ExtraBold.ttf') format('truetype'); +} + +:root { + --bg-color: #f1f5f9; + --text-color: #1e293b; + --card-bg: #ffffff; + --shadow-color: rgba(0, 0, 0, 0.08); + --font-main: 'Inter', sans-serif; +} + +body { + margin: 0; + font-family: var(--font-main); + background-color: var(--bg-color); + color: var(--text-color); + display: flex; + flex-direction: column; + align-items: center; + min-height: 100vh; + padding: 24px; + box-sizing: border-box; +} + +.app-container { + width: 100%; + max-width: 900px; +} + +.app-header { + text-align: center; + margin-bottom: 32px; +} + +.app-title { + font-size: 32px; + font-weight: 800; + margin: 0 0 4px; +} + +.app-subtitle { + font-size: 18px; + color: #64748b; + margin: 0; +} + +.category-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + gap: 24px; +} + +.category-card { + display: flex; + align-items: center; + padding: 24px; + border-radius: 20px; + background: linear-gradient(135deg, var(--grad-start), var(--grad-end)); + color: white; + text-decoration: none; + box-shadow: 0 10px 25px -5px var(--shadow-color), 0 4px 6px -2px var(--shadow-color); + transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; + position: relative; + overflow: hidden; +} + +.category-card:hover { + transform: translateY(-5px); + box-shadow: 0 20px 30px -10px var(--shadow-color), 0 8px 10px -4px var(--shadow-color); +} + +.card-icon { + font-size: 36px; + margin-right: 20px; + background: rgba(255, 255, 255, 0.15); + width: 64px; + height: 64px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; +} + +.read-header .progress-container { + display: flex; + align-items: center; + gap: 12px; +} + +.read-header .progress-text { + font-size: 14px; + font-weight: 600; + color: #475569; +} + +.card-content { + flex: 1; +} + +.card-title { + font-size: 22px; + font-weight: 700; + margin: 0 0 4px; +} + +.card-desc { + font-size: 15px; + opacity: 0.9; + margin: 0; +} + +.app-footer { + margin-top: 40px; + font-size: 12px; + color: #94a3b8; + text-align: center; +} + +/* General Subpage Styles */ +.subpage-nav { + width: 100%; + max-width: 900px; + margin-bottom: 16px; +} + +.back-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 10px 16px; + background: var(--card-bg); + border: 1px solid #e2e8f0; + border-radius: 12px; + font-size: 15px; + font-weight: 600; + color: #475569; + text-decoration: none; + box-shadow: 0 2px 8px rgba(16, 24, 40, 0.07); + transition: all 0.2s; +} + +.back-btn:hover { + background: #f8fafc; + border-color: #cbd5e1; +} + +.screen-content { + /* width: 100%; */ + background: var(--card-bg); + border-radius: 20px; + box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); + padding: 24px 32px; +} + +.subpage-header { + text-align: center; + margin-bottom: 24px; + border-bottom: 1px solid #f1f5f9; + padding-bottom: 20px; +} + +.subpage-title { + font-size: 28px; + font-weight: 700; + margin: 0 0 4px; +} + +.subpage-subtitle { + font-size: 16px; + color: #64748b; + margin: 0; +} + +.content-panel { + margin-bottom: 24px; +} + +.panel-title { + font-size: 18px; + font-weight: 600; + margin: 0 0 12px; + color: #334155; +} + +.action-btn { + display: inline-block; + padding: 12px 24px; + border-radius: 12px; + background: #2563eb; + color: white; + font-size: 16px; + font-weight: 600; + border: none; + cursor: pointer; + transition: background 0.2s; +} + +.action-btn:hover { + background: #1d4ed8; +} + +.hidden { + display: none !important; +} + +/* Play Screen Header */ +.play-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + background-color: var(--card-bg); + border-bottom: 1px solid #e2e8f0; + position: sticky; + top: 0; + z-index: 10; +} + +.play-nav-btn { + background: none; + border: none; + color: #475569; + font-size: 15px; + font-weight: 600; + cursor: pointer; + padding: 8px 12px; + border-radius: 8px; + transition: background-color 0.2s; +} +.play-nav-btn:hover { + background-color: #f1f5f9; +} + +.progress-container { + display: flex; + align-items: center; + gap: 12px; + flex-grow: 1; + justify-content: center; +} + +.progress-bar { + width: 120px; + height: 8px; + background-color: #e2e8f0; + border-radius: 4px; + overflow: hidden; +} + +.progress-bar-inner { + height: 100%; + width: 0%; + background-color: #2563eb; + transition: width 0.3s ease; +} + +.progress-text { + font-size: 14px; + font-weight: 600; + color: #475569; + min-width: 50px; + text-align: left; +} + +.play-header-placeholder { + width: 75px; /* Same as back button */ +} + + +/* Czytanie - List Screen */ +.reading-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 12px; +} + +.list-item-btn { + width: 100%; + padding: 16px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + text-align: left; + font-size: 16px; + font-family: inherit; + cursor: pointer; + transition: all 0.2s; + font-weight: 500; + /* Fix for overflow issue */ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.list-item-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; + transform: translateY(-2px); +} + +.custom-textarea { + width: 100%; + min-height: 120px; + padding: 12px 16px; + border-radius: 12px; + border: 1px solid #e2e8f0; + font-size: 15px; + font-family: inherit; + resize: vertical; + margin-bottom: 12px; + display: block; + box-sizing: border-box; +} + +.custom-textarea:focus { + outline: none; + border-color: #2563eb; + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); +} + +/* Czytanie - Reading Screen */ +.read-screen-container { + position: fixed; + inset: 0; + background: var(--card-bg); + display: flex; + flex-direction: column; + z-index: 100; +} + +.read-screen-container.hidden { + display: none; +} + +.read-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 16px; + padding-top: max(12px, env(safe-area-inset-top)); + background: white; + border-bottom: 1px solid #e2e8f0; + flex-shrink: 0; + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + position: relative; + z-index: 2; +} + +.read-progress-bar { + height: 4px; + background: #e2e8f0; + width: 100%; +} + +.read-progress-bar-inner { + height: 100%; + width: 0%; + background: #2563eb; + transition: width 0.3s ease; +} + +.read-nav-btn { + padding: 8px 16px; + border-radius: 10px; + border: 1px solid #e2e8f0; + background: white; + font-size: 15px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.read-nav-btn:hover { + background: #f8fafc; + color: #2563eb; +} + +.speed-toggle-btn { + min-width: 80px; + text-align: center; + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; +} + +.read-title-text { + flex: 1; + text-align: center; + font-size: 16px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.read-viewport { + flex: 1; + overflow: hidden; + position: relative; + /* Apply padding here */ + padding: 0 24px; + /* Ensure flex behavior centers the text container */ + display: flex; + align-items: center; + justify-content: center; +} + +.read-text { + font-size: clamp(48px, 15vw, 72px); + font-weight: 700; + line-height: 1.4; + text-align: center; + color: var(--text-color); + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: transform; + /* Remove padding from the text itself */ + padding: 0; + /* Ensure the text block does not overflow its container */ + max-width: 100%; + word-break: break-word; + position: absolute; + top: 10px; + +} + +.next-line-btn { + position: absolute; + bottom: max(30px, calc(env(safe-area-inset-bottom) + 20px)); + right: 30px; + width: 60px; + height: 60px; + border-radius: 50%; + background: #2563eb; + color: white; + border: none; + box-shadow: 0 8px 25px rgba(37, 99, 235, 0.3); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; +} + +.next-line-btn svg { + width: 30px; + height: 30px; +} + +.next-line-btn:hover { + background: #1d4ed8; +} + +.next-line-btn:disabled { + opacity: 0.4; + cursor: default; + background: #94a3b8; + box-shadow: none; +} + +/* Dyktando - Play Screen */ +.play-screen-container { + position: fixed; + inset: 0; + background: var(--bg-color); + display: flex; + flex-direction: column; + z-index: 100; +} + +.play-screen-container.hidden { + display: none; +} + +.play-header { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + padding: 12px 16px; + padding-top: max(12px, env(safe-area-inset-top)); + background: white; + border-bottom: 1px solid #e2e8f0; + flex-shrink: 0; + box-shadow: 0 2px 10px rgba(0,0,0,0.05); + gap: 16px; + position: relative; + z-index: 2; +} + +.play-nav-btn { + padding: 8px 16px; + border-radius: 10px; + border: 1px solid #e2e8f0; + background: white; + font-size: 15px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.play-nav-btn:hover { + background: #f8fafc; + color: #2563eb; +} + +.play-title-text { + flex: 1; + text-align: center; + font-size: 16px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.play-progress { + font-size: 14px; + font-weight: 600; + color: #64748b; + background: #f1f5f9; + padding: 6px 12px; + border-radius: 8px; +} + +.play-body { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + background: var(--card-bg); +} + +.play-scroll-area { + flex: 1; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} + +.dyk-text-display { + padding: 24px; + font-size: 28px; + line-height: 2; + color: var(--text-color); +} + +/* Blanks styling */ +.dyk-blank { + display: inline; + font-weight: 700; + border-radius: 4px; + padding: 2px 4px; +} +.dyk-blank--pending { + color: #94a3b8; + border-bottom: 2px dotted #cbd5e1; +} +.dyk-blank--active { + color: #2563eb; + background: #eff6ff; + border-bottom: 2px solid #2563eb; + animation: dyk-pulse 1.5s ease-in-out infinite; +} +.dyk-blank--ok { + color: #16a34a; + background-color: #f0fdf4; +} +.dyk-blank--err { + color: #dc2626; + background-color: #fef2f2; +} +.dyk-blank--err s { + text-decoration: line-through; + text-decoration-thickness: 2px; +} +.dyk-correction { + color: #16a34a; + font-size: 0.7em; + font-weight: 700; + margin-left: 3px; + vertical-align: super; +} + +@keyframes dyk-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.6; } +} + +/* Choices bar */ +.choices-bar { + flex-shrink: 0; + display: flex; + gap: 12px; + padding: 16px; + padding-bottom: max(16px, env(safe-area-inset-bottom)); + background: white; + border-top: 1px solid #e2e8f0; + box-shadow: 0 -4px 20px rgba(0,0,0,0.05); +} +.choices-bar.hidden { + display: none; +} +.choice-btn { + flex: 1; + padding: 18px 8px; + border-radius: 14px; + border: 2px solid #93c5fd; + background: #eff6ff; + font-size: 24px; + font-weight: 700; + cursor: pointer; + color: #2563eb; + font-family: inherit; + transition: all 0.15s; +} +.choice-btn:hover, .choice-btn:active { + background: #2563eb; + color: white; + border-color: #2563eb; + transform: translateY(-2px); +} + +/* Summary view */ +.summary-view { + padding: 24px; +} +.summary-text-display { + font-size: 24px; + line-height: 2; + margin-bottom: 24px; +} +.summary-score-text { + font-size: 20px; + font-weight: 700; + text-align: center; + color: var(--text-color); + margin: 0 0 24px; + padding: 16px; + background: #f1f5f9; + border-radius: 12px; +} +.summary-back-btn { + display: block; + width: 100%; + text-align: center; + margin-bottom: 24px; +} + +/* Ustawienia */ +.settings-label { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + font-size: 16px; + color: #475569; +} + +.settings-input { + width: 80px; + padding: 10px; + border-radius: 10px; + border: 1px solid #e2e8f0; + font-size: 16px; + text-align: center; + font-weight: 600; +} +.settings-input:focus { + outline: none; + border-color: #2563eb; + box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); +} + +.start-btn { + width: 100%; + margin-top: 16px; +} + +/* Grid z wyborem tabliczki */ +.table-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); + gap: 12px; +} + +.table-btn { + padding: 16px 8px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + font-size: 18px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} + +.table-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; + transform: translateY(-2px); +} + +.table-btn.active { + background: #2563eb; + color: white; + border-color: #2563eb; + box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2); +} + +.table-btn.all { + grid-column: 1 / -1; + font-size: 16px; +} + +/* Ekran gry (mnożenie, dzielenie) */ +.play-header { + gap: 16px; + position: relative; + z-index: 2; +} + +.play-progress-bar { + height: 4px; + background: #e2e8f0; + width: 100%; +} + +.play-progress-bar-inner { + height: 100%; + width: 0%; + background: #2563eb; + transition: width 0.3s ease; +} + +.play-progress-text { + font-size: 14px; + font-weight: 600; + color: #64748b; + min-width: 50px; + text-align: right; +} + +.problem-display { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: 20px; +} + +.problem-text { + font-size: clamp(48px, 18vw, 90px); + font-weight: 800; + color: var(--text-color); +} + +.feedback-text { + font-size: 20px; + font-weight: 600; + height: 30px; + margin-top: 12px; + opacity: 0; + transition: opacity 0.2s; +} +.feedback-text.correct { + color: #16a34a; +} +.feedback-text.incorrect { + color: #dc2626; +} + +/* Klawiatura numeryczna */ +.keypad-container { + padding: 16px; + padding-bottom: max(16px, env(safe-area-inset-bottom)); + background: white; + border-top: 1px solid #e2e8f0; + box-shadow: 0 -4px 20px rgba(0,0,0,0.05); +} + +.answer-display { + min-height: 60px; + font-size: 40px; + font-weight: 700; + text-align: center; + padding: 8px; + border-radius: 12px; + background: #f1f5f9; + margin-bottom: 16px; + color: var(--text-color); +} + +.keypad { + display: grid; + gap: 10px; + margin-bottom: 10px; +} + +.key-row { + display: flex; + gap: 10px; +} + +.key { + flex: 1; + height: 60px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: white; + font-size: 24px; + font-weight: 500; + cursor: pointer; + transition: all 0.1s; +} +.key:active { + background: #e2e8f0; + transform: scale(0.95); +} + +.key-special { + font-size: 20px; + background: #f8fafc; +} + +.submit-btn { + width: 100%; + padding: 18px; + border-radius: 12px; + background: #2563eb; + color: white; + font-size: 18px; + font-weight: 700; + border: none; + cursor: pointer; + transition: background 0.2s; +} +.submit-btn:hover { + background: #1d4ed8; +} + +/* Podsumowanie */ +.summary-back-btn.secondary { + background: #64748b; + margin-top: 12px; +} +.summary-back-btn.secondary:hover { + background: #475569; +} + +/* Testy - Konfiguracja */ +.test-config-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24px; + margin-bottom: 24px; +} + +.ops-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.op-btn { + padding: 14px; + border-radius: 12px; + border: 1px solid #e2e8f0; + background: #f8fafc; + font-size: 16px; + font-weight: 500; + cursor: pointer; + transition: all 0.2s; +} +.op-btn:hover { + background: #eff6ff; + color: #2563eb; + border-color: #bfdbfe; +} +.op-btn.active { + background: #2563eb; + color: white; + border-color: #2563eb; + font-weight: 600; +} + +.modes-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 12px; +} + +.mode-btn { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 20px; + border-radius: 12px; + border: 2px dashed #cbd5e1; + background: transparent; + cursor: pointer; + transition: all 0.2s; +} +.mode-btn:hover { + border-color: #93c5fd; + background: #eff6ff; +} +.mode-btn.active { + border-style: solid; + border-color: #2563eb; + background: #eff6ff; + color: #2563eb; +} +.mode-icon { + font-size: 28px; +} +.mode-label { + font-size: 16px; + font-weight: 600; + margin-top: 8px; +} + +.hint-text { + font-size: 14px; + color: #64748b; + margin-top: 12px; + text-align: center; +} + +/* Ustawienia i Historia (details/summary) */ +.settings-details { + border: 1px solid #e2e8f0; + border-radius: 12px; + overflow: hidden; +} +.settings-summary { + padding: 12px 16px; + cursor: pointer; + background: #f8fafc; + display: flex; + justify-content: space-between; + align-items: center; +} +.settings-summary:hover { + background: #f1f5f9; +} +.settings-summary .panel-title { + margin: 0; +} +.settings-summary::after { + content: '▼'; + font-size: 12px; + color: #94a3b8; + transition: transform 0.2s; +} +.settings-details[open] > .settings-summary::after { + transform: rotate(180deg); +} + +.settings-content { + padding: 16px; + display: flex; + flex-direction: column; + gap: 12px; +} + +.settings-label-row { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 15px; +} +.settings-input-row { + width: 80px; + padding: 8px; + border-radius: 8px; + border: 1px solid #e2e8f0; + text-align: center; +} +.settings-label-row.checkbox { + gap: 12px; +} +.settings-label-row.checkbox input { + width: auto; + height: 18px; + width: 18px; +} + +.settings-actions { + display: flex; + gap: 12px; + margin-top: 12px; + border-top: 1px solid #f1f5f9; + padding-top: 16px; +} +.settings-actions .action-btn.secondary { + background: #64748b; +} +.settings-actions .action-btn.secondary:hover { + background: #475569; +} + +/* Historia */ +.history-list { + padding: 8px 16px 16px; + display: flex; + flex-direction: column; + gap: 10px; + max-height: 300px; + overflow-y: auto; +} +.history-item { + padding: 12px; + border-radius: 10px; + background: #f1f5f9; + border: 1px solid #e2e8f0; +} +.history-item-main { + display: flex; + justify-content: space-between; + align-items: center; + font-weight: 600; +} +.history-score { + font-size: 16px; +} +.history-ops { + font-size: 14px; + color: #475569; +} +.history-item-meta { + display: flex; + justify-content: space-between; + font-size: 12px; + color: #64748b; + margin-top: 6px; +} +.history-empty { + text-align: center; + color: #94a3b8; + padding: 16px; +} + +/* Ekran gry */ +.play-status { + font-size: 16px; + font-weight: 600; + color: #475569; +} +.play-score { + font-size: 20px; + font-weight: 700; + min-width: 40px; + text-align: right; +} +.timer-display { + font-size: 18px; + font-weight: 600; + color: #ef4444; + margin-bottom: 8px; +} + +/* Klawiatura dla testów */ +#negate, #dot { + font-size: 20px; +} +#submit { + flex: 2; +} + +/* Podsumowanie - modal */ +.summary-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.5); + display: flex; + align-items: center; + justify-content: center; + z-index: 200; +} +.summary-overlay.hidden { + display: none; +} +.summary-modal { + background: white; + padding: 32px; + border-radius: 20px; + text-align: center; + box-shadow: 0 10px 30px rgba(0,0,0,0.2); + max-width: 90%; + width: 360px; +} +.summary-modal h2 { + font-size: 24px; + margin: 12px 0; +} +.summary-modal-text { + font-size: 18px; + color: #475569; + margin-bottom: 24px; +} + +@media (max-width: 640px) { + body { + padding: 16px; + } + + .app-title { + font-size: 28px; + } + + .app-subtitle { + font-size: 16px; + } + + .category-grid { + grid-template-columns: 1fr; + } + + .test-config-grid { + grid-template-columns: 1fr; + } +} diff --git a/app/build/intermediates/assets/release/testy.html b/app/build/intermediates/assets/release/testy.html new file mode 100644 index 0000000..53b2239 --- /dev/null +++ b/app/build/intermediates/assets/release/testy.html @@ -0,0 +1,170 @@ + + + + + + Testy Matematyczne + + + + +
+ +
+ +
+
+ +
+ +
+

1. Wybierz działania

+
+ + + + +
+
+ + +
+

2. Wybierz tryb gry

+
+ + +
+

Wybierz co najmniej jedno działanie, a następnie tryb, aby rozpocząć.

+
+
+ + +
+
+ +

Ustawienia zaawansowane

+
+
+ + + + + + +
+ + +
+
+
+
+ + +
+
+ +

Historia wyników

+
+
+ +
+
+
+
+
+ + +
+
+ +
Trening
+
0
+
+
+ +
+
+ +
+ +
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+ + + +
+
+
+
+
+ + + +
+ + + + + + + + + diff --git a/app/build/intermediates/binary_art_profile/release/baseline.prof b/app/build/intermediates/binary_art_profile/release/baseline.prof new file mode 100644 index 0000000..912bc39 Binary files /dev/null and b/app/build/intermediates/binary_art_profile/release/baseline.prof differ diff --git a/app/build/intermediates/binary_art_profile_metadata/release/baseline.profm b/app/build/intermediates/binary_art_profile_metadata/release/baseline.profm new file mode 100644 index 0000000..b7ef27c Binary files /dev/null and b/app/build/intermediates/binary_art_profile_metadata/release/baseline.profm differ diff --git a/app/build/intermediates/compatible_screen_manifest/release/output-metadata.json b/app/build/intermediates/compatible_screen_manifest/release/output-metadata.json new file mode 100644 index 0000000..56bf693 --- /dev/null +++ b/app/build/intermediates/compatible_screen_manifest/release/output-metadata.json @@ -0,0 +1,10 @@ +{ + "version": 3, + "artifactType": { + "type": "COMPATIBLE_SCREEN_MANIFEST", + "kind": "Directory" + }, + "applicationId": "com.example.app", + "variantName": "release", + "elements": [] +} \ No newline at end of file diff --git a/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/release/R.jar b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/release/R.jar new file mode 100644 index 0000000..6180219 Binary files /dev/null and b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/release/R.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/components/footer.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/components/footer.html.jar new file mode 100644 index 0000000..4ab2b60 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/components/footer.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/components/header.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/components/header.html.jar new file mode 100644 index 0000000..c48cea6 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/components/header.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/components/progress-bar.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/components/progress-bar.html.jar new file mode 100644 index 0000000..198ed59 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/components/progress-bar.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/css/fonts/inter.css.jar b/app/build/intermediates/compressed_assets/release/out/assets/css/fonts/inter.css.jar new file mode 100644 index 0000000..c9faa5a Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/css/fonts/inter.css.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/css/styles.css.jar b/app/build/intermediates/compressed_assets/release/out/assets/css/styles.css.jar new file mode 100644 index 0000000..6611754 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/css/styles.css.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/czytanie.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/czytanie.html.jar new file mode 100644 index 0000000..8b3b12a Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/czytanie.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/dyktando.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/dyktando.html.jar new file mode 100644 index 0000000..d97bb0e Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/dyktando.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/dzielenie.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/dzielenie.html.jar new file mode 100644 index 0000000..25eafa2 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/dzielenie.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Bold.ttf.jar b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Bold.ttf.jar new file mode 100644 index 0000000..3ef1262 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Bold.ttf.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-ExtraBold.ttf.jar b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-ExtraBold.ttf.jar new file mode 100644 index 0000000..6ed7d1b Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-ExtraBold.ttf.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Medium.ttf.jar b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Medium.ttf.jar new file mode 100644 index 0000000..9d90c9c Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Medium.ttf.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Regular.ttf.jar b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Regular.ttf.jar new file mode 100644 index 0000000..17d4a81 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/fonts/Inter-Regular.ttf.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/index.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/index.html.jar new file mode 100644 index 0000000..ed74b59 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/index.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/app.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/app.js.jar new file mode 100644 index 0000000..414ff8e Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/app.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/components.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/components.js.jar new file mode 100644 index 0000000..513c9d8 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/components.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/czytanie.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/czytanie.js.jar new file mode 100644 index 0000000..f8828de Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/czytanie.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/dyktando.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/dyktando.js.jar new file mode 100644 index 0000000..8ed6479 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/dyktando.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/dzielenie.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/dzielenie.js.jar new file mode 100644 index 0000000..41acc31 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/dzielenie.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/mnozenie.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/mnozenie.js.jar new file mode 100644 index 0000000..bbf3e10 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/mnozenie.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/nav.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/nav.js.jar new file mode 100644 index 0000000..8fb1385 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/nav.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/js/version.js.jar b/app/build/intermediates/compressed_assets/release/out/assets/js/version.js.jar new file mode 100644 index 0000000..b577cad Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/js/version.js.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/json/dyktanda.json.jar b/app/build/intermediates/compressed_assets/release/out/assets/json/dyktanda.json.jar new file mode 100644 index 0000000..1d21322 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/json/dyktanda.json.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/mnozenie.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/mnozenie.html.jar new file mode 100644 index 0000000..cc72b9d Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/mnozenie.html.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/styles.css.jar b/app/build/intermediates/compressed_assets/release/out/assets/styles.css.jar new file mode 100644 index 0000000..3c09b4e Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/styles.css.jar differ diff --git a/app/build/intermediates/compressed_assets/release/out/assets/testy.html.jar b/app/build/intermediates/compressed_assets/release/out/assets/testy.html.jar new file mode 100644 index 0000000..eb7b397 Binary files /dev/null and b/app/build/intermediates/compressed_assets/release/out/assets/testy.html.jar differ diff --git a/app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.2.2 b/app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.2.2 new file mode 100644 index 0000000..de0b268 --- /dev/null +++ b/app/build/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.2.2 @@ -0,0 +1,117 @@ +# This is a configuration file for ProGuard. +# http://proguard.sourceforge.net/index.html#manual/usage.html +# +# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with +# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and +# will be ignored by new version of the Android plugin for Gradle. + +# Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file +# instead of this one, which turns off the optimization flags. +# Adding optimization introduces certain risks, since for example not all optimizations performed by +# ProGuard works on all versions of Dalvik. The following flags turn off various optimizations +# known to have issues, but the list may not be complete or up to date. (The "arithmetic" +# optimization can be used if you are only targeting Android 2.0 or later.) Make sure you test +# thoroughly if you go this route. +-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* +-optimizationpasses 5 +-allowaccessmodification + +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-verbose + +# Preserve some attributes that may be required for reflection. +-keepattributes AnnotationDefault, + EnclosingMethod, + InnerClasses, + RuntimeVisibleAnnotations, + RuntimeVisibleParameterAnnotations, + RuntimeVisibleTypeAnnotations, + Signature + +-keep public class com.google.vending.licensing.ILicensingService +-keep public class com.android.vending.licensing.ILicensingService +-keep public class com.google.android.vending.licensing.ILicensingService +-dontnote com.android.vending.licensing.ILicensingService +-dontnote com.google.vending.licensing.ILicensingService +-dontnote com.google.android.vending.licensing.ILicensingService + +# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native +-keepclasseswithmembernames,includedescriptorclasses class * { + native ; +} + +# Keep setters in Views so that animations can still work. +-keepclassmembers public class * extends android.view.View { + void set*(***); + *** get*(); +} + +# We want to keep methods in Activity that could be used in the XML attribute onClick. +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keepclassmembers class * implements android.os.Parcelable { + public static final ** CREATOR; +} + +# Preserve annotated Javascript interface methods. +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} + +# The support libraries contains references to newer platform versions. +# Don't warn about those in case this app is linking against an older +# platform version. We know about them, and they are safe. +-dontnote android.support.** +-dontnote androidx.** +-dontwarn android.support.** +-dontwarn androidx.** + +# This class is deprecated, but remains for backward compatibility. +-dontwarn android.util.FloatMath + +# Understand the @Keep support annotation. +-keep class android.support.annotation.Keep +-keep class androidx.annotation.Keep + +-keep @android.support.annotation.Keep class * {*;} +-keep @androidx.annotation.Keep class * {*;} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep (...); +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep (...); +} + +# These classes are duplicated between android.jar and org.apache.http.legacy.jar. +-dontnote org.apache.http.** +-dontnote android.net.http.** + +# These classes are duplicated between android.jar and core-lambda-stubs.jar. +-dontnote java.lang.invoke.** diff --git a/app/build/intermediates/default_proguard_files/global/proguard-android.txt-8.2.2 b/app/build/intermediates/default_proguard_files/global/proguard-android.txt-8.2.2 new file mode 100644 index 0000000..3ca0d03 --- /dev/null +++ b/app/build/intermediates/default_proguard_files/global/proguard-android.txt-8.2.2 @@ -0,0 +1,116 @@ +# This is a configuration file for ProGuard. +# http://proguard.sourceforge.net/index.html#manual/usage.html +# +# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with +# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and +# will be ignored by new version of the Android plugin for Gradle. + +# Optimization is turned off by default. Dex does not like code run +# through the ProGuard optimize steps (and performs some +# of these optimizations on its own). +# Note that if you want to enable optimization, you cannot just +# include optimization flags in your own project configuration file; +# instead you will need to point to the +# "proguard-android-optimize.txt" file instead of this one from your +# project.properties file. +-dontoptimize + +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-verbose + +# Preserve some attributes that may be required for reflection. +-keepattributes AnnotationDefault, + EnclosingMethod, + InnerClasses, + RuntimeVisibleAnnotations, + RuntimeVisibleParameterAnnotations, + RuntimeVisibleTypeAnnotations, + Signature + +-keep public class com.google.vending.licensing.ILicensingService +-keep public class com.android.vending.licensing.ILicensingService +-keep public class com.google.android.vending.licensing.ILicensingService +-dontnote com.android.vending.licensing.ILicensingService +-dontnote com.google.vending.licensing.ILicensingService +-dontnote com.google.android.vending.licensing.ILicensingService + +# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native +-keepclasseswithmembernames,includedescriptorclasses class * { + native ; +} + +# Keep setters in Views so that animations can still work. +-keepclassmembers public class * extends android.view.View { + void set*(***); + *** get*(); +} + +# We want to keep methods in Activity that could be used in the XML attribute onClick. +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keepclassmembers class * implements android.os.Parcelable { + public static final ** CREATOR; +} + +# Preserve annotated Javascript interface methods. +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} + +# The support libraries contains references to newer platform versions. +# Don't warn about those in case this app is linking against an older +# platform version. We know about them, and they are safe. +-dontnote android.support.** +-dontnote androidx.** +-dontwarn android.support.** +-dontwarn androidx.** + +# This class is deprecated, but remains for backward compatibility. +-dontwarn android.util.FloatMath + +# Understand the @Keep support annotation. +-keep class android.support.annotation.Keep +-keep class androidx.annotation.Keep + +-keep @android.support.annotation.Keep class * {*;} +-keep @androidx.annotation.Keep class * {*;} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep (...); +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep (...); +} + +# These classes are duplicated between android.jar and org.apache.http.legacy.jar. +-dontnote org.apache.http.** +-dontnote android.net.http.** + +# These classes are duplicated between android.jar and core-lambda-stubs.jar. +-dontnote java.lang.invoke.** diff --git a/app/build/intermediates/default_proguard_files/global/proguard-defaults.txt-8.2.2 b/app/build/intermediates/default_proguard_files/global/proguard-defaults.txt-8.2.2 new file mode 100644 index 0000000..5fea5b5 --- /dev/null +++ b/app/build/intermediates/default_proguard_files/global/proguard-defaults.txt-8.2.2 @@ -0,0 +1,117 @@ +# This is a configuration file for ProGuard. +# http://proguard.sourceforge.net/index.html#manual/usage.html +# +# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with +# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and +# will be ignored by new version of the Android plugin for Gradle. + +# Optimizations can be turned on and off in the 'postProcessing' DSL block. +# The configuration below is applied if optimizations are enabled. +# Adding optimization introduces certain risks, since for example not all optimizations performed by +# ProGuard works on all versions of Dalvik. The following flags turn off various optimizations +# known to have issues, but the list may not be complete or up to date. (The "arithmetic" +# optimization can be used if you are only targeting Android 2.0 or later.) Make sure you test +# thoroughly if you go this route. +-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/* +-optimizationpasses 5 +-allowaccessmodification + +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses +-verbose + +# Preserve some attributes that may be required for reflection. +-keepattributes AnnotationDefault, + EnclosingMethod, + InnerClasses, + RuntimeVisibleAnnotations, + RuntimeVisibleParameterAnnotations, + RuntimeVisibleTypeAnnotations, + Signature + +-keep public class com.google.vending.licensing.ILicensingService +-keep public class com.android.vending.licensing.ILicensingService +-keep public class com.google.android.vending.licensing.ILicensingService +-dontnote com.android.vending.licensing.ILicensingService +-dontnote com.google.vending.licensing.ILicensingService +-dontnote com.google.android.vending.licensing.ILicensingService + +# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native +-keepclasseswithmembernames,includedescriptorclasses class * { + native ; +} + +# Keep setters in Views so that animations can still work. +-keepclassmembers public class * extends android.view.View { + void set*(***); + *** get*(); +} + +# We want to keep methods in Activity that could be used in the XML attribute onClick. +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + +# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keepclassmembers class * implements android.os.Parcelable { + public static final ** CREATOR; +} + +# Preserve annotated Javascript interface methods. +-keepclassmembers class * { + @android.webkit.JavascriptInterface ; +} + +# The support libraries contains references to newer platform versions. +# Don't warn about those in case this app is linking against an older +# platform version. We know about them, and they are safe. +-dontnote android.support.** +-dontnote androidx.** +-dontwarn android.support.** +-dontwarn androidx.** + +# This class is deprecated, but remains for backward compatibility. +-dontwarn android.util.FloatMath + +# Understand the @Keep support annotation. +-keep class android.support.annotation.Keep +-keep class androidx.annotation.Keep + +-keep @android.support.annotation.Keep class * {*;} +-keep @androidx.annotation.Keep class * {*;} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep ; +} + +-keepclasseswithmembers class * { + @android.support.annotation.Keep (...); +} + +-keepclasseswithmembers class * { + @androidx.annotation.Keep (...); +} + +# These classes are duplicated between android.jar and org.apache.http.legacy.jar. +-dontnote org.apache.http.** +-dontnote android.net.http.** + +# These classes are duplicated between android.jar and core-lambda-stubs.jar. +-dontnote java.lang.invoke.** diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_0/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_0/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_1/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_1/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_2/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_2/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_3/graph.bin new file mode 100644 index 0000000..c2b28dd Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_3/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_4/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_4/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_5/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_5/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_6/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_6/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/dirs_bucket_6/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_0/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_0/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_1/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_1/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_2/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_2/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_3/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_3/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_4/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_4/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_5/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_5/graph.bin differ diff --git a/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_6/graph.bin b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_6/graph.bin new file mode 100644 index 0000000..601f245 Binary files /dev/null and b/app/build/intermediates/desugar_graph/release/out/currentProject/jar_dd39ca8180f63a91620f8f99e8d4d34521f06930979bf2affc47b5d8873fd255_bucket_6/graph.bin differ diff --git a/app/build/intermediates/dex/release/mergeDexRelease/classes.dex b/app/build/intermediates/dex/release/mergeDexRelease/classes.dex new file mode 100644 index 0000000..9cad5da Binary files /dev/null and b/app/build/intermediates/dex/release/mergeDexRelease/classes.dex differ diff --git a/app/build/intermediates/dex_archive_input_jar_hashes/release/out b/app/build/intermediates/dex_archive_input_jar_hashes/release/out new file mode 100644 index 0000000..e55f87a Binary files /dev/null and b/app/build/intermediates/dex_archive_input_jar_hashes/release/out differ diff --git a/app/build/intermediates/dex_number_of_buckets_file/release/out b/app/build/intermediates/dex_number_of_buckets_file/release/out new file mode 100644 index 0000000..c793025 --- /dev/null +++ b/app/build/intermediates/dex_number_of_buckets_file/release/out @@ -0,0 +1 @@ +7 \ No newline at end of file diff --git a/app/build/intermediates/external_libs_dex/release/mergeExtDexRelease/classes.dex b/app/build/intermediates/external_libs_dex/release/mergeExtDexRelease/classes.dex new file mode 100644 index 0000000..f8b3bfe Binary files /dev/null and b/app/build/intermediates/external_libs_dex/release/mergeExtDexRelease/classes.dex differ diff --git a/app/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml new file mode 100644 index 0000000..2dfcd89 --- /dev/null +++ b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/module.xml @@ -0,0 +1,19 @@ + + + + diff --git a/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-dependencies.xml b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-dependencies.xml new file mode 100644 index 0000000..6348d6d --- /dev/null +++ b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-dependencies.xml @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-libraries.xml b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-libraries.xml new file mode 100644 index 0000000..1427ed9 --- /dev/null +++ b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release-artifact-libraries.xml @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml new file mode 100644 index 0000000..64e72a7 --- /dev/null +++ b/app/build/intermediates/incremental/lintVitalAnalyzeRelease/release.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + diff --git a/app/build/intermediates/incremental/mergeReleaseAssets/merger.xml b/app/build/intermediates/incremental/mergeReleaseAssets/merger.xml new file mode 100644 index 0000000..3755a36 --- /dev/null +++ b/app/build/intermediates/incremental/mergeReleaseAssets/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml b/app/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml new file mode 100644 index 0000000..cb3f5ea --- /dev/null +++ b/app/build/intermediates/incremental/mergeReleaseJniLibFolders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/mergeReleaseShaders/merger.xml b/app/build/intermediates/incremental/mergeReleaseShaders/merger.xml new file mode 100644 index 0000000..8d4e1c8 --- /dev/null +++ b/app/build/intermediates/incremental/mergeReleaseShaders/merger.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/packageRelease/tmp/release/dex-renamer-state.txt b/app/build/intermediates/incremental/packageRelease/tmp/release/dex-renamer-state.txt new file mode 100644 index 0000000..1054498 --- /dev/null +++ b/app/build/intermediates/incremental/packageRelease/tmp/release/dex-renamer-state.txt @@ -0,0 +1,4 @@ +#Wed May 27 00:12:58 CEST 2026 +base.0=/Users/aln/Work/Matma/app/build/intermediates/dex/release/mergeDexRelease/classes.dex +renamed.0=classes.dex +path.0=classes.dex diff --git a/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/androidResources b/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/androidResources new file mode 100644 index 0000000..8e8c1c2 Binary files /dev/null and b/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/androidResources differ diff --git a/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/javaResources0 b/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/javaResources0 new file mode 100644 index 0000000..d54fbd0 Binary files /dev/null and b/app/build/intermediates/incremental/packageRelease/tmp/release/zip-cache/javaResources0 differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/merge-state b/app/build/intermediates/incremental/release-mergeJavaRes/merge-state new file mode 100644 index 0000000..470664f Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/merge-state differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+IHgTQrCoaDW1aH_+BhTmIX0X8c= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+IHgTQrCoaDW1aH_+BhTmIX0X8c= new file mode 100644 index 0000000..160357a Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+IHgTQrCoaDW1aH_+BhTmIX0X8c= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+j67vvFtaFJGA8DnZyP11G1g5+U= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+j67vvFtaFJGA8DnZyP11G1g5+U= new file mode 100644 index 0000000..389b9e5 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/+j67vvFtaFJGA8DnZyP11G1g5+U= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/0+B1KoXsCojx+dwTITjJ3RHkDBQ= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/0+B1KoXsCojx+dwTITjJ3RHkDBQ= new file mode 100644 index 0000000..50620cf Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/0+B1KoXsCojx+dwTITjJ3RHkDBQ= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/6pYGg9uKzglrN1Fx8I5wyoJob2c= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/6pYGg9uKzglrN1Fx8I5wyoJob2c= new file mode 100644 index 0000000..552f0d3 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/6pYGg9uKzglrN1Fx8I5wyoJob2c= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/8LYA0rD0T3vo_6RXIuH3DgrLEMI= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/8LYA0rD0T3vo_6RXIuH3DgrLEMI= new file mode 100644 index 0000000..761fe3b Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/8LYA0rD0T3vo_6RXIuH3DgrLEMI= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AIJ1pL6LgFA7q_4_Rw79E_nzXtk= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AIJ1pL6LgFA7q_4_Rw79E_nzXtk= new file mode 100644 index 0000000..5dd6acd Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AIJ1pL6LgFA7q_4_Rw79E_nzXtk= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AetCLaNHFz6SCTe28uc2_Bh6lCc= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AetCLaNHFz6SCTe28uc2_Bh6lCc= new file mode 100644 index 0000000..d791aa1 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AetCLaNHFz6SCTe28uc2_Bh6lCc= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AsVpMMKxuy7eOCYyM5u0Y9nOJok= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AsVpMMKxuy7eOCYyM5u0Y9nOJok= new file mode 100644 index 0000000..1ffce77 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/AsVpMMKxuy7eOCYyM5u0Y9nOJok= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/CkgYZhBKJi7qLagcIrsSdSM8_8s= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/CkgYZhBKJi7qLagcIrsSdSM8_8s= new file mode 100644 index 0000000..de755d1 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/CkgYZhBKJi7qLagcIrsSdSM8_8s= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ETKpK9U4tNwNeTsWNQ2CgUm0Aik= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ETKpK9U4tNwNeTsWNQ2CgUm0Aik= new file mode 100644 index 0000000..5707aa8 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ETKpK9U4tNwNeTsWNQ2CgUm0Aik= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F0apFQ+cJ6oyRkXrAqxSspZKH_U= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F0apFQ+cJ6oyRkXrAqxSspZKH_U= new file mode 100644 index 0000000..da323a9 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F0apFQ+cJ6oyRkXrAqxSspZKH_U= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F5SfHK5RNURKe+82cSnRv0ElvLU= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F5SfHK5RNURKe+82cSnRv0ElvLU= new file mode 100644 index 0000000..13a896d Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/F5SfHK5RNURKe+82cSnRv0ElvLU= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/GyvIEvlG7unyF5oQY6Bv2GbP1Og= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/GyvIEvlG7unyF5oQY6Bv2GbP1Og= new file mode 100644 index 0000000..ccaef6b Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/GyvIEvlG7unyF5oQY6Bv2GbP1Og= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/H_BHQOo_7Dmh1wnlAm510aswfz4= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/H_BHQOo_7Dmh1wnlAm510aswfz4= new file mode 100644 index 0000000..c8d54e2 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/H_BHQOo_7Dmh1wnlAm510aswfz4= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/JnM+WQMkW7o2aapThJ2u_7_Qlk4= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/JnM+WQMkW7o2aapThJ2u_7_Qlk4= new file mode 100644 index 0000000..5a02816 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/JnM+WQMkW7o2aapThJ2u_7_Qlk4= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/LMnIY5ppwHnfORyqG46KsfToe6w= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/LMnIY5ppwHnfORyqG46KsfToe6w= new file mode 100644 index 0000000..c68ea7a Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/LMnIY5ppwHnfORyqG46KsfToe6w= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OCXPkLoqmdLIJI1d8PR+VZB7oNE= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OCXPkLoqmdLIJI1d8PR+VZB7oNE= new file mode 100644 index 0000000..8568b5b Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OCXPkLoqmdLIJI1d8PR+VZB7oNE= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OMsEgl3efgUG+y4Q9+Zg7ak9va0= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OMsEgl3efgUG+y4Q9+Zg7ak9va0= new file mode 100644 index 0000000..d0a17a9 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/OMsEgl3efgUG+y4Q9+Zg7ak9va0= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/PQcyxcznEcQewNugMQSCrW12COo= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/PQcyxcznEcQewNugMQSCrW12COo= new file mode 100644 index 0000000..fb794be Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/PQcyxcznEcQewNugMQSCrW12COo= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Spl9hWLE416rkC4fPMPz8Tz2cjY= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Spl9hWLE416rkC4fPMPz8Tz2cjY= new file mode 100644 index 0000000..8fd6cd4 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Spl9hWLE416rkC4fPMPz8Tz2cjY= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Y6MBbdaBD6E+Y8otiqaUehCl7dE= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Y6MBbdaBD6E+Y8otiqaUehCl7dE= new file mode 100644 index 0000000..ba19014 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/Y6MBbdaBD6E+Y8otiqaUehCl7dE= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/YXQp6NZTs1ge2VapjUvvxzEZCjI= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/YXQp6NZTs1ge2VapjUvvxzEZCjI= new file mode 100644 index 0000000..68dbdba Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/YXQp6NZTs1ge2VapjUvvxzEZCjI= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/afXEmzmXHzPwzRV7xCSSpjMhWtY= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/afXEmzmXHzPwzRV7xCSSpjMhWtY= new file mode 100644 index 0000000..6c6ac13 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/afXEmzmXHzPwzRV7xCSSpjMhWtY= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ai8l1n42p8OzPksiXAW7AVAr5m8= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ai8l1n42p8OzPksiXAW7AVAr5m8= new file mode 100644 index 0000000..30185e4 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ai8l1n42p8OzPksiXAW7AVAr5m8= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/bDK4TUB_kPuIJ+FvpGajIaC57Cc= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/bDK4TUB_kPuIJ+FvpGajIaC57Cc= new file mode 100644 index 0000000..5e67692 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/bDK4TUB_kPuIJ+FvpGajIaC57Cc= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/d4Gf2NwHvJlX1TeqK+RB5tDHsLY= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/d4Gf2NwHvJlX1TeqK+RB5tDHsLY= new file mode 100644 index 0000000..239aa4f Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/d4Gf2NwHvJlX1TeqK+RB5tDHsLY= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/erO_OZn8y1Ja7vzVNMAP4TZiNNY= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/erO_OZn8y1Ja7vzVNMAP4TZiNNY= new file mode 100644 index 0000000..10c7c9d Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/erO_OZn8y1Ja7vzVNMAP4TZiNNY= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hUOHP0_EdK8gl3JVrd0SEfWNI8c= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hUOHP0_EdK8gl3JVrd0SEfWNI8c= new file mode 100644 index 0000000..03c80a9 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hUOHP0_EdK8gl3JVrd0SEfWNI8c= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hvdIwRj2AFURgBekV_WrocEwhSo= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hvdIwRj2AFURgBekV_WrocEwhSo= new file mode 100644 index 0000000..dfea5b0 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/hvdIwRj2AFURgBekV_WrocEwhSo= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/iV++VTJNI6626PZobv4U43kmxEI= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/iV++VTJNI6626PZobv4U43kmxEI= new file mode 100644 index 0000000..6ccda32 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/iV++VTJNI6626PZobv4U43kmxEI= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/lwF4SkWeP5jPT4TPz_oy0ML4J8Q= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/lwF4SkWeP5jPT4TPz_oy0ML4J8Q= new file mode 100644 index 0000000..21eb307 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/lwF4SkWeP5jPT4TPz_oy0ML4J8Q= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/mc_KBn76grR7vfdYNuFlzcVRf2M= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/mc_KBn76grR7vfdYNuFlzcVRf2M= new file mode 100644 index 0000000..9426e40 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/mc_KBn76grR7vfdYNuFlzcVRf2M= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/qvtdXENcb0o9YwC+OwslEdz47z0= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/qvtdXENcb0o9YwC+OwslEdz47z0= new file mode 100644 index 0000000..5157405 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/qvtdXENcb0o9YwC+OwslEdz47z0= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/sibUjMM_12Zf+id00O0Q79+edD0= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/sibUjMM_12Zf+id00O0Q79+edD0= new file mode 100644 index 0000000..c129a36 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/sibUjMM_12Zf+id00O0Q79+edD0= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/suaobpEVVcPJFbe7U0Yjzgsw04U= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/suaobpEVVcPJFbe7U0Yjzgsw04U= new file mode 100644 index 0000000..1c472d0 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/suaobpEVVcPJFbe7U0Yjzgsw04U= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/t0yKSvl0Vox5VZji3U+EfabWP+o= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/t0yKSvl0Vox5VZji3U+EfabWP+o= new file mode 100644 index 0000000..8a1f67e Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/t0yKSvl0Vox5VZji3U+EfabWP+o= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/tx44c+r5jMMqjL3mZsknJ4r7ElI= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/tx44c+r5jMMqjL3mZsknJ4r7ElI= new file mode 100644 index 0000000..4385785 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/tx44c+r5jMMqjL3mZsknJ4r7ElI= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ua5T+9X2eiWHRQfIBQAj38JXkEM= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ua5T+9X2eiWHRQfIBQAj38JXkEM= new file mode 100644 index 0000000..7fefd79 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/ua5T+9X2eiWHRQfIBQAj38JXkEM= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/v1bLML8U8bEJYXw0iGSsXOiU1sE= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/v1bLML8U8bEJYXw0iGSsXOiU1sE= new file mode 100644 index 0000000..90d5279 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/v1bLML8U8bEJYXw0iGSsXOiU1sE= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/wmuOG_1A0DBuCDxtt1Lv2zg78QA= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/wmuOG_1A0DBuCDxtt1Lv2zg78QA= new file mode 100644 index 0000000..bd918c2 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/wmuOG_1A0DBuCDxtt1Lv2zg78QA= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/woiafRT_3Wis0FbUuDgkkcD2zwE= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/woiafRT_3Wis0FbUuDgkkcD2zwE= new file mode 100644 index 0000000..22bdb4e Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/woiafRT_3Wis0FbUuDgkkcD2zwE= differ diff --git a/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/xJwIhNLTiNhpUJEWTRrZFK7gdHk= b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/xJwIhNLTiNhpUJEWTRrZFK7gdHk= new file mode 100644 index 0000000..7197412 Binary files /dev/null and b/app/build/intermediates/incremental/release-mergeJavaRes/zip-cache/xJwIhNLTiNhpUJEWTRrZFK7gdHk= differ diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties b/app/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties new file mode 100644 index 0000000..1b08c44 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/compile-file-map.properties @@ -0,0 +1 @@ +#Wed May 27 00:12:37 CEST 2026 diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-af/values-af.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-af/values-af.xml new file mode 100644 index 0000000..304fd2e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-af/values-af.xml @@ -0,0 +1,32 @@ + + + "Gaan na tuisskerm" + "Gaan op" + "Nog opsies" + "Klaar" + "Sien alles" + "Kies \'n program" + "AF" + "AAN" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Funksie+" + "Meta+" + "Shift+" + "spasiebalk" + "Simbool+" + "Kieslys+" + "Soek …" + "Vee navraag uit" + "Soektognavraag" + "Soek" + "Dien navraag in" + "Stemsoektog" + "Deel met" + "Deel met %s" + "Vou in" + "Soek" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-am/values-am.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-am/values-am.xml new file mode 100644 index 0000000..88b54b7 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-am/values-am.xml @@ -0,0 +1,32 @@ + + + "መነሻ ዳስስ" + "ወደ ላይ ያስሱ" + "ተጨማሪ አማራጮች" + "ተከናውኗል" + "ሁሉንም ይመልከቱ" + "አንድ መተግበሪያ ይምረጡ" + "አጥፋ" + "አብራ" + "Alt+" + "Ctrl+" + "ሰርዝ" + "enter" + "Function+" + "Meta+" + "Shift+" + "ክፍተት" + "Sym+" + "Menu+" + "ይፈልጉ…" + "መጠይቅ አጽዳ" + "የፍለጋ መጠይቅ" + "ፍለጋ" + "መጠይቅ አስገባ" + "የድምጽ ፍለጋ" + "አጋራ በ" + "ለ%s አጋራ" + "ሰብስብ" + "ፍለጋ" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ar/values-ar.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ar/values-ar.xml new file mode 100644 index 0000000..83cb0df --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ar/values-ar.xml @@ -0,0 +1,32 @@ + + + "التوجه إلى المنزل" + "التنقل إلى أعلى" + "خيارات أكثر" + "تم" + "عرض الكل" + "اختيار تطبيق" + "إيقاف" + "مفعّلة" + "Alt+" + "Ctrl+" + "حذف" + "enter" + "Function+" + "Meta+" + "Shift+" + "فضاء" + "Sym+" + "القائمة+" + "بحث…" + "محو طلب البحث" + "طلب بحث" + "البحث" + "إرسال طلب البحث" + "بحث صوتي" + "مشاركة مع" + "مشاركة مع %s" + "تصغير" + "البحث" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-as/values-as.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-as/values-as.xml new file mode 100644 index 0000000..e96dde6 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-as/values-as.xml @@ -0,0 +1,32 @@ + + + "গৃহ পৃষ্ঠালৈ যাওক" + "ওপৰলৈ যাওক" + "অধিক বিকল্প" + "সম্পন্ন হ’ল" + "আটাইবোৰ চাওক" + "কোনো এপ্ বাছনি কৰক" + "অফ" + "অন" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "সন্ধান কৰক…" + "সন্ধান কৰা প্ৰশ্ন মচক" + "সন্ধান কৰা প্ৰশ্ন" + "সন্ধান কৰক" + "প্ৰশ্ন দাখিল কৰক" + "কণ্ঠধ্বনিৰ দ্বাৰা সন্ধান" + "ইয়াৰ জৰিয়তে শ্বেয়াৰ কৰক" + "%sৰ জৰিয়তে শ্বেয়াৰ কৰক" + "সংকোচন কৰক" + "সন্ধান" + "৯৯৯+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-az/values-az.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-az/values-az.xml new file mode 100644 index 0000000..8f27789 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-az/values-az.xml @@ -0,0 +1,32 @@ + + + "Əsas səhifəyə keçin" + "Yuxarı keçin" + "Digər seçimlər" + "Hazırdır" + "Hamısına baxın" + "Tətbiq seçin" + "DEAKTİV" + "AKTİV" + "Alt+" + "Ctrl+" + "silin" + "daxil olun" + "Funksiya+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menyu+" + "Axtarış..." + "Sorğunu silin" + "Axtarış sorğusu" + "Axtarın" + "Sorğunu göndərin" + "Səsli axtarış" + "Paylaşın" + "%s ilə paylaşın" + "Yığcamlaşdırın" + "Axtarın" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml new file mode 100644 index 0000000..1742b18 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-b+sr+Latn/values-b+sr+Latn.xml @@ -0,0 +1,32 @@ + + + "Idite na početnu" + "Idite nagore" + "Još opcija" + "Gotovo" + "Prikaži sve" + "Izaberite aplikaciju" + "ISKLJUČENO" + "UKLJUČENO" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "taster za razmak" + "Sym+" + "Menu+" + "Pretražite…" + "Obrišite upit" + "Pretražite upit" + "Pretražite" + "Pošaljite upit" + "Glasovna pretraga" + "Delite pomoću" + "Delite pomoću aplikacije %s" + "Skupi" + "Pretražite" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-be/values-be.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-be/values-be.xml new file mode 100644 index 0000000..0cd2a62 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-be/values-be.xml @@ -0,0 +1,32 @@ + + + "Перайсці на галоўную старонку" + "Перайсці ўверх" + "Дадатковыя параметры" + "Гатова" + "Паказаць усе" + "Выберыце праграму" + "ВЫКЛ." + "УКЛ." + "Alt +" + "Ctrl +" + "Delete" + "Enter" + "Fn +" + "Meta +" + "Shift +" + "Прабел" + "Sym +" + "Меню +" + "Пошук…" + "Выдаліць запыт" + "Пошукавы запыт" + "Пошук" + "Адправіць запыт" + "Галасавы пошук" + "Абагуліць праз" + "Абагуліць праз праграму \"%s\"" + "Згарнуць" + "Пошук" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bg/values-bg.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bg/values-bg.xml new file mode 100644 index 0000000..31c32cb --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bg/values-bg.xml @@ -0,0 +1,32 @@ + + + "Навигиране към началния екран" + "Навигиране нагоре" + "Още опции" + "Готово" + "Преглед на всички" + "Изберете приложение" + "ИЗКЛ." + "ВКЛ." + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "клавиша за интервал" + "Sym+" + "Menu+" + "Търсете…" + "Изчистване на заявката" + "Заявка за търсене" + "Търсене" + "Изпращане на заявката" + "Гласово търсене" + "Споделяне със:" + "Споделяне със: %s" + "Свиване" + "Търсене" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bn/values-bn.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bn/values-bn.xml new file mode 100644 index 0000000..65c84be --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bn/values-bn.xml @@ -0,0 +1,32 @@ + + + "হোমে নেভিগেট করুন" + "উপরে নেভিগেট করুন" + "আরও বিকল্প" + "হয়ে গেছে" + "সবগুলি দেখুন" + "একটি অ্যাপ বেছে নিন" + "বন্ধ আছে" + "চালু করুন" + "Alt+" + "Ctrl+" + "মুছুন" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "সার্চ করুন…" + "কোয়েরি মুছে ফেলুন" + "সার্চ কোয়েরি" + "সার্চ করুন" + "কোয়েরি জমা দিন" + "ভয়েস সার্চ করুন" + "শেয়ার করুন" + "%s-এর সাথে শেয়ার করুন" + "সঙ্কুচিত করুন" + "সার্চ করুন" + "৯৯৯+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bs/values-bs.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bs/values-bs.xml new file mode 100644 index 0000000..008ce54 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-bs/values-bs.xml @@ -0,0 +1,32 @@ + + + "Vratite se na početnu stranicu" + "Idi gore" + "Više opcija" + "Gotovo" + "Prikaži sve" + "Odaberite aplikaciju" + "ISKLJUČENO" + "UKLJUČENO" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "razmak" + "Sym+" + "Menu+" + "Pretražite..." + "Obriši upit" + "Pretraži upit" + "Pretraži" + "Pošalji upit" + "Glasovno pretraživanje" + "Dijeli sa" + "Dijeli putem aplikacije %s" + "Suzi" + "Pretražite" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ca/values-ca.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ca/values-ca.xml new file mode 100644 index 0000000..c47fac8 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ca/values-ca.xml @@ -0,0 +1,32 @@ + + + "Navega fins a la pàgina d\'inici" + "Navega cap amunt" + "Més opcions" + "Fet" + "Mostra-ho tot" + "Selecciona una aplicació" + "DESACTIVA" + "ACTIVA" + "Alt+" + "Ctrl+" + "Supr" + "Retorn" + "Funció+" + "Meta+" + "Maj+" + "Espai" + "Sym+" + "Menú+" + "Cerca…" + "Esborra la consulta" + "Consulta de cerca" + "Cerca" + "Envia la consulta" + "Cerca per veu" + "Comparteix amb" + "Comparteix amb %s" + "Replega" + "Cerca" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-cs/values-cs.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-cs/values-cs.xml new file mode 100644 index 0000000..606075a --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-cs/values-cs.xml @@ -0,0 +1,32 @@ + + + "Přejít na plochu" + "Přejít nahoru" + "Další možnosti" + "Hotovo" + "Zobrazit vše" + "Vybrat aplikaci" + "VYP" + "ZAP" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Fn+" + "Meta+" + "Shift+" + "mezerník" + "Sym+" + "Menu+" + "Vyhledat…" + "Smazat dotaz" + "Dotaz pro vyhledávání" + "Hledat" + "Odeslat dotaz" + "Hlasové vyhledávání" + "Sdílet s" + "Sdílet s aplikací %s" + "Sbalit" + "Hledat" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-da/values-da.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-da/values-da.xml new file mode 100644 index 0000000..6c4307e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-da/values-da.xml @@ -0,0 +1,32 @@ + + + "Find hjem" + "Gå op" + "Flere valgmuligheder" + "Udfør" + "Se alle" + "Vælg en app" + "FRA" + "TIL" + "Alt+" + "Ctrl+" + "slet" + "enter" + "Fn+" + "Meta+" + "Shift+" + "mellemrum" + "Sym+" + "Menu+" + "Søg…" + "Ryd forespørgsel" + "Søgeforespørgsel" + "Søg" + "Indsend forespørgsel" + "Talesøgning" + "Del med" + "Del med %s" + "Skjul" + "Søg" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-de/values-de.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-de/values-de.xml new file mode 100644 index 0000000..a96e870 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-de/values-de.xml @@ -0,0 +1,32 @@ + + + "Zur Startseite" + "Nach oben" + "Weitere Optionen" + "Fertig" + "Alle anzeigen" + "App auswählen" + "AUS" + "AN" + "Alt +" + "Strg +" + "Löschen" + "Eingabetaste" + "Funktionstaste +" + "Meta-Taste +" + "Umschalttaste +" + "Leertaste" + "Sym-Taste +" + "Menütaste +" + "Suchen…" + "Suchanfrage löschen" + "Suchanfrage" + "Suche" + "Anfrage senden" + "Sprachsuche" + "Teilen mit" + "Mit %s teilen" + "Minimieren" + "Suche" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-el/values-el.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-el/values-el.xml new file mode 100644 index 0000000..4ebd780 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-el/values-el.xml @@ -0,0 +1,32 @@ + + + "Πλοήγηση στην αρχική σελίδα" + "Πλοήγηση προς τα επάνω" + "Περισσότερες επιλογές" + "Τέλος" + "Εμφάνιση όλων" + "Επιλέξτε μια εφαρμογή" + "ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ" + "ΕΝΕΡΓΟΠΟΙΗΣΗ" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "διάστημα" + "Sym+" + "Menu+" + "Αναζήτηση…" + "Διαγραφή ερωτήματος" + "Ερώτημα αναζήτησης" + "Αναζήτηση" + "Υποβολή ερωτήματος" + "Φωνητική αναζήτηση" + "Κοινοποίηση σε" + "Κοινοποίηση στην εφαρμογή %s" + "Σύμπτυξη" + "Αναζήτηση" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rAU/values-en-rAU.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rAU/values-en-rAU.xml new file mode 100644 index 0000000..78c5a56 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rAU/values-en-rAU.xml @@ -0,0 +1,32 @@ + + + "Navigate home" + "Navigate up" + "More options" + "Done" + "See all" + "Choose an app" + "OFF" + "ON" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "Search…" + "Clear query" + "Search query" + "Search" + "Submit query" + "Voice search" + "Share with" + "Share with %s" + "Collapse" + "Search" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rCA/values-en-rCA.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rCA/values-en-rCA.xml new file mode 100644 index 0000000..78c5a56 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rCA/values-en-rCA.xml @@ -0,0 +1,32 @@ + + + "Navigate home" + "Navigate up" + "More options" + "Done" + "See all" + "Choose an app" + "OFF" + "ON" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "Search…" + "Clear query" + "Search query" + "Search" + "Submit query" + "Voice search" + "Share with" + "Share with %s" + "Collapse" + "Search" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rGB/values-en-rGB.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rGB/values-en-rGB.xml new file mode 100644 index 0000000..78c5a56 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rGB/values-en-rGB.xml @@ -0,0 +1,32 @@ + + + "Navigate home" + "Navigate up" + "More options" + "Done" + "See all" + "Choose an app" + "OFF" + "ON" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "Search…" + "Clear query" + "Search query" + "Search" + "Submit query" + "Voice search" + "Share with" + "Share with %s" + "Collapse" + "Search" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rIN/values-en-rIN.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rIN/values-en-rIN.xml new file mode 100644 index 0000000..78c5a56 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rIN/values-en-rIN.xml @@ -0,0 +1,32 @@ + + + "Navigate home" + "Navigate up" + "More options" + "Done" + "See all" + "Choose an app" + "OFF" + "ON" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "Search…" + "Clear query" + "Search query" + "Search" + "Submit query" + "Voice search" + "Share with" + "Share with %s" + "Collapse" + "Search" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rXC/values-en-rXC.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rXC/values-en-rXC.xml new file mode 100644 index 0000000..14b21fa --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-en-rXC/values-en-rXC.xml @@ -0,0 +1,32 @@ + + + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎Navigate home‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎Navigate up‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎More options‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎Done‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎See all‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎Choose an app‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎OFF‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎ON‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎Alt+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‎Ctrl+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎delete‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎enter‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎Function+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎Meta+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎Shift+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎space‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎Sym+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎Menu+‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎Search…‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‏‏‎Clear query‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎Search query‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎Search‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‏‏‎Submit query‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎Voice search‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎Share with‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎Share with ‎‏‎‎‏‏‎%s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎Collapse‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎Search‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎999+‎‏‎‎‏‎" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es-rUS/values-es-rUS.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es-rUS/values-es-rUS.xml new file mode 100644 index 0000000..47c7e5c --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es-rUS/values-es-rUS.xml @@ -0,0 +1,32 @@ + + + "Navegar a la página principal" + "Navegar hacia arriba" + "Más opciones" + "Listo" + "Ver todas" + "Elegir una app" + "DESACTIVAR" + "ACTIVAR" + "Alt+" + "Ctrl+" + "borrar" + "intro" + "Función+" + "Meta+" + "Mayúscula+" + "espacio" + "Sym+" + "Menú+" + "Buscar…" + "Borrar consulta" + "Búsqueda" + "Buscar" + "Enviar consulta" + "Búsqueda por voz" + "Compartir con" + "Compartir con %s" + "Contraer" + "Buscar" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es/values-es.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es/values-es.xml new file mode 100644 index 0000000..086125a --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-es/values-es.xml @@ -0,0 +1,32 @@ + + + "Ir a inicio" + "Desplazarse hacia arriba" + "Más opciones" + "Hecho" + "Ver todo" + "Seleccionar una aplicación" + "DESACTIVADO" + "ACTIVADO" + "Alt +" + "Ctrl +" + "Suprimir" + "Intro" + "Función +" + "Meta +" + "Mayús +" + "Espacio" + "Sym +" + "Menú +" + "Buscar…" + "Borrar consulta" + "Consulta de búsqueda" + "Buscar" + "Enviar consulta" + "Búsqueda por voz" + "Compartir con" + "Compartir con %s" + "Ocultar" + "Buscar" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-et/values-et.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-et/values-et.xml new file mode 100644 index 0000000..f0d9121 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-et/values-et.xml @@ -0,0 +1,32 @@ + + + "Liigu avalehele" + "Liigu üles" + "Rohkem valikuid" + "Valmis" + "Kuva kõik" + "Valige rakendus" + "VÄLJAS" + "SEES" + "Alt +" + "Ctrl +" + "kustuta" + "sisestusklahv" + "Funktsiooniklahv +" + "Meta +" + "Tõstuklahv +" + "tühik" + "Sym +" + "Menüü +" + "Otsige …" + "Päringu tühistamine" + "Otsingupäring" + "Otsing" + "Päringu esitamine" + "Häälotsing" + "Jaga:" + "Jagamine rakendusega %s" + "Ahendamine" + "Otsing" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-eu/values-eu.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-eu/values-eu.xml new file mode 100644 index 0000000..1015ba8 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-eu/values-eu.xml @@ -0,0 +1,32 @@ + + + "Joan orri nagusira" + "Joan gora" + "Aukera gehiago" + "Eginda" + "Ikusi guztiak" + "Aukeratu aplikazio bat" + "DESAKTIBATU" + "AKTIBATU" + "Alt +" + "Ktrl +" + "ezabatu" + "sartu" + "Funtzioa +" + "Meta +" + "Maius +" + "zuriunea" + "Sym +" + "Menua +" + "Bilatu…" + "Garbitu kontsulta" + "Bilaketa-kontsulta" + "Bilatu" + "Bidali kontsulta" + "Ahozko bilaketa" + "Partekatu honekin" + "Partekatu %s aplikazioarekin" + "Tolestu" + "Bilatu" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fa/values-fa.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fa/values-fa.xml new file mode 100644 index 0000000..a21615c --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fa/values-fa.xml @@ -0,0 +1,32 @@ + + + "پیمایش به صفحه اصلی" + "رفتن به بالا" + "گزینه‌های بیشتر" + "تمام" + "دیدن همه" + "انتخاب برنامه" + "خاموش" + "روشن" + "‎Alt+‎" + "‎Ctrl+‎" + "حذف" + "enter" + "‎Function+‎" + "‎Meta+‎" + "‎Shift+‎" + "فاصله" + "‎Sym+‎" + "منو+" + "جستجو…‏" + "پاک کردن پُرسمان" + "درخواست جستجو" + "جستجو" + "ارسال پُرسمان" + "جستجوی گفتاری" + "هم‌رسانی با" + "هم‌رسانی با %s" + "کوچک کردن" + "جستجو" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fi/values-fi.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fi/values-fi.xml new file mode 100644 index 0000000..74084f1 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fi/values-fi.xml @@ -0,0 +1,32 @@ + + + "Siirry etusivulle" + "Siirry ylös" + "Lisäasetukset" + "Valmis" + "Näytä kaikki" + "Valitse sovellus" + "POIS PÄÄLTÄ" + "PÄÄLLÄ" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Fn+" + "Meta+" + "Vaihto+" + "välilyönti" + "Sym+" + "Valikko+" + "Haku…" + "Tyhjennä kysely" + "Hakukysely" + "Haku" + "Lähetä kysely" + "Puhehaku" + "Jaa…" + "Jaa: %s" + "Tiivistä" + "Haku" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr-rCA/values-fr-rCA.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr-rCA/values-fr-rCA.xml new file mode 100644 index 0000000..935b03e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr-rCA/values-fr-rCA.xml @@ -0,0 +1,32 @@ + + + "Revenir à l\'accueil" + "Revenir en arrière" + "Autres options" + "Terminé" + "Tout afficher" + "Sélectionner une application" + "DÉSACTIVER" + "ACTIVER" + "Alt+" + "Ctrl+" + "supprimer" + "entrée" + "Fonction+" + "Méta+" + "Maj+" + "espace" + "Sym+" + "Menu+" + "Rechercher…" + "Effacer la requête" + "Requête de recherche" + "Rechercher" + "Envoyer la requête" + "Recherche vocale" + "Partager avec" + "Partager avec %s" + "Réduire" + "Rechercher" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr/values-fr.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr/values-fr.xml new file mode 100644 index 0000000..6238d96 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-fr/values-fr.xml @@ -0,0 +1,32 @@ + + + "Revenir à l\'accueil" + "Revenir en haut de la page" + "Autres options" + "OK" + "Tout afficher" + "Sélectionner une application" + "NON" + "OUI" + "Alt+" + "Ctrl+" + "supprimer" + "entrée" + "Fonction+" + "Méta+" + "Maj+" + "espace" + "Sym+" + "Menu+" + "Rechercher…" + "Effacer la requête" + "Requête de recherche" + "Rechercher" + "Envoyer la requête" + "Recherche vocale" + "Partager avec" + "Partager avec %s" + "Réduire" + "Rechercher" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gl/values-gl.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gl/values-gl.xml new file mode 100644 index 0000000..12cb980 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gl/values-gl.xml @@ -0,0 +1,32 @@ + + + "Vai ao inicio" + "Vai cara arriba" + "Máis opcións" + "Feito" + "Ver todo" + "Selecciona unha aplicación" + "DESACTIVADO" + "ACTIVADO" + "Alt +" + "Ctrl +" + "eliminar" + "intro" + "Función +" + "Meta +" + "Maiús +" + "espazo" + "Sym +" + "Menú +" + "Busca…" + "Borra a consulta" + "Busca a consulta" + "Realiza buscas" + "Envía a consulta" + "Busca por voz" + "Comparte contido con" + "Comparte contido coa aplicación %s" + "Contrae" + "Buscar" + ">999" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gu/values-gu.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gu/values-gu.xml new file mode 100644 index 0000000..1148bc9 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-gu/values-gu.xml @@ -0,0 +1,32 @@ + + + "ઘરનો રસ્તો બતાવો" + "ઉપર નૅવિગેટ કરો" + "વધુ વિકલ્પો" + "થઈ ગયું" + "બધી જુઓ" + "ઍપ્લિકેશન પસંદ કરો" + "બંધ" + "ચાલુ" + "Alt+" + "Ctrl+" + "delete" + "Enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "શોધો…" + "ક્વેરી સાફ કરો" + "શોધ ક્વેરી" + "શોધો" + "ક્વેરી સબમિટ કરો" + "વૉઇસ શોધ" + "આની સાથે શેર કરો" + "%sની સાથે શેર કરો" + "સંકુચિત કરો" + "શોધો" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-h720dp-v13/values-h720dp-v13.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-h720dp-v13/values-h720dp-v13.xml new file mode 100644 index 0000000..e38bb90 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-h720dp-v13/values-h720dp-v13.xml @@ -0,0 +1,4 @@ + + + 54dip + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hdpi-v4/values-hdpi-v4.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hdpi-v4/values-hdpi-v4.xml new file mode 100644 index 0000000..d5a138e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hdpi-v4/values-hdpi-v4.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hi/values-hi.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hi/values-hi.xml new file mode 100644 index 0000000..03aa7d1 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hi/values-hi.xml @@ -0,0 +1,32 @@ + + + "होम पेज पर जाएं" + "वापस जाएं" + "ज़्यादा विकल्प" + "हो गया" + "सभी देखें" + "कोई ऐप्लिकेशन चुनें" + "बंद" + "चालू" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "खोजें…" + "क्‍वेरी हटाएं" + "सर्च क्वेरी" + "खोजें" + "क्वेरी सबमिट करें" + "बोलकर खोजें" + "इससे शेयर करें:" + "%s से शेयर करें" + "छोटा करें" + "खोजें" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hr/values-hr.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hr/values-hr.xml new file mode 100644 index 0000000..37e5c0a --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hr/values-hr.xml @@ -0,0 +1,32 @@ + + + "Idi na početnu" + "Natrag" + "Više opcija" + "Gotovo" + "Prikaži sve" + "Odabir aplikacije" + "ISKLJUČENO" + "UKLJUČENO" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "svemir" + "Sym+" + "Menu+" + "Pretražite…" + "Izbriši upit" + "Upit za pretraživanje" + "Pretraži" + "Pošalji upit" + "Glasovno pretraživanje" + "Dijeli s" + "Dijeli putem aplikacije %s" + "Sažmi" + "Pretraži" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hu/values-hu.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hu/values-hu.xml new file mode 100644 index 0000000..0fcd6d4 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hu/values-hu.xml @@ -0,0 +1,32 @@ + + + "Ugrás a főoldalra" + "Fel" + "További lehetőségek" + "Kész" + "Az összes megtekintése" + "Válasszon alkalmazást" + "KI" + "BE" + "Alt+" + "Ctrl+" + "Delete" + "Enter" + "Function+" + "Meta+" + "Shift+" + "Szóköz" + "Sym+" + "Menu+" + "Keresés…" + "Lekérdezés törlése" + "Keresési lekérdezés" + "Keresés" + "Lekérdezés küldése" + "Hangalapú keresés" + "Megosztás a következővel:" + "Megosztás a következő alkalmazással: %s" + "Összecsukás" + "Keresés" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hy/values-hy.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hy/values-hy.xml new file mode 100644 index 0000000..c0dcbe4 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-hy/values-hy.xml @@ -0,0 +1,32 @@ + + + "Անցնել գլխավոր էջ" + "Անցնել վերև" + "Այլ ընտրանքներ" + "Պատրաստ է" + "Տեսնել բոլորը" + "Ընտրել հավելված" + "ԱՆՋԱՏԵԼ" + "ՄԻԱՑՆԵԼ" + "Alt+" + "Ctrl+" + "Delete" + "Enter" + "Function+" + "Meta+" + "Shift+" + "բացատ" + "Sym+" + "Menu+" + "Որոնում…" + "Ջնջել հարցումը" + "Որոնման հարցում" + "Որոնել" + "Ուղարկել հարցումը" + "Ձայնային որոնում" + "Կիսվել…" + "Կիսվել %s հավելվածի միջոցով" + "Ծալել" + "Որոնել" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-in/values-in.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-in/values-in.xml new file mode 100644 index 0000000..29513d2 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-in/values-in.xml @@ -0,0 +1,32 @@ + + + "Tunjukkan jalan ke rumah" + "Kembali ke atas" + "Opsi lain" + "Selesai" + "Lihat semua" + "Pilih aplikasi" + "NONAKTIF" + "AKTIF" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "spasi" + "Sym+" + "Menu+" + "Telusuri..." + "Hapus kueri" + "Telusuri kueri" + "Telusuri" + "Kirim kueri" + "Penelusuran suara" + "Bagikan dengan" + "Bagikan dengan %s" + "Ciutkan" + "Telusuri" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-is/values-is.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-is/values-is.xml new file mode 100644 index 0000000..1d7b8aa --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-is/values-is.xml @@ -0,0 +1,32 @@ + + + "Fara heim" + "Fara upp" + "Fleiri valkostir" + "Lokið" + "Sjá allt" + "Veldu forrit" + "SLÖKKT" + "KVEIKT" + "Alt+" + "Ctrl+" + "eyða" + "enter" + "Aðgerðarlykill+" + "Meta+" + "Shift+" + "bilslá" + "Sym+" + "Valmynd+" + "Leita…" + "Hreinsa fyrirspurn" + "Leitarfyrirspurn" + "Leit" + "Senda fyrirspurn" + "Raddleit" + "Deila með" + "Deila með %s" + "Minnka" + "Leit" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-it/values-it.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-it/values-it.xml new file mode 100644 index 0000000..0876d05 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-it/values-it.xml @@ -0,0 +1,32 @@ + + + "Portami a casa" + "Torna indietro" + "Altre opzioni" + "Fine" + "Mostra tutto" + "Scelta di un\'app" + "OFF" + "ON" + "ALT +" + "CTRL +" + "CANC" + "INVIO" + "FUNZIONE +" + "META +" + "MAIUSC +" + "SPAZIO" + "SYM +" + "MENU +" + "Cerca…" + "Cancella query" + "Query di ricerca" + "Cerca" + "Invia query" + "Ricerca vocale" + "Condividi con" + "Condividi tramite %s" + "Comprimi" + "Cerca" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-iw/values-iw.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-iw/values-iw.xml new file mode 100644 index 0000000..f0a1c3a --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-iw/values-iw.xml @@ -0,0 +1,32 @@ + + + "ניווט לדף הבית" + "ניווט למעלה" + "עוד אפשרויות" + "סיום" + "הצגת הכול" + "בחירת אפליקציה" + "כבוי" + "מופעל" + "Alt+" + "Ctrl+‎" + "מחיקה" + "Enter" + "Function+" + "Meta+" + "Shift+" + "רווח" + "Sym+" + "תפריט+" + "חיפוש…" + "מחיקת השאילתה" + "שאילתת חיפוש" + "חיפוש" + "שליחת שאילתה" + "חיפוש קולי" + "שיתוף עם" + "שיתוף עם %s" + "כיווץ" + "חיפוש" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ja/values-ja.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ja/values-ja.xml new file mode 100644 index 0000000..3abbbc4 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ja/values-ja.xml @@ -0,0 +1,32 @@ + + + "ホームに戻る" + "前に戻る" + "その他のオプション" + "完了" + "すべて表示" + "アプリの選択" + "OFF" + "ON" + "Alt+" + "Ctrl+" + "Delete" + "Enter" + "Function+" + "Meta+" + "Shift+" + "Space" + "Sym+" + "Menu+" + "検索…" + "検索キーワードを削除" + "検索キーワード" + "検索" + "検索キーワードを送信" + "音声検索" + "共有" + "%sと共有" + "折りたたむ" + "検索" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ka/values-ka.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ka/values-ka.xml new file mode 100644 index 0000000..0469550 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ka/values-ka.xml @@ -0,0 +1,32 @@ + + + "მთავარზე გადასვლა" + "ზემოთ გადასვლა" + "სხვა ვარიანტები" + "მზადაა" + "ყველას ნახვა" + "აირჩიეთ აპი" + "გამორთვა" + "ჩართვა" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "შორისი" + "Sym+" + "Menu+" + "ძიება…" + "მოთხოვნის გასუფთავება" + "მოთხოვნის ძიება" + "ძიება" + "მოთხოვნის გადაგზავნა" + "ხმოვანი ძიება" + "გაზიარება:" + "%s-ით გაზიარება" + "ჩაკეცვა" + "ძიება" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kk/values-kk.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kk/values-kk.xml new file mode 100644 index 0000000..7e9fffa --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kk/values-kk.xml @@ -0,0 +1,32 @@ + + + "Негізгі бетке өту" + "Жоғары қарай өту" + "Басқа опциялар" + "Дайын" + "Барлығын көру" + "Қолданбаны таңдау" + "ӨШІРУ" + "ҚОСУ" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "бос орын" + "Sym+" + "Menu+" + "Іздеу…" + "Сұрауды өшіру" + "Іздеу сұрауы" + "Іздеу" + "Сұрауды жіберу" + "Дауыспен іздеу" + "Бөлісу" + "%s қолданбасымен бөлісу" + "Жию" + "Іздеу" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-km/values-km.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-km/values-km.xml new file mode 100644 index 0000000..207f6f6 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-km/values-km.xml @@ -0,0 +1,32 @@ + + + "​ទៅទំព័រដើម" + "រំកិលឡើងលើ" + "ជម្រើសច្រើនទៀត" + "រួចរាល់" + "មើលទាំងអស់" + "ជ្រើសរើស​កម្មវិធី​​" + "បិទ" + "បើក" + "Alt+" + "Ctrl+" + "លុប" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "ស្វែងរក…" + "សម្អាត​សំណួរ" + "ស្វែងរកសំណួរ​" + "ស្វែងរក" + "ដាក់បញ្ជូន​សំណួរ" + "ស្វែងរក​តាម​សំឡេង" + "ចែករំលែក​ជា​មួយ" + "ចែក​រំលែក​ជា​មួយ %s" + "បង្រួម" + "ស្វែងរក" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kn/values-kn.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kn/values-kn.xml new file mode 100644 index 0000000..84dcee6 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-kn/values-kn.xml @@ -0,0 +1,32 @@ + + + "ಹೋಮ್‌ಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ" + "ಮೇಲಕ್ಕೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ" + "ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗಳು" + "ಮುಗಿದಿದೆ" + "ಎಲ್ಲವನ್ನೂ ನೋಡಿ" + "ಆ್ಯಪ್‌ವೊಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ" + "ಆಫ್" + "ಆನ್" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "ಹುಡುಕಿ…" + "ಪ್ರಶ್ನೆಯನ್ನು ತೆರವುಗೊಳಿಸಿ" + "ಪ್ರಶ್ನೆಯನ್ನು ಹುಡುಕಿ" + "ಹುಡುಕಿ" + "ಪ್ರಶ್ನೆಯನ್ನು ಸಲ್ಲಿಸಿ" + "ಧ್ವನಿ ಹುಡುಕಾಟ" + "ಇವರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ" + "%s ನೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ" + "ಕುಗ್ಗಿಸಿ" + "ಹುಡುಕಿ" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ko/values-ko.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ko/values-ko.xml new file mode 100644 index 0000000..d92f75b --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ko/values-ko.xml @@ -0,0 +1,32 @@ + + + "홈으로 이동" + "위로 이동" + "추가 옵션" + "완료" + "전체 보기" + "앱 선택" + "사용 중지" + "사용" + "Alt+" + "Ctrl+" + "Delete" + "Enter" + "Function+" + "Meta+" + "Shift+" + "스페이스바" + "Sym+" + "Menu+" + "검색..." + "검색어 삭제" + "검색어" + "검색" + "검색어 보내기" + "음성 검색" + "공유 대상:" + "%s과(와) 공유" + "접기" + "검색" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ky/values-ky.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ky/values-ky.xml new file mode 100644 index 0000000..a34668f --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-ky/values-ky.xml @@ -0,0 +1,32 @@ + + + "Башкы бетке чабыттоо" + "Мурунку экранга өтүү" + "Дагы параметрлер" + "Бүттү" + "Баарын көрүү" + "Колдонмо тандоо" + "ӨЧҮК" + "КҮЙҮК" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "боштук" + "Sym+" + "Menu+" + "Издөө…" + "Сурамды өчүрүү" + "Изделген сурам" + "Издөө" + "Сурам тапшыруу" + "Айтып издөө" + "Төмөнкү менен бөлүшүү" + "%s аркылуу бөлүшүү" + "Жыйыштыруу" + "Издөө" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-land/values-land.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-land/values-land.xml new file mode 100644 index 0000000..a12899f --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-land/values-land.xml @@ -0,0 +1,6 @@ + + + 48dp + 12dp + 14dp + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-large-v4/values-large-v4.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-large-v4/values-large-v4.xml new file mode 100644 index 0000000..cc236eb --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-large-v4/values-large-v4.xml @@ -0,0 +1,12 @@ + + + 440dp + 60% + 90% + 60% + 90% + 55% + 80% + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v17/values-v17.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v17/values-v17.xml new file mode 100644 index 0000000..f85a197 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v17/values-v17.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v18/values-v18.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v18/values-v18.xml new file mode 100644 index 0000000..7dad77f --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v18/values-v18.xml @@ -0,0 +1,4 @@ + + + 0px + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v21/values-v21.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v21/values-v21.xml new file mode 100644 index 0000000..9ee03e1 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v21/values-v21.xml @@ -0,0 +1,277 @@ + + + @color/androidx_core_secondary_text_default_material_light + 0dp + 0dp + 12dp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v22/values-v22.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v22/values-v22.xml new file mode 100644 index 0000000..1ad118e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v22/values-v22.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v23/values-v23.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v23/values-v23.xml new file mode 100644 index 0000000..edb25cd --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v23/values-v23.xml @@ -0,0 +1,51 @@ + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v24/values-v24.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v24/values-v24.xml new file mode 100644 index 0000000..f9b3c08 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v24/values-v24.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v26/values-v26.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v26/values-v26.xml new file mode 100644 index 0000000..4c30667 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-v26/values-v26.xml @@ -0,0 +1,18 @@ + + + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-vi/values-vi.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-vi/values-vi.xml new file mode 100644 index 0000000..99bddaa --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-vi/values-vi.xml @@ -0,0 +1,32 @@ + + + "Chỉ đường về nhà" + "Di chuyển lên" + "Tùy chọn khác" + "Xong" + "Xem tất cả" + "Chọn một ứng dụng" + "TẮT" + "BẬT" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Menu+" + "Tìm kiếm…" + "Xóa truy vấn" + "Truy vấn tìm kiếm" + "Tìm kiếm" + "Gửi truy vấn" + "Tìm kiếm bằng giọng nói" + "Chia sẻ với" + "Chia sẻ với %s" + "Thu gọn" + "Tìm kiếm" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v20/values-watch-v20.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v20/values-watch-v20.xml new file mode 100644 index 0000000..2d85812 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v20/values-watch-v20.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v21/values-watch-v21.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v21/values-watch-v21.xml new file mode 100644 index 0000000..deecc9e --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-watch-v21/values-watch-v21.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-xlarge-v4/values-xlarge-v4.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-xlarge-v4/values-xlarge-v4.xml new file mode 100644 index 0000000..b499d2c --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-xlarge-v4/values-xlarge-v4.xml @@ -0,0 +1,9 @@ + + + 60% + 90% + 50% + 70% + 45% + 72% + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rCN/values-zh-rCN.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rCN/values-zh-rCN.xml new file mode 100644 index 0000000..2ef777a --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rCN/values-zh-rCN.xml @@ -0,0 +1,32 @@ + + + "转到首页" + "转到上一层级" + "更多选项" + "完成" + "查看全部" + "选择应用" + "关闭" + "开启" + "Alt+" + "Ctrl+" + "Delete 键" + "Enter 键" + "Fn+" + "Meta+" + "Shift+" + "空格键" + "Sym+" + "Menu+" + "搜索…" + "清除查询" + "搜索查询" + "搜索" + "提交查询" + "语音搜索" + "分享对象" + "与%s分享" + "收起" + "搜索" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rHK/values-zh-rHK.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rHK/values-zh-rHK.xml new file mode 100644 index 0000000..95dfec1 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rHK/values-zh-rHK.xml @@ -0,0 +1,32 @@ + + + "瀏覽主頁" + "向上瀏覽" + "更多選項" + "完成" + "查看全部" + "選擇應用程式" + "關閉" + "開啟" + "Alt +" + "Ctrl +" + "刪除" + "Enter 鍵" + "Fn +" + "Meta +" + "Shift +" + "空白鍵" + "Sym +" + "Menu +" + "搜尋…" + "清除查詢" + "搜尋查詢" + "搜尋" + "提交查詢" + "語音搜尋" + "分享對象" + "使用「%s」分享" + "收合" + "搜尋" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rTW/values-zh-rTW.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rTW/values-zh-rTW.xml new file mode 100644 index 0000000..78f2716 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zh-rTW/values-zh-rTW.xml @@ -0,0 +1,32 @@ + + + "瀏覽首頁" + "向上瀏覽" + "更多選項" + "完成" + "查看全部" + "選擇應用程式" + "關閉" + "開啟" + "Alt +" + "Ctrl +" + "Delete 鍵" + "Enter 鍵" + "Fn +" + "Meta +" + "Shift +" + "空格鍵" + "Sym +" + "Menu +" + "搜尋…" + "清除查詢" + "搜尋查詢" + "搜尋" + "提交查詢" + "語音搜尋" + "分享對象" + "與「%s」分享" + "收合" + "搜尋" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zu/values-zu.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zu/values-zu.xml new file mode 100644 index 0000000..d04e556 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values-zu/values-zu.xml @@ -0,0 +1,32 @@ + + + "Zulazulela ekhaya" + "Zulazulela phezulu" + "Ezinye izinketho" + "Kwenziwe" + "Buka konke" + "Khetha insiza" + "VALA" + "VULA" + "Alt+" + "Ctrl+" + "delete" + "enter" + "Function+" + "Meta+" + "Shift+" + "space" + "Sym+" + "Imenyu+" + "Sesha…" + "Sula inkinga" + "Sesha umbuzo" + "Sesha" + "Thumela umbuzo" + "Ukusesha ngezwi" + "Yabelana no" + "Yabelana ne-%s" + "Goqa" + "Sesha" + "999+" + \ No newline at end of file diff --git a/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values/values.xml b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values/values.xml new file mode 100644 index 0000000..f2e2db2 --- /dev/null +++ b/app/build/intermediates/incremental/release/mergeReleaseResources/merged.dir/values/values.xml @@ -0,0 +1,3121 @@ + + + + + + + + true + true + #ff000000 + #ffffffff + #7fa87f + @android:color/black + @android:color/black + @color/material_deep_teal_200 + @color/material_deep_teal_500 + #1f000000 + #8a000000 + @color/material_grey_800 + @android:color/white + @color/material_grey_850 + @color/material_grey_50 + #80ffffff + #80000000 + @color/bright_foreground_material_light + @color/bright_foreground_material_dark + @android:color/white + @android:color/black + #ff5a595b + #ffd6d7d7 + #80bebebe + #80323232 + #ffbebebe + #ff323232 + #ff7043 + #ff5722 + @android:color/white + @android:color/black + #6680cbc4 + #66009688 + #ff37474f + #ff263238 + #ff21272b + #ff80cbc4 + #ff008577 + #fff5f5f5 + #ffe0e0e0 + #fffafafa + #ff757575 + #ff424242 + #ff303030 + #ff212121 + #ffffffff + #ff9e9e9e + @android:color/black + @color/material_grey_600 + @color/material_grey_900 + @color/material_grey_100 + #ffffffff + #de000000 + #4Dffffff + #39000000 + #33ffffff + #1f000000 + #b3ffffff + #8a000000 + #36ffffff + #24000000 + #ff616161 + #ffbdbdbd + #ffbdbdbd + #fff1f1f1 + #e6616161 + #e6FFFFFF + 16dp + 72dp + 56dp + 0dp + 0dp + 4dp + 16dp + 10dp + 6dp + 48dp + 180dp + 5dp + -3dp + 48dp + 48dp + 36dp + 48dp + 48dp + @dimen/abc_control_inset_material + 6dp + 8dp + @dimen/abc_control_padding_material + 720dp + 320dp + 2dp + 4dp + 4dp + 2dp + 80% + 100% + 320dp + 320dp + 8dp + 8dp + 65% + 95% + 24dp + 18dp + 8dp + 0.30 + 0.26 + 32dip + 8dip + 8dip + 7dp + 4dp + 10dp + 16dp + 80dp + 64dp + 48dp + @dimen/abc_action_bar_content_inset_material + 296dp + 4dp + 48dip + 320dip + 2dp + 2dp + 20dp + 48dp + 36dp + 16dp + 3dp + 14sp + 14sp + 14sp + 12sp + 34sp + 45sp + 56sp + 112sp + 24sp + 22sp + 18sp + 14sp + 16sp + 14sp + 16sp + 16dp + 20sp + 20dp + 4dp + 6dp + 8dp + 4dp + 2dp + 320dp + 320dp + 0.30 + 0.26 + 0.26 + 0.20 + 0.12 + 0.50 + 0.38 + 0.70 + 0.54 + 32dp + 13sp + 12dp + 8dp + 64dp + 64dp + 10dp + @dimen/notification_content_margin_start + 16dp + 2dp + 3dp + 24dp + 13sp + 10dp + 5dp + 2dp + 16dp + 8dp + 8dp + 96dp + 6.5dp + 0dp + 16dp + #3333B5E5 + #0cffffff + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 220 + 150 + 127 + 150 + 999 + Navigate home + Navigate up + More options + Done + See all + Choose an app + OFF + ON + Alt+ + Ctrl+ + delete + enter + Function+ + Meta+ + Shift+ + space + Sym+ + Menu+ + Search… + Clear query + Search query + Search + Submit query + Voice search + Share with + Share with %s + Collapse + androidx.startup + Search + 999+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + "999+""999+"">999""999+"4dp"999+""999+""999+""999+""999+""999+""999+""999+""999+""999+""999+""९९९+""999+""999+""999+""999+""999+""999+""999+""999+""999+""999+""999+""999+""999+"#1f000000#8a000000#ffffffff#ff9e9e9e4dp6dp8dp4dp2dp320dp320dp32dp13sp12dp8dp64dp64dp10dp@dimen/notification_content_margin_start16dp2dp3dp24dp13sp10dp5dp#3333B5E5#0cffffff999999+24dp80dp64dp8dp8dp580dp16dp20dp"Navigați la ecranul de pornire""Navigați în sus""Mai multe opțiuni""Gata""Afișați tot""Alegeți o aplicație""DEZACTIVAT""ACTIVAT""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""space""Sym+""Meniu+""Căutați…""Ștergeți interogarea""Termen de căutare""Căutați""Trimiteți interogarea""Căutare vocală""Trimiteți la""Trimiteți folosind %s""Restrângeți""Căutați""హోమ్‌కు నావిగేట్ చేస్తుంది""పైకి నావిగేట్ చేస్తుంది""మరిన్ని ఆప్షన్‌లు""పూర్తయింది""అన్నీ చూడండి""యాప్‌ను ఎంచుకోండి""ఆఫ్""ఆన్""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""స్పేస్""Sym+""Menu+""సెర్చ్ చేయండి…""ప్రశ్నను తీసివేస్తుంది""సెర్చ్ క్వెరీ""సెర్చ్""ప్రశ్నని సమర్పిస్తుంది""వాయిస్ సెర్చ్""వీరితో షేర్ చేస్తుంది""%sతో షేర్ చేస్తుంది""కుదిస్తుంది""సెర్చ్"0px"Перейти на главный экран""Перейти вверх""Ещё""Готово""Показать все""Выберите приложение""ВЫКЛ""ВКЛ""Alt +""Ctrl +""Delete""Ввод""Fn +""Meta +""Shift +""Пробел""Sym +""Меню +""Введите запрос""Удалить запрос""Поисковый запрос""Поиск""Отправить запрос""Голосовой поиск""Поделиться с помощью""Поделиться с помощью %s""Свернуть""Поиск""Mag-navigate sa home""Mag-navigate pataas""Higit pang opsyon""Tapos na""Tingnan lahat""Pumili ng app""I-OFF""I-ON""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""space""Sym+""Menu+""Maghanap…""I-clear ang query""Query sa paghahanap""Maghanap""Isumite ang query""Paghahanap gamit ang boses""Ibahagi sa/kay""Ibahagi gamit ang %s""I-collapse""Maghanap""瀏覽首頁""向上瀏覽""更多選項""完成""查看全部""選擇應用程式""關閉""開啟""Alt +""Ctrl +""Delete 鍵""Enter 鍵""Fn +""Meta +""Shift +""空格鍵""Sym +""Menu +""搜尋…""清除查詢""搜尋查詢""搜尋""提交查詢""語音搜尋""分享對象""與「%s」分享""收合""搜尋""Portami a casa""Torna indietro""Altre opzioni""Fine""Mostra tutto""Scelta di un\'app""OFF""ON""ALT +""CTRL +""CANC""INVIO""FUNZIONE +""META +""MAIUSC +""SPAZIO""SYM +""MENU +""Cerca…""Cancella query""Query di ricerca""Cerca""Invia query""Ricerca vocale""Condividi con""Condividi tramite %s""Comprimi""Cerca""Navega fins a la pàgina d\'inici""Navega cap amunt""Més opcions""Fet""Mostra-ho tot""Selecciona una aplicació""DESACTIVA""ACTIVA""Alt+""Ctrl+""Supr""Retorn""Funció+""Meta+""Maj+""Espai""Sym+""Menú+""Cerca…""Esborra la consulta""Consulta de cerca""Cerca""Envia la consulta""Cerca per veu""Comparteix amb""Comparteix amb %s""Replega""Cerca""Fara heim""Fara upp""Fleiri valkostir""Lokið""Sjá allt""Veldu forrit""SLÖKKT""KVEIKT""Alt+""Ctrl+""eyða""enter""Aðgerðarlykill+""Meta+""Shift+""bilslá""Sym+""Valmynd+""Leita…""Hreinsa fyrirspurn""Leitarfyrirspurn""Leit""Senda fyrirspurn""Raddleit""Deila með""Deila með %s""Minnka""Leit""Přejít na plochu""Přejít nahoru""Další možnosti""Hotovo""Zobrazit vše""Vybrat aplikaci""VYP""ZAP""Alt+""Ctrl+""delete""enter""Fn+""Meta+""Shift+""mezerník""Sym+""Menu+""Vyhledat…""Smazat dotaz""Dotaz pro vyhledávání""Hledat""Odeslat dotaz""Hlasové vyhledávání""Sdílet s""Sdílet s aplikací %s""Sbalit""Hledat""转到首页""转到上一层级""更多选项""完成""查看全部""选择应用""关闭""开启""Alt+""Ctrl+""Delete 键""Enter 键""Fn+""Meta+""Shift+""空格键""Sym+""Menu+""搜索…""清除查询""搜索查询""搜索""提交查询""语音搜索""分享对象""与%s分享""收起""搜索""Tunjukkan jalan ke rumah""Kembali ke atas""Opsi lain""Selesai""Lihat semua""Pilih aplikasi""NONAKTIF""AKTIF""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""spasi""Sym+""Menu+""Telusuri...""Hapus kueri""Telusuri kueri""Telusuri""Kirim kueri""Penelusuran suara""Bagikan dengan""Bagikan dengan %s""Ciutkan""Telusuri""ホームに戻る""前に戻る""その他のオプション""完了""すべて表示""アプリの選択""OFF""ON""Alt+""Ctrl+""Delete""Enter""Function+""Meta+""Shift+""Space""Sym+""Menu+""検索…""検索キーワードを削除""検索キーワード""検索""検索キーワードを送信""音声検索""共有""%sと共有""折りたたむ""検索""Πλοήγηση στην αρχική σελίδα""Πλοήγηση προς τα επάνω""Περισσότερες επιλογές""Τέλος""Εμφάνιση όλων""Επιλέξτε μια εφαρμογή""ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ""ΕΝΕΡΓΟΠΟΙΗΣΗ""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""διάστημα""Sym+""Menu+""Αναζήτηση…""Διαγραφή ερωτήματος""Ερώτημα αναζήτησης""Αναζήτηση""Υποβολή ερωτήματος""Φωνητική αναζήτηση""Κοινοποίηση σε""Κοινοποίηση στην εφαρμογή %s""Σύμπτυξη""Αναζήτηση""นำทางไปหน้าแรก""กลับ""ตัวเลือกอื่น""เสร็จ""ดูทั้งหมด""เลือกแอป""ปิด""เปิด""Alt+""Ctrl+""ลบ""Enter""Function+""Meta+""Shift+""Space""Sym+""เมนู+""ค้นหา…""ล้างคำค้นหา""คำค้นหา""ค้นหา""ส่งคำค้นหา""ค้นหาด้วยเสียง""แชร์กับ""แชร์ทาง %s""ยุบ""ค้นหา""پیمایش به صفحه اصلی""رفتن به بالا""گزینه‌های بیشتر""تمام""دیدن همه""انتخاب برنامه""خاموش""روشن""‎Alt+‎""‎Ctrl+‎""حذف""enter""‎Function+‎""‎Meta+‎""‎Shift+‎""فاصله""‎Sym+‎""منو+""جستجو…‏""پاک کردن پُرسمان""درخواست جستجو""جستجو""ارسال پُرسمان""جستجوی گفتاری""هم‌رسانی با""هم‌رسانی با %s""کوچک کردن""جستجو""Eiti į pagrindinį puslapį""Naršyti aukštyn""Daugiau parinkčių""Atlikta""Žr. viską""Pasirinkite programą""IŠJUNGTI""ĮJUNGTI""„Alt“ +""„Ctrl“ +""„delete“""„enter“""„Function“ +""„Meta“ +""„Shift“ +""„space“""„Sym“ +""„Menu“ +""Ieškoti…""Išvalyti užklausą""Paieškos užklausa""Ieškoti""Pateikti užklausą""Paieška balsu""Bendrinti su""Bendrinti naudojant programą „%s“""Sutraukti""Ieškoti""ହୋମ୍ ପେଜ୍‌କୁ ନେଭିଗେଟ୍ କରନ୍ତୁ""ଉପରକୁ ନେଭିଗେଟ୍ କରନ୍ତୁ""ଅଧିକ ବିକଳ୍ପ""ହୋଇଗଲା""ସବୁ ଦେଖନ୍ତୁ""ଗୋଟିଏ ଆପ୍‍ ବାଛନ୍ତୁ""ବନ୍ଦ""ଚାଲୁ ଅଛି""Alt+""Ctrl+""ଡିଲିଟ୍‌ କରନ୍ତୁ""ଏଣ୍ଟର୍""Function+""Meta+""Shift+""ସ୍ପେସ୍‍""Sym+""ମେନୁ""ସର୍ଚ୍ଚ କରନ୍ତୁ…""କ୍ୱେରୀ ଖାଲି କରନ୍ତୁ""ସର୍ଚ୍ଚ କ୍ୱେରୀ""ସନ୍ଧାନ କରନ୍ତୁ""କ୍ୱେରୀ ଦାଖଲ କରନ୍ତୁ""ଭଏସ୍‌ ସର୍ଚ୍ଚ""ଏହାଙ୍କ ସହ ସେୟାର୍‌ କରନ୍ତୁ""%s ସହ ସେୟାର୍‍ କରନ୍ତୁ""ସଂକୁଚିତ କରନ୍ତୁ""ସନ୍ଧାନ କରନ୍ତୁ""Joan orri nagusira""Joan gora""Aukera gehiago""Eginda""Ikusi guztiak""Aukeratu aplikazio bat""DESAKTIBATU""AKTIBATU""Alt +""Ktrl +""ezabatu""sartu""Funtzioa +""Meta +""Maius +""zuriunea""Sym +""Menua +""Bilatu…""Garbitu kontsulta""Bilaketa-kontsulta""Bilatu""Bidali kontsulta""Ahozko bilaketa""Partekatu honekin""Partekatu %s aplikazioarekin""Tolestu""Bilatu""ກັບໄປໜ້າຫຼັກ""ເລື່ອນຂຶ້ນເທິງ""ຕົວເລືອກເພີ່ມເຕີມ""ແລ້ວໆ""ເບິ່ງທັງໝົດ""ເລືອກແອັບ""ປິດ""ເປີດ""Alt+""Ctrl+""ລຶບ""enter""Function+""Meta+""Shift+""ຍະຫວ່າງ""Sym+""Menu+""ຊອກຫາ…""ລຶບຂໍ້ຄວາມຊອກຫາ""ຄຳສຳລັບຄົ້ນຫາ""ຊອກຫາ""ສົ່ງຂໍ້ມູນ""ຊອກຫາດ້ວຍສຽງ""ແບ່ງປັນກັບ""ແບ່ງປັນດ້ວຍ %s""ຫຍໍ້ລົງ""ຊອກຫາ""ניווט לדף הבית""ניווט למעלה""עוד אפשרויות""סיום""הצגת הכול""בחירת אפליקציה""כבוי""מופעל""Alt+""Ctrl+‎""מחיקה""Enter""Function+""Meta+""Shift+""רווח""Sym+""תפריט+""חיפוש…""מחיקת השאילתה""שאילתת חיפוש""חיפוש""שליחת שאילתה""חיפוש קולי""שיתוף עם""שיתוף עם %s""כיווץ""חיפוש""Navigate home""Navigate up""More options""Done""See all""Choose an app""OFF""ON""Alt+""Ctrl+""delete""enter""Function+""Meta+""Shift+""space""Sym+""Menu+""Search…""Clear query""Search query""Search""Submit query""Voice search""Share with""Share with %s""Collapse""Search""Siirry etusivulle""Siirry ylös""Lisäasetukset""Valmis""Näytä kaikki""Valitse sovellus""POIS PÄÄLTÄ""PÄÄLLÄ""Alt+""Ctrl+""delete""enter""Fn+""Meta+""Vaihto+""välilyönti""Sym+""Valikko+""Haku…""Tyhjennä kysely""Hakukysely""Haku""Lähetä kysely""Puhehaku""Jaa…""Jaa: %s""Tiivistä""Haku"