فهرست منبع

添加集成web组件

Arison 6 سال پیش
والد
کامیت
c5c6dfca1b
48فایلهای تغییر یافته به همراه1301 افزوده شده و 37 حذف شده
  1. 3 1
      lib_common/src/main/AndroidManifest.xml
  2. 11 0
      lib_common/src/main/java/com/uas/module/common/app/AppConfig.java
  3. 25 0
      lib_common/src/main/java/com/uas/module/common/base/BaseActivity.java
  4. 278 0
      lib_common/src/main/java/com/uas/module/common/base/activity/BaseToolBarActivity.java
  5. 198 0
      lib_common/src/main/java/com/uas/module/common/base/fragment/EasyFragment.java
  6. 72 0
      lib_common/src/main/java/com/uas/module/common/model/AccountInfo.java
  7. 26 0
      lib_common/src/main/java/com/uas/module/common/model/CompanyBean.java
  8. 39 0
      lib_common/src/main/java/com/uas/module/common/model/GroupMessageBean.java
  9. 84 0
      lib_common/src/main/java/com/uas/module/common/model/MessageConfigBean.java
  10. 30 0
      lib_common/src/main/java/com/uas/module/common/model/UnreadMessageBean.java
  11. 39 0
      lib_common/src/main/java/com/uas/module/common/utils/Helper/LoginHelper.java
  12. 42 0
      lib_common/src/main/java/com/uas/module/common/widget/SoftInputLinearLayout.java
  13. BIN
      lib_common/src/main/res/drawable-xxhdpi/common_toolbar_bg.png
  14. 9 0
      lib_common/src/main/res/drawable/ic_baseutil_back.xml
  15. 19 0
      lib_common/src/main/res/layout/base_bar_layout.xml
  16. 18 0
      lib_common/src/main/res/layout/common_toolbar.xml
  17. BIN
      lib_common/src/main/res/mipmap-xxhdpi/ic_launcher.jpg
  18. BIN
      lib_common/src/main/res/mipmap-xxhdpi/uuu.png
  19. 2 0
      lib_common/src/main/res/values/strings.xml
  20. BIN
      lib_widget/src/main/res/drawable-hdpi/bg_me_top.png
  21. BIN
      lib_widget/src/main/res/drawable-hdpi/icon_massage_nor.png
  22. BIN
      lib_widget/src/main/res/drawable-hdpi/icon_massage_selected.png
  23. BIN
      lib_widget/src/main/res/drawable-xxhdpi/ic_me_info_edit.png
  24. 7 0
      lib_widget/src/main/res/drawable/bg_tab_message.xml
  25. 9 0
      lib_widget/src/main/res/drawable/oa_next.xml
  26. 19 0
      lib_widget/src/main/res/drawable/radian_hollow_white_bg.xml
  27. 7 0
      lib_widget/src/main/res/drawable/selector_item_white_pass.xml
  28. 1 1
      lib_widget/src/main/res/values/dimens.xml
  29. 13 0
      lib_widget/src/main/res/values/styles.xml
  30. 1 1
      module_app/src/main/AndroidManifest.xml
  31. 1 1
      module_home/build.gradle
  32. 3 0
      module_home/src/main/java/com/uas/module/home/ui/LoginActivity.java
  33. 24 3
      module_home/src/main/java/com/uas/module/home/ui/SettingActivity.java
  34. BIN
      module_home/src/main/res/drawable-hdpi/icon_massage_nor.png
  35. BIN
      module_home/src/main/res/drawable-hdpi/icon_massage_selected.png
  36. 7 0
      module_home/src/main/res/drawable/bg_tab_message.xml
  37. 4 5
      module_home/src/main/res/layout/activity_setting.xml
  38. 1 0
      module_home/src/main/res/values/strings.xml
  39. 1 0
      module_main/build.gradle
  40. 1 0
      module_main/src/main/AndroidManifest.xml
  41. 35 7
      module_main/src/main/java/com/uas/module/main/BottomNavigationActivity.java
  42. 1 1
      module_main/src/main/res/menu/navigation.xml
  43. 1 0
      module_mine/build.gradle
  44. 94 11
      module_mine/src/main/java/com/uas/module/mine/MineFragment.java
  45. BIN
      module_mine/src/main/res/drawable-hdpi/icon_uu_company.png
  46. BIN
      module_mine/src/main/res/drawable-hdpi/icon_uu_setting.png
  47. 169 6
      module_mine/src/main/res/layout/fragment_mine.xml
  48. 7 0
      module_mine/src/main/res/values/strings.xml

+ 3 - 1
lib_common/src/main/AndroidManifest.xml

@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.uas.module.common">
 
@@ -19,6 +20,7 @@
             android:name="com.uas.module.common.glide.OkHttpGlideModule"
             android:value="GlideModule" />
 
+        <activity android:name=".base.activity.BaseToolBarActivity"></activity>
     </application>
 
-</manifest>
+</manifest>

+ 11 - 0
lib_common/src/main/java/com/uas/module/common/app/AppConfig.java

@@ -0,0 +1,11 @@
+package com.uas.module.common.app;
+
+/**
+ * Created by Arison on 2019/5/15.
+ */
+
+public class AppConfig {
+
+    /* 应用程序包名 */
+    public static final String sPackageName = "com.xzjmyk.pm.activity";
+}

+ 25 - 0
lib_common/src/main/java/com/uas/module/common/base/BaseActivity.java

@@ -1,11 +1,13 @@
 package com.uas.module.common.base;
 
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.support.annotation.IdRes;
 import android.support.annotation.Keep;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
+import android.util.DisplayMetrics;
 import android.view.View;
 
 import com.uas.module.common.R;
@@ -29,6 +31,7 @@ public abstract class BaseActivity extends AppCompatActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         ViewManager.getInstance().addActivity(this);
+        initFontScale(0);
     }
 
 
@@ -148,4 +151,26 @@ public abstract class BaseActivity extends AppCompatActivity {
     }
 
 
+    public void initFontScale(int i) {
+        Configuration configuration = getResources().getConfiguration();
+        switch (i) {
+            case 0:
+                configuration.fontScale = 1;
+                break;
+            case 1:
+                configuration.fontScale = 1.2f;
+                break;
+            case 2:
+                configuration.fontScale = 1.3f;
+                break;
+
+        }
+        //0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大
+        DisplayMetrics metrics = new DisplayMetrics();
+        getWindowManager().getDefaultDisplay().getMetrics(metrics);
+        metrics.scaledDensity = configuration.fontScale * metrics.density;
+        getBaseContext().getResources().updateConfiguration(configuration, metrics);
+    }
+
+
 }

