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

Commit 1d26f041 authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am 3aa18248: Merge "Implement drag-to-open in ActivityChooserView" into klp-dev

* commit '3aa18248':
  Implement drag-to-open in ActivityChooserView
parents 1c5a86ab 3aa18248
Loading
Loading
Loading
Loading
+26 −4
Original line number Original line Diff line number Diff line
@@ -29,12 +29,14 @@ import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.view.ActionProvider;
import android.view.ActionProvider;
import android.view.LayoutInflater;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.ActivityChooserModel.ActivityChooserModelClient;
import android.widget.ActivityChooserModel.ActivityChooserModelClient;
import android.widget.ListPopupWindow.ForwardingListener;


/**
/**
 * This class is a view for choosing an activity for handling a given {@link Intent}.
 * This class is a view for choosing an activity for handling a given {@link Intent}.
@@ -228,17 +230,37 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod
        mDefaultActivityButton.setOnLongClickListener(mCallbacks);
        mDefaultActivityButton.setOnLongClickListener(mCallbacks);
        mDefaultActivityButtonImage = (ImageView) mDefaultActivityButton.findViewById(R.id.image);
        mDefaultActivityButtonImage = (ImageView) mDefaultActivityButton.findViewById(R.id.image);


        mExpandActivityOverflowButton = (FrameLayout) findViewById(R.id.expand_activities_button);
        final FrameLayout expandButton = (FrameLayout) findViewById(R.id.expand_activities_button);
        mExpandActivityOverflowButton.setOnClickListener(mCallbacks);
        expandButton.setOnClickListener(mCallbacks);
        mExpandActivityOverflowButton.setAccessibilityDelegate(new AccessibilityDelegate() {
        expandButton.setAccessibilityDelegate(new AccessibilityDelegate() {
            @Override
            @Override
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
                super.onInitializeAccessibilityNodeInfo(host, info);
                super.onInitializeAccessibilityNodeInfo(host, info);
                info.setCanOpenPopup(true);
                info.setCanOpenPopup(true);
            }
            }
        });
        });
        expandButton.setOnTouchListener(new ForwardingListener(expandButton) {
            @Override
            public ListPopupWindow getPopup() {
                return getListPopupWindow();
            }

            @Override
            protected boolean onForwardingStarted() {
                showPopup();
                return true;
            }

            @Override
            protected boolean onForwardingStopped() {
                dismissPopup();
                return true;
            }
        });
        mExpandActivityOverflowButton = expandButton;

        mExpandActivityOverflowButtonImage =
        mExpandActivityOverflowButtonImage =
            (ImageView) mExpandActivityOverflowButton.findViewById(R.id.image);
            (ImageView) expandButton.findViewById(R.id.image);
        mExpandActivityOverflowButtonImage.setImageDrawable(expandActivityOverflowButtonDrawable);
        mExpandActivityOverflowButtonImage.setImageDrawable(expandActivityOverflowButtonDrawable);


        mAdapter = new ActivityChooserViewAdapter();
        mAdapter = new ActivityChooserViewAdapter();