Compare commits

..

13 Commits
v0.24 ... v0.25

Author SHA1 Message Date
Branden Archer
727f3f32fe Merge pull request #271 from brarcher/pre-v0.25
Update for v0.25
2018-10-07 15:28:12 -07:00
Branden Archer
6fa70afac5 Update for v0.25 2018-10-07 15:18:08 -07:00
Branden Archer
c5ad261392 Merge pull request #270 from brarcher/translations
Update translations
2018-10-07 15:12:38 -07:00
Branden Archer
28018eb681 Update translations 2018-10-07 15:05:38 -07:00
Branden Archer
28f7b3db02 Merge pull request #269 from brarcher/orientation-setting
Add option to lock orientation state
2018-10-06 18:33:41 -04:00
Branden Archer
10e720de91 Add option to lock orientation state
This new option will control if the screen orientation
lock option is displayed or not. If set, the orientation lock
is forced and the unlock option is hidden.
2018-10-06 15:27:36 -07:00
Branden Archer
4de952ba2d Set rotation state in onCreate()
The menu creation need not change this state
2018-10-06 14:24:50 -07:00
Branden Archer
c5de27abe3 Move orientation locking code to separate method 2018-10-06 14:24:05 -07:00
Branden Archer
cafa09a86a Remove unneeded code
The IntentIntegrator parses out the result, so this
code is not necessary.
2018-09-18 10:53:16 -04:00
Branden Archer
1635737658 Merge pull request #267 from brarcher/translations
Update translations
2018-09-17 10:20:54 -04:00
Branden Archer
6ee60687b6 Update translations 2018-09-17 10:03:05 -04:00
Branden Archer
0afd9358e6 Merge pull request #266 from brarcher/fix-sorting
Sort card list case insensitive
2018-09-15 23:04:35 -04:00
Branden Archer
cad3b492a2 Sort card list case insensitive 2018-09-15 22:50:36 -04:00
13 changed files with 139 additions and 21 deletions

View File

