0
0
Просмотр исходного кода

正式环境更新,二维码更新

lhm 3 лет назад
Родитель
Сommit
38c344c5d8

+ 83 - 0
app/src/main/java/com/emato/ich/MainActivity.java

@@ -9,6 +9,7 @@ import com.cherry.sdk.controller.callback.OnScanListen;
 import com.cherry.sdk.controller.utils.ScanGunKeyEventHelper;
 import com.emato.ich.api.ICSPClient;
 import com.emato.ich.api.ICSPResponseCodeEnum;
+import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.crash.CrashApplication;
 import com.emato.ich.crash.UncaughtExceptionHandlerImpl;
 import com.emato.ich.device.DeviceControl;
@@ -20,6 +21,7 @@ import com.emato.ich.message.ICHPublishClient;
 import com.emato.ich.message.ICHSubscribeClient;
 import com.emato.ich.message.ICHTopic;
 import com.emato.ich.update.APKUpdateDownload;
+import com.emato.ich.update.OnDownloadListener;
 import com.emato.ich.utils.BaseUtils;
 import com.emato.ich.utils.Md5Utils;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -54,7 +56,10 @@ import org.eclipse.paho.client.mqttv3.IMqttMessageListener;
 import org.eclipse.paho.client.mqttv3.MqttMessage;
 import org.jetbrains.annotations.NotNull;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -104,12 +109,90 @@ public class MainActivity extends AppCompatActivity  {
                     (@NotNull Call call, @NotNull Response response) throws IOException {
 
                 try {
+                    OnDownloadListener listener = new OnDownloadListener() {
+
+                        @Override
+                        public void onDownloadSuccess(File file) {
+
+                        }
+
+                        @Override
+                        public void onDownloading(int progress) {
+
+                        }
+
+                        @Override
+                        public void onDownloadFailed(Exception e) {
+
+                        }
+                    };
                     String parseResponse = ICSPClient.isSuccessfulAndParseResponse(response);
                     ObjectMapper objectMapper = new ObjectMapper();
                     ResponseData<Map<String, String>> readValue = objectMapper.readValue(parseResponse, new TypeReference<ResponseData<Map<String, String>>>() {
                     });
                     if (null != readValue && readValue.getCode().equals(ICSPResponseCodeEnum.OK.getCode())) {
                         configMap.putAll(readValue.getData());
+                        String qrcode_url = configMap.get(SystemConfigConstant.cabinet_take_object_qrcode_url);
+
+                        try {
+                            ICSPClient.download(qrcode_url, new Callback() {
+                                @Override
+                                public void onFailure(@NotNull Call call, @NotNull IOException e) {
+
+                                }
+
+                                @Override
+                                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+                                    InputStream is = null;
+                                    byte[] buf = new byte[2048];
+                                    int len = 0;
+                                    FileOutputStream fos = null;
+                                    final String destFileDir = "res/drawable/";
+                                    String destFileName = "e_mp_qrcode_8x8.jpg";
+                                    //储存下载文件的目录
+                                    File dir = new File(getApplication().getFilesDir().getAbsolutePath() + "/" +destFileDir);
+                                    if (!dir.exists()) {
+                                        dir.mkdirs();
+                                    }
+//                destFileName = apk_url.substring(apk_url.lastIndexOf('/'), apk_url.length() - 1);
+                                    File file = new File(dir, destFileName);
+
+                                    try {
+
+                                        is = response.body().byteStream();
+                                        long total = response.body().contentLength();
+                                        fos = new FileOutputStream(file);
+                                        long sum = 0;
+                                        while ((len = is.read(buf)) != -1) {
+                                            fos.write(buf, 0, len);
+                                            sum += len;
+                                            int progress = (int) (sum * 1.0f / total * 100);
+                                            //下载中更新进度条
+                                            listener.onDownloading(progress);
+                                        }
+                                        fos.flush();
+                                        //下载完成
+                                        listener.onDownloadSuccess(file);
+                                    } catch (Exception e) {
+                                        listener.onDownloadFailed(e);
+                                    }finally {
+                                        try {
+                                            if (is != null) {
+                                                is.close();
+                                            }
+                                            if (fos != null) {
+                                                fos.close();
+                                            }
+                                        } catch (IOException e) {
+
+                                        }
+
+                                    }
+                                }
+                            }, listener);
+                        } catch (Exception e) {
+
+                        }
                         Log.i(TAG, "onResponse: 获取系统配置成功! ");
                     } else {
                         Log.w(TAG, "onResponse: code==>" + readValue.getCode() + ", msg==>" + readValue.getMsg());

+ 1 - 1
app/src/main/java/com/emato/ich/api/ICSPConstant.java

@@ -5,5 +5,5 @@ public class ICSPConstant {
     public static final String ICSP_SERVICE = "http://68rfyvi.nat.ipyingshe.com";
 //    public static final String ICSP_SERVICE = "http://icsp-testend.ds-bay.com";
 
-    public static final String MQTT_SERVER_ADDRESS = "tcp://183.3.221.143:1883";
+    public static final String MQTT_SERVER_ADDRESS = "tcp://8.135.102.238:1883";
 }

+ 2 - 0
app/src/main/java/com/emato/ich/api/SystemConfigConstant.java

@@ -7,5 +7,7 @@ public class SystemConfigConstant {
 
     public static final String cabinet_take_object_reopen_time = "cabinet_take_object_reopen_time";
 
+    public static final String cabinet_take_object_qrcode_url = "cabinet_take_object_qrcode_url";
+
 
 }

+ 29 - 0
app/src/main/java/com/emato/ich/fragment/MainFragment.java

@@ -1,5 +1,6 @@
 package com.emato.ich.fragment;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -9,9 +10,15 @@ import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 import androidx.navigation.fragment.NavHostFragment;
 
+import com.emato.ich.MainActivity;
 import com.emato.ich.R;
+import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.databinding.FragmentMainBinding;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
 public class MainFragment extends Fragment {
 
     private FragmentMainBinding binding;
@@ -29,6 +36,28 @@ public class MainFragment extends Fragment {
 
     public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
+        MainActivity activity = (MainActivity) getActivity();
+        String url = activity.getConfigMap().get(SystemConfigConstant.cabinet_take_object_qrcode_url);
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    InputStream is = (InputStream) new URL(url).getContent();
+                    final Drawable d = Drawable.createFromStream(is, "src");
+                    is.close();
+                    activity.runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            binding.fastTakeSend.setBackground(d);
+                        }
+                    });
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }).start();
+
         // 投递页面跳转
         binding.sendBtn.setOnClickListener(view12 -> NavHostFragment.findNavController(MainFragment.this)
                 .navigate(R.id.action_mainFragment_to_sendFragment));

