diff --git a/app/src/main/java/com/gh/common/util/ConcernUtils.java b/app/src/main/java/com/gh/common/util/ConcernUtils.java index 9065738c89..f28d061e49 100644 --- a/app/src/main/java/com/gh/common/util/ConcernUtils.java +++ b/app/src/main/java/com/gh/common/util/ConcernUtils.java @@ -2,6 +2,7 @@ package com.gh.common.util; import android.content.Context; +import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import org.json.JSONArray; @@ -58,7 +59,13 @@ public class ConcernUtils { }) .subscribeOn(Schedulers.io()) .observeOn(Schedulers.io()) - .subscribe(); + .subscribe(new Response(){ + @Override + public void onFailure(Throwable e) { + super.onFailure(e); + Utils.log("Concern::整体更新设备失败" + e.toString()); + } + }); } } diff --git a/app/src/main/java/com/gh/common/util/LibaoUtils.java b/app/src/main/java/com/gh/common/util/LibaoUtils.java index 0e54c9a262..44353ed544 100644 --- a/app/src/main/java/com/gh/common/util/LibaoUtils.java +++ b/app/src/main/java/com/gh/common/util/LibaoUtils.java @@ -6,6 +6,8 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.res.ColorStateList; import android.graphics.Color; +import android.text.Html; +import android.text.Spanned; import android.text.TextUtils; import android.view.View; import android.widget.TextView; @@ -77,6 +79,7 @@ public class LibaoUtils { public void onResponse(List response) { LibaoDao libaoDao = new LibaoDao(context); for (LibaoEntity libaoEntity : response) { + Utils.log("============cunhaoxiang" + libaoEntity.getPackageName() + "==" + libaoEntity.getName()); LibaoInfo libaoInfo = LibaoInfo.createLibaoInfo(libaoEntity); libaoInfo.setActive(libaoEntity.isActive()); libaoDao.add(libaoInfo); @@ -322,6 +325,7 @@ public class LibaoUtils { libaoEntity.setAvailable(libaoEntity.getAvailable() - 1); LibaoInfo libaoInfo = LibaoInfo.createLibaoInfo(libaoEntity); +// libaoInfo.setTime(String.valueOf(new Date().getTime())); libaoInfo.setCode(libaoCode); libaoDao.add(libaoInfo); @@ -344,7 +348,9 @@ public class LibaoUtils { @Override public void run() { lunningAppDialog(libaoBtn.getContext() - , "请尽快进入游戏兑换", libaoEntity); + , Html.fromHtml("礼包码:" + + "" + finalLibaoCode + "" + + " 复制成功" +"
请尽快进入游戏兑换"), libaoEntity); } }, 300); } @@ -415,6 +421,7 @@ public class LibaoUtils { LibaoInfo libaoInfo = LibaoInfo.createLibaoInfo(libaoEntity); libaoInfo.setCode(libaoCode); +// libaoInfo.setTime(String.valueOf(new Date().getTime())); libaoDao.add(libaoInfo); EventBus.getDefault().post(new EBReuse("libaoChanged")); @@ -437,7 +444,10 @@ public class LibaoUtils { @Override public void run() { lunningAppDialog(libaoBtn.getContext() - , "淘号礼包不保证可用,请尽快进入游戏尝试兑换", libaoEntity); + , Html.fromHtml("礼包码:" + + "" + finalLibaoCode + "" + + " 复制成功" + +"
淘号礼包不保证可用,请尽快进入游戏尝试兑换"), libaoEntity); } }, 300); } @@ -505,7 +515,7 @@ public class LibaoUtils { return false; } - public static void lunningAppDialog (final Context context, String msg, final LibaoEntity libaoEntity) { + public static void lunningAppDialog (final Context context, Spanned msg, final LibaoEntity libaoEntity) { DialogUtils.showWarningDialog(context, "复制成功", msg , "关闭", "启动游戏" , new DialogUtils.ConfiremListener() { diff --git a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java index a4a379d52b..d5a3a9c5c3 100644 --- a/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/GameDetailActivity.java @@ -18,11 +18,14 @@ import com.gh.gamecenter.eventbus.EBConcernChanged; import com.gh.gamecenter.gamedetail.GameDetailAdapter; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; +import com.jakewharton.rxbinding.view.RxView; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import rx.android.schedulers.AndroidSchedulers; +import rx.functions.Action1; import rx.schedulers.Schedulers; /** @@ -87,6 +90,23 @@ public class GameDetailActivity extends BaseDetailActivity implements View.OnCli reuse_ll_loading.setVisibility(View.GONE); reuse_no_connection.setVisibility(View.VISIBLE); } + + // 防抖处理 + RxView.clicks(iv_share) + .throttleFirst(1, TimeUnit.SECONDS) + .subscribe(new Action1() { + @Override + public void call(Void aVoid) { + Map kv = new HashMap<>(); + kv.put("点击", "分享"); + DataUtils.onEvent(GameDetailActivity.this, "插件数据", gameEntity.getName(), kv); + + DataCollectionUtils.uploadClick(GameDetailActivity.this, "分享", "游戏详情", gameEntity.getName()); + + String url = "http://www.ghzhushou.com/game/" + adapter.getGameDetailEntity().getShareCode(); + showShare(url, gameEntity.getName(), gameEntity.getIcon(), null, gameEntity.getTag()); + } + }); } @Override @@ -127,15 +147,6 @@ public class GameDetailActivity extends BaseDetailActivity implements View.OnCli } } }, 1000); - } else if (v == iv_share) { - Map kv = new HashMap<>(); - kv.put("点击", "分享"); - DataUtils.onEvent(this, "插件数据", gameEntity.getName(), kv); - - DataCollectionUtils.uploadClick(this, "分享", "游戏详情", gameEntity.getName()); - - String url = "http://www.ghzhushou.com/game/" + adapter.getGameDetailEntity().getShareCode(); - showShare(url, gameEntity.getName(), gameEntity.getIcon(), null, gameEntity.getTag()); } else if (v == actionbar_rl_back) { if (ChangeSkinUtils.isChecking) { DialogUtils.showWarningDialog(GameDetailActivity.this, "退出提示", diff --git a/app/src/main/java/com/gh/gamecenter/LibaoActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoActivity.java index 287f757582..d80dfaa8cd 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoActivity.java @@ -1,13 +1,11 @@ package com.gh.gamecenter; -import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.View; -import android.view.inputmethod.InputMethodManager; import android.widget.LinearLayout; import android.widget.TextView; @@ -131,10 +129,6 @@ public class LibaoActivity extends BaseFragmentActivity implements View.OnClickL } else if (v == mChunhaoxiangTv) { mLibaoVp.setCurrentItem(2); } - - // 隐藏软键盘 - InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java index aca12bfb93..85d8d5e9e8 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java @@ -2,13 +2,11 @@ package com.gh.gamecenter; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; -import android.text.TextUtils; import android.view.View; import com.gh.base.AppController; import com.gh.base.BaseDetailActivity; import com.gh.gamecenter.adapter.LibaoDetailAdapter; -import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.LibaoEntity; import com.gh.gamecenter.retrofit.Response; @@ -81,16 +79,6 @@ public class LibaoDetailActivity extends BaseDetailActivity { downloadOffText = gameEntity.getDownloadOffText(); initDownload(true); - for (ApkEntity apkEntity : gameEntity.getApk()) { - if (mLibaoEntity.getPlatform().equals(apkEntity.getPlatform())) { - mLibaoEntity.setPackageName(apkEntity.getPackageName()); - } - } - - if (TextUtils.isEmpty(mLibaoEntity.getPackageName()) && gameEntity.getApk().size() > 0) { - mLibaoEntity.setPackageName(gameEntity.getApk().get(0).getPackageName()); - } - mAdapter.addLibaoDetail(); } diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index ac2a31745d..5f9e57e6d3 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -48,14 +48,17 @@ import com.gh.gamecenter.manager.PackageManager; import com.gh.gamecenter.newsdetail.NewsDetailAdapter; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; +import com.jakewharton.rxbinding.view.RxView; import com.tencent.tauth.Tencent; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import butterknife.BindView; import butterknife.ButterKnife; import rx.android.schedulers.AndroidSchedulers; +import rx.functions.Action1; import rx.schedulers.Schedulers; /** @@ -213,6 +216,35 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener detail_tv_per.setOnClickListener(this); reuse_no_connection.setOnClickListener(this); detail_ll_comment.setOnClickListener(this); + + // 防抖处理 + RxView.clicks(iv_share) + .throttleFirst(1, TimeUnit.SECONDS) + .subscribe(new Action1() { + @Override + public void call(Void aVoid) { + if (adapter != null && adapter.getNewsDetailEntity() != null) { + Map kv = new HashMap<>(); + kv.put("名字", adapter.getNewsDetailEntity().getTitle()); + kv.put("位置", "分享"); + DataUtils.onEvent(NewsDetailActivity.this, "点击", "新闻详情", kv); + + DataCollectionUtils.uploadClick(NewsDetailActivity.this, "分享", "新闻详情" + , adapter.getNewsDetailEntity().getTitle()); + + String url = "http://www.ghzhushou.com/article/" + + adapter.getNewsDetailEntity().getId() + ".html"; + if (gameEntity == null){ + showShare(url, adapter.getNewsDetailEntity().getTitle(), + "http://image.ghzhushou.com/pic/57d604808ab49e467d8b4568.png", + adapter.getNewsDetailEntity().getTitle(), null); + }else { + showShare(url, gameEntity.getName(), gameEntity.getIcon(), + adapter.getNewsDetailEntity().getTitle(), gameEntity.getTag()); + } + } + } + }); } // @Override @@ -370,27 +402,7 @@ public class NewsDetailActivity extends BaseActivity implements OnClickListener @Override public void onClick(final View v) { - if (v == iv_share) { - if (adapter != null && adapter.getNewsDetailEntity() != null) { - Map kv = new HashMap<>(); - kv.put("名字", adapter.getNewsDetailEntity().getTitle()); - kv.put("位置", "分享"); - DataUtils.onEvent(this, "点击", "新闻详情", kv); - - DataCollectionUtils.uploadClick(this, "分享", "新闻详情", adapter.getNewsDetailEntity().getTitle()); - - String url = "http://www.ghzhushou.com/article/" + - adapter.getNewsDetailEntity().getId() + ".html"; - if (gameEntity == null){ - showShare(url, adapter.getNewsDetailEntity().getTitle(), - "http://image.ghzhushou.com/pic/57d604808ab49e467d8b4568.png", - adapter.getNewsDetailEntity().getTitle(), null); - }else { - showShare(url, gameEntity.getName(), gameEntity.getIcon(), - adapter.getNewsDetailEntity().getTitle(), gameEntity.getTag()); - } - } - } else if (v == reuse_no_connection) { + if (v == reuse_no_connection) { detail_rv_show.setVisibility(View.VISIBLE); reuse_ll_loading.setVisibility(View.VISIBLE); reuse_no_connection.setVisibility(View.GONE); diff --git a/app/src/main/java/com/gh/gamecenter/StrategyActivity.java b/app/src/main/java/com/gh/gamecenter/StrategyActivity.java index 57106bafe9..988add8ea7 100644 --- a/app/src/main/java/com/gh/gamecenter/StrategyActivity.java +++ b/app/src/main/java/com/gh/gamecenter/StrategyActivity.java @@ -5,6 +5,7 @@ import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; import android.widget.ImageView; @@ -19,12 +20,14 @@ import com.gh.gamecenter.adapter.StrategyAdapter; import com.gh.gamecenter.adapter.StrategyDialogAdapter; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.manager.ConcernManager; +import com.jakewharton.rxbinding.view.RxView; import java.util.List; +import java.util.concurrent.TimeUnit; import butterknife.BindView; import butterknife.ButterKnife; -import butterknife.OnClick; +import rx.functions.Action1; /** * Created by khy on 2016/12/5. @@ -42,7 +45,9 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap private PopupWindow mPopupWindow; - private int mDialogGamePosition; + private static int mDialogGamePosition = -1; + private static String gameId; + private static String gameName; @Override protected void onCreate(Bundle savedInstanceState) { @@ -52,9 +57,7 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap ButterKnife.bind(this); - mDialogGamePosition = -1; - - mStrategyAdapter = new StrategyAdapter(this, null, mNoData); + mStrategyAdapter = new StrategyAdapter(this, gameId, mNoData); final LinearLayoutManager layoutManager = new LinearLayoutManager(this); mStrategyRv.setLayoutManager(layoutManager); mStrategyRv.setAdapter(mStrategyAdapter); @@ -77,9 +80,21 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap mSelectGameRl.setVisibility(View.VISIBLE); } + if (!TextUtils.isEmpty(gameName)) { + mGameName.setText(gameName); + } + + // 防抖处理 + RxView.clicks(mSelectGameRl) + .throttleFirst(1, TimeUnit.SECONDS) + .subscribe(new Action1() { + @Override + public void call(Void aVoid) { + OnSelectGameClickListener(); + } + }); } - @OnClick(R.id.strategy_select_game_rl) public void OnSelectGameClickListener() { isShowPopupBg(true); @@ -93,8 +108,9 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap public void onClick(View v) { mGameName.setText("全部游戏"); mDialogGamePosition = -1; + gameId = null; isShowPopupBg(false); - mStrategyAdapter = new StrategyAdapter(StrategyActivity.this, null, mNoData); + mStrategyAdapter = new StrategyAdapter(StrategyActivity.this, gameId, mNoData); mStrategyRv.setAdapter(mStrategyAdapter); } }); @@ -178,12 +194,15 @@ public class StrategyActivity extends BaseActivity implements StrategyDialogAdap @Override public void selectPosition(int position, ConcernInfo concernInfo) { + gameId = concernInfo.getId(); + gameName = concernInfo.getGameName(); mNoData.setVisibility(View.GONE); mDialogGamePosition = position; - mGameName.setText(concernInfo.getGameName()); + + mGameName.setText(gameName); isShowPopupBg(false); - mStrategyAdapter = new StrategyAdapter(this, concernInfo.getId(), mNoData); + mStrategyAdapter = new StrategyAdapter(this, gameId, mNoData); mStrategyRv.setAdapter(mStrategyAdapter); } } diff --git a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java index b2e23d83ef..e867fbeb03 100644 --- a/app/src/main/java/com/gh/gamecenter/SubjectActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SubjectActivity.java @@ -3,8 +3,10 @@ package com.gh.gamecenter; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; +import android.text.TextUtils; import android.view.View; import android.widget.LinearLayout; +import android.widget.TextView; import com.gc.materialdesign.views.ProgressBarCircularIndeterminate; import com.gh.base.BaseActivity; @@ -18,9 +20,19 @@ import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBPackage; +import com.gh.gamecenter.retrofit.Response; +import com.gh.gamecenter.retrofit.RetrofitManager; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; import java.util.ArrayList; +import okhttp3.ResponseBody; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + public class SubjectActivity extends BaseActivity { private RecyclerView subject_list; @@ -28,6 +40,7 @@ public class SubjectActivity extends BaseActivity { private ProgressBarCircularIndeterminate subject_pb_loading; private LinearLayout reuse_no_connection; private LinearLayoutManager layoutManager; + private TextView actionbar_tv_title; private int page = 1; @@ -57,8 +70,10 @@ public class SubjectActivity extends BaseActivity { View contentView = View.inflate(this, R.layout.activity_subject, null); String name = getIntent().getStringExtra("name"); + String id = getIntent().getStringExtra("id"); if (getIntent().getBundleExtra("data") != null) { name = getIntent().getBundleExtra("data").getString("name"); + id = getIntent().getBundleExtra("data").getString("id"); } init(contentView, name); @@ -92,6 +107,38 @@ public class SubjectActivity extends BaseActivity { } }); + if (TextUtils.isEmpty(name) && !TextUtils.isEmpty(id)) { + getSubjectName(id); + } + + } + + private void getSubjectName(String id) { + RetrofitManager.getApi() + .getSubjectName(id) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response(){ + @Override + public void onResponse(ResponseBody response) { + super.onResponse(response); + actionbar_tv_title = (TextView) findViewById(R.id.actionbar_tv_title); + + try { + JSONObject jsonObject = new JSONObject(response.string().toString()); + actionbar_tv_title.setText(jsonObject.getString("name")); + } catch (IOException e) { + e.printStackTrace(); + } catch (JSONException e) { + e.printStackTrace(); + } + } + + @Override + public void onFailure(Throwable e) { + super.onFailure(e); + } + }); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index 21f7773884..384541bd65 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -3,6 +3,7 @@ package com.gh.gamecenter; import android.content.Intent; import android.net.Uri; import android.os.Bundle; +import android.text.TextUtils; import android.view.KeyEvent; import android.view.View; import android.webkit.DownloadListener; @@ -15,6 +16,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import com.gh.base.BaseActivity; +import com.gh.common.util.DisplayUtils; import com.gh.gamecenter.entity.CommentnumEntity; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -35,6 +37,7 @@ public class WebActivity extends BaseActivity { @BindView(R.id.web_progressbar) ProgressBar progressBar; @BindView(R.id.web_comment) TextView webComment; @BindView(R.id.news_bottom) RelativeLayout newsBottom; + @BindView(R.id.actionbar_tv_title) TextView newsTitle; private String newsId; private int commentNum; @@ -47,12 +50,13 @@ public class WebActivity extends BaseActivity { if (getIntent().getBundleExtra("data") != null) { Bundle data = getIntent().getBundleExtra("data"); webUrl = data.getString("url"); - webTitle = "推送网页"; + webTitle = ""; } else { webUrl = getIntent().getStringExtra("url"); webTitle = getIntent().getStringExtra("gameName"); newsId = getIntent().getStringExtra("newsId"); } +// webUrl = "http://tieba.baidu.com/f?kw=%E7%BD%91%E6%98%93%E9%98%B4%E9%98%B3%E5%B8%88&red_tag=3194925450"; View contentView = View.inflate(this, R.layout.activity_web, null); init(contentView, webTitle); @@ -67,11 +71,11 @@ public class WebActivity extends BaseActivity { //用webview打开url webView.setWebViewClient(new WebViewClient(){ - @Override - public boolean shouldOverrideUrlLoading(WebView view, String url) { - view.loadUrl(url); - return true; - } +// @Override +// public boolean shouldOverrideUrlLoading(WebView view, String url) { +// view.loadUrl(url); +// return true; +// } // @Override // public WebResourceResponse shouldInterceptRequest(WebView view, String url) { @@ -95,10 +99,23 @@ public class WebActivity extends BaseActivity { //设置加载进度条 webView.setWebChromeClient(new WebChromeClient(){ + + @Override + public void onReceivedTitle(WebView view, String title) { + super.onReceivedTitle(view, title); + if (TextUtils.isEmpty(newsId)) { + newsTitle.setEllipsize(TextUtils.TruncateAt.END); + newsTitle.setPadding(DisplayUtils.dip2px(getApplication(), 30), 0,DisplayUtils.dip2px(getApplication(), 30), 0); + newsTitle.setSingleLine(); + newsTitle.setText(title); + + } + } + @Override public void onProgressChanged(WebView view, int newProgress) { progressBar.setProgress(newProgress); - if (newProgress == 100){ + if (newProgress == 100 && newsId != null){ progressBar.setVisibility(View.GONE); if (newsBottom.getVisibility() == View.GONE) { newsBottom.setVisibility(View.VISIBLE); @@ -136,7 +153,7 @@ public class WebActivity extends BaseActivity { super.onNext(response); if (response.size() > 0 && response.get(0).getNum() > 0) { commentNum = response.get(0).getNum(); - webComment.setText("查看评论(" + response.get(0).getNum() + ")"); + webComment.setText("查看评论 (" + response.get(0).getNum() + ")"); } } }); @@ -156,7 +173,7 @@ public class WebActivity extends BaseActivity { super.onActivityResult(requestCode, resultCode, data); // 刷新评论数 if (resultCode == 1001 && progressBar.getVisibility() == View.VISIBLE && newsId != null) { - webComment.setText("查看评论(" + data.getExtras().getInt("commentNum") + ")"); + webComment.setText("查看评论 (" + data.getExtras().getInt("commentNum") + ")"); } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java index f1969ad494..17c4cf1cdc 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernRecommendAdapter.java @@ -43,6 +43,8 @@ public class ConcernRecommendAdapter extends RecyclerView.Adapter" + libaoInfo.getCode() + "" + " 复制成功" + + "
请尽快进入游戏兑换"); } else { - msg = "礼包码:" + libaoInfo.getCode() + - "\n淘号礼包不保证可用,请尽快进入游戏尝试兑换"; + msg = Html.fromHtml("礼包码:" +"" + libaoInfo.getCode() + "" + " 复制成功" + + "
淘号礼包不保证可用,请尽快进入游戏尝试兑换"); } LibaoUtils.lunningAppDialog(mContext, msg, mLibaoEntity); @@ -237,7 +237,7 @@ public class LibaoDetailAdapter extends RecyclerView.Adapter" +libaoInfo.getCode()+ ""); + libaoCode = Html.fromHtml("已领取:" + "" +libaoInfo.getCode()+ ""); if (count == 0) { content = Html.fromHtml("剩余:" + count + "%"); } else { 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 0e211e92b6..bd14aec32c 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/SubjectAdapter.java @@ -24,6 +24,7 @@ import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.GameImageViewHolder; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; import com.gh.gamecenter.adapter.viewholder.GameTestViewHolder; +import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.listener.OnCallBackListener; @@ -48,17 +49,20 @@ public class SubjectAdapter extends RecyclerView.Adapter subjectList; - private boolean order; - private boolean isLoaded; + private ArrayMap> locationMap; + private LibaoDao libaoDao; + private String id; private String name; private String entrance; private boolean isRemove; private boolean isNetworkError; + private boolean order; + private boolean isLoaded; public SubjectAdapter(SubjectActivity activity) { @@ -81,6 +85,7 @@ public class SubjectAdapter extends RecyclerView.Adapter(); isLoaded = false; isNetworkError = false; + libaoDao = new LibaoDao(context); initList(1); } @@ -378,10 +383,14 @@ public class SubjectAdapter extends RecyclerView.Adapter 0) { + return true; + } else { + return false; + } + } catch (SQLException e) { + e.printStackTrace(); + } + return false; + } } diff --git a/app/src/main/java/com/gh/gamecenter/db/VoteDao.java b/app/src/main/java/com/gh/gamecenter/db/VoteDao.java index b942f20fe0..baf8896ce7 100644 --- a/app/src/main/java/com/gh/gamecenter/db/VoteDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/VoteDao.java @@ -35,7 +35,7 @@ public class VoteDao { } } - /* + /** * 根据commentId 查找是否点过赞 */ public boolean isVote(String id) { diff --git a/app/src/main/java/com/gh/gamecenter/db/info/LibaoInfo.java b/app/src/main/java/com/gh/gamecenter/db/info/LibaoInfo.java index 5666eb9682..498b5e14db 100644 --- a/app/src/main/java/com/gh/gamecenter/db/info/LibaoInfo.java +++ b/app/src/main/java/com/gh/gamecenter/db/info/LibaoInfo.java @@ -51,10 +51,21 @@ public class LibaoInfo implements Serializable { @DatabaseField(columnName = "active") private boolean active = true; + @DatabaseField(columnName = "packName") + private String packName; + public LibaoInfo() { } + public String getPackName() { + return packName; + } + + public void setPackName(String packName) { + this.packName = packName; + } + public boolean isActive() { return active; } @@ -168,6 +179,7 @@ public class LibaoInfo implements Serializable { libaoInfo.setCode(libaoEntity.getCode()); libaoInfo.setAvailable(libaoEntity.getAvailable()); libaoInfo.setTotal(libaoEntity.getTotal()); + libaoInfo.setPackName(libaoEntity.getPackageName()); return libaoInfo; } diff --git a/app/src/main/java/com/gh/gamecenter/entity/LibaoEntity.java b/app/src/main/java/com/gh/gamecenter/entity/LibaoEntity.java index 10328951b3..3c59195fb1 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/LibaoEntity.java +++ b/app/src/main/java/com/gh/gamecenter/entity/LibaoEntity.java @@ -33,6 +33,7 @@ public class LibaoEntity { private int total; + @SerializedName("package") private String packageName; private boolean active; @@ -175,6 +176,7 @@ public class LibaoEntity { libaoEntity.setCode(libaoInfo.getCode()); libaoEntity.setAvailable(libaoInfo.getAvailable()); libaoEntity.setTotal(libaoInfo.getTotal()); + libaoEntity.setPackageName(libaoInfo.getPackName()); return libaoEntity; } diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragment.java b/app/src/main/java/com/gh/gamecenter/game/GameFragment.java index df4a687fa0..14311b4892 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragment.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragment.java @@ -126,7 +126,10 @@ public class GameFragment extends HomeFragment implements SwipeRefreshLayout.OnR offset = y - y1; y = y1; if ((adapterPosition == -1 || adapterPosition == 0) && Math.abs(offset) < 50) { - adapter.stretchTop(-Math.round(offset)/2, false); + + float d = (offset) * adapter.getDragPercent(); + + adapter.stretchTop(-Math.round(d), false); } break; case MotionEvent.ACTION_UP: diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java index e519b470b6..aa92796a31 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java @@ -50,6 +50,8 @@ import com.gh.gamecenter.adapter.viewholder.GameImageViewHolder; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; import com.gh.gamecenter.adapter.viewholder.GameTestViewHolder; import com.gh.gamecenter.adapter.viewholder.GameViewPagerViewHolder; +import com.gh.gamecenter.db.LibaoDao; +import com.gh.gamecenter.db.info.LibaoInfo; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameUpdateEntity; @@ -88,11 +90,14 @@ public class GameFragmentAdapter extends RecyclerView.Adapter pluginList; private List subjectList; private List subjectDigestList; + private List libaoInfos; // 包名对应游戏位置 private ArrayMap> locationMap; private ArrayMap> subjectChangedMap; //存储换一换的数据 + private LibaoDao libaoDao; + private int itemCount; private int pluginSize; @@ -115,6 +120,9 @@ public class GameFragmentAdapter extends RecyclerView.Adapter(); @@ -517,7 +525,7 @@ public class GameFragmentAdapter extends RecyclerView.Adapter response) { super.onResponse(response); - libaoList = response; - getLibaoStatus(libaoList); + getLibaoStatus(response); } @Override @@ -161,7 +160,7 @@ public class GameDetailAdapter extends RecyclerView.Adapter { } //获取礼包状态 - private void getLibaoStatus(List response) { + private void getLibaoStatus(final List response) { StringBuilder builder = new StringBuilder(); for (int i = 0, size = response.size(); i < size; i++) { builder.append(response.get(i).getId()); @@ -189,22 +188,27 @@ public class GameDetailAdapter extends RecyclerView.Adapter { } } } - for (int i = 0; i < libaoList.size(); i++) { - LibaoEntity libaoEntity = libaoList.get(i); + for (int i = 0; i < response.size(); i++) { + LibaoEntity libaoEntity = response.get(i); for (LibaoStatusEntity libaoStatusEntity : list) { - if ("finish".equals(libaoEntity.getStatus())) { - libaoList.remove(i); - i--; - break; - } - if (libaoEntity.getId().equals(libaoStatusEntity.getId())) { - libaoEntity.setStatus(libaoStatusEntity.getStatus()); - libaoEntity.setAvailable(libaoStatusEntity.getAvailable()); - libaoEntity.setTotal(libaoStatusEntity.getTotal()); + if (libaoStatusEntity.getId().equals(libaoEntity.getId())) { + if ("finish".equals(libaoStatusEntity.getStatus())) { + response.remove(i); + i--; + break; + } + if (libaoEntity.getId().equals(libaoStatusEntity.getId())) { + libaoEntity.setStatus(libaoStatusEntity.getStatus()); + libaoEntity.setAvailable(libaoStatusEntity.getAvailable()); + libaoEntity.setTotal(libaoStatusEntity.getTotal()); + } } } } - initPosition(); + if (response.size() != 0) { + libaoList = response; + initPosition(); + } return null; } }) @@ -874,30 +878,26 @@ public class GameDetailAdapter extends RecyclerView.Adapter { @Override public int getItemViewType(int position) { - int index = 0; - if (position_top != -1 && gameDetailEntity.isSkinTest()) { - index = 1; - } if (position_top != -1 && position == position_top) { return 1; } - if (position_top != -1 && gameDetailEntity.isSkinTest() && position == position_top + 1) { + if (position_top != -1 && gameDetailEntity.isSkinTest() && position == position_skin) { return 6; } - if (position_newsserver != -1 && position == position_newsserver + index) { + if (position_newsserver != -1 && position == position_newsserver) { return 2; } - if (position_plugin != -1 && position == position_plugin + index) { + if (position_plugin != -1 && position == position_plugin) { return 3; } - if (position_libao != -1 && position == position_libao + index) { + if (position_libao != -1 && position == position_libao) { return 7; } - if (position_news != -1 && position == position_news + index) { + if (position_news != -1 && position == position_news) { return 4; } - if (position_intro != -1 && position == position_intro + index) { + if (position_intro != -1 && position == position_intro) { return 5; } return position; diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java index ce0165a1d5..6e757bfa03 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameLibaoGalleryAdapter.java @@ -2,7 +2,6 @@ package com.gh.gamecenter.gamedetail; import android.content.Context; import android.content.Intent; -import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; @@ -39,35 +38,10 @@ public class GameLibaoGalleryAdapter extends RecyclerView.Adapter= 0; i--) { // 数据转换 LibaoInfo libaoInfo = mLibaoInfos.get(i); if (!libaoInfo.isActive()) { continue; @@ -105,13 +106,17 @@ public class Libao3FragmentAdapter extends RecyclerView.Adapter" +libaoEntity.getCode()+ ""); + content = Html.fromHtml("已领取:" + "" +libaoEntity.getCode()+ ""); } else { content = Html.fromHtml("已淘号:" + "" +libaoEntity.getCode()+ ""); } @@ -121,6 +126,19 @@ public class Libao3FragmentAdapter extends RecyclerView.Adapter" + libaoEntity.getCode() + "" + " 复制成功" + + "
请尽快进入游戏兑换"); + } else { + msg = Html.fromHtml("礼包码:" +"" + libaoEntity.getCode() + "" + " 复制成功" + + "
淘号礼包不保证可用,请尽快进入游戏尝试兑换"); + } + LibaoUtils.lunningAppDialog(mContext, msg, libaoEntity); + } + } }); } @@ -137,8 +155,8 @@ public class Libao3FragmentAdapter extends RecyclerView.Adapter不可恢复" +",请确定您已经兑换过该礼包" + DialogUtils.showWarningDialog(mContext, "删除礼包", Html.fromHtml( "礼包码删除之后"+ + "不可恢复" +",请确定您已经兑换过该礼包") , "取消", "确定删除" , new DialogUtils.ConfiremListener() { @Override 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 ee43a0c44a..8db9162745 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/personal/ConcernFragmentAdapter.java @@ -18,6 +18,7 @@ import com.gh.download.DownloadManager; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; +import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.db.info.ConcernInfo; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; @@ -45,6 +46,8 @@ public class ConcernFragmentAdapter extends RecyclerView.Adapter concernList; private List gameList; @@ -67,6 +70,8 @@ public class ConcernFragmentAdapter extends RecyclerView.Adapter runnableGame = cManager.getInstalledGame(); if (runnableGame.isEmpty()) { @@ -236,6 +241,7 @@ public class InstallFragmentAdapter extends RecyclerView.Adapter 1) { for (ApkEntity apkEntity : newEntity.getApk()) { if (sortedList.get(i).getPackageName().equals(apkEntity.getPackageName())) { @@ -358,10 +364,14 @@ public class InstallFragmentAdapter extends RecyclerView.Adapter> getSubjectDigest(); //获取主页专题入口数据 - @GET("game/column/{subject_id}/huanyihuan}") + @GET("game/column/{subject_id}/huanyihuan") Observable> getSubjectGame(@Path("subject_id") String subject_id); //获取专题游戏 用于主页换一批 @Headers({"Content-Type: application/json", "Accept: application/json"}) @@ -165,4 +165,7 @@ public interface ApiService { @GET("device/{device_id}/concern") // 获取设备关注数据 Observable> getConcern(@Path("device_id") String device_id); + @GET("column/{column_id}/name") + Observable getSubjectName(@Path("column_id") String column_id); //根据专题ID获取专题名称 + } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java index 6357dd8a41..36aca99a25 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpInterceptor.java @@ -4,6 +4,7 @@ import com.gh.base.AppController; import com.gh.common.util.GzipUtils; import com.gh.common.util.NetworkUtils; import com.gh.common.util.TimestampUtils; +import com.gh.common.util.Utils; import java.io.IOException; @@ -39,8 +40,8 @@ public class OkHttpInterceptor implements Interceptor { } // log 打印 -// Utils.log(String.format("Interceptor Sending request %s on %s%n%s", -// request.url(), chain.connection(), request.headers())); + Utils.log(String.format("Interceptor Sending request %s on %s%n%s", + request.url(), chain.connection(), request.headers())); Response response = chain.proceed(request); diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java index 30a900715b..d221ae9ccd 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameDetailFragmentAdapter.java @@ -18,6 +18,7 @@ import com.gh.common.util.GameViewUtils; import com.gh.common.view.CardLinearLayout; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder; +import com.gh.gamecenter.db.LibaoDao; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.listener.OnCallBackListener; @@ -40,6 +41,8 @@ public class SearchGameDetailFragmentAdapter extends RecyclerView.Adapter gameList; private ArrayMap> locationMap; + private LibaoDao libaoDao; + private String key; public SearchGameDetailFragmentAdapter(SearchGameDetailFragment fragment, String key) { @@ -49,6 +52,8 @@ public class SearchGameDetailFragmentAdapter extends RecyclerView.Adapter(); locationMap = new ArrayMap<>(); + libaoDao = new LibaoDao(context); + this.key = key; if (!TextUtils.isEmpty(key)) { search(key); @@ -124,10 +129,14 @@ public class SearchGameDetailFragmentAdapter extends RecyclerView.Adapter gameList; private ArrayMap> locationMap; + private LibaoDao libaoDao; + private String key; public SearchGameListFragmentAdapter(SearchGameListFragment fragment, String key) { this.context = fragment.getActivity(); this.listener = fragment; + libaoDao = new LibaoDao(context); + gameList = new ArrayList<>(); locationMap = new ArrayMap<>(); @@ -124,10 +129,14 @@ public class SearchGameListFragmentAdapter extends RecyclerView.Adapter + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_messagedetail.xml b/app/src/main/res/layout/activity_messagedetail.xml index 177e283464..2045c889eb 100644 --- a/app/src/main/res/layout/activity_messagedetail.xml +++ b/app/src/main/res/layout/activity_messagedetail.xml @@ -130,7 +130,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginRight="10dp" - android:layout_marginLeft="5dp" + android:layout_marginLeft="14dp" android:paddingTop="13dp" android:paddingBottom="14dp" android:src="@drawable/ic_edit"/> diff --git a/app/src/main/res/layout/activity_suggest.xml b/app/src/main/res/layout/activity_suggest.xml index 240bcaaf6a..ab15467e7a 100644 --- a/app/src/main/res/layout/activity_suggest.xml +++ b/app/src/main/res/layout/activity_suggest.xml @@ -39,7 +39,7 @@ android:maxLines="12" android:minLines="6" android:padding="8dp" - android:hint="使用过程中发现的任何问题或者其他建议都欢迎提交给我们~光环助手会努力变得更好更强大!\n\n\n\n若反馈游戏问题,请写上游戏名字和平台版本" + android:hint="使用过程中发现的任何问题或者其他建议都欢迎提交给我们~光环助手会努力变得更好更强大!\n\n若反馈游戏问题,请写上游戏名字和平台版本" android:textSize="14sp" /> diff --git a/app/src/main/res/layout/game_viewpager_item.xml b/app/src/main/res/layout/game_viewpager_item.xml index 4751d020d1..3188db422e 100644 --- a/app/src/main/res/layout/game_viewpager_item.xml +++ b/app/src/main/res/layout/game_viewpager_item.xml @@ -19,12 +19,8 @@ android:id="@+id/viewpager_ll_hint" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" - android:orientation="horizontal" - android:layout_alignParentRight="true" - android:layout_marginRight="10dp"> - + android:orientation="horizontal"> + app:right="4dp" + app:top="8dp" + app:bottom="8dp" + app:tran="true" + android:gravity="center"> + + + android:paddingRight="10dp" + android:maxLines="2"/> - \ No newline at end of file diff --git a/app/src/main/res/layout/gamedetail_item_libao_rv.xml b/app/src/main/res/layout/gamedetail_item_libao_rv.xml index 831cba91c9..ad4ee5c9bb 100644 --- a/app/src/main/res/layout/gamedetail_item_libao_rv.xml +++ b/app/src/main/res/layout/gamedetail_item_libao_rv.xml @@ -6,8 +6,6 @@ android:orientation="vertical" android:background="@android:color/white" android:paddingBottom="15dp" - android:paddingLeft="12dp" - android:paddingRight="12dp" android:paddingTop="12dp" app:left="8dp" app:right="8dp" @@ -20,18 +18,24 @@ android:layout_marginBottom="12dp" android:text="游戏礼包" android:textColor="#3a3a3a" + android:paddingLeft="12dp" + android:paddingRight="12dp" android:textSize="16dp" /> + android:layout_height="70dp" + android:layout_marginRight="2dp" + android:layout_marginLeft="2dp"> \ No newline at end of file diff --git a/app/src/main/res/layout/newsdetail_item_comment.xml b/app/src/main/res/layout/newsdetail_item_comment.xml index 4649b7e371..b904fec53f 100644 --- a/app/src/main/res/layout/newsdetail_item_comment.xml +++ b/app/src/main/res/layout/newsdetail_item_comment.xml @@ -16,8 +16,8 @@ android:paddingLeft="23dp" android:paddingTop="7dp" android:paddingBottom="7dp" - android:layout_marginBottom="11dp" - android:layout_marginTop="11dp" + android:layout_marginBottom="12dp" + android:layout_marginTop="12dp" android:layout_centerInParent="true" android:background="@drawable/comment_border_bg"/> \ No newline at end of file