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

Commit e71ffeb7 authored by Adam Powell's avatar Adam Powell Committed by Android (Google) Code Review
Browse files

Merge "Fix bug 5237737 - ActionBar should fire an accessibility event when...

Merge "Fix bug 5237737 - ActionBar should fire an accessibility event when action mode is turned on/off"
parents bd9d25e3 86ed436b
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -16,6 +16,9 @@


package android.inputmethodservice;
package android.inputmethodservice;


import com.android.internal.view.menu.MenuBuilder;
import com.android.internal.view.menu.MenuPopupHelper;

import android.content.Context;
import android.content.Context;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.view.ActionMode;
import android.view.ActionMode;
@@ -23,12 +26,10 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem;
import android.view.View;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Button;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.LinearLayout;


import com.android.internal.view.menu.MenuBuilder;
import com.android.internal.view.menu.MenuPopupHelper;

/**
/**
 * ExtractEditLayout provides an ActionMode presentation for the
 * ExtractEditLayout provides an ActionMode presentation for the
 * limited screen real estate in extract mode.
 * limited screen real estate in extract mode.
@@ -56,6 +57,7 @@ public class ExtractEditLayout extends LinearLayout {
            mExtractActionButton.setVisibility(INVISIBLE);
            mExtractActionButton.setVisibility(INVISIBLE);
            mEditButton.setVisibility(VISIBLE);
            mEditButton.setVisibility(VISIBLE);
            mActionMode = mode;
            mActionMode = mode;
            sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
            return mode;
            return mode;
        }
        }
        return null;
        return null;
@@ -158,6 +160,8 @@ public class ExtractEditLayout extends LinearLayout {
            mExtractActionButton.setVisibility(VISIBLE);
            mExtractActionButton.setVisibility(VISIBLE);
            mEditButton.setVisibility(INVISIBLE);
            mEditButton.setVisibility(INVISIBLE);


            sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);

            mActionMode = null;
            mActionMode = null;
        }
        }


+3 −0
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem;
import android.view.View;
import android.view.View;
import android.view.Window;
import android.view.Window;
import android.view.accessibility.AccessibilityEvent;
import android.widget.SpinnerAdapter;
import android.widget.SpinnerAdapter;


import java.lang.ref.WeakReference;
import java.lang.ref.WeakReference;
@@ -397,6 +398,7 @@ public class ActionBarImpl extends ActionBar {
                // TODO animate this
                // TODO animate this
                mSplitView.setVisibility(View.VISIBLE);
                mSplitView.setVisibility(View.VISIBLE);
            }
            }
            mContextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
            mActionMode = mode;
            mActionMode = mode;
            return mode;
            return mode;
        }
        }
@@ -681,6 +683,7 @@ public class ActionBarImpl extends ActionBar {


            // Clear out the context mode views after the animation finishes
            // Clear out the context mode views after the animation finishes
            mContextView.closeMode();
            mContextView.closeMode();
            mActionView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);


            mActionMode = null;
            mActionMode = null;


+2 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem;
import android.view.View;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;


import java.lang.ref.WeakReference;
import java.lang.ref.WeakReference;


@@ -86,6 +87,7 @@ public class StandaloneActionMode extends ActionMode implements MenuBuilder.Call
        }
        }
        mFinished = true;
        mFinished = true;


        mContextView.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
        mCallback.onDestroyActionMode(this);
        mCallback.onDestroyActionMode(this);
    }
    }


+14 −0
Original line number Original line Diff line number Diff line
@@ -34,6 +34,7 @@ import android.view.ActionMode;
import android.view.LayoutInflater;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.DecelerateInterpolator;
import android.widget.LinearLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.TextView;
@@ -455,4 +456,17 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi
    public boolean shouldDelayChildPressedState() {
    public boolean shouldDelayChildPressedState() {
        return false;
        return false;
    }
    }

    @Override
    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
        if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
            // Action mode started
            event.setSource(this);
            event.setClassName(getClass().getName());
            event.setPackageName(getContext().getPackageName());
            event.setContentDescription(mTitle);
        } else {
            super.onInitializeAccessibilityEvent(event);
        }
    }
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -2171,6 +2171,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
                        if (mActionModePopup != null) {
                        if (mActionModePopup != null) {
                            post(mShowActionModePopup);
                            post(mShowActionModePopup);
                        }
                        }
                        mActionModeView.sendAccessibilityEvent(
                                AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
                    } else {
                    } else {
                        mActionMode = null;
                        mActionMode = null;
                    }
                    }