xiongzhu 7 лет назад
Родитель
Сommit
688ffe80b4

+ 8 - 8
app/src/main/AndroidManifest.xml

@@ -252,14 +252,14 @@
             android:theme="@style/ThemeScreen"
             android:windowSoftInputMode="adjustPan|stateHidden" />
 
-        <!-- <receiver android:name=".receiver.VChatReceiver"> -->
-        <!-- <intent-filter> -->
-        <!-- <action android:name="android.chmo.action.CALL"/> -->
-        <!-- <action android:name="android.chmo.action.INCOMING"/> -->
-        <!-- <action android:name="android.chmo.action.BEGIN_VIDEO"/> -->
-        <!-- <action android:name="android.chmo.action.END_VIDEO"/> -->
-        <!-- </intent-filter> -->
-        <!-- </receiver> -->
+        <receiver android:name=".receiver.VChatReceiver">
+            <intent-filter>
+                <action android:name="android.chmo.action.CALL" />
+                <action android:name="android.chmo.action.INCOMING" />
+                <action android:name="android.chmo.action.BEGIN_VIDEO" />
+                <action android:name="android.chmo.action.END_VIDEO" />
+            </intent-filter>
+        </receiver>
 
 
         <!-- 支付宝 -->

+ 1 - 1
app/src/main/java/com/android/chmo/app/ChmoApplication.java

