AlertActivity now behaves as a dialog for accessibility purposes.
AlertActivity is intended to look like a dialog but for accessibility purposes it was populated as an activity. As a result the content of the "dialog" was not properly announced to the user. bug:18865632 Change-Id: I27166fc74678981f4f3ad71d6d25727b5110340c
This commit is contained in:
committed by
Svetoslav Ganov
parent
06ab0ca481
commit
76ff4dd0de
@@ -17,9 +17,14 @@
|
||||
package com.android.internal.app;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
/**
|
||||
* An activity that follows the visual style of an AlertDialog.
|
||||
@@ -62,6 +67,19 @@ public abstract class AlertActivity extends Activity implements DialogInterface
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
|
||||
event.setClassName(Dialog.class.getName());
|
||||
event.setPackageName(getPackageName());
|
||||
|
||||
ViewGroup.LayoutParams params = getWindow().getAttributes();
|
||||
boolean isFullScreen = (params.width == ViewGroup.LayoutParams.MATCH_PARENT) &&
|
||||
(params.height == ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
event.setFullScreen(isFullScreen);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the alert, including applying the parameters to the alert model,
|
||||
* and installing the alert's content.
|
||||
|
||||
Reference in New Issue
Block a user