mirror of
https://github.com/FossifyOrg/Launcher.git
synced 2025-12-24 08:08:58 -05:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34dcfa9b65 | ||
|
|
e162ec23d9 | ||
|
|
0d37825fa8 | ||
|
|
f18f65d634 | ||
|
|
c9977aee10 | ||
|
|
057111000f | ||
|
|
db082920c9 | ||
|
|
acc1f058d2 | ||
|
|
d3246d2cc4 | ||
|
|
01e8dede29 | ||
|
|
408f6b6e34 | ||
|
|
8d03b1818a | ||
|
|
755bc77aed | ||
|
|
40e1c28a15 | ||
|
|
7f053cc415 | ||
|
|
e1506df987 | ||
|
|
e284a7558d | ||
|
|
0004ad8659 | ||
|
|
13d6cd323e | ||
|
|
846783806e | ||
|
|
4e2366833d | ||
|
|
c23048664d | ||
|
|
2e8835489e | ||
|
|
5618cc1c74 | ||
|
|
707f2837fd | ||
|
|
6bcc43e276 | ||
|
|
add85b7e4c | ||
|
|
f627ba0bca | ||
|
|
03497fdbb2 | ||
|
|
ef103f94c4 | ||
|
|
79ea581bb7 | ||
|
|
94bfcd3f90 | ||
|
|
5b997ca666 | ||
|
|
b05fb2cc59 | ||
|
|
fcfb34d3c8 | ||
|
|
b2888dfa40 | ||
|
|
fd5af4becc | ||
|
|
666627150e | ||
|
|
4185eeeb31 | ||
|
|
65307abd46 | ||
|
|
b70e248b7b | ||
|
|
c90853cc3a | ||
|
|
1541be6bba | ||
|
|
ab7ded014d | ||
|
|
61c1179af0 | ||
|
|
55793591f1 | ||
|
|
c0acc69e11 | ||
|
|
014cfcac06 | ||
|
|
b06fa1a477 | ||
|
|
e3620f48af | ||
|
|
4d9ba1d241 | ||
|
|
dd86c458cb | ||
|
|
7aec205cc1 | ||
|
|
15d76036d7 | ||
|
|
b1088c705e | ||
|
|
cb3978dc0e | ||
|
|
7f7c455c34 | ||
|
|
c6a56fe300 | ||
|
|
33b4e01b8f | ||
|
|
d3d53b3212 | ||
|
|
aac21411a6 | ||
|
|
5d2c08d70c | ||
|
|
532f57c46d | ||
|
|
45a957e70a | ||
|
|
baa139f5d6 | ||
|
|
f6e6d89319 | ||
|
|
5ed097c6f1 | ||
|
|
57b1b13592 | ||
|
|
4f5103fb1b |
@@ -1,2 +1,2 @@
|
||||
# Auto-generated file. DO NOT EDIT.
|
||||
1.4.0
|
||||
1.7.0
|
||||
|
||||
5
.github/workflows/testing-build.yml
vendored
5
.github/workflows/testing-build.yml
vendored
@@ -2,9 +2,10 @@ name: Testing build (on PR)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
types: [ labeled, opened, synchronize, reopened ]
|
||||
branches: [main]
|
||||
types: [labeled, opened, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
call-testing-build-workflow:
|
||||
uses: FossifyOrg/.github/.github/workflows/testing-build.yml@main
|
||||
secrets: inherit
|
||||
|
||||
13
.github/workflows/update-commons.yml
vendored
Normal file
13
.github/workflows/update-commons.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
name: Update Fossify Commons
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [update-commons]
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 6 * * 0"
|
||||
|
||||
jobs:
|
||||
update-commons:
|
||||
uses: FossifyOrg/.github/.github/workflows/update-commons.yml@main
|
||||
secrets: inherit
|
||||
2
.github/workflows/update-lint-baselines.yml
vendored
2
.github/workflows/update-lint-baselines.yml
vendored
@@ -1,6 +1,8 @@
|
||||
name: Update lint baselines
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: [update-lint-baselines]
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0 1 * *"
|
||||
|
||||
28
CHANGELOG.md
28
CHANGELOG.md
@@ -6,6 +6,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.7.0] - 2025-12-16
|
||||
### Changed
|
||||
- Updated translations
|
||||
|
||||
### Fixed
|
||||
- Fixed invalid search results after opening and closing apps ([#100])
|
||||
|
||||
## [1.6.0] - 2025-11-30
|
||||
### Changed
|
||||
- Search now ignores accents and diacritics ([#282])
|
||||
- Updated translations
|
||||
|
||||
### Fixed
|
||||
- Fixed overlap between app drawer and status bar ([#277])
|
||||
|
||||
## [1.5.0] - 2025-10-29
|
||||
### Changed
|
||||
- Compatibility updates for Android 15 & 16
|
||||
- Updated translations
|
||||
|
||||
## [1.4.0] - 2025-09-12
|
||||
### Changed
|
||||
- Pressing home button on home screen now returns to the first page ([#170])
|
||||
@@ -78,14 +98,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
[#63]: https://github.com/FossifyOrg/Launcher/issues/63
|
||||
[#65]: https://github.com/FossifyOrg/Launcher/issues/65
|
||||
[#74]: https://github.com/FossifyOrg/Launcher/issues/74
|
||||
[#100]: https://github.com/FossifyOrg/Launcher/issues/100
|
||||
[#106]: https://github.com/FossifyOrg/Launcher/issues/106
|
||||
[#115]: https://github.com/FossifyOrg/Launcher/issues/115
|
||||
[#170]: https://github.com/FossifyOrg/Launcher/issues/170
|
||||
[#182]: https://github.com/FossifyOrg/Launcher/issues/182
|
||||
[#230]: https://github.com/FossifyOrg/Launcher/issues/230
|
||||
[#234]: https://github.com/FossifyOrg/Launcher/issues/234
|
||||
[#277]: https://github.com/FossifyOrg/Launcher/issues/277
|
||||
[#282]: https://github.com/FossifyOrg/Launcher/issues/282
|
||||
|
||||
[Unreleased]: https://github.com/FossifyOrg/Launcher/compare/1.4.0...HEAD
|
||||
[Unreleased]: https://github.com/FossifyOrg/Launcher/compare/1.7.0...HEAD
|
||||
[1.7.0]: https://github.com/FossifyOrg/Launcher/compare/1.6.0...1.7.0
|
||||
[1.6.0]: https://github.com/FossifyOrg/Launcher/compare/1.5.0...1.6.0
|
||||
[1.5.0]: https://github.com/FossifyOrg/Launcher/compare/1.4.0...1.5.0
|
||||
[1.4.0]: https://github.com/FossifyOrg/Launcher/compare/1.3.0...1.4.0
|
||||
[1.3.0]: https://github.com/FossifyOrg/Launcher/compare/1.2.0...1.3.0
|
||||
[1.2.0]: https://github.com/FossifyOrg/Launcher/compare/1.1.4...1.2.0
|
||||
|
||||
60
Gemfile.lock
60
Gemfile.lock
@@ -1,40 +1,40 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
CFPropertyList (3.0.8)
|
||||
abbrev (0.1.2)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
addressable (2.8.8)
|
||||
public_suffix (>= 2.0.2, < 8.0)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1116.0)
|
||||
aws-sdk-core (3.225.2)
|
||||
aws-partitions (1.1198.0)
|
||||
aws-sdk-core (3.240.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
bigdecimal
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
logger
|
||||
aws-sdk-kms (1.105.0)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sdk-kms (1.118.0)
|
||||
aws-sdk-core (~> 3, >= 3.239.1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.189.1)
|
||||
aws-sdk-core (~> 3, >= 3.225.0)
|
||||
aws-sdk-s3 (1.208.0)
|
||||
aws-sdk-core (~> 3, >= 3.234.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.3.0)
|
||||
base64 (0.2.0)
|
||||
bigdecimal (4.0.1)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
csv (3.3.5)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
@@ -54,14 +54,14 @@ GEM
|
||||
faraday-rack (~> 1.0)
|
||||
faraday-retry (~> 1.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-cookie_jar (0.0.7)
|
||||
faraday-cookie_jar (0.0.8)
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
http-cookie (>= 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.1.0)
|
||||
faraday-multipart (1.1.1)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
@@ -71,15 +71,18 @@ GEM
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.4.0)
|
||||
fastlane (2.228.0)
|
||||
fastlane (2.230.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
abbrev (~> 0.1.2)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
aws-sdk-s3 (~> 1.0)
|
||||
babosa (>= 1.0.3, < 2.0.0)
|
||||
base64 (~> 0.2.0)
|
||||
bundler (>= 1.12.0, < 3.0.0)
|
||||
colored (~> 1.2)
|
||||
commander (~> 4.6)
|
||||
csv (~> 3.3)
|
||||
dotenv (>= 2.1.1, < 3.0.0)
|
||||
emoji_regex (>= 0.1, < 4.0)
|
||||
excon (>= 0.71.0, < 1.0.0)
|
||||
@@ -97,9 +100,12 @@ GEM
|
||||
http-cookie (~> 1.0.5)
|
||||
json (< 3.0.0)
|
||||
jwt (>= 2.1.0, < 3)
|
||||
logger (>= 1.6, < 2.0)
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
mutex_m (~> 0.3.0)
|
||||
naturally (~> 2.2)
|
||||
nkf (~> 0.2.0)
|
||||
optparse (>= 0.1.1, < 1.0.0)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
@@ -160,37 +166,37 @@ GEM
|
||||
httpclient (2.9.0)
|
||||
mutex_m
|
||||
jmespath (1.6.2)
|
||||
json (2.12.2)
|
||||
jwt (2.10.1)
|
||||
json (2.18.0)
|
||||
jwt (2.10.2)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.18.0)
|
||||
multipart-post (2.4.1)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.3.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
optparse (0.8.1)
|
||||
os (1.1.4)
|
||||
plist (3.7.2)
|
||||
public_suffix (6.0.2)
|
||||
rake (13.3.0)
|
||||
public_suffix (7.0.0)
|
||||
rake (13.3.1)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.4.1)
|
||||
rexml (3.4.4)
|
||||
rouge (3.28.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.20.0)
|
||||
signet (0.21.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
jwt (>= 1.5, < 4.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
<ID>EmptyCatchBlock:WidgetsFragment.kt$WidgetsFragment${ }</ID>
|
||||
<ID>EmptyFunctionBlock:FolderIconsAdapter.kt$FolderIconsAdapter${}</ID>
|
||||
<ID>EmptyFunctionBlock:HiddenIconsAdapter.kt$HiddenIconsAdapter${}</ID>
|
||||
<ID>ForbiddenComment:AllAppsFragment.kt$AllAppsFragment$// TODO: Use WindowInsets API</ID>
|
||||
<ID>LargeClass:HomeScreenGrid.kt$HomeScreenGrid : RelativeLayout</ID>
|
||||
<ID>LargeClass:MainActivity.kt$MainActivity : SimpleActivityFlingListener</ID>
|
||||
<ID>LongMethod:HomeScreenGrid.kt$HomeScreenGrid$fun drawInto(canvas: Canvas)</ID>
|
||||
@@ -108,13 +107,7 @@
|
||||
<ID>NestedBlockDepth:MyAppWidgetResizeFrame.kt$MyAppWidgetResizeFrame$override fun onTouchEvent(event: MotionEvent?): Boolean</ID>
|
||||
<ID>NewLineAtEndOfFile:IconCache.kt$org.fossify.home.helpers.IconCache.kt</ID>
|
||||
<ID>NewLineAtEndOfFile:View.kt$org.fossify.home.extensions.View.kt</ID>
|
||||
<ID>ReturnCount:AllAppsFragment.kt$AllAppsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
|
||||
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid$fun isClickingGridItem(x: Int, y: Int): HomeScreenGridItem?</ID>
|
||||
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$fun generateDrawable(): Drawable?</ID>
|
||||
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenFolder$fun getDrawingRect(): RectF</ID>
|
||||
<ID>ReturnCount:HomeScreenGrid.kt$HomeScreenGrid.HomeScreenGridTouchHelper$override fun onPerformActionForVirtualView( virtualViewId: Int, action: Int, arguments: Bundle?, ): Boolean</ID>
|
||||
<ID>ReturnCount:MyAppWidgetHostView.kt$MyAppWidgetHostView$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
|
||||
<ID>ReturnCount:WidgetsFragment.kt$WidgetsFragment$override fun onInterceptTouchEvent(event: MotionEvent?): Boolean</ID>
|
||||
<ID>SwallowedException:Activity.kt$e: Exception</ID>
|
||||
<ID>SwallowedException:Context.kt$e: Error</ID>
|
||||
<ID>SwallowedException:Context.kt$e: Exception</ID>
|
||||
|
||||
@@ -41,17 +41,6 @@
|
||||
file="src/main/AndroidManifest.xml"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="OldTargetApi"
|
||||
message="Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the `android.os.Build.VERSION_CODES` javadoc for details."
|
||||
errorLine1="app-build-targetSDK = "34""
|
||||
errorLine2=" ~~~~">
|
||||
<location
|
||||
file="$HOME/work/Launcher/Launcher/gradle/libs.versions.toml"
|
||||
line="17"
|
||||
column="23"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="CustomSplashScreen"
|
||||
message="The application should not provide its own launch screen"
|
||||
@@ -76,7 +65,7 @@
|
||||
|
||||
<issue
|
||||
id="AndroidGradlePluginVersion"
|
||||
message="A newer version of com.android.application than 8.11.1 is available: 8.12.2"
|
||||
message="A newer version of com.android.application than 8.11.1 is available: 8.13.1. (There is also a newer version of 8.11.𝑥 available, if upgrading to 8.13.1 is difficult: 8.11.2)"
|
||||
errorLine1="gradlePlugins-agp = "8.11.1""
|
||||
errorLine2=" ~~~~~~~~">
|
||||
<location
|
||||
@@ -85,17 +74,6 @@
|
||||
column="21"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="GradleDependency"
|
||||
message="A newer version of `compileSdkVersion` than 34 is available: 36"
|
||||
errorLine1="app-build-compileSDKVersion = "34""
|
||||
errorLine2=" ~~~~">
|
||||
<location
|
||||
file="$HOME/work/Launcher/Launcher/gradle/libs.versions.toml"
|
||||
line="16"
|
||||
column="31"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="LockedOrientationActivity"
|
||||
message="Expecting `android:screenOrientation="unspecified"` or `"fullSensor"` for this activity so the user can use the application in any orientation and provide a great experience on Chrome OS devices"
|
||||
@@ -107,6 +85,17 @@
|
||||
column="13"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="NewerVersionAvailable"
|
||||
message="A newer version of io.nlopez.compose.rules:detekt than 0.4.28 is available: 0.5.1"
|
||||
errorLine1="detektCompose = "0.4.28""
|
||||
errorLine2=" ~~~~~~~~">
|
||||
<location
|
||||
file="$HOME/work/Launcher/Launcher/gradle/libs.versions.toml"
|
||||
line="8"
|
||||
column="17"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="DiscouragedApi"
|
||||
message="Fixed screen orientations will be ignored in most cases, starting from Android 16. Android is moving toward a model where apps are expected to adapt to various orientations, display sizes, and aspect ratios."
|
||||
@@ -120,7 +109,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
errorLine1=" <string name="app_launcher_name">Launcher_debug</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -131,7 +120,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
errorLine1=" <string name="app_launcher_name">Launcher</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -142,7 +131,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""launcher_settings" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
message=""launcher_settings" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="launcher_settings">Launcher Settings</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -153,7 +142,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""app_info" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""app_info" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="app_info">App info</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -164,7 +153,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""touch_hold_widget" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""touch_hold_widget" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="touch_hold_widget">Long press the widget and drag it on your home screen</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -175,7 +164,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""uninstall" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""uninstall" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="uninstall">Uninstall</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -186,7 +175,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""hide_icon" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""hide_icon" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="hide_icon">Hide icon</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -197,7 +186,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""add_hidden_icons" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""add_hidden_icons" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="add_hidden_icons">Add hidden icons</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -208,7 +197,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""manage_hidden_icons" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""manage_hidden_icons" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="manage_hidden_icons">Manage hidden icons</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -219,7 +208,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""hidden_icons" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""hidden_icons" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="hidden_icons">Hidden icons</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -230,7 +219,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""hidden_icons_placeholder" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""hidden_icons_placeholder" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "si" (Sinhala), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "bqi""
|
||||
errorLine1=" <string name="hidden_icons_placeholder">Some apps cannot be uninstalled due to system restrictions, but you can at least hide their icons to avoid seeing them.</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -241,7 +230,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""app_drawer_settings" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""app_drawer_settings" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="app_drawer_settings">App drawer</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -252,7 +241,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""close_app_drawer_on_app_open" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""close_app_drawer_on_app_open" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="close_app_drawer_on_app_open">Close app drawer on opening an app</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -263,7 +252,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""auto_show_keyboard_in_app_drawer" is not translated in "hi" (Hindi), "pt" (Portuguese), "fil" (Filipino; Pilipino), "lt" (Lithuanian), "hr" (Croatian), "lv" (Latvian), "hu" (Hungarian), "uk" (Ukrainian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "eo" (Esperanto), "is" (Icelandic), "it" (Italian), "my" (Burmese), "es" (Spanish), "iw" (Hebrew), "zh" (Chinese), "et" (Estonian), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nl" (Dutch), "nn" (Norwegian Nynorsk), "be" (Belarusian), "fi" (Finnish), "ru" (Russian), "bg" (Bulgarian), "bn" (Bangla), "fr" (French), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "ga" (Irish), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "sv" (Swedish), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb", "da" (Danish), "tr" (Turkish)"
|
||||
message=""auto_show_keyboard_in_app_drawer" is not translated in "hi" (Hindi), "fil" (Filipino; Pilipino), "hu" (Hungarian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
errorLine1=" <string name="auto_show_keyboard_in_app_drawer">Automatically show keyboard in drawer</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -274,7 +263,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""home_screen_settings" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""home_screen_settings" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="home_screen_settings">Home screen</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -285,7 +274,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""widget_too_big" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "da" (Danish)"
|
||||
message=""widget_too_big" is not translated in "fil" (Filipino; Pilipino), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "nb" (Norwegian Bokmål), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh)"
|
||||
errorLine1=" <string name="widget_too_big">Widget is too big for current home screen size</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -296,7 +285,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""double_tap_to_lock" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb", "da" (Danish)"
|
||||
message=""double_tap_to_lock" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
errorLine1=" <string name="double_tap_to_lock">Double tap to lock screen</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -307,7 +296,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""lock_device_admin_hint" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb", "da" (Danish)"
|
||||
message=""lock_device_admin_hint" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "bqi", "ckb""
|
||||
errorLine1=" <string name="lock_device_admin_hint">To enable the double tap to lock screen feature, you need to grant admin permission. Note that the app cannot be uninstalled until this permission is removed.</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -318,7 +307,7 @@
|
||||
|
||||
<issue
|
||||
id="MissingTranslation"
|
||||
message=""lock_device_admin_warning" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "lv" (Latvian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb", "da" (Danish)"
|
||||
message=""lock_device_admin_warning" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||
errorLine1=" <string name="lock_device_admin_warning">Deactivating admin permission will disable the double tap to lock screen feature.</string>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
@@ -565,28 +554,6 @@
|
||||
column="22"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="UseKtx"
|
||||
message="Use the KTX extension function `Int.toDrawable` instead?"
|
||||
errorLine1=" background = ColorDrawable(backgroundColor)"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/org/fossify/home/extensions/View.kt"
|
||||
line="31"
|
||||
column="18"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="UseKtx"
|
||||
message="Use the KTX extension function `Int.toDrawable` instead?"
|
||||
errorLine1=" background = ColorDrawable(backgroundColor)"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/org/fossify/home/extensions/View.kt"
|
||||
line="31"
|
||||
column="18"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="ClickableViewAccessibility"
|
||||
message="Custom view `MyAppWidgetHostView` overrides `onTouchEvent` but not `performClick`"
|
||||
@@ -627,7 +594,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/org/fossify/home/activities/SettingsActivity.kt"
|
||||
line="162"
|
||||
line="156"
|
||||
column="50"/>
|
||||
</issue>
|
||||
|
||||
@@ -638,7 +605,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/org/fossify/home/activities/SettingsActivity.kt"
|
||||
line="198"
|
||||
line="192"
|
||||
column="51"/>
|
||||
</issue>
|
||||
|
||||
@@ -649,7 +616,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="src/main/kotlin/org/fossify/home/activities/SettingsActivity.kt"
|
||||
line="224"
|
||||
line="218"
|
||||
column="54"/>
|
||||
</issue>
|
||||
|
||||
|
||||
@@ -21,18 +21,12 @@ class HiddenIconsActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
||||
private val binding by viewBinding(ActivityHiddenIconsBinding::inflate)
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(binding.root)
|
||||
updateIcons()
|
||||
|
||||
updateMaterialActivityViews(
|
||||
binding.manageHiddenIconsCoordinator,
|
||||
binding.manageHiddenIconsList,
|
||||
useTransparentNavigation = true,
|
||||
useTopSearchMenu = false
|
||||
)
|
||||
setupMaterialScrollListener(binding.manageHiddenIconsList, binding.manageHiddenIconsToolbar)
|
||||
setupEdgeToEdge(padBottomSystem = listOf(binding.manageHiddenIconsList))
|
||||
setupMaterialScrollListener(binding.manageHiddenIconsList, binding.manageHiddenIconsAppbar)
|
||||
|
||||
val layoutManager = binding.manageHiddenIconsList.layoutManager as MyGridLayoutManager
|
||||
layoutManager.spanCount = config.drawerColumnCount
|
||||
@@ -40,7 +34,7 @@ class HiddenIconsActivity : SimpleActivity(), RefreshRecyclerViewListener {
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
setupToolbar(binding.manageHiddenIconsToolbar, NavigationIcon.Arrow)
|
||||
setupTopAppBar(binding.manageHiddenIconsAppbar, NavigationIcon.Arrow)
|
||||
}
|
||||
|
||||
private fun updateIcons() {
|
||||
|
||||
@@ -38,8 +38,6 @@ import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.net.toUri
|
||||
import androidx.core.view.GestureDetectorCompat
|
||||
import androidx.core.view.WindowCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.core.view.WindowInsetsCompat.Type
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.iterator
|
||||
import androidx.viewbinding.ViewBinding
|
||||
@@ -135,11 +133,16 @@ class MainActivity : SimpleActivity(), FlingListener {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(binding.root)
|
||||
appLaunched(BuildConfig.APPLICATION_ID)
|
||||
setupEdgeToEdge(
|
||||
padTopSystem = listOf(binding.allAppsFragment.root, binding.widgetsFragment.root),
|
||||
padBottomImeAndSystem = listOf(
|
||||
binding.allAppsFragment.allAppsGrid, binding.widgetsFragment.widgetsList
|
||||
),
|
||||
padBottomSystem = listOf(binding.homeScreenGrid.root)
|
||||
)
|
||||
|
||||
mDetector = GestureDetectorCompat(this, MyGestureListener(this))
|
||||
|
||||
WindowCompat.setDecorFitsSystemWindows(window, false)
|
||||
|
||||
mScreenHeight = realScreenSize.y
|
||||
mAllAppsFragmentY = mScreenHeight
|
||||
mWidgetsFragmentY = mScreenHeight
|
||||
@@ -206,21 +209,11 @@ class MainActivity : SimpleActivity(), FlingListener {
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
wasJustPaused = false
|
||||
updateStatusbarColor(Color.TRANSPARENT)
|
||||
|
||||
with(binding.mainHolder) {
|
||||
onGlobalLayout {
|
||||
binding.allAppsFragment.root.setupViews()
|
||||
binding.widgetsFragment.root.setupViews()
|
||||
updateStatusbarColor(Color.TRANSPARENT)
|
||||
}
|
||||
|
||||
setOnApplyWindowInsetsListener { _, insets ->
|
||||
val windowInsets = WindowInsetsCompat.toWindowInsetsCompat(insets)
|
||||
val systemBarInsets = windowInsets.getInsets(Type.systemBars() or Type.ime())
|
||||
binding.allAppsFragment.root.setPadding(0, systemBarInsets.top, 0, 0)
|
||||
binding.widgetsFragment.root.setPadding(0, systemBarInsets.top, 0, 0)
|
||||
insets
|
||||
}
|
||||
}
|
||||
|
||||
@@ -246,11 +239,6 @@ class MainActivity : SimpleActivity(), FlingListener {
|
||||
refreshLaunchers()
|
||||
}
|
||||
|
||||
// avoid showing fully colored navigation bars
|
||||
if (window.navigationBarColor != resources.getColor(R.color.semitransparent_navigation)) {
|
||||
window.navigationBarColor = Color.TRANSPARENT
|
||||
}
|
||||
|
||||
binding.homeScreenGrid.root.resizeGrid(
|
||||
newRowCount = config.homeRowCount,
|
||||
newColumnCount = config.homeColumnCount
|
||||
@@ -274,19 +262,23 @@ class MainActivity : SimpleActivity(), FlingListener {
|
||||
wasJustPaused = true
|
||||
}
|
||||
|
||||
@SuppressLint("MissingSuperCall")
|
||||
override fun onBackPressed() {
|
||||
if (isAllAppsFragmentExpanded()) {
|
||||
override fun onBackPressedCompat(): Boolean {
|
||||
return if (isAllAppsFragmentExpanded()) {
|
||||
if (!binding.allAppsFragment.root.onBackPressed()) {
|
||||
hideFragment(binding.allAppsFragment)
|
||||
true
|
||||
} else {
|
||||
true
|
||||
}
|
||||
} else if (isWidgetsFragmentExpanded()) {
|
||||
hideFragment(binding.widgetsFragment)
|
||||
true
|
||||
} else if (binding.homeScreenGrid.resizeFrame.isVisible) {
|
||||
binding.homeScreenGrid.root.hideResizeLines()
|
||||
true
|
||||
} else {
|
||||
// this is a home launcher app, avoid glitching by pressing Back
|
||||
//super.onBackPressed()
|
||||
// this is a home launcher app, prevent back press from doing anything
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,7 +320,6 @@ class MainActivity : SimpleActivity(), FlingListener {
|
||||
super.onConfigurationChanged(newConfig)
|
||||
binding.allAppsFragment.root.onConfigurationChanged()
|
||||
binding.widgetsFragment.root.onConfigurationChanged()
|
||||
updateStatusbarColor(Color.TRANSPARENT)
|
||||
}
|
||||
|
||||
override fun onTouchEvent(event: MotionEvent?): Boolean {
|
||||
|
||||
@@ -31,23 +31,17 @@ class SettingsActivity : SimpleActivity() {
|
||||
|
||||
private val binding by viewBinding(ActivitySettingsBinding::inflate)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(binding.root)
|
||||
|
||||
updateMaterialActivityViews(
|
||||
mainCoordinatorLayout = binding.settingsCoordinator,
|
||||
nestedView = binding.settingsHolder,
|
||||
useTransparentNavigation = true,
|
||||
useTopSearchMenu = false
|
||||
)
|
||||
setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsToolbar)
|
||||
setupEdgeToEdge(padBottomSystem = listOf(binding.settingsNestedScrollview))
|
||||
setupMaterialScrollListener(binding.settingsNestedScrollview, binding.settingsAppbar)
|
||||
setupOptionsMenu()
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
setupToolbar(binding.settingsToolbar, NavigationIcon.Arrow)
|
||||
setupTopAppBar(binding.settingsAppbar, NavigationIcon.Arrow)
|
||||
refreshMenuItems()
|
||||
|
||||
setupCustomizeColors()
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package org.fossify.home.extensions
|
||||
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.graphics.drawable.LayerDrawable
|
||||
import android.view.RoundedCorner.POSITION_TOP_LEFT
|
||||
import android.view.RoundedCorner.POSITION_TOP_RIGHT
|
||||
import android.view.View
|
||||
import android.view.animation.AccelerateDecelerateInterpolator
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import org.fossify.commons.R
|
||||
import org.fossify.commons.extensions.applyColorFilter
|
||||
import org.fossify.commons.extensions.getProperBackgroundColor
|
||||
@@ -28,7 +28,7 @@ fun View.animateScale(
|
||||
|
||||
fun View.setupDrawerBackground() {
|
||||
val backgroundColor = context.getProperBackgroundColor()
|
||||
background = ColorDrawable(backgroundColor)
|
||||
background = backgroundColor.toDrawable()
|
||||
|
||||
val insets = rootWindowInsets
|
||||
if (isSPlus() && insets != null) {
|
||||
|
||||
@@ -4,22 +4,14 @@ import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.MotionEvent
|
||||
import android.view.Surface
|
||||
import android.view.WindowManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
||||
import org.fossify.commons.R
|
||||
import org.fossify.commons.extensions.beGone
|
||||
import org.fossify.commons.extensions.beVisibleIf
|
||||
import org.fossify.commons.extensions.getProperPrimaryColor
|
||||
import org.fossify.commons.extensions.getProperTextColor
|
||||
import org.fossify.commons.extensions.hideKeyboard
|
||||
import org.fossify.commons.extensions.navigationBarHeight
|
||||
import org.fossify.commons.extensions.navigationBarOnBottom
|
||||
import org.fossify.commons.extensions.navigationBarOnSide
|
||||
import org.fossify.commons.extensions.navigationBarWidth
|
||||
import org.fossify.commons.extensions.normalizeString
|
||||
import org.fossify.commons.helpers.isRPlus
|
||||
import org.fossify.commons.views.MyGridLayoutManager
|
||||
import org.fossify.home.activities.MainActivity
|
||||
import org.fossify.home.adapters.LaunchersAdapter
|
||||
@@ -146,9 +138,8 @@ class AllAppsFragment(
|
||||
val layoutManager = binding.allAppsGrid.layoutManager as MyGridLayoutManager
|
||||
layoutManager.spanCount = context.config.drawerColumnCount
|
||||
|
||||
var adapter = getAdapter()
|
||||
if (adapter == null) {
|
||||
adapter = LaunchersAdapter(activity!!, this) {
|
||||
if (getAdapter() == null) {
|
||||
LaunchersAdapter(activity!!, this) {
|
||||
activity?.launchApp((it as AppLauncher).packageName, it.activityName)
|
||||
if (activity?.config?.closeAppDrawer == true) {
|
||||
activity?.closeAppDrawer(delayed = true)
|
||||
@@ -161,7 +152,7 @@ class AllAppsFragment(
|
||||
}
|
||||
}
|
||||
|
||||
adapter.submitList(launchers.toMutableList())
|
||||
submitList(launchers.toMutableList())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,7 +170,7 @@ class AllAppsFragment(
|
||||
removeAt(position)
|
||||
}
|
||||
|
||||
getAdapter()?.submitList(launchers.toMutableList())
|
||||
submitList(launchers.toMutableList())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,39 +180,6 @@ class AllAppsFragment(
|
||||
}
|
||||
|
||||
binding.allAppsFastscroller.updateColors(context.getProperPrimaryColor())
|
||||
|
||||
var bottomListPadding = 0
|
||||
var leftListPadding = 0
|
||||
var rightListPadding = 0
|
||||
|
||||
// TODO: Use WindowInsets API
|
||||
if (activity!!.navigationBarOnBottom) {
|
||||
bottomListPadding = activity!!.navigationBarHeight
|
||||
leftListPadding = 0
|
||||
rightListPadding = 0
|
||||
} else if (activity!!.navigationBarOnSide) {
|
||||
bottomListPadding = 0
|
||||
|
||||
val display = if (isRPlus()) {
|
||||
display!!
|
||||
} else {
|
||||
(activity!!.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
|
||||
}
|
||||
|
||||
if (display.rotation == Surface.ROTATION_90) {
|
||||
rightListPadding = activity!!.navigationBarWidth
|
||||
} else if (display.rotation == Surface.ROTATION_270) {
|
||||
leftListPadding = activity!!.navigationBarWidth
|
||||
}
|
||||
}
|
||||
|
||||
binding.allAppsGrid.setPadding(
|
||||
0,
|
||||
0,
|
||||
resources.getDimension(R.dimen.medium_margin).toInt(),
|
||||
bottomListPadding
|
||||
)
|
||||
binding.allAppsFastscroller.setPadding(leftListPadding, 0, rightListPadding, 0)
|
||||
binding.allAppsGrid.addOnScrollListener(object : OnScrollListener() {
|
||||
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
|
||||
// Hiding is expensive, only do it if focused
|
||||
@@ -235,16 +193,12 @@ class AllAppsFragment(
|
||||
getAdapter()?.updateTextColor(context.getProperTextColor())
|
||||
|
||||
binding.searchBar.beVisibleIf(context.config.showSearchBar)
|
||||
binding.searchBar.getToolbar().beGone()
|
||||
binding.searchBar.requireToolbar().beGone()
|
||||
binding.searchBar.updateColors()
|
||||
binding.searchBar.setupMenu()
|
||||
|
||||
binding.searchBar.onSearchTextChangedListener = { query ->
|
||||
val filtered =
|
||||
launchers.filter { query.isEmpty() || it.title.contains(query, ignoreCase = true) }
|
||||
getAdapter()?.submitList(filtered) {
|
||||
showNoResultsPlaceholderIfNeeded()
|
||||
}
|
||||
binding.searchBar.onSearchTextChangedListener = {
|
||||
submitList(launchers)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,4 +242,20 @@ class AllAppsFragment(
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
private fun submitList(items: List<AppLauncher>) {
|
||||
val searchQuery = binding.searchBar.getCurrentQuery()
|
||||
val filtered = if (searchQuery.isNotEmpty()) {
|
||||
items.filter {
|
||||
it.title.normalizeString()
|
||||
.contains(searchQuery.normalizeString(), ignoreCase = true)
|
||||
}
|
||||
} else {
|
||||
items
|
||||
}
|
||||
|
||||
getAdapter()?.submitList(filtered) {
|
||||
showNoResultsPlaceholderIfNeeded()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,18 +9,11 @@ import android.content.pm.PackageManager
|
||||
import android.os.Process
|
||||
import android.util.AttributeSet
|
||||
import android.view.MotionEvent
|
||||
import android.view.Surface
|
||||
import android.view.WindowManager
|
||||
import org.fossify.commons.extensions.getProperPrimaryColor
|
||||
import org.fossify.commons.extensions.getProperTextColor
|
||||
import org.fossify.commons.extensions.navigationBarHeight
|
||||
import org.fossify.commons.extensions.navigationBarOnBottom
|
||||
import org.fossify.commons.extensions.navigationBarOnSide
|
||||
import org.fossify.commons.extensions.navigationBarWidth
|
||||
import org.fossify.commons.extensions.showErrorToast
|
||||
import org.fossify.commons.extensions.toast
|
||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||
import org.fossify.commons.helpers.isRPlus
|
||||
import org.fossify.home.R
|
||||
import org.fossify.home.activities.MainActivity
|
||||
import org.fossify.home.adapters.WidgetsAdapter
|
||||
@@ -232,33 +225,6 @@ class WidgetsFragment(context: Context, attributeSet: AttributeSet) :
|
||||
}
|
||||
|
||||
binding.widgetsFastscroller.updateColors(context.getProperPrimaryColor())
|
||||
|
||||
var bottomListPadding = 0
|
||||
var leftListPadding = 0
|
||||
var rightListPadding = 0
|
||||
|
||||
if (activity!!.navigationBarOnBottom) {
|
||||
bottomListPadding = activity!!.navigationBarHeight
|
||||
leftListPadding = 0
|
||||
rightListPadding = 0
|
||||
} else if (activity!!.navigationBarOnSide) {
|
||||
bottomListPadding = 0
|
||||
|
||||
val display = if (isRPlus()) {
|
||||
display!!
|
||||
} else {
|
||||
(activity!!.getSystemService(Context.WINDOW_SERVICE) as WindowManager).defaultDisplay
|
||||
}
|
||||
|
||||
if (display.rotation == Surface.ROTATION_90) {
|
||||
rightListPadding = activity!!.navigationBarWidth
|
||||
} else if (display.rotation == Surface.ROTATION_270) {
|
||||
leftListPadding = activity!!.navigationBarWidth
|
||||
}
|
||||
}
|
||||
|
||||
binding.widgetsList.setPadding(0, 0, 0, bottomListPadding)
|
||||
binding.widgetsFastscroller.setPadding(leftListPadding, 0, rightListPadding, 0)
|
||||
(binding.widgetsList.adapter as? WidgetsAdapter)?.updateTextColor(context.getProperTextColor())
|
||||
setupDrawerBackground()
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import androidx.core.graphics.toRect
|
||||
import androidx.core.graphics.withScale
|
||||
import androidx.core.graphics.withTranslation
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat.Type
|
||||
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat
|
||||
import androidx.customview.widget.ExploreByTouchHelper
|
||||
import com.google.android.material.math.MathUtils
|
||||
@@ -48,9 +49,7 @@ import org.fossify.commons.extensions.beVisible
|
||||
import org.fossify.commons.extensions.getContrastColor
|
||||
import org.fossify.commons.extensions.getProperBackgroundColor
|
||||
import org.fossify.commons.extensions.getProperTextColor
|
||||
import org.fossify.commons.extensions.navigationBarHeight
|
||||
import org.fossify.commons.extensions.performHapticFeedback
|
||||
import org.fossify.commons.extensions.statusBarHeight
|
||||
import org.fossify.commons.helpers.ensureBackgroundThread
|
||||
import org.fossify.commons.helpers.isSPlus
|
||||
import org.fossify.home.R
|
||||
@@ -189,13 +188,31 @@ class HomeScreenGrid(context: Context, attrs: AttributeSet, defStyle: Int) :
|
||||
style = Paint.Style.FILL
|
||||
}
|
||||
|
||||
val sideMargin =
|
||||
context.resources.getDimension(org.fossify.commons.R.dimen.normal_margin).toInt()
|
||||
sideMargins.apply {
|
||||
top = context.statusBarHeight
|
||||
bottom = context.navigationBarHeight
|
||||
left = sideMargin
|
||||
right = sideMargin
|
||||
ViewCompat.setOnApplyWindowInsetsListener(this) { _, insets ->
|
||||
val bars = insets.getInsets(Type.systemBars() or Type.displayCutout())
|
||||
val gestures = insets.getInsets(Type.systemGestures())
|
||||
val navIgnoring = insets.getInsetsIgnoringVisibility(Type.navigationBars())
|
||||
|
||||
val sideMargin = context.resources
|
||||
.getDimension(org.fossify.commons.R.dimen.normal_margin).toInt()
|
||||
|
||||
val newLeft = sideMargin + bars.left
|
||||
val newRight = sideMargin + bars.right
|
||||
val newTop = bars.top
|
||||
val newBottom = max(bars.bottom, max(gestures.bottom, navIgnoring.bottom))
|
||||
val marginsChanged = sideMargins.left != newLeft
|
||||
|| sideMargins.top != newTop
|
||||
|| sideMargins.right != newRight
|
||||
|| sideMargins.bottom != newBottom
|
||||
if (marginsChanged) {
|
||||
sideMargins.set(newLeft, newTop, newRight, newBottom)
|
||||
cells.clear()
|
||||
gridCenters.clear()
|
||||
isFirstDraw = true
|
||||
redrawGrid()
|
||||
}
|
||||
|
||||
insets
|
||||
}
|
||||
|
||||
fetchGridItems()
|
||||
|
||||
@@ -5,19 +5,26 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/manage_hidden_icons_toolbar"
|
||||
<org.fossify.commons.views.MyAppBarLayout
|
||||
android:id="@+id/manage_hidden_icons_appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/hidden_icons"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/manage_hidden_icons_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:title="@string/hidden_icons"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</org.fossify.commons.views.MyAppBarLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/manage_hidden_icons_wrapper"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="?attr/actionBarSize">
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<org.fossify.commons.views.MyRecyclerView
|
||||
android:id="@+id/manage_hidden_icons_list"
|
||||
|
||||
@@ -6,22 +6,29 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
<org.fossify.commons.views.MyAppBarLayout
|
||||
android:id="@+id/settings_appbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu_settings"
|
||||
app:title="@string/settings"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/settings_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="@color/color_primary"
|
||||
app:menu="@menu/menu_settings"
|
||||
app:title="@string/settings"
|
||||
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||
|
||||
</org.fossify.commons.views.MyAppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:id="@+id/settings_nested_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:fillViewport="true"
|
||||
android:scrollbars="none">
|
||||
android:scrollbars="none"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/settings_holder"
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
<org.fossify.commons.views.MySearchMenu
|
||||
android:id="@+id/search_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
app:applyWindowInsets="false" />
|
||||
|
||||
<com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
|
||||
android:id="@+id/all_apps_fastscroller"
|
||||
@@ -22,7 +23,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginStart="@dimen/smaller_margin"
|
||||
android:layout_marginEnd="0dp"
|
||||
android:layout_marginEnd="@dimen/smaller_margin"
|
||||
android:clipToPadding="false"
|
||||
app:layoutManager="org.fossify.commons.views.MyGridLayoutManager"
|
||||
app:spanCount="@integer/portrait_column_count" />
|
||||
|
||||
@@ -1,2 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_launcher_name">Launçer</string>
|
||||
<string name="launcher_settings">Launçer Parametrləri</string>
|
||||
<string name="app_info">Tətbiq haqqında</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_launcher_name">Лаунчар</string>
|
||||
</resources>
|
||||
|
||||
19
app/src/main/res/values-bqi/strings.xml
Normal file
19
app/src/main/res/values-bqi/strings.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_info">دووسمندیا برنومه</string>
|
||||
<string name="uninstall">پاک کردن پۊرنیڌن</string>
|
||||
<string name="app_launcher_name">لانچر</string>
|
||||
<string name="add_hidden_icons">ٱووردن آیکونا بؽڌاری</string>
|
||||
<string name="manage_hidden_icons">دؽوۉداری آیکونا بؽڌاری</string>
|
||||
<string name="hidden_icons">آیکونا بؽڌاری</string>
|
||||
<string name="hide_icon">بؽڌار کردن آیکون</string>
|
||||
<string name="app_drawer_settings">کشار برنومه</string>
|
||||
<string name="close_app_drawer_on_app_open">بستن کشار برنومه یل مجال گۊشیڌن ی برنومه</string>
|
||||
<string name="home_screen_settings">بلگه ٱسلی</string>
|
||||
<string name="widget_too_big">ویجت سی هندا بلگه هیم سکویی قلوه گپ هڌ</string>
|
||||
<string name="double_tap_to_lock">سی چفت کردن بلگه دو کرت بزݩ ریس</string>
|
||||
<string name="launcher_settings">سامووا لانچر</string>
|
||||
<string name="touch_hold_widget">دستته واڌارن ری ویجت وو هونه ری بلگه ٱسلی خوت بکش</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">نشووݩ داڌن خوتکار تخته کیلیت من کشار</string>
|
||||
<string name="lock_device_admin_warning">قیر فعال کردن دسرسی ٱدمین،</string>
|
||||
</resources>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_launcher_name">Spuštěč</string>
|
||||
<string name="app_launcher_name">Spouštěč</string>
|
||||
<string name="launcher_settings">Nastavení spouštěče</string>
|
||||
<string name="app_info">O aplikaci</string>
|
||||
<string name="touch_hold_widget">Widget dlouze stiskněte a přetáhněte jej na domovskou obrazovku</string>
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_launcher_name">Launcher</string>
|
||||
<string name="launcher_settings">Launcher Indstillinger</string>
|
||||
<string name="app_info">App info</string>
|
||||
<string name="launcher_settings">Launcher-indstillinger</string>
|
||||
<string name="app_info">Appinfo</string>
|
||||
<string name="touch_hold_widget">Tryk længe på widgetten, og træk den hen over din startskærm</string>
|
||||
<string name="uninstall">Afinstaller</string>
|
||||
<string name="hide_icon">Skjul ikon</string>
|
||||
<string name="add_hidden_icons">Tilføj skjulte ikoner</string>
|
||||
<string name="manage_hidden_icons">Administrer skjulte ikoner</string>
|
||||
<string name="hidden_icons">Skjulte ikoner</string>
|
||||
<string name="hidden_icons_placeholder">Nogle apps kan ikke afinstalleres på grund af systembegrænsninger, men du kan i det mindste skjule deres ikoner for at undgå at se dem.</string>
|
||||
<string name="hidden_icons_placeholder">Nogle apps kan ikke afinstalleres grundet systembegrænsninger, men du kan i det mindste skjule deres ikoner.</string>
|
||||
<string name="app_drawer_settings">App-skuffe</string>
|
||||
<string name="close_app_drawer_on_app_open">Luk app-skuffen, når du åbner en app</string>
|
||||
<string name="close_app_drawer_on_app_open">Luk app-skuffen, når en app åbnes</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">Vis automatisk tastatur i skuffen</string>
|
||||
<string name="home_screen_settings">Startskærm</string>
|
||||
<string name="widget_too_big">Widgeten er for stor til den nuværende størrelse på startskærmen</string>
|
||||
<string name="widget_too_big">Widgetten er for stor til den nuværende størrelse på startskærmen</string>
|
||||
<string name="double_tap_to_lock">Dobbelttryk for at låse skærmen</string>
|
||||
<string name="lock_device_admin_hint">For at aktivere funktionen dobbelttryk for at låse skærmen, skal du give administratortilladelse. Bemærk, at appen ikke kan afinstalleres, før denne tilladelse er fjernet.</string>
|
||||
<string name="lock_device_admin_hint">Du skal give administrator-tilladelse for at bruge dobbelttryk for at låse skærmen. Bemærk, at appen kan først afinstalleres, når tilladelsen er fjernet.</string>
|
||||
<string name="lock_device_admin_warning">Deaktivering af administratortilladelser vil deaktivere funktionen dobbelttryk for at låse skærmen.</string>
|
||||
</resources>
|
||||
|
||||
@@ -16,6 +16,6 @@
|
||||
<string name="home_screen_settings">Écran d\'accueil</string>
|
||||
<string name="lock_device_admin_hint">Pour activer la fonction de double appui pour verrouiller l\'écran, vous devez accorder l\'autorisation d\'administrateur. Notez que l\'application ne peut pas être désinstallée tant que cette autorisation n\'est pas supprimée.</string>
|
||||
<string name="lock_device_admin_warning">La désactivation de l\'autorisation d\'administrateur désactivera la fonction de double appui pour verrouiller l\'écran.</string>
|
||||
<string name="double_tap_to_lock">Appuyez deux fois pour verrouiller l\'écran</string>
|
||||
<string name="double_tap_to_lock">Appuyer deux fois pour verrouiller l\'écran</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">Afficher automatiquement le clavier du tiroir</string>
|
||||
</resources>
|
||||
|
||||
@@ -14,4 +14,6 @@
|
||||
<string name="close_app_drawer_on_app_open">アプリを開く際にドローワーを閉じる</string>
|
||||
<string name="home_screen_settings">ホーム画面</string>
|
||||
<string name="widget_too_big">ウィジェットが現在のホーム画面のサイズよりも大きいです</string>
|
||||
</resources>
|
||||
<string name="auto_show_keyboard_in_app_drawer">ドロワーを開いた際に自動的にキーボードを表示する</string>
|
||||
<string name="double_tap_to_lock">ダブルタップしてロック画面を表示する</string>
|
||||
</resources>
|
||||
|
||||
21
app/src/main/res/values-kab/strings.xml
Normal file
21
app/src/main/res/values-kab/strings.xml
Normal file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="hide_icon">Ffer tignit</string>
|
||||
<string name="uninstall">Kkes asbeddi</string>
|
||||
<string name="hidden_icons">Tignitin yeffren</string>
|
||||
<string name="hidden_icons_placeholder">Kra n yisnasen ur zmiren ara ad ttwakksen ɣef sebba n tlisa n unagraw, acukan tzemreḍ ad teffreḍ tignitin-nsen akken ur tent-twaliḍ ara.</string>
|
||||
<string name="app_drawer_settings">Leqjeṛ n usnas</string>
|
||||
<string name="close_app_drawer_on_app_open">Mdel leqjer n usnas deg ulday n usnas</string>
|
||||
<string name="home_screen_settings">Agdil agejdan</string>
|
||||
<string name="widget_too_big">Awiǧit meqqer aṭas i teɣzi n ugdil agejdan amiran</string>
|
||||
<string name="lock_device_admin_warning">Asexsi n usireg anedbal ad yekkes asiti-nni s snat n tikkal akken ad yeskweṛ tmahilt n ugdil.</string>
|
||||
<string name="app_launcher_name">Amsekkar</string>
|
||||
<string name="launcher_settings">Iɣewwaṛen n umsekkar</string>
|
||||
<string name="app_info">Talɣut n usnas</string>
|
||||
<string name="touch_hold_widget">Sit aɣezfan ɣef uwiǧit, syin zuɣer-it deg ugdil-ik-im agejdan</string>
|
||||
<string name="add_hidden_icons">Rnu tignitin yeffren</string>
|
||||
<string name="manage_hidden_icons">Sefrek tignitin yeffren</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">Sken s wudem awurman anasiw deg leqjer</string>
|
||||
<string name="double_tap_to_lock">Sit snat n tikkal akken ad tsekkṛeḍ agdil</string>
|
||||
<string name="lock_device_admin_hint">Akken ad tremdeḍ asiti n snat tikal i tmahilt n usekkeṛ n ugdil, yessefk ad tged assireg n unebdal. Ger tamawt dakken asnas-nni ur yezmir ara ad yettwakkes arma yettwakkes ussireg-a.</string>
|
||||
</resources>
|
||||
@@ -1,3 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
<string name="app_launcher_name">Paleidyklė</string>
|
||||
<string name="launcher_settings">Paleidyklės nustatymai</string>
|
||||
<string name="app_info">Programos informacija</string>
|
||||
<string name="touch_hold_widget">Ilgai paspauskite valdiklį ir nutempkite jį į pradžios ekraną.</string>
|
||||
<string name="uninstall">Išdiegti</string>
|
||||
<string name="hide_icon">Slėpti piktogramą</string>
|
||||
<string name="add_hidden_icons">Įtraukti paslėptas piktogramas</string>
|
||||
<string name="manage_hidden_icons">Tvarkyti paslėptas piktogramas</string>
|
||||
<string name="hidden_icons">Paslėptos piktogramos</string>
|
||||
<string name="hidden_icons_placeholder">Kai kurios programos negali būti išdiegtos dėl sistemos apribojimų, bet galite bent jau paslėpti piktogramas, kad jų nematytumėte.</string>
|
||||
<string name="app_drawer_settings">Programų sąrašas</string>
|
||||
<string name="close_app_drawer_on_app_open">Užverti programų sąrašą atvėrus programą</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">Automatiškai rodyti klaviatūrą sąraše</string>
|
||||
<string name="home_screen_settings">Pradžios ekranas</string>
|
||||
<string name="widget_too_big">Valdiklis per didelis dabartiniam pradžios ekrano dydžiui.</string>
|
||||
<string name="double_tap_to_lock">Dukart paliesti norint užrakinti ekraną</string>
|
||||
<string name="lock_device_admin_hint">Kad įjungtumėte dvigubo palietimo ekrano užrakinimo funkciją, turite suteikti administratoriaus leidimą. Atkreipkite dėmesį, kad programos negalima išdiegtas, kol šis leidimas bus pašalintas.</string>
|
||||
<string name="lock_device_admin_warning">Išjungus administratoriaus leidimą, bus išjungta dvigubo palietimo ekrano užrakinimo funkcija.</string>
|
||||
</resources>
|
||||
|
||||
@@ -10,4 +10,12 @@
|
||||
<string name="manage_hidden_icons">Управљајте скривеним иконама</string>
|
||||
<string name="hidden_icons">Скривене иконе</string>
|
||||
<string name="hidden_icons_placeholder">Неке апликације се не могу деинсталирати због системских ограничења, али можете барем сакрити њихове иконе да их не видите.</string>
|
||||
<string name="close_app_drawer_on_app_open">Затвори фиоку апликација по отварању апликација</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">Аутоматски показуј тастатуру у фиоци</string>
|
||||
<string name="home_screen_settings">Почетни екран</string>
|
||||
<string name="widget_too_big">Виџет не може стати на почетни екран</string>
|
||||
<string name="app_drawer_settings">Фиока апликација</string>
|
||||
<string name="double_tap_to_lock">Двапут додирните за закључавање екрана</string>
|
||||
<string name="lock_device_admin_hint">Да бисте омогућили функцију \"двапут додирните за закључавање екрана\", морате дати администраторску дозволу. Апликацију није могуће обрисати док се дозвола не уклони.</string>
|
||||
<string name="lock_device_admin_warning">Уклањање администраторске дозволе онемогућиће функцију двоструког додира за закључавање екрана.</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,2 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
<resources>
|
||||
<string name="app_launcher_name">啟動器</string>
|
||||
<string name="launcher_settings">啟動器設定</string>
|
||||
<string name="app_info">應用程式資訊</string>
|
||||
<string name="touch_hold_widget">長按小工具並將其拖曳至你的主畫面</string>
|
||||
<string name="uninstall">解除安裝</string>
|
||||
<string name="hide_icon">隱藏圖示</string>
|
||||
<string name="add_hidden_icons">新增隱藏圖示</string>
|
||||
<string name="manage_hidden_icons">管理隱藏圖示</string>
|
||||
<string name="hidden_icons">隱藏圖示</string>
|
||||
<string name="hidden_icons_placeholder">由於系統限制,部分應用程式無法被移除,但您至少可以隱藏其圖示,避免看到它們。</string>
|
||||
<string name="app_drawer_settings">應用程式抽屜</string>
|
||||
<string name="close_app_drawer_on_app_open">開啟應用程式時關閉應用程式抽屜</string>
|
||||
<string name="auto_show_keyboard_in_app_drawer">自動在抽屜中顯示鍵盤</string>
|
||||
<string name="home_screen_settings">主畫面</string>
|
||||
<string name="widget_too_big">小工具對於目前主畫面大小來說太大</string>
|
||||
<string name="double_tap_to_lock">輕觸兩下以鎖定螢幕</string>
|
||||
<string name="lock_device_admin_hint">要啟用輕觸兩下以鎖定螢幕的功能,您必須授予管理權限。請注意,在移除此權限前,無法解除安裝應用程式。</string>
|
||||
<string name="lock_device_admin_warning">停用管理權限將會停用輕觸兩下以鎖定螢幕的功能。</string>
|
||||
</resources>
|
||||
|
||||
@@ -40,6 +40,11 @@ style:
|
||||
maxLineLength: 120
|
||||
excludePackageStatements: true
|
||||
excludeImportStatements: true
|
||||
ReturnCount:
|
||||
active: true
|
||||
max: 4
|
||||
excludeGuardClauses: true
|
||||
excludes: ["**/test/**", "**/androidTest/**"]
|
||||
|
||||
naming:
|
||||
FunctionNaming:
|
||||
|
||||
5
fastlane/metadata/android/en-US/changelogs/11.txt
Normal file
5
fastlane/metadata/android/en-US/changelogs/11.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Changed:
|
||||
|
||||
• Compatibility updates for Android 15 & 16
|
||||
• Updated translations
|
||||
|
||||
9
fastlane/metadata/android/en-US/changelogs/12.txt
Normal file
9
fastlane/metadata/android/en-US/changelogs/12.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Changed:
|
||||
|
||||
• Search now ignores accents and diacritics
|
||||
• Updated translations
|
||||
|
||||
Fixed:
|
||||
|
||||
• Fixed overlap between app drawer and status bar
|
||||
|
||||
8
fastlane/metadata/android/en-US/changelogs/13.txt
Normal file
8
fastlane/metadata/android/en-US/changelogs/13.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Changed:
|
||||
|
||||
• Updated translations
|
||||
|
||||
Fixed:
|
||||
|
||||
• Fixed invalid search results after opening and closing apps
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
Лаунчер 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
|
||||
Лаунчер Fossify – это ваш быстрый, персонализируемый и приватный домашний экран. Никакой рекламы, никаких излишеств – только плавный и быстрый лаунчер, разработанный специально для вас.<br><br>
|
||||
<b>🚀 БЫСТРАЯ НАВИГАЦИЯ:</b><br>
|
||||
Точно и быстро ориентируйтесь по экрану. Лаунчер оптимизирован быть отзывчивым и плавным, предоставляя быстрый доступ к приложениям.<br><br>
|
||||
<b>🎨 ПОЛНАЯ КАСТОМИЗАЦИЯ:</b><br>
|
||||
Украсьте свой экран динамическими темами, цветами и раскладками. Вы можете настроить лаунчер с помощью простых инструментов, создав свой уникальный дизайн.<br><br>
|
||||
<b>🖼️ ПОЛНАЯ ПОДДЕРЖКА ВИДЖЕТОВ:</b><br>
|
||||
Легко вставляйте настраиваемые виджеты – часы, календарь или другие инструменты. Лаунчер красиво впишет их в ваш дизайн.<br><br>
|
||||
<b>📱 ЧИСТОТА И ОРГАНИЗАЦИЯ:</b><br>
|
||||
Легко управляйте приложениями, скрывая или удаляя их в пару нажатий. Экран остаётся в чистоте и порядке.<br><br>
|
||||
<b>🔒 ПРИВАТНОСТЬ И БЕЗОПАСНОСТЬ:</b><br>
|
||||
Ваша приватность – это сердце лаунчера. В нем нет навязчивых разрешений или нужды в интернете, ваши данные остаются при вас. Ни трекеров, ни рекламы, только ваш приватный лаунчер.<br><br>
|
||||
<b>🌐 ОТКРЫТЫЙ ИСХОДНЫЙ КОД:</b><br>
|
||||
Лаунчер Fossify свободный, что позволяет вам изучить его исходный код на GitHub, чтобы удостовериться в его безопасности.<br><br>
|
||||
Найдите свой баланс скорости, красочности и приватности с лаунчером Fossify.<br><br>
|
||||
Ознакомьтесь с другими приложениями от Fossify: https://www.fossify.org<br>
|
||||
Исходный код: https://www.github.com/FossifyOrg<br>
|
||||
Присоединяйтесь к сообществу на Reddit: https://www.reddit.com/r/Fossify<br>
|
||||
Подключайтесь в Telegram: https://t.me/Fossify<br>
|
||||
|
||||
18
fastlane/metadata/android/zh-HK/full_description.txt
Normal file
18
fastlane/metadata/android/zh-HK/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Fossify Launcher 是你通往快速、個人化及私隱至上的主畫面體驗的門戶。無廣告,無臃腫 – 只是一個流暢、高效的啟動器,專為滿足你獨特的風格和偏好而設計。<br><br>
|
||||
<b>🚀 閃電般的快速導航:</b><br>
|
||||
快速、精確地導航你的裝置。 Fossify Launcher 經過優化,反應靈敏且流暢,讓你可即時存取你喜愛的應用程式,無任何延遲。<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 Launcher 基於開源平台構建,你可在 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>
|
||||
透過 Telegram 連接:https://t.me/Fossify<br>
|
||||
1
fastlane/metadata/android/zh-HK/short_description.txt
Normal file
1
fastlane/metadata/android/zh-HK/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
使用快速、無廣告、開源啟動器自訂你的主畫面
|
||||
18
fastlane/metadata/android/zh-TW/full_description.txt
Normal file
18
fastlane/metadata/android/zh-TW/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Fossify Launcher 是您通往快速、個人化和隱私第一的主螢幕體驗的門戶。無廣告,無臃腫 – 只是一個流暢、高效的啟動器,專為滿足您獨特的風格和偏好而設計。<br><br>
|
||||
<b>🚀 閃電般的快速導航:</b><br>
|
||||
快速、精確地導航您的裝置。 Fossify Launcher 經過優化,反應靈敏且流暢,讓您可以即時訪問您喜愛的應用程序,不會出現延遲。<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 Launcher 基於開源基礎構建,可讓您在 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>
|
||||
透過 Telegram 連接:https://t.me/Fossify<br>
|
||||
@@ -1 +1 @@
|
||||
使用快速、無廣告、且開源的啟動器自訂您的主畫面
|
||||
使用快速、無廣告、開源啟動器自訂你的主畫面
|
||||
|
||||
@@ -5,6 +5,6 @@ android.nonTransitiveRClass=true
|
||||
org.gradle.jvmargs=-Xmx4096M
|
||||
|
||||
# Versioning
|
||||
VERSION_NAME=1.4.0
|
||||
VERSION_CODE=10
|
||||
VERSION_NAME=1.7.0
|
||||
VERSION_CODE=13
|
||||
APP_ID=org.fossify.home
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
[versions]
|
||||
#jetbrains
|
||||
kotlin = "2.2.20"
|
||||
kotlin = "2.2.21"
|
||||
#KSP
|
||||
ksp = "2.2.20-2.0.3"
|
||||
ksp = "2.3.4"
|
||||
#Detekt
|
||||
detekt = "1.23.8"
|
||||
detektCompose = "0.4.27"
|
||||
detektCompose = "0.4.28"
|
||||
#Room
|
||||
room = "2.8.0"
|
||||
room = "2.8.4"
|
||||
#Fossify
|
||||
commons = "5.0.2"
|
||||
commons = "5.12.0"
|
||||
#Gradle
|
||||
gradlePlugins-agp = "8.11.1"
|
||||
#build
|
||||
app-build-compileSDKVersion = "34"
|
||||
app-build-targetSDK = "34"
|
||||
app-build-compileSDKVersion = "36"
|
||||
app-build-targetSDK = "36"
|
||||
app-build-minimumSDK = "26"
|
||||
app-build-javaVersion = "VERSION_17"
|
||||
app-build-kotlinJVMTarget = "17"
|
||||
|
||||
@@ -11,6 +11,7 @@ dependencyResolutionManagement {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { setUrl("https://jitpack.io") }
|
||||
mavenLocal()
|
||||
}
|
||||
}
|
||||
include(":app")
|
||||
|
||||
Reference in New Issue
Block a user