diff options
author | Deepanshu Gupta <deepanshu@google.com> | 2013-12-12 12:16:24 -0800 |
---|---|---|
committer | Deepanshu Gupta <deepanshu@google.com> | 2014-04-15 20:02:48 -0700 |
commit | 4ccc4bd54f85d86818f61d728c6361d2003ddd8e (patch) | |
tree | 3f613368ddaf738a9f0ee9754189068ba86c32e3 /core | |
parent | acf0bce09fec2cabe871d7146aa62e9258fbf06d (diff) | |
download | frameworks_base-4ccc4bd54f85d86818f61d728c6361d2003ddd8e.zip frameworks_base-4ccc4bd54f85d86818f61d728c6361d2003ddd8e.tar.gz frameworks_base-4ccc4bd54f85d86818f61d728c6361d2003ddd8e.tar.bz2 |
Action bar rendering in layoutlib [DO NOT MERGE]
This also makes a couple of changes to the framework:
1. ShareActionProvider - Use edit mode to execute activity chooser code.
2. ActionBarImpl - add a new constructor for use by layoutlib.
This also relies on some changes to the plugin to pass the correct params.
Change-Id: Ia30fef816afd91ec1e439734d56b59b1323bfee2
(cherry-picked from 14bf0cef7eeed572a67c29a328581afac4decc20)
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/widget/ShareActionProvider.java | 6 | ||||
-rw-r--r-- | core/java/com/android/internal/app/ActionBarImpl.java | 15 |
2 files changed, 16 insertions, 5 deletions
diff --git a/core/java/android/widget/ShareActionProvider.java b/core/java/android/widget/ShareActionProvider.java index 62afd2e..02b7030 100644 --- a/core/java/android/widget/ShareActionProvider.java +++ b/core/java/android/widget/ShareActionProvider.java @@ -161,9 +161,11 @@ public class ShareActionProvider extends ActionProvider { @Override public View onCreateActionView() { // Create the view and set its data model. - ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName); ActivityChooserView activityChooserView = new ActivityChooserView(mContext); - activityChooserView.setActivityChooserModel(dataModel); + if (!activityChooserView.isInEditMode()) { + ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName); + activityChooserView.setActivityChooserModel(dataModel); + } // Lookup and set the expand action icon. TypedValue outTypedValue = new TypedValue(); diff --git a/core/java/com/android/internal/app/ActionBarImpl.java b/core/java/com/android/internal/app/ActionBarImpl.java index 066d6c3..ad45894 100644 --- a/core/java/com/android/internal/app/ActionBarImpl.java +++ b/core/java/com/android/internal/app/ActionBarImpl.java @@ -174,6 +174,15 @@ public class ActionBarImpl extends ActionBar { init(dialog.getWindow().getDecorView()); } + /** + * Only for edit mode. + * @hide + */ + public ActionBarImpl(View layout) { + assert layout.isInEditMode(); + init(layout); + } + private void init(View decor) { mContext = decor.getContext(); mOverlayLayout = (ActionBarOverlayLayout) decor.findViewById( @@ -559,8 +568,8 @@ public class ActionBarImpl extends ActionBar { return; } - final FragmentTransaction trans = mActivity.getFragmentManager().beginTransaction() - .disallowAddToBackStack(); + final FragmentTransaction trans = mActionView.isInEditMode() ? null : + mActivity.getFragmentManager().beginTransaction().disallowAddToBackStack(); if (mSelectedTab == tab) { if (mSelectedTab != null) { @@ -578,7 +587,7 @@ public class ActionBarImpl extends ActionBar { } } - if (!trans.isEmpty()) { + if (trans != null && !trans.isEmpty()) { trans.commit(); } } |