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

Commit a886bba5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix double tapping PIP window when first launch with talkback on" into...

Merge "Fix double tapping PIP window when first launch with talkback on" into rvc-dev am: b7a8e0ef am: bc6d1f52

Change-Id: I9c84688cbc145c346f5f39cf92f127694ebe6513
parents b328d916 bc6d1f52
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.provider.Settings.ACTION_PICTURE_IN_PICTURE_SETTINGS;
import static android.view.accessibility.AccessibilityManager.FLAG_CONTENT_CONTROLS;
import static android.view.accessibility.AccessibilityManager.FLAG_CONTENT_ICONS;
import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;

import static com.android.systemui.pip.phone.PipMenuActivityController.EXTRA_ACTIONS;
import static com.android.systemui.pip.phone.PipMenuActivityController.EXTRA_ALLOW_TIMEOUT;
@@ -68,6 +69,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager.LayoutParams;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;
@@ -220,6 +222,29 @@ public class PipMenuActivity extends Activity {

        // Hide without an animation.
        getWindow().setExitTransition(null);

        initAccessibility();
    }

    private void initAccessibility() {
        getWindow().getDecorView().setAccessibilityDelegate(new View.AccessibilityDelegate() {
            @Override
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
                super.onInitializeAccessibilityNodeInfo(host, info);
                String label = getResources().getString(R.string.pip_menu_title);
                info.addAction(new AccessibilityNodeInfo.AccessibilityAction(ACTION_CLICK, label));
            }

            @Override
            public boolean performAccessibilityAction(View host, int action, Bundle args) {
                if (action == ACTION_CLICK && mMenuState == MENU_STATE_CLOSE) {
                    Message m = Message.obtain();
                    m.what = PipMenuActivityController.MESSAGE_SHOW_MENU;
                    sendMessage(m, "Could not notify controller to show PIP menu");
                }
                return super.performAccessibilityAction(host, action, args);
            }
        });
    }

    @Override