Эх сурвалжийг харах

Apex Mobile
完成recent kpi history 在personal mode 切换后刷新冲突的优化

Ray Zhang 8 жил өмнө
parent
commit
0b6bd0a370

+ 18 - 18
Apex Mobile/app/app.iml

@@ -49,13 +49,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
@@ -63,6 +56,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
@@ -70,13 +70,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -84,6 +77,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
@@ -109,14 +109,13 @@
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-location-license-11.4.2" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-maps-license-11.4.2" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:/Users/macmini1/android project/Apex Mobile/app/libs/BaiduLBS_Android.jar:unspecified@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/ray/Documents/code_ERPSuiteAndroid/Apex Mobile/app/libs/BaiduLBS_Android.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:transition-26.1.0" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:/Users/macmini1/android project/Apex Mobile/app/libs/core-2.3.0.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-fragment-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks-license-11.4.2" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:/Users/macmini1/android project/Apex Mobile/app/libs/httpmime-4.1.1.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.core:common:1.0.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/ray/Documents/code_ERPSuiteAndroid/Apex Mobile/app/libs/bcprov-jdk15on-157.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-annotations:26.1.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement-11.4.2" level="project" />
@@ -129,11 +128,12 @@
     <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base-11.4.2" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-basement-license-11.4.2" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/ray/Documents/code_ERPSuiteAndroid/Apex Mobile/app/libs/core-2.3.0.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-base-license-11.4.2" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:/Users/macmini1/android project/Apex Mobile/app/libs/bcprov-jdk15on-157.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-location-11.4.2" level="project" />
     <orderEntry type="library" name="Gradle: com.github.barteksc:android-pdf-viewer-3.0.0-beta.5" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:/Users/ray/Documents/code_ERPSuiteAndroid/Apex Mobile/app/libs/httpmime-4.1.1.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-maps-11.4.2" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:design-26.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.google.android.gms:play-services-tasks-11.4.2" level="project" />

+ 3 - 0
Apex Mobile/app/src/main/java/com/usai/apex/ApexTrackingApplication.java

@@ -33,6 +33,9 @@ public class ApexTrackingApplication extends Application
 	public static boolean					m_bauthorized	= false;
 	private boolean 							personMode 		= false;
 
+	public boolean homeactive=false;
+	public boolean historyactive=false;
+	public boolean recentactive=false;
 	private static long LastAlermTime = -120000;
 	
 	public static void UpdateLastCheckMessageTime()

+ 16 - 0
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/HistoryFragment.java

@@ -10,6 +10,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ListView;
 
+import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.DetailActivity;
 import com.usai.apex.R;
 import com.usai.apex.Result.PullRefreshListView;
