Compare commits

...
Author SHA1 Message Date
Sylvia van Os 3aad062e3d Merge pull request #1751 from CatimaLoyalty/create-pull-request/patch-1708269529
Update feature graphic
2024-02-18 16:20:47 +01:00
TheLastProject dd09d0e130 Update feature graphic 2024-02-18 15:18:49 +00:00
Sylvia van Os 0de1fcbe9b Fix some failing feature graphic generations 2024-02-18 16:17:11 +01:00
Sylvia van Os 2b8214e144 Merge branch 'main' of github.com:CatimaLoyalty/Android 2024-02-18 14:20:08 +01:00
Sylvia van Os 0300aaa850 chmod +x generate_feature_graphic.sh 2024-02-18 14:19:58 +01:00
Sylvia van Os 2605372e5d Merge pull request #1742 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-18 14:16:32 +01:00
Vietto 72b09506dc Translated using Weblate (Vietnamese)
Currently translated at 2.2% (3 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2024-02-18 13:54:28 +01:00
Hosted Weblate 14b42e8980 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/
2024-02-18 13:54:28 +01:00
Sylvia van Os 7c25bb9b79 Translated using Weblate (Kannada)
Currently translated at 16.0% (21 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/kn/
2024-02-18 13:54:28 +01:00
Sylvia van Os f3b2e1e1ac Translated using Weblate (Vietnamese)
Currently translated at 1.5% (2 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2024-02-18 13:54:28 +01:00
Vietto ef4ad0e197 Translated using Weblate (Vietnamese)
Currently translated at 1.5% (2 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2024-02-18 13:54:28 +01:00
Vietto 34d8331c50 Translated using Weblate (Vietnamese)
Currently translated at 99.6% (300 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-02-18 13:54:28 +01:00
Sylvia van Os 8430dff21c Translated using Weblate (Romanian)
Currently translated at 1.5% (2 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ro/
2024-02-18 13:54:28 +01:00
Sylvia van Os ba87ee739e Merge pull request #1740 from CatimaLoyalty/feature/nudge_away_manual_entry
Nudge users away from manual entry
2024-02-18 11:34:53 +01:00
Sylvia van Os 41503f912f Nudge users away from manual entry
Manual entry is an useful feature for when you don't have a card to
access. However, some stores use a different card ID than barcode value,
causing users to create cards that won't work.

While I don't want to completely remove this feature, I think it is
helpful to nudge users towards scanning with the camera if possible to
reduce the risk of creating cards that won't work.
2024-02-18 11:28:09 +01:00
Sylvia van Os fd396b8fc7 Merge pull request #1741 from CatimaLoyalty/create-pull-request/patch-1708229608
Update contributors
2024-02-18 09:09:54 +01:00
TheLastProject 2abc8b8f64 Update contributors 2024-02-18 04:13:27 +00:00
Sylvia van Os 160e61ead4 Merge pull request #1739 from CatimaLoyalty/create-pull-request/patch-1708173432
Update Fastlane changelogs
2024-02-17 13:54:46 +01:00
TheLastProject c2e8577674 Update Fastlane changelogs 2024-02-17 12:37:12 +00:00
Sylvia van Os 66b8f35994 Merge pull request #1738 from CatimaLoyalty/feature/tweak_photos_tab_edit_view
Improve layout of photos tab in card edit view
2024-02-17 13:37:01 +01:00
Sylvia van Os b141009350 Improve layout of photos tab in card edit view 2024-02-17 13:30:01 +01:00
Sylvia van Os 0e8dd2fd64 Merge pull request #1737 from CatimaLoyalty/create-pull-request/patch-1708164520
Update Fastlane changelogs
2024-02-17 11:10:38 +01:00
TheLastProject 988336cfec Update Fastlane changelogs 2024-02-17 10:08:39 +00:00
Sylvia van Os 5e3668820b Merge pull request #1736 from CatimaLoyalty/feature/open_card_icon_in_gallery
Open card icon in gallery on touch
2024-02-17 11:08:27 +01:00
Sylvia van Os 81c919448e Open card icon in gallery on touch
If a card icon exists, open it in the gallery, like is done with photos.

While the intended behaviour was for users to use the card icon only as
a general... icon and use the photos tab in the card edit screen to set
photos, a 2 star review I just got on Google Play makes it clear some
people put pictures in there they want to be able to zoom.

While the usage seems limited, as icons are quite small, a simple tap
wasn't bound to anything except telling the user to long-press anyway so
this was very easy to add and felt logical enough to support for
consistency with photos.
2024-02-17 10:53:54 +01:00
Sylvia van Os 23ca0802cb Merge pull request #1735 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-14 17:56:00 +01:00
ikanakova 40c2337054 Translated using Weblate (Czech)
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2024-02-14 12:26:24 +01:00
Sylvia van Os 7db8b1602d Merge pull request #1734 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.1
Bump actions/upload-artifact from 4.3.0 to 4.3.1
2024-02-12 06:55:09 +01:00
dependabot[bot] 32b35382a6 Bump actions/upload-artifact from 4.3.0 to 4.3.1
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.0...v4.3.1)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 02:30:41 +00:00
Sylvia van Os 3ec6cbe416 Merge pull request #1733 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-11 11:40:57 +01:00
ngocanhtve 90322f75ce Translated using Weblate (Vietnamese)
Currently translated at 99.6% (300 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-02-10 17:02:07 +01:00
Sylvia van Os 534c4001c1 Merge pull request #1732 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-09 17:53:17 +01:00
IllusiveMan196 e21030aed3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-02-09 00:55:55 +01:00
IllusiveMan196 d6d12174d5 Translated using Weblate (Ukrainian)
Currently translated at 99.6% (300 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-02-09 00:55:55 +01:00
Sylvia van Os 27e78dbadd Merge pull request #1731 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-08 18:12:15 +01:00
gallegonovato 0d520b48e1 Translated using Weblate (Spanish)
Currently translated at 46.5% (61 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2024-02-08 04:47:03 +01:00
Sylvia van Os d7a49013ec Merge pull request #1730 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-07 19:42:07 +01:00
akinobu nishi fc974e2038 Translated using Weblate (Japanese)
Currently translated at 78.4% (236 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-07 19:37:21 +01:00
Nikita Karamov 7144f60340 Translated using Weblate (German)
Currently translated at 91.6% (120 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-02-07 19:37:21 +01:00
J. Lavoie 883af7fd10 Translated using Weblate (French)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-02-07 19:37:21 +01:00
Sylvia van Os fcb2be604c Optimize imports 2024-02-07 19:27:18 +01:00
Sylvia van Os d24366a3ba Workaround import/export crash by locking orientation
While https://github.com/CatimaLoyalty/Android/issues/513 needs to be
fixed, this at very least prevents a crash with only mild user
inconvenience in a not commonly used activity
2024-02-07 19:18:46 +01:00
Sylvia van Os a0aa19f26f Merge pull request #1729 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-06 19:20:38 +01:00
richard01000 589f009a65 Translated using Weblate (Romanian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2024-02-06 15:01:54 +01:00
Sylvia van Os e849fd379e Merge pull request #1728 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-05 19:19:17 +01:00
Sylvia van Os e28c5e877b Merge pull request #1727 from CatimaLoyalty/dependabot/github_actions/peter-evans/create-pull-request-6.0.0
Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
2024-02-05 19:04:48 +01:00
Sylvia van Os ae90b46c05 Merge pull request #1726 from CatimaLoyalty/dependabot/github_actions/gradle/wrapper-validation-action-2
Bump gradle/wrapper-validation-action from 1 to 2
2024-02-05 19:04:26 +01:00
Scrambled777 a8a1158b4b Translated using Weblate (Hindi)
Currently translated at 92.3% (121 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:25:13 +01:00
Scrambled777 8789be5340 Translated using Weblate (Hindi)
Currently translated at 88.5% (116 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:22:27 +01:00
Scrambled777 93af3dbc36 Translated using Weblate (Hindi)
Currently translated at 87.7% (115 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2024-02-05 09:22:27 +01:00
Scrambled777 96c111f0c8 Translated using Weblate (Hindi)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2024-02-05 09:22:27 +01:00
reimu105 89dca33ce8 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2024-02-05 09:22:27 +01:00
dependabot[bot] f9f1149bb5 Bump peter-evans/create-pull-request from 5.0.2 to 6.0.0
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5.0.2 to 6.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5.0.2...v6.0.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 02:21:12 +00:00
dependabot[bot] cfd5fbe3ae Bump gradle/wrapper-validation-action from 1 to 2
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1 to 2.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 02:21:10 +00:00
Sylvia van Os 028905df42 Merge pull request #1725 from CatimaLoyalty/create-pull-request/patch-1707019984
Update contributors
2024-02-04 09:33:52 +01:00
TheLastProject 3dd74fd674 Update contributors 2024-02-04 04:13:04 +00:00
Sylvia van Os 0af9549d02 Merge pull request #1724 from CatimaLoyalty/create-pull-request/patch-1706940956
Update Gradle to 8.6
2024-02-03 10:18:17 +01:00
Sylvia van Os a367d24125 Merge pull request #1723 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-03 09:35:12 +01:00
TheLastProject dfa0c36af5 Update Gradle to 8.6 2024-02-03 06:15:56 +00:00
大王叫我来巡山 66fcad7658 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (131 of 131 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-02-03 06:41:24 +01:00
Sylvia van Os 370ec55df1 Merge pull request #1722 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-02 17:32:18 +01:00
Jiri Grönroos b03ead95ea Translated using Weblate (Finnish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2024-02-02 14:02:02 +01:00
大王叫我来巡山 90e6463688 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-02-02 14:02:02 +01:00
Sylvia van Os 80cfb516c0 Merge pull request #1721 from CatimaLoyalty/create-pull-request/patch-1706816801
Update Fastlane changelogs
2024-02-01 20:51:37 +01:00
TheLastProject 989cf31897 Update Fastlane changelogs 2024-02-01 19:46:40 +00:00
Sylvia van Os caf9e163df Merge pull request #1720 from CatimaLoyalty/android14
Target Android 14
2024-02-01 20:46:26 +01:00
Sylvia van Os 8363115faf Target Android 14 2024-02-01 20:30:28 +01:00
Sylvia van Os 48cc286b14 Merge pull request #1719 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-02-01 07:02:32 +01:00
Hosted Weblate 07e7b56c9f Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/
2024-02-01 06:07:14 +01:00
Anonymous 4cac19acb9 Translated using Weblate (Lithuanian)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/lt/
2024-02-01 06:07:04 +01:00
しいたけ ed1db31d62 Translated using Weblate (Japanese)
Currently translated at 78.0% (235 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-01 06:07:04 +01:00
しいたけ 2a2a711375 Translated using Weblate (Japanese)
Currently translated at 78.4% (236 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-02-01 04:01:55 +01:00
Sylvia van Os c96cef5298 Update fastlane 2024-01-31 17:36:48 +01:00
Sylvia van Os 8506c05081 Merge pull request #1718 from CatimaLoyalty/dependabot/gradle/com.google.zxing-core-3.5.3
Bump com.google.zxing:core from 3.5.2 to 3.5.3
2024-01-31 08:24:19 +01:00
dependabot[bot] 9adc6d0704 Bump com.google.zxing:core from 3.5.2 to 3.5.3
Bumps [com.google.zxing:core](https://github.com/zxing/zxing) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/zxing/zxing/releases)
- [Changelog](https://github.com/zxing/zxing/blob/master/CHANGES)
- [Commits](https://github.com/zxing/zxing/compare/zxing-3.5.2...zxing-3.5.3)

---
updated-dependencies:
- dependency-name: com.google.zxing:core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 02:16:44 +00:00
Sylvia van Os ca62d542ef Update supported language count 2024-01-30 20:24:06 +01:00
Sylvia van Os 84c343e41f Release Catima v2.27.0 2024-01-30 19:10:40 +01:00
Sylvia van Os d12283e75d Merge pull request #1716 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-30 18:57:29 +01:00
しいたけ 0297304751 Translated using Weblate (Japanese)
Currently translated at 77.0% (232 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-01-30 18:56:16 +01:00
Sylvia van Os 966846c507 Merge pull request #1714 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-29 18:55:38 +01:00
Oğuz Ersen 48de759eb0 Translated using Weblate (Turkish)
Currently translated at 72.3% (94 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/tr/
2024-01-29 14:02:16 +01:00
Sylvia van Os 4e23fb4195 Merge pull request #1713 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.3.0
Bump actions/upload-artifact from 4.2.0 to 4.3.0
2024-01-29 06:42:53 +01:00
dependabot[bot] 1cfd04ba67 Bump actions/upload-artifact from 4.2.0 to 4.3.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 02:51:02 +00:00
Sylvia van Os c6f1e0cffe Merge pull request #1574 from obfusk/refactor-navbar-colour
Refactor navbar colour
2024-01-28 12:50:47 +01:00
Sylvia van Os 027d153747 Don't version-guard the background colour fix
All Android versions seem to need this for the main screen
2024-01-28 12:41:52 +01:00
FC (Fay) Stegerman bd1376e6bf add activityOverridesNavBarColor to not set colour twice 2024-01-28 12:08:30 +01:00
FC (Fay) Stegerman 7fa8ae8697 refactor nav bar colour & colour patching 2024-01-28 12:08:30 +01:00
Sylvia van Os 0b01604c4e Merge pull request #1712 from CatimaLoyalty/create-pull-request/patch-1706415252
Update contributors
2024-01-28 08:53:53 +01:00
TheLastProject d37dca7e7d Update contributors 2024-01-28 04:14:12 +00:00
Sylvia van Os 5eb2753168 Merge pull request #1711 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-27 23:26:29 +01:00
waffshappen 502e2e5e21 Translated using Weblate (German)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/de/
2024-01-27 21:26:47 +01:00
waffshappen bbb2c0d81f Translated using Weblate (German)
Currently translated at 92.3% (120 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2024-01-27 21:26:47 +01:00
waffshappen 59e62c2805 Translated using Weblate (German)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-01-27 21:26:47 +01:00
Sylvia van Os 15d9a16ead Merge pull request #1710 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-27 17:29:55 +01:00
abdelbasset jabrane e99cba7fcb Translated using Weblate (Arabic)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2024-01-27 15:35:52 +01:00
Oğuz Ersen 781b6ecc48 Translated using Weblate (Turkish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2024-01-27 15:35:52 +01:00
akinobu nishi ec8536976f Translated using Weblate (Japanese)
Currently translated at 4.6% (6 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ja/
2024-01-27 15:35:52 +01:00
akinobu nishi 2f9101e9f2 Translated using Weblate (Japanese)
Currently translated at 76.0% (229 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2024-01-27 15:35:52 +01:00
Sylvia van Os 0cc2fd44ac Merge pull request #1708 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-25 21:12:41 +01:00
Eva Pelko 6db4cbab9b Translated using Weblate (Croatian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2024-01-25 21:01:55 +01:00
CPavRou 0b2111b6f0 Translated using Weblate (French)
Currently translated at 99.0% (298 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2024-01-25 21:01:55 +01:00
Sylvia van Os b3f118ef15 Merge pull request #1707 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-24 17:26:52 +01:00
Irham Mustofa db8a652e5b Translated using Weblate (Indonesian)
Currently translated at 96.9% (126 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2024-01-24 16:02:04 +01:00
Irham Mustofa d7a4f81eba Translated using Weblate (Indonesian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2024-01-24 16:02:04 +01:00
Zbigniew Kosowski d0c0694662 Translated using Weblate (Polish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2024-01-24 16:02:04 +01:00
Sylvia van Os 0fdf79449c Merge pull request #1705 from CatimaLoyalty/dependabot/gradle/com.android.application-8.2.2
Bump com.android.application from 8.2.1 to 8.2.2
2024-01-24 08:17:14 +01:00
dependabot[bot] cbf8b2d5f0 Bump com.android.application from 8.2.1 to 8.2.2
Bumps com.android.application from 8.2.1 to 8.2.2.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-24 02:07:05 +00:00
Sylvia van Os e194cca5f1 Merge pull request #1704 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-22 18:16:50 +01:00
Giovanni Donisi 5d450852e1 Translated using Weblate (Italian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2024-01-22 14:01:51 +01:00
gallegonovato ce86811d7c Translated using Weblate (Spanish)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2024-01-22 14:01:51 +01:00
Sylvia van Os 9fb3b765e7 Merge pull request #1703 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.2.0
Bump actions/upload-artifact from 4.1.0 to 4.2.0
2024-01-22 07:40:38 +01:00
dependabot[bot] d02dac2c41 Bump actions/upload-artifact from 4.1.0 to 4.2.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 02:41:23 +00:00
Sylvia van Os 243536d0d1 Merge pull request #1702 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-21 14:04:43 +01:00
Сергій b258ba8654 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-01-21 10:02:31 +01:00
solokot 5ec87a7a3a Translated using Weblate (Russian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2024-01-21 10:02:31 +01:00
Сергій c84692db35 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2024-01-21 10:02:30 +01:00
Ronon efe2a720f4 Translated using Weblate (Slovak)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2024-01-21 10:02:29 +01:00
solokot 8b876f51fc Translated using Weblate (Russian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2024-01-21 10:02:29 +01:00
Nikita Karamov 033de00ad4 Translated using Weblate (German)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2024-01-21 10:02:28 +01:00
Sylvia van Os 81f0e769b8 Merge pull request #1701 from CatimaLoyalty/create-pull-request/patch-1705810453
Update contributors
2024-01-21 07:29:28 +01:00
TheLastProject dd14533c6c Update contributors 2024-01-21 04:14:13 +00:00
Sylvia van Os f7c50caeb1 Merge pull request #1700 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-19 17:42:33 +01:00
Nguyễn Xuân Cảm b00aa74bfe Translated using Weblate (Vietnamese)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2024-01-19 12:00:37 +01:00
Nguyễn Xuân Cảm 944089536f Translated using Weblate (Vietnamese)
Currently translated at 99.3% (299 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2024-01-19 12:00:36 +01:00
Bálint László 266732f744 Translated using Weblate (Hungarian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2024-01-19 12:00:36 +01:00
BananaChad 33ee23a0e1 Translated using Weblate (Dutch)
Currently translated at 13.8% (18 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/nl/
2024-01-19 12:00:35 +01:00
BananaChad b064851254 Translated using Weblate (Dutch)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2024-01-19 12:00:34 +01:00
Sylvia van Os 19782fdb9c Merge pull request #1699 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-18 20:15:08 +01:00
109247019824 eb7658c35a Translated using Weblate (Bulgarian)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2024-01-18 08:39:27 +01:00
大王叫我来巡山 fff35d7a74 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2024-01-18 08:39:26 +01:00
大王叫我来巡山 ed5506554a Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2024-01-18 08:39:26 +01:00
ikanakova dac7e8cb46 Translated using Weblate (Czech)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2024-01-18 08:39:25 +01:00
ikanakova 5ad27b1b53 Translated using Weblate (Czech)
Currently translated at 100.0% (301 of 301 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2024-01-18 08:39:24 +01:00
Sylvia van Os ca3c29f5e4 Merge pull request #1698 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-16 21:47:57 +01:00
Jiri Grönroos 935ef20955 Translated using Weblate (Finnish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2024-01-16 20:06:27 +01:00
Sylvia van Os 86ec70ee72 Merge pull request #1696 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.1.0
Bump actions/upload-artifact from 4.0.0 to 4.1.0
2024-01-15 19:39:08 +01:00
dependabot[bot] 2303caf1be Bump actions/upload-artifact from 4.0.0 to 4.1.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 02:39:56 +00:00
Sylvia van Os ee1e5c0d0e Merge pull request #1695 from CatimaLoyalty/create-pull-request/patch-1705205686
Update contributors
2024-01-14 12:34:09 +01:00
TheLastProject 4bdb5a86ad Update contributors 2024-01-14 04:14:46 +00:00
Sylvia van Os 92ac59a783 Merge pull request #1692 from CatimaLoyalty/1647-2
Only list contributors with at least 5 commits
2024-01-12 12:27:18 +01:00
Sylvia van Os 89ea86e795 Only include contributors with at least 5 commits 2024-01-12 12:17:03 +01:00
Sylvia van Os ffe6236c2d Support HTML in credits screen 2024-01-12 12:04:26 +01:00
Sylvia van Os c057e03e97 Merge pull request #1690 from CatimaLoyalty/create-pull-request/patch-1704816632
Update Fastlane changelogs
2024-01-09 21:00:44 +01:00
TheLastProject 372834f60f Update Fastlane changelogs 2024-01-09 16:10:32 +00:00
Sylvia van Os 1265c6d801 Merge pull request #1689 from CatimaLoyalty/feature/1671
Add option to always rotate
2024-01-09 17:10:20 +01:00
Sylvia van Os 2ae0ddd9e7 Add option to always rotate 2024-01-09 17:00:21 +01:00
Sylvia van Os fba6f3a111 Merge pull request #1687 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-08 19:45:22 +01:00
fsbat0 357b005b15 Translated using Weblate (Tigrinya)
Currently translated at 17.7% (53 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ti/
2024-01-08 14:06:20 +00:00
Sylvia van Os 8df25a301b Merge pull request #1685 from CatimaLoyalty/create-pull-request/patch-1704626162
Update locales
2024-01-07 12:36:46 +01:00
TheLastProject 71c7252458 Update locales 2024-01-07 11:16:02 +00:00
Sylvia van Os 41f8fc2094 Merge pull request #1684 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-07 12:15:46 +01:00
fsbat0 b5752967a2 Added translation using Weblate (Tigrinya) 2024-01-07 06:45:30 +01:00
Sylvia van Os 5ee14c2fe8 Merge pull request #1682 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-06 10:36:22 +01:00
itshog a34321c680 Translated using Weblate (Italian)
Currently translated at 95.3% (124 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/it/
2024-01-06 07:15:24 +00:00
Sylvia van Os 56ed2f454d Merge pull request #1680 from CatimaLoyalty/dependabot/gradle/com.android.application-8.2.1
Bump com.android.application from 8.2.0 to 8.2.1
2024-01-04 21:06:31 +01:00
dependabot[bot] 40ac0d83c5 Bump com.android.application from 8.2.0 to 8.2.1
Bumps com.android.application from 8.2.0 to 8.2.1.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 02:56:18 +00:00
Sylvia van Os b8de73b5b3 Merge pull request #1677 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2024-01-01 13:10:42 +01:00
Сергій 547af33f40 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2024-01-01 12:09:44 +00:00
Sylvia van Os f1b525396c Merge pull request #1676 from CatimaLoyalty/create-pull-request/patch-1703996032
Update contributors
2023-12-31 13:00:53 +01:00
TheLastProject 50890c4f31 Update contributors 2023-12-31 04:13:52 +00:00
Sylvia van Os 3322133d1e Merge pull request #1673 from CatimaLoyalty/create-pull-request/patch-1703391228
Update contributors
2023-12-26 13:16:13 +01:00
Sylvia van Os 5b6c6b4466 Merge pull request #1674 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-25 14:19:58 +01:00
Sylvia van Os 5f2402dd15 Translated using Weblate (Vietnamese)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2023-12-24 18:11:50 +01:00
TheLastProject b34533a92a Update contributors 2023-12-24 04:13:47 +00:00
ngocanhtve c521fae4ee Translated using Weblate (Vietnamese)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/vi/
2023-12-23 17:09:55 +01:00
ngocanhtve ce47efecb0 Translated using Weblate (Vietnamese)
Currently translated at 0.7% (1 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/vi/
2023-12-23 17:09:55 +01:00
ngocanhtve 133da20f93 Translated using Weblate (Vietnamese)
Currently translated at 98.3% (294 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2023-12-23 17:09:55 +01:00
Sylvia van Os cee8074232 Merge pull request #1670 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-20 18:21:10 +01:00
Wei-Cheng Yeh (IID) 6f78e2b404 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-12-20 15:09:33 +01:00
Sylvia van Os b05b46f10a Merge pull request #1667 from CatimaLoyalty/dependabot/github_actions/actions/upload-artifact-4.0.0
Bump actions/upload-artifact from 3.1.3 to 4.0.0
2023-12-18 22:56:07 +01:00
Sylvia van Os 1188e58fb0 Merge pull request #1669 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-18 20:10:45 +01:00
Allan Nordhøy 575150af9e Translated using Weblate (Norwegian Bokmål)
Currently translated at 97.6% (292 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2023-12-18 04:10:51 +00:00
dependabot[bot] d82e0bebb6 Bump actions/upload-artifact from 3.1.3 to 4.0.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3.1.3...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 02:38:21 +00:00
Sylvia van Os 72131a6b2d Merge pull request #1666 from CatimaLoyalty/create-pull-request/patch-1702786546
Update contributors
2023-12-17 11:46:31 +01:00
TheLastProject b89a13ce70 Update contributors 2023-12-17 04:15:45 +00:00
Sylvia van Os 389a53b2cc Merge pull request #1665 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-15 19:02:47 +01:00
Sylvia van Os be0f534f66 Translated using Weblate (Esperanto)
Currently translated at 36.7% (110 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2023-12-15 15:11:33 +00:00
ikanakova 36eee3686c Translated using Weblate (Czech)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-12-15 15:11:32 +00:00
H Tamás 5c76cb01bf Translated using Weblate (Hungarian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/hu/
2023-12-15 15:11:32 +00:00
H Tamás e57cd9eea3 Translated using Weblate (Hungarian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-12-15 15:11:31 +00:00
xiawu240 e795ec6907 Translated using Weblate (Esperanto)
Currently translated at 36.7% (110 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/eo/
2023-12-15 15:11:30 +00:00
Patricio Carrau 5e69f18b88 Translated using Weblate (Spanish (Argentina))
Currently translated at 66.5% (199 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es_AR/
2023-12-15 15:11:30 +00:00
Sylvia van Os 6bb6d54b6a Merge pull request #1663 from CatimaLoyalty/dependabot/gradle/androidx.exifinterface-exifinterface-1.3.7
Bump androidx.exifinterface:exifinterface from 1.3.6 to 1.3.7
2023-12-14 21:11:31 +01:00
dependabot[bot] 86f049d9a4 Bump androidx.exifinterface:exifinterface from 1.3.6 to 1.3.7
Bumps androidx.exifinterface:exifinterface from 1.3.6 to 1.3.7.

---
updated-dependencies:
- dependency-name: androidx.exifinterface:exifinterface
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 02:11:45 +00:00
Sylvia van Os 5cb02ae0f2 Merge pull request #1661 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-12 17:37:50 +01:00
Mitsos Dream 88380878e0 Translated using Weblate (Greek)
Currently translated at 84.6% (253 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/el/
2023-12-12 07:05:58 +00:00
Sylvia van Os 59c7341aad Merge pull request #1659 from CatimaLoyalty/dependabot/github_actions/actions/setup-python-5.0.0
Bump actions/setup-python from 4.7.1 to 5.0.0
2023-12-11 18:48:27 +01:00
dependabot[bot] e3596adae4 Bump actions/setup-python from 4.7.1 to 5.0.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.7.1...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 02:11:54 +00:00
Sylvia van Os 8d697c3414 Merge pull request #1658 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-10 12:21:16 +01:00
Giovanni Donisi c1b0fead33 Translated using Weblate (Italian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/it/
2023-12-10 05:02:16 +01:00
Sylvia van Os 228b9ecc4d Merge pull request #1655 from CatimaLoyalty/create-pull-request/patch-1701576833
Update contributors
2023-12-03 10:35:37 +01:00
TheLastProject 7c03469e91 Update contributors 2023-12-03 04:13:53 +00:00
Sylvia van Os c922e0645d Merge pull request #1654 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-12-02 12:13:02 +01:00
bass python 8015cc65b8 Translated using Weblate (Arabic)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-12-02 11:02:43 +00:00
Sylvia van Os 85240fa3d5 Translated using Weblate (Polish)
Currently translated at 80.7% (105 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2023-12-02 11:02:42 +00:00
bass python 3ed418166d Translated using Weblate (Arabic)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-12-01 10:46:08 +00:00
Sylvia van Os b4a173d352 Translated using Weblate (Arabic)
Currently translated at 99.6% (298 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-12-01 10:46:08 +00:00
tfuxu bd57e11f16 Translated using Weblate (Polish)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/pl/
2023-12-01 10:46:07 +00:00
Abdullah Abdullah d65141ee92 Translated using Weblate (Arabic)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-12-01 10:46:06 +00:00
tfuxu fc12efff5e Translated using Weblate (Polish)
Currently translated at 80.7% (105 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2023-12-01 10:46:06 +00:00
Sylvia van Os bd0879923c Merge pull request #1652 from CatimaLoyalty/dependabot/gradle/com.android.application-8.2.0
Bump com.android.application from 8.1.4 to 8.2.0
2023-12-01 08:26:51 +01:00
dependabot[bot] d2df924ba5 Bump com.android.application from 8.1.4 to 8.2.0
Bumps com.android.application from 8.1.4 to 8.2.0.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-01 03:00:22 +00:00
Sylvia van Os 613c92e8c4 Merge pull request #1650 from CatimaLoyalty/create-pull-request/patch-1701325097
Update Gradle to 8.5
2023-11-30 20:54:42 +01:00
TheLastProject d8429bf305 Update Gradle to 8.5 2023-11-30 06:18:16 +00:00
Sylvia van Os 1c8926887b Put Izzy first 2023-11-29 22:16:18 +01:00
Sylvia van Os 7f03f371e0 Merge pull request #1646 from CatimaLoyalty/create-pull-request/patch-1700972030
Update contributors
2023-11-26 11:03:52 +01:00
TheLastProject 273a39abb7 Update contributors 2023-11-26 04:13:49 +00:00
Sylvia van Os 562b984029 Merge pull request #1645 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-25 09:57:10 +01:00
Vinh Le 74e498c5ab Translated using Weblate (Vietnamese)
Currently translated at 95.3% (285 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2023-11-25 06:01:14 +01:00
Sylvia van Os 4c825c703b Deleted translation using Weblate (Portuguese) 2023-11-23 18:48:56 +01:00
Sylvia van Os c54af65033 Deleted translation using Weblate (Portuguese) 2023-11-23 18:48:55 +01:00
Weblate f80dbe9073 Added translation using Weblate (Portuguese) 2023-11-23 04:45:18 +00:00
Weblate e9a48dca41 Added translation using Weblate (Portuguese) 2023-11-23 04:45:04 +00:00
Sylvia van Os 157c428919 Translated using Weblate (Hindi)
Currently translated at 79.2% (237 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-11-23 04:45:02 +00:00
sravya a67aec366a Translated using Weblate (Hindi)
Currently translated at 79.2% (237 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-11-22 13:02:26 +01:00
Sylvia van Os ee12482f6e Merge pull request #1642 from obfusk/fix-pt
fixes for pt -> pt-rPT
2023-11-21 17:42:32 +01:00
Sylvia van Os c2383fbb40 Merge pull request #1641 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-21 17:41:57 +01:00
FC (Fay) Stegerman 65ab14897f fixes for pt -> pt-rPT 2023-11-21 17:30:26 +01:00
solokot 87ecb3c1b9 Translated using Weblate (Russian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-11-21 17:20:57 +01:00
Sylvia van Os 9dfbc92e92 Move pt to pt-rPT to make Weblate happy 2023-11-21 17:18:36 +01:00
Sylvia van Os c65303b08b Merge pull request #1638 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-21 17:12:16 +01:00
Weblate fd8c960c58 Added translation using Weblate (Portuguese (Portugal)) 2023-11-21 04:45:05 +00:00
Weblate 7511ea0c2d Added translation using Weblate (Portuguese (Portugal)) 2023-11-21 04:45:01 +00:00
AlexTECPlayz 4810a3cee1 Translated using Weblate (Romanian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/ro/
2023-11-21 01:04:05 +01:00
Matti O a230d9f877 Translated using Weblate (Finnish)
Currently translated at 99.3% (297 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2023-11-21 01:04:05 +01:00
AlexTECPlayz 18e699445c Translated using Weblate (Romanian)
Currently translated at 1.5% (2 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ro/
2023-11-21 01:04:05 +01:00
AlexTECPlayz 4a5106c38c Translated using Weblate (Romanian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2023-11-21 01:04:05 +01:00
Sylvia van Os 3afde7049e Merge pull request #1637 from CatimaLoyalty/create-pull-request/patch-1700367277
Update contributors
2023-11-19 09:52:32 +01:00
TheLastProject 82a3ae16a6 Update contributors 2023-11-19 04:14:37 +00:00
Sylvia van Os 31995f4b8b Merge pull request #1636 from CatimaLoyalty/dependabot/gradle/com.android.application-8.1.4
Bump com.android.application from 8.1.3 to 8.1.4
2023-11-17 19:49:09 +01:00
dependabot[bot] b7c444fd8f Bump com.android.application from 8.1.3 to 8.1.4
Bumps com.android.application from 8.1.3 to 8.1.4.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 02:14:59 +00:00
Sylvia van Os 58481c842b Merge pull request #1635 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-15 17:21:19 +01:00
SC 5847ff4b7c Translated using Weblate (Portuguese)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-11-15 13:07:18 +01:00
Sylvia van Os 056c255aa6 Merge pull request #1634 from obfusk/patch-8
generate_feature_graphic.sh: remove redundant "|| exit 1"
2023-11-15 08:17:16 +01:00
FC (Fay) Stegerman 9c99b9d0ad generate_feature_graphic.sh: remove redundant "|| exit 1" 2023-11-14 22:50:08 +00:00
Sylvia van Os d4a9197e60 Merge pull request #1633 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-13 18:21:22 +01:00
Eric 57d7176ac9 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-11-13 14:05:09 +01:00
Sylvia van Os 029fa9b5e8 Merge pull request #1632 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-12 13:22:12 +01:00
Denis Shilin c38a89b48f Translated using Weblate (Russian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/ru/
2023-11-12 11:03:13 +01:00
Sylvia van Os 21958442bb Merge pull request #1631 from CatimaLoyalty/create-pull-request/patch-1699762504
Update contributors
2023-11-12 10:23:23 +01:00
TheLastProject f92ae736b4 Update contributors 2023-11-12 04:15:04 +00:00
Sylvia van Os 548714f778 Merge pull request #1630 from CatimaLoyalty/create-pull-request/patch-1699698892
Update Fastlane changelogs
2023-11-11 11:35:16 +01:00
TheLastProject 1d61a7c0eb Update Fastlane changelogs 2023-11-11 10:34:52 +00:00
Sylvia van Os 6c5a06ce5b Update CHANGELOG 2023-11-11 11:34:37 +01:00
Sylvia van Os 1d4e47b832 Merge pull request #1588 from theimpulson/materialDatePicker
LoyaltCardEditActivity: Migrate to materialdatepicker dialog
2023-11-11 11:32:13 +01:00
Sylvia van Os cd9ef1c231 Fix build 2023-11-11 11:03:00 +01:00
Sylvia van OsandFC Stegerman a1011e0668 Support translating Catima app name in feature graphic (#1623)
* Support translating Catima app name in feature graphic

Co-authored-by: FC (Fay) Stegerman <flx@obfusk.net>
2023-11-11 10:44:31 +01:00
Sylvia van Os 9e7d51c36b Merge pull request #1627 from CatimaLoyalty/dependabot/gradle/com.android.application-8.1.3
Bump com.android.application from 8.1.2 to 8.1.3
2023-11-08 17:08:29 +01:00
Sylvia van Os 0e826a654b Merge pull request #1628 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-08 17:07:30 +01:00
Claus Kruse 40778dd494 Translated using Weblate (Danish)
Currently translated at 36.1% (108 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/da/
2023-11-08 10:34:16 +00:00
dependabot[bot] d7b983f1ca Bump com.android.application from 8.1.2 to 8.1.3
Bumps com.android.application from 8.1.2 to 8.1.3.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 02:42:14 +00:00
Sylvia van Os 206f6385ae Merge pull request #1621 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-06 21:48:46 +01:00
Oğuz Ersen 18cba2d702 Translated using Weblate (Turkish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2023-11-06 20:34:50 +01:00
Sylvia van Os 847850eeff Merge pull request #1619 from CatimaLoyalty/create-pull-request/patch-1699157613
Update contributors
2023-11-05 09:32:15 +01:00
TheLastProject 107bf5a0f5 Update contributors 2023-11-05 04:13:32 +00:00
Sylvia van Os d3edde4a43 Merge pull request #1617 from CatimaLoyalty/dependabot/gradle/com.android.tools-desugar_jdk_libs-2.0.4
Bump com.android.tools:desugar_jdk_libs from 2.0.3 to 2.0.4
2023-11-04 11:24:52 +01:00
Sylvia van Os 963f42628f Merge pull request #1618 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-04 00:00:20 +01:00
Rohan H 7d83cf1dfd Translated using Weblate (Marathi)
Currently translated at 40.8% (122 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/mr/
2023-11-03 05:04:02 +00:00
ikanakova 5bb2df98cd Translated using Weblate (Czech)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/cs/
2023-11-03 05:04:01 +00:00
dependabot[bot] 2796a15353 Bump com.android.tools:desugar_jdk_libs from 2.0.3 to 2.0.4
Bumps [com.android.tools:desugar_jdk_libs](https://github.com/google/desugar_jdk_libs) from 2.0.3 to 2.0.4.
- [Changelog](https://github.com/google/desugar_jdk_libs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/desugar_jdk_libs/commits)

---
updated-dependencies:
- dependency-name: com.android.tools:desugar_jdk_libs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 02:10:05 +00:00
Aayush Gupta 55595159be LoyaltyCardEditActivity: Handle configuration changes for MaterialDatePicker
MaterialDatePicker is final and thus cannot be extended to handle loss of callback
on configuration changes. We aren't using ViewModel as well that would help us to persist
changes till lifecycle.

Fallback to how DatePicker was handling this situation with a couple of more hacks.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-11-02 14:20:54 +05:30
Aayush Gupta 5cab0e3932 LoyaltyCardViewActivityTest: Update test to handle MaterialDatePicker migration
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-11-02 11:39:44 +05:30
Aayush Gupta 4d6c08fc73 LoyaltCardEditActivity: Migrate to materialdatepicker dialog
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-11-02 11:39:44 +05:30
Sylvia van Os 0c147830ee Merge pull request #1616 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-11-01 20:58:10 +01:00
Sylvia van Os b5a3a4c735 Merge pull request #1615 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.11.1
Bump org.robolectric:robolectric from 4.11 to 4.11.1
2023-11-01 20:57:54 +01:00
gemamur f867e8cb93 Translated using Weblate (Spanish)
Currently translated at 47.6% (62 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2023-11-01 13:05:06 +01:00
dependabot[bot] 524af89c96 Bump org.robolectric:robolectric from 4.11 to 4.11.1
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.11 to 4.11.1.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.11...robolectric-4.11.1)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 02:46:07 +00:00
Sylvia van Os 3df4d4783f Merge pull request #1613 from CatimaLoyalty/dependabot/gradle/org.robolectric-robolectric-4.11
Bump org.robolectric:robolectric from 4.10.3 to 4.11
2023-10-31 18:27:42 +01:00
Sylvia van Os d0e7187273 Merge pull request #1614 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-31 17:52:22 +01:00
Brian Bentancour 7819460377 Translated using Weblate (Spanish (Argentina))
Currently translated at 66.2% (198 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es_AR/
2023-10-30 06:49:13 +01:00
dependabot[bot] 4396214e7a Bump org.robolectric:robolectric from 4.10.3 to 4.11
Bumps [org.robolectric:robolectric](https://github.com/robolectric/robolectric) from 4.10.3 to 4.11.
- [Release notes](https://github.com/robolectric/robolectric/releases)
- [Commits](https://github.com/robolectric/robolectric/compare/robolectric-4.10.3...robolectric-4.11)

---
updated-dependencies:
- dependency-name: org.robolectric:robolectric
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 02:47:44 +00:00
Sylvia van Os 697c6f3f39 Merge pull request #1611 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-29 10:20:22 +01:00
Sylvia van Os 0239e5a89e Merge pull request #1610 from CatimaLoyalty/create-pull-request/patch-1698552879
Update contributors
2023-10-29 09:53:19 +01:00
Neha Reddy 532fae7de5 Translated using Weblate (Kannada)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/kn/
2023-10-29 05:20:08 +00:00
Neha Reddy 135c4498d8 Translated using Weblate (Kannada)
Currently translated at 15.3% (20 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/kn/
2023-10-29 05:20:07 +00:00
OMCM753 7f0e5d9c59 Translated using Weblate (Spanish)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2023-10-29 05:20:05 +00:00
TheLastProject cf4eeafce0 Update contributors 2023-10-29 04:14:38 +00:00
Sylvia van Os 8597580d93 Merge pull request #1608 from CatimaLoyalty/create-pull-request/patch-1698425469
Update locales
2023-10-27 18:54:07 +02:00
TheLastProject e3643328f0 Update locales 2023-10-27 16:51:09 +00:00
Sylvia van Os e76c8219bb Merge pull request #1607 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-27 18:50:53 +02:00
Rohan H 650ad23e59 Translated using Weblate (Marathi)
Currently translated at 37.1% (111 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/mr/
2023-10-27 09:10:00 +00:00
OMCM753 abc66a0c08 Translated using Weblate (Spanish)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/es/
2023-10-27 09:10:00 +00:00
Abhishek Tiwari 701e1ee5fa Translated using Weblate (Hindi)
Currently translated at 28.4% (37 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2023-10-27 09:09:59 +00:00
pro maxime 8031a02003 Translated using Weblate (Arabic)
Currently translated at 99.3% (297 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-10-27 09:09:57 +00:00
OMCM753 f383758c7d Translated using Weblate (Spanish)
Currently translated at 47.6% (62 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2023-10-27 09:09:57 +00:00
Sylvia van Os eeb7eddff2 Merge pull request #1606 from CatimaLoyalty/create-pull-request/patch-1698163549
Update feature graphic
2023-10-24 18:06:11 +02:00
Sylvia van Os 1df27e2d4a Merge pull request #1603 from obfusk/new-locales
add workflow to add new locales
2023-10-24 18:05:50 +02:00
TheLastProject 66ffe63a62 Update feature graphic 2023-10-24 16:05:48 +00:00
Sylvia van Os a963ed20d3 Merge pull request #1605 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-24 18:03:46 +02:00
Camila c057e7a420 Translated using Weblate (Portuguese)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-10-24 15:03:53 +02:00
FC (Fay) Stegerman 10bab6349a update-locales workflow: also add new locales 2023-10-23 21:03:57 +02:00
Sylvia van Os e89b612c93 Merge pull request #1602 from CatimaLoyalty/dependabot/github_actions/actions/checkout-4.1.1
Bump actions/checkout from 4.1.0 to 4.1.1
2023-10-23 19:01:41 +02:00
Sylvia van Os 2d99c61d78 Merge pull request #1604 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-23 18:54:49 +02:00
Rohan H ed2a816656 Translated using Weblate (Marathi)
Currently translated at 32.1% (96 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/mr/
2023-10-23 11:02:12 +00:00
Muhammad Khuirul Huda a73064ae46 Translated using Weblate (Indonesian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/id/
2023-10-23 11:02:11 +00:00
Fqwe1 b07ac08b69 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/uk/
2023-10-23 11:02:10 +00:00
Mattia Beccari c5793caaf3 Translated using Weblate (Italian)
Currently translated at 95.3% (124 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/it/
2023-10-23 11:02:10 +00:00
Fqwe1 22fadb1b15 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-10-23 11:02:08 +00:00
dependabot[bot] 5cd2cbb1a2 Bump actions/checkout from 4.1.0 to 4.1.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 02:56:04 +00:00
Sylvia van Os 20ec9f5cc3 Merge pull request #1600 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-22 12:19:45 +02:00
Sylvia van Os 93db0669ff Merge pull request #1599 from CatimaLoyalty/create-pull-request/patch-1697948014
Update contributors
2023-10-22 11:48:04 +02:00
Weblate 7c2eebb20c Added translation using Weblate (Marathi) 2023-10-22 06:28:08 +00:00
Ankur Dahiya e76a63c34b Translated using Weblate (Hindi)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/hi/
2023-10-22 06:28:04 +00:00
olgacveysel 80cab9ba59 Translated using Weblate (Turkish)
Currently translated at 0.0% (0 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/tr/
2023-10-22 06:28:04 +00:00
Ankur Dahiya c26ddd9342 Translated using Weblate (Hindi)
Currently translated at 79.2% (237 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-22 06:28:03 +00:00
olgacveysel 78ec649af3 Translated using Weblate (Turkish)
Currently translated at 96.9% (290 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/tr/
2023-10-22 06:28:02 +00:00
Rohan H 1ae61cc0b7 Added translation using Weblate (Marathi) 2023-10-22 06:28:02 +00:00
TheLastProject 5616158ff7 Update contributors 2023-10-22 04:13:34 +00:00
Sylvia van Os 554a60cf95 Merge pull request #1598 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-21 09:58:21 +02:00
Kim Seohyun 737a6272a9 Translated using Weblate (Korean)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/ko/
2023-10-21 06:03:42 +02:00
109247019824 dc7f3573fe Translated using Weblate (Bulgarian)
Currently translated at 38.4% (50 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/bg/
2023-10-21 06:03:42 +02:00
Kim Seohyun 4003faa17f Translated using Weblate (Korean)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ko/
2023-10-21 06:03:41 +02:00
Bernardino 4aecb05e17 Translated using Weblate (Italian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2023-10-21 06:03:41 +02:00
Sylvia van Os f58eafd2b6 Merge pull request #1597 from CatimaLoyalty/create-pull-request/patch-1697710291
Update feature graphic
2023-10-19 12:22:15 +02:00
TheLastProject 1061bc691a Update feature graphic 2023-10-19 10:11:31 +00:00
Sylvia van Os 734813c29e Merge pull request #1596 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-19 12:09:49 +02:00
Eric 2cdd0f6678 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/zh_Hans/
2023-10-19 06:06:58 +02:00
Kim Seohyun c65b30189f Translated using Weblate (Korean)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/ko/
2023-10-19 06:06:58 +02:00
Milo Ivir 93db35396a Translated using Weblate (Croatian)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/hr/
2023-10-19 06:06:58 +02:00
Milo Ivir 3d6cf5883e Translated using Weblate (Croatian)
Currently translated at 2.3% (3 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hr/
2023-10-19 06:06:58 +02:00
Milo Ivir 3c316d1878 Translated using Weblate (Croatian)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2023-10-19 06:06:58 +02:00
109247019824 be6d3a460d Translated using Weblate (Bulgarian)
Currently translated at 26.9% (35 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/bg/
2023-10-19 06:06:58 +02:00
Kim Seohyun feb93ccb48 Translated using Weblate (Korean)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ko/
2023-10-19 06:06:58 +02:00
Kim Seohyun 6ad0dd1f24 Translated using Weblate (Korean)
Currently translated at 100.0% (299 of 299 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ko/
2023-10-19 06:06:58 +02:00
Sylvia van Os 1c936b4b2e Merge pull request #1594 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-17 21:01:24 +02:00
Weblate 3c201a9c29 Added translation using Weblate (Hebrew (Israel)) 2023-10-17 04:04:53 +00:00
Weblate 5ccdc349ff Added translation using Weblate (Chinese (Simplified)) 2023-10-17 04:04:52 +00:00
Weblate a842f01e32 Added translation using Weblate (Chinese (Traditional)) 2023-10-17 04:04:13 +00:00
Weblate b3b5960725 Added translation using Weblate (Spanish (Argentina)) 2023-10-17 04:04:11 +00:00
Weblate 781318397c Added translation using Weblate (Slovenian) 2023-10-17 04:04:07 +00:00
Weblate e7e5cdac22 Added translation using Weblate (Kannada) 2023-10-17 04:04:06 +00:00
Weblate 11bce01405 Added translation using Weblate (Korean) 2023-10-17 04:04:05 +00:00
Weblate ed84b0fcb9 Added translation using Weblate (Finnish) 2023-10-17 04:04:04 +00:00
Weblate 7f82bc9822 Added translation using Weblate (Swedish) 2023-10-17 04:04:02 +00:00
Weblate 2d40ac0111 Added translation using Weblate (Spanish) 2023-10-17 04:04:01 +00:00
Weblate 81ffee2e3b Added translation using Weblate (Bengali (India)) 2023-10-17 04:04:00 +00:00
Weblate 133e1695f6 Added translation using Weblate (Indonesian) 2023-10-17 04:03:59 +00:00
Weblate 78a8a65ae2 Added translation using Weblate (Arabic) 2023-10-17 04:03:57 +00:00
Weblate 8e28b43ecb Added translation using Weblate (Italian) 2023-10-17 04:03:56 +00:00
Weblate 20062db01e Added translation using Weblate (Polish) 2023-10-17 04:03:55 +00:00
Weblate 42e5a15455 Added translation using Weblate (Malayalam) 2023-10-17 04:03:54 +00:00
Weblate e61c20c66f Added translation using Weblate (Hindi) 2023-10-17 04:03:53 +00:00
Weblate 8e4ca5fa78 Added translation using Weblate (Hungarian) 2023-10-17 04:03:52 +00:00
Weblate 8e08e863d2 Added translation using Weblate (Croatian) 2023-10-17 04:03:51 +00:00
Weblate 6ad16c4e86 Added translation using Weblate (Icelandic) 2023-10-17 04:03:50 +00:00
Weblate 42fa077099 Added translation using Weblate (Vietnamese) 2023-10-17 04:03:49 +00:00
Weblate 079d16020a Added translation using Weblate (Czech) 2023-10-17 04:03:49 +00:00
Weblate fab6a42069 Added translation using Weblate (Welsh) 2023-10-17 04:03:28 +00:00
Weblate c461ce133e Added translation using Weblate (Catalan) 2023-10-17 04:03:17 +00:00
Weblate d8f3e1f1ef Added translation using Weblate (Occitan) 2023-10-17 04:02:55 +00:00
Weblate 107b576db1 Added translation using Weblate (Japanese) 2023-10-17 04:02:37 +00:00
Weblate e553d50cb7 Added translation using Weblate (Bosnian) 2023-10-17 04:02:34 +00:00
Weblate ff83a4a4f3 Added translation using Weblate (Asturian) 2023-10-17 04:02:04 +00:00
Weblate 58ad83caef Added translation using Weblate (Ukrainian) 2023-10-17 04:01:56 +00:00
Weblate 380d961ea4 Added translation using Weblate (Bulgarian) 2023-10-17 04:01:39 +00:00
Weblate ca4a336b6a Added translation using Weblate (Bengali) 2023-10-17 04:01:37 +00:00
Weblate 5205a69041 Added translation using Weblate (Romanian) 2023-10-17 04:01:36 +00:00
Weblate 013f3d2d4c Added translation using Weblate (Russian) 2023-10-17 04:01:35 +00:00
Weblate ca3f7a7c28 Added translation using Weblate (Esperanto) 2023-10-17 04:01:34 +00:00
Weblate b9813c9ccb Added translation using Weblate (Greek) 2023-10-17 04:01:33 +00:00
Weblate 7255571f36 Added translation using Weblate (Danish) 2023-10-17 04:01:27 +00:00
Weblate a9e6e9d75c Added translation using Weblate (German) 2023-10-17 04:01:16 +00:00
Weblate 4bcdbc62c6 Added translation using Weblate (Lithuanian) 2023-10-17 04:01:14 +00:00
Weblate c91e92b80b Added translation using Weblate (Latvian) 2023-10-17 04:01:12 +00:00
Weblate ca2f2c349e Added translation using Weblate (Turkish) 2023-10-17 04:01:11 +00:00
Weblate 420179458d Added translation using Weblate (Luxembourgish) 2023-10-17 06:01:10 +02:00
109247019824 20ffc23487 Translated using Weblate (Bulgarian)
Currently translated at 22.3% (29 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/bg/
2023-10-17 06:01:10 +02:00
Sylvia van Os 8de5646d07 Merge pull request #1590 from CatimaLoyalty/dependabot/github_actions/TheLastProject/contributors-to-file-action-3.0.2
Bump TheLastProject/contributors-to-file-action from 3.0.1 to 3.0.2
2023-10-16 10:44:50 +02:00
Sylvia van Os 16dbe1572a Merge pull request #1593 from CatimaLoyalty/create-pull-request/patch-1697444721
Update feature graphic
2023-10-16 10:44:29 +02:00
TheLastProject 18f68cdb24 Update feature graphic 2023-10-16 08:25:20 +00:00
Sylvia van Os 147cf544a3 Merge pull request #1592 from CatimaLoyalty/manual_weblate_update
Manual weblate update
2023-10-16 10:23:47 +02:00
Sylvia van Os a4763d8ed0 Remove translations failing checks 2023-10-16 10:15:36 +02:00
Hosted Weblate 382d86dce6 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/
2023-10-16 10:04:29 +02:00
Camila 2a2d05dd01 Translated using Weblate (Portuguese)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/pt/
2023-10-16 10:04:29 +02:00
Alyona Akshyata Mohanta 09e6617808 Translated using Weblate (Bengali)
Currently translated at 38.6% (117 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bn/
2023-10-16 10:04:27 +02:00
depimomo f9190ed915 Translated using Weblate (Indonesian)
Currently translated at 96.9% (126 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-10-16 10:00:10 +02:00
Muhammad Khuirul Huda ea7ca81f1c Translated using Weblate (Indonesian)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2023-10-16 10:00:10 +02:00
Camila 68e5c36909 Translated using Weblate (Portuguese)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pt/
2023-10-16 10:00:10 +02:00
evelinabe 4e167c79c1 Translated using Weblate (Swedish)
Currently translated at 97.3% (295 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sv/
2023-10-16 10:00:10 +02:00
Francisco J. Martín Fernández 9361487af7 Translated using Weblate (Spanish)
Currently translated at 28.4% (37 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/es/
2023-10-16 10:00:10 +02:00
Kate O c80107b870 Translated using Weblate (Polish)
Currently translated at 80.7% (105 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2023-10-16 10:00:10 +02:00
Alex Tan 52a1cc6549 Translated using Weblate (Japanese)
Currently translated at 73.9% (224 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ja/
2023-10-16 10:00:10 +02:00
Kate O 5f34d54b42 Translated using Weblate (Polish)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-10-16 10:00:10 +02:00
Virginie ec4265504b Translated using Weblate (French)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/fr/
2023-10-16 10:00:10 +02:00
Camila 3f2b140d1f Translated using Weblate (Portuguese)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pt/
2023-10-16 10:00:10 +02:00
Sylvia van Os 4af3695301 Added translation using Weblate (Portuguese) 2023-10-16 10:00:10 +02:00
dependabot[bot] f5368a4aab Bump TheLastProject/contributors-to-file-action from 3.0.1 to 3.0.2
Bumps [TheLastProject/contributors-to-file-action](https://github.com/thelastproject/contributors-to-file-action) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/thelastproject/contributors-to-file-action/releases)
- [Commits](https://github.com/thelastproject/contributors-to-file-action/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: TheLastProject/contributors-to-file-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 02:36:13 +00:00
Sylvia van Os f5059b95d3 Merge pull request #1589 from CatimaLoyalty/removeCopyCardIDs
Remove copy card IDs
2023-10-15 23:57:26 +02:00
Sylvia van Os 85fa0afaa8 Remove copy card IDs 2023-10-15 19:03:33 +02:00
Sylvia van Os 3bcccba6d4 Merge pull request #1587 from CatimaLoyalty/create-pull-request/patch-1697343252
Update contributors
2023-10-15 12:05:54 +02:00
Sylvia van Os 188c2e25a2 Merge pull request #1559 from obfusk/getwindow-null
add null checks for getWindow()
2023-10-15 12:05:15 +02:00
TheLastProject 162622631f Update contributors 2023-10-15 04:14:11 +00:00
FC (Fay) Stegerman 946a426b32 add null checks for getWindow() 2023-10-15 02:55:39 +02:00
Sylvia van Os 354a0f7fc0 Merge pull request #1581 from CatimaLoyalty/feature/updateScreenshots
Update screenshots
2023-10-14 13:13:10 +02:00
Sylvia van Os 6015a944ff Merge pull request #1584 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-14 11:52:41 +02:00
Sylvia van Os e30320603a Delete broken translation 2023-10-14 11:38:23 +02:00
Muhammad Khuirul Huda acd644025e Translated using Weblate (Indonesian)
Currently translated at 93.8% (122 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/id/
2023-10-14 11:17:13 +02:00
Muhammad Khuirul Huda b3e26f532d Translated using Weblate (Indonesian)
Currently translated at 96.0% (291 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/id/
2023-10-14 11:17:12 +02:00
109247019824 3a64b4652f Translated using Weblate (Bulgarian)
Currently translated at 19.2% (25 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/bg/
2023-10-14 11:17:12 +02:00
Virginie 56f691ca53 Translated using Weblate (French)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-10-14 11:17:12 +02:00
Sylvia van Os 57c770c9ba Translated using Weblate (Romanian)
Currently translated at 44.2% (134 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2023-10-14 11:17:10 +02:00
yourfav-raphi 53c3c85e57 Translated using Weblate (German)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2023-10-14 11:17:10 +02:00
Virginie 9a02d1bfbc Added translation using Weblate (French) 2023-10-14 11:17:09 +02:00
Virginie ffbb138986 Translated using Weblate (French)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/fr/
2023-10-13 10:36:07 +02:00
MUNTEANU ROVELIU 181e9f082c Translated using Weblate (Romanian)
Currently translated at 44.2% (134 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ro/
2023-10-13 10:36:07 +02:00
Virginie 912a4cb955 Translated using Weblate (French)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fr/
2023-10-13 10:36:07 +02:00
Milton Castro 50a1e77500 Translated using Weblate (Spanish)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es/
2023-10-13 10:36:07 +02:00
Sylvia van Os aef32d2b95 Merge pull request #1580 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-12 13:50:21 +02:00
Sylvia van Os d091ccb593 Update screenshots 2023-10-12 13:23:46 +02:00
Robin Liu 6fbbae9f0a Translated using Weblate (Chinese (Traditional))
Currently translated at 98.0% (297 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 12:56:55 +02:00
Robin Liu 176aa3880e Translated using Weblate (Chinese (Traditional))
Currently translated at 97.6% (296 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 12:54:36 +02:00
Robin Liu fcf64c86a6 Translated using Weblate (Chinese (Traditional))
Currently translated at 93.7% (284 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 12:46:40 +02:00
Robin Liu b5f6742b12 Translated using Weblate (Chinese (Traditional))
Currently translated at 92.4% (280 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 12:42:32 +02:00
Allan Nordhøy 26ae92dc84 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.6% (293 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2023-10-12 12:38:30 +02:00
Allan Nordhøy c65cdc93a7 Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/nb_NO/
2023-10-12 12:30:51 +02:00
Robin Liu bd85590d39 Translated using Weblate (Chinese (Traditional))
Currently translated at 92.0% (279 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 12:30:51 +02:00
Allan Nordhøy e3942b1737 Translated using Weblate (Norwegian Bokmål)
Currently translated at 96.0% (291 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nb_NO/
2023-10-12 12:30:51 +02:00
Allan Nordhøy 2dc7fd9a45 Added translation using Weblate (Norwegian Bokmål) 2023-10-12 12:29:23 +02:00
Robin Liu 2b7f8b6bf7 Translated using Weblate (Chinese (Traditional))
Currently translated at 91.7% (278 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hant/
2023-10-12 10:24:15 +00:00
Sylvia van Os db0619718c Merge pull request #1579 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-12 12:08:46 +02:00
Sylvia van Os dd19ea6322 Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-12 11:59:41 +02:00
Milan Šalka 5d656f9681 Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-12 11:56:13 +02:00
109247019824 c2c50664ea Translated using Weblate (Bulgarian)
Currently translated at 10.7% (14 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/bg/
2023-10-12 11:53:20 +02:00
Sylvia van Os 058eb7dd8b Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-12 11:50:26 +02:00
Milan Šalka 7a381f3683 Translated using Weblate (Slovak)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/sk/
2023-10-12 11:16:25 +02:00
Milan Šalka 96b6ca4b3b Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-12 11:13:50 +02:00
Milan Šalka 21815db47d Translated using Weblate (Slovak)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2023-10-12 11:13:50 +02:00
Milan Šalka 72f62b9211 Added translation using Weblate (Slovak) 2023-10-12 11:13:50 +02:00
Sylvia van Os 0e61a4584e Merge pull request #1576 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-12 10:46:09 +02:00
Heimen Stoffels ca0ad17e8e Translated using Weblate (Dutch)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/nl/
2023-10-12 08:39:38 +00:00
Heimen Stoffels 20c4e03343 Translated using Weblate (Dutch)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-10-12 08:39:37 +00:00
Sylvia van Os 4ec4d8a3a6 Translated using Weblate (Dutch)
Currently translated at 100.0% (1 of 1 strings)

Translation: Catima/Android (Debug)
Translate-URL: https://hosted.weblate.org/projects/catima/android-debug/nl/
2023-10-12 08:39:37 +00:00
Anuj Kumar 34d1e94ba4 Translated using Weblate (Hindi)
Currently translated at 66.0% (200 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-12 08:39:36 +00:00
Eric 3ff6a2c269 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/zh_Hans/
2023-10-12 08:39:35 +00:00
solokot 2327c0a940 Translated using Weblate (Russian)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-10-12 08:39:35 +00:00
Sylvia van Os 520629c075 Merge pull request #1572 from CatimaLoyalty/fix/newNavigationBarButtonColors
Fix navigation bar button colors
2023-10-12 10:39:12 +02:00
Sylvia van Os 48446cdac6 Merge pull request #1573 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-12 00:05:56 +02:00
Sylvia van Os 0e61908265 Added translation using Weblate (Dutch) 2023-10-11 23:45:14 +02:00
109247019824 ead67942f1 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/bg/
2023-10-11 23:44:18 +02:00
Slávek Banko 43f36a1c99 Translated using Weblate (Czech)
Currently translated at 100.0% (303 of 303 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-10-11 23:44:17 +02:00
Sylvia van Os bd7de108b5 Merge pull request #1571 from CatimaLoyalty/fix/appTitleTranslatable
Make app title translatable
2023-10-11 23:13:20 +02:00
Sylvia van Os ef9a490d0b Make app title translatable 2023-10-11 22:57:29 +02:00
Sylvia van Os 4c26434f41 Fix navigation bar button colors 2023-10-11 21:23:54 +02:00
Sylvia van Os ffd2eccdbe Merge pull request #1570 from CatimaLoyalty/create-pull-request/patch-1696959980
Update locales
2023-10-10 19:55:15 +02:00
TheLastProject 214ec7d7fb Update locales 2023-10-10 17:46:20 +00:00
Sylvia van Os 269e0a1c2a Merge pull request #1569 from obfusk/add-locales
add locales: vi (enabled), kn (disabled), ml (disabled)
2023-10-10 19:45:59 +02:00
FC (Fay) Stegerman 21c9a63819 add locales: vi (enabled), kn (disabled), ml (disabled) 2023-10-09 23:43:26 +02:00
Sylvia van Os 0121541a9a Merge pull request #1567 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-09 23:24:30 +02:00
Sylvia van Os 48be5390ec Merge pull request #1568 from obfusk/gradle-update-update
update obfusk/gradle-update-action to v2.0.0 & use outputs.version
2023-10-09 23:23:35 +02:00
FC (Fay) Stegerman ca62ce8bcd update obfusk/gradle-update-action to v2.0.0 & use outputs.version 2023-10-09 22:36:31 +02:00
Yogesh 4ab6d0c5ab Translated using Weblate (Kannada)
Currently translated at 19.8% (60 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/kn/
2023-10-09 16:02:37 +02:00
Sylvia van Os 0c12533a8e Merge pull request #1563 from obfusk/gradle-update
CI: add workflow to update gradle
2023-10-09 09:49:49 +02:00
Sylvia van Os b983498bbc Merge pull request #1564 from CatimaLoyalty/dependabot/gradle/com.github.spotbugs-5.1.4
Bump com.github.spotbugs from 5.1.3 to 5.1.4
2023-10-09 09:39:22 +02:00
Sylvia van Os 54871a1479 Merge pull request #1565 from CatimaLoyalty/dependabot/github_actions/actions/setup-python-4.7.1
Bump actions/setup-python from 4.7.0 to 4.7.1
2023-10-09 09:39:00 +02:00
dependabot[bot] 5fb911b884 Bump actions/setup-python from 4.7.0 to 4.7.1
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.7.0...v4.7.1)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 02:35:22 +00:00
dependabot[bot] 8f05433ba3 Bump com.github.spotbugs from 5.1.3 to 5.1.4
Bumps com.github.spotbugs from 5.1.3 to 5.1.4.

---
updated-dependencies:
- dependency-name: com.github.spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 02:08:02 +00:00
FC (Fay) Stegerman 55b5285e62 CI: add workflow to update gradle 2023-10-09 02:22:18 +02:00
Sylvia van Os 4a920e3f83 Merge pull request #1554 from theimpulson/kotlinDSL
Migrate to Kotlin DSL
2023-10-08 16:53:50 +02:00
Sylvia van Os 1979006f2c Merge pull request #1562 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-08 16:02:45 +02:00
Govind S Nair a2ac7f7c41 Translated using Weblate (Hindi)
Currently translated at 64.5% (195 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-08 13:09:48 +00:00
redha salah 533930771b Translated using Weblate (Arabic)
Currently translated at 97.3% (294 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ar/
2023-10-08 13:09:47 +00:00
Balázs Meskó 4beceeebf2 Translated using Weblate (Hungarian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hu/
2023-10-08 13:09:46 +00:00
Yogesh f17f788d0b Added translation using Weblate (Kannada) 2023-10-08 13:09:45 +00:00
Sylvia van Os f6c82035f8 Merge pull request #1561 from theimpulson/gradleUpdate
Bump to latest stable Gradle version
2023-10-08 13:39:33 +02:00
Sylvia van Os fe9fbbfd57 Merge pull request #1560 from CatimaLoyalty/create-pull-request/patch-1696738468
Update contributors
2023-10-08 11:25:29 +02:00
Aayush Gupta e2cce91360 Bump to latest stable Gradle version
* Enforce sha256Sum verification (https://gradle.org/release-checksums/)
*  Run ./gradlew wrapper as well

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-08 11:22:22 +05:30
Aayush Gupta 9981a64bcd gradle.properties: Sync with official template
* Specify JVM memory to avoid OOM errors
* Drop nonTransitiveRClass and nonFinalResIds as they are true by default

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-08 11:17:59 +05:30
Aayush Gupta 757a942ecf Migrate to Kotlin DSL
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-08 11:17:52 +05:30
TheLastProject 6954090744 Update contributors 2023-10-08 04:14:28 +00:00
Sylvia van Os 24e18473bd Merge pull request #1558 from CatimaLoyalty/updateDonateLink
Update donate link
2023-10-08 00:29:30 +02:00
Sylvia van Os 207e83a582 Update donate link 2023-10-07 23:52:46 +02:00
Sylvia van Os 6ad1d9497c Merge pull request #1557 from CatimaLoyalty/create-pull-request/patch-1696678504
Update feature graphic
2023-10-07 13:38:58 +02:00
TheLastProject f728866645 Update feature graphic 2023-10-07 11:35:04 +00:00
Sylvia van Os f6f904ae39 Merge pull request #1556 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-07 13:33:35 +02:00
Eric 4160909a32 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-10-07 10:14:12 +02:00
Milan Šalka c990e40d0c Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-07 10:14:12 +02:00
Max d4e0b6d3cf Translated using Weblate (Polish)
Currently translated at 51.5% (67 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2023-10-07 10:14:12 +02:00
Slávek Banko 0197ae2f58 Translated using Weblate (Czech)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-10-07 10:14:12 +02:00
Skrripy dcb94f242f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-10-07 10:14:12 +02:00
solokot ab66304c72 Translated using Weblate (Russian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/ru/
2023-10-07 10:14:12 +02:00
Michael Gangolf ee7d9e2405 Translated using Weblate (German)
Currently translated at 92.3% (120 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2023-10-07 10:14:12 +02:00
Sylvia van Os 146a4676d5 Merge pull request #1552 from CatimaLoyalty/create-pull-request/patch-1696511388
Update feature graphic
2023-10-05 15:35:09 +02:00
TheLastProject 27da7913cb Update feature graphic 2023-10-05 13:09:48 +00:00
Sylvia van Os cb1cf607f5 Merge pull request #1551 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-05 15:08:13 +02:00
Sylvia van Os acf94600f8 Delete garbage translations that would crash the app 2023-10-05 15:00:55 +02:00
Đăng Tú a41124cc7b Translated using Weblate (Vietnamese)
Currently translated at 95.3% (288 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/vi/
2023-10-05 12:13:16 +00:00
Govind S Nair 0d0564b295 Translated using Weblate (Malayalam)
Currently translated at 26.4% (80 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ml/
2023-10-05 12:13:15 +00:00
Mohit ahlawat ba7a849c18 Translated using Weblate (Hindi)
Currently translated at 5.3% (7 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2023-10-05 12:13:15 +00:00
Govind S Nair b3b347cd9b Translated using Weblate (Hindi)
Currently translated at 61.2% (185 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-05 12:13:14 +00:00
Abdullah khan 2efdb5b9bb Translated using Weblate (Hindi)
Currently translated at 61.2% (185 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-05 12:13:13 +00:00
Milo Ivir c7961feb27 Translated using Weblate (Croatian)
Currently translated at 2.3% (3 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hr/
2023-10-05 12:13:12 +00:00
Milo Ivir 43c092915a Translated using Weblate (Croatian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2023-10-05 12:13:12 +00:00
Jiri Grönroos 720fbb4eae Translated using Weblate (Finnish)
Currently translated at 98.6% (298 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/fi/
2023-10-05 12:13:11 +00:00
Eric 0b888380e5 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/zh_Hans/
2023-10-05 12:13:09 +00:00
Milan Šalka 8b4fc8c76b Translated using Weblate (Slovak)
Currently translated at 99.2% (129 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/sk/
2023-10-05 12:13:08 +00:00
Max b9ade35828 Translated using Weblate (Polish)
Currently translated at 46.1% (60 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/pl/
2023-10-05 12:13:05 +00:00
Slávek Banko c990992f8b Translated using Weblate (Czech)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-10-05 12:13:04 +00:00
Skrripy 4a7907f991 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/uk/
2023-10-05 12:13:03 +00:00
Wonchul Kang 6f3bae96ff Translated using Weblate (Korean)
Currently translated at 97.0% (293 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ko/
2023-10-05 12:13:03 +00:00
Michael Gangolf 1a1ea44902 Translated using Weblate (German)
Currently translated at 100.0% (130 of 130 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2023-10-05 12:13:02 +00:00
Milan Šalka 4c9a560b53 Translated using Weblate (Slovak)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/sk/
2023-10-05 12:13:01 +00:00
Viviana Y 5cb822b295 Translated using Weblate (Spanish (Argentina))
Currently translated at 29.8% (90 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/es_AR/
2023-10-05 12:13:01 +00:00
Sylvia van Os df7b2ee4d0 Merge pull request #1550 from CatimaLoyalty/create-pull-request/patch-1696502161
Update Fastlane changelogs
2023-10-05 12:55:23 +02:00
TheLastProject 6871c48c8e Update Fastlane changelogs 2023-10-05 10:36:01 +00:00
Sylvia van Os 497458f04c Update CHANGELOG 2023-10-05 12:35:37 +02:00
Sylvia van Os a196969a93 Merge pull request #1547 from theimpulson/917
CatimaAppCompatActivity: Set navigation bar color on Android 8.1+
2023-10-05 12:33:05 +02:00
Aayush Gupta 76b65b45bc CatimaAppCompatActivity: Set navigation bar color on Android 8.1+
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-05 11:19:16 +05:30
Sylvia van Os eb9935bb83 Clean up contributor guidelines 2023-10-03 22:07:49 +02:00
Sylvia van Os 98c595696d Merge pull request #1535 from theimpulson/1498
Migrate to from OnBackPressed to OnBackPressedDispatcher
2023-10-02 20:37:23 +02:00
Sylvia van Os d484e83f47 Merge pull request #1545 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-02 12:56:14 +02:00
Sylvia van Os 19093b462c Merge pull request #1538 from CatimaLoyalty/create-pull-request/patch-1696175280
Update feature graphic
2023-10-02 12:55:50 +02:00
ngdangtu 8488352e77 Added translation using Weblate (Vietnamese) 2023-10-02 12:31:18 +02:00
Mohit ahlawat 38522564cf Translated using Weblate (Hindi)
Currently translated at 3.8% (5 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2023-10-02 05:04:56 +00:00
Mohit ahlawat e8e15b5432 Translated using Weblate (Hindi)
Currently translated at 54.6% (165 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-02 05:04:55 +00:00
Milo Ivir a032fc06a3 Translated using Weblate (Croatian)
Currently translated at 92.3% (279 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hr/
2023-10-02 05:04:54 +00:00
Govind S Nair a9d55f129b Added translation using Weblate (Malayalam) 2023-10-02 05:04:53 +00:00
Sylvia van Os 84b35aa464 Merge pull request #1544 from CatimaLoyalty/dependabot/gradle/com.android.application-8.1.2
Bump com.android.application from 8.1.1 to 8.1.2
2023-10-01 20:47:59 +02:00
Sylvia van Os 54342c4ee0 Merge pull request #1543 from CatimaLoyalty/dependabot/gradle/androidx.preference-preference-1.2.1
Bump androidx.preference:preference from 1.2.0 to 1.2.1
2023-10-01 20:46:16 +02:00
Sylvia van Os b89050b03c Merge pull request #1542 from CatimaLoyalty/dependabot/github_actions/actions/checkout-4.1.0
Bump actions/checkout from 4.0.0 to 4.1.0
2023-10-01 20:45:24 +02:00
dependabot[bot] 37eac1b9b7 Bump com.android.application from 8.1.1 to 8.1.2
Bumps com.android.application from 8.1.1 to 8.1.2.

---
updated-dependencies:
- dependency-name: com.android.application
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 18:38:24 +00:00
dependabot[bot] e4b287b3c2 Bump androidx.preference:preference from 1.2.0 to 1.2.1
Bumps androidx.preference:preference from 1.2.0 to 1.2.1.

---
updated-dependencies:
- dependency-name: androidx.preference:preference
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 18:38:19 +00:00
dependabot[bot] 7cef3c4a53 Bump actions/checkout from 4.0.0 to 4.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-01 18:36:17 +00:00
Sylvia van Os 6b39470890 Merge pull request #1541 from CatimaLoyalty/fix/dependabot
Work around https://github.com/dependabot/dependabot-core/issues/6888
2023-10-01 20:35:52 +02:00
Sylvia van Os 5f184db48d Work around https://github.com/dependabot/dependabot-core/issues/6888 2023-10-01 19:18:08 +02:00
Sylvia van Os 96c430dd8c Merge pull request #1540 from CatimaLoyalty/create-pull-request/patch-1696176353
Update Fastlane changelogs
2023-10-01 18:23:01 +02:00
TheLastProject be662f2e67 Update Fastlane changelogs 2023-10-01 16:05:52 +00:00
Sylvia van Os 3fdd4559b6 Update CHANGELOG 2023-10-01 18:05:29 +02:00
Sylvia van Os ecf9c0d1e2 Merge pull request #1526 from CatimaLoyalty/fix/showArchiveGroupBug
Fix incorrect UI updates when toggling showing archive if all cards in group are in archive
2023-10-01 18:04:49 +02:00
TheLastProject 67903c21d4 Update feature graphic 2023-10-01 15:47:59 +00:00
Sylvia van Os 5924c8616c Merge pull request #1537 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-10-01 17:46:46 +02:00
Mohit ahlawat 0f2f430b7f Translated using Weblate (Hindi)
Currently translated at 3.1% (4 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/hi/
2023-10-01 17:18:45 +02:00
Sajal Agarwal 4a99bad8be Translated using Weblate (Hindi)
Currently translated at 54.3% (164 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-01 17:18:45 +02:00
Michael Gangolf 9964fa5943 Translated using Weblate (German)
Currently translated at 100.0% (129 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/de/
2023-10-01 17:18:44 +02:00
Eryk Michalak b6860a8634 Translated using Weblate (Polish)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/pl/
2023-10-01 17:18:44 +02:00
Ziad OUALHADJ cc0ef2dc0e Translated using Weblate (Italian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/it/
2023-10-01 17:18:43 +02:00
Michael Gangolf 351504dc5f Translated using Weblate (German)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/de/
2023-10-01 17:18:43 +02:00
Aayush Gupta b2494d8fdc test: Migrate to from OnBackPressed to OnBackPressedDispatcher
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-01 19:32:16 +05:30
Aayush Gupta aea1ea0cbf Migrate to from OnBackPressed to OnBackPressedDispatcher
Closes: https://github.com/CatimaLoyalty/Android/issues/1498

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-10-01 18:51:06 +05:30
Sajal Agarwal ff9f22e4bd Translated using Weblate (Hindi)
Currently translated at 53.9% (163 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/hi/
2023-10-01 08:40:43 +00:00
Sylvia van Os fb13e0ab30 Translated using Weblate (Ukrainian)
Currently translated at 99.6% (301 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-10-01 08:40:42 +00:00
Sylvia van Os 443685c26e Translated using Weblate (English)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/en/
2023-10-01 08:40:41 +00:00
Skrripy bd362f1ac0 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/uk/
2023-10-01 08:40:41 +00:00
Shams Sami b23606ed3b Translated using Weblate (English)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/en/
2023-10-01 08:40:40 +00:00
Sylvia van Os 2344b6367f Merge pull request #1533 from CatimaLoyalty/create-pull-request/patch-1696133596
Update contributors
2023-10-01 10:37:20 +02:00
TheLastProject 394f15bed8 Update contributors 2023-10-01 04:13:15 +00:00
Sylvia van Os 83d7422b9c Merge pull request #1532 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-09-30 17:44:50 +02:00
Slávek Banko a7246cf786 Translated using Weblate (Czech)
Currently translated at 100.0% (129 of 129 strings)

Translation: Catima/Android (Fastlane)
Translate-URL: https://hosted.weblate.org/projects/catima/fastlane/cs/
2023-09-30 13:01:13 +00:00
Slávek Banko 7abcd5b0cd Translated using Weblate (Czech)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/cs/
2023-09-30 13:01:12 +00:00
Sylvia van Os a2b224df9b Merge pull request #1529 from weblate/weblate-catima-catima
Translations update from Hosted Weblate
2023-09-29 17:22:16 +02:00
solokot 4542da4c38 Translated using Weblate (Russian)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/ru/
2023-09-29 14:00:25 +02:00
Heimen Stoffels 3c92c53164 Translated using Weblate (Dutch)
Currently translated at 100.0% (302 of 302 strings)

Translation: Catima/Android
Translate-URL: https://hosted.weblate.org/projects/catima/catima/nl/
2023-09-29 14:00:25 +02:00
Sylvia van Os d66176e628 Fix incorrect UI updates when toggling showing archive if all cards in group are in archive
The callback used by the display options menu bypassed the card counter.
This used to work fine as the visible count used to remain the same but
when toggling the visibility of archived cards was added to the display
menu this caused the UI to get stuck with a wrong idea of how many cards
are visible.
2023-09-27 17:52:44 +02:00
728 changed files with 4257 additions and 1617 deletions

No files matched your search

+20
View File
@@ -2,9 +2,29 @@ version: 2
updates:
- package-ecosystem: "gradle"
directory: "/"
registries:
- google
- gradlePluginPortal
- jitpack
- mavenCentral
schedule:
interval: "daily"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
# Workaround for https://github.com/dependabot/dependabot-core/issues/6888
registries:
google:
type: maven-repository
url: "https://dl.google.com/dl/android/maven2/"
gradlePluginPortal:
type: maven-repository
url: "https://plugins.gradle.org/m2/"
jitpack:
type: maven-repository
url: "https://jitpack.io/"
mavenCentral:
type: maven-repository
url: "https://repo1.maven.org/maven2/"
+3 -3
View File
@@ -29,10 +29,10 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.0.0
- uses: actions/checkout@v4.1.1
- name: Fail on bad translations
run: if grep -ri "&lt;xliff" app/src/main/res/values*/strings.xml; then echo "Invalidly escaped translations found"; exit 1; fi
- uses: gradle/wrapper-validation-action@v1
- uses: gradle/wrapper-validation-action@v2
- name: set up OpenJDK 17
run: |
sudo apt-get update
@@ -48,7 +48,7 @@ jobs:
run: ./gradlew spotbugsRelease
- name: Archive test results
if: always()
uses: actions/upload-artifact@v3.1.3
uses: actions/upload-artifact@v4.3.1
with:
name: test-results
path: app/build/reports
+3 -3
View File
@@ -27,15 +27,15 @@ jobs:
steps:
- name: Checkout repo
id: checkout
uses: actions/checkout@v4.0.0
uses: actions/checkout@v4.1.1
- name: Setup Python
uses: actions/setup-python@v4.7.0
uses: actions/setup-python@v5.0.0
with:
python-version: '3.x'
- name: Run converter script
run: python .scripts/changelog_to_fastlane.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update Fastlane changelogs"
commit-message: "Update Fastlane changelogs"
+4 -3
View File
@@ -25,14 +25,15 @@ jobs:
steps:
- name: Checkout repo
id: checkout
uses: actions/checkout@v4.0.0
uses: actions/checkout@v4.1.1
- name: Update contributors
id: update_contributors
uses: TheLastProject/contributors-to-file-action@v3.0.1
uses: TheLastProject/contributors-to-file-action@v3.2.0
with:
file_in_repo: app/src/main/res/raw/contributors.txt
min_commit_count: 5
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update contributors"
commit-message: "Update contributors"
+3 -35
View File
@@ -24,7 +24,7 @@ jobs:
generate-feature-graphic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.0.0
- uses: actions/checkout@v4.1.1
- name: Install requirements
run: |
sudo apt-get update
@@ -36,41 +36,9 @@ jobs:
find .scripts/generate_feature_graphic/fonts -name '*.ttf' -exec cp {} "$HOME/.fonts" \;
fc-cache
- name: Generate featureGraphic.png for each language
run: |
for lang in fastlane/metadata/android/*; do
pushd "$lang"
# Place temporary copy for editing if needed
cp ../../../../.scripts/generate_feature_graphic/featureGraphic.svg featureGraphic.svg
# Extract text after 'Catima - '
export subtext="$(grep -oP '(?<=Catima \S ).*' title.txt || true)"
# If there is subtext, change the .svg accordingly
if [ -n "$subtext" ]; then
perl -pi -e 's/Loyalty Card Wallet/$ENV{subtext}/' featureGraphic.svg
# Set correct font for language if needed (Lexend Deca has limited support)
# We specifically need the Serif version because of the 200 weight
case "$(basename "$lang")" in
bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;;
ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;;
ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;;
zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;;
zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;;
*) ;;
esac
fi
# Ensure images directory exists
mkdir -p images
# Generate .png
convert featureGraphic.svg images/featureGraphic.png
# Optimize .png
optipng images/featureGraphic.png
# Remove metadata (timestamps) from .png
mat2 --inplace images/featureGraphic.png
# Remove temporary .svg
rm featureGraphic.svg
popd
done
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update feature graphic"
commit-message: "Update feature graphic"
+33
View File
@@ -0,0 +1,33 @@
name: Gradle update
on:
workflow_dispatch:
schedule:
- cron: '3 6 * * *'
permissions:
actions: none
checks: none
contents: write
deployments: none
discussions: none
id-token: none
issues: none
packages: none
pages: none
pull-requests: write
repository-projects: none
security-events: none
statuses: none
jobs:
gradle-update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.1
- uses: obfusk/gradle-update-action@v2.0.0
id: gradle-update
- uses: gradle/wrapper-validation-action@v2
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
branch-suffix: timestamp
+5 -2
View File
@@ -5,6 +5,7 @@ on:
branches:
- main
paths:
- app/src/main/res/values-*/strings.xml
- app/src/main/res/values/settings.xml
permissions:
actions: none
@@ -24,11 +25,13 @@ jobs:
update-locales:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.0.0
- uses: actions/checkout@v4.1.1
- name: Add new locales
run: .scripts/new-locales.py
- name: Update locales
run: .scripts/locales.py
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5.0.2
uses: peter-evans/create-pull-request@v6.0.0
with:
title: "Update locales"
commit-message: "Update locales"
+19 -7
View File
@@ -1,13 +1,25 @@
# Android Studio generated (superseded/unused rules commented out)
*.iml
.gradle
local.properties
.idea/
/local.properties
#/.idea/caches
#/.idea/libraries
#/.idea/modules.xml
#/.idea/workspace.xml
#/.idea/navEditor.xml
#/.idea/assetWizardSettings.xml
.DS_Store
build/
captures/
**/release
**/debug
app/*.log
/build
/captures
.externalNativeBuild
.cxx
#local.properties
# Android extras
/app/*.log
/app/build
/app/release
/.idea
# Bundle
/.bundle/
@@ -0,0 +1,51 @@
#!/bin/bash
set -euo pipefail
script_location="$(dirname "$(readlink -f "$0")")"
for lang in "$script_location/../../fastlane/metadata/android/"*; do
pushd "$lang"
# Place temporary copy for editing if needed
cp "$script_location/featureGraphic.svg" featureGraphic.svg
if grep -q — title.txt; then
# Try splitting title.txt on — (em dash)
IFS='—' read -r appname subtext < title.txt
elif grep -q title.txt; then
# No result, try splitting title.txt on (en dash)
IFS='' read -r appname subtext < title.txt
else
# No result, try splitting on - (dash)
IFS='-' read -r appname subtext < title.txt
fi
export appname=${appname%% }
export subtext=${subtext## }
# If there is subtext, change the .svg accordingly
if [ -n "$subtext" ]; then
perl -pi -e 's/Catima/$ENV{appname}/' featureGraphic.svg
perl -pi -e 's/Loyalty Card Wallet/$ENV{subtext}/' featureGraphic.svg
# Set correct font or font size for language if needed
# (Lexend Deca has limited support and some characters are big)
# We specifically need the Serif version because of the 200 weight
case "$(basename "$lang")" in
bg|el-GR|ru-RU|uk) sed -i "s/Lexend Deca/Noto Serif/" featureGraphic.svg ;;
hi-IN) sed -i -e "s/Yesteryear/Noto Serif Devanagari/" -e "s/Lexend Deca/Noto Serif Devanagari/" featureGraphic.svg ;;
ja-JP) sed -i "s/Lexend Deca/Noto Serif CJK JP/" featureGraphic.svg ;;
ko) sed -i "s/Lexend Deca/Noto Serif CJK KR/" featureGraphic.svg ;;
kn-IN) sed -i -e 's/font-size="150"/font-size="100"/' -e 's/y="285.511"/y="235.511"/' featureGraphic.svg ;;
zh-CN) sed -i "s/Lexend Deca/Noto Serif CJK SC/" featureGraphic.svg ;;
zh-TW) sed -i "s/Lexend Deca/Noto Serif CJK TC/" featureGraphic.svg ;;
*) ;;
esac
fi
# Ensure images directory exists
mkdir -p images
# Generate .png
convert featureGraphic.svg images/featureGraphic.png
# Optimize .png
optipng images/featureGraphic.png
# Remove metadata (timestamps) from .png
mat2 --inplace images/featureGraphic.png
# Remove temporary .svg
rm featureGraphic.svg
popd
done
+2 -2
View File
@@ -19,8 +19,8 @@ res = ", ".join(f'"{loc}"' for loc in locales)
sed = [
"sed",
"-i",
f"s/resourceConfigurations .*/resourceConfigurations += [{res}]/",
"app/build.gradle"
f"s/resourceConfigurations .*/resourceConfigurations += listOf({res})/",
"app/build.gradle.kts"
]
subprocess.run(sed, check=True)
+120
View File
@@ -0,0 +1,120 @@
#!/usr/bin/python3
import glob
import re
from typing import Iterator, List, Tuple
import requests
MIN_PERCENT = 90
NOT_LANGS = ("night", "w600dp")
REPLACE_CODES = {
"el": "el-rGR",
"id": "in-rID",
"ro": "ro-rRO",
"zh_Hans": "zh-rCN",
"zh_Hant": "zh-rTW",
}
STATS_URL = "https://hosted.weblate.org/api/components/catima/catima/statistics/"
def get_weblate_langs() -> List[Tuple[str, int]]:
r = requests.get(STATS_URL, timeout=5)
r.raise_for_status()
results = []
for lang in r.json()["results"]:
if lang["code"] != "en":
code = REPLACE_CODES.get(lang["code"], lang["code"]).replace("_", "-r")
results.append((code, round(lang["translated_percent"])))
return sorted(results)
def get_dir_langs() -> List[str]:
results = []
for d in glob.glob("app/src/main/res/values-*"):
code = d.split("-", 1)[1]
if code not in NOT_LANGS:
results.append(code)
return sorted(results)
def get_xml_langs() -> List[Tuple[str, bool]]:
results = []
in_section = False
with open("app/src/main/res/values/settings.xml") as fh:
for line in fh:
if not in_section and 'name="locale_values"' in line:
in_section = True
elif in_section:
if "string-array" in line:
break
disabled = "<!--" in line
if m := re.search(r">(.*)<", line):
if m[1] != "en":
results.append((m[1], disabled))
return sorted(results)
def update_xml_langs(langs: List[Tuple[str, bool]]) -> None:
lines: List[str] = []
in_section = False
with open("app/src/main/res/values/settings.xml") as fh:
for line in fh:
if not in_section and 'name="locale_values"' in line:
in_section = True
elif in_section:
if "string-array" in line:
in_section = False
lines.extend(_lang_lines(langs))
else:
continue
lines.append(line)
with open("app/src/main/res/values/settings.xml", "w") as fh:
for line in lines:
fh.write(line)
def _lang_lines(langs: List[Tuple[str, bool]]) -> Iterator[str]:
yield " <item />\n"
for lang, disabled in sorted(langs + [("en", False)]):
if disabled:
yield f" <!-- <item>{lang}</item> -->\n"
else:
yield f" <item>{lang}</item>\n"
def main() -> None:
web_langs = get_weblate_langs()
dir_langs = get_dir_langs()
xml_langs = get_xml_langs()
web_codes = set(code for code, _ in web_langs)
dir_codes = set(dir_langs)
xml_codes = set(code for code, _ in xml_langs)
if diff := web_codes - dir_codes:
print(f"WARNING: Weblate codes w/o dir: {diff}")
if diff := xml_codes - dir_codes:
print(f"WARNING: XML codes w/o dir: {diff}")
percentages = dict(web_langs)
all_langs = xml_langs[:]
# add new langs as disabled
for code in dir_codes - xml_codes:
all_langs.append((code, True))
# enable disabled langs if they are at least MIN_PERCENT translated now
updated_langs = sorted(
(code, percentages[code] < MIN_PERCENT if disabled else disabled)
for code, disabled in all_langs
)
if updated_langs != xml_langs:
print("Updating...")
update_xml_langs(updated_langs)
if __name__ == "__main__":
main()
+11 -1
View File
@@ -1,9 +1,19 @@
# Changelog
## Unreleased - 132
## Unreleased - 133
- Target Android 14
- Open card icon in gallery on touch
- Improve design of Photos tab in edit view
## v2.27.0 - 132 (2024-01-30)
- Refine "Add card" workflow
- Validation flow improvements
- Fix edge case causing invalid UI state when toggling showing archive
- Use theme or card colour for navigation bar (Android 8.1+)
- Updated validity and expiry date selector
- Add option to always rotate (ignoring system settings)
## v2.26.0 - 131 (2023-09-14)
+6 -42
View File
@@ -1,13 +1,15 @@
How to Submit Patches to the Catima Project
===============================================================================
https://github.com/TheLastProject/Catima
# How to Submit Patches to the Catima Project
This document is intended to act as a guide to help you contribute to the
Catima project. It is not perfect, and there will always be exceptions
Catima project. It is not perfect, and there will always be exceptions
to the rules described here, but by following the instructions below you
should have a much easier time getting your work merged with the upstream
project.
When contributing, you certify that you agree to and have the rights to submit
your contribution under the project's license and understand that git will
store your name and email address in project history indefinitely.
## Translation Changes
Translation changes are managed through [Weblate](https://hosted.weblate.org/projects/catima/).
@@ -57,44 +59,6 @@ if you can describe/include a reproducer for the problem in the description as
well as instructions on how to test for the bug and verify that it has been
fixed.
### Sign Your Work
The sign-off is a simple line at the end of the patch description, which
certifies that you wrote it or otherwise have the right to pass it on as an
open-source patch. The "Developer's Certificate of Origin" pledge is taken
from the Linux Kernel and the rules are pretty simple:
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
... then you just add a line to the bottom of your patch description, with
your real name, saying:
Signed-off-by: Random J Developer <random@developer.example.org>
### Submit Patch(es) for Review
Finally, you will need to submit your patches so that they can be reviewed
+35 -40
View File
@@ -3,25 +3,25 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
addressable (2.8.5)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.824.0)
aws-sdk-core (3.181.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-eventstream (1.3.0)
aws-partitions (1.884.0)
aws-sdk-core (3.191.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.71.0)
aws-sdk-core (~> 3, >= 3.177.0)
aws-sdk-kms (1.77.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.134.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-s3 (1.143.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
aws-sigv4 (1.6.0)
aws-sigv4 (~> 1.8)
aws-sigv4 (1.8.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
@@ -32,11 +32,10 @@ GEM
declarative (0.0.20)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.103.0)
excon (0.109.0)
faraday (1.10.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
@@ -65,8 +64,8 @@ GEM
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.7)
fastlane (2.215.1)
fastimage (2.3.0)
fastlane (2.219.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@@ -85,6 +84,7 @@ GEM
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
@@ -93,7 +93,7 @@ GEM
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
optparse (>= 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
@@ -107,9 +107,9 @@ GEM
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.49.0)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.1)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
@@ -117,28 +117,27 @@ GEM
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.19.0)
google-apis-core (>= 0.9.0, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.6.1)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.3.1)
google-cloud-storage (1.44.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.19.0)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.8.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
multi_json (~> 1.11)
@@ -149,7 +148,7 @@ GEM
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.2)
json (2.6.3)
json (2.7.1)
jwt (2.7.1)
mini_magick (4.12.0)
mini_mime (1.1.5)
@@ -157,11 +156,11 @@ GEM
multipart-post (2.3.0)
nanaimo (0.3.0)
naturally (2.2.1)
optparse (0.1.1)
optparse (0.4.0)
os (1.1.4)
plist (3.7.0)
public_suffix (5.0.3)
rake (13.0.6)
plist (3.7.1)
public_suffix (5.0.4)
rake (13.1.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
@@ -185,17 +184,13 @@ GEM
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
webrick (1.8.1)
unicode-display_width (2.5.0)
word_wrap (1.0.0)
xcodeproj (1.22.0)
xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
-146
View File
@@ -1,146 +0,0 @@
import com.github.spotbugs.snom.SpotBugsTask
plugins {
id 'com.android.application'
id 'com.github.spotbugs'
}
spotbugs {
ignoreFailures = false
effort = 'max'
excludeFilter = file("./config/spotbugs/exclude.xml")
reportsDir = file("$buildDir/reports/spotbugs/")
}
android {
compileSdk 33
defaultConfig {
applicationId "me.hackerchick.catima"
minSdk 21
targetSdk 33
versionCode 131
versionName "2.26.0"
vectorDrawables.useSupportLibrary true
multiDexEnabled true
resourceConfigurations += ["ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "zh-rTW", "zh-rCN"]
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
resValue "string", "app_name", "Catima"
}
debug {
applicationIdSuffix ".debug"
resValue "string", "app_name", "Catima Debug"
}
}
buildFeatures {
viewBinding true
}
bundle {
language {
enableSplit = false
}
}
compileOptions {
encoding "UTF-8"
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
sourceSets {
test {
resources.srcDirs += ['src/test/res']
}
}
// Starting with Android Studio 3 Robolectric is unable to find resources.
// The following allows it to find the resources.
testOptions {
unitTests {
all {
testLogging {
events 'started', 'passed', 'skipped', 'failed'
}
}
includeAndroidResources true
}
}
lint {
lintConfig file('lint.xml')
}
namespace 'protect.card_locker'
}
dependencies {
// AndroidX
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.exifinterface:exifinterface:1.3.6'
implementation 'androidx.palette:palette:1.0.0'
implementation 'androidx.preference:preference:1.2.0'
implementation 'com.google.android.material:material:1.9.0'
implementation 'com.github.yalantis:ucrop:2.2.8'
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'
// Splash Screen
implementation 'androidx.core:core-splashscreen:1.0.1'
// Third-party
implementation 'com.journeyapps:zxing-android-embedded:4.3.0@aar'
implementation 'com.google.zxing:core:3.5.2'
implementation 'org.apache.commons:commons-csv:1.9.0'
implementation 'com.jaredrummler:colorpicker:1.1.0'
implementation 'net.lingala.zip4j:zip4j:2.11.5'
// SpotBugs
implementation 'io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0'
// Testing
testImplementation 'androidx.test:core:1.5.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.10.3'
}
tasks.withType(SpotBugsTask) {
description 'Run spotbugs'
group 'verification'
//classes = fileTree('build/intermediates/javac/debug/compileDebugJavaWithJavac/classes')
//source = fileTree('src/main/java')
//classpath = files()
reports {
xml.enabled = false
html.enabled = true
}
}
tasks.register('copyRawResFiles', Copy) {
from layout.projectDirectory.file("../CHANGELOG.md"),
layout.projectDirectory.file("../PRIVACY.md")
into layout.projectDirectory.dir("src/main/res/raw")
rename { String fileName -> fileName.toLowerCase() }
}
project.afterEvaluate {
tasks.each { task ->
if (task != copyRawResFiles) {
task.dependsOn(copyRawResFiles)
}
}
}
+145
View File
@@ -0,0 +1,145 @@
import com.android.build.gradle.internal.tasks.factory.dependsOn
import com.github.spotbugs.snom.SpotBugsTask
plugins {
id("com.android.application")
id("com.github.spotbugs")
}
spotbugs {
ignoreFailures.set(false)
setEffort("max")
excludeFilter.set(file("./config/spotbugs/exclude.xml"))
reportsDir.set(layout.buildDirectory.file("reports/spotbugs/").get().asFile)
}
android {
namespace = "protect.card_locker"
compileSdk = 34
defaultConfig {
applicationId = "me.hackerchick.catima"
minSdk = 21
targetSdk = 34
versionCode = 132
versionName = "2.27.0"
vectorDrawables.useSupportLibrary = true
multiDexEnabled = true
resourceConfigurations += listOf("ar", "bg", "bn", "bn-rIN", "bs", "cs", "da", "de", "el-rGR", "en", "eo", "es", "es-rAR", "fi", "fr", "he-rIL", "hi", "hr", "hu", "in-rID", "is", "it", "ja", "ko", "lt", "lv", "nb-rNO", "nl", "oc", "pl", "pt-rPT", "ro-rRO", "ru", "sk", "sl", "sv", "tr", "uk", "vi", "zh-rCN", "zh-rTW")
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro"
)
}
debug {
applicationIdSuffix = ".debug"
}
}
buildFeatures {
buildConfig = true
viewBinding = true
}
bundle {
language {
enableSplit = false
}
}
compileOptions {
encoding = "UTF-8"
// Flag to enable support for the new language APIs
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
sourceSets {
getByName("test") {
resources.srcDirs("src/test/res")
}
}
// Starting with Android Studio 3 Robolectric is unable to find resources.
// The following allows it to find the resources.
testOptions.unitTests.isIncludeAndroidResources = true
tasks.withType<Test>().configureEach {
testLogging {
events("started", "passed", "skipped", "failed")
}
}
lint {
lintConfig = file("lint.xml")
}
}
dependencies {
// AndroidX
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
implementation("androidx.exifinterface:exifinterface:1.3.7")
implementation("androidx.palette:palette:1.0.0")
implementation("androidx.preference:preference:1.2.1")
implementation("com.google.android.material:material:1.11.0")
implementation("com.github.yalantis:ucrop:2.2.8")
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
// Splash Screen
implementation("androidx.core:core-splashscreen:1.0.1")
// Third-party
implementation("com.journeyapps:zxing-android-embedded:4.3.0@aar")
implementation("com.google.zxing:core:3.5.3")
implementation("org.apache.commons:commons-csv:1.9.0")
implementation("com.jaredrummler:colorpicker:1.1.0")
implementation("net.lingala.zip4j:zip4j:2.11.5")
// SpotBugs
implementation("io.wcm.tooling.spotbugs:io.wcm.tooling.spotbugs.annotations:1.0.0")
// Testing
testImplementation("androidx.test:core:1.5.0")
testImplementation("junit:junit:4.13.2")
testImplementation("org.robolectric:robolectric:4.11.1")
}
tasks.withType<SpotBugsTask>().configureEach {
description = "Run spotbugs"
group = "verification"
//classes = fileTree("build/intermediates/javac/debug/compileDebugJavaWithJavac/classes")
//source = fileTree("src/main/java")
//classpath = files()
reports.maybeCreate("xml").required.set(false)
reports.maybeCreate("html").required.set(true)
}
tasks.register("copyRawResFiles", Copy::class) {
from(
layout.projectDirectory.file("../CHANGELOG.md"),
layout.projectDirectory.file("../PRIVACY.md")
)
into(layout.projectDirectory.dir("src/main/res/raw"))
rename { it.lowercase() }
}.also {
tasks.preBuild.dependsOn(it)
tasks.getByName<Delete>("clean") {
val filesNamesToDelete = listOf("CHANGELOG", "PRIVACY")
filesNamesToDelete.forEach { fileName ->
delete(layout.projectDirectory.file("src/main/res/raw/${fileName.lowercase()}.md"))
}
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
# By default, the flags in this file are appended to flags specified
# in /Users/brarcher/Library/Android/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
# directive in build.gradle.kts.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Depuración de Catima</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Débogage de Catima</string>
</resources>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">कैटिमा डीबग</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ಕ್ಯಾಟಿಮಾ ಡೀಬಗ್</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima 디버그</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima-avlusing</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima-foutopsporing</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Depuração Catima</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Depanare Catima</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Отладка Catima</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+2
View File
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Hata Ayaklama</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima Debug</string>
</resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Gỡ lỗi Catima</string>
</resources>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Catima 调试</string>
</resources>
@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<resources></resources>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Catima Debug</string>
</resources>
+3 -1
View File
@@ -24,6 +24,7 @@
<application
android:name=".LoyaltyCardLockerApplication"
android:allowBackup="true"
android:enableOnBackInvokedCallback="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
@@ -32,7 +33,6 @@
<activity
android:name=".MainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.App.Starting">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -111,10 +111,12 @@
android:name=".preferences.SettingsActivity"
android:label="@string/settings"
android:theme="@style/AppTheme.NoActionBar" />
<!-- FIXME: locked screenOrientation is a workaround for https://github.com/CatimaLoyalty/Android/issues/1715, remove when https://github.com/CatimaLoyalty/Android/issues/513 is fixed -->
<activity
android:name=".ImportExportActivity"
android:label="@string/importExport"
android:exported="true"
android:screenOrientation="locked"
android:theme="@style/AppTheme.NoActionBar">
<!-- ZIP Intent Filter -->
@@ -7,11 +7,11 @@ import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import protect.card_locker.databinding.AboutActivityBinding;
public class AboutActivity extends CatimaAppCompatActivity {
@@ -43,7 +43,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
binding.privacy.setTag("https://catima.app/privacy-policy/");
binding.reportError.setTag("https://github.com/CatimaLoyalty/Android/issues");
binding.rate.setTag("https://play.google.com/store/apps/details?id=me.hackerchick.catima");
binding.donate.setTag("https://catima.app/contribute/#donating");
binding.donate.setTag("https://catima.app/donate");
boolean installedFromGooglePlay = Utils.installedFromGooglePlay(this);
// Hide Google Play rate button if not on Google Play
@@ -98,11 +98,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
}
private void showCredits() {
new MaterialAlertDialogBuilder(this)
.setTitle(R.string.credits)
.setMessage(content.getContributorInfo())
.setPositiveButton(R.string.ok, null)
.show();
showHTML(R.string.credits, content.getContributorInfo(), null);
}
private void showHistory(View view) {
@@ -117,7 +113,7 @@ public class AboutActivity extends CatimaAppCompatActivity {
showHTML(R.string.privacy_policy, content.getPrivacyInfo(), view);
}
private void showHTML(@StringRes int title, final Spanned text, View view) {
private void showHTML(@StringRes int title, final Spanned text, @Nullable View view) {
int dialogContentPadding = getResources().getDimensionPixelSize(R.dimen.alert_dialog_content_padding);
TextView textView = new TextView(this);
textView.setText(text);
@@ -125,12 +121,21 @@ public class AboutActivity extends CatimaAppCompatActivity {
ScrollView scrollView = new ScrollView(this);
scrollView.addView(textView);
scrollView.setPadding(dialogContentPadding, dialogContentPadding / 2, dialogContentPadding, 0);
new MaterialAlertDialogBuilder(this)
// Create dialog
MaterialAlertDialogBuilder materialAlertDialogBuilder = new MaterialAlertDialogBuilder(this);
materialAlertDialogBuilder
.setTitle(title)
.setView(scrollView)
.setPositiveButton(R.string.ok, null)
.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view))
.show();
.setPositiveButton(R.string.ok, null);
// Add View online button if an URL is linked to this view
if (view != null && view.getTag() != null) {
materialAlertDialogBuilder.setNeutralButton(R.string.view_online, (dialog, which) -> openExternalBrowser(view));
}
// Show dialog
materialAlertDialogBuilder.show();
}
private void openExternalBrowser(View view) {
@@ -129,19 +129,19 @@ public class AboutContent {
return result.toString();
}
public String getContributorInfo() {
public Spanned getContributorInfo() {
StringBuilder contributorInfo = new StringBuilder();
contributorInfo.append(getCopyright());
contributorInfo.append("\n\n");
contributorInfo.append("<br/><br/>");
contributorInfo.append(context.getString(R.string.app_copyright_old));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_contributors), getContributors()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("\n\n");
contributorInfo.append(HtmlCompat.fromHtml(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()), HtmlCompat.FROM_HTML_MODE_COMPACT));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_contributors), getContributors()));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_libraries), getThirdPartyLibraries()));
contributorInfo.append("<br/><br/>");
contributorInfo.append(String.format(context.getString(R.string.app_resources), getUsedThirdPartyAssets()));
return contributorInfo.toString();
return HtmlCompat.fromHtml(contributorInfo.toString(), HtmlCompat.FROM_HTML_MODE_COMPACT);
}
public Spanned getHistoryInfo() {
@@ -12,12 +12,12 @@ import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.widget.Toolbar;
import com.google.zxing.BarcodeFormat;
import java.util.ArrayList;
import androidx.appcompat.widget.Toolbar;
import protect.card_locker.databinding.BarcodeSelectorActivityBinding;
/**
@@ -15,13 +15,13 @@ import android.service.controls.actions.ControlAction;
import android.service.controls.templates.StatelessTemplate;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import java.util.List;
import java.util.concurrent.Flow;
import java.util.function.Consumer;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
@RequiresApi(Build.VERSION_CODES.R)
public class CardsOnPowerScreenService extends ControlsProviderService {
@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -13,6 +14,8 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.WindowInsetsControllerCompat;
public class CatimaAppCompatActivity extends AppCompatActivity {
protected boolean activityOverridesNavBarColor = false;
@Override
protected void attachBaseContext(Context base) {
// Apply chosen language
@@ -30,20 +33,31 @@ public class CatimaAppCompatActivity extends AppCompatActivity {
super.onPostCreate(savedInstanceState);
// material 3 designer does not consider status bar colors
// XXX changing this in onCreate causes issues with the splash screen activity, so doing this here
boolean darkMode = Utils.isDarkModeEnabled(this);
if (Build.VERSION.SDK_INT >= 23) {
View decorView = getWindow().getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(getWindow(), decorView);
wic.setAppearanceLightStatusBars(!darkMode);
getWindow().setStatusBarColor(Color.TRANSPARENT);
} else {
// icons are always white back then
getWindow().setStatusBarColor(darkMode ? Color.TRANSPARENT : Color.argb(127, 0, 0, 0));
Window window = getWindow();
if (window != null) {
boolean darkMode = Utils.isDarkModeEnabled(this);
if (Build.VERSION.SDK_INT >= 23) {
View decorView = window.getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
wic.setAppearanceLightStatusBars(!darkMode);
window.setStatusBarColor(Color.TRANSPARENT);
} else {
// icons are always white back then
window.setStatusBarColor(darkMode ? Color.TRANSPARENT : Color.argb(127, 0, 0, 0));
}
}
// XXX android 9 and below has a nasty rendering bug if the theme was patched earlier
Utils.postPatchColors(this);
}
@Override
protected void onResume() {
super.onResume();
if (!activityOverridesNavBarColor) {
Utils.setNavigationBarColor(this, null, Utils.resolveBackgroundColor(this), !Utils.isDarkModeEnabled(this));
}
}
protected void enableToolbarBackButton() {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
@@ -8,14 +8,12 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import protect.card_locker.databinding.GroupLayoutBinding;
import protect.card_locker.preferences.Settings;
public class GroupCursorAdapter extends BaseCursorAdapter<GroupCursorAdapter.GroupListItemViewHolder> {
public final Context mContext;
@@ -1,10 +1,8 @@
package protect.card_locker;
import android.Manifest;
import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.InputType;
@@ -16,23 +14,20 @@ import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import protect.card_locker.async.TaskHandler;
import protect.card_locker.databinding.ImportExportActivityBinding;
import protect.card_locker.importexport.DataFormat;
@@ -4,13 +4,13 @@ import android.database.Cursor;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.math.BigDecimal;
import java.util.Currency;
import java.util.Date;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class LoyaltyCard implements Parcelable {
public final int id;
public final String store;
@@ -15,13 +15,6 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.color.MaterialColors;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
@@ -29,6 +22,13 @@ import androidx.core.graphics.BlendModeColorFilterCompat;
import androidx.core.graphics.BlendModeCompat;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.card.MaterialCardView;
import com.google.android.material.color.MaterialColors;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.util.ArrayList;
import protect.card_locker.databinding.LoyaltyCardLayoutBinding;
public class LoyaltyCardCursorAdapter extends BaseCursorAdapter<LoyaltyCardCursorAdapter.LoyaltyCardListItemViewHolder> {
@@ -2,8 +2,6 @@ package protect.card_locker;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
@@ -29,33 +27,34 @@ import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
import androidx.exifinterface.media.ExifInterface;
import androidx.fragment.app.DialogFragment;
import com.google.android.material.chip.Chip;
import com.google.android.material.chip.ChipGroup;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.datepicker.CalendarConstraints;
import com.google.android.material.datepicker.DateValidatorPointBackward;
import com.google.android.material.datepicker.DateValidatorPointForward;
import com.google.android.material.datepicker.MaterialDatePicker;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import com.jaredrummler.android.colorpicker.ColorPickerDialog;
import com.jaredrummler.android.colorpicker.ColorPickerDialogListener;
@@ -74,7 +73,6 @@ import java.util.Calendar;
import java.util.Collections;
import java.util.Currency;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -94,6 +92,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
private final String STATE_TAB_INDEX = "savedTab";
private final String STATE_TEMP_CARD = "tempLoyaltyCard";
private final String STATE_TEMP_CARD_FIELD = "tempLoyaltyCardField";
private final String STATE_REQUESTED_IMAGE = "requestedImage";
private final String STATE_FRONT_IMAGE_UNSAVED = "frontImageUnsaved";
private final String STATE_BACK_IMAGE_UNSAVED = "backImageUnsaved";
@@ -105,6 +104,9 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
private final String STATE_ICON_REMOVED = "iconRemoved";
private final String STATE_OPEN_SET_ICON_MENU = "openSetIconMenu";
private static final String PICK_DATE_REQUEST_KEY = "pick_date_request";
private static final String NEWLY_PICKED_DATE_ARGUMENT_KEY = "newly_picked_date";
private final String TEMP_CAMERA_IMAGE_NAME = LoyaltyCardEditActivity.class.getSimpleName() + "_camera_image.jpg";
private final String TEMP_CROP_IMAGE_NAME = LoyaltyCardEditActivity.class.getSimpleName() + "_crop_image.png";
private final Bitmap.CompressFormat TEMP_CROP_IMAGE_FORMAT = Bitmap.CompressFormat.PNG;
@@ -182,6 +184,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
HashMap<String, String> currencySymbols = new HashMap<>();
LoyaltyCard tempLoyaltyCard;
LoyaltyCardField tempLoyaltyCardField;
ActivityResultLauncher<Uri> mPhotoTakerLauncher;
ActivityResultLauncher<Intent> mPhotoPickerLauncher;
@@ -267,6 +270,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
tabs = binding.tabs;
savedInstanceState.putInt(STATE_TAB_INDEX, tabs.getSelectedTabPosition());
savedInstanceState.putParcelable(STATE_TEMP_CARD, tempLoyaltyCard);
savedInstanceState.putSerializable(STATE_TEMP_CARD_FIELD, tempLoyaltyCardField);
savedInstanceState.putInt(STATE_REQUESTED_IMAGE, mRequestedImage);
Object cardImageFrontObj = cardImageFront.getTag();
@@ -302,6 +306,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
public void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
onRestoring = true;
tempLoyaltyCard = savedInstanceState.getParcelable(STATE_TEMP_CARD);
tempLoyaltyCardField = (LoyaltyCardField) savedInstanceState.getSerializable(STATE_TEMP_CARD_FIELD);
super.onRestoreInstanceState(savedInstanceState);
tabs = binding.tabs;
tabs.selectTab(tabs.getTabAt(savedInstanceState.getInt(STATE_TAB_INDEX)));
@@ -387,20 +392,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
addDateFieldTextChangedListener(expiryField, R.string.never, R.string.chooseExpiryDate, LoyaltyCardField.expiry);
DatePickerFragment.registerDatePickListener(this, (textFieldToEdit, newDate) -> {
switch (textFieldToEdit) {
case validFrom:
formatDateField(this, validFromField, newDate);
updateTempState(LoyaltyCardField.validFrom, newDate);
break;
case expiry:
formatDateField(this, expiryField, newDate);
updateTempState(LoyaltyCardField.expiry, newDate);
break;
default:
throw new AssertionError("Unexpected field: " + textFieldToEdit);
}
});
setMaterialDatePickerResultListener();
balanceField.setOnFocusChangeListener((v, hasFocus) -> {
if (!hasFocus && !onResuming && !onRestoring) {
@@ -705,6 +697,13 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
});
mCropperOptions = new UCrop.Options();
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
askBeforeQuitIfChanged();
}
});
}
// ucrop 2.2.6 initial aspect ratio is glitched when 0x0 is used as the initial ratio option
@@ -778,7 +777,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
@SuppressLint("DefaultLocale")
@Override
public void onResume() {
protected void onResume() {
super.onResume();
Log.i(TAG, "To view card: " + loyaltyCardId);
@@ -1016,14 +1015,14 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
if (!lastValue.toString().equals(getString(chooseDateOptionStringId))) {
dateField.setText(lastValue);
}
DialogFragment datePickerFragment = DatePickerFragment.newInstance(
showDatePicker(
loyaltyCardField,
(Date) dateField.getTag(),
// if the expiry date is being set, set date picker's minDate to the 'valid from' date
loyaltyCardField == LoyaltyCardField.expiry ? (Date) validFromField.getTag() : null,
// if the 'valid from' date is being set, set date picker's maxDate to the expiry date
loyaltyCardField == LoyaltyCardField.validFrom ? (Date) expiryField.getTag() : null);
datePickerFragment.show(getSupportFragmentManager(), "datePicker");
loyaltyCardField == LoyaltyCardField.validFrom ? (Date) expiryField.getTag() : null
);
}
}
@@ -1064,11 +1063,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
}
}
@Override
public void onBackPressed() {
askBeforeQuitIfChanged();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
@@ -1379,103 +1373,106 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements
// Nothing to do, no change made
}
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
private void showDatePicker(
LoyaltyCardField loyaltyCardField,
@Nullable Date selectedDate,
@Nullable Date minDate,
@Nullable Date maxDate
) {
// Create a new instance of MaterialDatePicker and return it
long startDate = minDate != null ? minDate.getTime() : getDefaultMinDateOfDatePicker();
long endDate = maxDate != null ? maxDate.getTime() : getDefaultMaxDateOfDatePicker();
public interface OnDatePickListener {
void onDatePicked(@NonNull LoyaltyCardField textFieldToEdit, @NonNull Date newDate);
CalendarConstraints.DateValidator dateValidator;
switch (loyaltyCardField) {
case validFrom:
dateValidator = DateValidatorPointBackward.before(endDate);
break;
case expiry:
dateValidator = DateValidatorPointForward.from(startDate);
break;
default:
throw new AssertionError("Unexpected field: " + loyaltyCardField);
}
private static final String TEXT_FIELD_TO_EDIT_ARGUMENT_KEY = "text_field_to_edit";
private static final String CURRENT_DATE_ARGUMENT_KEY = "current_date";
private static final String MIN_DATE_ARGUMENT_KEY = "min_date";
private static final String MAX_DATE_ARGUMENT_KEY = "max_date";
private static final String PICK_DATE_REQUEST_KEY = "pick_date_request";
private static final String NEWLY_PICKED_DATE_ARGUMENT_KEY = "newly_picked_date";
CalendarConstraints calendarConstraints = new CalendarConstraints.Builder()
.setValidator(dateValidator)
.setStart(startDate)
.setEnd(endDate)
.build();
LoyaltyCardField textFieldEdit;
@Nullable
Date minDate;
@Nullable
Date maxDate;
public static DatePickerFragment newInstance(@NonNull LoyaltyCardField textField, @Nullable Date currentDate, @Nullable Date minDate, @Nullable Date maxDate) {
Bundle args = new Bundle();
args.putSerializable(TEXT_FIELD_TO_EDIT_ARGUMENT_KEY, textField);
args.putSerializable(CURRENT_DATE_ARGUMENT_KEY, currentDate);
args.putSerializable(MIN_DATE_ARGUMENT_KEY, minDate);
args.putSerializable(MAX_DATE_ARGUMENT_KEY, maxDate);
DatePickerFragment fragment = new DatePickerFragment();
fragment.setArguments(args);
return fragment;
// Use the selected date as the default date in the picker
final Calendar calendar = Calendar.getInstance();
if (selectedDate != null) {
calendar.setTime(selectedDate);
}
public static void registerDatePickListener(@NonNull AppCompatActivity activity, @NonNull OnDatePickListener listener) {
activity.getSupportFragmentManager().setFragmentResultListener(
PICK_DATE_REQUEST_KEY,
activity,
(requestKey, result) -> listener.onDatePicked(
(LoyaltyCardField) Objects.requireNonNull(result.getSerializable(TEXT_FIELD_TO_EDIT_ARGUMENT_KEY)),
(Date) Objects.requireNonNull(result.getSerializable(NEWLY_PICKED_DATE_ARGUMENT_KEY))));
}
MaterialDatePicker<Long> materialDatePicker = MaterialDatePicker.Builder.datePicker()
.setSelection(calendar.getTimeInMillis())
.setCalendarConstraints(calendarConstraints)
.build();
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = requireArguments();
textFieldEdit = (LoyaltyCardField) args.getSerializable(TEXT_FIELD_TO_EDIT_ARGUMENT_KEY);
minDate = (Date) args.getSerializable(MIN_DATE_ARGUMENT_KEY);
maxDate = (Date) args.getSerializable(MAX_DATE_ARGUMENT_KEY);
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
Date date = (Date) args.getSerializable(CURRENT_DATE_ARGUMENT_KEY);
if (date != null) {
c.setTime(date);
// Required to handle configuration changes
// See https://github.com/material-components/material-components-android/issues/1688
tempLoyaltyCardField = loyaltyCardField;
getSupportFragmentManager().addFragmentOnAttachListener((fragmentManager, fragment) -> {
if (fragment instanceof MaterialDatePicker && Objects.equals(fragment.getTag(), PICK_DATE_REQUEST_KEY)) {
((MaterialDatePicker<Long>) fragment).addOnPositiveButtonClickListener(selection -> {
Bundle args = new Bundle();
args.putLong(NEWLY_PICKED_DATE_ARGUMENT_KEY, selection);
getSupportFragmentManager().setFragmentResult(PICK_DATE_REQUEST_KEY, args);
});
}
});
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
materialDatePicker.show(getSupportFragmentManager(), PICK_DATE_REQUEST_KEY);
}
// Create a new instance of DatePickerDialog and return it
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), this, year, month, day);
datePickerDialog.getDatePicker().setMinDate(minDate != null ? minDate.getTime() : getDefaultMinDateOfDatePicker());
datePickerDialog.getDatePicker().setMaxDate(maxDate != null ? maxDate.getTime() : getDefaultMaxDateOfDatePicker());
return datePickerDialog;
// Required to handle configuration changes
// See https://github.com/material-components/material-components-android/issues/1688
private void setMaterialDatePickerResultListener() {
MaterialDatePicker<Long> fragment = (MaterialDatePicker<Long>) getSupportFragmentManager().findFragmentByTag(PICK_DATE_REQUEST_KEY);
if (fragment != null) {
fragment.addOnPositiveButtonClickListener(selection -> {
Bundle args = new Bundle();
args.putLong(NEWLY_PICKED_DATE_ARGUMENT_KEY, selection);
getSupportFragmentManager().setFragmentResult(PICK_DATE_REQUEST_KEY, args);
});
}
private long getDefaultMinDateOfDatePicker() {
Calendar minDateCalendar = Calendar.getInstance();
minDateCalendar.set(1970, 0, 1);
return minDateCalendar.getTimeInMillis();
}
getSupportFragmentManager().setFragmentResultListener(
PICK_DATE_REQUEST_KEY,
this,
(requestKey, result) -> {
long selection = result.getLong(NEWLY_PICKED_DATE_ARGUMENT_KEY);
private long getDefaultMaxDateOfDatePicker() {
Calendar maxDateCalendar = Calendar.getInstance();
maxDateCalendar.set(2100, 11, 31);
return maxDateCalendar.getTimeInMillis();
}
Date newDate = new Date(selection);
switch (tempLoyaltyCardField) {
case validFrom:
formatDateField(LoyaltyCardEditActivity.this, validFromField, newDate);
updateTempState(LoyaltyCardField.validFrom, newDate);
break;
case expiry:
formatDateField(LoyaltyCardEditActivity.this, expiryField, newDate);
updateTempState(LoyaltyCardField.expiry, newDate);
break;
default:
throw new AssertionError("Unexpected field: " + tempLoyaltyCardField);
}
}
);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
private long getDefaultMinDateOfDatePicker() {
Calendar minDateCalendar = Calendar.getInstance();
minDateCalendar.set(1970, 0, 1);
return minDateCalendar.getTimeInMillis();
}
long unixTime = c.getTimeInMillis();
Date date = new Date(unixTime);
Bundle result = new Bundle();
result.putSerializable(TEXT_FIELD_TO_EDIT_ARGUMENT_KEY, textFieldEdit);
result.putSerializable(NEWLY_PICKED_DATE_ARGUMENT_KEY, date);
getParentFragmentManager().setFragmentResult(PICK_DATE_REQUEST_KEY, result);
}
private long getDefaultMaxDateOfDatePicker() {
Calendar maxDateCalendar = Calendar.getInstance();
maxDateCalendar.set(2100, 11, 31);
return maxDateCalendar.getTimeInMillis();
}
private void doSave() {
@@ -3,6 +3,7 @@ package protect.card_locker;
import android.app.Application;
import androidx.appcompat.app.AppCompatDelegate;
import protect.card_locker.preferences.Settings;
public class LoyaltyCardLockerApplication extends Application {
@@ -20,7 +20,6 @@ import android.text.method.DigitsKeyListener;
import android.text.style.ForegroundColorSpan;
import android.text.util.Linkify;
import android.util.Log;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -38,19 +37,17 @@ import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.StringRes;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.FileProvider;
import androidx.core.graphics.BlendModeColorFilterCompat;
import androidx.core.graphics.BlendModeCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.DrawableCompat;
import androidx.core.view.ViewCompat;
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
import androidx.core.widget.TextViewCompat;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -112,22 +109,25 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
return;
}
ImageType imageType = imageTypes.get(mainImageIndex);
// If the barcode is shown, switch to fullscreen layout
if (imageTypes.get(mainImageIndex) == ImageType.BARCODE) {
if (imageType == ImageType.BARCODE) {
setFullscreen(true);
return;
}
// If this is an image, open it in the gallery.
openCurrentMainImageInGallery();
openImageInGallery(imageType);
}
private void openCurrentMainImageInGallery() {
ImageType wantedImageType = imageTypes.get(mainImageIndex);
private void openImageInGallery(ImageType imageType) {
File file = null;
switch (wantedImageType) {
switch (imageType) {
case ICON:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.icon);
break;
case IMAGE_FRONT:
file = Utils.retrieveCardImageAsFile(this, loyaltyCardId, ImageLocationType.front);
break;
@@ -175,6 +175,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
enum ImageType {
NONE,
ICON,
BARCODE,
IMAGE_FRONT,
IMAGE_BACK
@@ -228,7 +229,9 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
settings = new Settings(this);
String cardOrientation = settings.getCardViewOrientation();
if (cardOrientation.equals(getString(R.string.settings_key_lock_on_opening_orientation))) {
if (cardOrientation.equals(getString(R.string.settings_key_follow_sensor_orientation))) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
} else if (cardOrientation.equals(getString(R.string.settings_key_lock_on_opening_orientation))) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
} else if (cardOrientation.equals(getString(R.string.settings_key_portrait_orientation))) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
@@ -300,7 +303,13 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
binding.bottomAppBarNextButton.setOnClickListener(view -> prevNextCard(true));
binding.bottomAppBarUpdateBalanceButton.setOnClickListener(view -> showBalanceUpdateDialog());
binding.iconContainer.setOnClickListener(view -> Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show());
binding.iconContainer.setOnClickListener(view -> {
if (Utils.retrieveCardImage(this, loyaltyCard.id, ImageLocationType.icon) != null) {
openImageInGallery(ImageType.ICON);
} else {
Toast.makeText(LoyaltyCardViewActivity.this, R.string.icon_header_click_text, Toast.LENGTH_LONG).show();
}
});
binding.iconContainer.setOnLongClickListener(view -> {
Intent intent = new Intent(getApplicationContext(), LoyaltyCardEditActivity.class);
Bundle bundle = new Bundle();
@@ -322,6 +331,17 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
return true;
});
binding.fullscreenImage.setOnClickListener(view -> onMainImageTap());
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
if (isFullscreen) {
setFullscreen(false);
} else {
finish();
}
}
});
}
private SpannableStringBuilder padSpannableString(SpannableStringBuilder spannableStringBuilder) {
@@ -544,7 +564,8 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
@Override
public void onResume() {
protected void onResume() {
activityOverridesNavBarColor = true;
super.onResume();
Log.i(TAG, "To view card: " + loyaltyCardId);
@@ -622,7 +643,11 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
int darkenedColor = ColorUtils.blendARGB(backgroundHeaderColor, Color.BLACK, 0.1f);
binding.barcodeScaler.setProgressTintList(ColorStateList.valueOf(darkenedColor));
binding.barcodeScaler.setThumbTintList(ColorStateList.valueOf(darkenedColor));
// Set bottomAppBar and system navigation bar color
binding.bottomAppBar.setBackgroundColor(darkenedColor);
Utils.setNavigationBarColor(null, window, darkenedColor, Utils.needsDarkForeground(darkenedColor));
int complementaryColor = Utils.getComplementaryColor(darkenedColor);
binding.fabEdit.setBackgroundTintList(ColorStateList.valueOf(complementaryColor));
Drawable editButtonIcon = binding.fabEdit.getDrawable();
@@ -704,16 +729,6 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
imageButton.setColorFilter(BlendModeColorFilterCompat.createBlendModeColorFilterCompat(backgroundNeedsDarkIcons ? Color.BLACK : Color.WHITE, BlendModeCompat.SRC_ATOP));
}
@Override
public void onBackPressed() {
if (isFullscreen) {
setFullscreen(false);
return;
}
super.onBackPressed();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.card_view_menu, menu);
@@ -1055,10 +1070,14 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
// Set Android to fullscreen mode
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
getWindow().setDecorFitsSystemWindows(false);
if (getWindow().getInsetsController() != null) {
getWindow().getInsetsController().hide(WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
getWindow().getInsetsController().setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
Window window = getWindow();
if (window != null) {
window.setDecorFitsSystemWindows(false);
WindowInsetsController wic = window.getInsetsController();
if (wic != null) {
wic.hide(WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
wic.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
}
}
} else {
setFullscreenModeSdkLessThan30();
@@ -1085,10 +1104,14 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
// Unset fullscreen mode
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
getWindow().setDecorFitsSystemWindows(true);
if (getWindow().getInsetsController() != null) {
getWindow().getInsetsController().show(WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
getWindow().getInsetsController().setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_DEFAULT);
Window window = getWindow();
if (window != null) {
window.setDecorFitsSystemWindows(true);
WindowInsetsController wic = window.getInsetsController();
if (wic != null) {
wic.show(WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars());
wic.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_DEFAULT);
}
}
} else {
unsetFullscreenModeSdkLessThan30();
@@ -1100,19 +1123,25 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
@SuppressWarnings("deprecation")
private void unsetFullscreenModeSdkLessThan30() {
getWindow().getDecorView().setSystemUiVisibility(
getWindow().getDecorView().getSystemUiVisibility()
& ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
& ~View.SYSTEM_UI_FLAG_FULLSCREEN
);
Window window = getWindow();
if (window != null) {
window.getDecorView().setSystemUiVisibility(
window.getDecorView().getSystemUiVisibility()
& ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
& ~View.SYSTEM_UI_FLAG_FULLSCREEN
);
}
}
@SuppressWarnings("deprecation")
private void setFullscreenModeSdkLessThan30() {
getWindow().getDecorView().setSystemUiVisibility(
getWindow().getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN
);
Window window = getWindow();
if (window != null) {
window.getDecorView().setSystemUiVisibility(
window.getDecorView().getSystemUiVisibility()
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN
);
}
}
}
@@ -2,8 +2,6 @@ package protect.card_locker;
import android.app.Activity;
import android.app.SearchManager;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -22,6 +20,7 @@ import android.view.View;
import android.widget.CheckBox;
import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AlertDialog;
@@ -70,7 +69,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
private View mNoGroupCardsText;
private TabLayout groupsTabLayout;
private Runnable mSwapLoyaltyCardListCursor;
private Runnable mUpdateLoyaltyCardListRunnable;
private ActivityResultLauncher<Intent> mBarcodeScannerLauncher;
private ActivityResultLauncher<Intent> mSettingsLauncher;
@@ -89,35 +88,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
@Override
public boolean onActionItemClicked(ActionMode inputMode, MenuItem inputItem) {
if (inputItem.getItemId() == R.id.action_copy_to_clipboard) {
ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
String clipboardData;
int cardCount = mAdapter.getSelectedItemCount();
if (cardCount == 1) {
clipboardData = mAdapter.getSelectedItems().get(0).cardId;
} else {
StringBuilder cardIds = new StringBuilder();
for (int i = 0; i < cardCount; i++) {
LoyaltyCard loyaltyCard = mAdapter.getSelectedItems().get(i);
cardIds.append(loyaltyCard.store + ": " + loyaltyCard.cardId);
if (i < (cardCount - 1)) {
cardIds.append("\n");
}
}
clipboardData = cardIds.toString();
}
ClipData clip = ClipData.newPlainText(getString(R.string.card_ids_copied), clipboardData);
clipboard.setPrimaryClip(clip);
Toast.makeText(MainActivity.this, cardCount > 1 ? R.string.copy_to_clipboard_multiple_toast : R.string.copy_to_clipboard_toast, Toast.LENGTH_LONG).show();
inputMode.finish();
return true;
} else if (inputItem.getItemId() == R.id.action_share) {
if (inputItem.getItemId() == R.id.action_share) {
final ImportURIHelper importURIHelper = new ImportURIHelper(MainActivity.this);
try {
importURIHelper.startShareIntent(mAdapter.getSelectedItems());
@@ -228,7 +199,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
super.onCreate(inputSavedInstanceState);
binding = MainActivityBinding.inflate(getLayoutInflater());
setTitle(R.string.app_name);
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
groupsTabLayout = binding.groups;
@@ -236,13 +206,8 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
mDatabase = new DBHelper(this).getWritableDatabase();
mSwapLoyaltyCardListCursor = () -> {
Group group = null;
if (mGroup != null) {
group = (Group) mGroup;
}
mAdapter.swapCursor(DBHelper.getLoyaltyCardCursor(mDatabase, mFilter, group, mOrder, mOrderDirection, mAdapter.showingArchivedCards() ? DBHelper.LoyaltyCardArchiveFilter.All : DBHelper.LoyaltyCardArchiveFilter.Unarchived));
mUpdateLoyaltyCardListRunnable = () -> {
updateLoyaltyCardList(false);
};
groupsTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@@ -277,7 +242,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
mNoGroupCardsText = contentMainBinding.noGroupCardsText;
mCardList = contentMainBinding.list;
mAdapter = new LoyaltyCardCursorAdapter(this, null, this, mSwapLoyaltyCardListCursor);
mAdapter = new LoyaltyCardCursorAdapter(this, null, this, mUpdateLoyaltyCardListRunnable);
mCardList.setAdapter(mAdapter);
registerForContextMenu(mCardList);
@@ -337,6 +302,17 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
}
}
});
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
if (mSearchView != null && !mSearchView.isIconified()) {
mSearchView.setIconified(true);
} else {
finish();
}
}
});
}
@Override
@@ -411,16 +387,6 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
addButton.bringToFront();
}
@Override
public void onBackPressed() {
if (mSearchView != null && !mSearchView.isIconified()) {
mSearchView.setIconified(true);
return;
}
super.onBackPressed();
}
private void displayCardSetupOptions(Menu menu, boolean shouldShow) {
for (int id : new int[]{R.id.action_search, R.id.action_display_options, R.id.action_sort}) {
menu.findItem(id).setVisible(shouldShow);
@@ -432,7 +398,12 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
}
private void updateLoyaltyCardList(boolean updateCount) {
mSwapLoyaltyCardListCursor.run();
Group group = null;
if (mGroup != null) {
group = (Group) mGroup;
}
mAdapter.swapCursor(DBHelper.getLoyaltyCardCursor(mDatabase, mFilter, group, mOrder, mOrderDirection, mAdapter.showingArchivedCards() ? DBHelper.LoyaltyCardArchiveFilter.All : DBHelper.LoyaltyCardArchiveFilter.Unarchived));
if (updateCount) {
updateLoyaltyCardCount();
@@ -611,7 +582,7 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
int id = inputItem.getItemId();
if (id == android.R.id.home) {
onBackPressed();
getOnBackPressedDispatcher().onBackPressed();
}
if (id == R.id.action_display_options) {
@@ -13,6 +13,12 @@ import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -20,11 +26,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.RecyclerView;
import protect.card_locker.databinding.ActivityManageGroupBinding;
public class ManageGroupActivity extends CatimaAppCompatActivity implements ManageGroupCursorAdapter.CardAdapterListener {
@@ -133,6 +134,13 @@ public class ManageGroupActivity extends CatimaAppCompatActivity implements Mana
// this setText is here because content_main.xml is reused from main activity
noGroupCardsText.setText(getResources().getText(R.string.noGiftCardsGroup));
updateLoyaltyCardList();
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
leaveWithoutSaving();
}
});
}
private ArrayList<Integer> adapterStateToIntegerArray(HashMap<Integer, Boolean> adapterState) {
@@ -210,14 +218,9 @@ public class ManageGroupActivity extends CatimaAppCompatActivity implements Mana
}
}
@Override
public void onBackPressed() {
leaveWithoutSaving();
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
getOnBackPressedDispatcher().onBackPressed();
return true;
}
@@ -14,17 +14,17 @@ import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
import protect.card_locker.databinding.ManageGroupsActivityBinding;
public class ManageGroupsActivity extends CatimaAppCompatActivity implements GroupCursorAdapter.GroupAdapterListener {
@@ -71,11 +71,6 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
updateGroupList();
}
@Override
public void onBackPressed() {
super.onBackPressed();
}
private void updateGroupList() {
mAdapter.swapCursor(DBHelper.getGroupCursor(mDatabase));
@@ -248,4 +243,4 @@ public class ManageGroupsActivity extends CatimaAppCompatActivity implements Gro
AlertDialog dialog = builder.create();
dialog.show();
}
}
}
@@ -32,7 +32,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -344,13 +343,21 @@ public class ScanActivity extends CatimaAppCompatActivity {
}
public void addManually() {
Intent i = new Intent(getApplicationContext(), BarcodeSelectorActivity.class);
if (cardId != null) {
final Bundle b = new Bundle();
b.putString("initialCardId", cardId);
i.putExtras(b);
}
manualAddLauncher.launch(i);
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(ScanActivity.this);
builder.setTitle(R.string.add_manually_warning_title);
builder.setMessage(R.string.add_manually_warning_message);
builder.setPositiveButton(R.string.continue_, (dialog, which) -> {
Intent i = new Intent(getApplicationContext(), BarcodeSelectorActivity.class);
if (cardId != null) {
final Bundle b = new Bundle();
b.putString("initialCardId", cardId);
i.putExtras(b);
}
manualAddLauncher.launch(i);
});
builder.setNegativeButton(R.string.cancel, (dialog, which) -> setScannerActive(true));
builder.setOnCancelListener(dialog -> setScannerActive(true));
builder.show();
}
public void addFromImage() {
@@ -8,6 +8,11 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Bundle;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.IconCompat;
import org.jetbrains.annotations.NotNull;
import java.util.Collections;
@@ -15,11 +20,6 @@ import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.graphics.drawable.IconCompat;
class ShortcutHelper {
// Android documentation says that no more than 5 shortcuts
// are supported. However, that may be too many, as not all
@@ -7,19 +7,20 @@ import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.textview.MaterialTextView;
import com.yalantis.ucrop.UCropActivity;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.ColorUtils;
import androidx.core.view.WindowInsetsControllerCompat;
import com.google.android.material.color.MaterialColors;
import com.google.android.material.textview.MaterialTextView;
import com.yalantis.ucrop.UCropActivity;
public class UCropWrapper extends UCropActivity {
public static final String UCROP_TOOLBAR_TYPEFACE_STYLE = "ucop_toolbar_typeface_style";
@@ -27,15 +28,18 @@ public class UCropWrapper extends UCropActivity {
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
boolean darkMode = Utils.isDarkModeEnabled(this);
Window window = getWindow();
// setup status bar to look like the rest of the app
if (Build.VERSION.SDK_INT >= 23) {
View decorView = getWindow().getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(getWindow(), decorView);
wic.setAppearanceLightStatusBars(!darkMode);
if (window != null) {
View decorView = window.getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
wic.setAppearanceLightStatusBars(!darkMode);
}
} else {
// icons are always white back then
if (!darkMode) {
getWindow().setStatusBarColor(ColorUtils.compositeColors(Color.argb(127, 0, 0, 0), getWindow().getStatusBarColor()));
if (window != null && !darkMode) {
window.setStatusBarColor(ColorUtils.compositeColors(Color.argb(127, 0, 0, 0), window.getStatusBarColor()));
}
}
@@ -22,16 +22,19 @@ import android.util.Log;
import android.util.TypedValue;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RawRes;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.core.graphics.ColorUtils;
import androidx.core.os.LocaleListCompat;
import androidx.core.view.WindowInsetsControllerCompat;
import androidx.exifinterface.media.ExifInterface;
import androidx.palette.graphics.Palette;
@@ -663,13 +666,31 @@ public class Utils {
}
}
// XXX android 9 and below has issues with patched theme where the background becomes a
// rendering mess
// use after views are inflated
// Force correct color
// Fixes OLED dark mode in MainActivity
public static void postPatchColors(AppCompatActivity activity) {
activity.findViewById(android.R.id.content).setBackgroundColor(resolveBackgroundColor(activity));
}
// Either pass an Activity on which to call getWindow() or an existing Window (may be null) returned by that function.
public static void setNavigationBarColor(@Nullable AppCompatActivity activity, @Nullable Window window, int color, boolean useLightBars) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
if (window == null && activity != null) {
window = activity.getWindow();
}
if (window != null) {
View decorView = window.getDecorView();
WindowInsetsControllerCompat wic = new WindowInsetsControllerCompat(window, decorView);
wic.setAppearanceLightNavigationBars(useLightBars);
window.setNavigationBarColor(color);
}
}
}
public static int resolveBackgroundColor(AppCompatActivity activity) {
TypedValue typedValue = new TypedValue();
activity.getTheme().resolveAttribute(android.R.attr.colorBackground, typedValue, true);
activity.findViewById(android.R.id.content).setBackgroundColor(typedValue.data);
return typedValue.data;
}
public static int getHeaderColorFromImage(Bitmap image, int fallback) {
@@ -3,12 +3,13 @@ package protect.card_locker.preferences;
import android.content.Context;
import android.content.SharedPreferences;
import java.util.Locale;
import androidx.annotation.IntegerRes;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.preference.PreferenceManager;
import java.util.Locale;
import protect.card_locker.R;
import protect.card_locker.Utils;
@@ -1,12 +1,12 @@
package protect.card_locker.preferences;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.activity.OnBackPressedCallback;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.Toolbar;
@@ -56,6 +56,13 @@ public class SettingsActivity extends CatimaAppCompatActivity {
if (savedInstanceState != null) {
fragment.mReloadMain = savedInstanceState.getBoolean(RELOAD_MAIN_STATE);
}
getOnBackPressedDispatcher().addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
finishSettingsActivity();
}
});
}
@Override
@@ -76,11 +83,6 @@ public class SettingsActivity extends CatimaAppCompatActivity {
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
finishSettingsActivity();
}
private void finishSettingsActivity() {
if (fragment.mReloadMain) {
Intent intent = new Intent();
-10
View File
@@ -1,10 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM19,5L8,5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h11c1.1,0 2,-0.9 2,-2L21,7c0,-1.1 -0.9,-2 -2,-2zM19,21L8,21L8,7h11v14z"/>
</vector>
@@ -369,75 +369,106 @@
android:visibility="gone"
tools:visibility="visible">
<!-- Front image -->
<LinearLayout
android:id="@+id/frontImageHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding">
android:baselineAligned="false">
<!-- Front image -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:id="@+id/frontImageHolder"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginTop="@dimen/activity_margin"
android:layout_marginEnd="@dimen/activity_margin"
android:layout_marginBottom="@dimen/activity_margin"
android:paddingHorizontal="@dimen/inputPadding"
app:cardCornerRadius="4dp"
app:cardElevation="0dp">
android:orientation="horizontal"
android:layout_margin="5dp"
style="?attr/materialCardViewElevatedStyle">
<ImageView
android:id="@+id/frontImage"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/frontImageConstraint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/frontImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
android:layout_height="wrap_content">
<!-- Back image -->
<ImageView
android:id="@+id/frontImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary"
app:layout_constraintBottom_toTopOf="@id/frontImageDescription"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/frontImageDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:text="@string/frontImageDescription"
android:textAppearance="?attr/textAppearanceHeadlineSmall"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/frontImage"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
<!-- Back image -->
<LinearLayout
android:id="@+id/backImageHolder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/inputPadding"
android:paddingTop="@dimen/inputPadding">
<!-- Back image -->
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_weight="1"
android:id="@+id/backImageHolder"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/activity_margin"
android:layout_marginTop="@dimen/activity_margin"
android:layout_marginEnd="@dimen/activity_margin"
android:layout_marginBottom="@dimen/activity_margin"
android:paddingHorizontal="@dimen/inputPadding"
app:cardCornerRadius="4dp"
app:cardElevation="0dp">
android:orientation="horizontal"
android:layout_margin="5dp"
style="?attr/materialCardViewElevatedStyle">
<ImageView
android:id="@+id/backImage"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/backImageConstraint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary" />
android:layout_height="wrap_content">
<!-- Back image -->
<ImageView
android:id="@+id/backImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:minHeight="50dp"
android:contentDescription="@string/backImageDescription"
android:scaleType="fitCenter"
app:srcCompat="@drawable/ic_camera_white"
android:background="?attr/colorPrimary"
app:layout_constraintBottom_toTopOf="@id/backImageDescription"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/backImageDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:text="@string/backImageDescription"
android:textAppearance="?attr/textAppearanceHeadlineSmall"
android:gravity="center"
app:layout_constraintTop_toBottomOf="@id/backImage"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</TableLayout>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/coordinator_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
@@ -9,13 +9,6 @@
android:titleCondensed="@string/editCardTitle"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_copy_to_clipboard"
android:icon="@drawable/ic_copy"
android:title="@string/copy_to_clipboard"
android:titleCondensed="@string/copy_to_clipboard"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_share"
+28 -255
View File
@@ -4,280 +4,53 @@ J. Lavoie
Allan Nordhøy
solokot
Heimen Stoffels
Oğuz Ersen
FC (Fay) Stegerman
Oğuz Ersen
Katharine Chui
SlavekB
mondstern
StoyanDimitrov
mondstern
IllusiveMan196
Altonss
Michael Moroni
Gediminas Murauskas
GM
Eric
Petr Novák
Joel A
laralem
Taco
pfaffenrodt
Eric
Nyatsuki
Aayush Gupta
HudobniVolk
Nyatsuki
Samantaz Fox
arno-github
Ankit Tiwari
Cliff Heraldo
Sergio Paredes
Clxff H3r4ld0
Aayush Gupta
Ankit Tiwari
Milan Šalka
Jiri Grönroos
Balázs Meskó
Giovanni Donisi
Milo Ivir
Skrripy
huuhaa
Projjal Moitra
Quentin PAGÈS
Giovanni Donisi
Alexander Ivanov
arshbeerSingh
Denis Shilin
Freddo espresso
Ziad OUALHADJ
Silvério Santos
Miha Frangež
Eryk Michalak
Arnis Jaundžeikars
Dan
sr093906
mdvhimself
Jiri Grönroos
Katarzyna
echo r"0xX4H" | rev
Magnitudee
Olivia (Zoe)
betsythefc
waffshappen
Robin
ati3
enolp
Evgeniy Khramov
Jane Kong
Jean Mareilles
Jean-Luc Tibaux
José Rebelo
K. Herbert
Lisa A.
Mawuena M. KODZO A.
rudy3
Reza
Still / Azaka
String E. Fighter
Tapu
Yurical
rr-vesp
yangyangdaji
丛林意志
alajemba-vik
/usr/local/ΕΨΗΕΛΩΝ
Adolfo Jayme-Barrientos
Alessandro Mandelli
KovalevArtem
Artem M.
Astrohops1
BMN
balaraz
BootVirtual
Bottan Hermawan
zChiip
Clonewayx
D. Domig
Danylo Lystopadov
Diego
Eudes-alencar
Fede Pujol
FineFindus
francescbassas
Jason Li
Jesse Davids
Kamborio
Kis Dominik
Lukas Grassauer
Luna Jernberg
Marnick L'Eau
Michalis
Michał
Milo Ivir
Mohamed A. Salah
Yatoku
the7thNightmare
Quang Trung
Rishi Agarwal
Rosdyana Kusuma
Sabri Ünal
umoenks
Simon Rusinov
Siriusmart
Mritunjay
Tarik Dzambic
Thomas Bertels
Thomas Cruveilher
Tian Jiale
Tong Liu
Tymofii Lytvynenko
Wanath
Younes Bouhouche
Runner
ce i moa
enescan201
Frablock
inesre
lgasp
notlin4
phlostically
pokeghost
sal0max
Ágata Leuck
BmBKun
NamHyeonjeong
Aditya Das
asier123123131
Kevin Sicong Jiang
Tomer Ben-Rachel
Tom Sawyer
tfuxu
Ahmed Saleh
Airat
Tapwaterisokey
Alexandra-Ioana Moroz
sNiXx
Angela Enogieru
Animesh Chatterjee
Artūras Kalenda
Ashish Yadav
Aya Elsaadany
Aya
Biren
Booc Sylvan
Brage Nesteby Reitan
Cap Amr Karam
Carlo Maria Cuoghi Barbagli
ChaoticNeutralCzech
ChengCheng
CherryMonster222
Colgrave
djcand
Mylou53
Daniel Sych
danieluhrinyi
Daniele Tricoli
Kasina Dheeraj
Donno
Reihan
Erik Spjelkavik
Flav
Franciszek Stefan
Gael Caraballo
Giacomo Alessandroni
Govind S Nair
Grzegorz
gneiss15
Hamustra Scans
helzubair
HowITsDone
Hubert Maciejewicz
Izzy
Jacek
Jacopo Gennaro Esposito
Jean-Baptiste
Kung-chih
Karvjorm
polar
krkk
Kristoffer Grundström
Laura Ferraz
Lionel HANNEQUIN
Lucas da Costa
almir992
Manan Jhaveri
Marco
BRBsoup
Mateo Gomez
Mattia
Md. Al-Amin
Eryk Michalak
Ziad OUALHADJ
Robin Liu
mdvhimself
Denis Shilin
Miha Frangež
Silvério Santos
ikanakova
Virginie
Michael Gangolf
Milan Šalka
3DN1M
Minecraft boom
Mobashir Raihan
Moi Toi
DiCeYMaYo
DivideEtImpera
Nicolas
Nosnahc
osamaqw
pa4k
pbeckmann
Peer Beckmann
vandman
Piotr Strebski
Piotr Zet
Poorva Patidar
Quang Nguyen
Ratnesh
Rohan Babbar
Ronak Upadhyay
Rose Liverman
SKULD
Sabrina
Salem Malus
Samarth Asthan
tatyhub
Shailendra Maurya
SilverFS
Simone Dotto
Subhashish Anand
Subhradeep Bera
Swayam Khare
SziaTomi
Mehedi Hasan
Tim Trek
Titas Pažereckas
atakujonc
tkraljevic
Tony C
Vancha March
tyap-lyap-ivprod
Waldemar Stoczkowski
Wiktor Kwapisiewicz
Yevgeny M
Yusril A
ahmed-awad26
Avik Kundu
ayuyydev
diksha-2911
essys
gbonaspetti
gittyboy-cell
huang ivan
lassr8
liva
lucafont2
mtrmirez
michaelpratana
opsik
pesta007
polarhun
pooyanazari
psa-jforestier
z369369
sergio
skauVictor
080502
Marcus
techwebpd
tjw123hh
Truestorybaby
tygyh
unstartdev
wmilan 17
MeH762
يوسف لطفي
しいたけ
元气
JaeBeom An
JungHee Lee
rudy3
Kim Seohyun
Govind S Nair
Freddo espresso
arshbeerSingh
Alexander Ivanov
+14 -8
View File
@@ -18,7 +18,6 @@
<string name="confirm">تأكيد</string>
<string name="deleteConfirmation">مسح هذة البطاقة نهائيا؟</string>
<string name="ok">حسنا</string>
<string name="copy_to_clipboard">نسخ البطاقة الشخصية الى الحافظة</string>
<string name="share">شارك</string>
<string name="sendLabel">ارسل…</string>
<string name="editCardTitle">عدل البطاقة</string>
@@ -26,7 +25,6 @@
<string name="scanCardBarcode">مسح باركود</string>
<string name="cardShortcut">اختصار البطاقة</string>
<string name="noCardsMessage">اضف بطاقة أولا</string>
<string name="card_ids_copied">البطاقة(ات) الشخصية المنسوخة</string>
<string name="barcodeImageDescriptionWithType">صورة <xliff:g>%s</xliff:g> باركود</string>
<string name="noCardExistsError">لا يمكن العثور على هذه البطاقة</string>
<string name="failedParsingImportUriError">لا يمكن تحليل الرابط المستورد</string>
@@ -47,7 +45,6 @@
<string name="app_license">البرمجيات الحرة متروكة الحقوق, ترخيص +GPLv3</string>
<string name="app_libraries">مكتبات الطرف الثالث الحرة: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">اختار الباركود</string>
<string name="copy_to_clipboard_toast">تم نسخ بطاقة الهوية إلى الحافظة</string>
<string name="thumbnailDescription">صورة مصغرة</string>
<string name="starImage">نجم مفضل</string>
<string name="settings">اعدادات</string>
@@ -95,7 +92,6 @@
<string name="setBarcodeId">قم بتعيين قيمة الباركود</string>
<string name="unsupportedBarcodeType">لا يمكن عرض نوع الباركود هذا. قد يكون مدعومًا في إصدار أحدث من التطبيق.</string>
<string name="wrongValueForBarcodeType">القيمة غير صالحة لنوع الباركود المحدد</string>
<string name="copy_to_clipboard_multiple_toast">تم نسخ بطاقات الهوية إلى الحافظة</string>
<string name="intent_import_card_from_url_share_multiple_text">أريد مشاركة بعض البطاقات معك</string>
<string name="frontImageDescription">الصورة الأمامية</string>
<string name="backImageDescription">الصورة الخلفية</string>
@@ -177,9 +173,9 @@
<item quantity="zero">مسح <xliff:g>%d</xliff:g> بطاقة</item>
<item quantity="one">مسح <xliff:g>%d</xliff:g> بطاقة</item>
<item quantity="two">مسح <xliff:g>%d</xliff:g> بطاقتين</item>
<item quantity="few">مسح <xliff:g>%d</xliff:g> بطاقات</item>
<item quantity="many">مسح <xliff:g>%d</xliff:g> بطاقات</item>
<item quantity="other">مسح <xliff:g>%d</xliff:g> بطاقات</item>
<item quantity="few">مسح <xliff:g>%d</xliff:g> بطائق</item>
<item quantity="many">مسح <xliff:g>%d</xliff:g> بطاقة</item>
<item quantity="other">مسح <xliff:g>%d</xliff:g> بطاقة</item>
</plurals>
<plurals name="deleteCardsConfirmation">
<item quantity="zero">مسح هذه <xliff:g>%d</xliff:g> البطاقة نهائيا؟</item>
@@ -203,7 +199,7 @@
<string name="groupsList">مجموعات: <xliff:g>%s</xliff:g></string>
<string name="settings_disable_lockscreen_while_viewing_card">منع قفل الشاشة</string>
<string name="leaveWithoutSaveTitle">خروج</string>
<string name="editGroup">مجموعة التعديل: <xliff:g>%s</xliff:g></string>
<string name="editGroup">تعديل المجموعه: <xliff:g>%s</xliff:g></string>
<plurals name="groupCardCount">
<item quantity="zero"><xliff:g>%d</xliff:g> بطاقة</item>
<item quantity="one"><xliff:g>%d</xliff:g> بطاقة</item>
@@ -306,4 +302,14 @@
<string name="settings_category_title_privacy">خصوصية</string>
<string name="show_balance">إظهار التوازن</string>
<string name="settings_keep_screen_on_summary">تعطيل مهلة الشاشة أثناء عرض البطاقة</string>
<string name="balanceParsingFailed">رصيد غير صالح</string>
<string name="card_id_must_not_be_empty">يجب ألا يكون معرف البطاقة فارغا</string>
<string name="add_a_card_in_a_different_way">أضف بطاقة بطريقة مختلفة</string>
<string name="manually_enter_barcode_instructions">أدخل رقم الهوية أو النص الموجود على بطاقتك واضغط على الرمز الشريطي الذي يشبه الموجود على بطاقتك.</string>
<string name="action_more_options">خيارات أخرى</string>
<string name="enter_card_id">أدخل رقم الهوية أو النص الموجود على بطاقتك</string>
<string name="addWithoutBarcode">إضافة بدون باركود</string>
<string name="field_must_not_be_empty">يجب ألا يكون الحقل فارغا</string>
<string name="app_name">كاتيما</string>
<string name="settings_follow_sensor_orientation">التدوير دائمًا ( تجاهل إعدادات النظام)</string>
</resources>
+1 -5
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2" xmlns:tools="http://schemas.android.com/tools">
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="storeName">Nome</string>
<string name="note">Nota</string>
<string name="noMatchingGiftCards">Nun hai nengún resultáu. Prueba a camudar la busca.</string>
@@ -24,10 +24,6 @@
<string name="save">Guardar</string>
<string name="edit">Editar</string>
<string name="delete">Desaniciar</string>
<plurals name="deleteCardsTitle">
<item quantity="one"></item>
<item quantity="other"></item>
</plurals>
<string name="unstar">Quitar de Favoritos</string>
<string name="cancel">Encaboxar</string>
<string name="importFailed">Nun se pudo facer la importación</string>
+2 -4
View File
@@ -40,7 +40,6 @@
<string name="addCardTitle">Добавяне на карта</string>
<string name="removeImage">Премахване на изображение</string>
<string name="takePhoto">Снимане</string>
<string name="copy_to_clipboard_multiple_toast">Номерата са копирани</string>
<string name="intent_import_card_from_url_share_multiple_text">Искам да споделя тези карти с вас</string>
<string name="wrongValueForBarcodeType">Стойноста е неприемлива за избрания щрихкод</string>
<string name="setBarcodeId">Задаване на стойност</string>
@@ -89,7 +88,6 @@
<string name="settings">Настройки</string>
<string name="starImage">Звезда за любимо</string>
<string name="thumbnailDescription">Миниатюра</string>
<string name="copy_to_clipboard_toast">Номерът е копиран</string>
<string name="selectBarcodeTitle">Избиране на щрихкод</string>
<string name="importOptionApplicationButton">Избиране чрез приложение</string>
<string name="importing">Внасяне…</string>
@@ -107,7 +105,6 @@
<string name="scanCardBarcode">Снемане на щрихкод</string>
<string name="editCardTitle">Редактиране на карта</string>
<string name="share">Споделя</string>
<string name="copy_to_clipboard">Копира номера</string>
<string name="ok">Добре</string>
<string name="importSuccessful">Данните са внесени</string>
<string name="chooseImportType">Внасяне на данни на</string>
@@ -204,7 +201,6 @@
<string name="starred">Със звезда</string>
<string name="showMoreInfo">Показване на информация</string>
<string name="options">Настройки</string>
<string name="card_ids_copied">Номерата са копирани</string>
<plurals name="balancePoints">
<item quantity="one"><xliff:g>%s</xliff:g> точка</item>
<item quantity="other"><xliff:g>%s</xliff:g> точки</item>
@@ -286,4 +282,6 @@
<string name="enter_card_id">Въведете номера или текста от картата</string>
<string name="addWithoutBarcode">Добавяне на карта без щрихкод</string>
<string name="field_must_not_be_empty">Полето не трябва да е празно</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Винаги да се завърта (пренебрегва системната настройка)</string>
</resources>
@@ -33,7 +33,6 @@
<string name="setBarcodeId">বারকোড আইডি সেট করুন</string>
<string name="unsupportedBarcodeType">এই বারকোডের টাইপটি এখন দেখানো যাচ্ছে না। অ্যাপের পরের সংস্করণে হয়ত এটি সমর্থন করা যেতে পারে।</string>
<string name="wrongValueForBarcodeType">বারকোড টাইপের জন্য ভুল মান</string>
<string name="copy_to_clipboard_multiple_toast">আইডিগুলি ক্লিপবোর্ডে কপি হল</string>
<string name="intent_import_card_from_url_share_multiple_text">url থেকে ইন্টেন্ট ইম্পোর্ট কার্ড একাধিক টেক্সট শেয়ার করে</string>
<string name="frontImageDescription">সামনের চিত্র</string>
<string name="backImageDescription">পিছনের চিত্র</string>
@@ -68,13 +67,11 @@
<string name="reverse">...উল্টো ক্রমে</string>
<string name="sort_by">ক্রমানুসার</string>
<string name="noCardExistsError">কার্ডটি খুঁজে পাওয়া গেল না</string>
<string name="card_ids_copied">আইডি কপি করা হয়েছে</string>
<string name="noCardsMessage">কোন কার্ড বার্তা নেই</string>
<string name="addCardTitle">কার্ডের শিরোনাম যোগ করুন</string>
<string name="editCardTitle">কার্ডের শিরোনাম সম্পাদনা করুন</string>
<string name="sendLabel">পাঠান…</string>
<string name="share">ভাগ</string>
<string name="copy_to_clipboard">নকল করুন ক্লিপবোর্ড এ</string>
<string name="deleteConfirmation">এই কার্ডটি চিরকালের জন্য মুছে দেবো\?</string>
<string name="confirm">নিশ্চিত করুন</string>
<string name="delete">মুছে ফেলুন</string>
@@ -125,7 +122,6 @@
<string name="importExport">আমদানি/রপ্তানি</string>
<string name="cardShortcut">কার্ড শর্টকাট</string>
<string name="exportFailed">রপ্তানি করা যাচ্ছে না</string>
<string name="copy_to_clipboard_toast">আইডি ক্লিপবোর্ডে নকল করা হল</string>
<string name="importExportHelp">নিজের ডেটা অন্য কোথাও সংরক্ষণ করে রাখলে পরে সেটা অন্য ডিভাইসে সরিয়ে নিতে পারবেন।</string>
<string name="importFailed">আমদানি করা গেল না</string>
<string name="noGiftCardsGroup">কিছু কার্ড বানান আর এই গ্রুপে স্থির করুন।</string>
+24 -2
View File
@@ -40,7 +40,6 @@
<item quantity="one">এই <xliff:g>%d</xliff:g> কার্ডটি স্থায়ীভাবে মুছবেন\?</item>
<item quantity="other">এই <xliff:g>%d</xliff:g> কার্ডগুলিকে স্থায়ীভাবে মুছবেন\?</item>
</plurals>
<string name="copy_to_clipboard">ক্লিপবোর্ডে আইডি কপি করুন</string>
<string name="share">শেয়ার করুন</string>
<string name="editCardTitle">কার্ড সম্পাদনা করুন</string>
<string name="addCardTitle">কার্ড যোগ করুন</string>
@@ -53,5 +52,28 @@
<string name="noGiftCards">একটি কার্ড যোগ করতে + প্লাস বোতামে ক্লিক করুন বা ⋮ মেনু থেকে আমদানি করুন।</string>
<string name="cardShortcut">কার্ড শর্টকাট</string>
<string name="noCardsMessage">প্রথমে একটি কার্ড যোগ করুন</string>
<string name="card_ids_copied">আইডি কপি করা হয়েছে</string>
<string name="noCardExistsError">কার্ডটি খুঁজে পাওয়া যায়নি</string>
<string name="barcodeImageDescriptionWithType">ছবি <xliff:g>%s</xliff:g> বারকোড</string>
<string name="cameraPermissionDeniedTitle">ক্যামেরাটি ব্যবহার করা যাচ্ছে না</string>
<string name="failedParsingImportUriError">দেওয়া URL-টি প্রক্রিয়া করা যাচ্ছে না</string>
<string name="exporting">রপ্তানি করা হচ্ছে…</string>
<string name="noCameraPermissionDirectToSystemSetting">বারকোড স্ক্যান করার জন্য, ক্যাটিমা কে ক্যামেরাটি ব্যবহার করার অনুমতি দিতে হবে। এইখানে টাচ করে আপনার অনুমতি সেটিংস পালটে নিন।</string>
<string name="settings_dark_theme">অন্ধকার</string>
<string name="exportOptionExplanation">ডেটাটি আপনার পছন্দের জায়গায় রাখা হবে।</string>
<string name="importFailed">আমদানি করা গেল না</string>
<string name="permissionReadCardsDescription">সমস্ত ক্যাটিমা কার্ডস এবং তার তথ্য পড়ুন, নোট্স আর ছবি সহ</string>
<string name="importFailedTitle">আমদানি ব্যর্থ</string>
<string name="importExportHelp">নিজের ডেটা সংরক্ষণ করে রাখলে পরে সেটা অন্য ডিভাইসে সরিয়ে নিতে পারবেন।</string>
<string name="importExport">আমদানি/রপ্তানি</string>
<string name="importing">আমদানি করা হচ্ছে…</string>
<string name="exportFailed">রপ্তানি করা যাচ্ছে না</string>
<string name="exportName">আমদানি/রপ্তানি</string>
<string name="cameraPermissionRequired">এই কাজটির জন্য ক্যামেরা ব্যবহার করার অনুমতি লাগবে…</string>
<string name="importSuccessfulTitle">আমদানি শেষ</string>
<string name="exportSuccessfulTitle">রপ্তানি শেষ</string>
<string name="permissionReadCardsLabel">কাটিমা কার্ডস পড়ুন</string>
<string name="storageReadPermissionRequired">এই কাজটির জন্য ফোনের স্টোরেজ দেখার অনুমতি লাগবে…</string>
<string name="exportFailedTitle">রপ্তানি ব্যর্থ</string>
<string name="settings_card_orientation">বারকোড অভিমুখ (ওরিয়েন্টেশন)</string>
<string name="app_name">ক্যাটিমা</string>
</resources>
-3
View File
@@ -33,7 +33,6 @@
<string name="setBarcodeId">Postavi vrijednost za bar kod</string>
<string name="unsupportedBarcodeType">Ovaj bar kod još nije prikazan. Ona može biti podržana u kasnijoj verziji app.</string>
<string name="wrongValueForBarcodeType">Izabrana vrijednost nije izvršna</string>
<string name="copy_to_clipboard_multiple_toast">IDs kartica kopiran u clipboard</string>
<string name="intent_import_card_from_url_share_multiple_text">Želim podijeliti karte s tobom</string>
<string name="frontImageDescription">Slika kartice</string>
<string name="backImageDescription">Slika pozadine kartice</string>
@@ -68,13 +67,11 @@
<string name="reverse">Rikverc</string>
<string name="sort_by">Sortiraj</string>
<string name="noCardExistsError">Nisam mogao pronaći tu karticu</string>
<string name="card_ids_copied">Kopiran ID/ovi</string>
<string name="noCardsMessage">Dodaj prvo kartu</string>
<string name="addCardTitle">Dodaj Kartu</string>
<string name="editCardTitle">Izmijeni Karticu</string>
<string name="sendLabel">Pošalji…</string>
<string name="share">Podijeli</string>
<string name="copy_to_clipboard">Kopiraj ID u clipboard</string>
<string name="deleteConfirmation">Izbriši trajno ovu karticu\?</string>
<string name="confirm">Potvrdi</string>
<string name="delete">Obriši</string>
+13 -7
View File
@@ -11,7 +11,6 @@
<string name="delete">Smazat</string>
<string name="confirm">Potvrdit</string>
<string name="ok">OK</string>
<string name="copy_to_clipboard">Kopírovat ID do schránky</string>
<string name="sendLabel">Odeslat…</string>
<string name="editCardTitle">Editovat kartu</string>
<string name="addCardTitle">Přidat kartu</string>
@@ -38,7 +37,6 @@
<string name="about_title_fmt">O aplikaci <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Verze: <xliff:g id="version">%s</xliff:g></string>
<string name="selectBarcodeTitle">Vyberte čárový kód</string>
<string name="copy_to_clipboard_toast">ID zkopírováno do schránky</string>
<string name="deleteTitle">Smazat kartu</string>
<string name="deleteConfirmation">Opravdu chcete smazat tuto kartu\?</string>
<string name="moveBarcodeToTopOfScreen">Přesunout čárový kód do horní části obrazovky</string>
@@ -63,7 +61,6 @@
<string name="noMatchingGiftCards">Nic nenalezeno. Zkuste zadat jiný výraz.</string>
<string name="action_search">Hledat</string>
<string name="thumbnailDescription">Miniatura</string>
<string name="card_ids_copied">ID zkopírováno</string>
<plurals name="deleteCardsConfirmation">
<item quantity="one">Opravdu chcete trvale odstranit <xliff:g>%d</xliff:g> kartu\?</item>
<item quantity="few">Opravdu chcete trvale odstranit <xliff:g>%d</xliff:g> karty\?</item>
@@ -117,7 +114,6 @@
<string name="backImageDescription">Obrázek zadní strany</string>
<string name="frontImageDescription">Obrázek přední strany</string>
<string name="intent_import_card_from_url_share_multiple_text">Chci s vámi sdílet karty</string>
<string name="copy_to_clipboard_multiple_toast">ID zkopírována do schránky</string>
<string name="wrongValueForBarcodeType">Hodnota není platná pro vybraný typ čárového kódu</string>
<string name="unsupportedBarcodeType">Tento typ čárového kódu zatím nelze zobrazit. Možná bude podporován v pozdější verzi aplikace.</string>
<string name="barcodeId">Hodnota čárového kódu</string>
@@ -151,8 +147,8 @@
<string name="errorReadingImage">Obrázek se nepodařilo přečíst</string>
<string name="noBarcodeFound">Čárový kód nenalezen</string>
<string name="groupsList">Skupiny: <xliff:g>%s</xliff:g></string>
<string name="addFromImage">Výběr obrázku z galerie</string>
<string name="addManually">Ruční zadání ID</string>
<string name="addFromImage">Vybrat obrázek z galerie</string>
<string name="addManually">Zadat čárový kód ručně</string>
<string name="leaveWithoutSaveConfirmation">Ukončit bez uložení\?</string>
<string name="leaveWithoutSaveTitle">Ukončit</string>
<string name="failedOpeningFileManager">Nejprve si nainstalujte správce souborů.</string>
@@ -199,7 +195,7 @@
<string name="setIcon">Nastavit miniaturu</string>
<string name="group_edit">Upravit skupinu</string>
<string name="group_name_already_in_use">Název skupiny je již použitý</string>
<string name="group_name_is_empty">Název skupiny nemůže být prázdný</string>
<string name="group_name_is_empty">Název skupiny nesmí být prázdný</string>
<string name="group_updated">Skupina aktualizována</string>
<string name="editGroup">Úprava skupiny: <xliff:g>%s</xliff:g></string>
<string name="noGiftCardsGroup">Zatím nemáte žádné věrnostní karty. Jakmile nějaké přidáte, můžete je zde přiřadit do skupiny.</string>
@@ -285,4 +281,14 @@
<string name="action_display_options">Možnosti zobrazení</string>
<string name="show_archived_cards">Zobrazovat archivované karty</string>
<string name="view_online">Zobrazovat online</string>
<string name="card_id_must_not_be_empty">ID karty nesmí být prázdné</string>
<string name="balanceParsingFailed">Neplatný zůstatek</string>
<string name="add_a_card_in_a_different_way">Přidat kartu jiným způsobem</string>
<string name="manually_enter_barcode_instructions">Zadejte číslo ID nebo text na vaší kartě a stiskněte čárový kód, který vypadá jako ten na vaší kartě.</string>
<string name="action_more_options">Více možností</string>
<string name="enter_card_id">Zadejte číslo ID nebo text na vaší kartě</string>
<string name="addWithoutBarcode">Přidat kartu bez čárového kódu</string>
<string name="field_must_not_be_empty">Položka nesmí být prázdná</string>
<string name="app_name">Catima</string>
<string name="settings_follow_sensor_orientation">Vždy otáčet (ignoruje nastavení systému)</string>
</resources>
Loaded 100 of 728 files, more files were not shown because too many files have changed in this diff. Show more