Merge pull request #2102 from CatimaLoyalty/feature/volumeKeyNavigation

Volume key navigation
This commit is contained in:
Sylvia van Os
2024-10-08 22:44:41 +02:00
committed by GitHub
4 changed files with 37 additions and 4 deletions

View File

@@ -19,6 +19,7 @@ import android.text.method.DigitsKeyListener;
import android.text.style.ForegroundColorSpan;
import android.text.util.Linkify;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -104,6 +105,22 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
final private TaskHandler mTasks = new TaskHandler();
Runnable barcodeImageGenerationFinishedCallback;
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (settings.useVolumeKeysForNavigation()) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// Navigate to the previous card
prevNextCard(false);
return true;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
// Navigate to the next card
prevNextCard(true);
return true;
}
}
return super.onKeyDown(keyCode, event);
}
public void onMainImageTap() {
// If we're in fullscreen, leave fullscreen
if (isFullscreen) {

View File

@@ -91,4 +91,8 @@ public class Settings {
public String getColor() {
return getString(R.string.setting_key_theme_color, mContext.getResources().getString(R.string.settings_key_system_theme));
}
public boolean useVolumeKeysForNavigation() {
return getBoolean(R.string.settings_key_use_volume_keys_navigation, false);
}
}

View File

@@ -95,7 +95,7 @@
<string name="settings_key_light_theme" translatable="false">light</string>
<string name="settings_dark_theme">Dark</string>
<string name="settings_key_dark_theme" translatable="false">dark</string>
<string name="settings_card_orientation">Barcode orientation</string>
<string name="settings_card_orientation">Screen orientation</string>
<string name="settings_key_card_orientation" translatable="false">pref_card_orientation</string>
<string name="settings_follow_system_orientation">Follow system</string>
<string name="settings_key_follow_system_orientation" translatable="false">follow_system</string>
@@ -108,7 +108,7 @@
<string name="settings_lock_on_opening_orientation">Lock to orientation used when opening the card</string>
<string name="settings_key_lock_on_opening_orientation" translatable="false">lock_on_opening</string>
<string name="settings_key_max_font_size_scale" translatable="false">pref_max_font_size_scale</string>
<string name="settings_display_barcode_max_brightness">Brighten barcode view</string>
<string name="settings_display_barcode_max_brightness">Brighten screen</string>
<string name="settings_display_barcode_max_brightness_summary">Necessary for some scanners to work</string>
<string name="settings_key_display_barcode_max_brightness" translatable="false">pref_display_card_max_brightness</string>
<string name="settings_keep_screen_on">Keep screen on</string>
@@ -121,6 +121,9 @@
<string name="settings_key_disable_lockscreen_while_viewing_card" translatable="false">pref_disable_lockscreen_while_viewing_card</string>
<string name="settings_key_allow_content_provider_read" translatable="false">pref_allow_content_provider_read</string>
<string name="settings_key_oled_dark" translatable="false">pref_oled_dark</string>
<string name="settings_use_volume_keys_navigation">Switch cards using volume buttons</string>
<string name="settings_use_volume_keys_navigation_summary">Use the volume buttons to change which card is displayed</string>
<string name="settings_key_use_volume_keys_navigation" translatable="false">pref_use_volume_keys_navigation</string>
<string name="sharedpreference_active_tab" translatable="false">sharedpreference_active_tab</string>
<string name="sharedpreference_sort" translatable="false">sharedpreference_sort</string>
<string name="sharedpreference_sort_order" translatable="false">sharedpreference_sort_order</string>
@@ -314,7 +317,7 @@
<string name="sharedpreference_card_details_show_balance" translatable="false">sharedpreference_card_details_show_balance</string>
<string name="sharedpreference_card_details_show_validity" translatable="false">sharedpreference_card_details_show_validity</string>
<string name="sharedpreference_card_details_show_archived_cards" translatable="false">sharedpreference_card_details_show_archived_cards</string>
<string name="settings_category_title_cards">Cards</string>
<string name="settings_category_title_cards">Card view</string>
<string name="settings_category_title_general">General</string>
<string name="settings_category_title_privacy">Privacy</string>
<string name="action_display_options">Display options</string>

View File

@@ -50,6 +50,15 @@
android:title="@string/settings_category_title_cards"
app:iconSpaceReserved="false">
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="false"
android:key="@string/settings_key_use_volume_keys_navigation"
android:summary="@string/settings_use_volume_keys_navigation_summary"
android:title="@string/settings_use_volume_keys_navigation"
app:iconSpaceReserved="false"
app:singleLineTitle="false" />
<SwitchPreferenceCompat
android:widgetLayout="@layout/preference_material_switch"
android:defaultValue="true"
@@ -102,5 +111,5 @@
app:singleLineTitle="false" />
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>