diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2017-02-09 19:05:32 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-02-09 19:05:32 +0000 |
commit | 4596a46e3040aefe570cf250d8f3311c90e1dff8 (patch) | |
tree | ee9ee33020202768b917c83276a723b92ccaae15 /src/com/android/calculator2/Calculator.java | |
parent | a3a3375f7b2ad00ff993f53eda8c1583cce61e02 (diff) | |
parent | a8b31db9656c2af194c8ff1e3062aa9667ae5da4 (diff) | |
download | ExactCalculator-4596a46e3040aefe570cf250d8f3311c90e1dff8.tar.gz |
Merge "Fix "disappearing history fragment" issue." into ub-calculator-euler
Diffstat (limited to 'src/com/android/calculator2/Calculator.java')
-rw-r--r-- | src/com/android/calculator2/Calculator.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java index d184344..b3d79eb 100644 --- a/src/com/android/calculator2/Calculator.java +++ b/src/com/android/calculator2/Calculator.java @@ -33,6 +33,7 @@ import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.app.ActionBar; import android.app.Activity; +import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.ClipData; @@ -1279,7 +1280,7 @@ public class Calculator extends Activity public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_history: - showHistoryFragment(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); + showHistoryFragment(); return true; case R.id.menu_leading: displayFull(); @@ -1308,7 +1309,7 @@ public class Calculator extends Activity public void onStartDraggingOpen() { mDisplayView.hideToolbar(); - showHistoryFragment(FragmentTransaction.TRANSIT_NONE); + showHistoryFragment(); } @Override @@ -1360,10 +1361,11 @@ public class Calculator extends Activity if (manager == null || manager.isDestroyed()) { return null; } - return (HistoryFragment) manager.findFragmentByTag(HistoryFragment.TAG); + final Fragment fragment = manager.findFragmentByTag(HistoryFragment.TAG); + return fragment == null || fragment.isRemoving() ? null : (HistoryFragment) fragment; } - private void showHistoryFragment(int transit) { + private void showHistoryFragment() { final FragmentManager manager = getFragmentManager(); if (manager == null || manager.isDestroyed()) { return; @@ -1376,7 +1378,7 @@ public class Calculator extends Activity stopActionModeOrContextMenu(); manager.beginTransaction() .replace(R.id.history_frame, new HistoryFragment(), HistoryFragment.TAG) - .setTransition(transit) + .setTransition(FragmentTransaction.TRANSIT_NONE) .addToBackStack(HistoryFragment.TAG) .commit(); |