Bladeren bron

添加新的bean包的不混淆配置,保证打包后的应用正常运行

zengjiebin 7 jaren geleden
bovenliggende
commit
4ae08b6fe7

+ 1 - 0
app/proguard-rules.pro

@@ -152,6 +152,7 @@
 -keep class com.kfzs.duanduan.bean.** { *; }
 -keep class com.kfzs.duanduan.proto.** { *; }
 -keep class com.sheep.gamegroup.model.** { *; }
+-keep class com.sheep.jiuyan.samllsheep.bean.** { *; }
 -keep class com.sheep.gamegroup.greendao.** { *; }
 -keep class com.jcodecraeer.** { *; }
 -keep class com.sheep.jiuyan.samllsheep.service.DownloadService { *; }

+ 3 - 7
app/src/main/AndroidManifest.xml

@@ -646,6 +646,9 @@
             android:name="com.sheep.gamegroup.view.activity.ActGameAccount"
             android:screenOrientation="portrait" />
         <activity
+            android:name="com.sheep.gamegroup.view.activity.ActSearchAppOrTask"
+            android:screenOrientation="portrait" />
+        <activity
             android:name="com.sheep.gamegroup.view.activity.ActSearchGame"
             android:screenOrientation="portrait" />
         <activity
@@ -759,13 +762,6 @@
             android:name="com.youmi.android.offerdemo.YoumiOffersAdsDemo"
             android:screenOrientation="portrait" />
         <!-- end 有米科技 -->
-        <!-- 搜索界面 -->
-        <activity
-            android:name=".ui.activity.SearchActivity"
-            android:configChanges="orientation|keyboardHidden|screenSize"
-            android:screenOrientation="portrait"
-            android:theme="@style/AppTheme.NoTitleBar.AlphaStatusBar"
-            android:windowSoftInputMode="stateHidden" />
         <!-- 签到 -->
         <activity
             android:name=".ui.activity.SignActivity"

+ 10 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -73,6 +73,7 @@ import com.sheep.gamegroup.view.activity.ActPlayGameRecommendList;
 import com.sheep.gamegroup.view.activity.ActPlayGameUserLikeList;
 import com.sheep.gamegroup.view.activity.ActReservation;
 import com.sheep.gamegroup.view.activity.ActSearchApp;
+import com.sheep.gamegroup.view.activity.ActSearchAppOrTask;
 import com.sheep.gamegroup.view.activity.ActSearchGame;
 import com.sheep.gamegroup.view.activity.ActSetting;
 import com.sheep.gamegroup.view.activity.ActSignCard;
