diff --git a/build-tools/enumification-helpers/methodmap.ext.csv b/build-tools/enumification-helpers/methodmap.ext.csv index 72f6fd0416b..e24a293f1a9 100644 --- a/build-tools/enumification-helpers/methodmap.ext.csv +++ b/build-tools/enumification-helpers/methodmap.ext.csv @@ -744,9 +744,9 @@ 16, android.view.accessibility, AccessibilityNodeInfo, focusSearch, direction, Android.Views.FocusSearchDirection 16, android.view.accessibility, AccessibilityNodeInfo, getMovementGranularities, return, Android.Views.Accessibility.MovementGranularity 16, android.view.accessibility, AccessibilityNodeInfo, setMovementGranularities, granularities, Android.Views.Accessibility.MovementGranularity -16, android.view.accessibility, AccessibilityNodeProvider, performAction, action, Android.AccessibilityServices.GlobalAction -16, android.view, View, performAccessibilityAction, action, Android.AccessibilityServices.GlobalAction -16, android.view, View.AccessibilityDelegate, performAccessibilityAction, action, Android.AccessibilityServices.GlobalAction +16, android.view.accessibility, AccessibilityNodeProvider, performAction, action, Android.Views.Accessibility.Action +16, android.view, View, performAccessibilityAction, action, Android.Views.Accessibility.Action +16, android.view, View.AccessibilityDelegate, performAccessibilityAction, action, Android.Views.Accessibility.Action 16, android.view, View, getImportantForAccessibility, return, Android.Views.ImportantForAccessibility 16, android.view, View, setImportantForAccessibility, mode, Android.Views.ImportantForAccessibility 16, android.view, View, getWindowSystemUiVisibility, return, Android.Views.SystemUiFlags diff --git a/src/Mono.Android/Android.Views.Accessibility/AccessibilityEvent.cs b/src/Mono.Android/Android.Views.Accessibility/AccessibilityEvent.cs index 4c62f13a92f..747b04e9bf5 100644 --- a/src/Mono.Android/Android.Views.Accessibility/AccessibilityEvent.cs +++ b/src/Mono.Android/Android.Views.Accessibility/AccessibilityEvent.cs @@ -1,7 +1,18 @@ +using System; +using Android.AccessibilityServices; + namespace Android.Views.Accessibility { partial class AccessibilityEvent { +#if ANDROID_16 + [Obsolete ("This maps to incorrect type. Use GetAction() and SetAction() until we fix the API")] + public GlobalAction Action { + get { return (GlobalAction) GetAction (); } + set { SetAction ((GlobalAction) value); } + } +#endif // ANDROID_16 + #if ANDROID_14 public new string BeforeText { get {return base.BeforeText;} diff --git a/src/Mono.Android/Android.Views.Accessibility/AccessibilityNodeProvider.cs b/src/Mono.Android/Android.Views.Accessibility/AccessibilityNodeProvider.cs new file mode 100644 index 00000000000..3d188f62934 --- /dev/null +++ b/src/Mono.Android/Android.Views.Accessibility/AccessibilityNodeProvider.cs @@ -0,0 +1,17 @@ +using System; +using Android.AccessibilityServices; +using Android.OS; + +namespace Android.Views.Accessibility +{ + public partial class AccessibilityNodeProvider + { +#if ANDROID_16 + public bool PerformAction (int virtualViewId, GlobalAction action, Bundle arguments) + { + return PerformAction (virtualViewId, (Action) action, arguments); + } +#endif + } +} + diff --git a/src/Mono.Android/Android.Views/View.AccessibilityDelegate.cs b/src/Mono.Android/Android.Views/View.AccessibilityDelegate.cs new file mode 100644 index 00000000000..f64c4bd84b1 --- /dev/null +++ b/src/Mono.Android/Android.Views/View.AccessibilityDelegate.cs @@ -0,0 +1,21 @@ +using System; +using Android.AccessibilityServices; +using Android.OS; + +namespace Android.Views +{ + public partial class View + { + public partial class AccessibilityDelegate + { +#if ANDROID_16 + [Obsolete ("This method takes incorrect enum type. Please use PerformAccessibilityAction() overload with Action instead.")] + public bool PerformAccessibilityAction (View host, GlobalAction action, Bundle args) + { + return PerformAccessibilityAction (host, (Android.Views.Accessibility.Action) (int) action, args); + } + } +#endif + } +} + diff --git a/src/Mono.Android/Android.Views/View.cs b/src/Mono.Android/Android.Views/View.cs index 132b15602f7..75263882056 100644 --- a/src/Mono.Android/Android.Views/View.cs +++ b/src/Mono.Android/Android.Views/View.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using Android.AccessibilityServices; +using Android.OS; using Android.Runtime; namespace Android.Views { @@ -11,6 +13,14 @@ public enum SystemUiFlags { public partial class View { +#if ANDROID_16 + [Obsolete ("This method uses wrong enum type. Please use PerformAccessibilityAction(Action) instead.")] + public bool PerformAccessibilityAction (GlobalAction action, Bundle arguments) + { + return PerformAccessibilityAction ((Android.Views.Accessibility.Action) (int) action, arguments); + } +#endif + public T FindViewById (int id) where T : Android.Views.View { diff --git a/src/Mono.Android/Mono.Android.csproj b/src/Mono.Android/Mono.Android.csproj index 523359ebe68..cdbf8b1f406 100644 --- a/src/Mono.Android/Mono.Android.csproj +++ b/src/Mono.Android/Mono.Android.csproj @@ -230,6 +230,7 @@ + @@ -240,6 +241,7 @@ + diff --git a/src/Mono.Android/metadata b/src/Mono.Android/metadata index b02d9090080..7236430c5c7 100644 --- a/src/Mono.Android/metadata +++ b/src/Mono.Android/metadata @@ -3,6 +3,14 @@ regarded as obfuscated, so avoid that by explicitly marking not. --> false + + + + + + diff --git a/src/Mono.Android/methodmap.csv b/src/Mono.Android/methodmap.csv index 1607e6aed12..43a11eded75 100644 --- a/src/Mono.Android/methodmap.csv +++ b/src/Mono.Android/methodmap.csv @@ -1340,9 +1340,9 @@ 16, android.view.accessibility, AccessibilityNodeInfo, focusSearch, direction, Android.Views.FocusSearchDirection 16, android.view.accessibility, AccessibilityNodeInfo, getMovementGranularities, return, Android.Views.Accessibility.MovementGranularity 16, android.view.accessibility, AccessibilityNodeInfo, setMovementGranularities, granularities, Android.Views.Accessibility.MovementGranularity -16, android.view.accessibility, AccessibilityNodeProvider, performAction, action, Android.AccessibilityServices.GlobalAction -16, android.view, View, performAccessibilityAction, action, Android.AccessibilityServices.GlobalAction -16, android.view, View.AccessibilityDelegate, performAccessibilityAction, action, Android.AccessibilityServices.GlobalAction +16, android.view.accessibility, AccessibilityNodeProvider, performAction, action, Android.Views.Accessibility.Action +16, android.view, View, performAccessibilityAction, action, Android.Views.Accessibility.Action +16, android.view, View.AccessibilityDelegate, performAccessibilityAction, action, Android.Views.Accessibility.Action 16, android.view, View, getImportantForAccessibility, return, Android.Views.ImportantForAccessibility 16, android.view, View, setImportantForAccessibility, mode, Android.Views.ImportantForAccessibility 16, android.view, View, getWindowSystemUiVisibility, return, Android.Views.SystemUiFlags