Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76ff4dd0 authored by Svetoslav's avatar Svetoslav Committed by Svetoslav Ganov
Browse files

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
parent 06ab0ca4
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -17,9 +17,14 @@
package com.android.internal.app;
package com.android.internal.app;


import android.app.Activity;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.KeyEvent;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;


/**
/**
 * An activity that follows the visual style of an AlertDialog.
 * 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,
     * Sets up the alert, including applying the parameters to the alert model,
     * and installing the alert's content.
     * and installing the alert's content.