X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FAltosDroidTab.java;h=f1f1b6de853e6996034d23d305b8b51a909fb2a4;hp=cbb200450dc0b81270ca1d7e8b8092e746d29180;hb=0beb02f1848e34892cca6e34ba83d6ca836d6df2;hpb=4231d68bae69d9a7d1f52205002db452cd5f986d diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java index cbb20045..f1f1b6de 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java @@ -17,7 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_6.*; +import org.altusmetrum.altoslib_7.*; import android.location.Location; import android.app.Activity; import android.graphics.Color; @@ -26,7 +26,6 @@ import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentManager; import android.location.Location; -import android.util.Log; import android.widget.TextView; public abstract class AltosDroidTab extends Fragment implements AltosUnitsListener { @@ -38,6 +37,9 @@ public abstract class AltosDroidTab extends Fragment implements AltosUnitsListen public abstract String tab_name(); + public void set_map_type(int map_type) { + } + public void units_changed(boolean imperial_units) { if (!isHidden() && last_state != null) show(last_state, last_from_receiver, last_receiver); @@ -55,29 +57,33 @@ public abstract class AltosDroidTab extends Fragment implements AltosUnitsListen public void set_visible(boolean visible) { FragmentTransaction ft = AltosDroid.fm.beginTransaction(); + AltosDebug.debug("set visible %b %s\n", visible, tab_name()); if (visible) { AltosState state = last_state; AltosGreatCircle from_receiver = last_from_receiver; Location receiver = last_receiver; - show(state, from_receiver, receiver); ft.show(this); + show(state, from_receiver, receiver); } else ft.hide(this); - ft.commit(); + ft.commitAllowingStateLoss(); + } + + @Override + public void onResume() { + super.onResume(); + AltosDebug.debug("onResume tab %s\n", tab_name()); + set_visible(true); } public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver, boolean is_current) { last_state = state; last_from_receiver = from_receiver; last_receiver = receiver; - if (is_current) { - if (AltosDroid.D) Log.d(AltosDroid.TAG, String.format("%s: visible, performing update", tab_name())); - + if (is_current) show(state, from_receiver, receiver); - } else { - if (AltosDroid.D) Log.d(AltosDroid.TAG, String.format("%s: not visible, skipping update", tab_name())); + else return; - } } }