diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 11909219c5..9b62f8e0d0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -91,7 +91,7 @@ android:name="com.gh.gamecenter.MainActivity" android:launchMode="singleTop" android:screenOrientation="portrait" - android:windowSoftInputMode="stateHidden|adjustResize"/> + android:windowSoftInputMode="stateAlwaysHidden|adjustResize"/> diff --git a/app/src/main/java/com/gh/base/DetailActivity.java b/app/src/main/java/com/gh/base/DetailActivity.java index 768cd14958..2dac625add 100644 --- a/app/src/main/java/com/gh/base/DetailActivity.java +++ b/app/src/main/java/com/gh/base/DetailActivity.java @@ -327,8 +327,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic } } else { DownloadDialog.getInstance(this) - .showPopupWindow(v, gameEntity, entrance + "-" + name, - name + ":" + title); + .showPopupWindow(v, gameEntity, entrance, name + ":" + title); } } else { toast("稍等片刻~!游戏正在上传中..."); @@ -364,6 +363,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic if (detail_tv_download.getText().toString().contains("启动")) { Map kv = new HashMap<>(); kv.put("版本", gameEntity.getApk().get(0).getPlatform()); + kv.put("页面", name); DataUtils.onEvent(DetailActivity.this, "游戏启动", gameEntity.getName(), kv); PackageUtils.launchApplicationByPackageName(getApplicationContext(), @@ -380,7 +380,8 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic Map kv2 = new HashMap<>(); kv2.put("版本", apkEntity.getPlatform()); kv2.put("状态", "下载开始"); - kv2.put("位置", entrance + "-" + name + "-开始"); + kv2.put("页面", name); + kv2.put("位置", entrance); DataUtils.onEvent(DetailActivity.this, "游戏下载位置", gameEntity.getName(), kv2); Map kv3 = new HashMap<>(); @@ -410,7 +411,7 @@ public abstract class DetailActivity extends BaseActivity implements View.OnClic downloadEntity.setIcon(gameEntity.getIcon()); downloadEntity.setPlatform(apkEntity.getPlatform()); downloadEntity.setGameId(gameEntity.getId()); - downloadEntity.setEntrance(entrance + "-" + name); + downloadEntity.setEntrance(entrance); downloadEntity.setLocation(name + ":" + title); DownloadManager.getInstance(getApplicationContext()).add(downloadEntity); diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index e8a0d3ffce..2e875252a7 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -121,7 +121,7 @@ public class DownloadItemUtils { DownloadEntity downloadEntity = entryMap.get(entryMap.keyAt(0)); - if (downloadEntity != null && (!entity.isPluggable() + if (downloadEntity != null && (!downloadEntity.isPluggable() || entity.getApk().get(0).getPlatform().equals( downloadEntity.getPlatform()))) { // 更改进度条和提示文本的状态 diff --git a/app/src/main/java/com/gh/download/DataChanger.java b/app/src/main/java/com/gh/download/DataChanger.java index f3749023c8..25968b9684 100644 --- a/app/src/main/java/com/gh/download/DataChanger.java +++ b/app/src/main/java/com/gh/download/DataChanger.java @@ -1,6 +1,8 @@ package com.gh.download; +import java.util.Collections; import java.util.HashMap; +import java.util.Map; import java.util.Observable; @@ -15,19 +17,19 @@ public class DataChanger extends Observable { return mInstance; } - private HashMap mDownloadingTasks;//当前正在下载的任务队列 - private HashMap mDownloadEntries;//包含所有下载任务的任务队列 + private Map mDownloadingTasks;//当前正在下载的任务队列 + private Map mDownloadEntries;//包含所有下载任务的任务队列 private DataChanger() { - mDownloadingTasks = new HashMap(); - mDownloadEntries = new HashMap(); + mDownloadingTasks = Collections.synchronizedMap(new HashMap()); + mDownloadEntries = Collections.synchronizedMap(new HashMap()); } - public HashMap getDownloadingTasks() { + public Map getDownloadingTasks() { return mDownloadingTasks; } - public HashMap getDownloadEntries() { + public Map getDownloadEntries() { return mDownloadEntries; } diff --git a/app/src/main/java/com/gh/download/DownloadTask.java b/app/src/main/java/com/gh/download/DownloadTask.java index d488fb7e03..0fd55a955b 100644 --- a/app/src/main/java/com/gh/download/DownloadTask.java +++ b/app/src/main/java/com/gh/download/DownloadTask.java @@ -11,6 +11,7 @@ import com.gh.common.util.Utils; import java.text.DecimalFormat; import java.util.HashMap; import java.util.Iterator; +import java.util.Map; import java.util.Map.Entry; public class DownloadTask implements DownloadListener { @@ -139,7 +140,7 @@ public class DownloadTask implements DownloadListener { /*********************** 处理网络异常 ***********************/ if (status == DownloadStatus.timeout || status == DownloadStatus.neterror) { - HashMap map = DataChanger.getInstance().getDownloadingTasks(); + Map map = DataChanger.getInstance().getDownloadingTasks(); Iterator iterator = map.keySet().iterator(); String key; while (iterator.hasNext()) { diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index 8b275764fc..ff7b93e331 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -47,6 +47,7 @@ import java.util.Map; public class NewsDetailActivity extends DetailActivity implements OnClickListener { public static final String TAG = NewsDetailActivity.class.getSimpleName(); + private NewsDetailAdapter adapter; private String newsId; @@ -266,6 +267,11 @@ public class NewsDetailActivity extends DetailActivity implements OnClickListene public void onClick(final View v) { super.onClick(v); if (v == iv_share) { + Map kv = new HashMap<>(); + kv.put("名字", adapter.getNewsDetailEntity().getTitle()); + kv.put("位置", "分享"); + DataUtils.onEvent(this, "点击", "新闻详情", kv); + Map map = new HashMap<>(); map.put("location", "分享"); map.put("news", adapter.getNewsDetailEntity().getTitle()); @@ -286,8 +292,6 @@ public class NewsDetailActivity extends DetailActivity implements OnClickListene } else if (v == reuse_no_connection) { detail_rv_show.setVisibility(View.VISIBLE); reuse_ll_loading.setVisibility(View.VISIBLE); - detail_ll_bottom.setVisibility(View.VISIBLE); - detail_rv_show.setPadding(0, 0, 0, DisplayUtils.dip2px(getApplicationContext(), 44)); reuse_no_connection.setVisibility(View.GONE); handler.postDelayed(runnable, 1000); } diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 07bfd09f05..bc515be7a4 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -6,15 +6,18 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; +import android.media.Image; import android.os.Bundle; import android.os.Handler; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; +import android.util.DisplayMetrics; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; +import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; @@ -62,7 +65,6 @@ public class SplashScreenActivity extends BaseActivity { public static final String TAG = SplashScreenActivity.class.getSimpleName(); - private ConcernManager concernManager; private SharedPreferences sp; private String from; @@ -123,19 +125,29 @@ public class SplashScreenActivity extends BaseActivity { @Override public Object instantiateItem(ViewGroup container, int position) { - ImageView imageView = new ImageView(SplashScreenActivity.this); - ImageUtils.getInstance(SplashScreenActivity.this). - display("drawable://" + pics[position], imageView, -1); if (position == pics.length - 1) { - imageView.setOnClickListener(new View.OnClickListener() { + View view = View.inflate(SplashScreenActivity.this, R.layout.splash_viewpage_item, null); + TextView textView = (TextView) view.findViewById(R.id.splash_viewPager_item_btn); + DisplayMetrics outMetrics = new DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(outMetrics); + RelativeLayout.LayoutParams rparams = (RelativeLayout.LayoutParams) textView.getLayoutParams(); + rparams.height = outMetrics.heightPixels / 4; + textView.setLayoutParams(rparams); + textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { launch(); } }); + container.addView(view); + return view; + } else { + ImageView imageView = new ImageView(SplashScreenActivity.this); + ImageUtils.getInstance(SplashScreenActivity.this). + display("drawable://" + pics[position], imageView, -1); + container.addView(imageView); + return imageView; } - container.addView(imageView); - return imageView; } @Override @@ -189,8 +201,6 @@ public class SplashScreenActivity extends BaseActivity { checkGhFile(); - concernManager = new ConcernManager(getApplicationContext()); - /* * 更新过滤表,获取自动刷新的cd,获取版本对应表 */ diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java index af9e9bf4a6..587e7aaf41 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/ConcernAdapter.java @@ -157,7 +157,8 @@ public class ConcernAdapter extends RecyclerView.Adapter { if (concernGameList != null) { concernGameList.remove(holder.getPosition()); } - notifyItemRemoved(holder.getPosition()); +// notifyItemRemoved(holder.getPosition()); + notifyDataSetChanged(); if (concernList.isEmpty()) { listener.loadEmpty(); } 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 f05f57e210..ae11d5670e 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadAdapter.java @@ -415,27 +415,54 @@ public class GameDownloadAdapter extends RecyclerView.Adapter serverInfo = gameDetailEntity.getServerInfo(); - viewHolder.gamedetail_newsserver_show.setLayoutManager(new LinearLayoutManager( - context, LinearLayoutManager.HORIZONTAL, false)); - viewHolder.gamedetail_newsserver_show.setAdapter( - new GameDetailNewsServerAdapter(context, serverInfo)); - viewHolder.gamedetail_newsserver_show.setOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(RecyclerView recyclerView, int dx, int dy) { - super.onScrolled(recyclerView, dx, dy); - LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); - if (layoutManager.findFirstVisibleItemPosition() == 0 - && layoutManager.findViewByPosition(0).getLeft() == 0) { - viewHolder.gamedetail_newsserver_left.setVisibility(View.INVISIBLE); - viewHolder.gamedetail_newsserver_right.setVisibility(View.VISIBLE); - } else if (layoutManager.findLastVisibleItemPosition() == recyclerView.getAdapter().getItemCount() - 1 - && layoutManager.findViewByPosition(recyclerView.getAdapter().getItemCount() - 1).getRight() == recyclerView.getWidth()) { - viewHolder.gamedetail_newsserver_left.setVisibility(View.VISIBLE); - viewHolder.gamedetail_newsserver_right.setVisibility(View.INVISIBLE); - } else { - viewHolder.gamedetail_newsserver_left.setVisibility(View.VISIBLE); - viewHolder.gamedetail_newsserver_right.setVisibility(View.VISIBLE); - } - } - }); - if (serverInfo.size() <= 3) { - viewHolder.gamedetail_newsserver_left.setVisibility(View.GONE); - viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); - } else { - int todayPosition = -1; - int tomorrowPosition = -1; - for (int j = 0, sizej = serverInfo.size(); j < sizej; j++) { - if ("今天".equals(serverInfo.get(j).getTag()) - && todayPosition == -1) { - todayPosition = j; - } else if ("明天".equals(serverInfo.get(j).getTag()) - && tomorrowPosition == -1) { - tomorrowPosition = j; - } - } - if (!(todayPosition == 0 || todayPosition == 1 || todayPosition == -1)) { - if (serverInfo.size() >= todayPosition + 2) { - viewHolder.gamedetail_newsserver_show.scrollToPosition(todayPosition - 1); - } else { - viewHolder.gamedetail_newsserver_show.scrollToPosition(todayPosition); - } - } else if (todayPosition == -1 - && !(tomorrowPosition == 0 || tomorrowPosition == 1 || tomorrowPosition == -1)) { - if (serverInfo.size() >= todayPosition + 2) { - viewHolder.gamedetail_newsserver_show.scrollToPosition(tomorrowPosition - 1); - } else { - viewHolder.gamedetail_newsserver_show.scrollToPosition(tomorrowPosition); - } - } else if (todayPosition == -1 && tomorrowPosition == -1) { - viewHolder.gamedetail_newsserver_show.scrollToPosition(serverInfo.size() - 1); - viewHolder.gamedetail_newsserver_show.setVisibility(View.GONE); + initNewsServerViewHolder((GameDetailNewsServerViewHolder) holder); + } + } + + private void initNewsServerViewHolder(final GameDetailNewsServerViewHolder viewHolder) { + ArrayList serverInfo = gameDetailEntity.getServerInfo(); + viewHolder.gamedetail_newsserver_show.setLayoutManager(new LinearLayoutManager( + context, LinearLayoutManager.HORIZONTAL, false)); + viewHolder.gamedetail_newsserver_show.setAdapter( + new GameDetailNewsServerAdapter(context, serverInfo)); + viewHolder.gamedetail_newsserver_show.setOnScrollListener(new RecyclerView.OnScrollListener() { + @Override + public void onScrolled(RecyclerView recyclerView, int dx, int dy) { + super.onScrolled(recyclerView, dx, dy); + LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); + if (layoutManager.findFirstVisibleItemPosition() == 0 + && layoutManager.findViewByPosition(0).getLeft() == 0) { + viewHolder.gamedetail_newsserver_left.setVisibility(View.INVISIBLE); + viewHolder.gamedetail_newsserver_right.setVisibility(View.VISIBLE); + } else if (layoutManager.findLastVisibleItemPosition() == recyclerView.getAdapter().getItemCount() - 1 + && layoutManager.findViewByPosition(recyclerView.getAdapter().getItemCount() - 1).getRight() == recyclerView.getWidth()) { + viewHolder.gamedetail_newsserver_left.setVisibility(View.VISIBLE); + viewHolder.gamedetail_newsserver_right.setVisibility(View.INVISIBLE); } else { - viewHolder.gamedetail_newsserver_left.setVisibility(View.GONE); + viewHolder.gamedetail_newsserver_left.setVisibility(View.VISIBLE); + viewHolder.gamedetail_newsserver_right.setVisibility(View.VISIBLE); } - if (todayPosition == serverInfo.size() - 1 - || todayPosition == serverInfo.size() - 2) { - viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); + } + }); + if (serverInfo.size() <= 3) { + viewHolder.gamedetail_newsserver_left.setVisibility(View.GONE); + viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); + } else { + int todayPosition = -1; + int tomorrowPosition = -1; + for (int j = 0, sizej = serverInfo.size(); j < sizej; j++) { + if ("今天".equals(serverInfo.get(j).getTag()) + && todayPosition == -1) { + todayPosition = j; + } else if ("明天".equals(serverInfo.get(j).getTag()) + && tomorrowPosition == -1) { + tomorrowPosition = j; } - if (todayPosition == -1 - && (tomorrowPosition == serverInfo.size() - 1 - || tomorrowPosition == serverInfo.size() - 2)) { - viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); + } + if (!(todayPosition == 0 || todayPosition == 1 || todayPosition == -1)) { + if (serverInfo.size() >= todayPosition + 2) { + viewHolder.gamedetail_newsserver_show.scrollToPosition(todayPosition - 1); + } else { + viewHolder.gamedetail_newsserver_show.scrollToPosition(todayPosition); } + } else if (todayPosition == -1 + && !(tomorrowPosition == 0 || tomorrowPosition == 1 || tomorrowPosition == -1)) { + if (serverInfo.size() >= todayPosition + 2) { + viewHolder.gamedetail_newsserver_show.scrollToPosition(tomorrowPosition - 1); + } else { + viewHolder.gamedetail_newsserver_show.scrollToPosition(tomorrowPosition); + } + } else if (todayPosition == -1 && tomorrowPosition == -1) { + viewHolder.gamedetail_newsserver_show.scrollToPosition(serverInfo.size() - 1); + viewHolder.gamedetail_newsserver_show.setVisibility(View.GONE); + } else { + viewHolder.gamedetail_newsserver_left.setVisibility(View.GONE); + } + if (todayPosition == serverInfo.size() - 1 + || todayPosition == serverInfo.size() - 2) { + viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); + } + if (todayPosition == -1 + && (tomorrowPosition == serverInfo.size() - 1 + || tomorrowPosition == serverInfo.size() - 2)) { + viewHolder.gamedetail_newsserver_right.setVisibility(View.GONE); } } } @@ -355,10 +358,23 @@ public class GameDetailAdapter extends RecyclerView.Adapter { if (gameDetailEntity.getArticleTypes() != null && gameEntity.getId() != null && gameEntity.getName() != null) { + Map kv = new HashMap<>(); + kv.put("名字", gameEntity.getName()); + kv.put("位置", "资讯攻略-全部"); + DataUtils.onEvent(context, "点击", "游戏详情", kv); + + Map map = new HashMap<>(); + map.put("location", "资讯攻略-全部"); + map.put("page", "游戏详情"); + map.put("game", gameEntity.getName()); + map.put("game_id", gameEntity.getId()); + DataCollectionManager.onEvent(context, "click-item", map); + Intent intent = new Intent(context, GameNewsActivity.class); intent.putExtra("articleTypes", gameDetailEntity.getArticleTypes()); intent.putExtra("gameName", gameEntity.getName()); intent.putExtra("gameId", gameId); + intent.putExtra("entrance", entrance + "+(游戏详情:资讯攻略)"); context.startActivity(intent); } } @@ -384,12 +400,25 @@ public class GameDetailAdapter extends RecyclerView.Adapter { tv_title.setText(newsList.get(i).getTitle()); final NewsEntity newsEntity = newsList.get(i); + final int ii = i; view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + Map kv = new HashMap<>(); + kv.put("名字", newsEntity.getTitle()); + kv.put("位置", String.valueOf(ii + 1)); + DataUtils.onEvent(context, "点击", "游戏详情-资讯攻略", kv); + + Map map = new HashMap<>(); + map.put("location", "资讯攻略"); + map.put("page", "游戏详情"); + map.put("news", newsEntity.getTitle()); + map.put("news_id", newsEntity.getId()); + DataCollectionManager.onEvent(context, "click-item", map); + // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsActivity(context, newsEntity, entrance + "-游戏详情"); + NewsUtils.startNewsActivity(context, newsEntity, entrance + "+(游戏详情:资讯攻略)"); } }); viewHolder.gamedetail_item_news_list.addView(view); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java index b57b9ab694..4e3cd76f25 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameGalleryAdapter.java @@ -7,11 +7,15 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.gh.common.util.DataUtils; import com.gh.common.util.ImageUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.ViewImageActivity; +import com.gh.gamecenter.manager.DataCollectionManager; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; /** * Created by LGT on 2016/9/8. @@ -40,6 +44,15 @@ public class GameGalleryAdapter extends RecyclerView.Adapter kv = new HashMap<>(); + kv.put("位置", String.valueOf(holder.getPosition() + 1)); + DataUtils.onEvent(context, "点击", "游戏详情-游戏介绍", kv); + + Map map = new HashMap<>(); + map.put("location", "游戏介绍"); + map.put("page", "游戏详情"); + DataCollectionManager.onEvent(context, "click-item", map); + Intent intent = new Intent(context, ViewImageActivity.class); intent.putExtra("urls", gallery); intent.putExtra("current", holder.getPosition()); diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index 65c9ac6c0b..e67d7a8114 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -204,7 +204,7 @@ public class NewsDetailAdapter extends RecyclerView.Adapter { } } - private void initNewsDetailNewsMoreViewHolder(NewsDetailNewsMoreViewHolder viewHolder) { + private void initNewsDetailNewsMoreViewHolder(final NewsDetailNewsMoreViewHolder viewHolder) { if (viewHolder.newsdetail_item_ll_news_more.getTag() == null) { for (int i = 0; i < newsDetailEntity.getMore().size(); i++) { final NewsEntity newsEntity = newsDetailEntity.getMore().get(i); @@ -214,13 +214,24 @@ public class NewsDetailAdapter extends RecyclerView.Adapter { tv_tag.setText(newsEntity.getType()); tv_title.setText(newsEntity.getTitle()); tv_title.setTextColor(Color.parseColor("#3a3a3a")); - final String newsId = newsEntity.getId(); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + Map kv = new HashMap<>(); + kv.put("名字", newsEntity.getTitle()); + kv.put("位置", String.valueOf(viewHolder.getPosition() + 1)); + DataUtils.onEvent(context, "点击", "新闻详情-相关推荐", kv); + + Map map = new HashMap<>(); + map.put("location", "相关推荐"); + map.put("page", "新闻详情"); + map.put("news", newsEntity.getTitle()); + map.put("news_id", newsEntity.getId()); + DataCollectionManager.onEvent(context, "click-item", map); + // 统计阅读量 NewsUtils.statNewsViews(newsEntity.getId()); - NewsUtils.startNewsActivity(context, newsEntity, entrance + "-新闻详情"); + NewsUtils.startNewsActivity(context, newsEntity, entrance + "+(新闻详情:相关推荐)"); } }); viewHolder.newsdetail_item_ll_news_more.addView(view); diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index c1dba1c190..c1e2cd86da 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -52,6 +52,8 @@ import com.gh.gamecenter.manager.DataCollectionManager; import com.gh.gamecenter.volley.extended.StringExtendedRequest; import com.tencent.stat.StatConfig; +import org.apache.http.HttpStatus; +import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; @@ -314,6 +316,8 @@ public class PersonalFragment extends Fragment implements View.OnClickListener, startActivityForResult(intent, 0x124); } else if (requestCode == 0x124 && data != null) { String url = data.getExtras().getString("url"); + SharedPreferences sp = getActivity().getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); + sp.edit().putString("user_icon", url).apply(); ImageUtils.getInstance(getActivity()).display(url, me_iv_top_icon, R.drawable.user_default_icon); } } @@ -336,8 +340,6 @@ public class PersonalFragment extends Fragment implements View.OnClickListener, Toast.makeText(getActivity(), "请输入昵称", Toast.LENGTH_SHORT).show(); return true; } - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(v.getWindowToken(), 0); modifyNickname(nickname); dialog.dismiss(); return true; @@ -411,6 +413,8 @@ public class PersonalFragment extends Fragment implements View.OnClickListener, public void onResponse(String response) { Utils.log("onResponse = " + response); waitDialog.dismiss(); + SharedPreferences sp = getActivity().getSharedPreferences(Config.PREFERENCE, Context.MODE_PRIVATE); + sp.edit().putString("user_name", nickname).apply(); Toast.makeText(getActivity(), "修改成功", Toast.LENGTH_SHORT).show(); me_tv_top_name.setText(nickname); } @@ -419,9 +423,30 @@ public class PersonalFragment extends Fragment implements View.OnClickListener, public void onErrorResponse(VolleyError error) { Utils.log("onErrorResponse = " + error); waitDialog.dismiss(); - Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show(); + if (error.networkResponse != null + && error.networkResponse.statusCode == HttpStatus.SC_FORBIDDEN) { + try { + JSONObject response = new JSONObject(new String(error.networkResponse.data)); + String detail = response.getString("detail"); + if ("too long".equals(detail)) { + Toast.makeText(getActivity(), "昵称太长", Toast.LENGTH_SHORT).show(); + } else if ("invalid".equals(detail)) { + Toast.makeText(getActivity(), "非法字符", Toast.LENGTH_SHORT).show(); + } else if ("repeat".equals(detail)) { + Toast.makeText(getActivity(), "昵称已存在", Toast.LENGTH_SHORT).show(); + } else if ("no change".equals(detail)) { + Toast.makeText(getActivity(), "昵称一致", Toast.LENGTH_SHORT).show(); + } + } catch (JSONException e) { + e.printStackTrace(); + Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show(); + } + } else { + Toast.makeText(getActivity(), "修改失败", Toast.LENGTH_SHORT).show(); + } } }); + request.setShouldCache(false); request.addHeader("TOKEN", TokenUtils.getToken(getActivity())); AppController.addToRequestQueue(request, TAG); } diff --git a/app/src/main/res/drawable-nodpi/splash_01.jpg b/app/src/main/res/drawable-nodpi/splash_01.jpg index 76037f23ad..bd83d03562 100644 Binary files a/app/src/main/res/drawable-nodpi/splash_01.jpg and b/app/src/main/res/drawable-nodpi/splash_01.jpg differ diff --git a/app/src/main/res/drawable-nodpi/splash_02.jpg b/app/src/main/res/drawable-nodpi/splash_02.jpg index 60f2844c99..ff2d5996d9 100644 Binary files a/app/src/main/res/drawable-nodpi/splash_02.jpg and b/app/src/main/res/drawable-nodpi/splash_02.jpg differ diff --git a/app/src/main/res/drawable-nodpi/splash_03.jpg b/app/src/main/res/drawable-nodpi/splash_03.jpg index 08657d352b..eda3490d6f 100644 Binary files a/app/src/main/res/drawable-nodpi/splash_03.jpg and b/app/src/main/res/drawable-nodpi/splash_03.jpg differ diff --git a/app/src/main/res/drawable-nodpi/splash_04.jpg b/app/src/main/res/drawable-nodpi/splash_04.jpg index 6b1499abb3..f711e6c96c 100644 Binary files a/app/src/main/res/drawable-nodpi/splash_04.jpg and b/app/src/main/res/drawable-nodpi/splash_04.jpg differ diff --git a/app/src/main/res/layout/splash_viewpage_item.xml b/app/src/main/res/layout/splash_viewpage_item.xml new file mode 100644 index 0000000000..19c73f7158 --- /dev/null +++ b/app/src/main/res/layout/splash_viewpage_item.xml @@ -0,0 +1,18 @@ + + + + + + + + \ No newline at end of file