Explorar o código

The container detail should not have a save log menu -- container detail 不应该有save log 菜单(resolve: #14486)
Organize the permission statement -- 整理权限申明(issue60: #14483)
The release version cannot display result addational fields -- release 版无法显示result addational fields(resolve: #14479)
share function share content is empty --share 功能分享内容为空(issue60: #14489)

Ray Zhang %!s(int64=4) %!d(string=hai) anos
pai
achega
a7f88bb92f
Modificáronse 17 ficheiros con 167 adicións e 57 borrados
  1. 4 4
      ApexDrivers/ratradefiling/build.gradle
  2. 1 1
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/Const.java
  3. 5 5
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/RootActivity.java
  4. 41 18
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/base/ResultBaseModel.java
  5. 1 1
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/DetailFragment.java
  6. 98 16
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java
  7. 1 1
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeFragment.java
  8. 7 2
      ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/login/LoginFragment.java
  9. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_acem1_cell_e.xml
  10. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_acem1_cell_p.xml
  11. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_aci_cell_e.xml
  12. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_aci_cell_p.xml
  13. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_emanifest_cell_e.xml
  14. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_emanifest_cell_p.xml
  15. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_empty_cell.xml
  16. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_isf_cell_e.xml
  17. 1 1
      ApexDrivers/ratradefiling/src/main/res/layout/home_dash_isf_cell_p.xml

+ 4 - 4
ApexDrivers/ratradefiling/build.gradle

@@ -33,11 +33,11 @@ android {
         }
         debug {
             debuggable true
-//            minifyEnabled true
-//            zipAlignEnabled true
-//            shrinkResources true
+            minifyEnabled true
+            zipAlignEnabled true
+            shrinkResources true
 
-//            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-project.txt'
         }
     }
 }

+ 1 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/Const.java

@@ -4,7 +4,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 public class Const {
 
-    public static final boolean FAKE_DATA = true;
+    public static final boolean FAKE_DATA = false;
 
     public static final int MY_PERMISSIONS_REQUEST = 1;
     private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);

+ 5 - 5
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/RootActivity.java

@@ -90,7 +90,7 @@ public class RootActivity extends BasicActivity {
                         getSupportActionBar().setHomeAsUpIndicator(R.drawable.navigate_logo);
                     }
 
-                    Intent intent = new Intent("com.apex.broadcast.person_mode");
+                    Intent intent = new Intent("com.usai.tradefiling.broadcast.person_mode");
                     LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent);
                 }
 
