关注操作成功时才改变按钮状态
This commit is contained in:
@ -14,8 +14,10 @@ import com.gh.common.util.RunningUtils;
|
||||
import com.gh.common.util.ShareUtils;
|
||||
import com.gh.common.util.StringUtils;
|
||||
import com.gh.download.DownloadManager;
|
||||
import com.gh.gamecenter.MainActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.eventbus.EBShowDialog;
|
||||
import com.gh.gamecenter.eventbus.EBSkip;
|
||||
import com.lightgame.download.FileUtils;
|
||||
import com.lightgame.utils.AppManager;
|
||||
import com.readystatesoftware.systembartint.SystemBarTintManager.SystemBarConfig;
|
||||
@ -135,7 +137,12 @@ public abstract class BaseActivity extends BaseAppCompatToolBarActivity {
|
||||
String model = device.getString("model");
|
||||
DialogUtils.showAlertDialog(this, "你的账号已在另外一台设备登录"
|
||||
, StringUtils.buildString("(", manufacturer, "-", model, ")")
|
||||
, "知道了", null, null, null);
|
||||
, "知道了", null, new DialogUtils.ConfirmListener() {
|
||||
@Override
|
||||
public void onConfirm() {
|
||||
EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 2));
|
||||
}
|
||||
}, null);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@ -25,23 +25,43 @@ import java.util.*
|
||||
*/
|
||||
object ConcernUtils {
|
||||
|
||||
fun postConcernGameId(context: Context, gameId: String) {
|
||||
fun postConcernGameId(context: Context, gameId: String, listener: onConcernListener) {
|
||||
val params = JSONArray()
|
||||
params.put(gameId)
|
||||
val body = RequestBody.create(MediaType.parse("application/json"), params.toString())
|
||||
RetrofitManager.getApi()
|
||||
.postConcern(LoginUtils.getToken(context), body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(Response<ResponseBody>())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(object : Response<ResponseBody>(){
|
||||
override fun onResponse(response: ResponseBody?) {
|
||||
super.onResponse(response)
|
||||
listener.onSuccess()
|
||||
}
|
||||
|
||||
override fun onFailure(e: HttpException?) {
|
||||
super.onFailure(e)
|
||||
listener.onError()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun deleteConcernData(context: Context, gameId: String) {
|
||||
fun deleteConcernData(context: Context, gameId: String, listener: onConcernListener) {
|
||||
RetrofitManager.getApi()
|
||||
.deleteConcern(LoginUtils.getToken(context), gameId)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(Schedulers.io())
|
||||
.subscribe(Response<ResponseBody>())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(object : Response<ResponseBody>(){
|
||||
override fun onResponse(response: ResponseBody?) {
|
||||
super.onResponse(response)
|
||||
listener.onSuccess()
|
||||
}
|
||||
|
||||
override fun onFailure(e: HttpException?) {
|
||||
super.onFailure(e)
|
||||
listener.onError()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fun updateConcernData(context: Context, data: JSONArray) {
|
||||
@ -127,5 +147,10 @@ object ConcernUtils {
|
||||
})
|
||||
}
|
||||
|
||||
interface onConcernListener {
|
||||
fun onSuccess()
|
||||
fun onError()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,6 @@ import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.base.BaseActivity;
|
||||
@ -511,28 +510,40 @@ public class GameDetailActivity extends BaseActivity {
|
||||
CheckLoginUtils.checkLogin(GameDetailActivity.this, new CheckLoginUtils.OnLoggenInListener() {
|
||||
@Override
|
||||
public void onLoggedIn() {
|
||||
mGameConcern.setEnabled(false);
|
||||
if ("关注".equals(mGameConcern.getText().toString())) {
|
||||
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("点击", "关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "插件数据", mGameEntity.getName(), kv2);
|
||||
|
||||
DataCollectionUtils.uploadConcern(GameDetailActivity.this, mGameEntity.getName(), mGameEntity.getId(), "关注");
|
||||
|
||||
mConcernManager.addByEntity(mGameEntity);
|
||||
mGameConcern.setText("取消关注");
|
||||
mGameConcern.setBackgroundResource(R.drawable.border_red_bg);
|
||||
mGameConcern.setTextColor(Color.parseColor("#ff4147"));
|
||||
|
||||
Toast.makeText(GameDetailActivity.this, "关注成功", Toast.LENGTH_SHORT).show();
|
||||
|
||||
// 添加关注
|
||||
ConcernUtils.INSTANCE.postConcernGameId(GameDetailActivity.this, mGameEntity.getId());
|
||||
ConcernUtils.INSTANCE.postConcernGameId(GameDetailActivity.this, mGameEntity.getId()
|
||||
, new ConcernUtils.onConcernListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("点击", "关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "插件数据", mGameEntity.getName(), kv2);
|
||||
|
||||
DataCollectionUtils.uploadConcern(GameDetailActivity.this, mGameEntity.getName(), mGameEntity.getId(), "关注");
|
||||
|
||||
mConcernManager.addByEntity(mGameEntity);
|
||||
mGameConcern.setText("取消关注");
|
||||
mGameConcern.setBackgroundResource(R.drawable.border_red_bg);
|
||||
mGameConcern.setTextColor(Color.parseColor("#ff4147"));
|
||||
|
||||
toast("关注成功");
|
||||
mGameConcern.setEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
mGameConcern.setEnabled(true);
|
||||
toast("关注失败");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
mGameConcern.setEnabled(true);
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("点击", "取消关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "插件数据", mGameEntity.getName(), kv2);
|
||||
@ -540,20 +551,29 @@ public class GameDetailActivity extends BaseActivity {
|
||||
DialogUtils.showCancelDialog(GameDetailActivity.this, new DialogUtils.ConfirmListener() {
|
||||
@Override
|
||||
public void onConfirm() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "取消关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
DataCollectionUtils.uploadConcern(GameDetailActivity.this,
|
||||
mGameEntity.getName(), mGameEntity.getId(), "取消关注");
|
||||
|
||||
mConcernManager.deleteConcern(mGameEntity.getId());
|
||||
mGameConcern.setText("关注");
|
||||
mGameConcern.setBackgroundResource(R.drawable.textview_concern_red_style);
|
||||
mGameConcern.setTextColor(0xffffffff);
|
||||
|
||||
// 取消关注
|
||||
ConcernUtils.INSTANCE.deleteConcernData(GameDetailActivity.this, mGameEntity.getId());
|
||||
ConcernUtils.INSTANCE.deleteConcernData(GameDetailActivity.this, mGameEntity.getId()
|
||||
, new ConcernUtils.onConcernListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "取消关注");
|
||||
DataUtils.onEvent(GameDetailActivity.this, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
DataCollectionUtils.uploadConcern(GameDetailActivity.this,
|
||||
mGameEntity.getName(), mGameEntity.getId(), "取消关注");
|
||||
|
||||
mConcernManager.deleteConcern(mGameEntity.getId());
|
||||
mGameConcern.setText("关注");
|
||||
mGameConcern.setBackgroundResource(R.drawable.textview_concern_red_style);
|
||||
mGameConcern.setTextColor(0xffffffff);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
toast("取消关注失败");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -449,10 +449,10 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt
|
||||
for (String s : mAdapter.getFileList()) {
|
||||
path = getCacheDir() + File.separator + System.currentTimeMillis() + index + ".jpg";
|
||||
if (BitmapUtils.savePicture(path, s)) {
|
||||
subscriber.onNext(FileUtils.uploadFile(Config.API_HOST + "support/upload/img?type=suggestion", path, null));
|
||||
subscriber.onNext(FileUtils.uploadFile(Config.API_HOST + "support/upload/img?type=suggestion", path, LoginUtils.getToken(SuggestionActivity.this)));
|
||||
index++;
|
||||
} else {
|
||||
subscriber.onNext(FileUtils.uploadFile(Config.API_HOST + "support/upload/img?type=suggestion", s, null));
|
||||
subscriber.onNext(FileUtils.uploadFile(Config.API_HOST + "support/upload/img?type=suggestion", s, LoginUtils.getToken(SuggestionActivity.this)));
|
||||
}
|
||||
}
|
||||
subscriber.onCompleted();
|
||||
|
||||
@ -325,7 +325,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
}
|
||||
}
|
||||
|
||||
private void initGameDetailTopViewHolder(GameDetailTopViewHolder viewHolder) {
|
||||
private void initGameDetailTopViewHolder(final GameDetailTopViewHolder viewHolder) {
|
||||
ImageUtils.Companion.display(viewHolder.gamedetailThumb, mGameEntity.getIcon());
|
||||
viewHolder.gamedetailName.setText(mGameEntity.getName());
|
||||
if (mGameEntity.getApk() != null && mGameEntity.getApk().size() != 0) {
|
||||
@ -357,28 +357,41 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
@Override
|
||||
public void onLoggedIn() {
|
||||
String str = concern.getText().toString();
|
||||
viewHolder.gamedetailConcern.setEnabled(false);
|
||||
if ("关注".equals(str)) {
|
||||
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "关注");
|
||||
DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("点击", "关注");
|
||||
DataUtils.onEvent(mContext, "插件数据", mGameEntity.getName(), kv2);
|
||||
|
||||
DataCollectionUtils.uploadConcern(mContext, mGameEntity.getName(), mGameEntity.getId(), "关注");
|
||||
|
||||
mConcernManager.addByEntity(mGameEntity);
|
||||
concern.setText("取消关注");
|
||||
concern.setBackgroundResource(R.drawable.border_red_bg);
|
||||
concern.setTextColor(Color.parseColor("#ff4147"));
|
||||
|
||||
Toast.makeText(mContext, "关注成功", Toast.LENGTH_SHORT).show();
|
||||
|
||||
// 添加关注
|
||||
ConcernUtils.INSTANCE.postConcernGameId(mContext, mGameEntity.getId());
|
||||
ConcernUtils.INSTANCE.postConcernGameId(mContext, mGameEntity.getId()
|
||||
, new ConcernUtils.onConcernListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "关注");
|
||||
DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
Map<String, Object> kv2 = new HashMap<>();
|
||||
kv2.put("点击", "关注");
|
||||
DataUtils.onEvent(mContext, "插件数据", mGameEntity.getName(), kv2);
|
||||
|
||||
DataCollectionUtils.uploadConcern(mContext, mGameEntity.getName(), mGameEntity.getId(), "关注");
|
||||
|
||||
mConcernManager.addByEntity(mGameEntity);
|
||||
concern.setText("取消关注");
|
||||
concern.setBackgroundResource(R.drawable.border_red_bg);
|
||||
concern.setTextColor(Color.parseColor("#ff4147"));
|
||||
|
||||
Toast.makeText(mContext, "关注成功", Toast.LENGTH_SHORT).show();
|
||||
viewHolder.gamedetailConcern.setEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
Toast.makeText(mContext, "关注失败", Toast.LENGTH_SHORT).show();
|
||||
viewHolder.gamedetailConcern.setEnabled(true);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
viewHolder.gamedetailConcern.setEnabled(true);
|
||||
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "取消关注");
|
||||
DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv);
|
||||
@ -390,20 +403,29 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter<ViewHolder> {
|
||||
DialogUtils.showCancelDialog(mContext, new DialogUtils.ConfirmListener() {
|
||||
@Override
|
||||
public void onConfirm() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "取消关注");
|
||||
DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
DataCollectionUtils.uploadConcern(mContext,
|
||||
mGameEntity.getName(), mGameEntity.getId(), "取消关注");
|
||||
|
||||
mConcernManager.deleteConcern(mGameEntity.getId());
|
||||
concern.setText("关注");
|
||||
concern.setBackgroundResource(R.drawable.textview_concern_red_style);
|
||||
concern.setTextColor(Color.WHITE);
|
||||
|
||||
//取消关注
|
||||
ConcernUtils.INSTANCE.deleteConcernData(mContext, mGameEntity.getId());
|
||||
ConcernUtils.INSTANCE.deleteConcernData(mContext, mGameEntity.getId()
|
||||
, new ConcernUtils.onConcernListener() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
Map<String, Object> kv = new HashMap<>();
|
||||
kv.put("状态", "取消关注");
|
||||
DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv);
|
||||
|
||||
DataCollectionUtils.uploadConcern(mContext,
|
||||
mGameEntity.getName(), mGameEntity.getId(), "取消关注");
|
||||
|
||||
mConcernManager.deleteConcern(mGameEntity.getId());
|
||||
concern.setText("关注");
|
||||
concern.setBackgroundResource(R.drawable.textview_concern_red_style);
|
||||
concern.setTextColor(Color.WHITE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError() {
|
||||
Toast.makeText(mContext, "取消关注失败", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user