From 59a4055cbb8f5a7b1b0c904bbc4ffc03d8a1239f Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 23 May 2014 16:46:50 -0700 Subject: Make smooth transition between Search fragment and the others - use TransitionManager.beginDelayedTransition() and getFragmentManager().executePendingTransactions() Change-Id: I5d583916afb8b87dfe2b17b4e685ef5384c5fbd2 --- src/com/android/settings/SettingsActivity.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/com/android/settings/SettingsActivity.java') diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index f2d4026..f7e5dcd 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -51,6 +51,7 @@ import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.preference.PreferenceScreen; import android.text.TextUtils; +import android.transition.TransitionManager; import android.util.AttributeSet; import android.util.Log; import android.util.TypedValue; @@ -60,6 +61,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; +import android.view.ViewGroup; import android.widget.Button; import android.widget.SearchView; @@ -309,6 +311,8 @@ public class SettingsActivity extends Activity private boolean mIsShowingDashboard; + private ViewGroup mContent; + private SearchView mSearchView; private MenuItem mSearchMenuItem; private boolean mSearchMenuItemExpanded = false; @@ -444,6 +448,8 @@ public class SettingsActivity extends Activity setContentView(R.layout.settings_main); + mContent = (ViewGroup) findViewById(R.id.prefs); + getFragmentManager().addOnBackStackChangedListener(this); mDisplayHomeAsUpEnabled = true; @@ -794,7 +800,7 @@ public class SettingsActivity extends Activity FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(R.id.prefs, f); if (withTransition) { - transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); + TransitionManager.beginDelayedTransition(mContent); } if (addToBackStack) { transaction.addToBackStack(SettingsActivity.BACK_STACK_PREFS); @@ -803,6 +809,7 @@ public class SettingsActivity extends Activity transaction.setBreadCrumbTitle(title); } transaction.commitAllowingStateLoss(); + getFragmentManager().executePendingTransactions(); return f; } @@ -1249,12 +1256,10 @@ public class SettingsActivity extends Activity if (current != null && current instanceof SearchResultsSummary) { mSearchResultsFragment = (SearchResultsSummary) current; } else { - final boolean isShowingSwitchBar = - (mSwitchBar != null) ? mSwitchBar.isShowing() : false; String title = getString(R.string.search_results_title); mSearchResultsFragment = (SearchResultsSummary) switchToFragment( SearchResultsSummary.class.getName(), null, false, true, title, - !isShowingSwitchBar); + true); } mSearchResultsFragment.setSearchView(mSearchView); mSearchMenuItemExpanded = true; -- cgit v1.1