@@ -84,7 +84,7 @@ public class ChmoApplication extends BaseApplication {
         filter.addAction("android.chmo.action.BEGIN_VIDEO");
         filter.addAction("android.chmo.action.END_VIDEO");
         VChatReceiver receiver = new VChatReceiver();
-        registerReceiver(receiver, filter);
+//        registerReceiver(receiver, filter);
     }
 
     public static ChmoApplication getApp() {

+ 2 - 1
app/src/main/java/com/android/chmo/http/HttpApi.java

@@ -13,7 +13,8 @@ import org.xutils.x;
  */
 
 public class HttpApi {
-    public static final String BASE_URL = "http://app.chmo.net/thmodel/";
+        public static final String BASE_URL = "http://app.chmo.net/thmodel/";
+//    public static final String BASE_URL = "http://192.168.50.132:8081/";
 
     public static String getImgUrl(String path) {
         if (TextUtils.isEmpty(path) || path.startsWith("http://")) {

+ 1 - 1
app/src/main/java/com/android/chmo/receiver/VChatReceiver.java

@@ -23,7 +23,7 @@ public class VChatReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
-        Log.d("xxxxx", "zzzzz");
+        Log.d("VChatReceiver", action);
         if (action.equals("android.chmo.action.INCOMING")) { // 接收到视频
             AVChatData data = (AVChatData) intent.getSerializableExtra("data");
             String name = intent.getStringExtra("name");

+ 20 - 20
app/src/main/java/com/android/chmo/ui/activity/WelcomeActivity.java

@@ -1,5 +1,8 @@
 package com.android.chmo.ui.activity;
 
+import android.os.Handler;
+import android.view.MotionEvent;
+import android.view.View;
 import android.widget.ImageView;
 
 import com.android.chmo.R;
@@ -14,6 +17,7 @@ import java.util.TimerTask;
 
 import butterknife.BindView;
 import butterknife.OnClick;
+import butterknife.OnTouch;
 
 /**
  * Created by Administrator on 2018/7/31.
@@ -23,6 +27,8 @@ public class WelcomeActivity extends BaseActivity {
     @BindView(R.id.image)
     ImageView imageView;
     private Runnable runnable;
+    private Handler  handler;
+    private boolean  start;
 
     @Override
     protected int getContentResId() {
@@ -31,28 +37,21 @@ public class WelcomeActivity extends BaseActivity {
 
     @Override
     public void initView() {
-        runnable = () -> {
-            ChmoApplication.isInit = true;
-            if (SpManager.getInstance().getBoolean("appStarted")) {
-                LoginUser user = ChmoApplication.getApp().getLoginUser();
-                if (null != user) {
-                    IMManager.login();
-                    openPage(MainActivity.class);
-                } else {
-                    openPage(LoginActivity.class);
-                }
-            } else {
-                openPage(GuideActivity.class);
-            }
+        handler = new Handler();
+        runnable = this::start;
+        handler.postDelayed(runnable, 4000);
+    }
 
-            finish();
-        };
-        imageView.postDelayed(runnable, ChmoApplication.isInit ? 100 : 1000);
+    @OnClick(R.id.fl_skip)
+    void OnClick() {
+        if (!start) {
+            handler.removeCallbacks(runnable);
+            start();
+            start = true;
+        }
     }
 
-    @OnClick(R.id.btn_skip)
-    void onClick() {
-        imageView.removeCallbacks(runnable);
+    private void start() {
         ChmoApplication.isInit = true;
         if (SpManager.getInstance().getBoolean("appStarted")) {
             LoginUser user = ChmoApplication.getApp().getLoginUser();
@@ -66,10 +65,11 @@ public class WelcomeActivity extends BaseActivity {
             openPage(GuideActivity.class);
         }
         finish();
+        overridePendingTransition(R.anim.push_right_in, R.anim.push_left_out);
     }
 
     @Override
     protected boolean hideNavigationBar() {
-        return true;
+        return false;
     }
 }

+ 9 - 9
app/src/main/java/com/android/chmo/ui/activity/activities/BannerInfoActivity.java

@@ -56,8 +56,8 @@ public class BannerInfoActivity extends BaseActivity {
             public void handleMessage(Message msg) {
                 if (msg.what == 0) {
                     showToast("加载失败");
-                }else {
-                    Bitmap bitmap = (Bitmap)msg.obj;
+                } else {
+                    Bitmap bitmap = (Bitmap) msg.obj;
                     imageView.setImage(bitmap);
                 }
                 hideLoading();
@@ -71,25 +71,25 @@ public class BannerInfoActivity extends BaseActivity {
                     String fileName = getFileName();
 
                     Bitmap bitmap = ImageUtils.getBitmap(getContext(), fileName);
-                    if(null != bitmap) {
+                    if (null != bitmap) {
                         Message msg = handler.obtainMessage(1);
                         msg.obj = bitmap;
                         handler.sendMessage(msg);
-                    }else {
+                    } else {
                         URL url = new URL(HttpApi.getImgUrl(banner.pic));
-                        InputStream inputStream=url.openStream();
+                        InputStream inputStream = url.openStream();
                         bitmap = BitmapFactory.decodeStream(inputStream);
                         Message msg = handler.obtainMessage(1);
                         msg.obj = bitmap;
                         handler.sendMessage(msg);
                         inputStream.close();
 
-                        ImageUtils.saveImage(getContext(),url.openStream(), fileName);
+                        ImageUtils.saveImage(getContext(), url.openStream(), fileName);
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
                     handler.sendEmptyMessage(0);
-                }catch (OutOfMemoryError e) {
+                } catch (OutOfMemoryError e) {
                     System.gc();
                     System.runFinalization();
                     handler.sendEmptyMessage(0);
@@ -101,11 +101,11 @@ public class BannerInfoActivity extends BaseActivity {
 
 
     private String getFileName() {
-        if(TextUtils.isEmpty(banner.pic)) {
+        if (TextUtils.isEmpty(banner.pic)) {
             return "";
         }
 
-        String fileName = banner.pic.substring(banner.pic.lastIndexOf("/")+1);
+        String fileName = banner.pic.substring(banner.pic.lastIndexOf("/") + 1);
         return fileName;
     }
 }

+ 75 - 48
app/src/main/java/com/android/chmo/ui/adpater/BrokerAdapter.java

@@ -3,6 +3,9 @@ package com.android.chmo.ui.adpater;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.util.TypedValue;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
@@ -18,26 +21,28 @@ import com.android.chmo.ui.activity.model.ModelDetailActivity;
 import com.android.chmo.utils.PixelUtils;
 import com.android.chmo.utils.XUtilsImage;
 
+import java.util.List;
+
 /**
  * Created by Administrator on 2018/8/1.
  */
 
 public class BrokerAdapter extends CommonAdapter<BrokerInfo> {
     private BaseActivity baseActivity;
-    private int imgWidth;
-    private int imgHeight;
+    private int          imgWidth;
+    private int          imgHeight;
 
 
     public BrokerAdapter(BaseActivity activity) {
         super(activity);
         baseActivity = activity;
-        imgWidth = PixelUtils.getWindowWidth() / 3-20;
-        imgHeight = (int)Math.round(1.34 * imgWidth) ;
+        imgWidth = PixelUtils.getWindowWidth() / 3 - 20;
+        imgHeight = (int) Math.round(1.34 * imgWidth);
         try {
             Bitmap bitmap = BitmapFactory.decodeResource(activity.getResources(), R.mipmap.def_img1);
             imgWidth = bitmap.getWidth();
             imgHeight = bitmap.getHeight();
-        }catch (OutOfMemoryError e){
+        } catch (OutOfMemoryError e) {
             System.runFinalization();
             System.gc();
         }
@@ -46,71 +51,93 @@ public class BrokerAdapter extends CommonAdapter<BrokerInfo> {
     @Override
     public View getItemView(int position, View convertView, ViewGroup parent) {
         ViewHolder holder = null;
-        if(null != convertView) {
+        if (null != convertView) {
             holder = (ViewHolder) convertView.getTag();
         }
         if (null == holder) {
             holder = new ViewHolder();
             convertView = mInflater.inflate(R.layout.list_broker_item, null);
-            holder.headImage = (ImageView) convertView.findViewById(R.id.head);
-            holder.nameView = (TextView) convertView.findViewById(R.id.name);
-            holder.modelCountView = (TextView) convertView.findViewById(R.id.model_count);
+            holder.headImage = convertView.findViewById(R.id.head);
+            holder.nameView = convertView.findViewById(R.id.name);
+            holder.modelCountView = convertView.findViewById(R.id.model_count);
             holder.brokerClick = convertView.findViewById(R.id.brokerClick);
-            holder.imgContainer = (LinearLayout) convertView.findViewById(R.id.imageContainer);
+            holder.rvPhotos = convertView.findViewById(R.id.rv_photos);
+            holder.rvPhotos.setLayoutManager(new LinearLayoutManager(baseActivity, LinearLayoutManager.HORIZONTAL, false));
             convertView.setTag(holder);
         }
 
         final BrokerInfo info = mList.get(position);
         holder.nameView.setText(info.name);
         holder.modelCountView.setText("模特" + info.modelcount + "人");
-        XUtilsImage.display(holder.headImage, HttpApi.getImgUrl(info.logo),R.mipmap.def_img3);
-        fillModelImages(holder, info);
-
-        holder.brokerClick.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(baseActivity, BrokerModelActivity.class);
-                intent.putExtra("broker", info);
-                baseActivity.openPage(intent);
-            }
+        XUtilsImage.display(holder.headImage, HttpApi.getImgUrl(info.logo), R.mipmap.def_img3);
+
+        photoAdapter adapter = new photoAdapter(info);
+        holder.rvPhotos.setAdapter(adapter);
+
+        holder.brokerClick.setOnClickListener(v -> {
+            Intent intent = new Intent(baseActivity, BrokerModelActivity.class);
+            intent.putExtra("broker", info);
+            baseActivity.openPage(intent);
         });
 
         return convertView;
     }
 
-    private void fillModelImages(ViewHolder holder, BrokerInfo info) {
-        holder.imgContainer.removeAllViews();
-        if(info.modelphoto == null) {
-            return;
+    private class ViewHolder {
+        ImageView    headImage;
+        TextView     nameView;
+        TextView     modelCountView;
+        View         brokerClick;
+        RecyclerView rvPhotos;
+    }
+
+    class photoHolder extends RecyclerView.ViewHolder {
+
+        public photoHolder(View itemView) {
+            super(itemView);
         }
-        for (int i=0; i < info.modelphoto.size(); i++) {
-            ImageView imageView = new ImageView(mContext);
-            imageView.setImageResource(R.mipmap.def_img1);
-            XUtilsImage.display(imageView, HttpApi.getImgUrl(info.modelphoto.get(i)), R.mipmap.def_img1);
-
-            LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(imgWidth,imgHeight);
-            lp.rightMargin = 10;
-            holder.imgContainer.addView(imageView,lp);
-
-            final String modelPk = info.photopk.get(i);
-            imageView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    Intent intent = new Intent(baseActivity, ModelDetailActivity.class);
-                    intent.putExtra("modelPk", modelPk);
-                    baseActivity.openPage(intent);
-                }
+    }
+
+    class photoAdapter extends RecyclerView.Adapter<photoHolder> {
+        private BrokerInfo data;
+
+        public void setData(BrokerInfo data) {
+            this.data = data;
+        }
+
+        public photoAdapter(BrokerInfo data) {
+            this.data = data;
+        }
+
+        @Override
+        public photoHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(imgWidth, imgHeight);
+            params.rightMargin = 10;
+            ImageView imageView = new ImageView(baseActivity);
+            imageView.setLayoutParams(params);
+            return new photoHolder(imageView);
+        }
+
+        @Override
+        public void onBindViewHolder(photoHolder holder, int position) {
+            ImageView imageView = (ImageView) holder.itemView;
+            XUtilsImage.display(imageView, HttpApi.getImgUrl(data.modelphoto.get(position)), R.mipmap.def_img1);
+            final String modelPk = data.photopk.get(position);
+            imageView.setOnClickListener(v -> {
+                Intent intent = new Intent(baseActivity, ModelDetailActivity.class);
+                intent.putExtra("modelPk", modelPk);
+                baseActivity.openPage(intent);
             });
         }
 
+        @Override
+        public int getItemCount() {
+            if (data != null) {
+                return data.modelphoto.size();
+            }
+            return 0;
+        }
     }
 
 
-    private class ViewHolder {
-        ImageView headImage;
-        TextView nameView;
-        TextView modelCountView;
-        View brokerClick;
-        LinearLayout imgContainer;
-    }
 }

+ 1 - 2
app/src/main/res/layout/activity_settings.xml

@@ -20,8 +20,7 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:padding="10dp">
+            android:orientation="vertical" >
 
             <LinearLayout
                 android:layout_width="match_parent"

+ 24 - 12
app/src/main/res/layout/activity_welcome.xml

@@ -23,18 +23,30 @@
         android:scaleType="centerInside"
         android:src="@mipmap/logo" />
 
-    <Button
-        android:id="@+id/btn_skip"
-        style="@style/Base.Widget.AppCompat.Button.Borderless"
-        android:layout_width="60dp"
-        android:layout_height="30dp"
+    <FrameLayout
+        android:id="@+id/fl_skip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
         android:layout_alignParentRight="true"
         android:layout_alignParentBottom="true"
-        android:layout_marginRight="30dp"
-        android:layout_marginBottom="20dp"
-        android:background="@drawable/bg_skip"
-        android:padding="0dp"
-        android:text="跳过"
-        android:textColor="#ffcccccc"
-        android:textSize="13sp" />
+        android:layout_marginRight="20dp"
+        android:layout_marginBottom="10dp"
+        android:clickable="true"
+        android:focusable="true"
+        android:focusableInTouchMode="false"
+        android:padding="10dp">
+
+        <TextView
+            android:id="@+id/btn_skip"
+            android:layout_width="60dp"
+            android:layout_height="30dp"
+            android:background="@drawable/bg_skip"
+            android:gravity="center"
+            android:padding="0dp"
+            android:text="跳过"
+            android:textColor="#ffcccccc"
+            android:textSize="13sp" />
+    </FrameLayout>
+
+
 </RelativeLayout>

+ 23 - 33
app/src/main/res/layout/list_broker_item.xml

@@ -1,53 +1,55 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="@color/white"
+    android:orientation="vertical"
     android:padding="15dp">
 
     <RelativeLayout
         android:id="@+id/brokerClick"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:foreground="@drawable/list_selector">
+        android:foreground="@drawable/list_selector"
+        android:orientation="horizontal">
+
         <ImageView
             android:id="@+id/head"
             android:layout_width="70dp"
             android:layout_height="70dp"
             android:scaleType="centerCrop"
-            android:src="@mipmap/def_img3"/>
+            android:src="@mipmap/def_img3" />
 
         <LinearLayout
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_toRightOf="@id/head"
-            android:layout_alignBottom="@id/head"
             android:layout_alignTop="@id/head"
-            android:orientation="vertical"
-            android:layout_marginLeft="15dp">
+            android:layout_alignBottom="@id/head"
+            android:layout_marginLeft="15dp"
+            android:layout_toRightOf="@id/head"
+            android:orientation="vertical">
+
             <TextView
                 android:id="@+id/name"
                 android:layout_width="wrap_content"
                 android:layout_height="0dp"
-                android:layout_weight="1"
                 android:layout_marginTop="5dp"
-                android:textColor="@color/black"
-                android:textSize="15sp"
+                android:layout_weight="1"
                 android:maxLines="1"
-                android:text="经纪公司名称"/>
+                android:text="经纪公司名称"
+                android:textColor="@color/black"
+                android:textSize="15sp" />
 
 
             <TextView
                 android:id="@+id/model_count"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:textColor="#666"
-                android:textSize="12sp"
-                android:text="模特0人"
+                android:layout_marginBottom="5dp"
                 android:maxLines="1"
-                android:layout_marginBottom="5dp"/>
+                android:text="模特0人"
+                android:textColor="#666"
+                android:textSize="12sp" />
         </LinearLayout>
 
         <ImageView
@@ -56,25 +58,13 @@
             android:layout_alignParentRight="true"
             android:layout_centerVertical="true"
             android:layout_marginTop="10dp"
-            android:src="@mipmap/arraw"/>
+            android:src="@mipmap/arraw" />
     </RelativeLayout>
 
-    <HorizontalScrollView
+    <android.support.v7.widget.RecyclerView
+        android:id="@+id/rv_photos"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:scrollbars="none"
-        android:layout_marginTop="12dp">
-
-        <LinearLayout
-            android:id="@+id/imageContainer"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="horizontal">
-            <ImageView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@mipmap/def_img1"
-                android:layout_marginRight="6dp"/>
-        </LinearLayout>
-    </HorizontalScrollView>
+        android:layout_marginTop="12dp"
+        android:scrollbars="none" />
 </LinearLayout>

+ 5 - 5
avchatkit/src/main/java/com/netease/nim/avchatkit/activity/AVChatActivity.java

@@ -383,11 +383,6 @@ public class AVChatActivity extends UI implements AVChatVideoUI.TouchZoneCallbac
             if (state == AVChatType.VIDEO.getValue()) {
                 avChatVideoUI.initLargeSurfaceView(account);
             }
-
-            // 已接通 通知到上层
-            Intent intent = new Intent("android.chmo.action.BEGIN_VIDEO");
-            intent.putExtra("account", account);
-            sendBroadcast(intent);
         }
 
         @Override
@@ -414,6 +409,11 @@ public class AVChatActivity extends UI implements AVChatVideoUI.TouchZoneCallbac
                 avChatVideoUI.showVideoInitLayout();
             }
             isCallEstablished = true;
+
+            // 已接通 通知到上层
+            Intent intent = new Intent("android.chmo.action.BEGIN_VIDEO");
+            intent.putExtra("account", avChatData != null ? avChatData.getAccount() : receiverId);
+            sendBroadcast(intent);
         }
 
         @Override