Răsfoiți Sursa

1.修改Android Apex Mobile PersonMode。

Pen Li 8 ani în urmă
părinte
comite
6bdae0821e

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

@@ -31,6 +31,7 @@ public class ApexTrackingApplication extends Application
 	public static int						ncount			= 1;
 
 	public static boolean					m_bauthorized	= false;
+	private boolean 							personMode 		= false;
 
 	private static long LastAlermTime = -120000;
 	
@@ -43,6 +44,14 @@ public class ApexTrackingApplication extends Application
 		return LastAlermTime;
 	}
 
+	public void setPersonMode(boolean personMode) {
+		this.personMode = personMode;
+	}
+
+	public boolean getPersonMode() {
+		return this.personMode;
+	}
+
 	public static ApexTrackingApplication getInstance() {
 		return instance;
 	}

+ 27 - 0
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/KPIFragment.java

@@ -5,6 +5,7 @@ import android.app.Activity;
 import android.content.Context;
 import android.graphics.Color;
 import android.os.Bundle;
+import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 import android.support.v4.view.PagerAdapter;
 import android.support.v4.view.ViewPager;
@@ -205,8 +206,34 @@ public class KPIFragment extends Fragment implements KPICell.KPIListener {
         }
     }
 
+    @Override
+    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
+        super.onViewStateRestored(savedInstanceState);
+        if (savedInstanceState != null) {
+            String kpiString = savedInstanceState.getString("KPIData");
+            if (kpiString != null) {
+                try {
+                    mData = new JSONObject(kpiString);
+                    prepareData();
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        if (mKPIArr == null || mKPIArr.size() == 0) {
+            loadKPIData();
+        }
+    }
+
+    private boolean loading = false;
     private void loadKPIData() {
 
+        if (loading) {
+            return;
+        }
+
+        loading = true;
         if (getUserVisibleHint()) {
             mLoadIndicator.setVisibility(View.VISIBLE);
         }

+ 30 - 1
Apex Mobile/app/src/main/java/com/usai/apex/mainframe/RootActivity.java

@@ -15,12 +15,14 @@ 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;
 import com.usai.apex.R;
 import com.usai.apex.ViewPagerAdapter;
@@ -49,11 +51,38 @@ public class RootActivity extends AppCompatActivity {
         return  true;
     }
 
+//    @Override
+//    public boolean onPrepareOptionsMenu(Menu menu) {
+//
+//        MenuItem item = menu.findItem(android.R.id.home);
+//        if (item != null) {
+//            boolean personMode = ApexTrackingApplication.get_instance().getPersonMode();
+//            if (personMode) {
+//                item.setIcon(R.drawable.apexlogo_p);
+//            } else {
+//                item.setIcon(R.drawable.apexlogo);
+//            }
+//        }
+//        return super.onPrepareOptionsMenu(menu);
+//    }
+
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case android.R.id.home:
-                Toast.makeText(this, "switch mode", Toast.LENGTH_SHORT).show();
+//                Toast.makeText(this, "switch mode", Toast.LENGTH_SHORT).show();
+
+                boolean personMode = ApexTrackingApplication.get_instance().getPersonMode();
+                personMode = !personMode;
+                ApexTrackingApplication.get_instance().setPersonMode(personMode);
+
+                invalidateOptionsMenu();
+
+                if (personMode) {
+                    item.setIcon(R.drawable.apexlogo_p);
+                } else {
+                    item.setIcon(R.drawable.apexlogo);
+                }
                 break;
             case R.id.quick_search:
 

BIN
Apex Mobile/app/src/main/res/drawable-hdpi/apexlogo_p.png


BIN
Apex Mobile/app/src/main/res/drawable-ldpi/apexlogo_p.png


BIN
Apex Mobile/app/src/main/res/drawable-mdpi/apexlogo_p.png


BIN
Apex Mobile/app/src/main/res/drawable-xhdpi/apexlogo_p.png


BIN
Apex Mobile/app/src/main/res/drawable-xxhdpi/apexlogo_p.png