@@ -159,6 +160,7 @@ import static com.sheep.gamegroup.util.UMConfigUtils.Event.GIFT_DETAIL;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.MI_DONG_VIEW;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.RECHARGE_QQ;
+import static com.sheep.gamegroup.util.UMConfigUtils.Event.SEARCH_APP_OR_TASK;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.SEARCH_GAME;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.SETTING;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.SYSTEM_NOTIFICATION_DETAIL;
@@ -1690,6 +1692,14 @@ public class Jump2View {
     }
 
     /**
+     * 3.4 新的搜索(游戏与任务)
+     */
+    public void goAppTaskSearch(Activity activity, Object o) {
+        Intent intent = new Intent(activity, ActSearchAppOrTask.class);
+        activity.startActivity(intent);
+        SEARCH_APP_OR_TASK.onEvent();
+    }
+    /**
      * 新的游戏搜索
      */
     public void goAppSearch(Activity activity, Object o) {

+ 1 - 0
app/src/main/java/com/sheep/gamegroup/util/UMConfigUtils.java

@@ -184,6 +184,7 @@ public class UMConfigUtils {
         SHARE_TO_QZONE("分享到QQ空间"),
         TASK_SAVE_QR("二维码小程序 -> 保存二维码"),
         EXCHANGE_CMCC("移动积分兑换界面"),
+        SEARCH_APP_OR_TASK("从主页进入搜索游戏或任务的搜索界面"),
         ;
         private String tag;
 

+ 221 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActSearchAppOrTask.java

@@ -0,0 +1,221 @@
+package com.sheep.gamegroup.view.activity;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
+import android.support.v7.widget.AppCompatAutoCompleteTextView;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.KeyEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.inputmethod.EditorInfo;
+import android.widget.AdapterView;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+
+import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.model.entity.SearchAppRecord;
+import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.MyDbManager;
+import com.sheep.gamegroup.util.ViewUtil;
+import com.sheep.gamegroup.view.adapter.ArrayAdapter;
+import com.sheep.gamegroup.view.fragment.FgtSearchApp;
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by realicing on 2018/9/13.
+ * realicing@sina.com
+ */
+public class ActSearchAppOrTask extends BaseActivity {
+    @BindView(R.id.title_search_input)
+    AppCompatAutoCompleteTextView title_search_input;
+    @BindView(R.id.search_app_list)
+    ListView search_app_list;
+    @BindView(R.id.frame_container)
+    View frame_container;
+    @BindView(R.id.title_search_commit)
+    TextView title_search_commit;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.act_search_app;
+    }
+
+    private FgtSearchApp fgtSearchApp;
+
+    @Override
+    public void initView() {
+        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
+        Bundle bundle = new Bundle();
+        Fragment fragment = getSupportFragmentManager().findFragmentByTag("tag");
+        if (fragment == null) {
+            fragment = new FgtSearchApp();
+            fragment.setArguments(bundle);
+            transaction.add(R.id.frame_container, fragment, "tag");
+            transaction.commitAllowingStateLoss();
+        } else {
+            fragment.setArguments(bundle);
+            transaction.replace(R.id.frame_container, fragment);
+            transaction.commitAllowingStateLoss();
+        }
+        if (fgtSearchApp == null && fragment instanceof FgtSearchApp)
+            fgtSearchApp = (FgtSearchApp) fragment;
+        inputAdapter = new ArrayAdapter<SearchAppRecord>(SheepApp.getInstance(), R.layout.item_serach_record, searchRecordList){
+            @Override
+            public boolean convert(int position, View view, ViewGroup parent, final SearchAppRecord item) {
+                TextView item_search_record_name = (TextView)view.findViewById(R.id.item_search_record_name);
+                ImageView item_search_record_x = (ImageView)view.findViewById(R.id.item_search_record_x);
+                ViewUtil.setText(item_search_record_name, item.getInput());
+                item_search_record_x.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View view) {
+                        searchRecordMap.remove(item.getInput());
+                        allSearchRecordList.remove(item);
+                        searchRecordList.clear();
+                        ListUtil.addAll(searchRecordList, allSearchRecordList, 10);
+                        inputAdapter.notifyDataSetChanged();
+                        MyDbManager.getInstance().hideSearchApp(item);
+                        if(searchRecordList.isEmpty()){
+                            frame_container.setVisibility(View.VISIBLE);
+                            search_app_list.setVisibility(View.INVISIBLE);
+                        }
+                    }
+                });
+                return true;
+            }
+        };
+        search_app_list.setAdapter(inputAdapter);
+    }
+
+    private ArrayAdapter<SearchAppRecord> inputAdapter;
+
+    @Override
+    public void initListener() {
+        search_app_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+            @Override
+            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
+                SearchAppRecord item = ListUtil.getItem(searchRecordList, position);
+                if(item != null){
+                    title_search_input.setText(item.getInput());
+                    title_search_input.setSelection(item.getInput().length());
+                }
+            }
+        });
+        title_search_input.setOnEditorActionListener(new TextView.OnEditorActionListener() {
+            @Override
+            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+                if (actionId == EditorInfo.IME_ACTION_SEARCH) {
+                    title_search_commit.performClick();
+                }
+                return false;
+            }
+        });
+        title_search_input.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
+            }
+
+            @Override
+            public void afterTextChanged(Editable editable) {
+                title_search_input.removeCallbacks(autoSearchRunnable);
+                if(editable.toString().isEmpty() && !searchRecordList.isEmpty()){//输入框内容为空且有搜索记录时显示搜索记录
+                    search_app_list.setVisibility(View.VISIBLE);
+                    frame_container.setVisibility(View.INVISIBLE);
+                } else {
+                    title_search_input.postDelayed(autoSearchRunnable, 1000L);//1秒后自动搜索
+                }
+            }
+        });
+    }
+
+    private Runnable autoSearchRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if(title_search_commit != null)
+                title_search_commit.performClick();
+        }
+    };
+    private Comparator<SearchAppRecord> comparator = new Comparator<SearchAppRecord>() {
+        @Override
+        public int compare(SearchAppRecord item1, SearchAppRecord item2) {
+            return item2.getCount() - item1.getCount();
+        }
+    };
+    @Override
+    public void initData() {
+        //初始化搜索历史
+        List<SearchAppRecord> newSgrList = MyDbManager.getInstance().getAllSearchAppRecord();
+        ListUtil.addAll(allSearchRecordList, newSgrList);
+        Collections.sort(allSearchRecordList, comparator);
+        ListUtil.addAll(searchRecordList, allSearchRecordList, 10);
+        for (SearchAppRecord item : allSearchRecordList) {
+            searchRecordMap.put(item.getInput(), item);
+        }
+        inputAdapter.notifyDataSetChanged();
+        if(searchRecordList.isEmpty()) {
+            frame_container.setVisibility(View.VISIBLE);
+            search_app_list.setVisibility(View.INVISIBLE);
+        } else {
+            frame_container.setVisibility(View.INVISIBLE);
+            search_app_list.setVisibility(View.VISIBLE);
+        }
+    }
+
+    @OnClick({R.id.title_search_commit, R.id.title_img_back})
+    public void onViewClicked(View view) {
+        switch (view.getId()) {
+            case R.id.title_search_commit:
+                toSearchApp();
+                break;
+            case R.id.title_img_back:
+                finish();
+                break;
+        }
+    }
+
+    List<SearchAppRecord> searchRecordList = new ArrayList<>();
+    List<SearchAppRecord> allSearchRecordList = new ArrayList<>();
+    Map<String, SearchAppRecord> searchRecordMap = new HashMap<>();
+
+    //尝试搜索游戏
+    private void toSearchApp() {
+        search_app_list.setVisibility(View.INVISIBLE);
+        frame_container.setVisibility(View.VISIBLE);
+        String inputText = title_search_input.getText().toString();
+        if (!TextUtils.isEmpty(inputText)) {
+            //保存搜索到数据库
+            SearchAppRecord searchRecord = searchRecordMap.get(inputText);
+            if(searchRecord == null) {
+                searchRecord = new SearchAppRecord();
+                searchRecord.setInput(inputText);
+                searchRecordList.add(searchRecord);
+                allSearchRecordList.add(searchRecord);
+                searchRecordMap.put(inputText, searchRecord);
+            }
+            searchRecord.setTime(System.currentTimeMillis());
+            searchRecord.addCount();
+            MyDbManager.getInstance().saveOrUpdate(searchRecord);
+            inputAdapter.notifyDataSetChanged();
+        }
+        fgtSearchApp.toSearch(inputText);
+    }
+}