+ 26 - 3
app/src/main/java/com/emato/ich/fragment/TakeCodeFragment.java

@@ -1,5 +1,6 @@
 package com.emato.ich.fragment;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.text.Editable;
 import android.util.Log;
@@ -17,11 +18,10 @@ import com.emato.ich.MainActivity;
 import com.emato.ich.R;
 import com.emato.ich.api.ICSPClient;
 import com.emato.ich.api.ICSPResponseCodeEnum;
+import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.databinding.FragmentTakeCodeBinding;
-import com.emato.ich.device.DeviceControl;
 import com.emato.ich.entity.vo.ResponseData;
 import com.emato.ich.entity.vo.TakeParcelVo;
-import com.emato.ich.local.LocalStorage;
 import com.emato.ich.utils.BaseUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
@@ -31,7 +31,8 @@ import com.google.android.material.snackbar.Snackbar;
 import org.jetbrains.annotations.NotNull;
 
 import java.io.IOException;
-import java.util.Arrays;
+import java.io.InputStream;
+import java.net.URL;
 
 import okhttp3.Call;
 import okhttp3.Callback;
@@ -58,6 +59,28 @@ public class TakeCodeFragment extends Fragment {
     public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
+//        binding.textView.setBackgroundResource(R.drawable.e_mp_qrcode_8x8_backup);
+        MainActivity activity = (MainActivity) getActivity();
+        String url = activity.getConfigMap().get(SystemConfigConstant.cabinet_take_object_qrcode_url);
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    InputStream is = (InputStream) new URL(url).getContent();
+                    final Drawable d = Drawable.createFromStream(is, "src");
+                    is.close();
+                    activity.runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            binding.textView.setBackground(d);
+                        }
+                    });
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }).start();
         // 选中输入框
 //        binding.editTextTextPersonName6.requestFocus();
 

+ 28 - 0
app/src/main/java/com/emato/ich/fragment/TakeFragment.java

@@ -1,5 +1,6 @@
 package com.emato.ich.fragment;
 
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -10,11 +11,17 @@ import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 import androidx.navigation.fragment.NavHostFragment;
 
+import com.emato.ich.MainActivity;
 import com.emato.ich.R;
+import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.databinding.FragmentTakeBinding;
 
 import org.jetbrains.annotations.NotNull;
 
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
 /**
  * 取件提示页面
  */
@@ -34,6 +41,27 @@ public class TakeFragment extends Fragment {
     public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
+        MainActivity activity = (MainActivity) getActivity();
+        String url = activity.getConfigMap().get(SystemConfigConstant.cabinet_take_object_qrcode_url);
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    InputStream is = (InputStream) new URL(url).getContent();
+                    final Drawable d = Drawable.createFromStream(is, "src");
+                    is.close();
+                    activity.runOnUiThread(new Runnable() {
+                        @Override
+                        public void run() {
+                            binding.textView.setBackground(d);
+                        }
+                    });
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }).start();
         // TODO 对接微信
 
         // 跳转输入取件码

+ 1 - 1
app/src/main/java/com/emato/ich/local/LocalStorage.java

@@ -79,7 +79,7 @@ public class LocalStorage {
         }
 
         public void setToken(String token) {
-            this.token = token;
+            this.token = token.replace("\n", "").trim();
         }
 
         public long getTime() {

+ 0 - 0
app/src/main/res/drawable/e_mp_qrcode_8x8.jpg → app/src/main/res/drawable/e_mp_qrcode_8x8_backup.jpg


+ 1 - 1
app/src/main/res/layout/fragment_main.xml

@@ -46,7 +46,7 @@
         android:layout_height="460dp"
         android:layout_x="573dp"
         android:layout_y="1055dp"
-        android:background="@drawable/e_mp_qrcode_8x8" />
+        android:background="@drawable/e_mp_qrcode_8x8_backup" />
 
 
 </AbsoluteLayout>

+ 1 - 1
app/src/main/res/layout/fragment_take.xml

@@ -61,6 +61,6 @@
         android:layout_height="460dp"
         android:layout_x="53dp"
         android:layout_y="1057dp"
-        android:background="@drawable/e_mp_qrcode_8x8" />
+        android:background="@drawable/e_mp_qrcode_8x8_backup" />
 
 </AbsoluteLayout>

+ 1 - 1
app/src/main/res/layout/fragment_take_code.xml

@@ -32,7 +32,7 @@
         android:layout_height="460dp"
         android:layout_x="48dp"
         android:layout_y="1029dp"
-        android:background="@drawable/e_mp_qrcode_8x8" />
+        android:background="@drawable/e_mp_qrcode_8x8_backup" />
 
     <Button
         android:id="@+id/take_input_button_cancel"