mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2025-12-24 15:47:53 -05:00
Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7aac163c2 | ||
|
|
5a3d61d8f0 | ||
|
|
33ba81d3b0 | ||
|
|
6a0956181d | ||
|
|
aca7d3bd9c | ||
|
|
e3e8378f8e | ||
|
|
61d235b497 | ||
|
|
e069d7a956 | ||
|
|
3d8806e38c | ||
|
|
650da3bd6a | ||
|
|
26b7cece35 | ||
|
|
1d3da4d1d1 | ||
|
|
bc3aeed090 | ||
|
|
6606eeb9a7 | ||
|
|
2401a3f8bf | ||
|
|
b3685c0c7e | ||
|
|
868315948e | ||
|
|
19a68719fe | ||
|
|
92570ec75c | ||
|
|
573817f81d | ||
|
|
21da1fed85 | ||
|
|
c23527eb82 | ||
|
|
926b9e0822 | ||
|
|
d32a0b698d | ||
|
|
47bf18f219 | ||
|
|
91096c5839 | ||
|
|
477c16360e | ||
|
|
9a1d7d2e44 | ||
|
|
be54c50786 | ||
|
|
2624924f53 | ||
|
|
724552eaa3 | ||
|
|
bef0d70d09 | ||
|
|
d7201f62ab | ||
|
|
1f229980b7 | ||
|
|
8f08b1989b | ||
|
|
e3c83c0cb0 | ||
|
|
431e380f5e | ||
|
|
5c7b102e08 | ||
|
|
6dc1a1b196 | ||
|
|
6c01d2ffa9 | ||
|
|
3156fd6daf | ||
|
|
6fa4ab3e3b | ||
|
|
9fa67b59c7 | ||
|
|
0935a17fec | ||
|
|
5fdc575485 | ||
|
|
d6bbd16945 | ||
|
|
1110f7ee99 | ||
|
|
d64860a34e | ||
|
|
9fb0da6954 | ||
|
|
12b0f8806b | ||
|
|
5c5a1df39d | ||
|
|
5b0ac65fbe | ||
|
|
e9b542ee6e | ||
|
|
ae6bf5e8f6 | ||
|
|
4dc564ffcf | ||
|
|
49a9ef2f80 | ||
|
|
1907f482eb | ||
|
|
08aad7ce20 | ||
|
|
f555a160d5 | ||
|
|
2d9b7f358e | ||
|
|
db396b5f21 | ||
|
|
018d36c3fd | ||
|
|
e6621244b8 | ||
|
|
29aef64d97 | ||
|
|
cbe243feb3 | ||
|
|
ff02c59f85 | ||
|
|
3895bc1f73 | ||
|
|
cd0cce532a | ||
|
|
3fdf6693d2 | ||
|
|
d2be344700 | ||
|
|
9bd2898678 | ||
|
|
07f2348a6d | ||
|
|
ddd1c1a516 | ||
|
|
8de76e3c52 | ||
|
|
6ea2645e9d | ||
|
|
ed166b1b33 | ||
|
|
2dd53a5300 | ||
|
|
97f9120acf | ||
|
|
dd29be75f2 | ||
|
|
fa87df2ed8 | ||
|
|
1fb94de809 | ||
|
|
0e18e84c8f | ||
|
|
0ba2261033 | ||
|
|
703ebf9418 | ||
|
|
ff08dbe5d5 | ||
|
|
3003a10550 | ||
|
|
f95be6cc71 | ||
|
|
23bc40e630 | ||
|
|
45c47674fb | ||
|
|
cf1d1a8122 | ||
|
|
45d2629863 | ||
|
|
f6b0736bbf |
2
.github/workflows/android.yml
vendored
2
.github/workflows/android.yml
vendored
@@ -68,7 +68,7 @@ jobs:
|
||||
run: ./gradlew spotbugs${{ matrix.flavor }}Release
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: test-results-flavor${{ matrix.flavor }}
|
||||
path: app/build/reports
|
||||
|
||||
2
.github/workflows/changelog-to-fastlane.yml
vendored
2
.github/workflows/changelog-to-fastlane.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
||||
- name: Run converter script
|
||||
run: python .scripts/changelog_to_fastlane.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update Fastlane changelogs"
|
||||
commit-message: "Update Fastlane changelogs"
|
||||
|
||||
2
.github/workflows/contributors-to-file.yml
vendored
2
.github/workflows/contributors-to-file.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
file_in_repo: app/src/main/res/raw/contributors.txt
|
||||
min_commit_count: 5
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update contributors"
|
||||
commit-message: "Update contributors"
|
||||
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
- name: Generate featureGraphic.png for each language
|
||||
run: .scripts/generate_feature_graphic/generate_feature_graphic.sh
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update feature graphic"
|
||||
commit-message: "Update feature graphic"
|
||||
|
||||
2
.github/workflows/gradle-update.yml
vendored
2
.github/workflows/gradle-update.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
id: gradle-update
|
||||
- uses: gradle/actions/wrapper-validation@v4
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
commit-message: "Update Gradle to ${{ steps.gradle-update.outputs.version }}"
|
||||
|
||||
2
.github/workflows/update-locales.yml
vendored
2
.github/workflows/update-locales.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Update locales
|
||||
run: .scripts/locales.py
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v7.0.5
|
||||
uses: peter-evans/create-pull-request@v7.0.6
|
||||
with:
|
||||
title: "Update locales"
|
||||
commit-message: "Update locales"
|
||||
|
||||
11
CHANGELOG.md
11
CHANGELOG.md
@@ -1,5 +1,16 @@
|
||||
# Changelog
|
||||
|
||||
## v2.34.4 - 146 (2025-01-17)
|
||||
|
||||
- Ability to sort cards by start of validity
|
||||
- Temporarily revert to targeting Android 14 to fix some UI issues
|
||||
|
||||
## v2.34.3 - 145 (2025-01-15)
|
||||
|
||||
- Target Android 15
|
||||
- Fix keyboard covering save button in edit screen
|
||||
- Fix some pkpass files not being detected as pkpass (application/vnd-com.apple.pkpass mime type support)
|
||||
|
||||
## v2.34.2 - 144 (2024-12-26)
|
||||
|
||||
- Improve archive/starred icon display
|
||||
|
||||
128
CODE_OF_CONDUCT.md
Normal file
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
catima.g9ex3@hackerchick.me.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
@@ -16,14 +16,14 @@ spotbugs {
|
||||
|
||||
android {
|
||||
namespace = "protect.card_locker"
|
||||
compileSdk = 34
|
||||
compileSdk = 35
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "me.hackerchick.catima"
|
||||
minSdk = 21
|
||||
targetSdk = 34
|
||||
versionCode = 144
|
||||
versionName = "2.34.2"
|
||||
versionCode = 146
|
||||
versionName = "2.34.4"
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
multiDexEnabled = true
|
||||
@@ -112,7 +112,7 @@ dependencies {
|
||||
// AndroidX
|
||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.2.0")
|
||||
implementation("androidx.core:core-ktx:1.13.1")
|
||||
implementation("androidx.core:core-ktx:1.15.0")
|
||||
implementation("androidx.core:core-splashscreen:1.0.1")
|
||||
implementation("androidx.exifinterface:exifinterface:1.3.7")
|
||||
implementation("androidx.palette:palette:1.0.0")
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/pdf" />
|
||||
<data android:mimeType="application/vnd.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd-com.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd.espass-espass" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEND" />
|
||||
@@ -58,6 +60,8 @@
|
||||
<data android:mimeType="image/*" />
|
||||
<data android:mimeType="application/pdf" />
|
||||
<data android:mimeType="application/vnd.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd-com.apple.pkpass" />
|
||||
<data android:mimeType="application/vnd.espass-espass" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
@@ -75,13 +79,12 @@
|
||||
<activity
|
||||
android:name=".LoyaltyCardViewActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".LoyaltyCardEditActivity"
|
||||
android:exported="true"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden">
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<intent-filter
|
||||
android:autoVerify="true"
|
||||
android:label="@string/app_name">
|
||||
@@ -119,8 +122,7 @@
|
||||
<activity
|
||||
android:name=".BarcodeSelectorActivity"
|
||||
android:label="@string/selectBarcodeTitle"
|
||||
android:theme="@style/AppTheme.NoActionBar"
|
||||
android:windowSoftInputMode="stateHidden" />
|
||||
android:theme="@style/AppTheme.NoActionBar" />
|
||||
<activity
|
||||
android:name=".preferences.SettingsActivity"
|
||||
android:label="@string/settings"
|
||||
|
||||
@@ -70,6 +70,7 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
public enum LoyaltyCardOrder {
|
||||
Alpha,
|
||||
LastUsed,
|
||||
ValidFrom,
|
||||
Expiry
|
||||
}
|
||||
|
||||
@@ -916,6 +917,10 @@ public class DBHelper extends SQLiteOpenHelper {
|
||||
return LoyaltyCardDbIds.LAST_USED;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.ValidFrom) {
|
||||
return LoyaltyCardDbIds.VALID_FROM;
|
||||
}
|
||||
|
||||
if (order == LoyaltyCardOrder.Expiry) {
|
||||
return LoyaltyCardDbIds.EXPIRY;
|
||||
}
|
||||
|
||||
@@ -500,7 +500,12 @@ public class MainActivity extends CatimaAppCompatActivity implements LoyaltyCard
|
||||
parseResultList = Utils.retrieveBarcodesFromImage(this, data);
|
||||
} else if (receivedType.equals("application/pdf")) {
|
||||
parseResultList = Utils.retrieveBarcodesFromPdf(this, data);
|
||||
} else if (receivedType.equals("application/vnd.apple.pkpass")) {
|
||||
} else if (Arrays.asList("application/vnd.apple.pkpass", "application/vnd-com.apple.pkpass").contains(receivedType)) {
|
||||
parseResultList = Utils.retrieveBarcodesFromPkPass(this, data);
|
||||
} else if (receivedType.equals("application/vnd.espass-espass")) {
|
||||
// FIXME: espass is not pkpass
|
||||
// However, several users stated in https://github.com/CatimaLoyalty/Android/issues/2197 that the formats are extremely similar to the point they could rename an .espass file to .pkpass and have it imported
|
||||
// So it makes sense to "unofficially" treat it as a PKPASS for now, even though not completely correct
|
||||
parseResultList = Utils.retrieveBarcodesFromPkPass(this, data);
|
||||
} else {
|
||||
Log.e(TAG, "Wrong mime-type");
|
||||
|
||||
@@ -16,46 +16,46 @@ Altonss
|
||||
Michael Moroni
|
||||
Eric
|
||||
GM
|
||||
laralem
|
||||
Petr Novák
|
||||
laralem
|
||||
Joel A
|
||||
Taco
|
||||
pfaffenrodt
|
||||
Максим Горпиніч
|
||||
Aayush Gupta
|
||||
B o d o
|
||||
Scrambled777
|
||||
Priit Jõerüüt
|
||||
Максим Горпиніч
|
||||
B o d o
|
||||
Giovanni Donisi
|
||||
HudobniVolk
|
||||
Nyatsuki
|
||||
Jiri Grönroos
|
||||
ikanakova
|
||||
Samantaz Fox
|
||||
Balázs Meskó
|
||||
Milo Ivir
|
||||
Arno-github
|
||||
Ankit Tiwari
|
||||
Sergio Paredes
|
||||
Cliff Heraldo
|
||||
Sergio Paredes
|
||||
Jose Delvani
|
||||
mdvhimself
|
||||
Milan Šalka
|
||||
ikanakova
|
||||
josé m
|
||||
huuhaa
|
||||
Skrripy
|
||||
Edgars Andersons
|
||||
Kachelkaiser
|
||||
Projjal Moitra
|
||||
Quentin PAGÈS
|
||||
josé m
|
||||
ngocanhtve
|
||||
Silvério Santos
|
||||
waffshappen
|
||||
Marnick L'Eau
|
||||
Robin
|
||||
Ziad OUALHADJ
|
||||
Robin Liu
|
||||
Denis Shilin
|
||||
Edgars Andersons
|
||||
Robin Liu
|
||||
Renko
|
||||
しいたけ
|
||||
Alexander Ivanov
|
||||
@@ -66,12 +66,13 @@ stavpup
|
||||
ehrt74
|
||||
Virginie
|
||||
Vasilis
|
||||
MisterCosta96
|
||||
arshbeerSingh
|
||||
Augustin LAVILLE
|
||||
Freddo espresso
|
||||
Govind S Nair
|
||||
Kim Seohyun
|
||||
Tim Trek
|
||||
rudy3
|
||||
Peter Dave Hello
|
||||
Michael Gangolf
|
||||
rudy3
|
||||
Kim Seohyun
|
||||
Govind S Nair
|
||||
Freddo espresso
|
||||
Augustin LAVILLE
|
||||
arshbeerSingh
|
||||
MisterCosta96
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<string name="removeImage">Премахване на изображение</string>
|
||||
<string name="takePhoto">Снимане</string>
|
||||
<string name="intent_import_card_from_url_share_multiple_text">Искам да споделя тези карти с вас</string>
|
||||
<string name="wrongValueForBarcodeType">Стойноста е неприемлива за избрания щрихкод</string>
|
||||
<string name="wrongValueForBarcodeType">Стойността е неприемлива за избрания вид щрихкод</string>
|
||||
<string name="setBarcodeId">Задаване на стойност</string>
|
||||
<string name="sameAsCardId">Като номера</string>
|
||||
<string name="barcodeId">Стойност на щрихкода</string>
|
||||
@@ -308,4 +308,5 @@
|
||||
<string name="generic_error_please_retry">Съжаляваме, нещо се обърка, опитайте отново…</string>
|
||||
<string name="addFromPkpass">Изберете файл на Passbook (.pkpass)</string>
|
||||
<string name="unsupportedFile">Този вид файлове не се поддържат</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Начало валидност</string>
|
||||
</resources>
|
||||
|
||||
@@ -314,4 +314,5 @@
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Platnost od</string>
|
||||
</resources>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<string name="settings_theme">Tema</string>
|
||||
<string name="settings">Indstillinger</string>
|
||||
<string name="starImage">Favorit stjerne</string>
|
||||
<string name="thumbnailDescription">Miniaturebillede til kort</string>
|
||||
<string name="thumbnailDescription">Thumbnail</string>
|
||||
<string name="selectBarcodeTitle">Vælg stregkode</string>
|
||||
<string name="app_copyright_old">Baseret på Loyalty Card Keychain
|
||||
\ncopyright © 2016-2020 Branden Archer.</string>
|
||||
@@ -66,22 +66,22 @@
|
||||
<string name="noCardExistsError">Kunne ikke finde det kort</string>
|
||||
<string name="deleteConfirmationGroup">Slet gruppe\?</string>
|
||||
<string name="all">Alle</string>
|
||||
<string name="noGroupCards">Denne gruppe indeholder ikke nogen kort</string>
|
||||
<string name="noGroups">Klik på + plus-knappen for først at tilføje grupper til kategorisering.</string>
|
||||
<string name="noGroupCards">Denne gruppe er tom</string>
|
||||
<string name="noGroups">Klik på + plus-knappen for at tilføje grupper til kategorisering.</string>
|
||||
<string name="groups">Grupper</string>
|
||||
<string name="enter_group_name">Indtast gruppenavn</string>
|
||||
<string name="exportSuccessful">Eksporterede kortdata</string>
|
||||
<string name="importSuccessful">Kortdata importeret</string>
|
||||
<string name="exportSuccessful">Data eksporteret</string>
|
||||
<string name="importSuccessful">Data importeret</string>
|
||||
<string name="intent_import_card_from_url_share_text">Jeg vil dele et kort med jer</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card">Forebyg låseskærm</string>
|
||||
<string name="settings_keep_screen_on">LHold skærm tændt</string>
|
||||
<string name="moveUp">Bevæg dig opad</string>
|
||||
<string name="leaveWithoutSaveConfirmation">Forlade uden at gemme\?</string>
|
||||
<string name="settings_display_barcode_max_brightness">Lysere stregkodevisning</string>
|
||||
<string name="settings_display_barcode_max_brightness">Gør skærm lysere</string>
|
||||
<string name="failedOpeningFileManager">Installer først en filhåndteringsprogram.</string>
|
||||
<string name="moveDown">Bevæger sig nedad</string>
|
||||
<string name="leaveWithoutSaveTitle">Afslut</string>
|
||||
<string name="addManually">Indtast kort-ID manuelt</string>
|
||||
<string name="addManually">Indtast stregkoden manuelt</string>
|
||||
<string name="noGiftCardsGroup">Opret kort og tildel dem gupper her.</string>
|
||||
<plurals name="deleteCardsConfirmation">
|
||||
<item quantity="one">Slet dette <xliff:g>%d</xliff:g> kort permanent\?</item>
|
||||
@@ -100,4 +100,58 @@
|
||||
<string name="debug_version_fmt">Version: <xliff:g id="version">%s</xliff:g></string>
|
||||
<string name="app_license">Copylefted libre software, GPLv3+ licens</string>
|
||||
<string name="barcodeImageDescriptionWithType">Billede<xliff:g>%s</xliff:g> stregkode</string>
|
||||
<string name="group_name_already_in_use">Gruppenavn allerede i brug</string>
|
||||
<string name="editGroup">Redigerer Gruppe: <xliff:g>%s</xliff:g></string>
|
||||
<string name="importFidme">Importer fra FidMe</string>
|
||||
<string name="settings_card_orientation">Skærm orientation</string>
|
||||
<string name="settings_follow_system_orientation">Følg system</string>
|
||||
<string name="settings_portrait_orientation">Portræt</string>
|
||||
<string name="settings_landscape_orientation">Landskab</string>
|
||||
<string name="settings_disable_lockscreen_while_viewing_card_summary">Deaktiver låseskærm når et kort er åbent</string>
|
||||
<string name="groupsList">Grupper: <xliff:g>%s</xliff:g></string>
|
||||
<string name="expiryStateSentence">Udløber: <xliff:g>%s</xliff:g></string>
|
||||
<string name="moveBarcodeToTopOfScreen">Flyt stregkoden til toppen af skærmen</string>
|
||||
<string name="accept">Acceptér</string>
|
||||
<string name="importCatima">Importer fra Catima</string>
|
||||
<string name="expiryDate">Udløbsdato</string>
|
||||
<string name="never">Aldrig</string>
|
||||
<string name="chooseExpiryDate">Vælg udløbsdato</string>
|
||||
<string name="balance">Balance</string>
|
||||
<string name="importStocard">Importer fra Stocard</string>
|
||||
<string name="balanceSentence">Balance: <xliff:g>%s</xliff:g></string>
|
||||
<string name="group_name_is_empty">Gruppenavn må ikke være tom</string>
|
||||
<string name="group_updated">Gruppe opdateret</string>
|
||||
<string name="card">Kort</string>
|
||||
<string name="currency">Valuta</string>
|
||||
<string name="settings_display_barcode_max_brightness_summary">Nødvendigt for nogle scannere til at fungerer</string>
|
||||
<string name="editBarcode">Rediger stregkode</string>
|
||||
<string name="points">Point</string>
|
||||
<string name="privacy_policy">Privatlivspolitik</string>
|
||||
<plurals name="groupCardCount">
|
||||
<item quantity="one"><xliff:g>%d</xliff:g> kort</item>
|
||||
<item quantity="other"><xliff:g>%d</xliff:g> kort</item>
|
||||
</plurals>
|
||||
<string name="settings_allow_content_provider_read_title">Tillid andre apps tilgang til min data</string>
|
||||
<string name="settings_allow_content_provider_read_summary">Apps vil stadig have behov for at spørge om tilladelse for at få adgang</string>
|
||||
<string name="barcodeId">Stregkode værdi</string>
|
||||
<string name="setBarcodeId">Vælg stregkode værdi</string>
|
||||
<string name="sameAsCardId">Samme som ID</string>
|
||||
<string name="settings_system_theme">System</string>
|
||||
<string name="settings_lock_on_opening_orientation">Lås til orientation når kort åbnes</string>
|
||||
<string name="settings_keep_screen_on_summary">Deaktiver skærm tids slukning når et kort er åbent</string>
|
||||
<string name="group_edit">Rediger gruppe</string>
|
||||
<string name="settings_follow_sensor_orientation">Altid roter (ignorer system indstillinger)</string>
|
||||
<string name="chooseImportType">Importer data fra</string>
|
||||
<string name="importVoucherVault">Importer fra Voucher Vault</string>
|
||||
<string name="settings_use_volume_keys_navigation">Skift kort ved brug af lydstyrke knapperne</string>
|
||||
<string name="settings_use_volume_keys_navigation_summary">Brug lydstyrke knapperne til at ændre hvilket kort bliver vist</string>
|
||||
<string name="addFromImage">Vælg et billede fra galleri</string>
|
||||
<string name="expiryStateSentenceExpired">Udløbet: <xliff:g>%s</xliff:g></string>
|
||||
<string name="noBarcodeFound">Ingen stregkode blev fundet</string>
|
||||
<string name="errorReadingImage">Kunne ikke læse billedet</string>
|
||||
<string name="balanceParsingFailed">Ugyldig balance</string>
|
||||
<plurals name="balancePoints">
|
||||
<item quantity="one"><xliff:g>%s</xliff:g> point</item>
|
||||
<item quantity="other"><xliff:g>%s</xliff:g> point</item>
|
||||
</plurals>
|
||||
</resources>
|
||||
@@ -163,7 +163,7 @@
|
||||
<string name="app_contributors">Ermöglicht durch: <xliff:g id="app_contributors">%s</xliff:g></string>
|
||||
<string name="barcodeImageDescriptionWithType">Bild <xliff:g>%s</xliff:g> Barcode</string>
|
||||
<string name="sort_by">Sortieren nach</string>
|
||||
<string name="sort_by_expiry">Ablauf</string>
|
||||
<string name="sort_by_expiry">Gültig bis</string>
|
||||
<string name="sort_by_most_recently_used">Zuletzt verwendet</string>
|
||||
<string name="sort_by_name">Name</string>
|
||||
<string name="sort">Sortieren</string>
|
||||
@@ -305,4 +305,5 @@
|
||||
<string name="generic_error_please_retry">Entschuldigung, da ist etwas schief gelaufen, versuchen Sie es noch einmal ...</string>
|
||||
<string name="unsupportedFile">Diese Datei wird nicht unterstützt</string>
|
||||
<string name="addFromPkpass">Passbook-Datei (.pkpass) auswählen</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Gültig ab</string>
|
||||
</resources>
|
||||
|
||||
@@ -307,4 +307,5 @@
|
||||
<string name="generic_error_please_retry">Λυπούμαστε, κάτι πήγε στραβά, δοκιμάστε ξανά...</string>
|
||||
<string name="unsupportedFile">Το αρχείο δεν υποστηρίζεται</string>
|
||||
<string name="addFromPkpass">Επιλογή αρχείου Passbook (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Έναρξη ισχύος</string>
|
||||
</resources>
|
||||
|
||||
@@ -303,4 +303,5 @@
|
||||
<string name="generic_error_please_retry">Vabandust, midagi läks nüüd viltu, palun proovi uuesti...</string>
|
||||
<string name="unsupportedFile">See fail pole toetatud</string>
|
||||
<string name="addFromPkpass">Vali Passbooki fail (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Kehtib alates</string>
|
||||
</resources>
|
||||
|
||||
@@ -305,4 +305,7 @@
|
||||
<string name="settings_column_count_4">4</string>
|
||||
<string name="settings_column_count_5">5</string>
|
||||
<string name="settings_column_count_7">7</string>
|
||||
<string name="addFromPkpass">Valitse Passbook-tiedosto (.pkpass)</string>
|
||||
<string name="unsupportedFile">Tämä tiedosto ei ole tuettu</string>
|
||||
<string name="generic_error_please_retry">Pahoittelut, jokin meni pieleen. Yritä uudelleen...</string>
|
||||
</resources>
|
||||
@@ -302,4 +302,5 @@
|
||||
<string name="unsupportedFile">Este ficheiro non é compatible</string>
|
||||
<string name="addFromPkpass">Selecciona un ficheiro Passbook (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Sentímolo, pero algo fallou, inténtao outra vez…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Válido desde</string>
|
||||
</resources>
|
||||
|
||||
@@ -308,4 +308,5 @@
|
||||
<string name="addFromPkpass">Kies een Passbook bestand (.pkpass)</string>
|
||||
<string name="unsupportedFile">Dit bestand wordt niet ondersteund</string>
|
||||
<string name="generic_error_please_retry">Sorry, er ging iets mis. Probeer het opnieuw.</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Op geldig vanaf</string>
|
||||
</resources>
|
||||
|
||||
@@ -320,4 +320,5 @@
|
||||
<string name="unsupportedFile">Данный файл не поддерживается</string>
|
||||
<string name="addFromPkpass">Выбрать файл Passbook (.pkpass)</string>
|
||||
<string name="generic_error_please_retry">Извините, что-то пошло не так, попробуйте ещё раз…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Начало действия</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?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">
|
||||
<string name="settings_display_barcode_max_brightness">Gör streckkodsvyn ljusare</string>
|
||||
<string name="settings_display_barcode_max_brightness">Gör skärmen ljusare</string>
|
||||
<string name="settings_keep_screen_on">Håll skärmen påslagen</string>
|
||||
<string name="importFidmeMessage">Välj den exporterade <i>fidme-export-request-xxxxxx.zip</i> från FidMe som du vill importera och välj streckkodstyper manuellt efteråt.
|
||||
\nSkapa den från din FidMe-profil först genom att välja \"Data Protection\" och sen trycka på \"Extract my data\".</string>
|
||||
|
||||
@@ -319,4 +319,5 @@
|
||||
<string name="unsupportedFile">Цей файл не підтримується</string>
|
||||
<string name="generic_error_please_retry">Вибачте, щось пішло не так, спробуйте ще раз...</string>
|
||||
<string name="addFromPkpass">Виберіть файл Passbook (.pkpass)</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">Діє з</string>
|
||||
</resources>
|
||||
|
||||
@@ -302,4 +302,5 @@
|
||||
<string name="addFromPkpass">选择 Passbook 文件(.pkpass)</string>
|
||||
<string name="unsupportedFile">此文件不受支持</string>
|
||||
<string name="generic_error_please_retry">抱歉,某个东西出错了,请再试…</string>
|
||||
</resources>
|
||||
<string name="sort_by_valid_from">有效期开始日</string>
|
||||
</resources>
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<string-array name="sort_types_array">
|
||||
<item>@string/sort_by_name</item>
|
||||
<item>@string/sort_by_most_recently_used</item>
|
||||
<item>@string/sort_by_valid_from</item>
|
||||
<item>@string/sort_by_expiry</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -255,6 +255,7 @@
|
||||
<string name="barcodeLongPressMessage">Only images can be opened in the gallery app</string>
|
||||
<string name="sort_by_name">Name</string>
|
||||
<string name="sort_by_most_recently_used">Most Recently Used</string>
|
||||
<string name="sort_by_valid_from">Valid From</string>
|
||||
<string name="sort_by_expiry">Expiry</string>
|
||||
<!-- \"Reversed order\" is also OK. This is an option in the card sorting list -->
|
||||
<string name="reverse">…in reversed order</string>
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
<item name="alertDialogTheme">@style/ThemeOverlay.App.MaterialAlertDialog.Monet</item>
|
||||
|
||||
<item name="windowActionModeOverlay">true</item>
|
||||
|
||||
</style>
|
||||
|
||||
<style name="ThemeOverlay.App.MaterialAlertDialog.Monet" parent="ThemeOverlay.Material3.MaterialAlertDialog">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
|
||||
plugins {
|
||||
id("com.android.application") version "8.7.3" apply false
|
||||
id("com.android.application") version "8.8.0" apply false
|
||||
id("com.github.spotbugs") version "5.1.4" apply false
|
||||
id("org.jetbrains.kotlin.android") version "2.1.0" apply false
|
||||
}
|
||||
|
||||
1
fastlane/metadata/android/cs-CZ/changelogs/144.txt
Normal file
1
fastlane/metadata/android/cs-CZ/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Zlepšení zobrazení ikon archivu/hvězdiček
|
||||
3
fastlane/metadata/android/cs-CZ/changelogs/145.txt
Normal file
3
fastlane/metadata/android/cs-CZ/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Cíl Android 15
|
||||
- Oprava klávesnice zakrývající tlačítko pro uložení na obrazovce úprav
|
||||
- Oprava některých souborů pkpass, které nejsou detekovány jako pkpass (podpora typu mime application/vnd-com.apple.pkpass)
|
||||
1
fastlane/metadata/android/cs-CZ/changelogs/146.txt
Normal file
1
fastlane/metadata/android/cs-CZ/changelogs/146.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Možnost třídit karty podle začátku platnosti
|
||||
3
fastlane/metadata/android/de-DE/changelogs/145.txt
Normal file
3
fastlane/metadata/android/de-DE/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Ziel Android 15
|
||||
- Die Tastatur verdeckt jetzt nicht mehr den "Speichern"-Button im Bearbeitungsbildschirm
|
||||
- Einige pkpass-Dateien wurden nicht als pkpass erkannt (Unterstützung des Mime-Typs application/vnd-com.apple.pkpass)
|
||||
1
fastlane/metadata/android/de-DE/changelogs/146.txt
Normal file
1
fastlane/metadata/android/de-DE/changelogs/146.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Ermöglicht Kartensortierung nach „Beginn der Gültigkeit“
|
||||
3
fastlane/metadata/android/en-US/changelogs/145.txt
Normal file
3
fastlane/metadata/android/en-US/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Target Android 15
|
||||
- Fix keyboard covering save button in edit screen
|
||||
- Fix some pkpass files not being detected as pkpass (application/vnd-com.apple.pkpass mime type support)
|
||||
2
fastlane/metadata/android/en-US/changelogs/146.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/146.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Ability to sort cards by start of validity
|
||||
- Temporarily revert to targeting Android 14 to fix some UI issues
|
||||
3
fastlane/metadata/android/et/changelogs/139.txt
Normal file
3
fastlane/metadata/android/et/changelogs/139.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Lisasime võimaluse liikuda kaartide vahel helivaljuse nuppudega
|
||||
- Parandasime Stocardi impordi vead
|
||||
- Parandasime "Import on katkestatud" vea peale õnnestunud importi
|
||||
1
fastlane/metadata/android/et/changelogs/144.txt
Normal file
1
fastlane/metadata/android/et/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime arhiveeritud/lemmik ikoonide kuvamise
|
||||
3
fastlane/metadata/android/et/changelogs/145.txt
Normal file
3
fastlane/metadata/android/et/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Alusplatvorm on nüüd Android 15
|
||||
- Parandasime olukorra, kus klahvistik kattis muutmisvaates salvestusnupu
|
||||
- Parandasime olukorra, kus mõned pkpass failid jäid tuvastamata (application/vnd-com.apple.pkpass mime-tüüpi tugi)
|
||||
1
fastlane/metadata/android/et/changelogs/98.txt
Normal file
1
fastlane/metadata/android/et/changelogs/98.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Parandasime erinevad TalkBacki vead
|
||||
1
fastlane/metadata/android/et/changelogs/99.txt
Normal file
1
fastlane/metadata/android/et/changelogs/99.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Võtsime kasutusele Material You kujunduskeele
|
||||
1
fastlane/metadata/android/fr-FR/changelogs/140.txt
Normal file
1
fastlane/metadata/android/fr-FR/changelogs/140.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Corriger le retour à la ligne sur la fenêtre d'ajout
|
||||
1
fastlane/metadata/android/fr-FR/changelogs/144.txt
Normal file
1
fastlane/metadata/android/fr-FR/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Améliorer l'affichage des icônes d'archive/étoile
|
||||
1
fastlane/metadata/android/gl-ES/changelogs/144.txt
Normal file
1
fastlane/metadata/android/gl-ES/changelogs/144.txt
Normal file
@@ -0,0 +1 @@
|
||||
- mellora da aparencia da icona arquivar/estrela
|
||||
3
fastlane/metadata/android/gl-ES/changelogs/145.txt
Normal file
3
fastlane/metadata/android/gl-ES/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- versión obxectivo Android 15
|
||||
- solución a teclado que tapa o botón gardar na pantalla de edición
|
||||
- solución a que non detectaba algúns ficheiros .pkpass como tales (compatibilidade co tipo mime application/vnd-com.apple.pkpass)
|
||||
4
fastlane/metadata/android/gl-ES/changelogs/91.txt
Normal file
4
fastlane/metadata/android/gl-ES/changelogs/91.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- mellora na xestión dos grupos
|
||||
- pódense recortar as imaxes
|
||||
- solución da perda de datos da imaxe ao gardar despois de rotar na edición
|
||||
- pódese poñer unha imaxe persoal como icona da tarxeta
|
||||
2
fastlane/metadata/android/gl-ES/changelogs/92.txt
Normal file
2
fastlane/metadata/android/gl-ES/changelogs/92.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- nova disposición da pantalla principal
|
||||
- arranxo do tamaño da parte inferior cando se entraba e saía de pantalla completa
|
||||
2
fastlane/metadata/android/gl-ES/changelogs/93.txt
Normal file
2
fastlane/metadata/android/gl-ES/changelogs/93.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- Engadir Catima a Quick Access Device Controls (https://developer.android.com/guide/topics/ui/device-control)
|
||||
- Arranxo de algúns grupos que non se mostran correctamente na pantalla de xestión dos grupos
|
||||
3
fastlane/metadata/android/gl-ES/changelogs/94.txt
Normal file
3
fastlane/metadata/android/gl-ES/changelogs/94.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- arranxo da borrosidade nas iconas de letras na pantalla principal
|
||||
- arranxo da desaparición puntual de iconas despois da selección
|
||||
- arranxo das iconas na barra de estado non visibles en Android 5
|
||||
1
fastlane/metadata/android/gl-ES/changelogs/95.txt
Normal file
1
fastlane/metadata/android/gl-ES/changelogs/95.txt
Normal file
@@ -0,0 +1 @@
|
||||
- solución ao problema na tarxeta compartir
|
||||
2
fastlane/metadata/android/gl-ES/changelogs/96.txt
Normal file
2
fastlane/metadata/android/gl-ES/changelogs/96.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
- engadida compatibilidade con CODE 93
|
||||
- arranxos menores e melloras
|
||||
4
fastlane/metadata/android/gl-ES/changelogs/97.txt
Normal file
4
fastlane/metadata/android/gl-ES/changelogs/97.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
- solución a crear múltiples entradas a premer varias veces o botón gardar
|
||||
- menor tamaño da cabeceira das tarxetas en ocultar detalles para que se vexan aínda máis tarxetas
|
||||
- reorganización da pantalla de edición
|
||||
- mellora do contraste da icona da estrela na pantalla principal
|
||||
3
fastlane/metadata/android/lv/changelogs/145.txt
Normal file
3
fastlane/metadata/android/lv/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Android 15 atbalsts
|
||||
- Labošanas ekrānā novērsta saglabāšanas pogas aizsegšana ar tastatūru
|
||||
- Novērsta atsevišķu pkpass datņu neatpazīšana kā pkpass (application/vnd-com.apple.pkpass MIME veida atbalsts)
|
||||
3
fastlane/metadata/android/ru-RU/changelogs/145.txt
Normal file
3
fastlane/metadata/android/ru-RU/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Ориентация на Android 15
|
||||
- Исправлено перекрывание клавиатурой кнопки сохранения на экране редактирования
|
||||
- Исправлено нераспознавание некоторых файлов pkpass (поддержка mime-типа application/vnd-com.apple.pkpass)
|
||||
1
fastlane/metadata/android/ru-RU/changelogs/146.txt
Normal file
1
fastlane/metadata/android/ru-RU/changelogs/146.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Возможность сортировки карт по началу действия
|
||||
3
fastlane/metadata/android/uk/changelogs/145.txt
Normal file
3
fastlane/metadata/android/uk/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Цільова версія Android 15
|
||||
— Виправлено клавіатуру, яка закриває кнопку збереження на екрані редагування
|
||||
— Виправлено деякі файли pkpass, які не виявлялися як pkpass (підтримка типу mime у додатку/vnd-com.apple.pkpass)
|
||||
1
fastlane/metadata/android/uk/changelogs/146.txt
Normal file
1
fastlane/metadata/android/uk/changelogs/146.txt
Normal file
@@ -0,0 +1 @@
|
||||
- Можливість сортування карток за терміном дії
|
||||
3
fastlane/metadata/android/zh-CN/changelogs/145.txt
Normal file
3
fastlane/metadata/android/zh-CN/changelogs/145.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- 以 Android 15(API 级别35)为目标平台
|
||||
- 修复编辑屏中键盘遮住保存按钮的问题
|
||||
- 修复一些 pkpass 文件未被检测未pkpass 的问题 (application/vnd-com.apple.pkpass mime 类型支持)
|
||||
1
fastlane/metadata/android/zh-CN/changelogs/146.txt
Normal file
1
fastlane/metadata/android/zh-CN/changelogs/146.txt
Normal file
@@ -0,0 +1 @@
|
||||
- 可以根据有效期开始日排序卡片
|
||||
Reference in New Issue
Block a user