+ 5 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/FeedbackAct.java

@@ -2,6 +2,7 @@ package com.sheep.gamegroup.view.activity;
 
 import android.support.design.widget.TextInputEditText;
 import android.view.View;
+import android.widget.ImageView;
 
 import com.alibaba.fastjson.JSONObject;
 import com.sheep.gamegroup.absBase.BaseActivity;
@@ -9,6 +10,7 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.ApiUtil;
 import com.sheep.gamegroup.util.QQUtil;
+import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -34,6 +36,8 @@ public class FeedbackAct extends BaseActivity {
     TextInputEditText feedbookEmailEt;
     @BindView(R.id.feedbook_qq_et)
     TextInputEditText feedbook_qq_et;
+    @BindView(R.id.contact_qq_iv)
+    ImageView contact_qq_iv;
 
     private String Content;
     private String Email;
@@ -53,7 +57,7 @@ public class FeedbackAct extends BaseActivity {
 
     @Override
     public void initListener() {
-
+        ViewUtil.setImage(contact_qq_iv, ViewUtil.getNetImgByName("ic_contact_qq"));
     }
 
     @Override

+ 1 - 3
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -7,7 +7,6 @@ import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.DialogInterface;
-import android.content.Intent;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
 import android.os.Build;
@@ -96,7 +95,6 @@ import com.sheep.gamegroup.view.dialog.DialogNewbieTaskList;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
-import com.sheep.jiuyan.samllsheep.ui.activity.SearchActivity;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sunfusheng.marqueeview.MarqueeView;
@@ -359,7 +357,7 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
 
     @OnClick(R.id.to_search_but)
     public void toSearchActivity() {
-        startActivity(new Intent(getActivity(), SearchActivity.class));
+        Jump2View.getInstance().goAppTaskSearch(activity, null);
     }
 
     /**

+ 0 - 58
app/src/main/java/com/sheep/jiuyan/samllsheep/ui/activity/SearchActivity.java

@@ -1,58 +0,0 @@
-package com.sheep.jiuyan.samllsheep.ui.activity;
-
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.sheep.jiuyan.samllsheep.R;
-import com.sheep.jiuyan.samllsheep.ui.base.BaseActivity;
-
-import butterknife.BindView;
-import butterknife.OnClick;
-
-/**
- * Created by: zhoujuncai.
- * Created date: 2018/10/30.
- * Description: 搜索界面
- */
-public class SearchActivity extends BaseActivity {
-
-    @BindView(R.id.search_but_back)
-    ImageView searchButBack;
-    @BindView(R.id.search_input_txt)
-    EditText searchInputTxt;
-    @BindView(R.id.search_but_search)
-    TextView searchButSearch;
-    @BindView(R.id.search_bar)
-    LinearLayout searchBar;
-
-    @Override
-    protected int onLayout() {
-        return R.layout.activity_search;
-    }
-
-    @Override
-    protected void onObject() {
-
-    }
-
-    @Override
-    protected void onView() {
-
-    }
-
-    @Override
-    protected void onData() {
-
-    }
-
-    @OnClick(R.id.search_but_back)
-    public void onSearchButBackClicked() {
-        this.finish();
-    }
-
-    @OnClick(R.id.search_but_search)
-    public void onSearchButSearchClicked() {
-    }
-}

+ 10 - 3
app/src/main/res/layout/act_feedback_layout.xml

@@ -137,13 +137,13 @@
 
     <com.kfzs.duanduan.view.DragRelativeLayout
         android:id="@+id/contact_qq_drl"
-        android:layout_width="40dp"
+        android:layout_width="50dp"
         android:layout_height="wrap_content"
         android:layout_alignParentEnd="true"
         android:layout_alignParentBottom="true"
         android:onClick="onClickContactQQ"
-        android:layout_marginEnd="20dp"
-        android:layout_marginBottom="60dp"
+        android:layout_marginEnd="13dp"
+        android:layout_marginBottom="100dp"
         android:gravity="center"
         android:paddingTop="@dimen/content_padding_10"
         android:paddingBottom="@dimen/content_padding_10">
@@ -155,5 +155,12 @@
             android:src="@drawable/icon"
             android:adjustViewBounds="true"
             android:scaleType="fitXY" />
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:text="@string/contact_kf"
+            android:textColor="@color/black_6_3"
+            android:layout_below="@id/contact_qq_iv"
+            android:textSize="12sp"/>
     </com.kfzs.duanduan.view.DragRelativeLayout>
 </RelativeLayout>

+ 0 - 58
app/src/main/res/layout/activity_search.xml

@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#ffffff"
-    tools:context=".ui.activity.SearchActivity">
-
-    <LinearLayout
-        android:id="@+id/search_bar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentTop="true"
-        android:gravity="center"
-        android:orientation="horizontal"
-        android:padding="5dp">
-
-        <ImageView
-            android:id="@+id/search_but_back"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:contentDescription="@string/image_des"
-            android:padding="10dp"
-            android:src="@drawable/narrow_back_black" />
-
-        <EditText
-            android:id="@+id/search_input_txt"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_marginLeft="8dp"
-            android:layout_marginRight="8dp"
-            android:layout_weight="1"
-            android:background="@drawable/shape_input_background_radius"
-            android:hint="@string/search_hint_txt"
-            android:inputType="text"
-            android:paddingLeft="5dp"
-            android:paddingRight="5dp"
-            android:textColor="#666666"
-            android:textColorHint="#aaaaaa"
-            android:textSize="14sp" />
-
-        <TextView
-            android:id="@+id/search_but_search"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:gravity="center"
-            android:paddingLeft="8dp"
-            android:paddingRight="8dp"
-            android:text="@string/search_but_text" />
-    </LinearLayout>
-
-    <android.support.v7.widget.RecyclerView
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_below="@+id/search_bar"
-        android:layout_alignParentStart="true" />
-
-</RelativeLayout>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -127,6 +127,7 @@
     <string name="like_fail">点赞失败</string>
     <string name="has_focus">已关注</string>
     <string name="x">%s</string>
+    <string name="contact_kf">联系客服</string>
     <string name="total_x_comment">共%s条评论</string>
     <string name="total_x_reply">共%s条回复</string>
 </resources>