+ 278 - 0
lib_common/src/main/java/com/uas/module/common/base/activity/BaseToolBarActivity.java

@@ -0,0 +1,278 @@
+package com.uas.module.common.base.activity;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.support.annotation.LayoutRes;
+import android.support.annotation.Nullable;
+import android.support.v7.widget.Toolbar;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewStub;
+import android.view.WindowManager;
+import android.widget.FrameLayout;
+import android.widget.TextView;
+
+import com.uas.module.common.R;
+import com.uas.module.common.base.BaseActivity;
+import com.uas.module.common.utils.StatusBarUtil;
+
+public class BaseToolBarActivity extends BaseActivity {
+
+    private FrameLayout contentFl;
+    private Toolbar commonToolBar;
+    private TextView commonTitleTv;
+    protected Context mContext;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
+                WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
+        super.onCreate(savedInstanceState);
+        super.setContentView(R.layout.base_bar_layout);
+        contentFl = findViewById(R.id.contentFl);
+        mContext=this;
+        int rceId = getLayoutRes();
+        if (rceId > 0) {
+            setContentView(rceId);
+        }
+        if (needCommonToolBar()) {
+            initCommonToolbar(getToolBarId());
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        //CommonUtil.closeKeybord(this);
+        super.onPause();
+    }
+
+    public CharSequence getToolBarTitle() {
+        if (commonTitleTv != null && !TextUtils.isEmpty(commonTitleTv.getText())) {
+            return commonTitleTv.getText();
+        } else if (getSupportActionBar() != null&&!TextUtils.isEmpty(getSupportActionBar().getTitle())) {
+            return getSupportActionBar().getTitle();
+        }
+        return "";
+    }
+
+    public int getToolBarId() {
+        return R.id.toolbarVs;
+    }
+
+    public void setCommonToolBar(Toolbar commonToolBar) {
+        this.commonToolBar = commonToolBar;
+    }
+
+    public void initCommonToolbar(int toolBarId) {
+        if (commonToolBar != null || toolBarId != R.id.toolbarVs) {
+            if (commonToolBar == null) {
+                commonToolBar = findViewById(toolBarId);
+            }
+            initCommonToolbar();
+        } else {
+            ViewStub stub = findViewById(R.id.toolbarVs);
+            stub.inflate();
+            commonToolBar = findViewById(R.id.commonToolBar);
+            commonTitleTv = findViewById(R.id.commonTitleTv);
+            initCommonToolbar();
+            if (needNavigation()) {
+                setNavigation(0, null, null);
+            }
+            if (commonTitleTv != null) {
+                commonTitleTv.setText(getTitle());
+            }
+        }
+    }
+
+    public void initCommonToolbar() {
+        if (commonToolBar != null) {
+            StatusBarUtil.immersive(this, 0x00000000, 0.0f);
+            setSupportActionBar(commonToolBar);
+            getSupportActionBar().setDisplayShowTitleEnabled(false);
+            StatusBarUtil.setPaddingSmart(this, commonToolBar);
+            commonToolBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
+                @Override
+                public boolean onMenuItemClick(MenuItem menuItem) {
+                    onOptionsItemSelected(menuItem);
+                    return false;
+                }
+            });
+        }
+    }
+
+    /**
+     * 初始化导航键
+     *
+     * @param iconId          返回图标(优先)
+     * @param icon            返回图标(当iconId小于0时)
+     * @param onClickListener 导航键监听事件
+     */
+    public final void setNavigation(int iconId, Drawable icon, View.OnClickListener onClickListener) {
+        if (iconId > 0) {
+            commonToolBar.setNavigationIcon(iconId);
+        } else if (icon != null) {
+            commonToolBar.setNavigationIcon(icon);
+        } else {
+            commonToolBar.setNavigationIcon(R.drawable.ic_baseutil_back);
+        }
+        if (onClickListener == null) {
+            onClickListener = new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    onBackPressed();
+                }
+            };
+        }
+        //设置返回按钮的点击事件
+        commonToolBar.setNavigationOnClickListener(onClickListener);
+        setToolBarMenuClickListener(null);
+    }
+
+    //是否需要返回键
+    public boolean needNavigation() {
+        return true;
+    }
+
+    //是否需要通用的toolbar
+    public boolean needCommonToolBar() {
+        return true;
+    }
+
+    /*隐藏toolbar*/
+    protected final void hideToolBar() {
+        if (commonToolBar != null) {
+            commonToolBar.setVisibility(View.GONE);
+        }
+    }
+
+    /*显示toolbar*/
+    public final void showToolBar() {
+        if (commonToolBar != null && commonToolBar.getVisibility() == View.GONE) {
+            commonToolBar.setVisibility(View.VISIBLE);
+        }
+    }
+
+    /*设置toolbar的点击监听器*/
+    public final void setToolBarMenuClickListener(Toolbar.OnMenuItemClickListener onclick) {
+        if (commonToolBar != null) {
+            if (onclick == null) {
+                onclick = new Toolbar.OnMenuItemClickListener() {
+                    @Override
+                    public boolean onMenuItemClick(MenuItem item) {
+                        onOptionsItemSelected(item);
+                        return false;
+                    }
+                };
+            }
+            commonToolBar.setOnMenuItemClickListener(onclick);
+        }
+    }
+
+    public final void setTitle(int titleId) {
+        super.setTitle(titleId);
+        if (titleId > 0) {
+            if (commonTitleTv != null) {
+                commonTitleTv.setText(titleId);
+            }
+            if (getSupportActionBar() != null) {
+                getSupportActionBar(). setTitle(titleId);
+            }
+        }
+
+    }
+
+    /*设置标题*/
+    public final void setTitle(CharSequence title) {
+        super.setTitle(title);
+        if (title != null) {
+            if (commonTitleTv != null) {
+                commonTitleTv.setText(title);
+            }
+            if (getSupportActionBar() != null) {
+                getSupportActionBar().setTitle(title);
+            }
+        }
+    }
+
+    /**
+     * 更改为自定义的ToolBar,此时默认的Toobar将会制空
+     * TODO 存在问题:前面如果设置的返回键监听事件会失效,发现该方法没用
+     *
+     * @param toolBarId 当前布局里toolbar的资源id
+     * @return 返回新的Toobar
+     */
+    @Deprecated
+    public Toolbar updataToolBar(int toolBarId) {
+        Drawable navigationIcon = null;
+        if (commonToolBar != null) {
+            if (needNavigation()) {
+                navigationIcon = commonToolBar.getNavigationIcon();
+            }
+        }
+        commonToolBar = contentFl.findViewById(toolBarId);
+        if (commonToolBar != null) {
+            setSupportActionBar(commonToolBar);
+            //设置actionBar的标题是否显示,对应ActionBar.DISPLAY_SHOW_TITLE。
+            getSupportActionBar().setDisplayShowTitleEnabled(false);
+            if (needNavigation()) {
+                setNavigation(0, navigationIcon, null);
+            }
+        }
+        return commonToolBar;
+    }
+
+    public int getLayoutRes() {
+        return 0;
+    }
+
+    @Override
+    public void setContentView(View contentView) {
+        setContentView(contentView, null);
+    }
+
+    @SuppressLint("ResourceType")
+    @Override
+    public void setContentView(@LayoutRes int layoutId) {
+        if (layoutId > 0) {
+            if (contentFl != null) {
+                LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+                inflater.inflate(layoutId, contentFl);
+            } else {
+                super.setContentView(layoutId);
+            }
+        }
+    }
+
+    @Override
+    public void setContentView(View contentView, ViewGroup.LayoutParams params) {
+        if (contentView != null) {
+            if (contentFl != null) {
+                contentFl.removeAllViews();
+                if (params == null) {
+                    params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
+                            ViewGroup.LayoutParams.MATCH_PARENT);
+                }
+                contentFl.addView(contentView, params);
+            } else {
+                super.setContentView(contentView);
+            }
+        }
+    }
+
+    
+    
+    public FrameLayout getContentFl() {
+        return contentFl;
+    }
+
+    public Toolbar getCommonToolBar() {
+        return commonToolBar;
+    }
+
+    
+}

