From f087a17534a16c759d4f7023ba86f6bf2d3c3e3d Mon Sep 17 00:00:00 2001 From: Vladislav Kaznacheev Date: Wed, 11 Jan 2017 17:06:28 -0800 Subject: [PATCH] Add @TestApi PopupMenu.getMenuListView This method returns the ListView representing the menu. It is required to test the actual contents of a PopupMenu. Bug: 34076597 Test: android.widget.cts.ToolbarTest#testItemViewAttributes, android.widget.cts.PopupMenuTest#testItemViewAttributes Change-Id: Id72a8f482048d724d4fde15b126e0d08e1d18390 --- api/test-current.txt | 1 + core/java/android/widget/PopupMenu.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/api/test-current.txt b/api/test-current.txt index 22c5581732f61..fbb36fcd6cce0 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -48793,6 +48793,7 @@ package android.widget { method public int getGravity(); method public android.view.Menu getMenu(); method public android.view.MenuInflater getMenuInflater(); + method public android.widget.ListView getMenuListView(); method public void inflate(int); method public void setGravity(int); method public void setOnDismissListener(android.widget.PopupMenu.OnDismissListener); diff --git a/core/java/android/widget/PopupMenu.java b/core/java/android/widget/PopupMenu.java index eb27533c50caf..59bbc3b8056e3 100644 --- a/core/java/android/widget/PopupMenu.java +++ b/core/java/android/widget/PopupMenu.java @@ -17,6 +17,7 @@ package android.widget; import android.annotation.MenuRes; +import android.annotation.TestApi; import android.content.Context; import android.view.Gravity; import android.view.Menu; @@ -281,4 +282,19 @@ public class PopupMenu { */ void onDismiss(PopupMenu menu); } + + /** + * Returns the {@link ListView} representing the list of menu items in the currently showing + * menu. + * + * @return The view representing the list of menu items. + * @hide + */ + @TestApi + public ListView getMenuListView() { + if (!mPopup.isShowing()) { + return null; + } + return mPopup.getPopup().getListView(); + } }