Bug 2841148 - Add accessors for action bar context mode state.
Change-Id: I04f3efce5a692b346756cc80c8d15f3abba10558
diff --git a/core/java/com/android/internal/app/ActionBarImpl.java b/core/java/com/android/internal/app/ActionBarImpl.java
index c6be7c2..f37021b 100644
--- a/core/java/com/android/internal/app/ActionBarImpl.java
+++ b/core/java/com/android/internal/app/ActionBarImpl.java
@@ -34,6 +34,7 @@
import android.widget.SpinnerAdapter;
import android.widget.ViewAnimator;
+import java.lang.ref.WeakReference;
import java.util.ArrayList;
/**
@@ -338,6 +339,7 @@
public class ContextMode extends ActionBar.ContextMode {
private ContextModeCallback mCallback;
private ActionMenu mMenu;
+ private WeakReference<View> mCustomView;
public ContextMode(ContextModeCallback callback) {
mCallback = callback;
@@ -375,6 +377,7 @@
@Override
public void setCustomView(View view) {
mUpperContextView.setCustomView(view);
+ mCustomView = new WeakReference<View>(view);
}
@Override
@@ -386,7 +389,22 @@
public void setTitle(CharSequence title) {
mUpperContextView.setTitle(title);
}
+
+ @Override
+ public CharSequence getTitle() {
+ return mUpperContextView.getTitle();
+ }
+
+ @Override
+ public CharSequence getSubtitle() {
+ return mUpperContextView.getSubtitle();
+ }
+ @Override
+ public View getCustomView() {
+ return mCustomView != null ? mCustomView.get() : null;
+ }
+
public void dispatchOnContextItemClicked(MenuItem item) {
ActionMenuItem actionItem = (ActionMenuItem) item;
if (!actionItem.invoke()) {