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"/>
+
+
-