@@ -26,7 +27,18 @@ import org.json.JSONObject;
  */
 public class HistoryFragment extends TrackingListFragment {
 
+//
+//    boolean bactive = false;
+//    public  void setActive(boolean active){
+//        bactive = active;
+//
+//    }
+
 
+    protected boolean isActive()
+    {
+        return ApexTrackingApplication.getInstance().historyactive;
+    }
     public HistoryFragment() {
         // Required empty public constructor
     }
@@ -116,6 +128,7 @@ public class HistoryFragment extends TrackingListFragment {
     protected void requestData() {
 
         loadContent(0);
+//        super.requestData();
     }
 
     private static final int load_limit = 10;
@@ -193,6 +206,9 @@ public class HistoryFragment extends TrackingListFragment {
                                         showAlert("No More Data");
                                     }
 
+                                    if(option==0)
+                                        bdirty = false;
+
                                 } else {
                                     String msg = jsobj.getString("err_msg");
                                     showAlert(msg);

+ 33 - 74
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/HomeFragment.java

@@ -1,7 +1,6 @@
 package com.usai.apex.mainframe;
 
 
-import android.app.Activity;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
@@ -12,6 +11,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.R;
 import com.usai.apex.SegmentView;
 
@@ -23,16 +23,30 @@ import com.usai.apex.SegmentView;
 public class HomeFragment extends Fragment implements KPIFragment.KPIPagerScrollListener{
 
     private SegmentView mSegmentView;
-
+//    boolean bdirty = false;
     private  Fragment activeFragment;
 
 //    private
     private KPIFragment kpiFragment;
     private RecentFragment recentFragment;
     public HomeFragment() {
+
         // Required empty public constructor
     }
+    public void checkDirty()
+    {
+//        if(bdirty)
+//            requestData();
 
+        if(ApexTrackingApplication.get_instance().recentactive)
+        {
+            recentFragment.checkDirty();
+        }
+        else
+        {
+            kpiFragment.checkDirty();
+        }
+    }
     private int mode = 0;
 
     @Override
@@ -91,6 +105,8 @@ public class HomeFragment extends Fragment implements KPIFragment.KPIPagerScroll
 
                         mode = 0;
                         ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
+
+
 //                        ((Activity)getActivity()).setTitle(null);
 //                        getChildFragmentManager().beginTransaction().show(recentFragment).hide(kpiFragment).commit();
 
@@ -103,6 +119,7 @@ public class HomeFragment extends Fragment implements KPIFragment.KPIPagerScroll
 
                         mode = 1;
                         ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(true);
+
 //                        ((Activity)getActivity()).setTitle(null);
 
 
@@ -124,6 +141,10 @@ public class HomeFragment extends Fragment implements KPIFragment.KPIPagerScroll
     void showFragment(int mode)
     {
 
+        if(mode==0)
+            ApexTrackingApplication.getInstance().recentactive = true;
+        else
+            ApexTrackingApplication.getInstance().recentactive = false;
         FragmentManager fm=getChildFragmentManager();
         FragmentTransaction ft= fm .beginTransaction();
         if(activeFragment!=null)
@@ -166,80 +187,18 @@ public class HomeFragment extends Fragment implements KPIFragment.KPIPagerScroll
             ft.show(fragment);
         }
         ft.commit();
+
+
+        if(ApexTrackingApplication.get_instance().recentactive)
+        {
+            recentFragment.checkDirty();
+        }
+        else
+        {
+            kpiFragment.checkDirty();
+        }
     }
-//<<<<<<< .mine
-//    @Override
-//    public void onSaveInstanceState(Bundle outState) {
-//        super.onSaveInstanceState(outState);
-//
-//        Log.d("HomeFrame", "onSaveInstanceState: ");
-//    }
-//=======
-//    @Override
-//    public void onSaveInstanceState(Bundle outState) {
-//        super.onSaveInstanceState(outState);
-//
-//    }
-
-//    @Override
-//    public void setUserVisibleHint(boolean isVisibleToUser) {
-//        super.setUserVisibleHint(isVisibleToUser);
-//        // 初始化的时候为null
-//        if (getActivity() == null) {
-//            return;
-//        }
-//        // 切换到History,再切回来
-//        if (isVisibleToUser && activeFragment != null && activeFragment instanceof KPIFragment) {
-////            ((KPIFragment) activeFragment).showTitle(getActivity(),true);
-//            ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(true);
-//        } else {
-//            ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
-////            ((Activity)getActivity()).setTitle(null);
-//        }
-////        Log.d("Home Switch Mode", " set UserHint: " +isVisibleToUser + " "+ getUserVisibleHint() + " isHidden: " + isHidden());
-//    }
-//
-//    @Override
-//    public void onHiddenChanged(boolean hidden) {
-//        super.onHiddenChanged(hidden);
-//        if (getActivity() == null) {
-//            return;
-//        }
-//        // 切换到History,再切回来
-//        if (!hidden && activeFragment != null && activeFragment instanceof KPIFragment) {
-//            ((KPIFragment) activeFragment).showTitle(getActivity(),true);
-//        } else {
-//            ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
-//            ((Activity)getActivity()).setTitle(null);
-//        }
-//    }
 
-//    @Override
-//    public void onResume() {
-//        super.onResume();
-//
-//        if (getActivity() == null) {
-//            return;
-//        }
-//        // 切换到History,再切回来
-//        if (getUserVisibleHint() && activeFragment != null && activeFragment instanceof KPIFragment) {
-//            ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(true);
-//        } else {
-//            ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
-//        }
-//    }
-//
-//    @Override
-//    public void onStop() {
-//        super.onStop();
-//
-//        if (getActivity() == null) {
-//            return;
-//        }
-//
-//        ((RootActivity)getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
-//
-//    }
 
     @Override
     public void onSaveInstanceState(Bundle outState) {

+ 28 - 4
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/KPIFragment.java

@@ -22,6 +22,7 @@ import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ProgressBar;
 
+import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.KPI.KPICell;
 import com.usai.apex.KPI.KPIViewPager;
 import com.usai.apex.KPI.PieChartView;
@@ -29,7 +30,6 @@ import com.usai.apex.R;
 import com.usai.util.Network;
 
 import org.json.JSONArray;
-import org.json.JSONException;
 import org.json.JSONObject;
 
 import java.io.Serializable;
@@ -40,9 +40,22 @@ import java.util.ArrayList;
  */
 public class KPIFragment extends Fragment implements KPICell.KPIListener {
 
+    boolean bdirty = false;
 
+
+    protected boolean isActive()
+    {
+        return ApexTrackingApplication.getInstance().homeactive&& !ApexTrackingApplication.get_instance().recentactive;
+    }
 //    private static final long serialVersionUID = 2873400198824958986L;
+public void checkDirty()
+{
 
+    if(bdirty) {
+        loadKPIData();
+
+    }
+}
     private static class KPIModel implements Serializable,Parcelable {
 
         private static final long serialVersionUID = -6280156291692980527L;
@@ -167,6 +180,7 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
         self = this;
 
         if (savedInstanceState != null) {
+            bdirty = savedInstanceState.getBoolean("dirty");
             currentKPI = savedInstanceState.getInt("currentKPI");
             mKPIArr = (ArrayList<KPIModel>) savedInstanceState.getSerializable("KPIData");
             mMonthModel = (Month) savedInstanceState.getSerializable("KPIMonth");
@@ -319,6 +333,7 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
             outState.putSerializable("KPIMonth",mMonthModel);
         }
         outState.putInt("currentKPI",currentKPI);
+        outState.putBoolean("dirty",bdirty);
 
 
 //        mKPIArr.clear();
@@ -328,7 +343,9 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
     @Override
     public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
         super.onViewStateRestored(savedInstanceState);
-//        if (savedInstanceState != null) {
+        if (savedInstanceState != null) {
+
+            bdirty = savedInstanceState.getBoolean("dirty");
 //            currentKPI = savedInstanceState.getInt("currentKPI");
 //            mKPIArr = (ArrayList<KPIModel>) savedInstanceState.getSerializable("KPIData");
 //            mMonthModel = (Month) savedInstanceState.getSerializable("KPIMonth");
@@ -336,7 +353,7 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
 //
 //        if (mKPIArr == null || mKPIArr.size() == 0) {
 //            loadKPIData();
-//        }
+        }
     }
 
     @Override
@@ -380,10 +397,12 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
 //                            mKPIPager.setCurrentItem(currentKPI,false);
 //                        }
                         loading = false;
+                        bdirty = false;
                     }
                 });
             }
         }).start();