@@ -474,10 +474,10 @@ public class RootActivity extends BasicActivity {
         String[] permissions = {
 //                Manifest.permission.CAMERA,
 //                Manifest.permission.VIBRATE,
-                Manifest.permission.READ_CONTACTS,
-                Manifest.permission.READ_PHONE_STATE,
-                Manifest.permission.WRITE_EXTERNAL_STORAGE,
-                Manifest.permission.READ_EXTERNAL_STORAGE,
+//                Manifest.permission.READ_CONTACTS,
+//                Manifest.permission.READ_PHONE_STATE,
+//                Manifest.permission.WRITE_EXTERNAL_STORAGE,
+//                Manifest.permission.READ_EXTERNAL_STORAGE,
 //                Manifest.permission.RECEIVE_BOOT_COMPLETED,
 //                Manifest.permission.ACCESS_NETWORK_STATE,
 //                Manifest.permission.ACCESS_WIFI_STATE,

+ 41 - 18
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/base/ResultBaseModel.java

@@ -81,42 +81,65 @@ public class ResultBaseModel extends BaseObject
 
     // region Addition
 
-    public Object addition; // 使用Object对象,便于baseObject赋值
-    private ArrayList<ResultAddition> additions;
+    public JSONArray addition; // 使用Object对象,便于baseObject赋值
+//    private ArrayList<ResultAddition> additions;
+
+//    public void setAddition(Object obj) {
+//        this.addition = obj;
+//        if (obj != null && obj instanceof JSONArray) {
+//
+//            JSONArray addition = (JSONArray) obj;
+//            if (addition != null && addition.length() > 0) {
+//
+//                this.additions = new ArrayList<>();
+//                for (int i = 0; i < addition.length(); i++) {
+//                    JSONObject additionItem = addition.optJSONObject(i);
+//                    if (additionItem != null) {
+//
+//                        ResultAddition additionModel = new ResultAddition();
+//                        additionModel.setValuesForKeysWithJSON(additionItem);
+//                        this.additions.add(additionModel);
+//                    }
+//                }
+//
+//            } else {
+//                this.additions = null;
+//            }
+//
+//        } else {
+//            this.additions = null;
+//        }
+//
+//
+//
+//    }
+//
+    public ArrayList<ResultAddition> getAddition() {
+
+
 
-    public void setAddition(Object obj) {
-        this.addition = obj;
-        if (obj != null && obj instanceof JSONArray) {
 
-            JSONArray addition = (JSONArray) obj;
             if (addition != null && addition.length() > 0) {
 
-                this.additions = new ArrayList<>();
+
+                ArrayList<ResultAddition> additions = new ArrayList<>();
                 for (int i = 0; i < addition.length(); i++) {
                     JSONObject additionItem = addition.optJSONObject(i);
                     if (additionItem != null) {
 
                         ResultAddition additionModel = new ResultAddition();
                         additionModel.setValuesForKeysWithJSON(additionItem);
-                        this.additions.add(additionModel);
+                        additions.add(additionModel);
                     }
                 }
+                return additions;
 
             } else {
-                this.additions = null;
+                return null;
             }
 
-        } else {
-            this.additions = null;
-        }
-
-
-
     }
 
-    public ArrayList<ResultAddition> getAddition() {
-        return additions;
-    }
 
     // endregion
 }

+ 1 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/DetailFragment.java

@@ -1386,7 +1386,7 @@ public class DetailFragment extends Fragment implements OnClickListener /*
 			NewDetailActivity activity = (NewDetailActivity) getActivity();
 
 
-//			activity.save_content(getArguments().getString("action_type"), jstr);
+			activity.save_content(getArguments().getString("action_type"), jstr);
 
 
 

+ 98 - 16
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java

@@ -112,6 +112,9 @@ public class NewDetailActivity extends AppCompatActivity {
     @Override
     public boolean onCreateOptionsMenu(Menu menu)
     {
+
+        if(sub_type.equals("container"))
+            return true;
         // Inflate the menu; this adds items to the action bar if it is present.
 
 //        if (function_name.equals("Cargo Tracking")) {
@@ -246,7 +249,24 @@ public class NewDetailActivity extends AppCompatActivity {
 //				share.putExtra(Intent.EXTRA_STREAM, uri);
                 share.setType("text/plain");
 
+                int selected = bottomNavigationView.getSelectedItemId();
+
+                ;
+                ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
+
+//                Fragment f =adapter.getItem(selected);
+                String title = getIntent().getStringExtra("action" + menu_map.get(selected));
+                String content = contentmap.get(title);
+                try {
+
+                    JSONObject jsonObject = new JSONObject(content);
+                    email_to = jsonObject.optString("email",null);
+                    email_subject = jsonObject.optString("email_subject","Share "+title);
+                    email_content = jsonObject.optString("email_content",createShareContent(jsonObject));
 
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
 
 
                 if (email_content != null) {
@@ -802,22 +822,84 @@ public class NewDetailActivity extends AppCompatActivity {
 
         viewPager.setAdapter(adapter);
     }
-//    public void save_content(String which,String content)
-//    {
-//        contentmap.put(which, content);
-//
-//        try {
-//
-//            JSONObject jsonObject = new JSONObject(content);
-//            email_to = jsonObject.optString("email",null);
-//            email_subject = jsonObject.optString("email_subject",null);
-//            email_content = jsonObject.optString("email_content",null);
-//
-//        } catch (JSONException e) {
-//            e.printStackTrace();
-//        }
-//
-//    }
+    public void save_content(String which,String content)
+    {
+        contentmap.put(which, content);
+
+
+    }
+    
+ public String createShareContent(JSONObject originContent)
+    {
+
+        String content = "";
+        int group_count=originContent.optInt("count");
+        for(int i=0;i<group_count;i++)
+        {
+
+            JSONObject group = originContent.optJSONObject("group"+i);
+            String groupName = group.optString("_name");
+            String groupType = group.optString("_type");
+            if(i!=0)
+                content=content+"\r\n";
+            content=content  + groupName;
+            content=content  + "\r\n\r\n";
+
+            int item_count = group.optInt("count");
+
+            for(int j=0;j<item_count;j++)
+            {
+                JSONObject item = group.optJSONObject("item"+j);
+
+                if(groupType.equals("mapping"))
+                {
+                    String key = item.keys().next();
+                    content=content  + key;
+                    content=content  + ": ";
+                    content=content  + item.optString(key);
+                    content=content  + "\r\n";
+                }
+            else if(groupType.equals("container_ca"))
+                {
+                    String container_no = item.optString("container#");
+                    String seal_no = item.optString("seal_no");
+                    content=content  + "Container#: "+container_no;
+                    content=content  + "\r\n";
+                    content=content  + seal_no;
+                    content=content  + "\r\n";
+                }
+            else if(groupType.equals("container"))
+                {
+                    String container_no = item.optString("container#");
+                    String seal_no = item.optString("seal_no");
+                    String size = item.optString("size");
+                    String qty = item.optString("qty");
+                    String service = item.optString("service");
+                    String weight = item.optString("weight");
+                    content=content  + "Container#: "+container_no;
+                    content=content  + "\r\n";
+                    content=content  + seal_no;
+                    content=content  + "\r\n";
+                    content=content  + "Size#: "+size;
+                    content=content  + "\r\n";
+                    content=content  + qty;
+                    content=content  + "\r\n";
+                    content=content  + service;
+                    content=content  + "\r\n";
+                    content=content  + weight;
+                    content=content  + "\r\n";
+                }
+            else if(groupType.equals("log"))
+                {
+                    String log = item.optString("text");
+                    content=content  + log;
+                    content=content  + "\r\n";
+                }
+            }
+        }
+
+        return content;
+    }
 //    boolean PrepareMenu(Menu menu)
 //    {
 //        int count = getIntent().getIntExtra("actions_count", 0);

+ 1 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/home/HomeFragment.java

@@ -80,7 +80,7 @@ import static com.usai.ratradefiling.base.ResultBaseModel.HomeDashResultType.Das
 public class HomeFragment extends Fragment
 {
 
-    public final static String HomeReloadBroadcastAction = "com.usai.redant.apexdriver.home_refresh";
+    public final static String HomeReloadBroadcastAction = "com.usai.tradefiling.home_refresh";
 
     private final static int REQUEST_MORE_CODE = 0;
 

+ 7 - 2
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/login/LoginFragment.java

@@ -160,7 +160,7 @@ public class LoginFragment extends Fragment/* implements OnClickListener */
 
 		m_cbSave = (CheckBox) view.findViewById(R.id.cb_save);
 		SharedPreferences pref = TradeFilingApplication.get_instance()
-				.getSharedPreferences("Apex", 0);
+				.getSharedPreferences("RA TradeFiling", 0);
 		String u = pref.getString("user", null);
 		String p = pref.getString("password", null);
 		if (u != null && p != null) {
@@ -174,6 +174,11 @@ public class LoginFragment extends Fragment/* implements OnClickListener */
 			}
 
 		}
+		else
+		{
+
+			m_cbSave.setChecked(false);
+		}
 		m_etPassword
 				.setOnEditorActionListener(new TextView.OnEditorActionListener() {
 					@Override
@@ -415,7 +420,7 @@ public class LoginFragment extends Fragment/* implements OnClickListener */
 							SharedPreferences.Editor editor = pref.edit();
 
 							try {
-								if (/*m_cbSave.isChecked()*/ true) {
+								if (m_cbSave.isChecked()) {
 									editor.putString("user",
 											AES.encrypt("rau", m_sUser.toLowerCase()));
 									editor.putString("password",

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_acem1_cell_e.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_acem1_cell_p.xml

@@ -10,7 +10,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_aci_cell_e.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_aci_cell_p.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_emanifest_cell_e.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_emanifest_cell_p.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_empty_cell.xml

@@ -7,7 +7,7 @@
     android:orientation="vertical">
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_isf_cell_e.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"

+ 1 - 1
ApexDrivers/ratradefiling/src/main/res/layout/home_dash_isf_cell_p.xml

@@ -9,7 +9,7 @@
     >
 
     <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/apex_result_ship_top"
+        android:id="@+id/result_ship_top"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginLeft="5dp"