Procházet zdrojové kódy

Add and implement editor module -- 添加并实现editor 组件(issue20: #14504)

Ray Zhang před 4 roky
rodič
revize
fefc5119df

+ 22 - 0
ApexDrivers/RAUtilsLibrary/src/main/java/com/usai/redant/rautils/utils/Network.java

@@ -970,4 +970,26 @@ public class Network {
         }
         return null;
     }
+
+
+    public static JSONObject request_editor(String request_url,Bundle params) {
+
+        if (request_url == null || request_url.isEmpty() || params == null) {
+            return null;
+        }
+
+        String json_string = getJson(request_url,params,REQUEST_TIMEOUT);
+
+        if (json_string == null || json_string.isEmpty()) {
+            json_string = "{\"result\" : \"1\"}";
+        }
+
+        try {
+            return new JSONObject(json_string);
+        } catch (JSONException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
 }

+ 26 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/dataprovider/OfflineDataProvider.java

@@ -15,6 +15,32 @@ import static com.usai.redant.rautils.utils.RAUtil.getJsonFromAsset;
 
 public class OfflineDataProvider {
 
+
+    public static JSONObject request_editor(String url,Bundle param)
+    {
+        JSONObject commObj = null;
+
+        String subtype = param.getString("sub_type");
+//        if (action_type.equals("Detail"))
+        if (subtype.equals("isf"))
+        {
+            commObj = getJsonFromAsset(TradeFilingApplication.get_instance().getApplicationContext(), "edit_"+subtype+".json");
+        }
+
+        if(commObj==null)
+        {
+            String str = "{\"result\":2}";
+            try
+            {
+                commObj = new JSONObject(str);
+            } catch (JSONException e)
+            {
+                e.printStackTrace();
+            }
+        }
+        return commObj;
+    }
+
     public static File request_download(String filename)
     {
 

+ 10 - 0
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/dataprovider/RADataProvider.java

@@ -30,6 +30,16 @@ public class RADataProvider {
 
 
 
+    public static JSONObject request_editor(String url,Bundle param)
+    {
+        if(FAKE_DATA)
+        {
+            return OfflineDataProvider.request_editor(url,param);
+        }
+        else {
+            return OnlineDataProvider.request_editor(url,param);
+        }
+    }
     public static JSONObject change_pass(String newpassword)
     {
         if(FAKE_DATA)

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

@@ -63,6 +63,7 @@ import com.usai.ratradefiling.TradeFilingApplication;
 import com.usai.ratradefiling.dataprovider.OnlineDataProvider;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.ratradefiling.my.ChangePasswordActivity;
+import com.usai.ratradefiling.tfeditor.TFEditorActivity;
 import com.usai.redant.rautils.utils.RAUtil;
 
 import org.json.JSONArray;
@@ -73,6 +74,8 @@ import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.util.regex.Pattern;
 
+import static com.usai.commoneditorlib.CommonEditorActivity.URL_REMOTE;
+import static com.usai.ratradefiling.dataprovider.OnlineDataProvider.URL_EDIT;
 import static com.usai.redant.rautils.utils.Network.RESULT_TRUE;
 
 public class DetailFragment extends Fragment implements OnClickListener /*
@@ -1278,7 +1281,13 @@ public class DetailFragment extends Fragment implements OnClickListener /*
 		}
 		else if(type.toLowerCase().equals("editor"))
 		{
-			throw new AssertionError("Editor not impl");
+//			throw new AssertionError("Editor not impl");
+
+
+			Intent intent = TFEditorActivity.build(mContext,TFEditorActivity.class,null,URL_REMOTE,URL_EDIT,new Bundle());
+
+			startActivity(intent);
+
 
 		}
 		return super.onOptionsItemSelected(item);

+ 8 - 3
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/tfeditor/TFEditorActivity.java

@@ -10,9 +10,12 @@ import android.os.Bundle;
 
 import com.usai.commoneditorlib.CommonEditorActivity;
 import com.usai.ratradefiling.R;
+import com.usai.ratradefiling.dataprovider.RADataProvider;
 
 import org.json.JSONObject;
 
+import java.lang.reflect.ParameterizedType;
+
 public class TFEditorActivity extends CommonEditorActivity
 {
 
@@ -33,9 +36,11 @@ public class TFEditorActivity extends CommonEditorActivity
 
     @Override
     public JSONObject request_editor(String request_url, Bundle params) {
-        if(true)
-            throw new AssertionError("TFEditorActivity::request_editor not impl");
-return null;
+//        if(true)
+//            throw new AssertionError("TFEditorActivity::request_editor not impl");
+//return null;
 //        return Network.require_orderdetail(request_url,params);
+
+        return RADataProvider.request_editor(request_url, params);
     }
 }

+ 1 - 0
RedAnt Mobile/build.gradle

@@ -7,6 +7,7 @@ buildscript {
     dependencies {
         classpath 'com.android.tools.build:gradle:3.0.1'
 
+//        classpath 'com.android.tools.build:gradle:4.0.1'
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files
     }

+ 3 - 6
RedAnt Mobile/local.properties

@@ -1,11 +1,8 @@
-## This file is automatically generated by Android Studio.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
+## This file must *NOT* be checked into Version Control Systems,
 # as it contains information specific to your local configuration.
 #
 # Location of the SDK. This is only used by Gradle.
 # For customization when using a Version Control System, please read the
 # header note.
-#Tue Jan 09 16:30:24 CST 2018
-sdk.dir=/Users/ray/Library/Android/sdk
+#Tue Jul 20 15:28:45 CST 2021
+sdk.dir=/Users/ruizhang/Library/Android/sdk