Parcourir la source

RA Image Android

添加根据model 名查 manufacturer的功能。
Ray Zhang il y a 8 ans
Parent
commit
0920ff50b4

+ 7 - 7
RA Image/app/app.iml

@@ -62,13 +62,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -76,6 +69,13 @@
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />

+ 1 - 1
RA Image/app/build.gradle

@@ -9,7 +9,7 @@ android {
         minSdkVersion 14
         targetSdkVersion 25
         versionCode 1
-        versionName "1.01.33428"
+        versionName "1.01.33443"
     }
 
     buildTypes {

+ 273 - 0
RA Image/app/src/main/java/com/usai/redant/raimage/MainActivity.java

@@ -20,8 +20,10 @@ import android.os.Bundle;
 import android.os.Environment;
 import android.provider.MediaStore;
 import android.support.v7.app.AppCompatActivity;
+import android.text.Editable;
 import android.text.InputType;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.util.Log;
 import android.view.Gravity;
 import android.view.Menu;
@@ -44,6 +46,8 @@ import com.usai.util.Network;
 import com.usai.util.RAUtil;
 import com.usai.util.dbgUtil;
 
+import org.json.JSONArray;
+import org.json.JSONException;
 import org.json.JSONObject;
 
 import java.io.ByteArrayOutputStream;
@@ -61,6 +65,9 @@ public class MainActivity extends AppCompatActivity
 {
 
     private VerifyCodeTask verifytask=null;
+    private QueryManufacturer qmtask=null;
+    private JSONArray manufacture_arr=null;
+    private AlertDialog qmdialog =null;
     public void verifyandupload(Bundle params)
     {
         if (verifytask != null)
@@ -74,7 +81,191 @@ public class MainActivity extends AppCompatActivity
         verifytask.execute(params);
 
     }
+    public void querymanufacturer(Bundle params)
+    {
+        if (qmtask != null)
+        {
+            return;
+        }
+
+
+
+        qmdialog=new AlertDialog.Builder(MainActivity.this)
+                .setTitle("Searching manufacturer")
+                .setMessage("Please Wait")
+
+                .show();
+        qmtask = new QueryManufacturer();
+        qmtask.execute(params);
+
+    }
+    public class QueryManufacturer extends AsyncTask<Bundle, Void, Boolean>
+    {
+
+        JSONObject json	= null;
+
+        // int netconnect;
+
+        @Override
+        protected Boolean doInBackground(Bundle... params)
+        {
+            json = Network.Query_Manufacturer(params[0]);
+            try {
+                if (json.getInt("result") == Network.RESULT_TRUE)
+                    return true;
+                else
+                    return false;
+            } catch (Exception e) {
+                e.printStackTrace();
+                return false;
+            }
+        }
+
+        @Override
+        protected void onPostExecute(final Boolean success)
+        {
+
+            Log.i("onPostExecute", "entry");
+            qmtask = null;
+            qmdialog.hide();
+//            showProgress(false);
+
+            if (success)
+            {
+
+
+                try {
+                    manufacture_arr=json.getJSONArray("manufacturer");
+                    if(manufacture_arr.length()==1) {
+                        String manufacture = manufacture_arr.getString(0);
+                        setManufacture(manufacture);
+                    }
+                    else
+                    {
+                        setManufacture("");
+                    }
+
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
+
+
+                //验证成功
+
+
+//                Intent intent = new Intent("REDANT.RAImage.ADD_TASK");
+//
+//                ArrayList<Bundle> taskArr = new ArrayList<Bundle>();
+//                String name = "POP";
+//
+////					if(MainActivity.this instanceof ModelActivity)
+////						name=name = "Model";
+//                if (MainActivity.this.getClass().equals(ModelActivity.class)) {
+//                    name = "Model";
+//                }
+//                for (String path : photoList) {
+//                    Bundle task = new Bundle();
+//
+//                    task.putString("path",path);
+//                    task.putString("file",RAUtil.lastPathComponent(path));
+//                    task.putString("url",RedAntApplication.active_address);
+//
+//                    String md5 = MD5.md5sum(path);
+//                    String encryptUser = AES.encrypt("usai",RedAntApplication.user);
+//                    String encryptPwd = AES.encrypt("usai",RedAntApplication.password);
+//
+//                    Bundle params = new Bundle();
+//                    params.putString("user",encryptUser);
+//                    params.putString("password",encryptPwd);
+//                    params.putString("mode",name);
+//                    params.putString("barcode",pidval.getText().toString());
+//                    params.putString("_operate","upload");
+//                    params.putString("platform","android");
+//                    params.putString("md5",md5);
+//
+//
+//                    if (MainActivity.this.getClass().equals(ModelActivity.class)) {
+//
+//                        if (!TextUtils.isEmpty(manufacture)) {
+//                            params.putString("manufacturer",manufacture);
+//                        }
+//                        if (!TextUtils.isEmpty(noteTextView.getText().toString())) {
+//                            params.putString("note",noteTextView.getText().toString());
+//                        }
+//                    }
+//
+//                    task.putBundle("params",params);
+//
+//                    taskArr.add(task);
+//                }
+//
+//                intent.putParcelableArrayListExtra("tasks",taskArr);
+//
+//                sendBroadcast(intent);
+//                clearfornew();
+            }
+            else
+            {
+                int result = 0;
+                try {
+                    result = json.getInt("result");
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    result = Network.RESULT_NET_ERROR;
+
+                }
+                switch (result)
+                {
+                    case 0:
+                    {
+                        // model , piid not exist
+
+
+                        String msg = "User / password does not match.";
+
+//                        if (MainActivity.this.getClass().equals(ModelActivity.class)) {
+//                            msg = "Model does not exist.";
+//                        }
+                        Toast toast = Toast.makeText(getApplicationContext(),
+                                msg,
+                                Toast.LENGTH_LONG);
+                        toast.setGravity(Gravity.CENTER, 0, 0);
+                        toast.show();
+                        break;
+                    }
+//                    case 1:
+//                    {
+//                        //model / manufacturer not match
+//                        Toast toast = Toast.makeText(getApplicationContext(),
+//                                "Model/Manufacturer does not match.",
+//                                Toast.LENGTH_LONG);
+//                        toast.setGravity(Gravity.CENTER, 0, 0);
+//                        toast.show();
+//                        break;
+//                    }
+                    default:
+                    {
+                        // net error.
+                        Toast toast = Toast.makeText(getApplicationContext(),
+                                "Can not get manufacturer information.",
+                                Toast.LENGTH_LONG);
+                        toast.setGravity(Gravity.CENTER, 0, 0);
+                        toast.show();
+                        return;
+                    }
+
+                }
+
+            }
+        }
+
+        @Override
+        protected void onCancelled()
+        {
+            verifytask = null;
 
+        }
+    }
     public class VerifyCodeTask extends AsyncTask<Bundle, Void, Boolean>
     {
 
@@ -329,6 +520,53 @@ public class MainActivity extends AppCompatActivity
 		thumbsImageView = (ImageView)findViewById(R.id.photo_iv);
 		countTextView = (TextView)findViewById(R.id.photo_count_lb);
 		pidval = (EditText)findViewById(R.id.barcode_et);
+
+        if (MainActivity.this.getClass().equals(ModelActivity.class)) { // model
+
+            pidval.addTextChangedListener(new TextWatcher() {
+
+                @Override
+                public void onTextChanged(CharSequence s, int start, int before, int count) {
+                    // 输入的内容变化的监听
+//                Log.e("输入过程中执行该方法", "文字变化");
+                }
+
+                @Override
+                public void beforeTextChanged(CharSequence s, int start, int count,
+                                              int after) {
+                    // 输入前的监听
+//                Log.e("输入前确认执行该方法", "开始输入");
+
+                }
+
+                @Override
+                public void afterTextChanged(Editable s) {
+                    // 输入后的监听
+
+                    String model = s.toString();
+                    if(TextUtils.isEmpty(model))
+                        return;
+                    Log.e("输入结束执行该方法", "输入结束"+ s.toString());
+
+                    String encryptUser = AES.encrypt("usai",RedAntApplication.user);
+                    String encryptPwd = AES.encrypt("usai",RedAntApplication.password);
+
+                    Bundle params = new Bundle();
+                    params.putString("user",encryptUser);
+                    params.putString("password",encryptPwd);
+                    params.putString("barcode",model);
+                    params.putString("type","model");
+                    params.putString("_operate","handset_get_manufacturer");
+                    params.putString("platform","android");
+
+
+                    querymanufacturer(params);
+
+                }
+            });
+        }
+
+
 		noteTextView = (EditText)findViewById(R.id.note_et);
 		ibtnscan = (ImageButton)findViewById(R.id.scan_btn);
 		captureButton = (ImageButton)findViewById(R.id.camera_btn);
@@ -625,6 +863,39 @@ public class MainActivity extends AppCompatActivity
 					@Override
 					public void onClick(View v) {
 						Intent intent = new Intent(MainActivity.this, ManufactureListActivity.class);
+
+                        JSONArray manufactureArr = manufacture_arr;
+
+                        if(manufactureArr==null||manufactureArr.length()==0)
+                        {
+
+                            try {
+                                JSONArray modeArr = RedAntApplication.server_info.getJSONArray("modellist");
+                                for (int i = 0;i < modeArr.length(); i++) {
+                                    JSONObject obj = modeArr.getJSONObject(i);
+                                    String name = obj.getString("name");
+                                    if (name.equals("Model")) {
+                                        manufactureArr = obj.getJSONArray("manifacturer");
+
+                                    }
+                                    break;
+                                }
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                        }
+                        ArrayList<String> mlist = new ArrayList<String>();
+                        for (int j = 0; j < manufactureArr.length(); j++) {
+                            String manufacture = null;
+                            try {
+                                manufacture = manufactureArr.getString(j);
+                            } catch (JSONException e) {
+                                e.printStackTrace();
+                            }
+                            mlist.add(manufacture);
+                        }
+
+                        intent.putStringArrayListExtra("mlist",mlist);
 						startActivityForResult(intent,REQUEST_MANUFACTURE);
 					}
 				});
@@ -1532,6 +1803,8 @@ public class MainActivity extends AppCompatActivity
 //		TextView countTextView = (TextView) findViewById(R.id.tvPhotoCount);
 		countTextView.setText("no photo");
 
+        manufacture_arr=null;
+        setManufacture("");
 		if(noteTextView!=null)
 			noteTextView.setText("");
 

+ 10 - 25
RA Image/app/src/main/java/com/usai/redant/raimage/Model/ManufactureListActivity.java

@@ -2,13 +2,11 @@ package com.usai.redant.raimage.Model;
 
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-import android.support.v7.widget.ListViewCompat;
-import android.text.Layout;
 import android.view.LayoutInflater;
 import android.view.MenuItem;
 import android.view.View;
@@ -19,10 +17,6 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import com.usai.redant.raimage.R;
-import com.usai.redant.raimage.RedAntApplication;
-
-import org.json.JSONArray;
-import org.json.JSONObject;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -36,30 +30,21 @@ public class ManufactureListActivity extends AppCompatActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_manufacture_list);
 
+
+
         ActionBar mActionBar = getSupportActionBar();
         mActionBar.setHomeButtonEnabled(true);
         mActionBar.setDisplayHomeAsUpEnabled(true);
         mActionBar.setTitle("RA Image");
 
+        dataSource=getIntent().getStringArrayListExtra("mlist");
+
+        if(dataSource==null)
+            dataSource = new ArrayList<String>();
+
+
+
         /**Data*/
-        try {
-            JSONArray modeArr = RedAntApplication.server_info.getJSONArray("modellist");
-            for (int i = 0;i < modeArr.length(); i++) {
-                JSONObject obj = modeArr.getJSONObject(i);
-                String name = obj.getString("name");
-                if (name.equals("Model")) {
-                    JSONArray manufactureArr = obj.getJSONArray("manifacturer");
-                    dataSource = new ArrayList<String>();
-                    for (int j = 0; j < manufactureArr.length(); j++) {
-                        String manufacture = manufactureArr.getString(j);
-                        dataSource.add(manufacture);
-                    }
-                }
-                break;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
 
         /***/
         manufacureList = (ListView)findViewById(R.id.manufacture_list);

+ 2 - 4
RA Image/app/src/main/java/com/usai/redant/raimage/Model/ModelActivity.java

@@ -1,9 +1,7 @@
 package com.usai.redant.raimage.Model;
 
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
-import android.view.MenuItem;
+import android.support.v7.app.ActionBar;
 
 import com.usai.redant.raimage.MainActivity;
 import com.usai.redant.raimage.R;
@@ -18,7 +16,7 @@ public class ModelActivity extends MainActivity {
         ActionBar mActionBar = getSupportActionBar();
         mActionBar.setHomeButtonEnabled(true);
         mActionBar.setDisplayHomeAsUpEnabled(true);
-        mActionBar.setTitle("RA Image");
+        mActionBar.setTitle("Model");
 
         initView();
 

+ 2 - 4
RA Image/app/src/main/java/com/usai/redant/raimage/POP/PopActivity.java

@@ -1,9 +1,7 @@
 package com.usai.redant.raimage.POP;
 
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
-import android.view.MenuItem;
+import android.support.v7.app.ActionBar;
 
 import com.usai.redant.raimage.MainActivity;
 import com.usai.redant.raimage.R;
@@ -18,7 +16,7 @@ public class PopActivity extends MainActivity {
         ActionBar mActionBar = getSupportActionBar();
         mActionBar.setHomeButtonEnabled(true);
         mActionBar.setDisplayHomeAsUpEnabled(true);
-        mActionBar.setTitle("RA Image");
+        mActionBar.setTitle("POP");
 
         initView();
 

+ 1 - 1
RA Image/app/src/main/java/com/usai/redant/raimage/RedAntApplication.java

@@ -7,7 +7,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.SystemClock;
-import android.preference.PreferenceManager;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.Log;
@@ -31,6 +30,7 @@ public class RedAntApplication extends Application
     public static String station_name;
 	public static String device_id;
 	public static JSONObject server_info;
+
     public static RedAntApplication getInstance() {  
         return instance;  
     }  

+ 3 - 0
RA Image/app/src/main/java/com/usai/redant/raimage/TaskActivity.java

@@ -33,6 +33,7 @@ import com.usai.util.RAUploadManager;
 import com.usai.util.dbgUtil;
 
 import java.util.ArrayList;
+import java.util.Collections;
 
 //import android.support.v7.widget.ListViewCompat;
 
@@ -87,6 +88,7 @@ public class TaskActivity extends AppCompatActivity {
                 uploadManager = uploadServiceservice.uploadManager;
                 task_arr = (ArrayList<Bundle>) uploadManager.get_arr_queue().clone(); //uploadManager.arr_queue;
 
+                Collections.reverse(task_arr);
                 final TaskAdapter adapter = (TaskAdapter)tasklist.getAdapter();
 
                 adapter.notifyDataSetChanged();
@@ -118,6 +120,7 @@ public class TaskActivity extends AppCompatActivity {
                                 @Override
                                 public void run() {
                                     task_arr = (ArrayList<Bundle>) newlist.clone();
+                                    Collections.reverse(task_arr);
                                     adapter.notifyDataSetChanged();
                                 }
                             });

+ 60 - 65
RA Image/app/src/main/java/com/usai/util/Network.java

@@ -44,8 +44,6 @@ import java.io.BufferedWriter;
 import java.io.DataOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -117,7 +115,7 @@ public class Network
 	static String				URL_LOGIN					= "index.php?_action=handset_new";
 	static String				URL_UPLOAD					= "index.php?_action=handset_new";
 	static String				URL_VERIFY_CODE					= "index.php?_action=handset_new";
-
+	static String				URL_QUERY_MANUFACTURER				= "index.php?_action=handset_new";
 	public static class SSLSocketFactoryEx extends SSLSocketFactory
 	{
 
@@ -886,6 +884,65 @@ public class Network
 		// }
 		// return RESULT_ERROR;
 	}
+
+	public static JSONObject Query_Manufacturer(Bundle Params)
+	{
+		String TAG = "net_dbg@Verify_Code";
+		if (!Network.NetworkIsAvailable())
+		{
+
+			Log.d(TAG, "network not available!");
+			try {
+				return new JSONObject("{result:" + Network.RESULT_NET_NOTAVAILABLE+ "}");
+			} catch (JSONException e) {
+				e.printStackTrace();
+			}
+
+		}
+		Params.putString("_operate","handset_get_manufacturer");
+		String jstr = getJson(RedAntApplication.active_address
+				+ Network.URL_QUERY_MANUFACTURER,Params);
+//		file.delete();
+		if (jstr == null || jstr.length() <= 0)
+		{
+			Log.d(TAG, "json is null");
+			try {
+				return new JSONObject("{result:" + Network.RESULT_NET_ERROR+ "}");
+			} catch (JSONException e) {
+				e.printStackTrace();
+			}
+
+		}
+		Log.d(TAG, "json string:"+jstr);
+		JSONObject jsobj;
+		try
+		{
+			jsobj = new JSONObject(jstr);
+			if (jsobj.length() > 0)
+			{
+				return jsobj;
+			}
+			try {
+				return new JSONObject("{result:" + Network.RESULT_NET_ERROR+ "}");
+			} catch (JSONException e) {
+				e.printStackTrace();
+			}
+
+		}
+		catch (JSONException e)
+		{
+			// TODO Auto-generated catch block
+			Log.d(TAG, "json format wrong:"+jstr);
+			e.printStackTrace();
+//			try {
+//				return new JSONObject("{result:" + Network.RESULT_NET_ERROR+ "}");
+//			} catch (JSONException e1) {
+//				e.printStackTrace();
+//			}
+			return null;
+		}
+		return null;
+	}
 	public static JSONObject Verify_Code(Bundle Params)
 	{
 		String TAG = "net_dbg@Verify_Code";
@@ -1053,69 +1110,7 @@ public class Network
 		}
 		return null;
 	}
-	@Deprecated
-	public static int UploadImage(String path, String user, String password,
-			String pid,String server)
-	{
-
-		Bitmap source = BitmapFactory.decodeFile(path);
-
-		int originWidth = source.getWidth();
-		int originHeight = source.getHeight();
-
-		int width = originWidth, height = originHeight;
-
-		if (originHeight > 1024 || originWidth > 1024)
-		{
-			if (originWidth > originHeight)
-			{
-				width = 1024;
-				height = originHeight * 1024 / originWidth;
-
-			}
-			else
-			{
-
-				height = 1024;
-				width = originWidth * 1024 / originHeight;
 
-			}
-		}
-		Bitmap scaled = Bitmap.createScaledBitmap(source, width, height, true);
-		OutputStream fOutputStream = null;
-		String scaledPath = path.replace(".jpg", "_scaled.jpg");
-		File file = new File(scaledPath);
-		try
-		{
-			fOutputStream = new FileOutputStream(file);
-
-			scaled.compress(Bitmap.CompressFormat.JPEG, 95, fOutputStream);
-
-			fOutputStream.flush();
-			fOutputStream.close();
-
-			// MediaStore.Images.Media.insertImage(RedAntApplication.getInstance().getContentResolver(),
-			// file.getAbsolutePath(), file.getName(), file.getName());
-		}
-		catch (FileNotFoundException e)
-		{
-			e.printStackTrace();
-
-			dbgUtil.fileLog(e.toString());
-			return RESULT_LOCALFILE_ERROR;
-		}
-		catch (IOException e)
-		{
-			e.printStackTrace();
-
-			dbgUtil.fileLog(e.toString());
-			return RESULT_LOCALFILE_ERROR;
-		}
-		int ret = UploadFiled  (scaledPath, user, password, pid,server);
-		file.delete();
-		return ret;
-
-	}
 	public static String UploadFile(String path ,String host,Bundle params,FileUploadListener listener){