diff --git a/app/src/main/java/com/gh/common/util/ShareUtils.java b/app/src/main/java/com/gh/common/util/ShareUtils.java index 1f533d6878..1f1852cdb5 100644 --- a/app/src/main/java/com/gh/common/util/ShareUtils.java +++ b/app/src/main/java/com/gh/common/util/ShareUtils.java @@ -148,13 +148,13 @@ public class ShareUtils { } @Override - public void onBindViewHolder(ViewHolder holder, final int position) { + public void onBindViewHolder(final ViewHolder holder, int position) { holder.shareLogo.setImageResource(arrLogo[position]); holder.shareLabel.setText(arrLabel[position]); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - switch (position){ + switch (holder.getPosition()){ case 0: wechatSahre(); break; diff --git a/app/src/main/java/com/gh/common/view/DownloadDialog.java b/app/src/main/java/com/gh/common/view/DownloadDialog.java index 2664e5572c..3797ded829 100644 --- a/app/src/main/java/com/gh/common/view/DownloadDialog.java +++ b/app/src/main/java/com/gh/common/view/DownloadDialog.java @@ -673,25 +673,25 @@ public class DownloadDialog { @SuppressWarnings("deprecation") @Override - public void onBindViewHolder(final RecyclerViewHolder viewHolder, final int location) { + public void onBindViewHolder(final RecyclerViewHolder viewHolder, int position) { - final ApkEntity apkEntity = platforms.get((row * column) * position + location); + final ApkEntity apkEntity = platforms.get((row * column) * this.position + position); viewHolder.itemView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (apkEntity.getApkCollection() != null){ if (llCollection.getVisibility() == View.GONE - || clickCollectionPosition != location && clickCollectionPosition != -1){ + || clickCollectionPosition != viewHolder.getPosition() && clickCollectionPosition != -1){ llCollection.setVisibility(View.VISIBLE); showCollectionLayout(apkEntity.getApkCollection()); viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_colse); - colseCollectionPosition = location; + colseCollectionPosition = viewHolder.getPosition(); notifyDataSetChanged(); } else { llCollection.setVisibility(View.GONE); viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_open); } - clickCollectionPosition = location; + clickCollectionPosition = viewHolder.getPosition(); } else if (viewHolder.download_item_tv_status.getVisibility() == View.GONE) { //下载游戏 addDownloadEntry(apkEntity, viewHolder.download_item_tv_status); @@ -916,7 +916,7 @@ public class DownloadDialog { if (apkEntity.getApkCollection() != null){ ImageUtils.getInstance(context).display(apkEntity.getApkCollection().getIcon(),viewHolder.download_item_iv_pic); viewHolder.download_item_open_collection.setVisibility(View.VISIBLE); - if (colseCollectionPosition == location){ + if (colseCollectionPosition == position){ viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_colse); }else { viewHolder.download_item_open_collection.setImageResource(R.drawable.collection_open); diff --git a/app/src/main/java/com/gh/download/DataChanger.java b/app/src/main/java/com/gh/download/DataChanger.java index 2ef6214b8c..1abafa0c44 100644 --- a/app/src/main/java/com/gh/download/DataChanger.java +++ b/app/src/main/java/com/gh/download/DataChanger.java @@ -44,7 +44,7 @@ public class DataChanger extends Observable { if (mDownloadEntries.get(entry.getUrl()) != null) { mDownloadEntries.put(entry.getUrl(), entry); setChanged(); - notifyObservers(); + notifyObservers(entry); } } } diff --git a/app/src/main/java/com/gh/download/DataWatcher.java b/app/src/main/java/com/gh/download/DataWatcher.java index a8350df4ff..2a16171866 100644 --- a/app/src/main/java/com/gh/download/DataWatcher.java +++ b/app/src/main/java/com/gh/download/DataWatcher.java @@ -10,6 +10,9 @@ public abstract class DataWatcher implements Observer{ @Override public void update(Observable observable, Object data) { onDataChanged(DataChanger.getInstance().getDownloadEntries()); +// if (data != null && data instanceof DownloadEntry) { +// onDataChanged((DownloadEntry) data); +// } } public abstract void onDataChanged(HashMap downloadingEntries); diff --git a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java index 62f27b27cf..bdc3f23f46 100644 --- a/app/src/main/java/com/gh/gamecenter/ConcernActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ConcernActivity.java @@ -22,6 +22,7 @@ import com.gh.common.constant.Config; import com.gh.common.constant.Constants; import com.gh.common.util.ConcernUtils; import com.gh.common.util.DataUtils; +import com.gh.common.util.DialogUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.TimestampUtils; import com.gh.common.util.Utils; @@ -58,12 +59,9 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - view = (Concern_LinearLayout) View.inflate(this, - R.layout.activity_concern, null); - + view = (Concern_LinearLayout) View.inflate(this, R.layout.activity_concern, null); init(view, "我的关注"); manager = new ConcernManager(getApplicationContext()); @@ -71,12 +69,11 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { list = manager.getConcernGame(); if (list == null) { - list = new ArrayList(); + list = new ArrayList<>(); } - recommendList = new ArrayList(); - - concernList = new ArrayList(); + recommendList = new ArrayList<>(); + concernList = new ArrayList<>(); if (!list.isEmpty()) { initConcernGame(); @@ -114,19 +111,15 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { TimestampUtils.addTimestamp(Config.HOST + "v1d45/game/remenkapai", Constants.GAME_CD), new Response.Listener() { - @Override public void onResponse(JSONArray response) { processingData(response); } - }, new Response.ErrorListener() { - + }, + new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { - // 无网络连接 - if (error.getClass().equals(NoConnectionError.class)) { - } } }); AppController.addToRequestQueue(recommendRequest, ConcernActivity.class); @@ -225,42 +218,47 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { @Override public void onClick(View v) { - int position = getPosition(); + final int position = getPosition(); if (v == concern_item_btn) { // 删除关注表中的数据,并更新界面 - if (manager.findConcernById(list.get(position).getId()) != null) { - ConcernInfo concernInfo = list.remove(position); - - Map kv = new HashMap(); - kv.put("状态", "取消关注"); - DataUtils.onEvent(ConcernActivity.this, "游戏关注", concernInfo.getGameName(), kv); + DialogUtils.showCancelDialog(ConcernActivity.this, new DialogUtils.ConfiremListener() { + @Override + public void onConfirem() { + if (manager.findConcernById(list.get(position).getId()) != null) { + ConcernInfo concernInfo = list.remove(position); - Map map = new HashMap(); - map.put("game", concernInfo.getGameName()); - map.put("type", "取消关注"); - map.put("createdOn", System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(ConcernActivity.this, "concern", map); - - manager.deleteConcern(concernInfo.getId()); - concernList.remove(position); - concern_rv_show.getAdapter().notifyItemRemoved(position); - if (list.isEmpty()) { - reuse_none_data.setVisibility(View.VISIBLE); - concern_rv_show.setVisibility(View.GONE); + Map kv = new HashMap<>(); + kv.put("状态", "取消关注"); + DataUtils.onEvent(ConcernActivity.this, "游戏关注", concernInfo.getGameName(), kv); + + Map map = new HashMap<>(); + map.put("game", concernInfo.getGameName()); + map.put("type", "取消关注"); + map.put("createdOn", System.currentTimeMillis() / 1000); + DataCollectionManager.onEvent(ConcernActivity.this, "concern", map); + + manager.deleteConcern(concernInfo.getId()); + concernList.remove(position); + concern_rv_show.getAdapter().notifyItemRemoved(position); + if (list.isEmpty()) { + reuse_none_data.setVisibility(View.VISIBLE); + concern_rv_show.setVisibility(View.GONE); + } + concern_item_btn.setClickable(false); + view.setClickable(false); + + recommendList = new ArrayList<>(); + initRecommendGame(); + } else { + toast("取消失败,请稍后再试"); + } } - concern_item_btn.setClickable(false); - view.setClickable(false); - - recommendList = new ArrayList(); - initRecommendGame(); - } else { - toast("取消失败,请稍后再试"); - } + }); } else { if (concernList != null && !concernList.isEmpty()) { GameEntity gameEntity = concernList.get(position); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("location", "关注列表"); map.put("createOn", System.currentTimeMillis() / 1000); map.put("game", gameEntity.getName()); @@ -333,11 +331,11 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { // 添加关注到表,并更新当前界面,插入一个关注 GameEntity gameEntity = recommendList.get(position); - Map kv = new HashMap(); + Map kv = new HashMap<>(); kv.put("状态", "关注"); DataUtils.onEvent(ConcernActivity.this, "游戏关注", gameEntity.getName(), kv); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("game", gameEntity.getName()); map.put("type", "关注"); map.put("createdOn", System.currentTimeMillis() / 1000); @@ -369,10 +367,12 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { } concern_item_btn.setClickable(false); view.setClickable(false); + + toast("关注成功"); } else { GameEntity gameEntity = recommendList.get(position); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("location", "热门游戏推荐"); map.put("createOn", System.currentTimeMillis() / 1000); map.put("game", gameEntity.getName()); @@ -448,9 +448,9 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { if (isChanged) { list = concernList; if (list == null) { - list = new ArrayList(); + list = new ArrayList<>(); } - concernList = new ArrayList(); + concernList = new ArrayList<>(); if (!list.isEmpty()) { reuse_none_data.setVisibility(View.GONE); concern_rv_show.setVisibility(View.VISIBLE); @@ -459,14 +459,11 @@ public class ConcernActivity extends BaseActivity implements OnClickListener { reuse_none_data.setVisibility(View.VISIBLE); concern_rv_show.setVisibility(View.GONE); } - recommendList = new ArrayList(); + recommendList = new ArrayList<>(); initRecommendGame(); } isPause = false; } - - - } @Override diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java index 71a80db874..1db9370aa1 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailsActivity.java @@ -412,16 +412,18 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis @Override public void onResponse(JSONArray response) { Utils.log(response.toString()); - Gson gson = new Gson(); - ArrayList news = gson.fromJson( - response.toString(), - new TypeToken>() { - }.getType()); - if (entity!= null && news != null) { - entity.setNews(news); + if (!isDestroy) { + Gson gson = new Gson(); + ArrayList news = gson.fromJson( + response.toString(), + new TypeToken>() { + }.getType()); + if (entity!= null && news != null) { + entity.setNews(news); + } + llLoading.setVisibility(View.GONE); + detailsAdapter.notifyDataSetChanged(); } - llLoading.setVisibility(View.GONE); - detailsAdapter.notifyDataSetChanged(); } }, new Response.ErrorListener() { @@ -430,7 +432,9 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis // 无网络连接和访问超时 if (error.getClass().equals(NoConnectionError.class) || error.getClass().equals(TimeoutError.class)) { - llLoading.setVisibility(View.GONE); + if (!isDestroy) { + llLoading.setVisibility(View.GONE); + } } } }); @@ -505,13 +509,14 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis getGameNews(); } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - noConnection.setVisibility(View.VISIBLE); - // 无网络连接和访问超时 - } - }); + }, + new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + noConnection.setVisibility(View.VISIBLE); + // 无网络连接和访问超时 + } + }); AppController.addToRequestQueue(request, GameDetailsActivity.class); } @@ -666,7 +671,7 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis } private void initGameViewHolder(GameViewHolder gameViewHolder) { - gameViewHolder.gamepic_rv.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false)); + gameViewHolder.gamepic_rv.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)); gameViewHolder.gamepic_rv.setAdapter(new GamePicAdapter()); gameViewHolder.gamepic_rv.addItemDecoration(new HorizontalItemDecoration( context, 1, entity.getGallery().size())); @@ -676,14 +681,14 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis private void initZiXunViewHolder(ZiXunViewHolder ziXunViewHolder) { LinearLayout llContainer = ziXunViewHolder.llContainer; int childCount = llContainer.getChildCount(); - if (entity.getNews().size()<3){ + if (entity.getNews().size() < 3) { ziXunViewHolder.llMore.setVisibility(View.GONE); - }else if (entity.getNews().size()==0){ + }else if (entity.getNews().size() == 0) { ziXunViewHolder.view.setVisibility(View.GONE); } - if ( childCount == 0){ - for (int i =0;i map = new HashMap(); + Map map = new HashMap<>(); map.put("game", gameEntity.getName()); map.put("type", "关注"); map.put("createdOn", System.currentTimeMillis() / 1000); @@ -791,7 +796,7 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis topViewHolder.tv_concern.setTextColor(0xffbc2132); Toast.makeText(context,"关注成功",Toast.LENGTH_SHORT).show(); } else { - Map kv2 = new HashMap(); + Map kv2 = new HashMap<>(); kv2.put("点击", "取消关注"); DataUtils.onEvent(GameDetailsActivity.this, "插件数据", gameEntity.getName(), kv2); @@ -805,12 +810,12 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis DialogUtils.showCancelDialog(context, new DialogUtils.ConfiremListener() { @Override public void onConfirem() { - Map kv = new HashMap(); + Map kv = new HashMap<>(); kv.put("状态", "取消关注"); DataUtils.onEvent(GameDetailsActivity.this, "游戏关注", gameEntity.getName(), kv); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("game", gameEntity.getName()); map.put("type", "关注"); map.put("createdOn", System.currentTimeMillis() / 1000); @@ -915,16 +920,14 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis } @Override - public void onBindViewHolder(ViewHolder holder, final int position) { - holder.gamepic_iv.setImageResource(R.drawable.me_icon); - holder.gamepic_iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE); - ImageUtils.getInstance(GameDetailsActivity.this).display(entity.getGallery().get(position),holder.gamepic_iv); + public void onBindViewHolder(final ViewHolder holder, int position) { + ImageUtils.getInstance(GameDetailsActivity.this).display(entity.getGallery().get(position), holder.gamepic_iv); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(GameDetailsActivity.this,ViewImageActivity.class); intent.putExtra("urls", entity.getGallery()); - intent.putExtra("current", position); + intent.putExtra("current", holder.getPosition()); startActivity(intent); } }); @@ -933,7 +936,7 @@ public class GameDetailsActivity extends BaseActivity implements View.OnClickLis @Override public int getItemCount() { - return 5; + return entity.getGallery().size(); } public class ViewHolder extends RecyclerView.ViewHolder { diff --git a/app/src/main/java/com/gh/gamecenter/NewsActivity.java b/app/src/main/java/com/gh/gamecenter/NewsActivity.java index 93def6146c..d8192e2f5d 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsActivity.java @@ -971,11 +971,11 @@ public class NewsActivity extends BaseActivity implements OnClickListener { for (int i = 0, size = gameEntity.getApk().size(); i < size; i++) { ApkEntity apkEntity = gameEntity.getApk().get(i); if ("9u".equals(apkEntity.getPlatform())) { - holder.essaydetails_info.setText("V" + apkEntity.getVersion() + " | " + apkEntity.getSize()); + holder.essaydetails_info.setText(String.format("V%s | %s", apkEntity.getVersion(), apkEntity.getSize())); break; } if (i == size - 1) { - holder.essaydetails_info.setText("V" + apkEntity.getVersion() + " | " + apkEntity.getSize()); + holder.essaydetails_info.setText(String.format("V%s | %s", apkEntity.getVersion(), apkEntity.getSize())); } } } diff --git a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java index 10d2ea3bd2..4637ecc716 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java @@ -256,15 +256,15 @@ public class NewsSearchActivity extends BaseActivity { } @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { + public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { if (holder instanceof ViewHolder){ ((ViewHolder) holder).textView.setText(newsEntities.get(position).getTitle()); ((ViewHolder) holder).textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getApplicationContext(),NewsActivity.class); - intent.putExtra("newsId",newsEntities.get(position).getId()); - intent.putExtra("entrance","游戏详情-全部资讯"); + intent.putExtra("newsId", newsEntities.get(holder.getPosition()).getId()); + intent.putExtra("entrance", "游戏详情-全部资讯"); startActivity(intent); } }); diff --git a/app/src/main/java/com/gh/gamecenter/SearchActivity.java b/app/src/main/java/com/gh/gamecenter/SearchActivity.java index ab1aa2fc63..035455a9ca 100644 --- a/app/src/main/java/com/gh/gamecenter/SearchActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SearchActivity.java @@ -53,12 +53,13 @@ public class SearchActivity extends BaseFragmentActivity { private TextView searchButton; private SearchHistoryDao dao; - private TextWatcher mTextWatcher; private String searchKey; + private int currentTab; private boolean isHistorySearch; + private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { @@ -118,8 +119,6 @@ public class SearchActivity extends BaseFragmentActivity { } setResultPresentModel(currentTab); - - searchInput.addTextChangedListener(mTextWatcher); } public void setActionBarLayout(final String hint, final boolean isFromHome) { @@ -209,7 +208,7 @@ public class SearchActivity extends BaseFragmentActivity { }); - mTextWatcher = new TextWatcher() { + searchInput.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -233,11 +232,11 @@ public class SearchActivity extends BaseFragmentActivity { if (searchKey.length() < 1) { setResultPresentModel(0); } else if (!isHistorySearch){ - handler.sendEmptyMessageDelayed(1,300); + handler.sendEmptyMessageDelayed(1, 300); } } } - }; + }); searchBack.setOnClickListener(new OnClickListener() { @Override @@ -292,7 +291,7 @@ public class SearchActivity extends BaseFragmentActivity { case 2: DataUtils.onEvent(SearchActivity.this, "搜索页面", searchKey); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("key", searchKey); map.put("from", "搜索页面"); map.put("createdOn", System.currentTimeMillis() / 1000); diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java index 6cc6e03f26..25fe536974 100644 --- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java @@ -142,7 +142,7 @@ public class SettingActivity extends BaseActivity implements OnClickListener { sp = getSharedPreferences(Config.PREFERENCE, Activity.MODE_PRIVATE); // 未打开下载按钮,显示修复下载按钮 - if (!sp.getBoolean("isShow", false)) { + if (!sp.getBoolean("isShow", false) || !Config.getInstance().isShow()) { findViewById(R.id.setting_cv_fix_download).setVisibility(View.VISIBLE); findViewById(R.id.setting_cv_fix_download).setOnClickListener(this); } diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 69f1031f87..c417f2ca7e 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -184,46 +184,50 @@ public class SplashScreenActivity extends BaseActivity { public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (hasFocus && isFirst) { - - // 第一次启动,把package.txt文件内容加载进数据库 - if (!sp.getBoolean("isLoadFilter", false)) { - try { - List list = new ArrayList<>(); - BufferedReader reader = new BufferedReader( - new InputStreamReader(getAssets().open( - "package.txt"))); - String line; - while ((line = reader.readLine()) != null) { - list.add(new FilterInfo(line)); - } - reader.close(); - FilterManager filterManager = new FilterManager( - getApplicationContext()); - filterManager.addAllFilter(list); - sp.edit().putBoolean("isLoadFilter", true).apply(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - isFirst = false; - checkUpdateFile(); + try { + // 第一次启动,把package.txt文件内容加载进数据库 + if (!sp.getBoolean("isLoadFilter", false)) { + try { + List list = new ArrayList<>(); + BufferedReader reader = new BufferedReader( + new InputStreamReader(getAssets().open( + "package.txt"))); + String line; + while ((line = reader.readLine()) != null) { + list.add(new FilterInfo(line)); + } + reader.close(); + FilterManager filterManager = new FilterManager( + getApplicationContext()); + filterManager.addAllFilter(list); + sp.edit().putBoolean("isLoadFilter", true).apply(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } - concernManager = new ConcernManager(getApplicationContext()); + checkUpdateFile(); - /* - * 更新过滤表,获取自动刷新的cd,获取版本对应表 - */ - String time = sp.getString("filter_time", null); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", - Locale.getDefault()); - String today = format.format(new Date()); - if (!today.equals(time)) { - FilterManager manager = new FilterManager( - getApplicationContext()); - manager.getFilterFromServer(today); - getPlatform(); + concernManager = new ConcernManager(getApplicationContext()); + + /* + * 更新过滤表,获取自动刷新的cd,获取版本对应表 + */ + String time = sp.getString("filter_time", null); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", + Locale.getDefault()); + String today = format.format(new Date()); + if (!today.equals(time)) { + FilterManager manager = new FilterManager( + getApplicationContext()); + manager.getFilterFromServer(today); + getPlatform(); + } + } catch (Exception e) { + e.printStackTrace(); + toast("抛出异常"); } // 获取下载按钮状态、开启or关闭 @@ -598,10 +602,12 @@ public class SplashScreenActivity extends BaseActivity { } entity.setTime(System.currentTimeMillis()); entity.setPackageNames(packageNames); - //默认安装即为关注 -// if (!concernManager.isConcern(entity.getId())) { -// concernManager.addByEntity(gameEntity); -// } + if (sp.getBoolean("isNewsFirstLaunch", true)) { + //默认安装即为关注 + if (!concernManager.isConcern(entity.getId())) { + concernManager.addByEntity(gameEntity); + } + } concernManager.updateByConcern(entity); } if (cCount == count) { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsTypeListAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsTypeListAdapter.java index c43679bbfc..20ba4b2acb 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsTypeListAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsTypeListAdapter.java @@ -69,10 +69,13 @@ public class GameNewsTypeListAdapter extends RecyclerView.Adapter GameManager manager = new GameManager(context); for (GameEntity gEntity : pluginList) { gEntity.setEntryMap(DownloadManager.getInstance(context).getEntryMap(gEntity.getName())); - for (ApkEntity aEntity : gEntity.getApk()) { - manager.addOrUpdate(new GameInfo(aEntity.getPackageName(), - gEntity.getId(), gEntity.getName())); - } + manager.addOrUpdate(gEntity.getApk(), gEntity.getId(), gEntity.getName()); } notifyItemRangeInserted(0, pluginList.size()); initLocationMap(); diff --git a/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java index c816c8f705..23991de210 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java @@ -146,10 +146,7 @@ public class SubjectAdapter extends RecyclerView.Adapter list) { + try { + dao.create(list); + } catch (SQLException e) { e.printStackTrace(); } } @@ -42,7 +53,6 @@ public class GameDao { try { dao.deleteById(packageName); } catch (SQLException e) { - e.printStackTrace(); } } @@ -54,7 +64,27 @@ public class GameDao { try { return dao.queryForId(packageName); } catch (SQLException e) { - + e.printStackTrace(); + } + return null; + } + + /** + * 根据包名获取多个游戏 + */ + public List findAll(List packageNames) { + try { + QueryBuilder builder = dao.queryBuilder(); + Where where = builder.where(); + for (int i = 0, size = packageNames.size(); i < size; i++) { + if (i == 0) { + where.eq("packageName", packageNames.get(i)); + } else { + where.or().eq("packageName", packageNames.get(i)); + } + } + return builder.query(); + } catch (SQLException e) { e.printStackTrace(); } return null; @@ -67,7 +97,6 @@ public class GameDao { try { return dao.queryForAll(); } catch (SQLException e) { - e.printStackTrace(); } return null; @@ -80,7 +109,6 @@ public class GameDao { try { dao.update(entity); } catch (SQLException e) { - e.printStackTrace(); } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java index 4c86270673..a728509f49 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java @@ -22,6 +22,7 @@ import com.gh.common.util.ImageUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.SpeedUtils; +import com.gh.common.util.Utils; import com.gh.common.view.CardLinearLayout; import com.gh.download.DownloadEntry; import com.gh.download.DownloadManager; @@ -90,7 +91,7 @@ public class GameDownloadAdapter extends RecyclerView.Adapter 0 && position <= doneList.size()) { doneList.remove(position - 1); + if (doneList.isEmpty()) { + isDoneEmpty = true; + } } else if (doneList.isEmpty()) { downloadingList.remove(position - 1); + if (downloadingList.isEmpty()) { + isDownloadingEmpty = true; + } } else { downloadingList.remove(position - doneList.size() - 2); + if (downloadingList.isEmpty()) { + isDownloadingEmpty = true; + } } if (doneList.isEmpty() && downloadingList.isEmpty()) { @@ -478,11 +491,11 @@ public class GameDownloadAdapter extends RecyclerView.Adapter() { @Override public void onResponse(JSONArray response) { - Type listType = new TypeToken>() {}.getType(); Gson gson = new Gson(); List list = gson.fromJson(response.toString(), listType); if (list != null && !list.isEmpty()) { - subjectList = list; GameManager manager = new GameManager(context); SubjectEntity subjectEntity; GameEntity gameEntity; - for (int j = 0; j < subjectList.size(); j++) { - subjectEntity = subjectList.get(j); + for (int j = 0; j < list.size(); j++) { + subjectEntity = list.get(j); if (subjectEntity.getData().size() == 1 && !TextUtils.isEmpty(subjectEntity.getData().get(0).getImage())){ - subjectList.remove(j); + list.remove(j); continue; } for (int i = 0; i < subjectEntity.getData().size(); i++) { gameEntity = subjectEntity.getData().get(i); if (gameEntity.getApk() != null && !gameEntity.getApk().isEmpty()) { gameEntity.setEntryMap(DownloadManager.getInstance(context).getEntryMap(gameEntity.getName())); - for (ApkEntity apkEntity : gameEntity.getApk()) { - manager.addOrUpdate(new GameInfo(apkEntity.getPackageName(), - gameEntity.getId(), gameEntity.getName())); - } + manager.addOrUpdate(gameEntity.getApk(), gameEntity.getId(), gameEntity.getName()); } else if (TextUtils.isEmpty(gameEntity.getId())) { if (TextUtils.isEmpty(gameEntity.getType()) || TextUtils.isEmpty(gameEntity.getLink()) @@ -241,7 +238,10 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter map, boolean isUpload) { + public static void onEvent(Context context, String type, Map map, boolean isUpload) { onEvent(context, type, new JSONObject(map).toString(), isUpload); } - public static void upsert(Context context, String type, - Map map) { + public static void upsert(Context context, String type, Map map) { String id = UUID.randomUUID().toString().replaceAll("-", ""); DataCollectionInfo entity = new DataCollectionInfo(); entity.setId(id); @@ -88,14 +84,14 @@ public class DataCollectionManager { } public void upsert(DataCollectionInfo entity, String type) { - List list = dao.findByType("user"); + List list = dao.findByType(type); if (list == null || list.isEmpty()) { dao.add(entity); } else { entity.setId(list.get(0).getId()); dao.update(entity); if (list.size() > 1) { - List ids = new ArrayList(); + List ids = new ArrayList<>(); for (int i = 1, size = list.size(); i < size; i++) { ids.add(list.get(i).getId()); } @@ -133,7 +129,7 @@ public class DataCollectionManager { map.put("version", version); map.put("user", user); map.put("channel", channel); - Map params = new HashMap(); + Map params = new HashMap<>(); params.put("type", type); params.put("data", new JSONObject(map).toString()); String url = "http://data.ghzhushou.com/collection/upload2"; @@ -156,6 +152,7 @@ public class DataCollectionManager { } } }); + request.setShouldCache(false); AppController.addToRequestQueue(request, DataCollectionManager.class); } @@ -165,9 +162,9 @@ public class DataCollectionManager { public void statClickData() { List list = dao.getClickData(); if (!list.isEmpty()) { - List ids = new ArrayList(); + List ids = new ArrayList<>(); DataCollectionInfo dataCollectionEntity; - List data = new ArrayList(); + List data = new ArrayList<>(); try { for (int i = 0, size = list.size(); i < size; i++) { dataCollectionEntity = list.get(i); @@ -177,7 +174,7 @@ public class DataCollectionManager { } catch (JSONException e) { e.printStackTrace(); } - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("data", data); map.put("createdOn", System.currentTimeMillis() / 1000); onEvent(mContext, "click", map); @@ -208,14 +205,14 @@ public class DataCollectionManager { isUploading = true; String url = "http://data.ghzhushou.com/collection/upload"; - final List ids = new ArrayList(); + final List ids = new ArrayList<>(); String version = PackageUtils.getVersion(mContext); String user = DeviceUtils.getDeviceID(mContext); String channel = (String) PackageUtils.getMetaData(mContext, mContext.getPackageName(), "TD_CHANNEL_ID"); - HashMap map = new HashMap(); + HashMap map = new HashMap<>(); DataCollectionInfo dataCollectionEntity; String type; JSONArray jsonArray; @@ -244,9 +241,9 @@ public class DataCollectionManager { return; } - ArrayList params = new ArrayList(); + ArrayList params = new ArrayList<>(); for (String key : map.keySet()) { - HashMap hashMap = new HashMap(); + HashMap hashMap = new HashMap<>(); hashMap.put("type", key); hashMap.put("data", map.get(key)); JSONObject jsonObject = new JSONObject(hashMap); diff --git a/app/src/main/java/com/gh/gamecenter/manager/GameManager.java b/app/src/main/java/com/gh/gamecenter/manager/GameManager.java index 7caaf33213..4820ffa993 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/GameManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/GameManager.java @@ -2,9 +2,12 @@ package com.gh.gamecenter.manager; import android.content.Context; +import com.gh.common.util.Utils; import com.gh.gamecenter.db.GameDao; import com.gh.gamecenter.db.info.GameInfo; +import com.gh.gamecenter.entity.ApkEntity; +import java.util.ArrayList; import java.util.List; public class GameManager { @@ -21,6 +24,24 @@ public class GameManager { } } + public void addOrUpdate(ArrayList apk, String gameId, String gameName) { + ArrayList list = new ArrayList<>(); + ArrayList packageNames = new ArrayList<>(); + for (ApkEntity apkEntity : apk) { + packageNames.add(apkEntity.getPackageName()); + } + List result = dao.findAll(packageNames); + for (GameInfo gameInfo : result) { + packageNames.remove(gameInfo.getPackageName()); + } + for (String packageName : packageNames) { + list.add(new GameInfo(packageName, gameId, gameName)); + } + if (list.size() != 0) { + dao.addAll(list); + } + } + public void addGame(GameInfo entity) { dao.add(entity); } diff --git a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java index b6320c4f8a..cd44a030ab 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java @@ -253,7 +253,7 @@ public class News1FragmentAdapter extends RecyclerView.Adapter kv = new HashMap<>(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-资讯", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-资讯"); } }); @@ -295,7 +295,7 @@ public class News1FragmentAdapter extends RecyclerView.Adapter kv = new HashMap<>(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-资讯", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-资讯"); } }); @@ -360,7 +360,7 @@ public class News1FragmentAdapter extends RecyclerView.Adapter kv = new HashMap<>(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-资讯", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-资讯"); } }); diff --git a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java index b0a703254d..1635f4411a 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java @@ -253,7 +253,7 @@ public class News2FragmentAdapter extends RecyclerView.Adapter kv = new HashMap(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-原创", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-原创"); } }); @@ -295,7 +295,7 @@ public class News2FragmentAdapter extends RecyclerView.Adapter kv = new HashMap(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-原创", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-原创"); } }); @@ -354,7 +354,7 @@ public class News2FragmentAdapter extends RecyclerView.Adapter kv = new HashMap(); kv.put("名字", newsEntity.getTitle()); - kv.put("位置", position + 1); + kv.put("位置", viewHolder.getPosition() + 1); DataUtils.onEvent(context, "点击", "资讯-原创", kv); //统计阅读量 - statNewsViews(newsEntity.getId(), position); + statNewsViews(newsEntity.getId(), viewHolder.getPosition()); NewsUtils.startNewsActivity(context, newsEntity, "资讯-原创"); } }); diff --git a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java index d0e1021fb6..4dc30b1b08 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java @@ -286,7 +286,7 @@ public class News4FragmentAdapter extends RecyclerView.Adapter { - - private Context context; - - private List newsList; - - private String from; - - public NewsListAdapter(Context context, List list, String str) { - this.context = context; - - newsList = list; - from = str; - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - if (viewType == 0) { - View view = LayoutInflater.from(parent.getContext()).inflate( - R.layout.home_list_item_newsimage_type, parent, false); - return new NewsImageViewHolder(view); - } else { - View view = LayoutInflater.from(parent.getContext()).inflate( - R.layout.home_list_item_newsnormal_type, parent, false); - return new NewsTextViewHolder(view); - } - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - if (holder instanceof NewsImageViewHolder) { - NewsImageViewHolder viewHolder = (NewsImageViewHolder) holder; - - final NewsEntity newsEntity = newsList.get(0); - ImageUtils.getInstance(context).display(newsEntity.getThumb(), viewHolder.newsThumb); - String title = newsEntity.getTitle(); - if (title.contains("》")) { - viewHolder.newsMainTitle.setText(title.substring(0, title.indexOf("》") + 1)); - viewHolder.newsSubTitle.setVisibility(View.VISIBLE); - viewHolder.newsSubTitle.setText(title.substring(title.indexOf("》") + 1)); - } else if (title.contains(" ")) { - viewHolder.newsMainTitle.setText(title.substring(0, title.indexOf(" ") + 1)); - viewHolder.newsSubTitle.setVisibility(View.VISIBLE); - viewHolder.newsSubTitle.setText(title.substring(title.indexOf(" ") + 1)); - } else { - viewHolder.newsMainTitle.setText(title); - viewHolder.newsSubTitle.setVisibility(View.GONE); - } - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Map kv = new HashMap(); - kv.put("文章类型", newsEntity.getType()); - kv.put("入口", "攻略-今天"); - DataUtils.onEvent(context, "资讯-攻略", newsEntity.getTitle(), kv); - - Map map = new HashMap(); - map.put("location", "今天"); - map.put("createOn", System.currentTimeMillis() / 1000); - map.put("news", newsEntity.getTitle()); - map.put("page", "攻略"); - DataCollectionManager.onEvent(context, "click-item", map); - - //统计阅读量 - NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsActivity(context, newsEntity, "资讯-攻略-今天"); - } - }); - } else if (holder instanceof NewsTextViewHolder) { - NewsTextViewHolder viewHolder = (NewsTextViewHolder) holder; - - final NewsEntity newsEntity = newsList.get(position); - viewHolder.newsType.setBackgroundResource(NewsUtils - .getDrawableIdByType(newsEntity.getType())); - viewHolder.newsType.setText(newsEntity.getType()); - viewHolder.newsTitle.setText(newsEntity.getTitle()); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Map kv = new HashMap(); - kv.put("文章类型", newsEntity.getType()); - kv.put("入口", "攻略-" + from); - DataUtils.onEvent(context, "资讯-攻略", newsEntity.getTitle(), kv); - - Map map = new HashMap(); - map.put("location", from); - map.put("createOn", System.currentTimeMillis() / 1000); - map.put("news", newsEntity.getTitle()); - map.put("page", "攻略"); - DataCollectionManager.onEvent(context, "click-item", map); - - //统计阅读量 - NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsActivity(context, newsEntity, "资讯-攻略-" + from); - } - }); - } - } - - @Override - public int getItemCount() { - return newsList.size(); - } - - @Override - public int getItemViewType(int position) { - if ("今天".equals(from) && !TextUtils.isEmpty(newsList.get(0).getThumb())) { - return 0; - } else { - return 1; - } - } - -} diff --git a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java index 38843067ca..114dac0b9d 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java @@ -150,10 +150,7 @@ public class ConcernFragmentAdapter extends RecyclerView.Adapter kv = new HashMap(); + Map kv = new HashMap<>(); kv.put("入口", "搜索"); DataUtils.onEvent(context, "游戏详情", gameEntity.getName(), kv); - Map map = new HashMap(); + Map map = new HashMap<>(); map.put("location", "搜索"); map.put("createOn", System.currentTimeMillis() / 1000); map.put("game", gameEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java index d6283acc7e..168df298ee 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameListFragmentAdapter.java @@ -139,7 +139,7 @@ public class SearchGameListFragmentAdapter extends RecyclerView.Adapter map = new HashMap(); + Map map = new HashMap<>(); map.put("key", key); map.put("from", "搜索页面"); map.put("createdOn", System.currentTimeMillis() / 1000); DataCollectionManager.onEvent(context, "search", map); - Map kv = new HashMap(); + Map kv = new HashMap<>(); kv.put("入口", "搜索"); DataUtils.onEvent(context, "游戏详情", gameEntity.getName(), kv); - Map map2 = new HashMap(); + Map map2 = new HashMap<>(); map2.put("location", "搜索"); map2.put("createOn", System.currentTimeMillis() / 1000); map2.put("game", gameEntity.getName()); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchHistoryListAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchHistoryListAdapter.java deleted file mode 100644 index 2a69a2f164..0000000000 --- a/app/src/main/java/com/gh/gamecenter/search/SearchHistoryListAdapter.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.gh.gamecenter.search; - -import android.content.Context; -import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.gh.common.util.DataUtils; -import com.gh.gamecenter.R; -import com.gh.gamecenter.db.SearchHistoryDao; -import com.gh.gamecenter.eventbus.EBSearch; -import com.gh.gamecenter.manager.DataCollectionManager; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import de.greenrobot.event.EventBus; - -/** - * Created by LGT on 2016/8/17. - */ -public class SearchHistoryListAdapter extends RecyclerView.Adapter { - - private Context context; - - private SearchHistoryDao dao; - - private List historyList; - - public SearchHistoryListAdapter(Context context, List list) { - this.context = context; - - historyList = list; - - dao = new SearchHistoryDao(context); - } - - @Override - public SearchHistoryViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - View view = LayoutInflater.from(context).inflate( - R.layout.fm_search_history_item, parent, false); - return new SearchHistoryViewHolder(view); - } - - @Override - public void onBindViewHolder(final SearchHistoryViewHolder viewHolder, int position) { - viewHolder.search_history_name.setText(historyList.get(position)); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String str = viewHolder.search_history_name.getText().toString(); - - DataUtils.onEvent(context, "搜索页面", str); - - Map map = new HashMap<>(); - map.put("key", str); - map.put("from", "搜索页面"); - map.put("createdOn", System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(context, "search", map); - - EventBus.getDefault().post(new EBSearch(str, true)); - dao.add(viewHolder.search_history_name.getText().toString()); - } - }); - } - - @Override - public int getItemCount() { - return historyList.size(); - } - -} diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchResultListAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchResultListAdapter.java deleted file mode 100644 index 100e9cfab2..0000000000 --- a/app/src/main/java/com/gh/gamecenter/search/SearchResultListAdapter.java +++ /dev/null @@ -1,180 +0,0 @@ -package com.gh.gamecenter.search; - -import android.content.Context; -import android.content.Intent; -import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.inputmethod.InputMethodManager; - -import com.gh.base.AppController; -import com.gh.common.constant.Config; -import com.gh.common.util.DataUtils; -import com.gh.common.util.DialogUtils; -import com.gh.common.util.GameViewUtils; -import com.gh.common.util.ImageUtils; -import com.gh.common.util.NetworkUtils; -import com.gh.common.view.DownloadDialog; -import com.gh.gamecenter.GameDetailsActivity; -import com.gh.gamecenter.R; -import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; -import com.gh.gamecenter.entity.GameEntity; -import com.gh.gamecenter.manager.DataCollectionManager; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Created by LGT on 2016/8/17. - */ -public class SearchResultListAdapter extends RecyclerView.Adapter { - - private Context context; - - private List gameList; - - private String key; - - public SearchResultListAdapter(Context context, - List list, - String str) { - this.context = context; - - gameList = list; - key = str; - } - - @Override - public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { - if (viewType == 0) { - View itemView = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.game_normal_item, parent, false); - return new GameNormalViewHolder(itemView); - } else { - View itemView = LayoutInflater.from(parent.getContext()) - .inflate(R.layout.fm_search_history_item, parent, false); - return new SearchHistoryViewHolder(itemView); - } - } - - @Override - public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { - final GameEntity gameEntity = gameList.get(position); - if (holder instanceof GameNormalViewHolder && position == 0) { - GameNormalViewHolder viewHolder = (GameNormalViewHolder) holder; - - ImageUtils.getInstance(context).display(gameEntity.getIcon(), viewHolder.gameThumb); - viewHolder.gameNameAndSize.setText(gameEntity.getName()); - if (gameEntity.getApk() == null || gameEntity.getApk().isEmpty()) { - viewHolder.gameDes.setText(gameEntity.getBrief()); - } else { - viewHolder.gameDes.setText(gameEntity.getApk().get(0).getSize() + " " + gameEntity.getBrief()); - } - - GameViewUtils.setLabelList(context, viewHolder.labelList, gameEntity.getTag()); - - holder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - - DataUtils.onEvent(context, "搜索页面", key); - - Map map = new HashMap(); - map.put("key", key); - map.put("from", "搜索页面"); - map.put("createdOn", System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(context, "search", map); - - Map kv = new HashMap(); - kv.put("入口", "搜索"); - DataUtils.onEvent(context, "游戏详情", gameEntity.getName(), kv); - - Map map2 = new HashMap(); - map2.put("location", "搜索"); - map2.put("createOn", System.currentTimeMillis() / 1000); - map2.put("game", gameEntity.getName()); - map2.put("page", "搜索"); - DataCollectionManager.onEvent(context, "click-item", map2); - - AppController.put("GameEntity", gameEntity); - Intent intent = new Intent(context, GameDetailsActivity.class); - intent.putExtra("entrance", "搜索"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); - } - }); - - if (gameEntity.getApk() == null || gameEntity.getApk().isEmpty()) { - viewHolder.downloadBtn.setVisibility(View.GONE); - } else { - viewHolder.downloadBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(final View v) { - InputMethodManager imm = (InputMethodManager) context - .getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(v.getWindowToken(), 0); - if (NetworkUtils.isWifiConnected(context)) { - DownloadDialog.getInstance(context) - .showPopupWindow(v, gameEntity, "搜索", "搜索:" + gameEntity.getName()); - } else { - DialogUtils.showDownloadDialog(context, new DialogUtils.ConfiremListener() { - @Override - public void onConfirem() { - DownloadDialog.getInstance(context) - .showPopupWindow(v, gameEntity, "搜索", "搜索:" + gameEntity.getName()); - } - }); - } - } - }); - } - - if (Config.getInstance().isShow()) { - viewHolder.downloadBtn.setVisibility(View.VISIBLE); - } else { - viewHolder.downloadBtn.setVisibility(View.GONE); - } - } else if (holder instanceof SearchHistoryViewHolder) { - SearchHistoryViewHolder viewHolder = (SearchHistoryViewHolder) holder; - - viewHolder.search_history_name.setText(gameEntity.getName()); - viewHolder.itemView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - DataUtils.onEvent(context, "搜索页面", key); - - Map map = new HashMap<>(); - map.put("key", key); - map.put("from", "搜索页面"); - map.put("createdOn", System.currentTimeMillis() / 1000); - DataCollectionManager.onEvent(context, "search", map); - - Map map2 = new HashMap<>(); - map2.put("location", "搜索"); - map2.put("createOn", System.currentTimeMillis() / 1000); - map2.put("game", gameEntity.getName()); - map2.put("page", "搜索"); - DataCollectionManager.onEvent(context, "click-item", map2); - - AppController.put("GameEntity", gameEntity); - Intent intent = new Intent(context, GameDetailsActivity.class); - intent.putExtra("entrance", "搜索"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(intent); - } - }); - } - } - - @Override - public int getItemCount() { - return gameList.size(); - } - - @Override - public int getItemViewType(int position) { - return position; - } -} diff --git a/app/src/main/res/drawable-hdpi/home1_selected.png b/app/src/main/res/drawable-hdpi/home1_selected.png index 0fae2ae3b7..9f0a5a70aa 100644 Binary files a/app/src/main/res/drawable-hdpi/home1_selected.png and b/app/src/main/res/drawable-hdpi/home1_selected.png differ diff --git a/app/src/main/res/drawable-hdpi/home1_unselected.png b/app/src/main/res/drawable-hdpi/home1_unselected.png index 090e9cabe9..39028c812c 100644 Binary files a/app/src/main/res/drawable-hdpi/home1_unselected.png and b/app/src/main/res/drawable-hdpi/home1_unselected.png differ diff --git a/app/src/main/res/drawable-hdpi/home2_selected.png b/app/src/main/res/drawable-hdpi/home2_selected.png index 6b2c477fff..d9c35db3be 100644 Binary files a/app/src/main/res/drawable-hdpi/home2_selected.png and b/app/src/main/res/drawable-hdpi/home2_selected.png differ diff --git a/app/src/main/res/drawable-hdpi/home2_unselected.png b/app/src/main/res/drawable-hdpi/home2_unselected.png index 33d39a5b29..8e3ff01544 100644 Binary files a/app/src/main/res/drawable-hdpi/home2_unselected.png and b/app/src/main/res/drawable-hdpi/home2_unselected.png differ diff --git a/app/src/main/res/drawable-hdpi/home3_selected.png b/app/src/main/res/drawable-hdpi/home3_selected.png index 730709ab7a..da2e45b37c 100644 Binary files a/app/src/main/res/drawable-hdpi/home3_selected.png and b/app/src/main/res/drawable-hdpi/home3_selected.png differ diff --git a/app/src/main/res/drawable-hdpi/home3_unselected.png b/app/src/main/res/drawable-hdpi/home3_unselected.png index c98bddbfb7..dea32b84ed 100644 Binary files a/app/src/main/res/drawable-hdpi/home3_unselected.png and b/app/src/main/res/drawable-hdpi/home3_unselected.png differ diff --git a/app/src/main/res/drawable/oval_hint_dn.xml b/app/src/main/res/drawable/oval_hint_dn.xml index 2a2ab04bbb..580a21bd83 100644 --- a/app/src/main/res/drawable/oval_hint_dn.xml +++ b/app/src/main/res/drawable/oval_hint_dn.xml @@ -2,6 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/oval_hint_up.xml b/app/src/main/res/drawable/oval_hint_up.xml index 1d3925ba22..2f690c4ba0 100644 --- a/app/src/main/res/drawable/oval_hint_up.xml +++ b/app/src/main/res/drawable/oval_hint_up.xml @@ -1,10 +1,7 @@ + android:shape="oval" > - + - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 32387dab72..5d4b1e1a2b 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -27,6 +27,7 @@ android:background="@android:color/white" android:orientation="horizontal" android:gravity="center_vertical" + android:paddingTop="5dp" android:paddingBottom="5dp" android:baselineAligned="false" > @@ -41,7 +42,7 @@ @@ -50,6 +51,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="游戏" + android:layout_marginTop="3dp" android:textColor="@color/theme" android:textSize="12sp" /> @@ -64,8 +66,8 @@ @@ -74,6 +76,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="资讯" + android:layout_marginTop="3dp" android:textColor="@color/title" android:textSize="12sp" /> @@ -88,8 +91,8 @@ @@ -98,6 +101,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="我的光环" + android:layout_marginTop="3dp" android:textColor="@color/title" android:textSize="12sp" /> diff --git a/app/src/main/res/layout/fragment_news.xml b/app/src/main/res/layout/fragment_news.xml index d0b81ea636..b4c8915dd6 100644 --- a/app/src/main/res/layout/fragment_news.xml +++ b/app/src/main/res/layout/fragment_news.xml @@ -61,11 +61,6 @@ android:background="@color/theme" /> - - + android:background="#ededed"/> @@ -71,6 +73,7 @@ android:id="@+id/actionbar_notification" android:layout_width="0dp" android:layout_height="match_parent" + android:layout_marginRight="5dp" android:layout_weight="1" > - -