+ 198 - 0
lib_common/src/main/java/com/uas/module/common/base/fragment/EasyFragment.java

@@ -0,0 +1,198 @@
+package com.uas.module.common.base.fragment;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.uas.module.common.base.BaseFragment;
+
+
+/**
+ * @author Dean Tao
+ * @version 1.0
+ */
+public abstract class EasyFragment extends BaseFragment {
+
+	private View mRootView;
+	public boolean isRunable;
+	public Context ct;
+
+	public boolean isVisible;
+	@Override
+	public void setUserVisibleHint(boolean isVisibleToUser) {
+		super.setUserVisibleHint(isVisibleToUser);
+
+		if(getUserVisibleHint()) {
+			isVisible = true;
+		} else {
+			isVisible = false;
+		}
+
+	}
+	/**
+	 * 是否缓存视图
+	 *
+	 * @return
+	 */
+	protected boolean cacheView() {
+		return true;
+	}
+
+	/**
+	 * 指定该Fragment的Layout id
+	 *
+	 * @return
+	 */
+	protected abstract int inflateLayoutId();
+
+	/**
+	 * 代替onCreateView的回调
+	 *
+	 * @param savedInstanceState
+	 * @param createView         是否重新创建了视图,如果是,那么你需要重新findView来初始化子视图的引用等。
+	 */
+	protected abstract void onCreateView(Bundle savedInstanceState, boolean createView);
+
+
+	private MenuItem.OnMenuItemClickListener omOnMenuItemClickListener= new MenuItem.OnMenuItemClickListener() {
+		@Override
+		public boolean onMenuItemClick(MenuItem menuItem) {
+			onOptionsItemSelected(menuItem);
+			return false;
+		}
+	};
+	@Override
+	public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+		if (menu!=null){
+			for (int i=0;i<menu.size();i++){
+				MenuItem item = menu.getItem(i);
+				if (item!=null){
+					item.setOnMenuItemClickListener(omOnMenuItemClickListener);
+				}
+			}
+		}
+		super.onCreateOptionsMenu(menu, inflater);
+	}
+	public View getmRootView() {
+		return mRootView;
+	}
+
+	@Override
+	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+		boolean createView = true;
+		if (cacheView() && mRootView != null) {
+			ViewGroup parent = (ViewGroup) mRootView.getParent();
+			if (parent != null) {
+				parent.removeView(mRootView);
+			}
+			createView = false;
+		} else {
+			mRootView = inflater.inflate(inflateLayoutId(), container, false);
+		}
+		onCreateView(savedInstanceState, createView);
+		return mRootView;
+	}
+
+	public <T extends View> T  findViewById(int id) {
+		if (mRootView != null) {
+			return mRootView.findViewById(id);
+		}
+		return null;
+	}
+
+	public View findViewWithTag(Object tag) {
+		if (mRootView != null) {
+			return mRootView.findViewWithTag(tag);
+		}
+		return null;
+	}
+
+	public String TAG() {
+		return this.getClass().getSimpleName();
+	}
+
+	@Override
+	public void onAttach(Context context) {
+		super.onAttach(context);
+		ct = context;
+		isRunable = true;
+	}
+
+	@Override
+	public void onCreate(Bundle savedInstanceState) {
+		super.onCreate(savedInstanceState);
+		Log.d("roamer", TAG() + " onCreate");
+	}
+
+	@Override
+	public void onActivityCreated(Bundle savedInstanceState) {
+		super.onActivityCreated(savedInstanceState);
+		Log.d("roamer", TAG() + " onActivityCreated");
+	}
+
+	@Override
+	public void onStart() {
+		super.onStart();
+		Log.d("roamer", TAG() + " onStart");
+	}
+
+	@Override
+	public void onResume() {
+		super.onResume();
+		Log.d("roamer", TAG() + " onResume");
+	}
+
+	@Override
+	public void onPause() {
+		super.onPause();
+		Log.d("roamer", TAG() + " onPause");
+	}
+
+	@Override
+	public void onStop() {
+		super.onStop();
+
+		Log.d("roamer", TAG() + " onStop");
+	}
+
+	@Override
+	public void onDestroyView() {
+		super.onDestroyView();
+		Log.d("roamer", TAG() + " onDestroyView");
+	}
+
+	@Override
+	public void onDestroy() {
+		super.onDestroy();
+		Log.d("roamer", TAG() + " onDestroy");
+	}
+
+	@Override
+	public void onDetach() {
+		super.onDetach();
+		isRunable = false;
+		Log.d("roamer", TAG() + " onDetach");
+	}
+
+
+	@Override
+	public void startActivity(Intent intent) {
+		super.startActivity(intent);
+		//getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+	}
+
+	@Override
+	public void startActivityForResult(Intent intent, int requestCode) {
+		super.startActivityForResult(intent, requestCode);
+		//getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+	}
+
+	
+}

+ 72 - 0
lib_common/src/main/java/com/uas/module/common/model/AccountInfo.java

@@ -0,0 +1,72 @@
+package com.uas.module.common.model;
+
+/**
+ * Created by Arison on 2019/5/14.
+ */
+
+public class AccountInfo {
+    
+    private String avatarUrl;
+    private String email;
+    private long id;
+    private String mobile;
+    private String realname;
+    private String sex;
+    private int sexValue;
+
+    public void setAvatarUrl(String avatarUrl) {
+        this.avatarUrl = avatarUrl;
+    }
+
+    public String getAvatarUrl() {
+        return avatarUrl;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getId() {
+        return id;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setRealname(String realname) {
+        this.realname = realname;
+    }
+
+    public String getRealname() {
+        return realname;
+    }
+
+    public void setSex(String sex) {
+        this.sex = sex;
+    }
+
+    public String getSex() {
+        return sex;
+    }
+
+    public void setSexValue(int sexValue) {
+        this.sexValue = sexValue;
+    }
+
+    public int getSexValue() {
+        return sexValue;
+    }
+}

+ 26 - 0
lib_common/src/main/java/com/uas/module/common/model/CompanyBean.java

@@ -0,0 +1,26 @@
+package com.uas.module.common.model;
+
+
+public class CompanyBean {
+
+
+    private long id;
+    private String name;
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public long getId() {
+        return id;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+}

+ 39 - 0
lib_common/src/main/java/com/uas/module/common/model/GroupMessageBean.java

@@ -0,0 +1,39 @@
+package com.uas.module.common.model;
+
+import java.util.List;
+
+/**
+ * 工作台配置Model
+ * Created by Arison on 2019/5/9.
+ */
+
+public class GroupMessageBean {
+    
+    private int appConfigCount;
+    private List<MessageConfigBean> appConfigList;
+    private String name;
+
+    public int getAppConfigCount() {
+        return appConfigCount;
+    }
+
+    public void setAppConfigCount(int appConfigCount) {
+        this.appConfigCount = appConfigCount;
+    }
+
+    public List<MessageConfigBean> getAppConfigList() {
+        return appConfigList;
+    }
+
+    public void setAppConfigList(List<MessageConfigBean> appConfigList) {
+        this.appConfigList = appConfigList;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

+ 84 - 0
lib_common/src/main/java/com/uas/module/common/model/MessageConfigBean.java

@@ -0,0 +1,84 @@
+package com.uas.module.common.model;
+
+
+/**
+ * Auto-generated: 2019-05-09 15:58:29
+ *
+ * @author bejson.com (i@bejson.com)
+ * @website http://www.bejson.com/java2pojo/
+ */
+public class MessageConfigBean  {
+
+    private int id;
+    private String androidWidget;
+    private String code;
+    private String icon;
+    private String iosWidget;
+    private String name;
+    private String viewType;
+    private int viewTypeValue;
+    private String webUrl;
+    public void setAndroidWidget(String androidWidget) {
+        this.androidWidget = androidWidget;
+    }
+    public String getAndroidWidget() {
+        return androidWidget;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+    public String getCode() {
+        return code;
+    }
+
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+    public String getIcon() {
+        return icon;
+    }
+
+    public void setIosWidget(String iosWidget) {
+        this.iosWidget = iosWidget;
+    }
+    public String getIosWidget() {
+        return iosWidget;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setViewType(String viewType) {
+        this.viewType = viewType;
+    }
+    public String getViewType() {
+        return viewType;
+    }
+
+    public void setViewTypeValue(int viewTypeValue) {
+        this.viewTypeValue = viewTypeValue;
+    }
+    public int getViewTypeValue() {
+        return viewTypeValue;
+    }
+
+    public void setWebUrl(String webUrl) {
+        this.webUrl = webUrl;
+    }
+    public String getWebUrl() {
+        return webUrl;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+}

+ 30 - 0
lib_common/src/main/java/com/uas/module/common/model/UnreadMessageBean.java

@@ -0,0 +1,30 @@
+/**
+ * Copyright 2019 bejson.com 
+ */
+package com.uas.module.common.model;
+
+/**
+ * Auto-generated: 2019-05-09 16:36:22
+ *
+ * @author bejson.com (i@bejson.com)
+ * @website http://www.bejson.com/java2pojo/
+ */
+public class UnreadMessageBean {
+
+    private String code;
+    private int count;
+    public void setCode(String code) {
+        this.code = code;
+    }
+    public String getCode() {
+        return code;
+    }
+
+    public void setCount(int count) {
+        this.count = count;
+    }
+    public int getCount() {
+        return count;
+    }
+
+}

+ 39 - 0
lib_common/src/main/java/com/uas/module/common/utils/Helper/LoginHelper.java

@@ -0,0 +1,39 @@
+package com.uas.module.common.utils.Helper;
+
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+import com.uas.module.common.app.AppConfig;
+
+/**
+ * Created by Arison on 2019/5/15.
+ */
+
+public class LoginHelper {
+
+    public static final String ACTION_LOGIN = AppConfig.sPackageName + ".action.login";// 登陆
+    public static final String ACTION_LOGOUT = AppConfig.sPackageName + ".action.logout";// 用户手动注销登出
+    public static final String ACTION_CONFLICT = AppConfig.sPackageName + ".action.conflict";// 登陆冲突(另外一个设备登陆了)
+    public static final String ACTION_TOKEN = AppConfig.sPackageName + ".action.token";// token异常
+
+
+
+    // 登出广播
+    public static void broadcastLogout(Context context) {
+        Intent intent = new Intent(ACTION_LOGOUT);
+        context.sendBroadcast(intent);
+    }
+
+
+
+    // 获取登陆和登出的action filter
+    public static IntentFilter getLogInOutActionFilter() {
+        IntentFilter intentFilter = new IntentFilter();
+        intentFilter.addAction(ACTION_LOGIN);
+        intentFilter.addAction(ACTION_LOGOUT);
+        intentFilter.addAction(ACTION_CONFLICT);
+        return intentFilter;
+    }
+}

+ 42 - 0
lib_common/src/main/java/com/uas/module/common/widget/SoftInputLinearLayout.java

@@ -0,0 +1,42 @@
+package com.uas.module.common.widget;
+
+import android.content.Context;
+import android.graphics.Rect;
+import android.os.Build;
+import android.util.AttributeSet;
+import android.view.WindowInsets;
+import android.widget.LinearLayout;
+
+public class SoftInputLinearLayout extends LinearLayout {
+    public SoftInputLinearLayout(Context context) {
+        super(context);
+    }
+
+    public SoftInputLinearLayout(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+
+    public SoftInputLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    @Override
+    protected boolean fitSystemWindows(Rect insets) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
+            insets.left = 0;
+            insets.top = 0;
+            insets.right = 0;
+        }
+        return super.fitSystemWindows(insets);
+    }
+
+    @Override
+    public WindowInsets onApplyWindowInsets(WindowInsets insets) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
+            return super.onApplyWindowInsets(insets.replaceSystemWindowInsets(0, 0, 0, insets.getSystemWindowInsetBottom()));
+        } else {
+            return insets;
+        }
+    }
+}

BIN
lib_common/src/main/res/drawable-xxhdpi/common_toolbar_bg.png


+ 9 - 0
lib_common/src/main/res/drawable/ic_baseutil_back.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportHeight="1024.0"
+    android:viewportWidth="1024.0">
+    <path
+        android:fillColor="#FFFFFF"
+        android:pathData="M363.8,473C336.9,497.4 337.3,537.5 364.7,561.5L674,832.1C682.8,839.8 696.3,838.9 704.1,830 711.8,821.2 710.9,807.7 702,799.9L392.8,529.4C384.6,522.2 384.5,511.8 392.5,504.6L702.3,223.8C711.1,215.9 711.7,202.4 703.8,193.7 695.9,184.9 682.4,184.3 673.7,192.2L363.8,473Z" />
+</vector>

+ 19 - 0
lib_common/src/main/res/layout/base_bar_layout.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.uas.module.common.widget.SoftInputLinearLayout
+    android:id="@+id/windowLl"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <ViewStub
+        android:id="@+id/toolbarVs"
+        android:layout_width="match_parent"
+        android:layout_height="?attr/actionBarSize"
+        android:layout="@layout/common_toolbar" />
+    <FrameLayout
+        android:id="@+id/contentFl"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_below="@+id/toolbarVs"
+        android:orientation="horizontal" />
+</com.uas.module.common.widget.SoftInputLinearLayout>

+ 18 - 0
lib_common/src/main/res/layout/common_toolbar.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/commonToolBar"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    app:contentInsetStartWithNavigation="0dp"
+    android:minHeight="?attr/actionBarSize"
+    android:background="@drawable/common_toolbar_bg">
+    <TextView
+        android:id="@+id/commonTitleTv"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="left|center_vertical"
+        android:text="@string/app_name"
+        android:textColor="@color/white"
+        android:textSize="18sp" />
+</android.support.v7.widget.Toolbar>

BIN
lib_common/src/main/res/mipmap-xxhdpi/ic_launcher.jpg


BIN
lib_common/src/main/res/mipmap-xxhdpi/uuu.png


+ 2 - 0
lib_common/src/main/res/values/strings.xml

@@ -14,4 +14,6 @@
     <string name="more">更多</string>
     <string name="no_data">暂无数据</string>
 
+    
+    
 </resources>

BIN
lib_widget/src/main/res/drawable-hdpi/bg_me_top.png


BIN
lib_widget/src/main/res/drawable-hdpi/icon_massage_nor.png


BIN
lib_widget/src/main/res/drawable-hdpi/icon_massage_selected.png


BIN
lib_widget/src/main/res/drawable-xxhdpi/ic_me_info_edit.png


+ 7 - 0
lib_widget/src/main/res/drawable/bg_tab_message.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/icon_massage_selected" android:state_checked="true" android:state_enabled="true" />
+    <item android:drawable="@drawable/icon_massage_nor" />
+
+</selector>

+ 9 - 0
lib_widget/src/main/res/drawable/oa_next.xml

@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="10dp"
+    android:height="15dp"
+    android:viewportHeight="1024"
+    android:viewportWidth="1024">
+    <path
+        android:fillColor="#D4D4D4"
+        android:pathData="M769.79,476.03 L416.48,125.92c-18.85,-18.66 -49.22,-18.53 -67.87,0.32 -18.66,18.82 -18.53,49.22 0.32,67.87l319.46,316.58 -318.18,321.06c-18.66,18.82 -18.53,49.22 0.32,67.87 9.34,9.28 21.57,13.92 33.79,13.92 12.35,0 24.7,-4.74 34.08,-14.21l350.11,-353.31c0.51,-0.51 0.67,-1.25 1.18,-1.79 0.13,-0.13 0.29,-0.16 0.42,-0.29C788.74,525.09 788.64,494.69 769.79,476.03z" />
+</vector>

+ 19 - 0
lib_widget/src/main/res/drawable/radian_hollow_white_bg.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <!-- solid 设置stroke设置的边框以内的颜色 -->
+    <!-- stroke主要设置组件的边框。width为边框宽度,color为边框颜色 -->
+    <!--<stroke-->
+        <!--android:width="0.3dp"-->
+        <!--android:color="#f2f2f2" />-->
+    <!-- corners 设置边框四角弧度 -->
+    <corners
+        android:topLeftRadius="360dp"
+        android:topRightRadius="360dp"
+        android:bottomLeftRadius="360dp"
+        android:bottomRightRadius="360dp"/>
+
+    <stroke
+        android:width="2dp"
+        android:color="@color/white"/>
+</shape>

+ 7 - 0
lib_widget/src/main/res/drawable/selector_item_white_pass.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@color/me_menu_item_press" android:state_checked="true"/>
+    <item android:drawable="@color/me_menu_item_press" android:state_pressed="true"/>
+    <item android:drawable="@color/me_menu_item_press" android:state_selected="true"/>
+    <item android:drawable="@color/white"/>
+</selector>

+ 1 - 1
lib_widget/src/main/res/values/dimens.xml

@@ -269,7 +269,7 @@
     <dimen name="oa_statistics_date_minheight">30dp</dimen>
     <!-- end oa 考勤统计页面-->
     <dimen name="next_width">10.0dip</dimen>
-    <dimen name="line">3px</dimen>
+    <dimen name="line">1px</dimen>
     <dimen name="line_big">7.0dip</dimen>
     <dimen name="line_min">2.0dip</dimen>
     <dimen name="next_height">15.0dip</dimen>

+ 13 - 0
lib_widget/src/main/res/values/styles.xml

@@ -58,4 +58,17 @@
         <item name="android:scrollingCache">false</item>
         <item name="android:listSelector">@android:color/transparent</item>
     </style>
+
+    <style name="IMTbleLine_TextValue">
+        <item name="android:textColorHint">@color/grey</item>
+        <item name="android:textColor">@color/black</item>
+        <item name="android:textSize">12sp</item>
+        <item name="android:gravity">right</item>
+        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginLeft">5dp</item>
+        <item name="android:layout_marginRight">5dp</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:layout_centerVertical">true</item>
+    </style>
 </resources>

+ 1 - 1
module_app/src/main/AndroidManifest.xml

@@ -5,7 +5,7 @@
     <application
         android:name="com.uas.module.MyApplication"
         android:allowBackup="true"
-        android:icon="@mipmap/ic_launcher"
+        android:icon="@mipmap/uuu"
         android:label="@string/app_name"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">

+ 1 - 1
module_home/build.gradle

@@ -50,5 +50,5 @@ dependencies {
     annotationProcessor deps.arouter_compiler
     implementation project(':lib_common')
     implementation  project(path: ':lib_widget')
-compile 'com.android.support.constraint:constraint-layout:1.0.2'
+
 }

+ 3 - 0
module_home/src/main/java/com/uas/module/home/ui/LoginActivity.java

@@ -189,6 +189,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
                         SPUtils.getInstance(Constants.spName).put("phone",phoneNumber);
                         SPUtils.getInstance(Constants.spName).put("password",password);
                         SPUtils.getInstance(Constants.spName).put("token",JSON.toJSONString(token));
+                        SPUtils.getInstance(Constants.spName).put("user",JSON.toJSONString(response.getAccount()));
                         LogUtils.d("login token:"+token.getToken());
                         LogUtils.d("account:"+JSON.toJSONString(response.getAccount()));
                         // 登录成功后记录auth信息
@@ -198,6 +199,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
                             System.out.println("current selected company " + response.getActiveCompanyId());
                         } else if (response.getCompanyCount() > 0) {
                             LogUtils.d("公司账套:"+JSON.toJSONString(response.getCompanyList()));
+                            SPUtils.getInstance(Constants.spName).put("companyList",JSON.toJSONString(response.getCompanyList()));
                             List<ItemsSelectType1> datas=new ArrayList<>();
                             for (int i=0;i<response.getCompanyList().size();i++){
                                 ItemsSelectType1 model=new ItemsSelectType1();
@@ -360,6 +362,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
                     
                     //登录成功
                     ARouter.getInstance().build("/app/main").navigation();
+                    finish();
                 } else {
                     runOnUiThread(()->{
                         MProgressDialog.dismissProgress();

+ 24 - 3
module_home/src/main/java/com/uas/module/home/ui/SettingActivity.java

@@ -1,18 +1,39 @@
 package com.uas.module.home.ui;
 
 import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
+import android.view.View;
+import android.widget.TextView;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
+import com.uas.module.common.base.activity.BaseToolBarActivity;
+import com.uas.module.common.utils.Helper.LoginHelper;
 import com.uas.module.home.R;
 
 @Route(path = "/home/setting")
-public class SettingActivity extends AppCompatActivity {
+public class SettingActivity extends BaseToolBarActivity {
+
+    TextView exit_btn;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
-        
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_setting);
+        setTitle(getString(R.string.user_setting));
+        initView();
+    }
+
+
+    private void initView() {
+        exit_btn=findViewById(R.id.exit_btn);
+        
+        exit_btn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+
+                LoginHelper.broadcastLogout(mContext);
+                finish();
+              }
+        });
     }
 }

BIN
module_home/src/main/res/drawable-hdpi/icon_massage_nor.png


BIN
module_home/src/main/res/drawable-hdpi/icon_massage_selected.png


+ 7 - 0
module_home/src/main/res/drawable/bg_tab_message.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item android:drawable="@drawable/icon_massage_selected" android:state_checked="true" android:state_enabled="true" />
+    <item android:drawable="@drawable/icon_massage_nor" />
+
+</selector>

+ 4 - 5
module_home/src/main/res/layout/activity_setting.xml

@@ -1,6 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-
-
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
@@ -8,7 +6,7 @@
     android:fillViewport="true"
     android:scrollbars="none">
 
-    <LinearLayout
+    <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical">
@@ -51,11 +49,12 @@
             android:id="@+id/exit_btn"
             style="@style/commonSettingItem"
             android:layout_marginBottom="40dp"
-            android:layout_marginTop="30dp"
+            android:layout_marginTop="240dp"
+            android:layout_alignParentBottom="true"
             android:gravity="center"
             android:text="@string/set_login_out"
             android:textColor="@color/red" />
-    </LinearLayout>
+    </RelativeLayout>
 
    
 </ScrollView>

+ 1 - 0
module_home/src/main/res/values/strings.xml

@@ -37,4 +37,5 @@
     <string name="set_about">关于UU互联</string>
     <string name="set_version">当前版本</string>
     <string name="set_login_out">退出登录</string>
+    <string name="user_setting">设置</string>
 </resources>

+ 1 - 0
module_main/build.gradle

@@ -50,4 +50,5 @@ dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     annotationProcessor deps.arouter_compiler
     implementation project(':lib_common')
+    implementation  project(path: ':lib_widget')
 }

+ 1 - 0
module_main/src/main/AndroidManifest.xml

@@ -12,6 +12,7 @@
         </activity>
         <activity
             android:name=".BottomNavigationActivity"
+            android:theme="@style/AppTheme.NoActionBar"
             android:label="@string/title_activity_fragment_module"></activity>
         <activity android:name=".HomeActivity"></activity>
     </application>

+ 35 - 7
module_main/src/main/java/com/uas/module/main/BottomNavigationActivity.java

@@ -1,5 +1,8 @@
 package com.uas.module.main;
 
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
@@ -11,12 +14,14 @@ import android.view.MenuItem;
 import android.view.View;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.android.arouter.launcher.ARouter;
 import com.blankj.utilcode.util.LogUtils;
 import com.uas.module.common.base.BaseActivity;
 import com.uas.module.common.base.BaseFragment;
 import com.uas.module.common.base.ClassUtils;
 import com.uas.module.common.base.IViewDelegate;
 import com.uas.module.common.base.ViewManager;
+import com.uas.module.common.utils.Helper.LoginHelper;
 import com.uas.module.common.utils.ToastUtils;
 import com.uas.module.common.widget.NoScrollViewPager;
 
@@ -51,15 +56,15 @@ public class BottomNavigationActivity extends BaseActivity {
             int i = item.getItemId();
             if (i == R.id.navigation_home) {
                 mPager.setCurrentItem(0);
-                getSupportActionBar().setTitle("消息");
+               // getSupportActionBar().setTitle("消息");
                 return true;
             } else if (i == R.id.navigation_dashboard) {
                 mPager.setCurrentItem(1);
-                getSupportActionBar().setTitle("工作");
+               // getSupportActionBar().setTitle("工作");
                 return true;
             } else if (i == R.id.navigation_notifications) {
                 mPager.setCurrentItem(2);
-                getSupportActionBar().setTitle("我的");
+               // getSupportActionBar().setTitle("我的");
                 return true;
             }
             return false;
@@ -71,7 +76,7 @@ public class BottomNavigationActivity extends BaseActivity {
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_bottom_navigation);
-        getSupportActionBar().setTitle("消息");
+       // getSupportActionBar().setTitle("消息");
         BottomNavigationView navigation =  findViewById(R.id.navigation);
         navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
 
@@ -118,9 +123,13 @@ public class BottomNavigationActivity extends BaseActivity {
         
         
         initViewPager();
+
+        // 注册用户登录状态广播
+        registerReceiver(mUserLogInOutReceiver, LoginHelper.getLogInOutActionFilter());
     }
 
     private void initViewPager() {
+        //自动寻找的方式,目前还无法掌握Fragment加载顺序
        // mFragments = ViewManager.getInstance().getAllFragment();//这几个Fragment是主动添加到ViewManager中的
         BaseFragment newsFragment = getNewsFragment();//主动寻找
         BaseFragment girlsFragment = getGirlsFragment();//主动寻找
@@ -143,6 +152,7 @@ public class BottomNavigationActivity extends BaseActivity {
      *
      * @return Fragment
      */
+    //工作Fragment组件
     private BaseFragment getNewsFragment() {
         BaseFragment newsFragment = null;
         List<IViewDelegate> viewDelegates = ClassUtils.getObjectsWithInterface(this, IViewDelegate.class, "com.uas.module.news");
@@ -152,7 +162,7 @@ public class BottomNavigationActivity extends BaseActivity {
         return newsFragment;
     }
 
-
+    //我的Fragment组件
     private BaseFragment getMineFragment() {
         BaseFragment newsFragment = null;
         List<IViewDelegate> viewDelegates = ClassUtils.getObjectsWithInterface(this, IViewDelegate.class, "com.uas.module.mine");
@@ -162,7 +172,7 @@ public class BottomNavigationActivity extends BaseActivity {
         return newsFragment;
     }
 
-
+    //消息Fragment组件
     private BaseFragment getGirlsFragment() {
         BaseFragment newsFragment = null;
         List<IViewDelegate> viewDelegates = ClassUtils.getObjectsWithInterface(this, IViewDelegate.class, "com.uas.module.girls");
@@ -200,6 +210,24 @@ public class BottomNavigationActivity extends BaseActivity {
         }
         return super.onKeyDown(keyCode, event);
     }
-    
 
+
+    private BroadcastReceiver mUserLogInOutReceiver = new BroadcastReceiver() {
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (action.equals(LoginHelper.ACTION_LOGOUT)) {
+                ARouter.getInstance().build("/home/login").navigation();
+                finish();
+            }
+        }
+    };
+
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        unregisterReceiver(mUserLogInOutReceiver);
+    }
 }

+ 1 - 1
module_main/src/main/res/menu/navigation.xml

@@ -3,7 +3,7 @@
 
     <item
         android:id="@+id/navigation_home"
-        android:icon="@drawable/ic_home_black_24dp"
+        android:icon="@drawable/bg_tab_message"
         android:title="@string/title_home" />
 
     <item

+ 1 - 0
module_mine/build.gradle

@@ -49,4 +49,5 @@ dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     annotationProcessor deps.arouter_compiler
     implementation project(':lib_common')
+    implementation  project(path: ':lib_widget')
 }

+ 94 - 11
module_mine/src/main/java/com/uas/module/mine/MineFragment.java

@@ -1,31 +1,114 @@
 package com.uas.module.mine;
 
 import android.os.Bundle;
-import android.view.LayoutInflater;
+import android.support.v7.app.AppCompatActivity;
 import android.view.View;
-import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.RelativeLayout;
+import android.widget.TextView;
 
-import com.uas.module.common.base.BaseFragment;
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.alibaba.fastjson.JSON;
+import com.blankj.utilcode.util.LogUtils;
+import com.blankj.utilcode.util.SPUtils;
+import com.uas.module.common.base.fragment.EasyFragment;
+import com.uas.module.common.glide.ImageUtils;
+import com.uas.module.common.model.AccountInfo;
+import com.uas.module.common.model.CompanyBean;
+import com.uas.module.common.utils.Constants;
+import com.uas.module.common.utils.StatusBarUtil;
 
+import java.util.List;
 
-public class MineFragment extends BaseFragment {
+import de.hdodenhof.circleimageview.CircleImageView;
+
+
+public class MineFragment extends EasyFragment implements View.OnClickListener{
+
+    private FrameLayout vg;
+    private TextView company_tv;
+    private RelativeLayout rl_company_change;
+    private TextView mNickNameTv;
+    private TextView mPhoneNumTv;
+
+    private CircleImageView mUserHeader;
 
-    
     public static MineFragment newInstance() {
         return new MineFragment();
     }
 
+    @Override
+    protected int inflateLayoutId() {
+        return R.layout.fragment_mine;
+    }
+
+    @Override
+    protected void onCreateView(Bundle savedInstanceState, boolean createView) {
+         if(createView){
+             initView();
+         }
+    }
 
 
-    public MineFragment() {
-       
+    private void initView() {
+        android.support.v7.widget.Toolbar meToolbar = findViewById(R.id.meToolbar);
+        TextView meTitleTv = findViewById(R.id.meTitleTv);
+        vg = findViewById(R.id.vg);
+
+        if (meToolbar != null) {
+            StatusBarUtil.immersive(getActivity(), 0x00000000, 0.0f);
+            ((AppCompatActivity) ct).setSupportActionBar(meToolbar);
+            ((AppCompatActivity) ct).getSupportActionBar().setDisplayShowTitleEnabled(false);
+            StatusBarUtil.setPaddingSmart(ct, meToolbar);
+        }
+        meTitleTv.setText(R.string.me);
+
+
+        company_tv = findViewById(R.id.company_tv);
+        rl_company_change = findViewById(R.id.rl_company_change);
+        mNickNameTv = findViewById(R.id.nick_name_tv);
+        
+        mPhoneNumTv = findViewById(R.id.phone_number_tv);
+        mUserHeader=findViewById(R.id.avatar_img);
+        
+        findViewById(R.id.setting_rl).setOnClickListener(this);
+        findViewById(R.id.rl_company_change).setOnClickListener(this);
+
+
+
+        initData();
     }
+   
+    public void initData(){
+        LogUtils.d("user:"+SPUtils.getInstance(Constants.spName).getString("user"));
+        AccountInfo account= JSON.parseObject(SPUtils.getInstance(Constants.spName).getString("user")
+      ,AccountInfo.class);
+       LogUtils.d("accountInfo:"+JSON.toJSONString(account));
 
+       String companys= SPUtils.getInstance(Constants.spName).getString("companyList");
+       LogUtils.d("companys:"+companys);
+      
+      mNickNameTv.setText(account.getRealname());
+      mPhoneNumTv.setText(account.getMobile());
+        
+      List<CompanyBean> companyBeans=JSON.parseArray(companys,CompanyBean.class);
+      company_tv.setText(companyBeans.get(0).getName());
+      
+        
+      
+      //https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2581650008,2183127638&fm=27&gp=0.jpg
+
+      ImageUtils.loadImageView("https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2581650008,2183127638&fm=27&gp=0.jpg",
+                mUserHeader);
+    }
 
     @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                             Bundle savedInstanceState) {
-    
-        return inflater.inflate(R.layout.fragment_mine, container, false);
+    public void onClick(View v) {
+        int i = v.getId();
+        if (i == R.id.setting_rl) {
+            ARouter.getInstance().build("/home/setting").navigation();
+        }else if(i ==R.id.rl_company_change){
+            
+        }
     }
 }

BIN
module_mine/src/main/res/drawable-hdpi/icon_uu_company.png


BIN
module_mine/src/main/res/drawable-hdpi/icon_uu_setting.png


+ 169 - 6
module_mine/src/main/res/layout/fragment_mine.xml

@@ -1,12 +1,175 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical" android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
 
-    <TextView
+    <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:gravity="center"
-        android:text="我是来自mine组件的mineFragment " />
+        android:layout_height="244dp">
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="210dp"
+            android:background="@drawable/bg_me_top" />
+
+
+        <android.support.v7.widget.Toolbar
+            android:id="@+id/meToolbar"
+            android:layout_width="match_parent"
+            android:layout_height="?attr/actionBarSize">
+
+            <TextView
+                android:id="@+id/meTitleTv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="left|center_vertical"
+                android:text="@string/app_name"
+                android:textColor="@color/white"
+                android:textSize="18sp" />
+        </android.support.v7.widget.Toolbar>
+
+        <FrameLayout
+            android:id="@+id/vg"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/meToolbar" />
+
+        <de.hdodenhof.circleimageview.CircleImageView
+            android:id="@+id/avatar_img"
+            android:layout_width="78dp"
+            android:layout_height="78dp"
+            android:layout_alignParentBottom="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginBottom="8dp"
+            android:background="@drawable/radian_hollow_white_bg"
+            android:padding="1dp" />
+
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_above="@id/avatar_img"
+            android:layout_marginBottom="20dp"
+            android:gravity="center"
+            android:orientation="horizontal">
+
+            <TextView
+                android:id="@+id/nick_name_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/padding"
+                android:ellipsize="end"
+                android:text="刘杰"
+                android:lines="1"
+                android:maxWidth="200dp"
+                android:textColor="@color/white"
+                android:textSize="20sp" />
+
+            <TextView
+                android:id="@+id/phone_number_tv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/padding"
+                android:text="13545678764"
+                android:textColor="@color/white"
+                android:textSize="14sp" />
+
+            <ImageView
+                android:id="@+id/editInfoIv"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:padding="@dimen/paddingMin"
+                android:src="@drawable/ic_me_info_edit" />
+        </LinearLayout>
+
+    </RelativeLayout>
+
+    <RelativeLayout
+        android:layout_marginTop="50dp"
+        android:id="@+id/rl_company_change"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:background="@drawable/selector_item_white_pass"
+        android:paddingLeft="@dimen/padding"
+        android:paddingTop="@dimen/padding">
+
+        <View
+            android:id="@+id/view"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/line"
+            android:layout_alignParentBottom="true"
+            android:background="@color/item_line" />
+
+        <TextView
+            android:id="@+id/company_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:drawableLeft="@drawable/icon_uu_company"
+            android:drawablePadding="10dp"
+            android:gravity="center"
+            android:text="@string/user_company"
+            android:textColor="#333333"
+            android:textSize="15sp" />
+
+        <TextView
+            android:id="@+id/company_tv"
+            style="@style/IMTbleLine_TextValue"
+            android:textStyle="bold"
+            android:layout_toLeftOf="@+id/company_arrow_img"
+            android:layout_toRightOf="@+id/company_text"
+            android:textColor="#999999"
+            android:textSize="14sp" />
+
+        <ImageView
+            android:id="@+id/company_arrow_img"
+            android:layout_width="@dimen/next_width"
+            android:layout_height="@dimen/next_height"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="8dp"
+            android:background="@drawable/oa_next"
+            android:contentDescription="@string/app_name" />
+    </RelativeLayout>
+    
+    <RelativeLayout
+     
+        android:id="@+id/setting_rl"
+        android:layout_width="match_parent"
+        android:layout_height="50dp"
+        android:background="@drawable/selector_item_white_pass"
+        android:paddingLeft="@dimen/padding"
+        android:paddingTop="@dimen/padding">
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/line"
+            android:layout_alignParentBottom="true"
+            android:background="@color/item_line" />
+        
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:drawableLeft="@drawable/icon_uu_setting"
+            android:drawablePadding="10dp"
+            android:gravity="center"
+            android:text="@string/user_setting"
+            android:textColor="#333333"
+            android:textSize="15sp" />
+
+        <ImageView
+            android:id="@+id/iv_arrow"
+            android:layout_width="@dimen/next_width"
+            android:layout_height="@dimen/next_height"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:layout_marginRight="8dp"
+            android:background="@drawable/oa_next"
+            android:contentDescription="@string/app_name" />
+
+
+    </RelativeLayout>
 
 </LinearLayout>

+ 7 - 0
module_mine/src/main/res/values/strings.xml

@@ -1,3 +1,10 @@
 <resources>
     <string name="app_name">module_mine</string>
+    
+    <string name="me">我的</string>
+
+    <string name="user_firend_cirle">我的工作圈</string>
+    <string name="user_company">公司</string>
+    <string name="user_account">账套</string>
+    <string name="user_setting">设置</string>
 </resources>