also looking at this
fix(mobile): preserve native editing, navigation, and durable media requests
#369
36 files
+864
-185
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -21,6 +21,9 @@ import android.widget.FrameLayout | ||
| 21 | 21 | import android.widget.ImageView |
| 22 | 22 | import android.widget.LinearLayout |
| 23 | 23 | import android.widget.TextView |
| 24 | import androidx.core.view.AccessibilityDelegateCompat | |
| 25 | import androidx.core.view.ViewCompat | |
| 26 | import androidx.core.view.accessibility.AccessibilityNodeInfoCompat | |
| 24 | 27 | import androidx.core.content.ContextCompat |
| 25 | 28 | import androidx.security.crypto.EncryptedSharedPreferences |
| 26 | 29 | import androidx.security.crypto.MasterKey |
| @@ -810,7 +813,17 @@ internal class CraftNativeChrome(context: Context, private val tabs: List<CraftN | ||
| 810 | 813 | cell.background = rippleBackground() |
| 811 | 814 | cell.contentDescription = tab.title |
| 812 | 815 | cell.tag = "craft-tab-${tab.id}" |
| 816 | cell.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES | |
| 817 | ViewCompat.setAccessibilityDelegate(cell, object : AccessibilityDelegateCompat() { | |
| 818 | override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) { | |
| 819 | super.onInitializeAccessibilityNodeInfo(host, info) | |
| 820 | info.viewIdResourceName = "craft-tab-${tab.id}" | |
| 821 | info.className = android.widget.Button::class.java.name | |
| 822 | info.isSelected = host.isSelected | |
| 823 | } | |
| 824 | }) | |
| 813 | 825 | val icon = TextView(context) |
| 826 | icon.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_NO | |
| 814 | 827 | icon.text = CraftNativeSymbols.glyph(tab.symbol) |
| 815 | 828 | icon.textSize = 22f |
| 816 | 829 | icon.minWidth = dp(26) |
| @@ -818,6 +831,7 @@ internal class CraftNativeChrome(context: Context, private val tabs: List<CraftN | ||
| 818 | 831 | icon.gravity = Gravity.CENTER |
| 819 | 832 | icon.includeFontPadding = false |
| 820 | 833 | val label = TextView(context) |
| 834 | label.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_NO | |
| 821 | 835 | label.text = tab.title |
| 822 | 836 | label.textSize = 12f |
| 823 | 837 | label.fontFeatureSettings = "tnum" |