mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
Bug 739493 - Add "Accessibility:IsEnabled" message for Android
This commit is contained in:
parent
d25061d9ac
commit
8ac876b939
@ -62,8 +62,6 @@ import android.webkit.MimeTypeMap;
|
||||
import android.media.MediaScannerConnection;
|
||||
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
|
||||
import android.provider.Settings;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
import android.util.*;
|
||||
import android.net.Uri;
|
||||
@ -1442,12 +1440,6 @@ public class GeckoAppShell
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean getAccessibilityEnabled() {
|
||||
AccessibilityManager accessibilityManager =
|
||||
(AccessibilityManager) GeckoApp.mAppContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
return accessibilityManager.isEnabled();
|
||||
}
|
||||
|
||||
public static void addPluginView(final View view,
|
||||
final double x, final double y,
|
||||
final double w, final double h) {
|
||||
|
@ -1456,12 +1456,6 @@ public class GeckoAppShell
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean getAccessibilityEnabled() {
|
||||
AccessibilityManager accessibilityManager =
|
||||
(AccessibilityManager) GeckoApp.mAppContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
return accessibilityManager.isEnabled();
|
||||
}
|
||||
|
||||
public static void addPluginView(View view,
|
||||
int x, int y,
|
||||
int w, int h,
|
||||
@ -1739,7 +1733,17 @@ public class GeckoAppShell
|
||||
}
|
||||
return promptServiceResult;
|
||||
}
|
||||
|
||||
|
||||
if (type.equals("Accessibility:IsEnabled")) {
|
||||
JSONObject ret = new JSONObject();
|
||||
AccessibilityManager accessibilityManager =
|
||||
(AccessibilityManager) GeckoApp.mAppContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
try {
|
||||
ret.put("enabled", accessibilityManager.isEnabled());
|
||||
} catch (Exception ex) { }
|
||||
return ret.toString();
|
||||
}
|
||||
|
||||
if (mEventListeners == null)
|
||||
return "";
|
||||
|
||||
|
@ -167,7 +167,6 @@ AndroidBridge::Init(JNIEnv *jEnv,
|
||||
jGetCurrentBatteryInformation = (jmethodID) jEnv->GetStaticMethodID(jGeckoAppShellClass, "getCurrentBatteryInformation", "()[D");
|
||||
jRemovePluginView = jEnv->GetStaticMethodID(jGeckoAppShellClass, "removePluginView", "(Landroid/view/View;)V");
|
||||
|
||||
jGetAccessibilityEnabled = (jmethodID) jEnv->GetStaticMethodID(jGeckoAppShellClass, "getAccessibilityEnabled", "()Z");
|
||||
jHandleGeckoMessage = (jmethodID) jEnv->GetStaticMethodID(jGeckoAppShellClass, "handleGeckoMessage", "(Ljava/lang/String;)Ljava/lang/String;");
|
||||
jCheckUriVisited = (jmethodID) jEnv->GetStaticMethodID(jGeckoAppShellClass, "checkUriVisited", "(Ljava/lang/String;)V");
|
||||
jMarkUriVisited = (jmethodID) jEnv->GetStaticMethodID(jGeckoAppShellClass, "markUriVisited", "(Ljava/lang/String;)V");
|
||||
@ -816,18 +815,6 @@ AndroidBridge::HideProgressDialogOnce()
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
AndroidBridge::GetAccessibilityEnabled()
|
||||
{
|
||||
ALOG_BRIDGE("AndroidBridge::GetAccessibilityEnabled");
|
||||
|
||||
JNIEnv *env = GetJNIEnv();
|
||||
if (!env)
|
||||
return false;
|
||||
|
||||
return env->CallStaticBooleanMethod(mGeckoAppShellClass, jGetAccessibilityEnabled);
|
||||
}
|
||||
|
||||
void
|
||||
AndroidBridge::PerformHapticFeedback(bool aIsLongPress)
|
||||
{
|
||||
|
@ -282,8 +282,6 @@ public:
|
||||
|
||||
void FireAndWaitForTracerEvent();
|
||||
|
||||
bool GetAccessibilityEnabled();
|
||||
|
||||
class AutoLocalJNIFrame {
|
||||
public:
|
||||
AutoLocalJNIFrame(int nEntries = 128)
|
||||
@ -521,7 +519,6 @@ protected:
|
||||
jmethodID jEnableBatteryNotifications;
|
||||
jmethodID jDisableBatteryNotifications;
|
||||
jmethodID jGetCurrentBatteryInformation;
|
||||
jmethodID jGetAccessibilityEnabled;
|
||||
jmethodID jHandleGeckoMessage;
|
||||
jmethodID jCheckUriVisited;
|
||||
jmethodID jMarkUriVisited;
|
||||
|
@ -91,10 +91,6 @@ NS_IMPL_ISUPPORTS_INHERITED0(nsWindow, nsBaseWidget)
|
||||
static gfxIntSize gAndroidBounds = gfxIntSize(0, 0);
|
||||
static gfxIntSize gAndroidScreenBounds;
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
bool nsWindow::sAccessibilityEnabled = false;
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_JAVA_COMPOSITOR
|
||||
#include "mozilla/layers/CompositorChild.h"
|
||||
#include "mozilla/layers/CompositorParent.h"
|
||||
@ -196,9 +192,6 @@ nsWindow::nsWindow() :
|
||||
mIsVisible(false),
|
||||
mParent(nsnull),
|
||||
mFocus(nsnull),
|
||||
#ifdef ACCESSIBILITY
|
||||
mRootAccessible(nsnull),
|
||||
#endif
|
||||
mIMEComposing(false)
|
||||
{
|
||||
}
|
||||
@ -209,10 +202,6 @@ nsWindow::~nsWindow()
|
||||
nsWindow *top = FindTopLevel();
|
||||
if (top->mFocus == this)
|
||||
top->mFocus = nsnull;
|
||||
#ifdef ACCESSIBILITY
|
||||
if (mRootAccessible)
|
||||
mRootAccessible = nsnull;
|
||||
#endif
|
||||
ALOG("nsWindow %p destructor", (void*)this);
|
||||
#ifdef MOZ_JAVA_COMPOSITOR
|
||||
SetCompositor(NULL, NULL, NULL);
|
||||
@ -416,17 +405,6 @@ nsWindow::Show(bool aState)
|
||||
RedrawAll();
|
||||
}
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
static bool sAccessibilityChecked = false;
|
||||
if (!sAccessibilityChecked) {
|
||||
sAccessibilityChecked = true;
|
||||
sAccessibilityEnabled =
|
||||
AndroidBridge::Bridge()->GetAccessibilityEnabled();
|
||||
}
|
||||
if (aState && sAccessibilityEnabled)
|
||||
CreateRootAccessible();
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_ANDROID_WIDGET
|
||||
DumpWindows();
|
||||
#endif
|
||||
@ -434,32 +412,6 @@ nsWindow::Show(bool aState)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
void
|
||||
nsWindow::CreateRootAccessible()
|
||||
{
|
||||
if (IsTopLevel() && !mRootAccessible) {
|
||||
ALOG(("nsWindow:: Create Toplevel Accessibility\n"));
|
||||
nsAccessible *acc = DispatchAccessibleEvent();
|
||||
|
||||
if (acc) {
|
||||
mRootAccessible = acc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nsAccessible*
|
||||
nsWindow::DispatchAccessibleEvent()
|
||||
{
|
||||
nsAccessibleEvent event(true, NS_GETACCESSIBLE, this);
|
||||
|
||||
nsEventStatus status;
|
||||
DispatchEvent(&event, status);
|
||||
|
||||
return event.mAccessible;
|
||||
}
|
||||
#endif
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWindow::SetModal(bool aState)
|
||||
{
|
||||
|
@ -43,10 +43,6 @@
|
||||
|
||||
#include "nsTArray.h"
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
#include "nsAccessible.h"
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_JAVA_COMPOSITOR
|
||||
#include "AndroidJavaWrappers.h"
|
||||
#include "Layers.h"
|
||||
@ -181,10 +177,6 @@ public:
|
||||
|
||||
NS_IMETHOD ReparentNativeWidget(nsIWidget* aNewParent);
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
static bool sAccessibilityEnabled;
|
||||
#endif
|
||||
|
||||
#ifdef MOZ_JAVA_COMPOSITOR
|
||||
virtual void DrawWindowUnderlay(LayerManager* aManager, nsIntRect aRect);
|
||||
virtual void DrawWindowOverlay(LayerManager* aManager, nsIntRect aRect);
|
||||
@ -248,21 +240,6 @@ private:
|
||||
void HandleSpecialKey(mozilla::AndroidGeckoEvent *ae);
|
||||
void RedrawAll();
|
||||
|
||||
#ifdef ACCESSIBILITY
|
||||
nsRefPtr<nsAccessible> mRootAccessible;
|
||||
|
||||
/**
|
||||
* Request to create the accessible for this window if it is top level.
|
||||
*/
|
||||
void CreateRootAccessible();
|
||||
|
||||
/**
|
||||
* Generate the NS_GETACCESSIBLE event to get accessible for this window
|
||||
* and return it.
|
||||
*/
|
||||
nsAccessible *DispatchAccessibleEvent();
|
||||
#endif // ACCESSIBILITY
|
||||
|
||||
#ifdef MOZ_JAVA_COMPOSITOR
|
||||
mozilla::AndroidLayerRendererFrame mLayerRendererFrame;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user