Przeglądaj źródła

Edit function adds save, submit and delete functions -- 编辑功能增加保存,提交,删除功能(resolve: #14556)
Realize the function of common editor multi-button cell -- 实现common editor 多按钮单元格的功能 (issue20: #14563)

Ray Zhang 4 lat temu
rodzic
commit
6771c95ab7

+ 168 - 157
ApexDrivers/CommonEditorLib/src/main/java/com/usai/commoneditorlib/CommonEditorActivity.java

@@ -2436,6 +2436,12 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
             return false;
         }
     }
+
+    protected void multiAction( int groupIndex,int itemIndex,JSONObject item_json)
+    {
+
+        throw new AssertionError("CommonEditor.multiAction not impl");
+    }
 protected void commonAction(String value, int groupIndex,int itemIndex,JSONObject item_json)
 {
 
@@ -3786,165 +3792,170 @@ protected void commonAction(String value, int groupIndex,int itemIndex,JSONObjec
             int child = Integer.valueOf(arr[1]);
             int i = Integer.valueOf(arr[2]);
 
-            int refresh = 0;
-            boolean discardDirty = false;
-            JSONObject section_json = null;
-            JSONObject item_json = content_data_control.optJSONArray(group).optJSONObject(child);
-            String subid = item_json.optString("subid");
-            String refresh_trigger = item_json.optString("name");
-            JSONObject sub_action = item_json.optJSONObject("item_" + i);
-            String type = sub_action.optString("type");
-
-            if (type != null && type.equals("pull")) {
-
-                // end edit
-
-                refresh = sub_action.optInt("refresh");
-                discardDirty = sub_action.optBoolean("discarddirty");
-                JSONObject keymap = sub_action.optJSONObject("key_map");
-                JSONObject value = create_value_map(keymap);
-
-                if (subid == null || subid.isEmpty()) {
-                    JSONObject jsonmap = sub_action.optJSONObject("key_map");
-                    section_json = content_data_download.optJSONObject("section_" + group);
-                    int icount = section_json.optInt("count");
-                    for (int ic = 0; ic < icount; ic++) {
-                        JSONObject modity_item = section_json.optJSONObject("item_" + ic);
-                        String mapto = modity_item.optString("name");
-
-                        if (mapto.isEmpty()) {
-                            continue;
-                        }
-                        String valuefrom = jsonmap.optString(modity_item.optString("name"));
-                        if (valuefrom == null) {
-                            continue;
-                        }
-                        String valuestr = value.optString(valuefrom);
-
-                        try {
-                            if (valuestr.isEmpty()) {
-                                modity_item.put("value","");
-                            } else {
-                                modity_item.put("value",valuestr);
-                            }
-                            modity_item.put("dirty","true");
-                            section_json.put("item_" + ic,modity_item);
-
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                        }
-
-                    }
-                } else {
-                    String[] idarr = subid.split("_");
-                    int section = Integer.valueOf(idarr[0]);
-                    int item = Integer.valueOf(idarr[1]);
-
-                    JSONObject jsonmap = sub_action.optJSONObject("key_map");
-                    section_json = content_data_download.optJSONObject("section_" + section);
-                    JSONObject olditem = section_json.optJSONObject("item_" + item);
-
-                    String control_type = olditem.optString("control");
-                    if (control_type.equals("switch")) {
-                        olditem = fill_switch_subitem_subid_mapping(olditem,null,value,jsonmap);
-                    } else if (control_type.equals("enum")) {
-                        olditem = fill_enum_subitem_subid_mapping(olditem,null,value,jsonmap);
-                    } else {
-                        new AlertDialog.Builder(mCtx)
-                                .setMessage("not impl")
-                                .setPositiveButton("OK",null)
-                                .show();
-                    }
-                    try {
-                        olditem.put("dirty","true");
-                        section_json.put("item_" + item,olditem);
-
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-
-                }
-
-                try {
-
-                    content_data_download.put("section_" + group,section_json);
-                    content_data_control = translateChange(content_data_download,changed_data);
-
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-
-                if (refresh == 1) {
-                    refresh(refresh_trigger,discardDirty);
-                    return;
-                }
-                adapter.notifyDataSetChanged();
-
-            } else {
-                JSONObject itemjson = sub_action;
-                String value = itemjson.optString("value");
-                Intent intent = null;
-                String requesturl = null;
-                int request_code = -1;
-                if (value.equals("new_addr")) {
-
-                    AddressEditorActivity.Builder builder = new AddressEditorActivity.Builder(); // 创建内部类实例需要外部类的实例,或者声明内部类为static
-                    intent = builder.build(mCtx,URL_REMOTE,requesturl,"true",String.format("%d",i),group,child);
-                    request_code = 2;
-
-                } else if (value.equals("credit_card")) {
-
-                    request_code = 3;
-                    JSONObject data = item_json.optJSONObject("data");
-                    int url_type;
-                    JSONObject download_data;
-                    if (data != null) {
-                        download_data = data;
-                        url_type = URL_NONE;
-                        requesturl = null;
-                    } else {
-                        download_data = null;
-                        url_type = URL_REMOTE;
-                        requesturl = "";
-                    }
-                    intent = new CreditCardEditorActivity.Builder().build(mCtx,url_type,requesturl,Application.order_code,"true",String.format("%d",i),download_data,group,child);
-
-                } else if (value.equals("Sales_Order_Freight_Bill_To")) {
-
-                    request_code = 4;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-
-                } else if (value.equals("Sales_Order_Ship_From")) {
-
-                    request_code = 5;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-
-                } else if (value.equals("Sales_Order_Customer")) {
-
-                    request_code = 6;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-
-                } else if (value.equals("Sales_Order_Merchandise_Bill_To")) {
-
-                    request_code = 7;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-
-                } else if (value.equals("Contact_Return_To")) {
-
-                    request_code = 8;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-
-                } else if (value.equals("Sales_Order_Ship_To")) {
-
-                    request_code = 9;
-                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
-                }
+//            int refresh = 0;
+//            boolean discardDirty = false;
+//            JSONObject section_json = null;
+//            JSONObject item_json = content_data_control.optJSONArray(group).optJSONObject(child);
+//
+//
+//            String subid = item_json.optString("subid");
+//            String refresh_trigger = item_json.optString("name");
+//            JSONObject sub_action = item_json.optJSONObject("item_" + i);
+//            String type = sub_action.optString("type");
 
-               if (intent != null) {
-                   startActivityForResult(intent,request_code);
-               }
-            }
+            multiAction(group,child,item_json);
 
+//
+//            if (type != null && type.equals("pull")) {
+//
+//                // end edit
+//
+//                refresh = sub_action.optInt("refresh");
+//                discardDirty = sub_action.optBoolean("discarddirty");
+//                JSONObject keymap = sub_action.optJSONObject("key_map");
+//                JSONObject value = create_value_map(keymap);
+//
+//                if (subid == null || subid.isEmpty()) {
+//                    JSONObject jsonmap = sub_action.optJSONObject("key_map");
+//                    section_json = content_data_download.optJSONObject("section_" + group);
+//                    int icount = section_json.optInt("count");
+//                    for (int ic = 0; ic < icount; ic++) {
+//                        JSONObject modity_item = section_json.optJSONObject("item_" + ic);
+//                        String mapto = modity_item.optString("name");
+//
+//                        if (mapto.isEmpty()) {
+//                            continue;
+//                        }
+//                        String valuefrom = jsonmap.optString(modity_item.optString("name"));
+//                        if (valuefrom == null) {
+//                            continue;
+//                        }
+//                        String valuestr = value.optString(valuefrom);
+//
+//                        try {
+//                            if (valuestr.isEmpty()) {
+//                                modity_item.put("value","");
+//                            } else {
+//                                modity_item.put("value",valuestr);
+//                            }
+//                            modity_item.put("dirty","true");
+//                            section_json.put("item_" + ic,modity_item);
+//
+//                        } catch (Exception e) {
+//                            e.printStackTrace();
+//                        }
+//
+//                    }
+//                } else {
+//                    String[] idarr = subid.split("_");
+//                    int section = Integer.valueOf(idarr[0]);
+//                    int item = Integer.valueOf(idarr[1]);
+//
+//                    JSONObject jsonmap = sub_action.optJSONObject("key_map");
+//                    section_json = content_data_download.optJSONObject("section_" + section);
+//                    JSONObject olditem = section_json.optJSONObject("item_" + item);
+//
+//                    String control_type = olditem.optString("control");
+//                    if (control_type.equals("switch")) {
+//                        olditem = fill_switch_subitem_subid_mapping(olditem,null,value,jsonmap);
+//                    } else if (control_type.equals("enum")) {
+//                        olditem = fill_enum_subitem_subid_mapping(olditem,null,value,jsonmap);
+//                    } else {
+//                        new AlertDialog.Builder(mCtx)
+//                                .setMessage("not impl")
+//                                .setPositiveButton("OK",null)
+//                                .show();
+//                    }
+//                    try {
+//                        olditem.put("dirty","true");
+//                        section_json.put("item_" + item,olditem);
+//
+//                    } catch (Exception e) {
+//                        e.printStackTrace();
+//                    }
+//
+//                }
+//
+//                try {
+//
+//                    content_data_download.put("section_" + group,section_json);
+//                    content_data_control = translateChange(content_data_download,changed_data);
+//
+//                } catch (Exception e) {
+//                    e.printStackTrace();
+//                }
+//
+//                if (refresh == 1) {
+//                    refresh(refresh_trigger,discardDirty);
+//                    return;
+//                }
+//                adapter.notifyDataSetChanged();
+//
+//            } else {
+//                JSONObject itemjson = sub_action;
+//                String value = itemjson.optString("value");
+//                Intent intent = null;
+//                String requesturl = null;
+//                int request_code = -1;
+//                if (value.equals("new_addr")) {
+//
+//                    AddressEditorActivity.Builder builder = new AddressEditorActivity.Builder(); // 创建内部类实例需要外部类的实例,或者声明内部类为static
+//                    intent = builder.build(mCtx,URL_REMOTE,requesturl,"true",String.format("%d",i),group,child);
+//                    request_code = 2;
+//
+//                } else if (value.equals("credit_card")) {
+//
+//                    request_code = 3;
+//                    JSONObject data = item_json.optJSONObject("data");
+//                    int url_type;
+//                    JSONObject download_data;
+//                    if (data != null) {
+//                        download_data = data;
+//                        url_type = URL_NONE;
+//                        requesturl = null;
+//                    } else {
+//                        download_data = null;
+//                        url_type = URL_REMOTE;
+//                        requesturl = "";
+//                    }
+//                    intent = new CreditCardEditorActivity.Builder().build(mCtx,url_type,requesturl,Application.order_code,"true",String.format("%d",i),download_data,group,child);
+//
+//                } else if (value.equals("Sales_Order_Freight_Bill_To")) {
+//
+//                    request_code = 4;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//
+//                } else if (value.equals("Sales_Order_Ship_From")) {
+//
+//                    request_code = 5;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//
+//                } else if (value.equals("Sales_Order_Customer")) {
+//
+//                    request_code = 6;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//
+//                } else if (value.equals("Sales_Order_Merchandise_Bill_To")) {
+//
+//                    request_code = 7;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//
+//                } else if (value.equals("Contact_Return_To")) {
+//
+//                    request_code = 8;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//
+//                } else if (value.equals("Sales_Order_Ship_To")) {
+//
+//                    request_code = 9;
+//                    intent = new ContactListActivity.Builder().build(mCtx,"true",String.format("%d",i),value,true,group,child);
+//                }
+//
+//               if (intent != null) {
+//                   startActivityForResult(intent,request_code);
+//               }
+//            }
+//
         }
     };
 

+ 19 - 9
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/Network.java

@@ -30,12 +30,22 @@ import java.net.MalformedURLException;
 import java.net.ProtocolException;
 import java.net.URL;
 import java.net.URLEncoder;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
 
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLPeerUnverifiedException;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+
 public class Network {
 
     public static final int	REQUEST_TIMEOUT					= 15 * 1000;			// request
@@ -93,15 +103,15 @@ public class Network {
 //                public boolean verify(String hostname, SSLSession session) {
 //
 //
-////                    X509Certificate cert = null;
-////
-////                    try {
-////
-////                        cert = (X509Certificate) session.getPeerCertificates()[0];
-////
-////                    } catch (SSLPeerUnverifiedException e) {
-////
-////                    }
+//                    X509Certificate cert = null;
+//
+//                    try {
+//
+//                        cert = (X509Certificate) session.getPeerCertificates()[0];
+//
+//                    } catch (SSLPeerUnverifiedException e) {
+//
+//                    }
 //
 //
 //                    if(hostname.equals("96.75.188.41"))

+ 1 - 1
ApexDrivers/raimage/build.gradle

@@ -17,7 +17,7 @@ android {
         targetSdkVersion 29
         versionCode 7
         versionName "1.16.47214"
-        ndk.abiFilters 'armeabi-v7a',"arm64-v8a"
+//        ndk.abiFilters 'armeabi-v7a',"arm64-v8a"
     }
     buildTypes {
         release {

+ 6 - 0
ApexDrivers/raimage/src/main/java/com/usai/redant/raimage/RAImageApplication.java

@@ -145,6 +145,12 @@ public class RAImageApplication extends RedantApplication
 		return mService.getClass();
 	}
 
+	@Override
+	public boolean useFakeData()
+	{
+		return false;
+	}
+
 	@Override
 	public void onTerminate() {
 		Log.d("_RAIMAGE", "onTerminate: RedAntApplication");

+ 57 - 18
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/tfeditor/TFEditorActivity.java

@@ -1,9 +1,9 @@
 package com.usai.ratradefiling.tfeditor;
 
-import android.app.AlertDialog;
 import android.app.ProgressDialog;
 import android.content.Context;
 //import android.support.v7.app.AppCompatActivity;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.MenuItem;
@@ -13,6 +13,8 @@ import android.view.View;
 //import com.usai.redant.redantmobile.R;
 //import com.usai.redant.util.Network;
 
+import androidx.appcompat.app.AlertDialog;
+
 import com.usai.commoneditorlib.CommonEditorActivity;
 import com.usai.commoneditorlib.EnumSlectOnlineActivity;
 import com.usai.ratradefiling.R;
@@ -83,24 +85,24 @@ public class TFEditorActivity extends CommonEditorActivity
         JSONObject upparams = check_cancomit(false);
 
 
-        for(int i=0;i<injectMenu.length();i++)
+//        for(int i=0;i<injectMenu.length();i++)
         {
 
-            JSONObject subitem = null;
-            try
-            {
-                subitem = injectMenu.getJSONObject(i);
-            } catch (JSONException e)
-            {
-                e.printStackTrace();
-            }
+//            JSONObject subitem = null;
+//            try
+//            {
+//                subitem = injectMenu.getJSONObject(i);
+//            } catch (JSONException e)
+//            {
+//                e.printStackTrace();
+//            }
 
 
 //            UIAlertAction *injectAction = [UIAlertAction actionWithTitle:NSLocalizedString(item[@"title"], nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
 
-            if(subitem.optString("name","").equals("save"))
+            if(jitem.optString("name","").equals("save"))
             {
-                 JSONObject params= subitem.optJSONObject("params");
+                 JSONObject params= jitem.optJSONObject("params");
 
                 RAUtil.mergeJson(upparams,params);
                 final Bundle b=RAUtil.Json2Bundle(params);
@@ -148,15 +150,15 @@ public class TFEditorActivity extends CommonEditorActivity
 
 
 
-
+//                    return true;
 
 
                 }
-                else if(subitem.optString("name","").equals("save&submit"))
+                else if(jitem.optString("name","").equals("save&submit"))
                 {
 
 
-                    JSONObject params= subitem.optJSONObject("params");
+                    JSONObject params= jitem.optJSONObject("params");
 
                     RAUtil.mergeJson(upparams,params);
                     final Bundle b=RAUtil.Json2Bundle(params);
@@ -205,12 +207,12 @@ public class TFEditorActivity extends CommonEditorActivity
 
 
 
-            else if(subitem.optString("name","").equals("delete"))
+            else if(jitem.optString("name","").equals("delete"))
 
                 {
 
 
-                    JSONObject params= subitem.optJSONObject("params");
+                    JSONObject params= jitem.optJSONObject("params");
 
                     RAUtil.mergeJson(upparams,params);
                     final Bundle b=RAUtil.Json2Bundle(params);
@@ -242,7 +244,23 @@ public class TFEditorActivity extends CommonEditorActivity
                                     if (result == 2)
                                     {
 
-                                        RAUtil.alertMessage(mCtx, "Message", "Delete successful");
+//                                        RAUtil.alertMessage(mCtx, "Message", "Delete successful");
+
+                                        AlertDialog.Builder builder = new AlertDialog.Builder(mCtx);
+
+                                            builder.setTitle("Message");
+
+                                            builder.setMessage( "Delete successful");
+
+
+                                        builder.setPositiveButton(mCtx.getString(com.usai.redant.rautils.R.string.ra_btn_ok), new DialogInterface.OnClickListener() {
+                                            @Override
+                                            public void onClick(DialogInterface dialog, int which) {
+                                                finish();
+                                            }
+                                        });
+
+                                        builder.show();
 
                                     }
                                     else
@@ -259,7 +277,28 @@ public class TFEditorActivity extends CommonEditorActivity
         
         return true;
     }
+    @Override
+    protected void multiAction( int groupIndex, int itemIndex, JSONObject item_json)
 
+    {
+
+        int refresh = 0;
+        boolean discardDirty = false;
+        JSONObject section_json = null;
+
+
+
+        String subid = item_json.optString("subid");
+        String refresh_trigger = item_json.optString("name");
+        JSONObject sub_action = item_json.optJSONObject("item_" + i);
+        String type = sub_action.optString("type");
+        String value = sub_action.optString("value");
+        if
+        {
+
+        }
+
+    }
     @Override
     protected void commonAction(String value, int groupIndex, int itemIndex, JSONObject item_json)
     {