Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix bug #51664 - change GlobalAction to Action where appropriate. #859

Merged
merged 1 commit into from
Sep 14, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions build-tools/enumification-helpers/methodmap.ext.csv
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 11 additions & 0 deletions src/Mono.Android/Android.Views.Accessibility/AccessibilityEvent.cs
Original file line number Diff line number Diff line change
@@ -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 {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How lucky are we that Action is non-virtual!

get { return (GlobalAction) GetAction (); }
set { SetAction ((GlobalAction) value); }
}
#endif // ANDROID_16

#if ANDROID_14
public new string BeforeText {
get {return base.BeforeText;}
Expand Down
Original file line number Diff line number Diff line change
@@ -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
}
}

21 changes: 21 additions & 0 deletions src/Mono.Android/Android.Views/View.AccessibilityDelegate.cs
Original file line number Diff line number Diff line change
@@ -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
}
}

10 changes: 10 additions & 0 deletions src/Mono.Android/Android.Views/View.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using Android.AccessibilityServices;
using Android.OS;
using Android.Runtime;

namespace Android.Views {
Expand All @@ -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<T> (int id)
where T : Android.Views.View
{
Expand Down
2 changes: 2 additions & 0 deletions src/Mono.Android/Mono.Android.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@
<Compile Include="Android.Util\Base64OutputStream.cs" />
<Compile Include="Android.Util\Log.cs" />
<Compile Include="Android.Util\SparseArray.cs" />
<Compile Include="Android.Views\View.AccessibilityDelegate.cs" />
<Compile Include="Android.Views\InputDevice.cs" />
<Compile Include="Android.Views\KeyCharacterMap.cs" />
<Compile Include="Android.Views\KeyEvent.cs" />
Expand All @@ -240,6 +241,7 @@
<Compile Include="Android.Views\Window.cs" />
<Compile Include="Android.Views.Accessibility\AccessibilityEvent.cs" />
<Compile Include="Android.Views.Accessibility\AccessibilityManager.cs" />
<Compile Include="Android.Views.Accessibility\AccessibilityNodeProvider.cs" />
<Compile Include="Android.Views.InputMethods\InputMethodManager.cs" />
<Compile Include="Android.Widget\AbsListView.cs" />
<Compile Include="Android.Widget\AdapterView.cs" />
Expand Down
8 changes: 8 additions & 0 deletions src/Mono.Android/metadata
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@
regarded as obfuscated, so avoid that by explicitly marking not. -->
<attr path="/api/package[@name='android']/class[@name='Manifest.permission']" name="obfuscated">false</attr>

<!-- FIXME: we should remove this fixup in the future release. It was
introduced due to mismatching enum use, and we already marked the API as
[Obsolete] -->
<attr path="/api/package[@name='android.view.accessibility']/class[@name='AccessibilityEvent']/method[@name='getAction']" name="propertyName"></attr>
<attr path="/api/package[@name='android.view.accessibility']/class[@name='AccessibilityEvent']/method[@name='setAction']" name="propertyName"></attr>
<attr path="/api/package[@name='android.view']/class[@name='View']/method[@name='getAccessibilityAction']" name="propertyName"></attr>
<attr path="/api/package[@name='android.view']/class[@name='View']/method[@name='setAccessibilityAction']" name="propertyName"></attr>

<!-- FIXME: hack to workaround api-merge bug that brings two identical methods (it doesn't care generic type params) -->
<remove-node path="/api/package[@name='android.animation']/interface[@name='TypeEvaluator']/method[@name='evaluate' and @merge.SourceFile]" />

Expand Down
6 changes: 3 additions & 3 deletions src/Mono.Android/methodmap.csv
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down