Bug 739493 - Add "Accessibility:IsEnabled" message for Android

This commit is contained in:
Eitan Isaacson 2012-03-15 10:38:27 -04:00
parent ae2ee39414
commit b4734ed7af
6 changed files with 11 additions and 102 deletions

View File

@ -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) {

View File

@ -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 "";

View File

@ -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)
{

View File

@ -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;

View File

@ -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)
{

View File

@ -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;