@@ -1,3 +1,9 @@
## v0.25 (2018-10-07)
Changes:
- Sort card list case insensitive (https://github.com/brarcher/loyalty-card-locker/pull/266)
- Add setting to lock orientation for all cards (https://github.com/brarcher/loyalty-card-locker/pull/269)
## v0.24 (2018-07-31)
Changes:

View File

@@ -13,8 +13,8 @@ android {
applicationId "protect.card_locker"
minSdkVersion 15
targetSdkVersion 27
versionCode 30
versionName "0.24"
versionCode 31
versionName "0.25"
}
buildTypes {
release {

View File

@@ -148,7 +148,7 @@ public class DBHelper extends SQLiteOpenHelper
{
SQLiteDatabase db = getReadableDatabase();
Cursor res = db.rawQuery("select * from " + LoyaltyCardDbIds.TABLE +
" ORDER BY " + LoyaltyCardDbIds.STORE, null);
" ORDER BY " + LoyaltyCardDbIds.STORE + " COLLATE NOCASE ASC", null);
return res;
}

View File

@@ -449,14 +449,6 @@ public class LoyaltyCardEditActivity extends AppCompatActivity
format = result.getFormatName();
}
if(requestCode == SELECT_BARCODE_REQUEST && resultCode == Activity.RESULT_OK)
{
Log.i(TAG, "Received barcode information from capture");
contents = intent.getStringExtra(BarcodeSelectorActivity.BARCODE_CONTENTS);
format = intent.getStringExtra(BarcodeSelectorActivity.BARCODE_FORMAT);
}
if(contents != null && contents.isEmpty() == false &&
format != null && format.isEmpty() == false)
{

View File

@@ -76,6 +76,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
storeName = findViewById(R.id.storeName);
barcodeImage = findViewById(R.id.barcode);
collapsingToolbarLayout = findViewById(R.id.collapsingToolbarLayout);
rotationEnabled = true;
}
@Override
@@ -198,7 +200,12 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
{
getMenuInflater().inflate(R.menu.card_view_menu, menu);
rotationEnabled = true;
if(settings.getLockBarcodeScreenOrientation())
{
MenuItem item = menu.findItem(R.id.action_lock_unlock);
setOrientatonLock(item, true);
item.setVisible(false);
}
return super.onCreateOptionsMenu(menu);
}
@@ -227,15 +234,11 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
case R.id.action_lock_unlock:
if(rotationEnabled)
{
item.setIcon(R.drawable.ic_lock_outline_white_24dp);
item.setTitle(R.string.unlockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
setOrientatonLock(item, true);
}
else
{
item.setIcon(R.drawable.ic_lock_open_white_24dp);
item.setTitle(R.string.lockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
setOrientatonLock(item, false);
}
rotationEnabled = !rotationEnabled;
return true;
@@ -243,4 +246,20 @@ public class LoyaltyCardViewActivity extends AppCompatActivity
return super.onOptionsItemSelected(item);
}
private void setOrientatonLock(MenuItem item, boolean lock)
{
if(lock)
{
item.setIcon(R.drawable.ic_lock_outline_white_24dp);
item.setTitle(R.string.unlockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
else
{
item.setIcon(R.drawable.ic_lock_open_white_24dp);
item.setTitle(R.string.lockScreen);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
}
}

View File

@@ -68,4 +68,9 @@ public class Settings
{
return getBoolean(R.string.settings_key_display_barcode_max_brightness, true);
}
public boolean getLockBarcodeScreenOrientation()
{
return getBoolean(R.string.settings_key_lock_barcode_orientation, false);
}
}

View File

@@ -100,6 +100,17 @@
<string name="intro6Description">Diese App enthält keine Werbung, und ist freie und quelloffene Software. Für Details berühren Sie Über im Menü auf der Hauptseite.\n\nHinterlassen Sie uns ein Feedback im App-Store (:</string>
<string name="change">Anpassen</string>
<string name="storeTextColorTitle">Textfarbe</string>
<string name="storeTextBackgroundColorTitle">Hintergrundfarbe</string>
<string name="storeNameBackgroundColorDescription">Hintergrundfarbe für den Geschäftsnamen</string>
<string name="storeNameColorDescription">Farbe für den Geschäftsnamen</string>
<string name="settings">Einstellungen</string>
<string name="settings_category_title_ui">Benutzeroberfläche</string>
<string name="settings_card_title_list_font_size">Schriftgröße des Titels in der Listenansicht</string>
<string name="settings_card_note_list_font_size">Schriftgröße der Notiz in der Listenansicht</string>
<string name="settings_card_title_font_size">Schriftgröße des Titels</string>
<string name="settings_card_id_font_size">Schriftgröße der Kartennummer</string>
<string name="settings_card_note_font_size">Schriftgröße der Notiz</string>
<string name="settings_display_barcode_max_brightness">Helligkeit bei Barcode Ansicht erhöhen</string>
</resources>

View File

@@ -4,10 +4,10 @@
<string name="app_name">Klantenkaartkluis</string>
<string name="action_add">Toevoegen</string>
<string name="noGiftCards">Er zijn momenteel geen klantenkaarten toegevoegd. Klik op de knop \"+\" (plus) om te beginnen.\n\nKlantenkaartenkluis beheert klantenkaarten op een smartphone of tablet, zodat ze altijd binnen handbereik zijn.</string>
<string name="noGiftCards">Er zijn nog geen klantenkaarten aanwezig. Klik op de knop \"+\" (plus) om te beginnen.\n\nKlantenkaartenkluis beheert klantenkaarten op een smartphone of tablet, zodat ze altijd binnen handbereik zijn.</string>
<string name="storeName">Winkel</string>
<string name="note">Notitie</string>
<string name="note">Opmerking</string>
<string name="cardId">Kaart-ID</string>
<string name="barcodeType">Barcodetype</string>
@@ -45,7 +45,7 @@
<string name="importExport">Importeren/Exporteren</string>
<string name="importName">Importeren</string>
<string name="exportName">Exporteren</string>
<string name="importExportHelp">Geback-upte gegevens maken het mogelijk om je kaarten over te zetten naar een ander apparaat.</string>
<string name="importExportHelp">Door de gegevens te back-uppen kun je je kaarten overzetten naar een ander apparaat.</string>
<string name="importedFrom">Geïmporteerd uit: %1$s</string>
<string name="exportedTo">Geëxporteerd naar: %1$s</string>
<string name="fileMissing">Bestand ontbreekt: %1$s</string>
@@ -113,4 +113,5 @@
<string name="settings_card_id_font_size">Kaart-ID lettertypegrootte</string>
<string name="settings_card_note_font_size">Kaartnotitie lettertypegrootte</string>
<string name="settings_display_barcode_max_brightness">Barcodeweergave lichter maken</string>
<string name="settings_lock_barcode_orientation">Barcode-oriëntatie vergrendelen</string>
</resources>

View File

@@ -4,6 +4,8 @@
<string name="app_name">Loyalty Card Keychain</string>
<string name="action_add">Dodaj</string>
<string name="noGiftCards">W tej chwili nie masz żadnych kart lojalnościowych. Kliknij przycisk \"+\" (plus) u góry, aby rozpocząć. \n\nLoyalty Locker Card pozwala nosić karty lojalnościowe w telefonie, dzięki czemu są zawsze w zasięgu ręki.</string>
<string name="storeName">Sklep</string>
<string name="note">Notatka</string>
<string name="cardId">Identyfikator karty</string>
@@ -30,7 +32,15 @@
<string name="addCardTitle">Dodaj kartę lojalnościową</string>
<string name="viewCardTitle">Pokaż kartę lojalnościową</string>
<string name="scanCardBarcode">Zeskanuj kod kreskowy karty lojalnościowej</string>
<string name="cardShortcut">Skrót karty</string>
<string name="noCardsMessage">Nie ma kart, należy dodać pierwszą</string>
<string name="barcodeImageDescription">Obraz kodu kreskowego karty</string>
<string name="noStoreError">Nie wprowadzono nazwy sklepu</string>
<string name="noCardIdError">Nie wprowadzono identyfikatora karty</string>
<string name="noCardExistsError">Nie można wyszukać karty lojalnościowej</string>
<string name="cardIdFormat">%1$s: %2$s</string>
<string name="importExport">Importuj/Eksportuj</string>
<string name="importName">Importuj</string>
@@ -47,6 +57,7 @@
<string name="exportFailed">Nie udało się wyeksportować: %1$s</string>
<string name="importing">Importowanie&#8230;</string>
<string name="exporting">Eksportowanie&#8230;</string>
<string name="noExternalStoragePermissionError">Nie można importować ani eksportować kart bez uprawnień do pamięci zewnętrznej</string>
<string name="exportOptionExplanation">Dane zapisywane są w głównym katalogu pamięci zewnętrznej.</string>
<string name="importOptionFilesystemTitle">Importuj z systemu plików</string>
<string name="importOptionFilesystemExplanation">Wybierz określony plik z systemu plików.</string>
@@ -54,28 +65,52 @@
<string name="importOptionApplicationTitle">Użyj zewnętrznej aplikacji</string>
<string name="importOptionApplicationExplanation">Użyj zewnętrznej aplikacji jak Dropbox, Google Drive, bądź ulubiony menedżer plików, aby otworzyć plik.</string>
<string name="importOptionApplicationButton">Użyj zewnętrznej aplikacji</string>
<string name="importOptionFixedTitle">Importuj z lokalizacji eksportowania</string>
<string name="importOptionFixedExplanation">Importuj z tej samej lokalizacji w systemie plików, do którego zapisano przy eksporcie.</string>
<string name="importOptionFixedButton">Użyj lokalizacji eksportu</string>
<string name="about">O aplikacji</string>
<string name="app_copyright_fmt">© 2016 — <xliff:g>%d</xliff:g> Branden Archer.</string>
<string name="app_license">Licencjonowane na podstawie GNU General Public License, wersji 3.0.</string>
<string name="about_title_fmt">O <xliff:g id="app_name">%s</xliff:g></string>
<string name="debug_version_fmt">Wersja: <xliff:g id="version">%s</xliff:g></string>
<string name="app_revision_fmt">Informacje o wersji: <xliff:g id="app_revision_url">%s</xliff:g></string>
<string name="app_libraries"><xliff:g id="app_name">%s</xliff:g> wykorzystuje następujące biblioteki osób trzecich: <xliff:g id="app_libraries_list">%s</xliff:g></string>
<string name="app_resources"><xliff:g id="app_name">%s</xliff:g> wykorzystuje następujące zasoby osób trzecich: <xliff:g id="app_resources_list">%s</xliff:g></string>
<string name="selectBarcodeTitle">Wybierz kod kreskowy</string>
<string name="enterBarcodeInstructions">Wprowadź wartość kodu kreskowego, a następnie wybierz obraz, który reprezentuje kod kreskowy, który chcesz użyć</string>
<string name="copy_to_clipboard_toast">Skopiowano identyfikator karty do schowka</string>
<string name="thumbnailDescription">Miniaturka karty</string>
<string name="startIntro">Pokaż ekran powitalny</string>
<string name="intro1Title">Witamy w Loyalty Card Keychain\n</string>
<string name="intro1Description">Zarządzaj kartami sklepowymi/lojalnościowymi opartymi na kodzie kreskowym na swoim telefonie!\n\n</string>
<string name="intro2Title">Dodawanie kart\n</string>
<string name="intro2Description">Dodaj nową kartę, dotykając znaku plus z listy kart. \n\n</string>
<string name="intro3Title">Dodawanie kart \n</string>
<string name="intro3Description">Aby dodać kod kreskowy, wykonaj zdjęcie aparatem lub wpisz ręcznie. \n\n</string>
<string name="intro4Title">Pokaż kartę \n</string>
<string name="intro4Description">Aby wyświetlić kartę, na głównym ekranie kliknij nazwę sklepu \n\n</string>
<string name="intro5Title">Kopia zapasowa\n</string>
<string name="intro5Description">Karty można zarchiwizować. Aby wyeksportować lub zaimportować dane karty, dotknij opcji Importuj/eksportuj w menu na stronie głównej. \n\n</string>
<string name="intro6Title">Informacje zwrotne\n</string>
<string name="intro6Description">Ta aplikacja jest darmowa, bez reklam i z otwartym kodem źródłowym. Zobacz szczegóły, klikając Informacje w menu na stronie głównej. \n\n Proszę zostawić opinię o programie w sklepie z aplikacjami! (:</string>
<string name="change">Zmień</string>
<string name="storeTextColorTitle">Kolor tekstu nazwy sklepu</string>
<string name="storeTextBackgroundColorTitle">Kolor nagłówka</string>
<string name="storeNameBackgroundColorDescription">Kolor tła tekstu nazwy sklepu</string>
<string name="storeNameColorDescription">Kolor dla tekstu sklepu</string>
<string name="settings">Ustawienia</string>
<string name="settings_category_title_ui">Interfejs użytkownika</string>
<string name="settings_card_title_list_font_size">Rozmiar czcionki listy tytułów kart</string>
<string name="settings_card_note_list_font_size">Rozmiar czcionki listy kart</string>
<string name="settings_card_title_font_size">Rozmiar czcionki tytułu karty</string>
<string name="settings_card_id_font_size">Rozmiar czcionki identyfikatora karty</string>
<string name="settings_card_note_font_size">Rozmiar czcionki notatki karty</string>
<string name="settings_display_barcode_max_brightness">Rozjaśnij widok kodu kreskowego</string>
</resources>

View File

@@ -0,0 +1,4 @@
<resources
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
</resources>

View File

@@ -121,4 +121,6 @@
<string name="settings_key_card_note_font_size" translatable="false">pref_card_note_font_size_sp</string>
<string name="settings_display_barcode_max_brightness">Brighten barcode view</string>
<string name="settings_key_display_barcode_max_brightness" translatable="false">pref_display_card_max_brightness</string>
<string name="settings_lock_barcode_orientation">Lock barcode orientation</string>
<string name="settings_key_lock_barcode_orientation" translatable="false">pref_lock_barcode_orientation</string>
</resources>

View File

@@ -40,11 +40,16 @@
android:defaultValue="@integer/settings_card_note_font_size_sp"
app:vnt_maxValue="@integer/settings_card_note_max_font_size_sp"
app:vnt_minValue="@integer/settings_card_note_min_font_size_sp" />
<CheckBoxPreference
android:defaultValue="true"
android:key="@string/settings_key_display_barcode_max_brightness"
android:title="@string/settings_display_barcode_max_brightness"/>
<CheckBoxPreference
android:defaultValue="false"
android:key="@string/settings_key_lock_barcode_orientation"
android:title="@string/settings_lock_barcode_orientation"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -11,6 +11,7 @@ import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.widget.TextViewCompat;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
@@ -566,4 +567,41 @@ public class LoyaltyCardViewActivityTest
shadowOf(activity).clickMenuItem(android.R.id.home);
assertEquals(true, activity.isFinishing());
}
@Test
public void checkScreenOrientationLockSetting()
{
for(boolean locked : new boolean[] {false, true})
{
ActivityController activityController = createActivityWithLoyaltyCard(false);
Activity activity = (Activity)activityController.get();
DBHelper db = new DBHelper(activity);
db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE, Color.BLACK, Color.WHITE);
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity);
settings.edit()
.putBoolean(activity.getResources().getString(R.string.settings_key_lock_barcode_orientation), locked)
.apply();
activityController.start();
activityController.resume();
activityController.visible();
assertEquals(false, activity.isFinishing());
MenuItem item = shadowOf(activity).getOptionsMenu().findItem(R.id.action_lock_unlock);
if(locked)
{
assertEquals(item.isVisible(), false);
}
else
{
assertEquals(item.isVisible(), true);
String title = item.getTitle().toString();
assertEquals(title, activity.getString(R.string.lockScreen));
}
}
}
}