altosdroid: implement UI updating on tabs
authorMike Beattie <mike@ethernal.org>
Thu, 7 Mar 2013 08:35:43 +0000 (21:35 +1300)
committerMike Beattie <mike@ethernal.org>
Thu, 7 Mar 2013 08:35:43 +0000 (21:35 +1300)
Signed-off-by: Mike Beattie <mike@ethernal.org>
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java

index 2777a4d4d2780afd2a3762f23d8e02def7136ead..8ddba9bd7533e7cf2ae83d73d03f14d887eb0cea 100644 (file)
@@ -18,6 +18,7 @@
 package org.altusmetrum.AltosDroid;
 
 import java.lang.ref.WeakReference;
+import java.util.ArrayList;
 
 import android.app.Activity;
 import android.bluetooth.BluetoothAdapter;
@@ -78,6 +79,7 @@ public class AltosDroid extends FragmentActivity {
        TabHost     mTabHost;
        ViewPager   mViewPager;
        TabsAdapter mTabsAdapter;
+       ArrayList<AltosDroidTab> mTabs = new ArrayList<AltosDroidTab>();
 
        // Service
        private boolean mIsBound   = false;
@@ -175,9 +177,11 @@ public class AltosDroid extends FragmentActivity {
        }
 
        public void registerTab(AltosDroidTab mTab) {
+               mTabs.add(mTab);
        }
 
        public void unregisterTab(AltosDroidTab mTab) {
+               mTabs.remove(mTab);
        }
 
        void update_ui(AltosState state) {
@@ -187,6 +191,9 @@ public class AltosDroid extends FragmentActivity {
                mStateView.setText(state.data.state());
                mRSSIView.setText(String.format("%d", state.data.rssi));
 
+               for (AltosDroidTab mTab : mTabs)
+                       mTab.update_ui(state);
+
                mAltosVoice.tell(state);
        }