+
     }
 
     private void prepareData() {
@@ -610,8 +629,13 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
 
             if (intent.getAction().equals("com.apex.broadcast.person_mode")) {
 
-                loadKPIData();
+//                loadKPIData();
+                bdirty = true;
 
+                if(isActive())
+                {
+                    loadKPIData();
+                }
             }
 //            else if (intent.getAction().equals("com.usai.apex.push.cancel")) {
 //                mData = null;

+ 11 - 1
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/RecentFragment.java

@@ -11,6 +11,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ListView;
 
+import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.DetailActivity;
 import com.usai.apex.R;
 import com.usai.util.Network;
@@ -27,6 +28,12 @@ import org.json.JSONObject;
 public class RecentFragment extends TrackingListFragment {
 
 
+
+    protected boolean isActive()
+    {
+        return ApexTrackingApplication.getInstance().homeactive&&ApexTrackingApplication.getInstance().recentactive;
+    }
+
     public RecentFragment() {
         // Required empty public constructor
     }
@@ -141,7 +148,7 @@ public class RecentFragment extends TrackingListFragment {
 
                         if (jsobj != null) {
                             handleJson(jsobj);
-
+                            bdirty = false;
                         } else {
                             showAlert("Sorry,there is some wrong");
                         }
@@ -180,6 +187,9 @@ public class RecentFragment extends TrackingListFragment {
 ////        errorcode = Network.RESULT_TRUE;
 //
 //        adapter.notifyDataSetChanged();
+
+
+        super.requestData();
     }
 
     @Override

+ 57 - 4
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/RootActivity.java

@@ -15,12 +15,10 @@ import android.support.v4.app.ActivityCompat;
 import android.support.v4.app.Fragment;
 import android.support.v4.content.LocalBroadcastManager;
 import android.support.v4.view.ViewPager;
-import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
 import android.view.Menu;
 import android.view.MenuItem;
-import android.widget.Toast;
 
 import com.usai.apex.ApexTrackingApplication;
 import com.usai.apex.ContainerSearchActivity;
@@ -220,7 +218,7 @@ public class RootActivity extends AppCompatActivity {
                     }
                 });
 
-        /*
+
         viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
             @Override
             public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
@@ -229,6 +227,56 @@ public class RootActivity extends AppCompatActivity {
 
             @Override
             public void onPageSelected(int position) {
+
+                MenuItem item= bottomNavigationView.getMenu().getItem(position);
+
+                switch (item.getItemId())
+                {
+                    case R.id.item_login:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        break;
+
+                    case R.id.item_tool:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        break;
+
+                    case R.id.item_otool:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        break;
+
+                    case R.id.item_home:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = true;
+
+                        HomeFragment homef=(HomeFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(position);
+                        homef.checkDirty();
+                        break;
+
+                    case R.id.item_history:
+
+                        ApexTrackingApplication.get_instance().historyactive = true;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        HistoryFragment historyf=(HistoryFragment)((ViewPagerAdapter)viewPager.getAdapter()).getItem(position);
+                        historyf.checkDirty();
+
+                        break;
+                    case R.id.item_search:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        break;
+
+                    case R.id.item_my:
+                        ApexTrackingApplication.get_instance().historyactive = false;
+                        ApexTrackingApplication.get_instance().homeactive = false;
+                        break;
+                }
+
+
+
+//                if(viewPager.gets)
 //                if (menuItem != null) {
 //                    menuItem.setChecked(false);
 //                } else {
@@ -242,7 +290,7 @@ public class RootActivity extends AppCompatActivity {
             public void onPageScrollStateChanged(int state) {
             }
         });
-*/
+
 
 
 //        viewPager.set
@@ -469,6 +517,7 @@ public class RootActivity extends AppCompatActivity {
         {
             if(actionbutton!=null)
                 actionbutton.getItem(0).setVisible(true);
+
             bottomNavigationView.getChildAt(0).setSelected(true);
             bottomNavigationView.getMenu().clear();
 //                bottomNavigationView.getMenu().
@@ -508,6 +557,7 @@ public class RootActivity extends AppCompatActivity {
             adapter.addFragment(myFragment);
 
 
+            ApexTrackingApplication.get_instance().homeactive = true;
 
 
 
@@ -522,6 +572,9 @@ public class RootActivity extends AppCompatActivity {
         }
         else
         {
+            ApexTrackingApplication.get_instance().homeactive = false;
+            ApexTrackingApplication.get_instance().historyactive = false;
+            ApexTrackingApplication.get_instance().recentactive = false;
             if(actionbutton!=null)
                 actionbutton.getItem(0).setVisible(false);
             bottomNavigationView.getChildAt(0).setSelected(true);

+ 24 - 3
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/TrackingListFragment.java

@@ -1,7 +1,6 @@
 package com.usai.apex.mainframe;
 
 
-import android.app.ProgressDialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -21,7 +20,6 @@ import android.view.ViewGroup;
 import android.widget.BaseAdapter;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
@@ -42,6 +40,7 @@ import java.util.Map;
  */
 public class TrackingListFragment extends ListFragment {
     protected BaseAdapter adapter;
+    boolean bdirty = false;
 //    List<Map<String, Object>> list_data;
 TrackingListSearchResult searchresult	= new TrackingListSearchResult();
 
@@ -50,6 +49,7 @@ TrackingListSearchResult searchresult	= new TrackingListSearchResult();
         super.onSaveInstanceState(outState);
 
         outState.putSerializable("searchresult",searchresult);
+        outState.putBoolean("dirty",bdirty);
 
     }
 
@@ -66,6 +66,7 @@ TrackingListSearchResult searchresult	= new TrackingListSearchResult();
         {
             searchresult = (TrackingListSearchResult) savedInstanceState
                     .getSerializable("searchresult");
+            bdirty = savedInstanceState.getBoolean("dirty");
             if (searchresult.get_count() == 0)
                 requestData();
 //            else
@@ -358,6 +359,7 @@ TrackingListSearchResult searchresult	= new TrackingListSearchResult();
         {
             searchresult = (TrackingListSearchResult) savedInstanceState
                     .getSerializable("searchresult");
+            bdirty = savedInstanceState.getBoolean("dirty");
             if (searchresult.get_count() == 0)
                 requestData();
 //            else
@@ -600,8 +602,19 @@ TrackingListSearchResult searchresult	= new TrackingListSearchResult();
         }
     }
 
+    public void checkDirty()
+    {
+        if(bdirty)
+            requestData();
+    }
+    protected boolean isActive()
+    {
+        return false;
+    }
+
     protected void requestData() {
 
+
     }
 
     class TrackingBroadcastReceiver extends BroadcastReceiver {
@@ -611,7 +624,15 @@ TrackingListSearchResult searchresult	= new TrackingListSearchResult();
             if (searchresult.get_count() > 0) {
                 mPullRefreshListView.setSelection(0);
             }
-            requestData();
+
+            bdirty = true;
+
+            if(isActive())
+            {
+                requestData();
+            }
+//            checkDirty();
+//
         }
     }
 }

+ 2 - 2
Apex Mobile/local.properties

@@ -4,5 +4,5 @@
 # Location of the SDK. This is only used by Gradle.
 # For customization when using a Version Control System, please read the
 # header note.
-#Tue Apr 17 13:36:47 CST 2018
-sdk.dir=/Users/macmini1/Library/Android/sdk
+#Tue Apr 24 11:38:11 CST 2018
+sdk.dir=/Users/ray/Library/Android/sdk