Commit 8729902d6bb36fb3ab25befb350ec1a9dfd0af66

Authored by 朱显松
2 parents 86228b37 576a7725

Merge branch 'master' of bj.gitlab.cnlive.com:cnlive-team/CNLiveApp

Showing 46 changed files with 651 additions and 636 deletions
.idea/inspectionProfiles/Project_Default.xml
... ... @@ -2,6 +2,7 @@
2 2 <profile version="1.0">
3 3 <option name="myName" value="Project Default" />
4 4 <inspection_tool class="AndroidLintNewApi" enabled="false" level="ERROR" enabled_by_default="false" />
  5 + <inspection_tool class="AndroidLintSetTextI18n" enabled="false" level="WARNING" enabled_by_default="false" />
5 6 <inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
6 7 <option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
7 8 <option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
... ...
.idea/markdown-navigator.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<project version="4">
3   - <component name="MarkdownProjectSettings">
4   - <PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="true" showSelectionInPreview="true">
5   - <PanelProvider>
6   - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" />
7   - </PanelProvider>
8   - </PreviewSettings>
9   - <ParserSettings gitHubSyntaxChange="false">
10   - <PegdownExtensions>
11   - <option name="ABBREVIATIONS" value="false" />
12   - <option name="ANCHORLINKS" value="true" />
13   - <option name="ASIDE" value="false" />
14   - <option name="ATXHEADERSPACE" value="true" />
15   - <option name="AUTOLINKS" value="true" />
16   - <option name="DEFINITIONS" value="false" />
17   - <option name="DEFINITION_BREAK_DOUBLE_BLANK_LINE" value="false" />
18   - <option name="FENCED_CODE_BLOCKS" value="true" />
19   - <option name="FOOTNOTES" value="false" />
20   - <option name="HARDWRAPS" value="false" />
21   - <option name="INSERTED" value="false" />
22   - <option name="QUOTES" value="false" />
23   - <option name="RELAXEDHRULES" value="true" />
24   - <option name="SMARTS" value="false" />
25   - <option name="STRIKETHROUGH" value="true" />
26   - <option name="SUBSCRIPT" value="false" />
27   - <option name="SUPERSCRIPT" value="false" />
28   - <option name="SUPPRESS_HTML_BLOCKS" value="false" />
29   - <option name="SUPPRESS_INLINE_HTML" value="false" />
30   - <option name="TABLES" value="true" />
31   - <option name="TASKLISTITEMS" value="true" />
32   - <option name="TOC" value="false" />
33   - <option name="WIKILINKS" value="true" />
34   - </PegdownExtensions>
35   - <ParserOptions>
36   - <option name="COMMONMARK_LISTS" value="false" />
37   - <option name="DUMMY" value="false" />
38   - <option name="EMOJI_SHORTCUTS" value="true" />
39   - <option name="FLEXMARK_FRONT_MATTER" value="false" />
40   - <option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="true" />
41   - <option name="GFM_TABLE_RENDERING" value="true" />
42   - <option name="GITBOOK_URL_ENCODING" value="false" />
43   - <option name="GITHUB_EMOJI_URL" value="false" />
44   - <option name="GITHUB_LISTS" value="true" />
45   - <option name="GITHUB_WIKI_LINKS" value="true" />
46   - <option name="JEKYLL_FRONT_MATTER" value="false" />
47   - <option name="SIM_TOC_BLANK_LINE_SPACER" value="true" />
48   - </ParserOptions>
49   - </ParserSettings>
50   - <HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true">
51   - <GeneratorProvider>
52   - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" />
53   - </GeneratorProvider>
54   - <headerTop />
55   - <headerBottom />
56   - <bodyTop />
57   - <bodyBottom />
58   - </HtmlSettings>
59   - <CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssTextEnabled="false" isDynamicPageWidth="true">
60   - <StylesheetProvider>
61   - <provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" />
62   - </StylesheetProvider>
63   - <ScriptProviders />
64   - <cssText />
65   - </CssSettings>
66   - <HtmlExportSettings updateOnSave="false" parentDir="$ProjectFileDir$" targetDir="$ProjectFileDir$" cssDir="" scriptDir="" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetExt="" useTargetExt="false" noCssNoScripts="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" />
67   - <LinkMapSettings>
68   - <textMaps />
69   - </LinkMapSettings>
70   - </component>
71   -</project>
72 0 \ No newline at end of file
.idea/markdown-navigator/profiles_settings.xml deleted 100644 → 0
1   -<component name="MarkdownNavigator.ProfileManager">
2   - <settings default="" pdf-export="" />
3   -</component>
4 0 \ No newline at end of file
.idea/vcs.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <project version="4">
3 3 <component name="VcsDirectoryMappings">
4   - <mapping directory="$PROJECT_DIR$" vcs="Git" />
  4 + <mapping directory="" vcs="Git" />
5 5 </component>
6 6 </project>
7 7 \ No newline at end of file
... ...
app/src/main/AndroidManifest.xml
... ... @@ -86,7 +86,6 @@
86 86 <activity
87 87 android:name=".user.activity.UserPersonalActivity"
88 88 android:configChanges="orientation|keyboardHidden|screenSize"
89   - android:launchMode="singleTop"
90 89 android:screenOrientation="portrait"
91 90 android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
92 91 </application>
... ...
app/src/main/java/com/cnlive/gundam/main/ui/activity/BackBaseActivity.java 0 → 100644
  1 +package com.cnlive.gundam.main.ui.activity;
  2 +
  3 +import android.support.v7.app.AppCompatActivity;
  4 +import android.support.v7.widget.Toolbar;
  5 +import android.view.MenuItem;
  6 +import android.view.View;
  7 +import android.widget.TextView;
  8 +
  9 +import com.cnlive.gundam.R;
  10 +
  11 +/**
  12 + * Created by gujun on 2017/5/31.
  13 + */
  14 +
  15 +public class BackBaseActivity extends AppCompatActivity {
  16 +
  17 + private Toolbar toolbar;
  18 +
  19 + protected void setupToolBar(String title) {
  20 + toolbar = (Toolbar) findViewById(R.id.toolbar);
  21 + toolbar.setTitle("");
  22 + TextView toolbarTitle = (TextView) findViewById(R.id.toolbarTitle);
  23 + toolbarTitle.setText(title);
  24 + toolbar.setVisibility(View.VISIBLE);
  25 + toolbar.setNavigationIcon(R.drawable.btn_cancel);
  26 + setSupportActionBar(toolbar);
  27 +
  28 + }
  29 +
  30 + public void setToolBarVisible(boolean show) {
  31 + if (toolbar == null) return;
  32 + toolbar.setVisibility(show ? View.VISIBLE : View.GONE);
  33 + }
  34 +
  35 + @Override
  36 + public boolean onOptionsItemSelected(MenuItem item) {
  37 + if (item.getItemId() == android.R.id.home) {
  38 + this.onBackPressed();
  39 + }
  40 + return super.onOptionsItemSelected(item);
  41 + }
  42 +}
