Quellcode durchsuchen

common editor adds online enumeration type -- common editor 增加在线枚举类型(issue50: #14541)
Adjust the framework structure to resolve the conflict between the general editor framework and the existing application framework -- 调整框架结构,解决common editor 框架和现有 application 框架冲突 (resolve: #14544)

Ray Zhang vor 4 Jahren
Ursprung
Commit
44ce3c0d90

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

@@ -2216,7 +2216,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
 
                         Bundle params=RAUtil.Json2Bundle(paramsjson);
 
-                        intent = new EnumSlectOnlineActivity.Builder().build(mCtx,title,max_select,groupPosition,childPosition,cadedate_str,singleSelect,true,url,params);
+                        intent = new EnumSlectOnlineActivity.Builder().build(mCtx,title,max_select,groupPosition,childPosition,singleSelect,true,url,params);
                     }
                     else
                     {

+ 63 - 21
ApexDrivers/CommonEditorLib/src/main/java/com/usai/commoneditorlib/EnumSlectOnlineActivity.java

@@ -20,20 +20,24 @@ import android.widget.TextView;
 import androidx.appcompat.app.AlertDialog;
 import androidx.appcompat.app.AppCompatActivity;
 
+import com.usai.redant.rautils.application.RedantApplication;
 import com.usai.redant.rautils.utils.Network;
 import com.usai.redant.rautils.utils.RAUtil;
 
+import org.json.JSONException;
 import org.json.JSONObject;
 import org.w3c.dom.Text;
 
 import java.io.Serializable;
 
+import static com.usai.redant.rautils.utils.RAUtil.getJsonFromAsset;
+
 public class EnumSlectOnlineActivity extends AppCompatActivity {
 
     static String MAX_SELECT = "max_select";
     static String GROUP_POSITION = "group";
     static String CHILD_POSITION = "child";
-    static String CADEDATE = "cadedate";
+//    static String CADEDATE = "cadedate";
     static String SINGLE_SELECT = "single_select";
     static String TITLE = "title";
     static String AUTO_CLOSE = "auto_close";
@@ -52,6 +56,11 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
 
     void LoadData(int option)
     {
+
+        RedantApplication application= (RedantApplication) getApplication();
+
+        boolean fakedata = application.useFakeData();
+
         Intent intent = getIntent();
         Bundle params = intent.getBundleExtra(PARAMETERS);
 
@@ -77,32 +86,63 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
         new Thread(new Runnable() {
             @Override
             public void run() {
-                final JSONObject result_json = Network.GetCadedate(url, finalParams);
 
+
+
+                JSONObject result_json = null;
+
+                if(fakedata)
+                {
+
+                    result_json = getJsonFromAsset(getApplicationContext(),"enum_cadedate.json");
+
+
+                }
+                else
+                    result_json=Network.GetCadedate(url, finalParams);
+
+                JSONObject finalResult_json = result_json;
                 runOnUiThread(new Runnable() {
                     @Override
                     public void run() {
 
+
+
                         pd.dismiss();
+                        try
+                        {
 
-                        int result = result_json.optInt("result");
+                        int result = finalResult_json.optInt("result");
                         if (result == 2) {
 
                             if (option !=     LoadDataOptionLoadMore) {
                                 mCadedate = new JSONObject();
                             }
 
-                            int count = result_json.optInt("count");
+                            int count = finalResult_json.optInt("count");
+                            int ccount = mCadedate.optInt("count");
                             for (int ipr = 0; ipr < count; ipr++) {
-                                JSONObject pr_item = editor_json.optJSONObject("item_" + ipr);
-                                String name = pr_item.optString("name");
-                                String value = pr_item.optString("value");
-                                setValue(name,value);
+
+                                JSONObject item = finalResult_json.optJSONObject("val_" + ipr);
+
+
+                                    mCadedate.put("val_"+(ccount+ipr),item);
+
+
+
                             }
+                            mCadedate.put("count",ccount+count);
+                            offset = ccount+count;
+
+                            adapter.notifyDataSetChanged();
+
                         } else {
-                            RAUtil.alertMessage(mCtx,"",result_json.optString("err_msg"));
+                            RAUtil.alertMessage(mCtx,"", finalResult_json.optString("err_msg"));
+                        }
+                        } catch (JSONException e)
+                        {
+                            e.printStackTrace();
                         }
-
                     }
                 });
             }
@@ -112,7 +152,7 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
     }
 
     public static class Builder {
-        public Intent build(Context context,String title, int max_select, int group, int child, String cadedate,boolean single_select,boolean auto_close,String url, Bundle params) {
+        public Intent build(Context context,String title, int max_select, int group, int child, boolean single_select,boolean auto_close,String url, Bundle params) {
             if (context == null) {
                 return null;
             }
@@ -125,9 +165,9 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
             intent.putExtra(PARAMETERS,params);
             intent.putExtra(URL,url);
 
-            if (cadedate != null) {
-                intent.putExtra(CADEDATE,(Serializable) cadedate);
-            }
+//            if (cadedate != null) {
+//                intent.putExtra(CADEDATE,(Serializable) cadedate);
+//            }
             intent.putExtra(SINGLE_SELECT,single_select);
             if (title != null) {
                 intent.putExtra(TITLE,title);
@@ -264,7 +304,7 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
 
         if (mDirty != false) {
             Intent intent = new Intent();
-            intent.putExtra(CADEDATE,mCadedate.toString());
+//            intent.putExtra(CADEDATE,mCadedate.toString());
             intent.putExtra(GROUP_POSITION,mGroup);
             intent.putExtra(CHILD_POSITION,mChild);
 
@@ -278,12 +318,14 @@ public class EnumSlectOnlineActivity extends AppCompatActivity {
     private void init() {
         mCtx = this;
         Intent intent = getIntent();
-        String cadedate_str = intent.getStringExtra(CADEDATE);
-        try {
-            mCadedate = new JSONObject(cadedate_str);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+
+        LoadData(LoadDataOptionInitial);
+//        String cadedate_str = intent.getStringExtra(CADEDATE);
+//        try {
+//            mCadedate = new JSONObject(cadedate_str);
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
         mSingleSelect = intent.getBooleanExtra(SINGLE_SELECT,true);
         mGroup = intent.getIntExtra(GROUP_POSITION,0);
         mChild = intent.getIntExtra(CHILD_POSITION,0);

+ 1 - 1
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RAApplication.java

@@ -31,7 +31,7 @@ import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
 
 
 
-public class RAApplication extends RedantApplication {
+public abstract class RAApplication extends RedantApplication {
 
     // region Activity Life
     private boolean isBackground = true;

+ 1 - 1
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/application/RedantApplication.java

@@ -22,5 +22,5 @@ public abstract class RedantApplication extends Application {
 
     }
     public abstract Class getServiceClass();
-
+    public abstract boolean useFakeData();
 }

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

@@ -25,6 +25,8 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.ratradefiling.utils.AES;
 import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
+import com.usai.redant.rautils.application.RAApplication;
+import com.usai.redant.rautils.application.RedantApplication;
 import com.usai.redant.rautils.utils.FileManager;
 import com.usai.redant.rautils.utils.RAProviderHelper;
 import com.usai.redant.rautils.utils.RAUtil;
@@ -40,7 +42,9 @@ import org.json.JSONObject;
 import java.io.File;
 import java.lang.ref.WeakReference;
 
-public class TradeFilingApplication extends Application implements RAProviderHelper.ProviderHelperDelegate
+import static com.usai.ratradefiling.Const.FAKE_DATA;
+
+public class TradeFilingApplication extends RedantApplication implements RAProviderHelper.ProviderHelperDelegate
 {
 
 	static final String						TAG				= "TradeFilingApplication";
@@ -93,6 +97,18 @@ public class TradeFilingApplication extends Application implements RAProviderHel
 		return instance;
 	}
 
+	@Override
+	public Class getServiceClass()
+	{
+		return null;
+	}
+
+	@Override
+	public boolean useFakeData()
+	{
+		return FAKE_DATA;
+	}
+
 
 	private static JSONObject m_function_panel;
 	private static JSONObject m_fields;