mirror of
https://github.com/FossifyOrg/Launcher.git
synced 2025-12-27 09:38:02 -05:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66c5bb89ef | ||
|
|
c0cfab1a19 | ||
|
|
aa96344a2f | ||
|
|
aca9945ad8 | ||
|
|
07924360ab | ||
|
|
94fa10982a | ||
|
|
6359da6d6c | ||
|
|
61148a880d | ||
|
|
de83a3e3ac | ||
|
|
f19d289909 | ||
|
|
de14db9cd5 | ||
|
|
cd6a3ec5c9 | ||
|
|
5a56ac9e3b | ||
|
|
018dd2dd69 | ||
|
|
7aeff1fd73 | ||
|
|
b4553b7abe | ||
|
|
c37b911cf6 | ||
|
|
5b57af9a2e | ||
|
|
1314f56042 | ||
|
|
c31798faf9 | ||
|
|
1c02710bff |
2
.fossify/release-marker.txt
Normal file
2
.fossify/release-marker.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Auto-generated file. DO NOT EDIT.
|
||||
1.1.2
|
||||
28
.github/PULL_REQUEST_TEMPLATE.md
vendored
28
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -1,28 +0,0 @@
|
||||
<!-- Hey there. Thank you so much for improving Fossify. Please consider filling out the details :)-->
|
||||
|
||||
#### What is it?
|
||||
- [ ] Bugfix
|
||||
- [ ] Feature
|
||||
- [ ] Codebase improvement
|
||||
|
||||
#### Description of the changes in your PR
|
||||
<!-- Bullet points are preferred. The following is an example -->
|
||||
- Updated colors
|
||||
- Update strings
|
||||
- Added documentation
|
||||
|
||||
#### Before/After Screenshots/Screen Record
|
||||
<!-- If your PR changes the app's UI in any way, consider including screenshots or a video showing exactly what changed, so that developers and users can pinpoint it easily. Delete this if it doesn't apply to your PR.-->
|
||||
- Before:
|
||||
- After:
|
||||
|
||||
#### Fixes the following issue(s)
|
||||
<!-- Prefix issues with "Fixes" so that GitHub closes them when the PR is merged (note that each "Fixes #" should be in its own item). Also add any other relevant links. -->
|
||||
- Fixes #
|
||||
|
||||
#### Relies on the following changes
|
||||
<!-- Delete this if it doesn't apply to your PR. -->
|
||||
-
|
||||
|
||||
#### Acknowledgement
|
||||
- [ ] I read the [contribution guidelines](https://github.com/FossifyOrg/Launcher/blob/main/CONTRIBUTING.md).
|
||||
18
.github/dependabot.yml
vendored
18
.github/dependabot.yml
vendored
@@ -1,4 +1,18 @@
|
||||
version: 2
|
||||
|
||||
registries:
|
||||
maven-google:
|
||||
type: maven-repository
|
||||
url: "https://dl.google.com/dl/android/maven2/"
|
||||
|
||||
maven-central:
|
||||
type: maven-repository
|
||||
url: "https://repo.maven.apache.org/maven2"
|
||||
|
||||
jitpack:
|
||||
type: maven-repository
|
||||
url: "https://jitpack.io"
|
||||
|
||||
updates:
|
||||
- package-ecosystem: "bundler"
|
||||
directory: "/"
|
||||
@@ -13,6 +27,10 @@ updates:
|
||||
|
||||
- package-ecosystem: "gradle"
|
||||
directory: "/"
|
||||
registries:
|
||||
- maven-central
|
||||
- maven-google
|
||||
- jitpack
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
|
||||
25
.github/workflows/foss-release.yml
vendored
25
.github/workflows/foss-release.yml
vendored
@@ -1,25 +0,0 @@
|
||||
name: Github Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*.*.*"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
call-release-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/release.yml@main
|
||||
with:
|
||||
tag: ${{ github.ref_name }}
|
||||
flavor: "foss"
|
||||
package_name: "org.fossify.home"
|
||||
|
||||
secrets:
|
||||
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
||||
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
|
||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
||||
SERVICE_ACCOUNT_JSON_KEY_BASE64: ""
|
||||
FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
46
.github/workflows/gplay-release.yml
vendored
46
.github/workflows/gplay-release.yml
vendored
@@ -1,46 +0,0 @@
|
||||
name: Google Play Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
track:
|
||||
description: "Google Play Store release track"
|
||||
required: false
|
||||
type: choice
|
||||
default: "beta"
|
||||
options:
|
||||
- internal
|
||||
- alpha
|
||||
- beta
|
||||
- production
|
||||
rollout:
|
||||
description: "Rollout fraction (0.0-1.0)"
|
||||
required: false
|
||||
type: string
|
||||
default: "0.05"
|
||||
validate_only:
|
||||
description: "Fastlane dry-run?"
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
call-release-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/release.yml@main
|
||||
with:
|
||||
flavor: "gplay"
|
||||
package_name: "org.fossify.home"
|
||||
track: ${{ github.event.inputs.track }}
|
||||
rollout: ${{ github.event.inputs.rollout }}
|
||||
validate_only: ${{ github.event.inputs.validate_only == 'true' }}
|
||||
|
||||
secrets:
|
||||
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
||||
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
|
||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
|
||||
SERVICE_ACCOUNT_JSON_KEY_BASE64: ${{ secrets.SERVICE_ACCOUNT_JSON_KEY_BASE64 }}
|
||||
FOSSIFYBOT_TOKEN: ""
|
||||
3
.github/workflows/image-minimizer.yml
vendored
3
.github/workflows/image-minimizer.yml
vendored
@@ -11,5 +11,4 @@ on:
|
||||
jobs:
|
||||
call-image-minimizer-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/image-minimizer.yml@main
|
||||
secrets:
|
||||
FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
secrets: inherit
|
||||
|
||||
5
.github/workflows/no-response.yml
vendored
5
.github/workflows/no-response.yml
vendored
@@ -2,11 +2,10 @@ name: No Response
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * *' # Runs daily at noon
|
||||
- cron: "0 12 * * *" # Runs daily at noon
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
call-no-response-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/no-response.yml@main
|
||||
secrets:
|
||||
FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
secrets: inherit
|
||||
|
||||
7
.github/workflows/pr-labeler.yml
vendored
7
.github/workflows/pr-labeler.yml
vendored
@@ -4,12 +4,7 @@ on:
|
||||
pull_request_target:
|
||||
types: [opened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
# write permission is not required as FOSSIFYBOT_TOKEN is used
|
||||
|
||||
jobs:
|
||||
call-pr-labeler-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/pr-labeler.yml@main
|
||||
secrets:
|
||||
FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
secrets: inherit
|
||||
|
||||
11
.github/workflows/prepare-release-pr.yml
vendored
Normal file
11
.github/workflows/prepare-release-pr.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
name: Prepare Release PR
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [prepare-release]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
call-release-pr:
|
||||
uses: FossifyOrg/.github/.github/workflows/prepare-release-pr.yml@main
|
||||
secrets: inherit
|
||||
17
.github/workflows/release-commenter.yml
vendored
17
.github/workflows/release-commenter.yml
vendored
@@ -1,17 +0,0 @@
|
||||
name: Release Commenter
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: read
|
||||
pull-requests: read
|
||||
# write permission is not required as FOSSIFYBOT_TOKEN is used
|
||||
|
||||
jobs:
|
||||
call-release-commenter:
|
||||
uses: FossifyOrg/.github/.github/workflows/release-commenter.yml@main
|
||||
secrets:
|
||||
FOSSIFYBOT_TOKEN: ${{ secrets.FOSSIFYBOT_TOKEN }}
|
||||
17
.github/workflows/release.yml
vendored
Normal file
17
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- ".fossify/release-marker.txt"
|
||||
|
||||
jobs:
|
||||
call-release-workflow:
|
||||
name: Release
|
||||
uses: FossifyOrg/.github/.github/workflows/release.yml@main
|
||||
with:
|
||||
track: ${{ vars.GPLAY_TRACK || 'beta' }}
|
||||
rollout: ${{ vars.GPLAY_ROLLOUT || '0.05' }}
|
||||
validate_only: ${{ vars.GPLAY_DRY_RUN == 'true' }}
|
||||
secrets: inherit
|
||||
16
CHANGELOG.md
16
CHANGELOG.md
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.1.2] - 2025-06-06
|
||||
|
||||
### Changed
|
||||
|
||||
- Updated translations
|
||||
|
||||
### Fixed
|
||||
|
||||
- Clicking home screen app labels now works as expected ([#115])
|
||||
|
||||
## [1.1.1] - 2025-05-14
|
||||
|
||||
### Changed
|
||||
@@ -45,7 +55,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
- Initial release
|
||||
|
||||
[Unreleased]: https://github.com/FossifyOrg/Launcher/compare/1.1.1...HEAD
|
||||
[Unreleased]: https://github.com/FossifyOrg/Launcher/compare/1.1.2...HEAD
|
||||
[1.1.2]: https://github.com/FossifyOrg/Launcher/compare/1.1.1...1.1.2
|
||||
[1.1.1]: https://github.com/FossifyOrg/Launcher/compare/1.1.0...1.1.1
|
||||
[1.1.0]: https://github.com/FossifyOrg/Launcher/compare/1.0.1...1.1.0
|
||||
[1.0.1]: https://github.com/FossifyOrg/Launcher/compare/1.0.0...1.0.1
|
||||
@@ -56,4 +67,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
[#51]: https://github.com/FossifyOrg/Launcher/issues/51
|
||||
[#63]: https://github.com/FossifyOrg/Launcher/issues/63
|
||||
[#65]: https://github.com/FossifyOrg/Launcher/issues/65
|
||||
[#74]: https://github.com/FossifyOrg/Launcher/issues/74
|
||||
[#74]: https://github.com/FossifyOrg/Launcher/issues/74
|
||||
[#115]: https://github.com/FossifyOrg/Launcher/issues/115
|
||||
|
||||
@@ -26,11 +26,11 @@ android {
|
||||
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
|
||||
|
||||
defaultConfig {
|
||||
applicationId = libs.versions.app.version.appId.get()
|
||||
applicationId = project.property("APP_ID").toString()
|
||||
minSdk = project.libs.versions.app.build.minimumSDK.get().toInt()
|
||||
targetSdk = project.libs.versions.app.build.targetSDK.get().toInt()
|
||||
versionName = project.libs.versions.app.version.versionName.get()
|
||||
versionCode = project.libs.versions.app.version.versionCode.get().toInt()
|
||||
versionName = project.property("VERSION_NAME").toString()
|
||||
versionCode = project.property("VERSION_CODE").toString().toInt()
|
||||
setProperty("archivesBaseName", "launcher-$versionCode")
|
||||
ksp {
|
||||
arg("room.schemaLocation", "$projectDir/schemas")
|
||||
@@ -104,7 +104,7 @@ android {
|
||||
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
|
||||
}
|
||||
|
||||
namespace = libs.versions.app.version.appId.get()
|
||||
namespace = project.property("APP_ID").toString()
|
||||
|
||||
lint {
|
||||
checkReleaseBuilds = false
|
||||
|
||||
@@ -9,7 +9,6 @@ import android.appwidget.AppWidgetManager
|
||||
import android.appwidget.AppWidgetProviderInfo
|
||||
import android.content.Context
|
||||
import android.graphics.*
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
@@ -25,6 +24,7 @@ import android.view.View
|
||||
import android.view.animation.DecelerateInterpolator
|
||||
import android.view.animation.OvershootInterpolator
|
||||
import android.widget.RelativeLayout
|
||||
import androidx.core.graphics.createBitmap
|
||||
import androidx.core.graphics.drawable.toBitmap
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.graphics.toRect
|
||||
@@ -184,7 +184,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
item.drawable = item.toFolder().generateDrawable()
|
||||
} else if (item.type == ITEM_TYPE_SHORTCUT) {
|
||||
if (item.icon != null) {
|
||||
item.drawable = BitmapDrawable(item.icon)
|
||||
item.drawable = item.icon?.toDrawable(context.resources)
|
||||
} else {
|
||||
ensureBackgroundThread {
|
||||
context.homeScreenGridItemsDB.deleteById(item.id!!)
|
||||
@@ -546,7 +546,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
redrawIcons = true
|
||||
} else {
|
||||
val center = gridCenters.minBy {
|
||||
Math.abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + Math.abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
}
|
||||
|
||||
val gridCells = getClosestGridCells(center)
|
||||
@@ -778,7 +778,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
|
||||
private fun addWidget() {
|
||||
val center = gridCenters.minBy {
|
||||
Math.abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + Math.abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
}
|
||||
|
||||
val gridCells = getClosestGridCells(center)
|
||||
@@ -1175,7 +1175,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
// at first draw we are loading the widget from the database at some exact spot, not dragging it
|
||||
if (!isFirstDraw) {
|
||||
val center = gridCenters.minBy {
|
||||
Math.abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + Math.abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
abs(it.x - draggedItemCurrentCoords.first + sideMargins.left) + abs(it.y - draggedItemCurrentCoords.second + sideMargins.top)
|
||||
}
|
||||
|
||||
val gridCells = getClosestGridCells(center)
|
||||
@@ -1278,8 +1278,12 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
cell.top - iconMargin
|
||||
} + sideMargins.top
|
||||
}
|
||||
|
||||
return Rect(clickableLeft, clickableTop, clickableLeft + iconSize + 2 * iconMargin, clickableTop + iconSize + 2 * iconMargin)
|
||||
val additionalHeight = if (!item.docked) {
|
||||
// multiply line count by line height to get label height
|
||||
// we multiply all line heights by 2 so all widgets get the same clickable area and 2 is the max line count
|
||||
(2 * (textPaint.fontMetrics.bottom - textPaint.fontMetrics.top)).toInt()
|
||||
} else 0
|
||||
return Rect(clickableLeft, clickableTop, clickableLeft + iconSize + 2 * iconMargin, clickableTop + iconSize + 2 * iconMargin + additionalHeight)
|
||||
}
|
||||
|
||||
// drag the center of the widget, not the top left corner
|
||||
@@ -1635,7 +1639,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
return null
|
||||
}
|
||||
|
||||
val bitmap = Bitmap.createBitmap(iconSize, iconSize, Bitmap.Config.ARGB_8888)
|
||||
val bitmap = createBitmap(iconSize, iconSize)
|
||||
val canvas = Canvas(bitmap)
|
||||
val circlePath = Path().apply { addCircle((iconSize / 2).toFloat(), (iconSize / 2).toFloat(), (iconSize / 2).toFloat(), Path.Direction.CCW) }
|
||||
canvas.clipPath(circlePath)
|
||||
@@ -1654,7 +1658,7 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) : Rel
|
||||
newDrawable?.setBounds(drawableX, drawableY, drawableX + scaledIconSize.toInt(), drawableY + scaledIconSize.toInt())
|
||||
newDrawable?.draw(canvas)
|
||||
}
|
||||
return BitmapDrawable(resources, bitmap)
|
||||
return bitmap.toDrawable(resources)
|
||||
}
|
||||
|
||||
fun getDrawingRect(): RectF {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<string name="app_info">מידע על האפליקציה</string>
|
||||
<string name="touch_hold_widget">לחיצה ארוכה על הווידג\'ט וגרירה שלו במסך הראשי</string>
|
||||
<string name="uninstall">הסרה</string>
|
||||
<string name="hide_icon">החבא אייקון</string>
|
||||
<string name="hide_icon">הסתר אייקון</string>
|
||||
<string name="add_hidden_icons">הוסף אייקונים נסתרים</string>
|
||||
<string name="manage_hidden_icons">ניהול אייקונים נסתרים</string>
|
||||
<string name="hidden_icons">אייקונים נסתרים</string>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<string name="close_app_drawer_on_app_open">Fechar gaveta de aplicativos ao abrir um aplicativo</string>
|
||||
<string name="home_screen_settings">Tela inicial</string>
|
||||
<string name="widget_too_big">O widget é muito grande para o tamanho atual da tela inicial</string>
|
||||
<string name="app_launcher_name">Launcher</string>
|
||||
<string name="app_launcher_name">Fossify - Launcher</string>
|
||||
<string name="double_tap_to_lock">Toque duas vezes para bloquear a tela</string>
|
||||
<string name="lock_device_admin_hint">Para habilitar o recurso de toque duplo para bloquear a tela, você precisa conceder permissão de administrador. Observe que o aplicativo não pode ser desinstalado até que essa permissão seja removida.</string>
|
||||
<string name="lock_device_admin_warning">Desativar a permissão de administrador desabilitará o recurso de toque duplo para bloquear a tela.</string>
|
||||
|
||||
8
fastlane/metadata/android/en-US/changelogs/5.txt
Normal file
8
fastlane/metadata/android/en-US/changelogs/5.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Changed:
|
||||
|
||||
• Updated translations
|
||||
|
||||
Fixed:
|
||||
|
||||
• Clicking home screen app labels now works as expected
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
Fossify Launcher est votre passerelle vers une expérience d'écran d'accueil rapide, personnalisée et respectueuse de la vie privée. Pas de publicités, pas de surabondance, juste un lanceur fluide et efficace conçu pour s'adapter à votre style et à vos préférences uniques.<br><br>
|
||||
Le Lanceur Fossify est votre passerelle vers une expérience d'écran d'accueil rapide, personnalisée et respectueuse de la vie privée. Pas de publicités, pas de surabondance, juste un lanceur fluide et efficace conçu pour s'adapter à votre style et à vos préférences uniques.<br><br>
|
||||
<b>🚀 NAVIGATION ULTRA-RAPIDE :</b><br>
|
||||
Naviguez sur votre appareil avec rapidité et précision. Fossify Launcher est optimisé pour être réactif et fluide, vous donnant un accès instantané à vos applications préférées sans décalage.<br><br>
|
||||
Naviguez sur votre appareil avec rapidité et précision. Le Lanceur Fossify est optimisé pour être réactif et fluide, vous donnant un accès instantané à vos applications préférées sans décalage.<br><br>
|
||||
<b>🎨 PERSONNALISATION COMPLÈTE :</b><br>
|
||||
Personnalisez votre écran d'accueil avec des thèmes dynamiques, des couleurs personnalisées et des mises en page. Personnalisez votre lanceur en fonction de votre style avec des outils faciles à utiliser qui vous permettent de créer une configuration vraiment unique.<br><br>
|
||||
<b>🖼️ PRISE EN CHARGE COMPLÈTE DES WIDGETS :</b><br>
|
||||
Intégrez facilement des widgets entièrement redimensionnables. Que vous ayez besoin d'horloges, de calendriers ou d'autres outils pratiques, Fossify Launcher veille à ce qu'ils s'intègrent parfaitement dans la conception de votre écran d'accueil.<br><br>
|
||||
Intégrez facilement des widgets entièrement redimensionnables. Que vous ayez besoin d'horloges, de calendriers ou d'autres outils pratiques, le Lanceur Fossify veille à ce qu'ils s'intègrent parfaitement dans la conception de votre écran d'accueil.<br><br>
|
||||
<b>📱 PAS D'ENCOMBREMENT INDÉSIRABLE :</b><br>
|
||||
Gérez facilement vos applications en les masquant ou en les désinstallant en quelques clics, pour garder votre écran d'accueil organisé et sans encombrement.<br><br>
|
||||
<b>🔒 CONFIDENTIALITÉ ET SÉCURITÉ :</b><br>
|
||||
Votre vie privée est au cœur de Fossify Launcher. Sans accès à Internet et sans autorisations intrusives, vos données restent avec vous. Pas de suivi, pas de publicités : juste un lanceur conçu pour respecter votre vie privée.<br><br>
|
||||
Votre vie privée est au cœur du Lanceur Fossify. Sans accès à Internet et sans autorisations intrusives, vos données restent avec vous. Pas de suivi, pas de publicités : juste un lanceur conçu pour respecter votre vie privée.<br><br>
|
||||
<b>🌐 ASSURANCE OPEN SOURCE :</b><br>
|
||||
Fossify Launcher est construit sur une base open source, vous permettant de consulter notre code sur GitHub, favorisant la confiance et une communauté engagée en faveur de la confidentialité.<br><br>
|
||||
Trouvez votre équilibre entre vitesse, personnalisation et confidentialité avec Fossify Launcher.<br><br>
|
||||
Le Lanceur Fossify est construit sur une base open source, vous permettant de consulter notre code sur GitHub, favorisant la confiance et une communauté engagée en faveur de la confidentialité.<br><br>
|
||||
Trouvez votre équilibre entre vitesse, personnalisation et confidentialité avec le Lanceur Fossify.<br><br>
|
||||
Découvrez d'autres applications Fossify : https://www.fossify.org<br>
|
||||
Code open source : https://www.github.com/FossifyOrg<br>
|
||||
Rejoignez la communauté sur Reddit : https://www.reddit.com/r/Fossify<br>
|
||||
|
||||
18
fastlane/metadata/android/iw-IL/full_description.txt
Normal file
18
fastlane/metadata/android/iw-IL/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Fossify משגר הוא השער שלך לחווית מסך בית מהירה, מותאמת אישית ששומרת על פרטיותך. ללא פרסומות, בלי עומס – רק משגר חלק ויעיל שנועד להתאים לסגנון ולהעדפות הייחודיות שלך.<br><br>
|
||||
<b>🚀 ניווט מהיר כברק:</b><br>
|
||||
נווט במכשיר שלך במהירות ובדיוק. Fossify משגר מותאם להיות רספונסיבי וזורם, ומעניק לך גישה מיידית לאפליקציות המועדפות עליך ללא השהיה.<br><br>
|
||||
<b>🎨 התאמה אישית מלאה:</b><br>
|
||||
עצב את מסך הבית שלך עם ערכות נושא דינמיות, צבעים מותאמים אישית ופריסות. התאם אישית את המשגר שלך כדי להתאים לסגנון שלך באמצעות כלים קלים לשימוש המאפשרים לך ליצור הגדרה ייחודית באמת.<br><br>
|
||||
<b>🖼️ תמיכה מלאה בווידג'טים:</b><br>
|
||||
שלב ווידג'טים הניתנים לשינוי גודל בקלות. בין אם אתה צריך שעונים, לוחות שנה או כלים שימושיים אחרים, Fossify Launcher מבטיח שהם ישתלבו בצורה חלקה בעיצוב מסך הבית שלך.<br><br>
|
||||
<b>📱 ללא עומס מיותר:</b><br>
|
||||
נהל את האפליקציות שלך ללא מאמץ על ידי הסתרתן או הסרתן בכמה לחיצות בלבד, ושמור על מסך הבית שלך מאורגן ונקי מעומס.<br><br>
|
||||
<b>🔒 פרטיות ואבטחה:</b><br>
|
||||
הפרטיות שלך היא לב ליבו של Fossify Launcher. ללא גישה לאינטרנט וללא הרשאות חודרניות, הנתונים שלך נשארים איתך. ללא מעקב, ללא פרסומות – רק משגר שנבנה כדי לכבד את פרטיותך.<br><br>
|
||||
<b>🌐 הבטחה בקוד פתוח:</b><br>
|
||||
Fossify משגר בנוי על בסיס קוד פתוח, המאפשר לך לסקור את הקוד שלנו ב-GitHub, ומטפח אמון וקהילה המחויבת לפרטיות.<br><br>
|
||||
מצא את האיזון שלך בין מהירות, התאמה אישית ופרטיות עם Fossify Launcher.<br><br>
|
||||
חקור עוד אפליקציות Fossify: https://www.fossify.org<br>
|
||||
קוד פתוח: https://www.github.com/FossifyOrg<br>
|
||||
הצטרף לקהילה ב-Reddit: https://www.reddit.com/r/Fossify<br>
|
||||
התחבר בטלגרם: https://t.me/Fossify<br>
|
||||
1
fastlane/metadata/android/iw-IL/short_description.txt
Normal file
1
fastlane/metadata/android/iw-IL/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
התאם אישית את מסך הבית שלך עם משגר מהיר, ללא פרסומות, ובקוד פתוח
|
||||
19
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
19
fastlane/metadata/android/ru-RU/full_description.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Лаунчер Fossify — это ваш способ быстрого, персонализированного и приватному домашнему экрану. Без рекламы, никаких излишеств — просто плавный, эффективный лаунчер, разработанный с учётом вашего уникального стиля и предпочтений.<br><br>
|
||||
|
||||
<b>🚀 LIGHTNING-FAST NAVIGATION:</b><br>
|
||||
Navigate your device with speed and precision. Fossify Launcher is optimized to be responsive and fluid, giving you instant access to your favorite apps without lag.<br><br>
|
||||
<b>🎨 FULL CUSTOMIZATION:</b><br>
|
||||
Tailor your home screen with dynamic themes, custom colors, and layouts. Personalize your launcher to match your style with easy-to-use tools that let you create a truly unique setup.<br><br>
|
||||
<b>🖼️ COMPLETE WIDGET SUPPORT:</b><br>
|
||||
Integrate fully resizable widgets with ease. Whether you need clocks, calendars, or other handy tools, Fossify Launcher ensures they blend seamlessly into your home screen design.<br><br>
|
||||
<b>📱 NO UNWANTED CLUTTER:</b><br>
|
||||
Effortlessly manage your apps by hiding or uninstalling them in just a few taps, keeping your home screen organized and clutter-free.<br><br>
|
||||
<b>🔒 PRIVACY AND SECURITY:</b><br>
|
||||
Your privacy is at the heart of Fossify Launcher. With no internet access and no intrusive permissions, your data stays with you. No tracking, no ads – just a launcher built to respect your privacy.<br><br>
|
||||
<b>🌐 OPEN-SOURCE ASSURANCE:</b><br>
|
||||
Fossify Launcher is built on an open-source foundation, allowing you to review our code on GitHub, fostering trust and a community committed to privacy.<br><br>
|
||||
Find your balance of speed, customization, and privacy with Fossify Launcher.<br><br>
|
||||
Ознакомьтесь с другими приложениями от Fossify: https://www.fossify.org
|
||||
Исходный код: https://www.github.com/FossifyOrg
|
||||
Присоединяйтесь к сообществу на Reddit: https://www.reddit.com/r/Fossify
|
||||
Подключайтесь в Telegram: https://t.me/Fossify
|
||||
@@ -1 +1 @@
|
||||
Настройте свой домашний экран с быстрым лаунчером без рекламы с открытым исходным кодом
|
||||
Настройте домашний экран с быстрым, безрекламным и свободным лаунчером
|
||||
|
||||
@@ -3,3 +3,8 @@ android.useAndroidX=true
|
||||
android.nonTransitiveRClass=true
|
||||
|
||||
org.gradle.jvmargs=-Xmx4096M
|
||||
|
||||
# Versioning
|
||||
VERSION_NAME=1.1.2
|
||||
VERSION_CODE=5
|
||||
APP_ID=org.fossify.home
|
||||
|
||||
@@ -1,26 +1,22 @@
|
||||
[versions]
|
||||
#jetbrains
|
||||
kotlin = "1.9.25"
|
||||
kotlin = "2.1.21"
|
||||
#KSP
|
||||
ksp = "1.9.25-1.0.20"
|
||||
ksp = "2.1.21-2.0.1"
|
||||
#Detekt
|
||||
detekt = "1.23.3"
|
||||
detekt = "1.23.8"
|
||||
#Room
|
||||
room = "2.6.1"
|
||||
room = "2.7.1"
|
||||
#Fossify
|
||||
commons = "2.0.0"
|
||||
commons = "2.0.1"
|
||||
#Gradle
|
||||
gradlePlugins-agp = "8.10.0"
|
||||
gradlePlugins-agp = "8.10.1"
|
||||
#build
|
||||
app-build-compileSDKVersion = "34"
|
||||
app-build-targetSDK = "34"
|
||||
app-build-minimumSDK = "26"
|
||||
app-build-javaVersion = "VERSION_17"
|
||||
app-build-kotlinJVMTarget = "17"
|
||||
#versioning
|
||||
app-version-appId = "org.fossify.home"
|
||||
app-version-versionCode = "4"
|
||||
app-version-versionName = "1.1.1"
|
||||
[libraries]
|
||||
#Room
|
||||
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
|
||||
|
||||
Reference in New Issue
Block a user