... ...
app/src/main/java/com/cnlive/gundam/main/ui/adapter/DataBindingAdapter.java
... ... @@ -17,11 +17,11 @@ import com.cnlive.gundam.main.ui.adapter.holder.DataBindingViewHolder;
17 17  
18 18 public class DataBindingAdapter<T> extends BaseRecyclerAdapter<T> {
19 19 private int layoutId;
20   - private int itemBRId;
  20 + protected int itemBRId;
21 21 private int imageHeightBRId = -1;
22 22 private int imageHeight;
23 23  
24   - private OnAdapterViewClickListener<T> l;
  24 + protected OnAdapterViewClickListener<T> l;
25 25 private OnAdapterViewLoadMoreListener loadMoreListener;
26 26  
27 27 public DataBindingAdapter(Context context, int layoutId, int itemBRId) {
... ...
app/src/main/java/com/cnlive/gundam/main/ui/fragment/ConfigFragment.java
... ... @@ -57,10 +57,15 @@ public class ConfigFragment extends Fragment implements View.OnClickListener {
57 57 switch (view.getId()) {
58 58 case R.id.config_header:
59 59 int uid = UserService.getInstance(getActivity()).getActiveAccountInfo().getUid();
60   - if (uid != 0)
61   - startActivity(new Intent(getActivity(), UserPersonalActivity.class));
62   - else
  60 + if (uid != 0) {
  61 + //进入个人中心页面
  62 + Intent intent = new Intent(getActivity(), UserPersonalActivity.class);
  63 + intent.putExtra("isEdit",false);
  64 + startActivity(intent);
  65 + } else {
  66 + //进入登录页面
63 67 startActivity(new Intent(getActivity(), LoginActivity.class));
  68 + }
64 69 break;
65 70  
66 71 case R.id.message:
... ... @@ -74,8 +79,7 @@ public class ConfigFragment extends Fragment implements View.OnClickListener {
74 79 @Override
75 80 public void onResume() {
76 81 super.onResume();
77   - notifyUI();
78   -
  82 + if (UserService.getInstance(getActivity()).getActiveAccountInfo().getUid() != 0) notifyUI();
79 83 }
80 84  
81 85 private void notifyUI() {
... ...
app/src/main/java/com/cnlive/gundam/user/activity/LoginActivity.java
... ... @@ -34,9 +34,7 @@ public class LoginActivity extends AppCompatActivity {
34 34 // TODO Auto-generated method stub
35 35 if(ev.getAction()== MotionEvent.ACTION_DOWN){
36 36  
37   - // 获得当前得到焦点的View,一般情况下就是EditText(特殊情况就是轨迹求或者实体案件会移动焦点)
38 37 View v=getCurrentFocus();
39   -
40 38 if(DevilUtil.isShouldHideInput(v,ev)){
41 39 InputMethodManager im=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
42 40 DevilUtil.hideSoftInput(v.getWindowToken(),im);
... ...
app/src/main/java/com/cnlive/gundam/user/activity/UserPersonalActivity.java
1 1 package com.cnlive.gundam.user.activity;
2 2  
  3 +import android.content.Intent;
3 4 import android.databinding.DataBindingUtil;
4 5 import android.os.Bundle;
5 6 import android.support.annotation.Nullable;
6   -import android.support.v7.app.AppCompatActivity;
7 7  
8 8 import com.cnlive.gundam.R;
  9 +import com.cnlive.gundam.main.ui.activity.BackBaseActivity;
  10 +import com.cnlive.gundam.user.fragment.UserPersonalEditFragment;
9 11 import com.cnlive.gundam.user.fragment.UserPersonalFragment;
10 12  
11 13 /**
... ... @@ -13,11 +15,24 @@ import com.cnlive.gundam.user.fragment.UserPersonalFragment;
13 15 * @time 2017/6/28 12:56
14 16 * @desc ${TODD}
15 17 */
16   -public class UserPersonalActivity extends AppCompatActivity {
  18 +public class UserPersonalActivity extends BackBaseActivity {
17 19 @Override
18 20 protected void onCreate(@Nullable Bundle savedInstanceState) {
19 21 super.onCreate(savedInstanceState);
20   - DataBindingUtil.setContentView(this, R.layout.activity_setting);
21   - getSupportFragmentManager().beginTransaction().replace(R.id.setting_fragment, UserPersonalFragment.newInstance()).commit();
  22 + DataBindingUtil.setContentView(this, R.layout.activity_user_personal);
  23 + addFragment(getIntent());
  24 + }
  25 +
  26 + private void addFragment(Intent intent ){
  27 + if (intent.hasExtra("isEdit")) {
  28 + getSupportFragmentManager().beginTransaction().replace(R.id.contentLayout,
  29 + intent.getBooleanExtra("isEdit",false) ?
  30 + UserPersonalEditFragment.newInstance(intent.getIntExtra("type", 0)) :
  31 + UserPersonalFragment.newInstance()).commit();
  32 + }
  33 + }
  34 +
  35 + public void setTitle(String title){
  36 + setupToolBar(title);
22 37 }
23 38 }
... ...
app/src/main/java/com/cnlive/gundam/user/adapter/PersonalAdapter.java 0 → 100644
  1 +package com.cnlive.gundam.user.adapter;
  2 +
  3 +import android.content.Context;
  4 +import android.databinding.DataBindingUtil;
  5 +import android.databinding.ViewDataBinding;
  6 +import android.support.v7.widget.RecyclerView;
  7 +import android.view.LayoutInflater;
  8 +import android.view.ViewGroup;
  9 +
  10 +import com.cnlive.gundam.BR;
  11 +import com.cnlive.gundam.R;
  12 +import com.cnlive.gundam.main.ui.adapter.DataBindingAdapter;
  13 +import com.cnlive.gundam.main.ui.adapter.holder.DataBindingViewHolder;
  14 +import com.cnlive.gundam.user.model.PersonalData;
  15 +
  16 +/**
  17 + * Created by gujun on 2017/6/28.
  18 + */
  19 +
  20 +public class PersonalAdapter extends DataBindingAdapter<PersonalData>{
  21 +
  22 + public PersonalAdapter(Context context, int layoutId, int itemBRId) {
  23 + super(context, layoutId, itemBRId);
  24 + }
  25 +
  26 + @Override
  27 + public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  28 + if(viewType == PersonalData.TYPE_HEADER){
  29 + ViewDataBinding binding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.layout_personal_header_item, parent, false);
  30 + DataBindingViewHolder viewHolder = new DataBindingViewHolder(binding.getRoot());
  31 + viewHolder.setBinding(binding);
  32 + return viewHolder;
  33 + }else{
  34 + return super.onCreateViewHolder(parent, viewType);
  35 + }
  36 + }
  37 +
  38 + @Override
  39 + public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
  40 + if(getItem(position).getItemType() == PersonalData.TYPE_HEADER){
  41 + DataBindingViewHolder videoListViewHolder = (DataBindingViewHolder) holder;
  42 + videoListViewHolder.getBinding().setVariable(itemBRId, getItem(position));
  43 + if (l != null)
  44 + videoListViewHolder.getBinding().setVariable(BR.viewClickListner, l);
  45 + videoListViewHolder.getBinding().executePendingBindings();
  46 + }else{
  47 + super.onBindViewHolder(holder, position);
  48 + }
  49 + }
  50 +
  51 + @Override
  52 + public int getItemViewType(int position) {
  53 + return getItem(position).getItemType();
  54 + }
  55 +}
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/LoginFragment.java
... ... @@ -34,7 +34,6 @@ public class LoginFragment extends Fragment implements View.OnClickListener {
34 34 public static DataEntity data;
35 35  
36 36 private Account account;//密码登录的account
37   - private Account account1;//第三方登录的account
38 37  
39 38 //跳转页面的对话框
40 39 private ProgressDialog dialog;
... ... @@ -157,7 +156,7 @@ public class LoginFragment extends Fragment implements View.OnClickListener {
157 156 data = userData.getData();
158 157  
159 158 UserService userService = UserService.getInstance(getActivity());
160   - userService.setUserInfo(account, data);
  159 + userService.setUserInfo(account,data);
161 160 //userService.isAutoLogin();
162 161 userService.autoLogin(binding.edtLoginNumber.toString(), binding.edtInputPassward.getText().toString(), data);
163 162  
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/UserPersonalEditFragment.java 0 → 100644
  1 +package com.cnlive.gundam.user.fragment;
  2 +
  3 +import android.databinding.DataBindingUtil;
  4 +import android.os.Bundle;
  5 +import android.support.annotation.Nullable;
  6 +import android.support.v4.app.Fragment;
  7 +import android.view.LayoutInflater;
  8 +import android.view.View;
  9 +import android.view.ViewGroup;
  10 +import android.widget.Toast;
  11 +
  12 +import com.cnlive.gundam.R;
  13 +import com.cnlive.gundam.databinding.FragmentPersonalEditBinding;
  14 +import com.cnlive.gundam.user.activity.UserPersonalActivity;
  15 +import com.cnlive.gundam.user.auth.UserService;
  16 +import com.cnlive.gundam.user.model.User;
  17 +import com.cnlive.libs.user.IUserService;
  18 +import com.cnlive.libs.user.UserUtil;
  19 +import com.cnlive.libs.util.data.network.Callback;
  20 +
  21 +/**
  22 + * Created by gujun on 2017/6/28.
  23 + */
  24 +
  25 +public class UserPersonalEditFragment extends Fragment implements Callback, View.OnClickListener {
  26 +
  27 + public static final int TYPE_NICK = 0x1001;
  28 + public static final int TYPE_MOBILE = 0x1002;
  29 + public static final int TYPE_EMAIL = 0x1003;
  30 + public static final int TYPE_ADDRESS = 0x1004;
  31 +
  32 + private FragmentPersonalEditBinding binding;
  33 + private int type;
  34 + private User user;
  35 +
  36 + public static UserPersonalEditFragment newInstance(int type) {
  37 +
  38 + Bundle args = new Bundle();
  39 + args.putInt("type", type);
  40 + UserPersonalEditFragment fragment = new UserPersonalEditFragment();
  41 + fragment.setArguments(args);
  42 + return fragment;
  43 + }
  44 +
  45 + @Nullable
  46 + @Override
  47 + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  48 + binding = DataBindingUtil.inflate(inflater, R.layout.fragment_personal_edit, container, false);
  49 + return binding.getRoot();
  50 + }
  51 +
  52 + @Override
  53 + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
  54 + super.onViewCreated(view, savedInstanceState);
  55 + init();
  56 + }
  57 +
  58 + private void init() {
  59 + binding.setUserPersonalEditFragment(this);
  60 + type = getArguments().getInt("type");
  61 + UserService userService = UserService.getInstance(getActivity());
  62 + user = userService.getActiveAccountInfo();
  63 + String title = "";
  64 + switch (type) {
  65 + case TYPE_NICK:
  66 + binding.editText.setText(user.getNickname());
  67 + binding.editText.setVisibility(View.VISIBLE);
  68 + binding.includeMobileLayout.mobileKeycodeLayout.setVisibility(View.GONE);
  69 + title = "修改昵称";
  70 + break;
  71 + case TYPE_MOBILE:
  72 + binding.editText.setVisibility(View.GONE);
  73 + binding.includeMobileLayout.mobileKeycodeLayout.setVisibility(View.VISIBLE);
  74 + binding.includeMobileLayout.edtLoginNumber.setText(user.getMobile());
  75 + binding.includeMobileLayout.getVerify.setOnClickListener(this);
  76 + title = "修改手机号";
  77 + break;
  78 + case TYPE_EMAIL:
  79 + binding.editText.setText(user.getEmail());
  80 + binding.editText.setVisibility(View.VISIBLE);
  81 + binding.includeMobileLayout.mobileKeycodeLayout.setVisibility(View.GONE);
  82 + title = "修改邮箱";
  83 + break;
  84 + case TYPE_ADDRESS:
  85 + binding.editText.setText(user.getLocation());
  86 + binding.editText.setVisibility(View.VISIBLE);
  87 + binding.includeMobileLayout.mobileKeycodeLayout.setVisibility(View.GONE);
  88 + title = "修改地址";
  89 + break;
  90 + }
  91 + ((UserPersonalActivity)getActivity()).setTitle(title);
  92 + }
  93 +
  94 + @Override
  95 + public void onClick(View v) {
  96 + if (v.getId() == R.id.submit) {
  97 + switch (type) {
  98 + case TYPE_NICK:
  99 + UserUtil.modifyUserInfo(String.valueOf(user.getUid()), "nickName", binding.editText.getText().toString(), this);
  100 + break;
  101 + case TYPE_MOBILE:
  102 + UserUtil.updateMobile(String.valueOf(user.getUid()), binding.includeMobileLayout.edtLoginNumber.getText().toString(), binding.includeMobileLayout.edtVerify.getText().toString(), this);
  103 + break;
  104 + case TYPE_EMAIL:
  105 + UserUtil.modifyUserInfo(String.valueOf(user.getUid()), "email", binding.editText.getText().toString(), this);
  106 + break;
  107 + case TYPE_ADDRESS:
  108 + UserUtil.modifyUserInfo(String.valueOf(user.getUid()), "location", binding.editText.getText().toString(), this);
  109 + break;
  110 + }
  111 + } else if (v.getId() == R.id.get_verify) {
  112 + //TODO 获取验证码
  113 + UserUtil.sendMessage(IUserService.REGISTER_OR_MODIFY_MOBILE, binding.includeMobileLayout.edtLoginNumber.getText().toString(), new Callback() {
  114 + @Override
  115 + public void onState(int i, String s, Object o) {
  116 + if (i == IUserService.SUCCESS) {
  117 + Toast.makeText(getActivity(), "验证码已发送", Toast.LENGTH_LONG).show();
  118 + } else {
  119 + Toast.makeText(getActivity(), "获取验证码失败" + s, Toast.LENGTH_LONG).show();
  120 + }
  121 +
  122 + }
  123 + });
  124 + }
  125 + }
  126 +
  127 + @Override
  128 + public void onState(int i, String s, Object o) {
  129 + if (i == IUserService.SUCCESS) {
  130 + Toast.makeText(getActivity(), "提交成功", Toast.LENGTH_LONG).show();
  131 + } else {
  132 + Toast.makeText(getActivity(), "提交失败" + s, Toast.LENGTH_LONG).show();
  133 + }
  134 +
  135 + //TODO 更新一下本地数据
  136 + }
  137 +}
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/UserPersonalFragment.java
1 1 package com.cnlive.gundam.user.fragment;
2 2  
  3 +import android.content.Intent;
3 4 import android.databinding.DataBindingUtil;
4 5 import android.os.Bundle;
5 6 import android.support.annotation.Nullable;
6 7 import android.support.v4.app.Fragment;
  8 +import android.support.v7.widget.LinearLayoutManager;
7 9 import android.view.LayoutInflater;
8 10 import android.view.View;
9 11 import android.view.ViewGroup;
  12 +import android.widget.Toast;
10 13  
  14 +import com.cnlive.gundam.BR;
11 15 import com.cnlive.gundam.R;
12 16 import com.cnlive.gundam.databinding.FragmentUserPersonalBinding;
  17 +import com.cnlive.gundam.main.ui.adapter.DataBindingAdapter;
  18 +import com.cnlive.gundam.user.activity.UserPersonalActivity;
  19 +import com.cnlive.gundam.user.adapter.PersonalAdapter;
  20 +import com.cnlive.gundam.user.auth.UserService;
  21 +import com.cnlive.gundam.user.model.PersonalData;
  22 +import com.cnlive.gundam.user.model.User;
13 23  
  24 +import java.util.ArrayList;
  25 +import java.util.List;
14 26  
15 27  
16 28 /**
... ... @@ -18,38 +30,93 @@ import com.cnlive.gundam.databinding.FragmentUserPersonalBinding;
18 30 * @time 2017/6/28 13:06
19 31 * @desc ${TODD}
20 32 */
21   -public class UserPersonalFragment extends Fragment{
  33 +public class UserPersonalFragment extends Fragment implements DataBindingAdapter.OnAdapterViewClickListener<PersonalData> {
22 34  
23 35 private FragmentUserPersonalBinding binding;
24 36  
  37 + private PersonalAdapter adapter;
25 38  
26   - @Nullable
27   - @Override
28   - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
29   - binding = DataBindingUtil.inflate(inflater, R.layout.fragment_user_personal, container, false);
30   - return binding.getRoot();
31   - }
  39 + private List<PersonalData> personalData;
32 40  
33 41 public static UserPersonalFragment newInstance() {
  42 +
  43 + Bundle args = new Bundle();
  44 +
34 45 UserPersonalFragment fragment = new UserPersonalFragment();
  46 + fragment.setArguments(args);
35 47 return fragment;
36 48 }
37 49  
  50 + @Nullable
38 51 @Override
39   - public void onActivityCreated(Bundle savedInstanceState) {
40   - super.onActivityCreated(savedInstanceState);
41   - initToolBar();
42   - /*init();
43   - PersonalHeadItem.getContent(getActivity());
44   - PersonalItem.getContent(getActivity());*/
45   - }
46   - private void initToolBar() {
47   - binding.personalIncludeLayout.toolbarTitle.setText("个人资料");
  52 + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  53 + binding = DataBindingUtil.inflate(inflater, R.layout.fragment_user_personal, container, false);
  54 + return binding.getRoot();
48 55 }
49 56  
  57 + @Override
  58 + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
  59 + super.onViewCreated(view, savedInstanceState);
  60 + initData();
  61 + init();
  62 + }
50 63  
  64 + private void initData() {
  65 + UserService userService = UserService.getInstance(getActivity());
  66 + User user = userService.getActiveAccountInfo();
  67 + personalData = new ArrayList<>();
  68 + personalData.add(new PersonalData("头像", user.getFaceurl(), PersonalData.TYPE_HEADER));
  69 + personalData.add(new PersonalData("昵称", user.getNickname(), PersonalData.TYPE_NICK));
  70 + personalData.add(new PersonalData("性别", user.getGender(), PersonalData.TYPE_GENDER));
  71 + personalData.add(new PersonalData("手机号", user.getMobile(), PersonalData.TYPE_MOBILE));
  72 + personalData.add(new PersonalData("邮箱", user.getEmail(), PersonalData.TYPE_EMAIL));
  73 + personalData.add(new PersonalData("联系地址", user.getLocation(), PersonalData.TYPE_ADDRESS));
  74 + }
51 75  
  76 + private void init() {
  77 + ((UserPersonalActivity)getActivity()).setTitle("个人资料");
  78 + binding.setListAdapter(adapter = new PersonalAdapter(getActivity(), R.layout.layout_personal_item, BR.data));
  79 + binding.setLayoutManager(new LinearLayoutManager(getActivity()));
  80 + adapter.updateItems(personalData);
  81 + adapter.setOnViewClickListener(this);
  82 + }
52 83  
53   -
54   -
  84 + @Override
  85 + public void onViewClick(View v, PersonalData program) {
  86 + if (v.getId() == R.id.itemLayout) {
  87 + Intent intent = null;
  88 + switch (program.getItemType()) {
  89 + case PersonalData.TYPE_HEADER:
  90 + Toast.makeText(getActivity(), "头像点击", Toast.LENGTH_LONG).show();
  91 + break;
  92 + case PersonalData.TYPE_NICK:
  93 + intent = new Intent(getActivity(), UserPersonalActivity.class);
  94 + intent.putExtra("isEdit",true);
  95 + intent.putExtra("type", UserPersonalEditFragment.TYPE_NICK);
  96 + startActivity(intent);
  97 + break;
  98 + case PersonalData.TYPE_GENDER:
  99 + Toast.makeText(getActivity(), "性别点击", Toast.LENGTH_LONG).show();
  100 + break;
  101 + case PersonalData.TYPE_MOBILE:
  102 + intent = new Intent(getActivity(), UserPersonalActivity.class);
  103 + intent.putExtra("isEdit",true);
  104 + intent.putExtra("type", UserPersonalEditFragment.TYPE_MOBILE);
  105 + startActivity(intent);
  106 + break;
  107 + case PersonalData.TYPE_EMAIL:
  108 + intent = new Intent(getActivity(), UserPersonalActivity.class);
  109 + intent.putExtra("isEdit",true);
  110 + intent.putExtra("type", UserPersonalEditFragment.TYPE_EMAIL);
  111 + startActivity(intent);
  112 + break;
  113 + case PersonalData.TYPE_ADDRESS:
  114 + intent = new Intent(getActivity(), UserPersonalActivity.class);
  115 + intent.putExtra("isEdit",true);
  116 + intent.putExtra("type", UserPersonalEditFragment.TYPE_ADDRESS);
  117 + startActivity(intent);
  118 + break;
  119 + }
  120 + }
  121 + }
55 122 }
... ...
app/src/main/java/com/cnlive/gundam/user/model/ActiveInfo.java deleted 100644 → 0
1   -package com.cnlive.gundam.user.model;
2   -
3   -
4   -import java.io.Serializable;
5   -
6   -/**
7   - * Created by Lynn on 5/25/2017.
8   - */
9   -
10   -public class ActiveInfo implements Serializable {
11   - private int totalCount;
12   - private int nextCursor;
13   - private int preCursor;
14   - private String activityId;
15   - private String activityName;
16   - private int activityStatus;
17   - private int isHorizontalScreen;
18   - private String channelId;
19   - private String createTime;
20   - private String startTime;
21   - private String endTime;
22   - private String coverImgUrl;
23   - private String activityCategory;
24   - private Object extensions;
25   - private String rates;
26   -
27   - public ActiveInfo() {
28   - }
29   -
30   - public ActiveInfo(int totalCount, int nextCursor, int preCursor, String activityId, String activityName, int activityStatus, int isHorizontalScreen, String channelId, String createTime, String startTime, String endTime, String coverImgUrl, String activityCategory, Object extensions, String rates) {
31   - this.totalCount = totalCount;
32   - this.nextCursor = nextCursor;
33   - this.preCursor = preCursor;
34   - this.activityId = activityId;
35   - this.activityName = activityName;
36   - this.activityStatus = activityStatus;
37   - this.isHorizontalScreen = isHorizontalScreen;
38   - this.channelId = channelId;
39   - this.createTime = createTime;
40   - this.startTime = startTime;
41   - this.endTime = endTime;
42   - this.coverImgUrl = coverImgUrl;
43   - this.activityCategory = activityCategory;
44   - this.extensions = extensions;
45   - this.rates = rates;
46   - }
47   -
48   - public int getTotalCount() {
49   - return totalCount;
50   - }
51   -
52   - public void setTotalCount(int totalCount) {
53   - this.totalCount = totalCount;
54   - }
55   -
56   - public int getNextCursor() {
57   - return nextCursor;
58   - }
59   -
60   - public void setNextCursor(int nextCursor) {
61   - this.nextCursor = nextCursor;
62   - }
63   -
64   - public int getPreCursor() {
65   - return preCursor;
66   - }
67   -
68   - public void setPreCursor(int preCursor) {
69   - this.preCursor = preCursor;
70   - }
71   -
72   - public String getActivityId() {
73   - return activityId;
74   - }
75   -
76   - public void setActivityId(String activityId) {
77   - this.activityId = activityId;
78   - }
79   -
80   - public String getActivityName() {
81   - return activityName;
82   - }
83   -
84   - public void setActivityName(String activityName) {
85   - this.activityName = activityName;
86   - }
87   -
88   - public int getActivityStatus() {
89   - return activityStatus;
90   - }
91   -
92   - public void setActivityStatus(int activityStatus) {
93   - this.activityStatus = activityStatus;
94   - }
95   -
96   - public int getIsHorizontalScreen() {
97   - return isHorizontalScreen;
98   - }
99   -
100   - public void setIsHorizontalScreen(int isHorizontalScreen) {
101   - this.isHorizontalScreen = isHorizontalScreen;
102   - }
103   -
104   - public String getChannelId() {
105   - return channelId;
106   - }
107   -
108   - public void setChannelId(String channelId) {
109   - this.channelId = channelId;
110   - }
111   -
112   - public String getCreateTime() {
113   - return createTime;
114   - }
115   -
116   - public void setCreateTime(String createTime) {
117   - this.createTime = createTime;
118   - }
119   -
120   - public String getStartTime() {
121   - return startTime;
122   - }
123   -
124   - public void setStartTime(String startTime) {
125   - this.startTime = startTime;
126   - }
127   -
128   - public String getEndTime() {
129   - return endTime;
130   - }
131   -
132   - public void setEndTime(String endTime) {
133   - this.endTime = endTime;
134   - }
135   -
136   - public String getCoverImgUrl() {
137   - return coverImgUrl;
138   - }
139   -
140   - public void setCoverImgUrl(String coverImgUrl) {
141   - this.coverImgUrl = coverImgUrl;
142   - }
143   -
144   - public String getActivityCategory() {
145   - return activityCategory;
146   - }
147   -
148   - public void setActivityCategory(String activityCategory) {
149   - this.activityCategory = activityCategory;
150   - }
151   -
152   - public Object getExtensions() {
153   - return extensions;
154   - }
155   -
156   - public void setExtensions(Object extensions) {
157   - this.extensions = extensions;
158   - }
159   -
160   - public String getRates() {
161   - return rates;
162   - }
163   -
164   - public void setRates(String rates) {
165   - this.rates = rates;
166   - }
167   -
168   - @Override
169   - public String toString() {
170   - return "ActiveInfo{" +
171   - "totalCount=" + totalCount +
172   - ", nextCursor=" + nextCursor +
173   - ", preCursor=" + preCursor +
174   - ", activityId='" + activityId + '\'' +
175   - ", activityName='" + activityName + '\'' +
176   - ", activityStatus=" + activityStatus +
177   - ", isHorizontalScreen=" + isHorizontalScreen +
178   - ", channelId='" + channelId + '\'' +
179   - ", createTime='" + createTime + '\'' +
180   - ", startTime='" + startTime + '\'' +
181   - ", endTime='" + endTime + '\'' +
182   - ", coverImgUrl='" + coverImgUrl + '\'' +
183   - ", activityCategory='" + activityCategory + '\'' +
184   - ", extensions='" + extensions + '\'' +
185   - ", rates='" + rates + '\'' +
186   - '}';
187   - }
188   -}
app/src/main/java/com/cnlive/gundam/user/model/ChannelInfoModel.java deleted 100644 → 0
1   -package com.cnlive.gundam.user.model;
2   -
3   -
4   -import com.cnlive.gundam.user.model.base.ErrorMessage;
5   -
6   -import java.io.Serializable;
7   -
8   -/**
9   - * Created by Lynn on 5/26/2017.
10   - */
11   -
12   -public class ChannelInfoModel extends ErrorMessage {
13   - private ChannelInfo data;
14   -
15   - public ChannelInfoModel() {
16   - }
17   -
18   - public ChannelInfoModel(ChannelInfo data) {
19   - this.data = data;
20   - }
21   -
22   - public ChannelInfo getData() {
23   - return data;
24   - }
25   -
26   - public void setData(ChannelInfo data) {
27   - this.data = data;
28   - }
29   -
30   - public class ChannelInfo implements Serializable {
31   - private String coverImgUrl;
32   - private String channelId;
33   - private String channelName;
34   - private int status;
35   -
36   - public ChannelInfo() {
37   - }
38   -
39   - public ChannelInfo(String coverImgUrl, String channelId, String channelName, int status) {
40   - this.coverImgUrl = coverImgUrl;
41   - this.channelId = channelId;
42   - this.channelName = channelName;
43   - this.status = status;
44   - }
45   -
46   - public String getCoverImgUrl() {
47   - return coverImgUrl;
48   - }
49   -
50   - public void setCoverImgUrl(String coverImgUrl) {
51   - this.coverImgUrl = coverImgUrl;
52   - }
53   -
54   - public String getChannelId() {
55   - return channelId;
56   - }
57   -
58   - public void setChannelId(String channelId) {
59   - this.channelId = channelId;
60   - }
61   -
62   - public String getChannelName() {
63   - return channelName;
64   - }
65   -
66   - public void setChannelName(String channelName) {
67   - this.channelName = channelName;
68   - }
69   -
70   - public int getStatus() {
71   - return status;
72   - }
73   -
74   - public void setStatus(int status) {
75   - this.status = status;
76   - }
77   -
78   - @Override
79   - public String toString() {
80   - return "ChannelInfo{" +
81   - "coverImgUrl='" + coverImgUrl + '\'' +
82   - ", channelId='" + channelId + '\'' +
83   - ", channelName='" + channelName + '\'' +
84   - ", status=" + status +
85   - '}';
86   - }
87   - }
88   -
89   - @Override
90   - public String toString() {
91   - return "ChannelInfoModel{" +
92   - "data=" + data +
93   - '}';
94   - }
95   -}
app/src/main/java/com/cnlive/gundam/user/model/PersonalDate.java renamed to app/src/main/java/com/cnlive/gundam/user/model/PersonalData.java
... ... @@ -5,7 +5,25 @@ package com.cnlive.gundam.user.model;
5 5 * @time 2017/6/28 13:55
6 6 * @desc ${TODD}
7 7 */
8   -public class PersonalDate {
  8 +public class PersonalData {
  9 +
  10 + private String itemName;
  11 + private String itemMessage;
  12 + private int itemType;
  13 +
  14 + public static final int TYPE_HEADER = 0x1001;
  15 + public static final int TYPE_NICK = 0x1002;
  16 + public static final int TYPE_GENDER = 0x1003;
  17 + public static final int TYPE_MOBILE = 0x1004;
  18 + public static final int TYPE_EMAIL = 0x1005;
  19 + public static final int TYPE_ADDRESS = 0x1006;
  20 +
  21 + public PersonalData(String itemName, String itemMessage, int itemType) {
  22 + this.itemName = itemName;
  23 + this.itemMessage = itemMessage;
  24 + this.itemType = itemType;
  25 + }
  26 +
9 27 public String getItemName() {
10 28 return itemName;
11 29 }
... ... @@ -14,8 +32,6 @@ public class PersonalDate {
14 32 this.itemName = itemName;
15 33 }
16 34  
17   - private String itemName;
18   -
19 35 public String getItemMessage() {
20 36 return itemMessage;
21 37 }
... ... @@ -24,18 +40,11 @@ public class PersonalDate {
24 40 this.itemMessage = itemMessage;
25 41 }
26 42  
27   - private String itemMessage;
28   -
29   -
30   -
31   - public PersonalDate(String itemName, String itemMessage) {
32   - this.itemName = itemName;
33   - this.itemMessage = itemMessage;
  43 + public int getItemType() {
  44 + return itemType;
34 45 }
35 46  
36   -
37   -
38   -
39   -
40   -
  47 + public void setItemType(int itemType) {
  48 + this.itemType = itemType;
  49 + }
41 50 }
... ...
app/src/main/java/com/cnlive/gundam/video/test.java deleted 100644 → 0
1   -package com.cnlive.gundam.video;
2   -
3   -/**
4   - * Created by gujun on 2017/6/27.
5   - */
6   -
7   -public class test {
8   -}
app/src/main/res/layout/activity_user_personal.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android">
  3 +
  4 + <data>
  5 +
  6 + </data>
  7 +
  8 + <LinearLayout
  9 + android:layout_width="match_parent"
  10 + android:layout_height="match_parent"
  11 + android:orientation="vertical">
  12 +
  13 + <include
  14 + layout="@layout/layout_actionbar_back"/>
  15 +
  16 + <RelativeLayout
  17 + android:id="@+id/contentLayout"
  18 + android:layout_width="match_parent"
  19 + android:layout_height="match_parent"/>
  20 +
  21 + </LinearLayout>
  22 +
  23 +</layout>
0 24 \ No newline at end of file
... ...
app/src/main/res/layout/fragment_login.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <layout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 >
4   - <ScrollView
5   - android:id="@+id/detail_view"
6   - android:layout_width="match_parent"
7   - android:layout_height="match_parent">
8 4  
9 5 <RelativeLayout
10 6 android:layout_width="match_parent"
... ... @@ -27,6 +23,7 @@
27 23 <LinearLayout
28 24 android:layout_width="match_parent"
29 25 android:layout_height="wrap_content"
  26 + android:layout_marginTop="@dimen/_30px"
30 27 android:background="@android:color/white"
31 28 android:orientation="vertical">
32 29  
... ... @@ -90,7 +87,7 @@
90 87 <RelativeLayout
91 88 android:layout_width="match_parent"
92 89 android:layout_height="wrap_content"
93   - android:layout_marginTop="24dp"
  90 + android:layout_marginTop="40dp"
94 91 android:orientation="horizontal"
95 92 android:paddingLeft="10dp"
96 93 android:paddingRight="10dp">
... ... @@ -121,111 +118,21 @@
121 118 android:textSize="15sp" />
122 119 </RelativeLayout>
123 120  
124   - <Button
125   - android:id="@+id/btn_login"
126   - style="@style/LoginButtonStyle"
127   - android:layout_width="match_parent"
128   - android:layout_height="wrap_content"
129   - android:layout_marginTop="59dp"
130   - android:background="@drawable/user_btn_login"
131   - android:gravity="center"
132   - android:onClick="onClick"
133   - android:text="@string/user_login" />
134   -
135   -
136   - <TextView
137   - android:id="@+id/login_text"
138   - android:layout_width="match_parent"
139   - android:layout_height="wrap_content"
140   - android:layout_marginTop="100dp"
141   - android:gravity="center_horizontal"
142   - android:text="@string/user_login_third_part_login"
143   - android:textColor="@color/text_hint_color"
144   - android:textSize="15sp" />
145   -
146   - <LinearLayout
147   - android:layout_width="match_parent"
148   - android:layout_height="wrap_content"
149   - android:layout_marginBottom="37dp"
150   - android:layout_marginTop="15dp"
151   - android:orientation="horizontal">
152   -
153   - <LinearLayout
154   - android:layout_width="0dp"
155   - android:layout_height="wrap_content"
156   - android:layout_weight="1"
157   - android:gravity="center"
158   - android:orientation="vertical">
159   -
160   - <ImageView
161   - android:id="@+id/rbtn_login_wechat"
162   - android:layout_width="50dp"
163   - android:layout_height="50dp"
164   - android:src="@drawable/share_btn_weixin"
165   - android:onClick="onClick"
166   - android:layout_marginBottom="4dp"/>
167   -
168   - <TextView
169   - android:layout_width="wrap_content"
170   - android:layout_height="wrap_content"
171   - android:text="@string/third_login_weixin"
172   - android:textColor="@color/text_hint_color"
173   - android:textSize="12sp" />
174   -
175   - </LinearLayout>
176   -
177   - <LinearLayout
178   - android:layout_width="0dp"
179   - android:layout_height="wrap_content"
180   - android:layout_weight="1"
181   - android:gravity="center"
182   - android:orientation="vertical">
183   -
184   - <ImageView
185   - android:id="@+id/rbtn_login_qq"
186   - android:layout_width="50dp"
187   - android:layout_height="50dp"
188   - android:src="@drawable/share_btn_tencent"
189   - android:onClick="onClick"
190   - android:layout_marginBottom="4dp"/>
191   -
192   - <TextView
193   - android:layout_width="wrap_content"
194   - android:layout_height="wrap_content"
195   - android:text="@string/third_login_qq"
196   - android:textColor="@color/text_hint_color"
197   - android:textSize="12sp" />
198   -
199   - </LinearLayout>
200   -
201   - <LinearLayout
202   - android:layout_width="0dp"
203   - android:layout_height="wrap_content"
204   - android:layout_weight="1"
205   - android:gravity="center"
206   - android:orientation="vertical">
207   -
208   - <ImageView
209   - android:id="@+id/rbtn_login_micro_blog"
210   - android:layout_width="50dp"
211   - android:layout_height="50dp"
212   - android:src="@drawable/share_btn_sina"
213   - android:onClick="onClick"
214   - android:layout_marginBottom="4dp"/>
215   -
216   - <TextView
217   - android:layout_width="wrap_content"
218   - android:layout_height="wrap_content"
219   - android:text="@string/third_login_sina"
220   - android:textColor="@color/text_hint_color"
221   - android:textSize="12sp" />
222   -
223   - </LinearLayout>
224   -
225   - </LinearLayout>
226 121  
227 122 </LinearLayout>
228 123  
  124 + <Button
  125 + android:id="@+id/btn_login"
  126 + style="@style/LoginButtonStyle"
  127 + android:layout_width="match_parent"
  128 + android:layout_height="wrap_content"
  129 + android:layout_marginBottom="200dp"
  130 + android:layout_alignParentBottom="true"
  131 + android:background="@drawable/user_btn_login"
  132 + android:gravity="center"
  133 + android:onClick="onClick"
  134 + android:text="@string/user_login" />
  135 +
229 136 <ImageView
230 137 android:id="@+id/back_selector"
231 138 android:layout_width="30dp"
... ... @@ -249,6 +156,6 @@
249 156  
250 157 </RelativeLayout>
251 158  
252   - </ScrollView>
  159 +
253 160  
254 161 </layout>
255 162 \ No newline at end of file
... ...
app/src/main/res/layout/fragment_personal_edit.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android">
  3 +
  4 + <data>
  5 +
  6 + <import type="com.cnlive.gundam.user.fragment.UserPersonalEditFragment" />
  7 +
  8 + <variable
  9 + name="userPersonalEditFragment"
  10 + type="UserPersonalEditFragment" />
  11 +
  12 + </data>
  13 +
  14 + <RelativeLayout
  15 + android:layout_width="match_parent"
  16 + android:layout_height="match_parent">
  17 +
  18 + <EditText
  19 + android:id="@+id/editText"
  20 + android:layout_width="match_parent"
  21 + android:layout_height="50dp"
  22 + android:visibility="gone"/>
  23 +
  24 + <include
  25 + android:id="@+id/includeMobileLayout"
  26 + layout="@layout/mobile_keycode_layout"/>
  27 +
  28 + <Button
  29 + android:id="@+id/submit"
  30 + android:layout_width="match_parent"
  31 + android:layout_height="50dp"
  32 + android:layout_alignParentBottom="true"
  33 + android:layout_marginBottom="200dp"
  34 + android:onClick="@{userPersonalEditFragment.onClick}"
  35 + android:text="提交" />
  36 +
  37 + </RelativeLayout>
  38 +
  39 +</layout>
0 40 \ No newline at end of file
... ...
app/src/main/res/layout/fragment_user_personal.xml
... ... @@ -2,47 +2,34 @@
2 2 <layout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 xmlns:app="http://schemas.android.com/apk/res-auto">
4 4  
5   - <!--<data>
  5 + <data>
  6 +
  7 + <import type="com.cnlive.gundam.main.ui.adapter.DataBindingAdapter"/>
  8 + <import type="android.support.v7.widget.LinearLayoutManager"/>
  9 +
  10 + <variable
  11 + name="listAdapter"
  12 + type="DataBindingAdapter"/>
6 13  
7 14 <variable
8   - name="liLayoutManager"
9   - type="android.support.v7.widget.LinearLayoutManager" />
  15 + name="layoutManager"
  16 + type="LinearLayoutManager"/>
10 17 </data>
11   --->
  18 +
12 19 <RelativeLayout
13   - android:id="@+id/main_view"
14 20 android:layout_width="match_parent"
15 21 android:layout_height="match_parent">
16 22  
17   - <LinearLayout
18   - android:id="@+id/persion_layout"
  23 + <android.support.v7.widget.RecyclerView
  24 + android:id="@+id/recyclerView"
19 25 android:layout_width="match_parent"
20 26 android:layout_height="match_parent"
21   - android:orientation="vertical">
22   -
23   - <include
24   - android:id="@+id/personalIncludeLayout"
25   - layout="@layout/user_toolbar_title" />
26   -
27   -
28   - <android.support.v7.widget.RecyclerView
29   - android:id="@+id/lv_personal"
30   - android:layout_width="match_parent"
31   - android:layout_height="match_parent"
32   - android:divider="@null"
33   - android:fastScrollEnabled="true"
34   - android:scrollbars="none"
35   - />
36   -
37   - </LinearLayout>
38   -
39   - <ImageView
40   - android:id="@+id/back_selector"
41   - android:layout_width="30dp"
42   - android:layout_height="30dp"
43   - android:layout_marginLeft="@dimen/_20px"
44   - android:layout_marginTop="@dimen/_28px"
45   - android:src="@drawable/btn_return" />
  27 + android:clipToPadding="true"
  28 + android:clipChildren="true"
  29 + android:paddingTop="5dp"
  30 + android:background="@color/list_divider"
  31 + app:adapter="@{listAdapter}"
  32 + app:layoutManager="@{layoutManager}"/>
46 33  
47 34 </RelativeLayout>
48 35 </layout>
49 36 \ No newline at end of file
... ...
app/src/main/res/layout/layout_actionbar_back.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +
  3 +<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
  4 + android:id="@+id/toolbar"
  5 + xmlns:app="http://schemas.android.com/apk/res-auto"
  6 + xmlns:tools="http://schemas.android.com/tools"
  7 + android:layout_width="match_parent"
  8 + android:layout_height="?attr/actionBarSize"
  9 + android:theme="@style/ThemeOverlay.AppCompat.Light"
  10 + app:contentInsetEnd="?attr/actionBarSize"
  11 + android:visibility="gone"
  12 + tools:visibility="visible">
  13 +
  14 +
  15 + <TextView
  16 + android:id="@+id/toolbarTitle"
  17 + style="@style/ActionbarTitleStyle"
  18 + android:layout_width="wrap_content"
  19 + android:layout_height="wrap_content"
  20 + android:layout_gravity="center"
  21 + android:lines="1"
  22 + tools:text="here is title"/>
  23 +
  24 +</android.support.v7.widget.Toolbar>
0 25 \ No newline at end of file
... ...
app/src/main/res/layout/layout_personal_header_item.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android"
  3 + xmlns:tools="http://schemas.android.com/tools"
  4 + xmlns:app="http://schemas.android.com/apk/res-auto">
  5 +
  6 + <data>
  7 +
  8 + <import type="com.cnlive.gundam.user.model.PersonalData" />
  9 + <import type="com.cnlive.gundam.main.ui.adapter.DataBindingAdapter.OnAdapterViewClickListener"/>
  10 +
  11 + <variable
  12 + name="data"
  13 + type="PersonalData" />
  14 +
  15 + <variable
  16 + name="viewClickListner"
  17 + type="OnAdapterViewClickListener&lt;PersonalData>"/>
  18 +
  19 + </data>
  20 +
  21 + <RelativeLayout
  22 + android:id="@+id/itemLayout"
  23 + android:layout_width="match_parent"
  24 + android:layout_height="80dp"
  25 + android:onClick="@{(view)->viewClickListner.onViewClick(view,data)}">
  26 +
  27 + <RelativeLayout
  28 + android:layout_width="match_parent"
  29 + android:layout_height="match_parent"
  30 + android:layout_above="@+id/divider"
  31 + android:background="@android:color/white">
  32 +
  33 + <TextView
  34 + android:id="@+id/itemName"
  35 + android:layout_width="wrap_content"
  36 + android:layout_height="match_parent"
  37 + android:gravity="center_vertical"
  38 + android:text="@{data.getItemName()}"
  39 + android:textColor="@color/black"
  40 + android:textSize="18sp"
  41 + tools:text="nick" />
  42 +
  43 + <ImageView
  44 + android:layout_width="50dp"
  45 + android:layout_height="50dp"
  46 + android:layout_marginRight="50dp"
  47 + android:layout_alignParentRight="true"
  48 + android:layout_centerVertical="true"
  49 + android:scaleType="centerCrop"
  50 + app:error="@{@drawable/image_error}"
  51 + app:imageUrl="@{data.getItemMessage()}"/>
  52 +
  53 + <ImageView
  54 + android:layout_width="wrap_content"
  55 + android:layout_height="wrap_content"
  56 + android:layout_alignParentRight="true"
  57 + android:layout_centerVertical="true"/>
  58 +
  59 + </RelativeLayout>
  60 +
  61 + <View
  62 + android:id="@+id/divider"
  63 + android:layout_width="match_parent"
  64 + android:layout_height="5dp"
  65 + android:layout_alignParentBottom="true"/>
  66 +
  67 + </RelativeLayout>
  68 +
  69 +</layout>
0 70 \ No newline at end of file
... ...
app/src/main/res/layout/layout_personal_item.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android"
  3 + xmlns:tools="http://schemas.android.com/tools">
  4 +
  5 + <data>
  6 +
  7 + <import type="com.cnlive.gundam.user.model.PersonalData" />
  8 + <import type="com.cnlive.gundam.main.ui.adapter.DataBindingAdapter.OnAdapterViewClickListener"/>
  9 +
  10 + <variable
  11 + name="data"
  12 + type="PersonalData" />
  13 +
  14 + <variable
  15 + name="viewClickListner"
  16 + type="OnAdapterViewClickListener&lt;PersonalData>"/>
  17 +
  18 + </data>
  19 +
  20 + <RelativeLayout
  21 + android:id="@+id/itemLayout"
  22 + android:layout_width="match_parent"
  23 + android:layout_height="60dp"
  24 + android:onClick="@{(view)->viewClickListner.onViewClick(view,data)}">
  25 +
  26 + <RelativeLayout
  27 + android:layout_width="match_parent"
  28 + android:layout_height="match_parent"
  29 + android:layout_above="@+id/divider"
  30 + android:background="@android:color/white">
  31 +
  32 + <TextView
  33 + android:id="@+id/itemName"
  34 + android:layout_width="wrap_content"
  35 + android:layout_height="match_parent"
  36 + android:gravity="center_vertical"
  37 + android:text="@{data.getItemName()}"
  38 + android:textColor="@color/black"
  39 + android:textSize="18sp"
  40 + tools:text="nick" />
  41 +
  42 + <TextView
  43 + android:id="@+id/itemMsg"
  44 + android:layout_width="wrap_content"
  45 + android:layout_height="match_parent"
  46 + android:layout_alignParentRight="true"
  47 + android:layout_marginRight="50dp"
  48 + android:layout_toRightOf="@+id/itemName"
  49 + android:gravity="center_vertical|right"
  50 + android:text="@{data.getItemMessage()}"
  51 + android:textColor="@color/black"
  52 + android:textSize="18sp"
  53 + tools:text="haha" />
  54 +
  55 + <ImageView
  56 + android:layout_width="wrap_content"
  57 + android:layout_height="wrap_content"
  58 + android:layout_alignParentRight="true"
  59 + android:layout_centerVertical="true"/>
  60 +
  61 + </RelativeLayout>
  62 +
  63 + <View
  64 + android:id="@+id/divider"
  65 + android:layout_width="match_parent"
  66 + android:layout_height="5dp"
  67 + android:layout_alignParentBottom="true"/>
  68 +
  69 + </RelativeLayout>
  70 +
  71 +</layout>
0 72 \ No newline at end of file
... ...
app/src/main/res/layout/mobile_keycode_layout.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2   -<layout xmlns:android="http://schemas.android.com/apk/res/android"
3   - >
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android">
  3 +
  4 + <data>
  5 +
  6 + </data>
  7 +
4 8 <LinearLayout
5 9 android:id="@+id/mobile_keycode_layout"
6 10 android:layout_width="match_parent"
... ...
app/src/main/res/layout/user_fragment.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2  
3   -<layout xmlns:android="http://schemas.android.com/apk/res/android">
  3 +<layout xmlns:android="http://schemas.android.com/apk/res/android"
  4 + xmlns:cn="http://schemas.android.com/apk/res-auto"
  5 + >
4 6  
5 7 <LinearLayout
6 8 android:layout_width="match_parent"
... ... @@ -44,6 +46,7 @@
44 46 android:layout_centerVertical="true"
45 47 android:layout_marginLeft="11dp"
46 48 android:layout_marginRight="16dp"
  49 + cn:border_color="@android:color/transparent"
47 50 android:src="@drawable/cnlive_user_header" />
48 51  
49 52 <LinearLayout
... ...
user/src/main/res/drawable-xhdpi/list_item_image_load_fail.png deleted 100644 → 0

1.68 KB

user/src/main/res/drawable-xxhdpi/btn_share_sina_nor.png deleted 100644 → 0

5.04 KB

user/src/main/res/drawable-xxhdpi/btn_share_sina_sel.png deleted 100644 → 0

5.21 KB

user/src/main/res/drawable-xxhdpi/btn_share_tengxun_nor.png deleted 100644 → 0

4.84 KB

user/src/main/res/drawable-xxhdpi/btn_share_tengxun_sel.png deleted 100644 → 0

5.22 KB

user/src/main/res/drawable-xxhdpi/btn_share_weixin_nor.png deleted 100644 → 0

4.54 KB

user/src/main/res/drawable-xxhdpi/btn_share_weixin_sel.png deleted 100644 → 0

4.6 KB

user/src/main/res/drawable-xxhdpi/ic_config_history.png deleted 100644 → 0

1.89 KB

user/src/main/res/drawable-xxhdpi/ic_config_setting.png deleted 100644 → 0

2.21 KB

user/src/main/res/drawable-xxhdpi/share_btn_qq_nor.png deleted 100644 → 0

3.72 KB

user/src/main/res/drawable-xxhdpi/share_btn_qq_sel.png deleted 100644 → 0

4.57 KB

user/src/main/res/drawable/share_btn_sina.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -
3   -<selector xmlns:android="http://schemas.android.com/apk/res/android">
4   - <item android:state_pressed="true" android:drawable="@drawable/btn_share_sina_sel" />
5   - <item android:state_pressed="false" android:drawable="@drawable/btn_share_sina_nor" />
6   -</selector>
7 0 \ No newline at end of file
user/src/main/res/drawable/share_btn_tencent.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -
3   -<selector xmlns:android="http://schemas.android.com/apk/res/android">
4   - <item android:drawable="@drawable/share_btn_qq_sel" android:state_pressed="true" />
5   - <item android:drawable="@drawable/share_btn_qq_nor" android:state_pressed="false" />
6   -</selector>
7 0 \ No newline at end of file
user/src/main/res/drawable/share_btn_weixin.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -
3   -<selector xmlns:android="http://schemas.android.com/apk/res/android">
4   - <item android:state_pressed="true" android:drawable="@drawable/btn_share_weixin_sel" />
5   - <item android:state_pressed="false" android:drawable="@drawable/btn_share_weixin_nor" />
6   -</selector>
7 0 \ No newline at end of file
user/src/main/res/drawable/user_btn_logout.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -<selector xmlns:android="http://schemas.android.com/apk/res/android">
3   -
4   - <item android:state_selected="true" android:drawable="@drawable/user_btn_logout_sel" />
5   - <item android:state_pressed="true" android:drawable="@drawable/user_btn_logout_sel" />
6   - <item android:state_focused="true" android:drawable="@drawable/user_btn_logout_sel" />
7   - <item android:state_checked="false" android:drawable="@drawable/user_btn_logout_nor" />
8   -
9   -</selector>
10 0 \ No newline at end of file
user/src/main/res/drawable/user_btn_logout_sel.xml deleted 100644 → 0
1   -<?xml version="1.0" encoding="utf-8"?>
2   -<shape
3   - xmlns:android="http://schemas.android.com/apk/res/android"
4   - android:shape="rectangle"
5   - android:useLevel="false">
6   - <solid android:color="#6e6e6e" />
7   -
8   - <size
9   - android:height="40dp" />
10   -
11   - <corners
12   - android:bottomLeftRadius="20dp"
13   - android:bottomRightRadius="20dp"
14   - android:topLeftRadius="20dp"
15   - android:topRightRadius="20dp" /> <!-- 设置四个角的半径 -->
16   -
17   -</shape>
18 0 \ No newline at end of file
user/src/main/res/values/colors.xml
... ... @@ -15,8 +15,5 @@
15 15 //注册页面
16 16 <color name="text_white_color">#FFFFFF</color>
17 17  
18   - //关于我们页面
19   - <color name="star_name_color">#323333</color>
20   - <color name="about_us_btn_text_color">#177bdf</color>
21   - <color name="about_us_company_name_color">#969797</color>
  18 +
22 19 </resources>
... ...
user/src/main/res/values/dimens.xml
... ... @@ -21,10 +21,7 @@
21 21 <dimen name="personal_text_size_14">14sp</dimen>
22 22 <dimen name="personal_text_size_18">18sp</dimen>
23 23  
24   - //关于我们
25   - <dimen name="about_us_text_size">17sp</dimen>
26   - <dimen name="about_us_btn_size">13sp</dimen>
27   - <dimen name="about_us_company_name_size">12sp</dimen>
  24 +
28 25  
29 26 //反馈意见
30 27 <dimen name="text_size_15">15sp</dimen>
... ...
user/src/main/res/values/strings.xml
... ... @@ -20,9 +20,7 @@
20 20 <string name="string_fast_access">短信验证登录</string>
21 21 <string name="user_login">登录</string>
22 22 <string name="user_login_third_part_login">第三方账号登录</string>
23   - <string name="third_login_sina">微博</string>
24   - <string name="third_login_qq">QQ</string>
25   - <string name="third_login_weixin">微信</string>
  23 +
26 24  
27 25 //注册页面
28 26 <string name="register_mobile_hint">请输入您的手机号</string>
... ... @@ -38,34 +36,13 @@
38 36 <string name="find_password_hint">请确认密码:6&#8211;20位字母或数字</string>
39 37 <string name="save_btn">保存</string>
40 38  
41   - //昵称修改页面
42   - <string name="user_input_nickname">请输入昵称</string>
  39 + <string name="ACCOUNT_TYPE">com.cnlive.libs.AccountType</string>
  40 + <string name="ACCOUNT_LABEL">@string/app_name</string>
43 41  
44   - //手机号修改页面
45   - <string name="register_mobile">手机号:</string>
46   - <string name="user_personal_telephone_hint">手机号码</string>
47   - <string name="register_mobile_keycode">验证码:</string>
48   - <string name="hint_6_numbers_code">6位数字验证码</string>
49 42  
50   - //邮箱修改页面
51   - <string name="email_notify">修改后,您输入的邮箱将会收到确认邮件,请按邮件中的说明去完成验证,谢谢!</string>
52 43  
53   - //关于我们页面
54   - <string name="about_us_visit">访问视讯中国官网</string>
55   - <string name="about_us_call_phone">拨打客服电话</string>
56   - <string name="about_us_disclaimer">免责声明</string>
57   - <string name="about_us_company_name">北京中投视讯文化传媒股份有限公司</string>
58 44  
59   - //分享
60   - <string name="toast_msg_share_success">分享成功!</string>
61   - <string name="toast_msg_share_fail">分享失败,请再试一次</string>
62   - <string name="toast_msg_share_cancel">取消分享</string>
63   - <string name="share_program_download_targetUrl"> http://www.cnlive.com/web/guide.jsp</string>
64 45  
65   - //AccountManager用户管理
66   - <string name="ACCOUNT_TYPE">com.cnlive.libs.AccountType</string>
67   - <string name="ACCOUNT_LABEL">@string/app_name</string>
68 46  
69   - <string name="verified_url" formatted="false">https://mobile.cnlive.com/CnliveMobile/web/review/review.jsp?sid=%s&amp;plat=a&amp;appId=%s </string>
70 47  
71 48 </resources>
... ...