diff --git a/clients/android/NewsBlur/app/src/main/java/com/newsblur/delegate/MainContextMenuDelegate.kt b/clients/android/NewsBlur/app/src/main/java/com/newsblur/delegate/MainContextMenuDelegate.kt index 516ae9a97..3cb6e8b9a 100644 --- a/clients/android/NewsBlur/app/src/main/java/com/newsblur/delegate/MainContextMenuDelegate.kt +++ b/clients/android/NewsBlur/app/src/main/java/com/newsblur/delegate/MainContextMenuDelegate.kt @@ -11,6 +11,7 @@ import com.newsblur.R import com.newsblur.activity.* import com.newsblur.database.BlurDatabaseHelper import com.newsblur.fragment.* +import com.newsblur.keyboard.KeyboardManager import com.newsblur.service.NBSyncService import com.newsblur.util.ListTextSize import com.newsblur.util.ListTextSize.Companion.fromSize @@ -41,10 +42,9 @@ class MainContextMenuDelegateImpl( menu.findItem(R.id.menu_loginas).isVisible = true } - // TODO uncomment -// if (hasHardwareKeyboard(activity)) { -// menu.findItem(R.id.menu_shortcuts).isVisible = true -// } + if (KeyboardManager.hasHardwareKeyboard(activity)) { + menu.findItem(R.id.menu_shortcuts).isVisible = true + } when (PrefsUtils.getSelectedTheme(activity)) { ThemeValue.LIGHT -> menu.findItem(R.id.menu_theme_light).isChecked = true @@ -191,8 +191,8 @@ class MainContextMenuDelegateImpl( true } R.id.menu_shortcuts -> { - val newFragment = StoryShortcutsFragment() - newFragment.show(activity.supportFragmentManager, StoryShortcutsFragment::class.java.name) + val newFragment = FeedsShortcutFragment() + newFragment.show(activity.supportFragmentManager, FeedsShortcutFragment::class.java.name) true } else -> false diff --git a/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/FeedsShortcutFragment.kt b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/FeedsShortcutFragment.kt new file mode 100644 index 000000000..db98fdb6c --- /dev/null +++ b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/FeedsShortcutFragment.kt @@ -0,0 +1,19 @@ +package com.newsblur.fragment + +import android.app.Dialog +import android.os.Bundle +import androidx.appcompat.app.AlertDialog +import androidx.fragment.app.DialogFragment +import com.newsblur.databinding.FeedsShortcutsDialogBinding + +class FeedsShortcutFragment : DialogFragment() { + + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val binding = FeedsShortcutsDialogBinding.inflate(layoutInflater) + + return AlertDialog.Builder(requireContext()).apply { + setView(binding.root) + setPositiveButton(android.R.string.ok, null) + }.create() + } +} \ No newline at end of file diff --git a/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/ReadingItemFragment.kt b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/ReadingItemFragment.kt index 017b3773e..d18fcb339 100644 --- a/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/ReadingItemFragment.kt +++ b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/ReadingItemFragment.kt @@ -31,6 +31,7 @@ import com.newsblur.di.StoryImageCache import com.newsblur.domain.Classifier import com.newsblur.domain.Story import com.newsblur.domain.UserDetails +import com.newsblur.keyboard.KeyboardManager import com.newsblur.network.APIManager import com.newsblur.service.NBSyncReceiver.Companion.UPDATE_INTEL import com.newsblur.service.NBSyncReceiver.Companion.UPDATE_SOCIAL @@ -263,6 +264,10 @@ class ReadingItemFragment : NbFragment(), PopupMenu.OnMenuItemClickListener { menu.findItem(R.id.menu_reading_save).setTitle(if (story!!.starred) R.string.menu_unsave_story else R.string.menu_save_story) if (fs!!.isFilterSaved || fs!!.isAllSaved || fs!!.singleSavedTag != null) menu.findItem(R.id.menu_reading_markunread).isVisible = false + if (KeyboardManager.hasHardwareKeyboard(requireContext())) { + menu.findItem(R.id.menu_shortcuts).isVisible = true + } + when (PrefsUtils.getSelectedTheme(requireContext())) { ThemeValue.LIGHT -> menu.findItem(R.id.menu_theme_light).isChecked = true ThemeValue.DARK -> menu.findItem(R.id.menu_theme_dark).isChecked = true @@ -317,6 +322,11 @@ class ReadingItemFragment : NbFragment(), PopupMenu.OnMenuItemClickListener { feedUtils.sendStoryFull(story, requireContext()) true } + R.id.menu_shortcuts -> { + val newFragment = StoryShortcutsFragment() + newFragment.show(requireActivity().supportFragmentManager, StoryShortcutsFragment::class.java.name) + true + } R.id.menu_text_size_xs -> { setTextSizeStyle(ReadingTextSize.XS) true diff --git a/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/StoryShortcutsFragment.kt b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/StoryShortcutsFragment.kt index 1f2e167d6..05327dfeb 100644 --- a/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/StoryShortcutsFragment.kt +++ b/clients/android/NewsBlur/app/src/main/java/com/newsblur/fragment/StoryShortcutsFragment.kt @@ -36,7 +36,7 @@ class StoryShortcutsFragment : DialogFragment() { } private fun SpannableString.shiftKeySpannable() { - setSpan(AbsoluteSizeSpan(17, true), + setSpan(AbsoluteSizeSpan(18, true), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE) setSpan(StyleSpan(Typeface.BOLD), 0, 1, Spannable.SPAN_INCLUSIVE_INCLUSIVE) diff --git a/clients/android/NewsBlur/app/src/main/res/layout/feeds_shortcuts_dialog.xml b/clients/android/NewsBlur/app/src/main/res/layout/feeds_shortcuts_dialog.xml new file mode 100644 index 000000000..fce88895d --- /dev/null +++ b/clients/android/NewsBlur/app/src/main/res/layout/feeds_shortcuts_dialog.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clients/android/NewsBlur/app/src/main/res/layout/story_shortcuts_dialog.xml b/clients/android/NewsBlur/app/src/main/res/layout/story_shortcuts_dialog.xml index 4c56bb1c4..c18de39d0 100644 --- a/clients/android/NewsBlur/app/src/main/res/layout/story_shortcuts_dialog.xml +++ b/clients/android/NewsBlur/app/src/main/res/layout/story_shortcuts_dialog.xml @@ -17,7 +17,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/stories_shortcuts" - android:textSize="18sp" + android:textSize="20sp" android:textStyle="bold" /> + android:textSize="15sp" /> @@ -52,7 +52,7 @@ style="?defaultText" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="start" + android:layout_gravity="start|center_vertical" android:text="@string/short_next_story" android:textSize="15sp" /> @@ -62,7 +62,7 @@ android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/short_next_story_key_down" - android:textSize="17sp" + android:textSize="18sp" android:textStyle="bold" /> @@ -78,7 +78,7 @@ android:layout_height="wrap_content" android:layout_gravity="start" android:text="@string/short_previous_story" - android:textSize="14sp" /> + android:textSize="15sp" /> + android:textSize="15sp" /> @@ -99,9 +99,9 @@ style="?defaultText" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="start" + android:layout_gravity="start|center_vertical" android:text="@string/short_previous_story" - android:textSize="14sp" /> + android:textSize="15sp" /> @@ -117,15 +117,15 @@ + android:layout_marginTop="7dp"> + android:textSize="15sp" /> @@ -149,7 +149,7 @@ android:layout_height="wrap_content" android:layout_gravity="start" android:text="@string/short_page_down" - android:textSize="14sp" /> + android:textSize="15sp" /> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:textSize="15sp" /> @@ -204,14 +204,14 @@ android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/short_next_unread_story_key" - android:textSize="14sp" /> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> @@ -343,7 +343,7 @@ android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/short_share_this_story_key" - android:textSize="14sp" /> + android:textSize="15sp" /> @@ -366,14 +366,14 @@ android:layout_height="wrap_content" android:layout_gravity="end" android:text="@string/short_scroll_to_comments_key" - android:textSize="14sp" /> + android:textSize="15sp" /> + android:layout_marginTop="10dp"> + android:textSize="15sp" /> diff --git a/clients/android/NewsBlur/app/src/main/res/menu/story_context.xml b/clients/android/NewsBlur/app/src/main/res/menu/story_context.xml index c81b2974b..253ef13af 100644 --- a/clients/android/NewsBlur/app/src/main/res/menu/story_context.xml +++ b/clients/android/NewsBlur/app/src/main/res/menu/story_context.xml @@ -22,6 +22,12 @@ app:showAsAction="never" android:title="@string/menu_send_story_full"/> + + diff --git a/clients/android/NewsBlur/app/src/main/res/values/strings.xml b/clients/android/NewsBlur/app/src/main/res/values/strings.xml index 45416bc23..44692d1d5 100644 --- a/clients/android/NewsBlur/app/src/main/res/values/strings.xml +++ b/clients/android/NewsBlur/app/src/main/res/values/strings.xml @@ -793,6 +793,14 @@ Open Story Trainer T - + Open All Stories + \u2325 E + + Switch Views + \u2190 + \u2192 + + Add Site + \u2325 A