From d96a2d22e005df1cca6173d92f4b7a2be33fbbc5 Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Wed, 19 Jul 2017 11:21:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=B6=E8=97=8F=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E6=B5=81?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 4 +- .../com/gh/common/util/GetLoginDataUtils.java | 9 + .../java/com/gh/common/util/LoginUtils.java | 10 + .../com/gh/gamecenter/CollectionActivity.java | 35 +++ .../com/gh/gamecenter/NewsDetailActivity.java | 20 +- .../com/gh/gamecenter/SettingActivity.java | 18 ++ .../java/com/gh/gamecenter/WebActivity.java | 26 +- .../gamecenter/collection/ArticleAdapter.java | 274 ++++++++++++++++++ .../collection/ArticleFragment.java | 37 +++ .../collection/CollectionFragment.java | 83 ++++++ .../gamecenter/collection/ToolsAdapter.java | 100 +++++++ .../gamecenter/collection/ToolsFragment.java | 36 +++ .../gamecenter/entity/LoginResponseEntity.kt | 2 + .../NewsDetailContentViewHolder.java | 2 +- .../gamecenter/personal/PersonalFragment.java | 20 +- .../detail_collection_select.png | Bin 0 -> 2123 bytes .../detail_collection_unselect.png | Bin 0 -> 2421 bytes .../main/res/layout/activity_collection.xml | 14 + .../main/res/layout/activity_news_detail.xml | 61 +++- app/src/main/res/layout/activity_setting.xml | 3 +- app/src/main/res/layout/activity_web.xml | 61 +++- app/src/main/res/layout/fragment_article.xml | 10 + .../main/res/layout/fragment_collection.xml | 62 ++++ app/src/main/res/layout/fragment_news1.xml | 2 +- app/src/main/res/layout/fragment_tools.xml | 10 + 25 files changed, 852 insertions(+), 47 deletions(-) create mode 100644 app/src/main/java/com/gh/gamecenter/CollectionActivity.java create mode 100644 app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java create mode 100644 app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java create mode 100644 app/src/main/java/com/gh/gamecenter/collection/CollectionFragment.java create mode 100644 app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java create mode 100644 app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java create mode 100755 app/src/main/res/drawable-hdpi/detail_collection_select.png create mode 100755 app/src/main/res/drawable-hdpi/detail_collection_unselect.png create mode 100644 app/src/main/res/layout/activity_collection.xml create mode 100644 app/src/main/res/layout/fragment_article.xml create mode 100644 app/src/main/res/layout/fragment_collection.xml create mode 100644 app/src/main/res/layout/fragment_tools.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cb05d89f82..d53a95578f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -205,7 +205,9 @@ android:name = "com.gh.gamecenter.UserAreaActivity" android:screenOrientation = "portrait" /> - + mNewsList; + + + public ArticleAdapter(Context context) { + super(context); + mNewsList = new ArrayList<>(); + } + + @Override + public int getItemViewType(int position) { + if (position == mNewsList.size()) { + return ItemViewType.LOADING; + } + NewsEntity newsEntity = mNewsList.get(position); + if ("4x3".equals(newsEntity.getThumbnail().getType()) && newsEntity.getThumbnail().getUrl().size() == 3) { + return ItemViewType.NEWS_IMAGE2; + } + if ("3x1".equals(newsEntity.getThumbnail().getType())) { + return ItemViewType.NEWS_IMAGE3; + } + return ItemViewType.NEWS_IMAGE1; + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + switch (viewType) { + case ItemViewType.NEWS_IMAGE1: + return new NewsImage1ViewHolder(mLayoutInflater.inflate(R.layout.news_image1_item, parent, false)); + case ItemViewType.NEWS_IMAGE2: + return new NewsImage2ViewHolder(mLayoutInflater.inflate(R.layout.news_image2_item, parent, false)); + case ItemViewType.NEWS_IMAGE3: + return new NewsImage3ViewHolder(mLayoutInflater.inflate(R.layout.news_image3_item, parent, false)); + case ItemViewType.LOADING: + return new FooterViewHolder(mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false)); + default: + return null; + } + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + switch (getItemViewType(position)) { + case ItemViewType.NEWS_IMAGE1: + initNewsImage1ViewHolder((NewsImage1ViewHolder) holder, position); + break; + case ItemViewType.NEWS_IMAGE2: + initNewsImage2ViewHolder((NewsImage2ViewHolder) holder, position); + break; + case ItemViewType.NEWS_IMAGE3: + initNewsImage3ViewHolder((NewsImage3ViewHolder) holder, position); + break; + case ItemViewType.LOADING: + initFooterViewHolder((FooterViewHolder) holder); + break; + } + } + + + @Override + public int getItemCount() { + return mNewsList.size() + 1; + } + + private void initNewsImage1ViewHolder(final NewsImage1ViewHolder viewHolder, int position) { + + final NewsEntity newsEntity = mNewsList.get(position); + + viewHolder.itemView.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(mContext, "点击", "资讯-资讯", kv); + + DataCollectionUtils.uploadClick(mContext, "列表", "资讯-资讯", newsEntity.getTitle()); + + //统计阅读量 + statNewsViews(newsEntity, viewHolder.getPosition()); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + } + }); + ImageUtils.Companion.display(viewHolder.thumb, newsEntity.getThumbnail().getUrl().get(0)); + viewHolder.title.setText(newsEntity.getTitle()); + int views = newsEntity.getViews(); + if (views == 0) { + viewHolder.read.setVisibility(View.GONE); + } else { + viewHolder.read.setVisibility(View.VISIBLE); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + } + NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); + } + + private void initNewsImage2ViewHolder(final NewsImage2ViewHolder viewHolder, int position) { + + final NewsEntity newsEntity = mNewsList.get(position); + + WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE); + DisplayMetrics outMetrics = new DisplayMetrics(); + wm.getDefaultDisplay().getMetrics(outMetrics); + int width = (outMetrics.widthPixels - DisplayUtils.dip2px(mContext, 56)) / 3; + int height = (int) (width * 3 / 4f); + + LinearLayout.LayoutParams lparams1 = new LinearLayout.LayoutParams(width, height); + viewHolder.thumb1.setLayoutParams(lparams1); + + LinearLayout.LayoutParams lparams2 = new LinearLayout.LayoutParams(width, height); + lparams2.leftMargin = DisplayUtils.dip2px(mContext, 8); + viewHolder.thumb2.setLayoutParams(lparams2); + + LinearLayout.LayoutParams lparams3 = new LinearLayout.LayoutParams(width, height); + lparams3.leftMargin = DisplayUtils.dip2px(mContext, 8); + viewHolder.thumb3.setLayoutParams(lparams3); + + viewHolder.itemView.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(mContext, "点击", "资讯-资讯", kv); + + DataCollectionUtils.uploadClick(mContext, "列表", "资讯-资讯", newsEntity.getTitle()); + + //统计阅读量 + statNewsViews(newsEntity, viewHolder.getPosition()); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + } + }); + viewHolder.title.setText(newsEntity.getTitle()); + ImageUtils.Companion.display(viewHolder.thumb1, newsEntity.getThumbnail().getUrl().get(0)); + ImageUtils.Companion.display(viewHolder.thumb2, newsEntity.getThumbnail().getUrl().get(1)); + ImageUtils.Companion.display(viewHolder.thumb3, newsEntity.getThumbnail().getUrl().get(2)); + int views = newsEntity.getViews(); + if (views == 0) { + viewHolder.read.setVisibility(View.GONE); + } else { + viewHolder.read.setVisibility(View.VISIBLE); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + } + NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); + } + + private void initNewsImage3ViewHolder(final NewsImage3ViewHolder viewHolder, int position) { + + final NewsEntity newsEntity = mNewsList.get(position); + + viewHolder.itemView.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(mContext, "点击", "资讯-资讯", kv); + + DataCollectionUtils.uploadClick(mContext, "列表", "资讯-资讯", newsEntity.getTitle()); + + //统计阅读量 + statNewsViews(newsEntity, viewHolder.getPosition()); + NewsDetailActivity.startNewsDetailActivity(mContext, newsEntity, "(资讯:资讯[2-1])"); + } + }); + viewHolder.title.setText(newsEntity.getTitle()); + ImageUtils.Companion.getInstance().display(viewHolder.thumb, newsEntity.getThumbnail().getUrl().get(0), + mContext.getResources().getDisplayMetrics().widthPixels - DisplayUtils.dip2px(mContext, 40)); + int views = newsEntity.getViews(); + if (views == 0) { + viewHolder.read.setVisibility(View.GONE); + } else { + viewHolder.read.setVisibility(View.VISIBLE); + viewHolder.read.setText(String.format(Locale.getDefault(), "阅读 %d", views)); + } + NewsUtils.setNewsType(viewHolder.type, newsEntity.getType(), newsEntity.getPriority(), position); + } + + + private void initFooterViewHolder(FooterViewHolder viewHolder) { +// viewHolder.initItemPadding(); +// if (isNetworkError) { +// viewHolder.loading.setVisibility(View.GONE); +// viewHolder.hint.setText("加载失败,点击重试"); +// viewHolder.itemView.setClickable(true); +// viewHolder.itemView.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View v) { +// isNetworkError = false; +// notifyItemChanged(getItemCount() - 1); +// addList(newsList.size()); +// } +// }); +// } else if (isOver) { +// viewHolder.loading.setVisibility(View.GONE); +// viewHolder.hint.setText("加载完毕"); +// viewHolder.itemView.setClickable(false); +// } else { +// viewHolder.loading.setVisibility(View.VISIBLE); +// viewHolder.hint.setText(R.string.loading); +// viewHolder.itemView.setClickable(false); +// } + } + + // 统计新闻阅读量 + private void statNewsViews(final NewsEntity newsEntity, final int position) { + RetrofitManager.getData().postNewsViews(newsEntity.getId()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new JSONObjectResponse() { + @Override + public void onResponse(JSONObject response) { + if (response.length() != 0) { + try { + if ("success".equals(response.getString("status"))) { + newsEntity.setViews(newsEntity.getViews() + 1); + + notifyItemChanged(position); + + // 更新okhttp缓存数据 + VisitManager.updateOkhttpCache(newsEntity.getId()); + } + } catch (JSONException e) { + e.printStackTrace(); + } + } + } + }); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java new file mode 100644 index 0000000000..8e27dc0ad6 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java @@ -0,0 +1,37 @@ +package com.gh.gamecenter.collection; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; + +import com.gh.base.fragment.BaseFragment; +import com.gh.gamecenter.R; + +import butterknife.BindView; + +/** + * Created by khy on 18/07/17. + */ + +public class ArticleFragment extends BaseFragment { + + @BindView(R.id.article_rv) + RecyclerView mRecyclerView; + + private ArticleAdapter mAdapter; + + @Override + protected int getLayoutId() { + return R.layout.fragment_article; + } + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + + mAdapter = new ArticleAdapter(getContext()); + mRecyclerView.setAdapter(mAdapter); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/collection/CollectionFragment.java b/app/src/main/java/com/gh/gamecenter/collection/CollectionFragment.java new file mode 100644 index 0000000000..4ef9902825 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/collection/CollectionFragment.java @@ -0,0 +1,83 @@ +package com.gh.gamecenter.collection; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.util.DisplayMetrics; +import android.view.View; +import android.widget.LinearLayout; + +import com.gh.base.fragment.BaseFragment_ViewPager_Checkable; +import com.gh.common.util.DisplayUtils; +import com.gh.gamecenter.R; + +import java.util.List; + +import butterknife.BindView; + +/** + * Created by khy on 18/07/17. + */ + +public class CollectionFragment extends BaseFragment_ViewPager_Checkable { + + @BindView(R.id.slidebar_line) + View mSlideLine; + + private LinearLayout.LayoutParams mLayoutParams; + private int mWindowWidth; + + public static CollectionFragment newInstance(int checkedIndex) { + final Bundle args = new Bundle(1); + args.putInt(ARGS_INDEX, checkedIndex); + final CollectionFragment fragment = new CollectionFragment(); + fragment.setArguments(args); + return fragment; + } + + @Override + protected boolean getSmoothScroll() { + return true; + } + + @Override + protected int getCheckableGroupId() { + return R.id.lightgame_tab_container; + } + + @Override + protected int getLayoutId() { + return R.layout.fragment_collection; + } + + @Override + protected int getViewPagerId() { + return R.id.lightgame_tab_viewpager; + } + + @Override + protected void initFragmentList(List fragments) { + fragments.add(new ArticleFragment()); + fragments.add(new ToolsFragment()); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + DisplayMetrics outMetrics = new DisplayMetrics(); + getActivity().getWindowManager().getDefaultDisplay().getMetrics(outMetrics); + mWindowWidth = outMetrics.widthPixels / 2; + mLayoutParams = new LinearLayout.LayoutParams((int) (mWindowWidth * 0.6), DisplayUtils.dip2px(getContext(), 2)); + mLayoutParams.leftMargin = (int) (mWindowWidth * (0 + 0.2f)); + mSlideLine.setLayoutParams(mLayoutParams); + } + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + super.onPageScrolled(position, positionOffset, positionOffsetPixels); + if (positionOffset != 0) { + mLayoutParams.leftMargin = (int) (mWindowWidth * (position + positionOffset + 0.17f)); + mSlideLine.setLayoutParams(mLayoutParams); + } + } +} diff --git a/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java new file mode 100644 index 0000000000..8f6e08d320 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/collection/ToolsAdapter.java @@ -0,0 +1,100 @@ +package com.gh.gamecenter.collection; + +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 com.gh.base.AppController; +import com.gh.common.util.EntranceUtils; +import com.gh.common.util.ImageUtils; +import com.gh.gamecenter.NewsDetailActivity; +import com.gh.gamecenter.R; +import com.gh.gamecenter.WebActivity; +import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; +import com.gh.gamecenter.adapter.viewholder.ToolBoxViewHolder; +import com.gh.gamecenter.entity.ToolBoxEntity; +import com.lightgame.adapter.BaseRecyclerAdapter; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by khy on 18/07/17. + */ + +public class ToolsAdapter extends BaseRecyclerAdapter { + + private List mEntityList; + + public ToolsAdapter(Context context) { + super(context); + mEntityList = new ArrayList<>(); + } + + @Override + public int getItemViewType(int position) { + if (position == getItemCount() - 1) { + return 0; + } else { + return 1; + } + } + + @Override + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + if (viewType == 0) { + View view = LayoutInflater.from(mContext).inflate(R.layout.refresh_footerview, parent, false); + return new FooterViewHolder(view); + } else { + View view = LayoutInflater.from(mContext).inflate(R.layout.toolbox_item, parent, false); + return new ToolBoxViewHolder(view); + } + } + + @Override + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { + if (holder instanceof ToolBoxViewHolder) { + ToolBoxViewHolder viewHolder = (ToolBoxViewHolder) holder; + ToolBoxEntity toolBoxEntity = mEntityList.get(position - 2); + initToolsViewHolder(viewHolder, toolBoxEntity); + } else if (holder instanceof FooterViewHolder) { + FooterViewHolder viewHolder = (FooterViewHolder) holder; +// initFooterViewHolder(viewHolder, position); + } + } + + @Override + public int getItemCount() { + return mEntityList.size() + 1; + } + + private void initToolsViewHolder(ToolBoxViewHolder viewHolder, final ToolBoxEntity toolBoxEntity) { + viewHolder.mDes.setText(toolBoxEntity.getDes()); + viewHolder.mTitle.setText(toolBoxEntity.getName()); + ImageUtils.Companion.display(viewHolder.mGameThumb, toolBoxEntity.getIcon()); + + viewHolder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String url = toolBoxEntity.getUrl(); + if (url.contains("http://www.ghzs666.com/article/")) { + String newsId = url.substring(url.lastIndexOf("/") + 1, url.length() - 5); + Intent intent = new Intent(mContext, NewsDetailActivity.class); + intent.putExtra("newsId", newsId); + intent.putExtra(EntranceUtils.KEY_ENTRANCE, "工具箱列表"); + mContext.startActivity(intent); + } else { + AppController.put("ToolBoxEntity", toolBoxEntity); + Intent intent = new Intent(mContext, WebActivity.class); + intent.putExtra("url", toolBoxEntity.getUrl()); + intent.putExtra("isTools", true); + intent.putExtra("gameName", toolBoxEntity.getName()); + mContext.startActivity(intent); + } + } + }); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java new file mode 100644 index 0000000000..458be03887 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java @@ -0,0 +1,36 @@ +package com.gh.gamecenter.collection; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; + +import com.gh.base.fragment.BaseFragment; +import com.gh.gamecenter.R; + +import butterknife.BindView; + +/** + * Created by khy on 18/07/17. + */ + +public class ToolsFragment extends BaseFragment { + + @BindView(R.id.tools_rv) + RecyclerView mRecyclerView; + + private ToolsAdapter mAdapter; + + @Override + protected int getLayoutId() { + return R.layout.fragment_tools; + } + + @Override + public void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + mRecyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + mAdapter = new ToolsAdapter(getContext()); + mRecyclerView.setAdapter(mAdapter); + } +} diff --git a/app/src/main/java/com/gh/gamecenter/entity/LoginResponseEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/LoginResponseEntity.kt index ab35750caf..e31dc76e7a 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/LoginResponseEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/LoginResponseEntity.kt @@ -13,6 +13,8 @@ class LoginResponseEntity { @SerializedName("refresh_token") var refreshToken: RefreshToken? = null + var loginType: String? = null; + class AccessToken { var value: String? = null var expire: Long? = null diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailContentViewHolder.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailContentViewHolder.java index 659bcf516e..715dfe5a17 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailContentViewHolder.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailContentViewHolder.java @@ -19,7 +19,7 @@ public class NewsDetailContentViewHolder extends RecyclerView.ViewHolder { public NewsDetailContentViewHolder(View itemView) { super(itemView); - + itemView.requestFocus(); newsdetail_item_tv_title = (TextView) itemView.findViewById(R.id.newsdetail_item_tv_title); newsdetail_item_tv_time = (TextView) itemView.findViewById(R.id.newsdetail_item_tv_time); newsdetail_item_tv_author = (TextView) itemView.findViewById(R.id.newsdetail_item_tv_author); 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 e8d6c1638c..624616055a 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -18,6 +18,7 @@ import com.gh.common.util.DataUtils; import com.gh.common.util.GetLoginDataUtils; import com.gh.common.util.LoginUtils; import com.gh.common.util.PackageUtils; +import com.gh.gamecenter.CollectionActivity; import com.gh.gamecenter.InstallActivity; import com.gh.gamecenter.LibaoActivity; import com.gh.gamecenter.LoginActivity; @@ -100,6 +101,9 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. public final static String LOGIN_TAG = "login_tag"; //登入标识 public final static String LOGOUT_TAG = "logout_tag"; // 登出标识 + public final static int CHANGE_UDERINFO = 0x310; // 登出标识 + + private UserInfoEntity mUserInfoEntity; @Override @@ -124,6 +128,9 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. changeLoginState(false); mUserInfoEntity = null; } + } else if (requestCode == CHANGE_UDERINFO) { + mUserInfoEntity = LoginUtils.getUserInfo(getContext()); + changeLoginState(true); } } @@ -152,11 +159,12 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. public void onViewClicked(View view) { switch (view.getId()) { case R.id.personal_login_qq: - if (mUserInfoEntity != null) { - toast("收藏"); - } else { - GetLoginDataUtils.getInstance(getActivity()).QQLogin(this, getActivity()); - } + startActivity(CollectionActivity.getCollectionActivity(getContext())); +// if (mUserInfoEntity != null) { +// +// } else { +// GetLoginDataUtils.getInstance(getActivity()).QQLogin(this, getActivity()); +// } break; case R.id.personal_login_wechat: if (mUserInfoEntity != null) { @@ -175,7 +183,7 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. case R.id.personal_user_icon: case R.id.personal_user_name: if (mUserInfoEntity != null) { - getContext().startActivity(UserInfoActivity.getIntent(getContext())); + startActivityForResult(UserInfoActivity.getIntent(getContext()), CHANGE_UDERINFO); } else { startActivityForResult(LoginActivity.getIntent(getContext()), LOGIN_CODE); } diff --git a/app/src/main/res/drawable-hdpi/detail_collection_select.png b/app/src/main/res/drawable-hdpi/detail_collection_select.png new file mode 100755 index 0000000000000000000000000000000000000000..bff5f6f0b35e24fa152d619a59608d1c01be9a6f GIT binary patch literal 2123 zcmaJ?X;f2Z8osQSts>yCRG4cJi&(NjfP@5$2}{7R1P~}i49N{#AdAV>1Q7`$P!NR{ zW$8?DL{Jd~v=#voFrpS(paL7=w^=u#34~)0V3y0A%M;oCqp1h$W4Jb5SO31 zuOFfUfPpI<9f!oRcTsp^A(pGdU=>0M$_4S!c#!z&8*i zord`%s5o{6$Ph~*kc9Pe=Mg-7KyNaZKqC7PJwF18c!C!WPsR~E-SGqpo=m|Lz_%X; z^(N&DC>&R?dSO~sJoC2>M3t>&Y zw_N_(u@Kkf;?Q7ly7vB8yH`!<4C#*Vh8MlO8-GZI&b$;I?m~xe<^aI3gT(dEa+t=-$hY2OcuPBe}qNaBxr+ zyr+V$W?y<7RM$jE%^8y@)_ z>KU4(=A^<^-8<^PAHiqmhMY-LX1k2qR@q!MZl@Eob6ICXl-X(*zosDAG)8~QaOP#J zQ$5NHKfQ=*oDa`5y<}Mz4zI3dbvUnlhRPftHG7P$dC{u>9r9w6`}D&n5qfi&xhM9& z$17T>hg+~eKi|8dvvqzH8Wd@F9LQ;V+TK{J8TqiCGakF>me4)~Pyc%5T!QkRhCUTw z+}B(Cz}M`?QZ>Ds-y?N0c0i}#2dqIr(w12$9evEyVd?l&V<3~0}X~o*8(N62eJAKtEvf!^D2y&j4l*f)r>9vHt zj*Kp7{Iv;(MO9#KgD;$^_TAODw5~g>^;)ozdC@_epQ-#9Q8j0^TMh0P@{f;@OJ2So zp4T#M*(D9zlYOyZ)@hw}pS||?O-lJGeFMdVQF!hVbEg4yo!`b}g-zM)tV(9~eQt22 zMfg$6`>^SIYEpaVXWun6Z7opvFtx6hW>cziqu^TBo$czp&B`EpoS}kE#4SsSr@-bT z@^teBOC$PUYGRcqyi!f~`FDMu2S)2}xi@O5X87;^#kTiC0dVYyVQVl$8Cl+22Gpew zy!JF4XFQJ}JzCexRW+Oc7#TnZ>^8n|b1+oq8}FUh|Hv~j?x`Us5y`y+G&Hr8hA1iW zq$Iz*SY^Owz%IrFp9VN6^SQ?3eM5Bx%mIgl24LKFzUt=s0|nPE=V{7S4~vGkq`A+T zFyhx$H7q3_4KmI8r&~->B1Ov!biu_K+jBQ6=6*Qnw)^jQ zCp*mi>I%=nB?T$_yelJf=87gEYjAK1@$FwGbyfY=bUyoj<4EVwVkcbqux-c}bN#~# zqwzZdlh?FTrxTmPMiPaWIfm**F< zx>8gb+y{cATQhnJOFgcJ>(S=xC#{+aDsR%bUo2d<)}H8Z#wV}*Ezi5Uq1owKf>IBN XS#MFInW(y}d)`?AVa(>8dyo7F^Ppk5 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/detail_collection_unselect.png b/app/src/main/res/drawable-hdpi/detail_collection_unselect.png new file mode 100755 index 0000000000000000000000000000000000000000..3db7bdce243d769a9b000dac9a0bf37507fbd2e9 GIT binary patch literal 2421 zcmaJ@dpy&7AKy%36>{t3c${sy9kh$NY_lacjBKr$S4utF=4aO0#WvZ5khzpX=n)n1 z9EFqa&!m#0n^44Yv~H$cq7sxE__y`Jdzeh;EIJvwmt@_5K44t5Qylfkg&M|Kn~*oJids8cysw00>+OaAvSu^ z&@>4dh~ra}q(FEQoyAQOaPct+zcnzTf}kT10&+G?A>1L75fmiECtiZi*1J&%*ryP= zfQ0y~s7M+EMixr}m>1G}H5Y@$!F=#Yj29l~;pqt?;1t{GzO?9B=#kj8tZje>FC54nGI?*~bE-(m7a1Co%({%)DS=WU<(P}j= zbIq%54i8JAtH9pt83S2qb4Q_vg|V4=21wJ!f!c1K47~d`qavIg`WA0(`_+hkQjb3M zetfg4=GRe8lD}#r?rosj$<}AC<5j}=J|5}k&UoAC{^G3;dCJ~86jdd@@9QR7X4Fvz zj$5^bKG{&NnyWZ*jJ1+Em^ApNv1y~B9eAmSUDuwL!{d*8IO*ELi0;nH7q6^HvR3o- zUhv1X4h|6;KruDXO76c_1DAML_5~lTI8$rnI%lReZCRWZ)w`cHvdF02*3o0%8YXGj zzQjI~iuxhqz2nUbE$0Rx?hV_hO$VjF6j?Xi&QAO3n86BgGbjwpNXIsd+Xc3Pt!R8f z$=%rFHQFUUHJh0$EM_p<00X5NQ(_M-Qmec>g6sUkF5a^05jjkHZrkhBBE11U6S18c zJXT1eF^=1Eg&&NqpZ!c6AhtEO9_4N?H+Pxi)EL&8vNX<0vc|s>v21#`op+TP`Y2>RFMk^est#RatM;7PWlsQ+YVb-$E^*Ub(dQ&dVyo zWYUDy$YN$xHNl717M-;uu)eO~O1bCI#7RSCs>Q%>1qz;Zp*pnWwD}<_Y=24WtV4^< z;4lv?s874nXFL6`SpQ=@Tz+E+`5DQkNS&2Dlq!a^W42SDtt%UO%!Vr)hq+;siQ)D` zv%)>vU(0PQX6m$~9qq3kHexKUsS8?8m*%5NU4AE$?@jRfdG(c8e4J(az6Wm$RGHSA zx14h0p?h}c3R=kU=%j{Q&TL`lVli)x{rQ_1yZ?ltM-N3(x0QD<@p+_u;1SXM%h~$@ z2F@nj0s8kGSiU2qIP6hu>B?jt!L$r^<|>q6-qjp$ST>P+D$-$2b+e?;#{djp^Lo^-|Trby*ez);8l#oBQ;Opz`UV?krV&DCgssItUx@w zJM)hN^;;6b&C6;ZgP{Si``AORKlIwX5rg=O2Sq$*okh+ip0{>hebv&ateRvgf*RKB& N3JIiB8UnUu{0S=&`E~#R literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_collection.xml b/app/src/main/res/layout/activity_collection.xml new file mode 100644 index 0000000000..87bb8bd8ec --- /dev/null +++ b/app/src/main/res/layout/activity_collection.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_news_detail.xml b/app/src/main/res/layout/activity_news_detail.xml index a79eafee1e..667444f7e9 100644 --- a/app/src/main/res/layout/activity_news_detail.xml +++ b/app/src/main/res/layout/activity_news_detail.xml @@ -4,7 +4,66 @@ android:layout_height = "match_parent" android:orientation = "vertical" > - + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_web.xml b/app/src/main/res/layout/activity_web.xml index 83143417a1..325849c400 100644 --- a/app/src/main/res/layout/activity_web.xml +++ b/app/src/main/res/layout/activity_web.xml @@ -4,7 +4,66 @@ android:layout_height = "match_parent" android:orientation = "vertical" > - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_collection.xml b/app/src/main/res/layout/fragment_collection.xml new file mode 100644 index 0000000000..07ad35175a --- /dev/null +++ b/app/src/main/res/layout/fragment_collection.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_news1.xml b/app/src/main/res/layout/fragment_news1.xml index 5830003927..ca54ca93e7 100644 --- a/app/src/main/res/layout/fragment_news1.xml +++ b/app/src/main/res/layout/fragment_news1.xml @@ -11,7 +11,7 @@ + android:layout_height = "wrap_content" /> + + + + \ No newline at end of file