Sfoglia il codice sorgente

Merge branch 'master' of lhm/ich-android into master

李慧明 3 anni fa
parent
commit
815a27dbf1

+ 13 - 0
app/src/main/java/com/emato/ich/api/ICSPClient.java

@@ -172,6 +172,19 @@ public class ICSPClient {
 
     }
 
+    /**
+     * 请求图片
+     * @param url               url
+     * @param callback          回调
+     */
+    public static void getWeChatMPImage(final String url, Callback callback){
+
+        Request request = getRequest(url, "");
+
+        client.newCall(request).enqueue(callback);
+
+    }
+
 
     public static String isSuccessfulAndParseResponse(Response response) {
 

+ 31 - 19
app/src/main/java/com/emato/ich/fragment/MainFragment.java

@@ -2,6 +2,7 @@ package com.emato.ich.fragment;
 
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -12,15 +13,24 @@ import androidx.navigation.fragment.NavHostFragment;
 
 import com.emato.ich.MainActivity;
 import com.emato.ich.R;
+import com.emato.ich.api.ICSPClient;
 import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.databinding.FragmentMainBinding;
+import com.emato.ich.utils.StringUtils;
+
+import org.jetbrains.annotations.NotNull;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.Response;
+
 public class MainFragment extends Fragment {
 
+    private static final String TAG = MainFragment.class.getName();
     private FragmentMainBinding binding;
 
     @Override
@@ -39,26 +49,28 @@ public class MainFragment extends Fragment {
         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();
-                    if (null != d) {
-                        activity.runOnUiThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                binding.fastTakeSend.setBackground(d);
-                            }
-                        });
-                    }
-                } catch (IOException e) {
-                    e.printStackTrace();
+        if (getActivity() != null && activity.getConfigMap().size() > 0 && !StringUtils.isNullOrEmpty(url)) {
+            ICSPClient.getWeChatMPImage(url, new Callback() {
+                @Override
+                public void onFailure(@NotNull Call call, @NotNull IOException e) {
+                    Log.e(TAG, "onFailure: 请求微信公众号图片错误! 网络异常! ", e);
+                }
+
+                @Override
+                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+                    getActivity().runOnUiThread(() -> {
+                        try {
+                            InputStream is = response.body().byteStream();
+                            final Drawable d = Drawable.createFromStream(is, "src");
+                            binding.fastTakeSend.setBackground(d);
+                            is.close();
+                        } catch (Exception e) {
+                            Log.e(TAG, "onResponse: 设置图片异常! ", e);
+                        }
+                    });
                 }
-            }
-        }).start();
+            });
+        }
 
         // 投递页面跳转
         binding.sendBtn.setOnClickListener(view12 -> NavHostFragment.findNavController(MainFragment.this)

+ 21 - 14
app/src/main/java/com/emato/ich/fragment/TakeCodeFragment.java

@@ -24,6 +24,7 @@ import com.emato.ich.entity.vo.PreparedOrderResponseVo;
 import com.emato.ich.entity.vo.ResponseData;
 import com.emato.ich.entity.vo.TakeParcelVo;
 import com.emato.ich.utils.BaseUtils;
+import com.emato.ich.utils.StringUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -66,24 +67,29 @@ public class TakeCodeFragment extends Fragment {
         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() {
+        if (getActivity() != null && activity.getConfigMap().size() > 0 && !StringUtils.isNullOrEmpty(url)) {
+            ICSPClient.getWeChatMPImage(url, new Callback() {
+                @Override
+                public void onFailure(@NotNull Call call, @NotNull IOException e) {
+                    Log.e(TAG, "onFailure: 请求微信公众号图片错误! 网络异常! ", e);
+                }
+
+                @Override
+                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+                    getActivity().runOnUiThread(() -> {
+                        try {
+                            InputStream is = response.body().byteStream();
+                            final Drawable d = Drawable.createFromStream(is, "src");
                             binding.textView.setBackground(d);
+                            is.close();
+                        } catch (Exception e) {
+                            Log.e(TAG, "onResponse: 设置图片异常! ", e);
                         }
                     });
-                } catch (IOException e) {
-                    e.printStackTrace();
                 }
-            }
-        }).start();
+            });
+        }
+
         // 选中输入框
 //        binding.editTextTextPersonName6.requestFocus();
 
@@ -199,6 +205,7 @@ public class TakeCodeFragment extends Fragment {
         });
         binding.returnBtn.setOnClickListener(view1 -> NavHostFragment.findNavController(TakeCodeFragment.this)
         .navigate(R.id.action_takeCodeFragment_to_takeFragment));
+        binding.editTextTextPersonName6.requestFocus();
     }
 
     @Override

+ 27 - 14
app/src/main/java/com/emato/ich/fragment/TakeFragment.java

@@ -2,6 +2,7 @@ package com.emato.ich.fragment;
 
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -13,8 +14,10 @@ import androidx.navigation.fragment.NavHostFragment;
 
 import com.emato.ich.MainActivity;
 import com.emato.ich.R;
+import com.emato.ich.api.ICSPClient;
 import com.emato.ich.api.SystemConfigConstant;
 import com.emato.ich.databinding.FragmentTakeBinding;
+import com.emato.ich.utils.StringUtils;
 
 import org.jetbrains.annotations.NotNull;
 
@@ -22,11 +25,16 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 
+import okhttp3.Call;
+import okhttp3.Callback;
+import okhttp3.Response;
+
 /**
  * 取件提示页面
  */
 public class TakeFragment extends Fragment {
 
+    private static final String TAG = TakeFragment.class.getName();
     private FragmentTakeBinding binding;
 
     @Nullable
@@ -44,24 +52,29 @@ public class TakeFragment extends Fragment {
         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() {
+        if (getActivity() != null && activity.getConfigMap().size() > 0 && !StringUtils.isNullOrEmpty(url)) {
+            ICSPClient.getWeChatMPImage(url, new Callback() {
+                @Override
+                public void onFailure(@NotNull Call call, @NotNull IOException e) {
+                    Log.e(TAG, "onFailure: 请求微信公众号图片错误! 网络异常! ", e);
+                }
+
+                @Override
+                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+                    getActivity().runOnUiThread(() -> {
+                        try {
+                            InputStream is = response.body().byteStream();
+                            final Drawable d = Drawable.createFromStream(is, "src");
                             binding.textView.setBackground(d);
+                            is.close();
+                        } catch (Exception e) {
+                            Log.e(TAG, "onResponse: 设置图片异常! ", e);
                         }
                     });
-                } catch (IOException e) {
-                    e.printStackTrace();
                 }
-            }
-        }).start();
+            });
+        }
+
         // TODO 对接微信
 
         // 跳转输入取件码

BIN
app/src/main/res/drawable/top_image2.jpg


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

@@ -32,7 +32,7 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintStart_toStartOf="parent"
-        app:srcCompat="@drawable/top_image"
+        app:srcCompat="@drawable/top_image2"
         tools:ignore="MissingConstraints"
         tools:layout_editor_absoluteY="0dp" />
 </androidx.constraintlayout.widget.ConstraintLayout>