FANGLH 8 years ago
parent
commit
6afcebedd0

+ 15 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -80,6 +80,7 @@ import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.DisplayUtil;
 import com.xzjmyk.pm.activity.util.PermissionUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
+import com.xzjmyk.pm.activity.util.QSearchPpwindowUtils;
 import com.xzjmyk.pm.activity.util.TimeUtils;
 import com.xzjmyk.pm.activity.view.DivideRadioGroup;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
@@ -603,7 +604,20 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         }
         handler.post(runnable);
 
+        hiQuickSearch();
     }
+
+    private void hiQuickSearch() {
+        if (CommonUtil.isReleaseVersion()) return;
+        if (MainActivity.class == null) return;
+        handler.postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                QSearchPpwindowUtils.qSearchWindows(MainActivity.this);
+            }
+        },4000);
+    }
+
     public class MyRunnable implements Runnable {
 
         @Override
@@ -676,6 +690,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         });
     }
 
+
     /**
      * 设置页面的透明度
      * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
@@ -838,9 +853,6 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
     @Override
     protected void onStop() {
         super.onStop();
-        saveOfflineTime();
-
-
     }
 
     private void saveOfflineTime() {

+ 112 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/QSearchPpwindowUtils.java

@@ -0,0 +1,112 @@
+package com.xzjmyk.pm.activity.util;
+
+import android.app.Activity;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.PopupWindow;
+import android.widget.Toast;
+
+import com.iflytek.cloud.RecognizerResult;
+import com.iflytek.cloud.SpeechError;
+import com.iflytek.cloud.ui.RecognizerDialogListener;
+import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
+import com.xzjmyk.pm.activity.audio.voicerecognition.JsonParser;
+import com.xzjmyk.pm.activity.ui.erp.util.CommonUtil;
+import com.xzjmyk.pm.activity.ui.erp.util.oa.RecognizerDialogUtil;
+
+/**
+ * Created by FANGlh on 2017/8/4.
+ * function:
+ */
+
+public class QSearchPpwindowUtils{
+
+    public QSearchPpwindowUtils() {
+    }
+
+    public static void qSearchWindows(final Activity activity){
+        final boolean[] isqSearch = {true};
+        View contentView = LayoutInflater.from(activity).inflate(R.layout.judge_qsearch_window, null);
+        DisplayMetrics dm = MyApplication.getInstance().getResources().getDisplayMetrics();
+        int w_screen = dm.widthPixels;
+        int h_screen = dm.heightPixels;
+        w_screen = DisplayUtil.dip2px(activity, 250);
+        h_screen = DisplayUtil.dip2px(activity, 100);
+        final PopupWindow  popupWindow = new PopupWindow(contentView, w_screen, h_screen, true);
+        popupWindow.setTouchable(true);
+        popupWindow.setOutsideTouchable(false);
+        // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框
+        popupWindow.setBackgroundDrawable( MyApplication.getInstance().getResources().getDrawable(R.drawable.pop_round_bg));
+        // 设置好参数之后再show
+        popupWindow.showAtLocation(contentView, Gravity.CENTER, 0, 0);
+        setbg(activity,popupWindow,0.4f);
+        contentView.findViewById(R.id.no_tv).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                popupWindow.dismiss();  //不进行快速搜索
+                isqSearch[0] = false;
+            }
+        });
+        new android.os.Handler().postDelayed(new Runnable() {
+            @Override
+            public void run() {
+                if (isqSearch[0]){
+                    RecognizerDialogUtil.showRecognizerDialog(activity,new RecognizerDialogListener() {
+                        @Override
+                        public void onResult(RecognizerResult recognizerResult, boolean b) {
+                            String text = JsonParser.parseIatResult(recognizerResult.getResultString());
+                            if (!StringUtils.isEmpty(text)){
+                                handlerQSearch(activity,CommonUtil.getPlaintext(text));  //处理好的语音进行刷选判断逻辑
+                            }
+                        }
+                        @Override
+                        public void onError(SpeechError speechError) {}
+                    });
+                    popupWindow.dismiss();
+                }
+            }
+        },6000);
+    }
+
+    private static void handlerQSearch(Activity activity,String text) {
+        Toast.makeText(activity,text,Toast.LENGTH_LONG).show();
+        Log.i("handlerQSearch",text+"");
+
+        if (text.contains("预约")){
+
+        }
+    }
+
+    private  static void setbg(final Activity activity , PopupWindow popupWindow, float alpha) {
+        setBackgroundAlpha(activity, alpha);
+        if (popupWindow == null) return;
+        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                setBackgroundAlpha(activity, 1f);
+            }
+        });
+    }
+
+    /**
+     * 设置页面的透明度
+     * 兼容华为手机(在个别华为手机上 设置透明度会不成功)
+     *
+     * @param bgAlpha 透明度   1表示不透明
+     */
+    public static void setBackgroundAlpha(Activity activity, float bgAlpha) {
+        WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
+        lp.alpha = bgAlpha;
+        if (bgAlpha == 1) {
+            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//不移除该Flag的话,在有视频的页面上的视频会出现黑屏的bug
+        } else {
+            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);//此行代码主要是解决在华为手机上半透明效果无效的bug
+        }
+        activity.getWindow().setAttributes(lp);
+    }
+}

+ 41 - 0
WeiChat/src/main/res/layout/judge_qsearch_window.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="250dp"
+    android:layout_height="100dp"
+    android:orientation="vertical"
+    android:layout_gravity="center"
+    android:background="@drawable/pop_round_bg">
+
+
+   <!-- <TextView
+        android:padding="5dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:text="即将进行语音快速搜索,请在语音框出来后说中文"
+        android:textColor="@color/black"
+        android:textSize="15sp"/>-->
+    <TextView
+        android:padding="5dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:text="即将进行语音快速搜索,请在语音框出来后说“预约” "
+        android:textColor="@color/black"
+        android:textSize="15sp"/>
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="0.3dp"
+        android:background="@color/button_invalid"/>
+    <TextView
+        android:id="@+id/no_tv"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="2"
+        android:gravity="center"
+        android:textColor="@color/blue"
+        android:text="下次进入再说"
+        android:minHeight="45dp"
+        android:textSize="15sp"/>
+
+</LinearLayout>