From: Keith Packard Date: Sat, 6 Sep 2014 06:10:07 +0000 (-0700) Subject: altosdroid: Update tab contents before switching X-Git-Tag: 1.4.9.3~3^2~2 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=2b2ebd2fee46158abd1ae050cd6d1040ead849a0 altosdroid: Update tab contents before switching Make sure the new tab contents are updated before switching tabs so that the user doesn't see old stuff. Signed-off-by: Keith Packard --- diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java index b960eb1a..7b5b01b3 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java @@ -39,37 +39,32 @@ public abstract class AltosDroidTab extends Fragment { public void set_visible(boolean visible) { FragmentTransaction ft = AltosDroid.fm.beginTransaction(); - if (visible) + if (visible) { + AltosState state = last_state; + AltosGreatCircle from_receiver = last_from_receiver; + Location receiver = last_receiver; + + last_state = null; + last_from_receiver = null; + last_receiver = null; + show(state, from_receiver, receiver); ft.show(this); - else + } else ft.hide(this); ft.commit(); } public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver, boolean is_current) { if (is_current) { - Log.d(AltosDroid.TAG, String.format("%s: visible, performing update", tab_name())); + if (AltosDroid.D) Log.d(AltosDroid.TAG, String.format("%s: visible, performing update", tab_name())); show(state, from_receiver, receiver); } else { - Log.d(AltosDroid.TAG, String.format("%s: not visible, skipping update", tab_name())); + if (AltosDroid.D) Log.d(AltosDroid.TAG, String.format("%s: not visible, skipping update", tab_name())); last_state = state; last_from_receiver = from_receiver; last_receiver = receiver; return; } } - - public void onHiddenChanged(boolean hidden) { - if (last_state != null && isVisible()) { - AltosState state = last_state; - AltosGreatCircle from_receiver = last_from_receiver; - Location receiver = last_receiver; - - last_state = null; - last_from_receiver = null; - last_receiver = null; - show(state, from_receiver, receiver); - } - } }