() {
+// @Override
+// public void onError(@NonNull Call call, @NonNull Exception e) {
+// UiUtils.toast(e.getMessage());
+// activity.loadingNone();
+// }
+//
+// @Override
+// public void onSuccess(ApplyDetail value) {
+// activity.applyDetail(value);
+// activity.loadingNone();
+// }
+// });
+// }
+}
diff --git a/app/src/main/java/com/police/union/personal/fragment/MineFragment.java b/app/src/main/java/com/police/union/personal/fragment/MineFragment.java
new file mode 100644
index 0000000..2d10108
--- /dev/null
+++ b/app/src/main/java/com/police/union/personal/fragment/MineFragment.java
@@ -0,0 +1,33 @@
+package com.police.union.personal.fragment;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.police.base.BaseFragment;
+import com.police.network.Constants;
+import com.police.union.databinding.FragmentMineBinding;
+
+public class MineFragment extends BaseFragment {
+ private FragmentMineBinding binding;
+
+ @Nullable
+ @Override
+ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+ binding = FragmentMineBinding.inflate(inflater);
+ initView();
+ return binding.getRoot();
+ }
+
+ private void initView() {
+ binding.tvUserName.setText(Constants.XM);
+ binding.tvUserPhone.setText(Constants.USER_ID);
+ binding.ivMineQuery.setOnClickListener(view -> {
+ //点击了切换所属组织功能
+ });
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/union/widget/WaterMarkInfo.java b/app/src/main/java/com/police/union/widget/WaterMarkInfo.java
new file mode 100644
index 0000000..b6cc943
--- /dev/null
+++ b/app/src/main/java/com/police/union/widget/WaterMarkInfo.java
@@ -0,0 +1,208 @@
+package com.police.union.widget;
+
+import android.graphics.Color;
+import android.graphics.Paint;
+
+/**
+ * @author Leon (wshk729@163.com)
+ * @date 2018/8/24
+ *
+ */
+public class WaterMarkInfo {
+
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+
+ private WaterMarkInfo(int degrees, int textColor, int textSize, boolean textBold, int dx, int dy, Paint.Align align) {
+ mDegrees = degrees;
+ mTextColor = textColor;
+ mTextSize = textSize;
+ mTextBold = textBold;
+ mDx = dx;
+ mDy = dy;
+ mAlign = align;
+ }
+
+ public int getDegrees() {
+ return mDegrees;
+ }
+
+ public int getTextColor() {
+ return mTextColor;
+ }
+
+ public int getTextSize() {
+ return mTextSize;
+ }
+
+ public int getDx() {
+ return mDx;
+ }
+
+ public int getDy() {
+ return mDy;
+ }
+
+ public Paint.Align getAlign() {
+ return mAlign;
+ }
+
+ public int getAlignInt() {
+ switch (mAlign) {
+ case LEFT:
+ return 0;
+ case RIGHT:
+ return 2;
+ default:
+ return 1;
+ }
+ }
+
+ public boolean isTextBold() {
+ return mTextBold;
+ }
+
+ void setDegrees(int degrees) {
+ mDegrees = degrees;
+ }
+
+ void setTextColor(int textColor) {
+ mTextColor = textColor;
+ }
+
+ void setTextSize(int textSize) {
+ mTextSize = textSize;
+ }
+
+ void setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ }
+
+ void setDx(int dx) {
+ mDx = dx;
+ }
+
+ void setDy(int dy) {
+ mDy = dy;
+ }
+
+ void setAlign(Paint.Align align) {
+ this.mAlign = align;
+ }
+
+ public static Builder create() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+
+ private Builder() {
+ mDegrees = -30;
+ mTextColor = Color.parseColor("#33000000");
+ mTextSize = 35;
+ mTextBold = false;
+ mDx = 100;
+ mDy = 240;
+ mAlign = Paint.Align.CENTER;
+ }
+
+ /**
+ * 设置水印文字倾斜度
+ *
+ * @param degrees 文字倾斜度(默认:-30)
+ * @return Builder
+ */
+ public Builder setDegrees(int degrees) {
+ mDegrees = degrees;
+ return this;
+ }
+
+ /**
+ * 设置水印文字颜色
+ *
+ * @param textColor 文字颜色(默认:#33000000)
+ * @return Builder
+ */
+ public Builder setTextColor(int textColor) {
+ mTextColor = textColor;
+ return this;
+ }
+
+ /**
+ * 设置水印文字大小(单位:px)
+ *
+ * @param textSize 文字大小(默认:42px)
+ * @return Builder
+ */
+ public Builder setTextSize(int textSize) {
+ mTextSize = textSize;
+ return this;
+ }
+
+ /**
+ * 设置水印文字是否加粗
+ *
+ * @param textBold 文字加粗(默认:false)
+ * @return Builder
+ */
+ public Builder setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ return this;
+ }
+
+ /**
+ * 设置水印文字X轴间距(单位:px)
+ *
+ * @param dx 文字X轴间距(默认:100px)
+ * @return Builder
+ */
+ public Builder setDx(int dx) {
+ mDx = dx;
+ return this;
+ }
+
+ /**
+ * 设置水印文字Y轴间距(单位:px)
+ *
+ * @param dy 文字Y轴间距(默认:240px)
+ * @return Builder
+ */
+ public Builder setDy(int dy) {
+ mDy = dy;
+ return this;
+ }
+
+ /**
+ * 设置水印文字对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ * @return Builder
+ */
+ public Builder setAlign(Paint.Align align) {
+ mAlign = align;
+ return this;
+ }
+
+ /**
+ * 生成水印全局配置信息
+ *
+ * @return 配置信息
+ */
+ public WaterMarkInfo generate() {
+ return new WaterMarkInfo(mDegrees, mTextColor, mTextSize, mTextBold, mDx, mDy, mAlign);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/union/widget/WaterMarkManager.java b/app/src/main/java/com/police/union/widget/WaterMarkManager.java
new file mode 100644
index 0000000..a51fb1e
--- /dev/null
+++ b/app/src/main/java/com/police/union/widget/WaterMarkManager.java
@@ -0,0 +1,188 @@
+package com.police.union.widget;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.graphics.Paint;
+import android.view.LayoutInflater;
+
+
+import com.police.union.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Leon (wshk729@163.com)
+ * @date 2018/8/24
+ *
+ */
+public class WaterMarkManager {
+
+ static WaterMarkInfo INFO = null;
+ static String[] CONTENT = null;
+ static List LIST = new ArrayList<>();
+
+ /**
+ * 设置水印全局配置信息
+ *
+ * @param info 配置信息
+ */
+ public static void setInfo(WaterMarkInfo info) {
+ INFO = info;
+ }
+
+ /**
+ * 获取一个满屏水印View
+ *
+ * @param activity activity
+ */
+ @SuppressLint("InflateParams")
+ public static WaterMarkView getView(Activity activity) {
+ return (WaterMarkView) LayoutInflater.from(activity).inflate(R.layout.view_water_mark, null);
+ }
+
+ /**
+ * WaterMarkInfo初始化判断
+ */
+ private static void assertInitialized() {
+ if (INFO == null) {
+ INFO = WaterMarkInfo.create().generate();
+ }
+ }
+
+ /**
+ * 同步设置全部水印文字信息
+ *
+ * @param content 文字信息
+ */
+ public static void setText(String... content) {
+ assertInitialized();
+ CONTENT = content;
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncText(content);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ public static void setDegrees(int degrees) {
+ assertInitialized();
+ INFO.setDegrees(degrees);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncDegrees(degrees);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ public static void setTextColor(int textColor) {
+ assertInitialized();
+ INFO.setTextColor(textColor);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextColor(textColor);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ public static void setTextSize(int textSize) {
+ assertInitialized();
+ INFO.setTextSize(textSize);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextSize(textSize);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ public static void setTextBold(boolean textBold) {
+ assertInitialized();
+ INFO.setTextBold(textBold);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextBold(textBold);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ public static void setDx(int dx) {
+ assertInitialized();
+ INFO.setDx(dx);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncDx(dx);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ public static void setDy(int dy) {
+ assertInitialized();
+ INFO.setDy(dy);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSignDy(dy);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ public static void setAlign(Paint.Align align) {
+ assertInitialized();
+ INFO.setAlign(align);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSignAlign(align);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/union/widget/WaterMarkView.java b/app/src/main/java/com/police/union/widget/WaterMarkView.java
new file mode 100644
index 0000000..f238cf0
--- /dev/null
+++ b/app/src/main/java/com/police/union/widget/WaterMarkView.java
@@ -0,0 +1,335 @@
+package com.police.union.widget;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+
+import com.police.union.R;
+
+
+public class WaterMarkView extends View {
+
+ private static final String DEFAULT_SEPARATOR = "///";
+ private TextPaint mTextPaint = new TextPaint();
+
+ private String[] mText;
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize=35;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+ private boolean mSync;
+ private int textWidth, textHeight;
+
+ public WaterMarkView(Context context) {
+ this(context, null);
+ }
+
+ public WaterMarkView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.WaterMarkView);
+ mDegrees = typedArray.getInt(R.styleable.WaterMarkView_water_mark_degree, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDegrees() : -30);
+ String text = typedArray.getString(R.styleable.WaterMarkView_water_mark_text);
+ if (text != null) {
+ mText = text.split(DEFAULT_SEPARATOR);
+ }
+ mTextColor = typedArray.getColor(R.styleable.WaterMarkView_water_mark_textColor, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextColor() : Color.parseColor("#33000000"));
+ mTextSize = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_textSize, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextSize() : 42);
+ mTextBold = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_textBold, WaterMarkManager.INFO != null && WaterMarkManager.INFO.isTextBold());
+ mDx = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dx, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDx() : 100);
+ mDy = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dy, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDy() : 240);
+ int align = typedArray.getInt(R.styleable.WaterMarkView_water_mark_align, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getAlignInt() : 1);
+ mAlign = align == 0 ? Paint.Align.LEFT : align == 2 ? Paint.Align.RIGHT : Paint.Align.CENTER;
+ mSync = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_sync, true);
+ typedArray.recycle();
+
+ setBackgroundColor(Color.TRANSPARENT);
+ mTextPaint.setAntiAlias(true);
+ mTextPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
+ mTextPaint.setColor(mTextColor);
+ mTextPaint.setTextSize(mTextSize);
+ mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
+ mTextPaint.setTextAlign(mAlign);
+
+ mText = mText == null && mSync ? WaterMarkManager.CONTENT : mText;
+
+ textWidth = 0;
+ textHeight = 0;
+ if (mText != null && mText.length > 0) {
+ for (String s : mText) {
+ Rect tvRect = new Rect();
+ mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
+ textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
+ textHeight += (tvRect.height() + 10);
+ }
+ }
+
+ if (mSync) {
+ WaterMarkManager.LIST.add(this);
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mText != null && mText.length > 0) {
+ int measuredWidth = getMeasuredWidth();
+ int measuredHeight = getMeasuredHeight();
+
+ if (measuredWidth == 0 || measuredHeight == 0) {
+ return;
+ }
+
+ int canvasLength = measuredWidth > measuredHeight ? measuredWidth : measuredHeight;
+
+ canvas.save();
+ canvas.rotate(mDegrees, measuredWidth / 2, measuredHeight / 2);
+
+ canvas.save();
+ int y = 0;
+ boolean odd = true;
+ while (y < canvasLength + textHeight) {
+ int x = odd ? 0 : -(textWidth + mDx) / 2;
+ while (x < canvasLength + textWidth) {
+ drawTexts(mText, mTextPaint, canvas, x, y);
+ x = x + textWidth + mDx;
+ }
+ y = y + textHeight + mDy;
+ odd = !odd;
+ }
+ canvas.restore();
+ }
+ }
+
+ private void drawTexts(String[] ss, Paint paint, Canvas canvas, int x, int y) {
+ Paint.FontMetrics fontMetrics = paint.getFontMetrics();
+ float top = fontMetrics.top;
+ float bottom = fontMetrics.bottom;
+ int length = ss.length;
+ float total = (length - 1) * (bottom - top) + (fontMetrics.descent - fontMetrics.ascent);
+ float offset = total / 2 - bottom;
+ for (int i = 0; i < length; i++) {
+ float yAxis = -(length - i - 1) * (bottom - top) + offset;
+ canvas.drawText(ss[i], x, y + yAxis + 10, paint);
+ }
+ }
+
+ /**
+ * 设置水印文字内容
+ *
+ * @param text 文字内容
+ */
+ public void setText(String... text) {
+ mText = text;
+
+ textWidth = 0;
+ textHeight = 0;
+ if (mText != null && mText.length > 0) {
+ for (String s : mText) {
+ Rect tvRect = new Rect();
+ mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
+ textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
+ textHeight += (tvRect.height() + 10);
+ }
+ }
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印文字内容
+ *
+ * @param text 文字内容
+ */
+ void setSyncText(String... text) {
+ if (mSync) {
+ setText(text);
+ }
+ }
+
+ /**
+ * 设置水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ public void setDegrees(int degrees) {
+ mDegrees = degrees;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ void setSyncDegrees(int degrees) {
+ if (mSync) {
+ setDegrees(degrees);
+ }
+ }
+
+ /**
+ * 设置水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ public void setTextColor(int textColor) {
+ mTextColor = textColor;
+ mTextPaint.setColor(mTextColor);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ void setSyncTextColor(int textColor) {
+ if (mSync) {
+ setTextColor(textColor);
+ }
+ }
+
+ /**
+ * 设置水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ public void setTextSize(int textSize) {
+ mTextSize = textSize;
+ mTextPaint.setTextSize(mTextSize);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ void setSyncTextSize(int textSize) {
+ if (mSync) {
+ setTextSize(textSize);
+ }
+ }
+
+ /**
+ * 设置水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ public void setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ void setSyncTextBold(boolean textBold) {
+ if (mSync) {
+ setTextBold(textBold);
+ }
+ }
+
+ /**
+ * 设置水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ public void setDx(int dx) {
+ this.mDx = dx;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ void setSyncDx(int dx) {
+ if (mSync) {
+ setDx(dx);
+ }
+ }
+
+ /**
+ * 设置水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ public void setDy(int dy) {
+ this.mDy = dy;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ void setSignDy(int dy) {
+ if (mSync) {
+ setDy(dy);
+ }
+ }
+
+ /**
+ * 设置水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ public void setAlign(Paint.Align align) {
+ this.mAlign = align;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ void setSignAlign(Paint.Align align) {
+ if (mSync) {
+ setAlign(align);
+ }
+ }
+
+ /**
+ * 销毁相关页面时调用(切记)
+ */
+ public void onDestroy() {
+ if (mSync) {
+ WaterMarkManager.LIST.remove(this);
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ return false;
+ }
+
+ @SuppressLint("ClickableViewAccessibility")
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_10_ccc_bg.xml b/app/src/main/res/drawable/all_10_ccc_bg.xml
new file mode 100644
index 0000000..757b52d
--- /dev/null
+++ b/app/src/main/res/drawable/all_10_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_15_fff_bg.xml b/app/src/main/res/drawable/all_15_fff_bg.xml
new file mode 100644
index 0000000..f1400b6
--- /dev/null
+++ b/app/src/main/res/drawable/all_15_fff_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_4b8e01_bg.xml b/app/src/main/res/drawable/all_2_4b8e01_bg.xml
new file mode 100644
index 0000000..257761d
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_4b8e01_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_de7900_bg.xml b/app/src/main/res/drawable/all_2_de7900_bg.xml
new file mode 100644
index 0000000..29c0007
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_de7900_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_selected_bg.xml b/app/src/main/res/drawable/all_2_selected_bg.xml
new file mode 100644
index 0000000..352767f
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_selected_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_3_ccc_bg.xml b/app/src/main/res/drawable/all_3_ccc_bg.xml
new file mode 100644
index 0000000..a4e3f93
--- /dev/null
+++ b/app/src/main/res/drawable/all_3_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_4b8e01_bg.xml b/app/src/main/res/drawable/all_7_4b8e01_bg.xml
new file mode 100644
index 0000000..3a05311
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_4b8e01_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_999_border_bg.xml b/app/src/main/res/drawable/all_7_999_border_bg.xml
new file mode 100644
index 0000000..b45947a
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_999_border_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_999_bottom_border_bg.xml b/app/src/main/res/drawable/all_7_999_bottom_border_bg.xml
new file mode 100644
index 0000000..bfae86a
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_999_bottom_border_bg.xml
@@ -0,0 +1,14 @@
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_de7900_bg.xml b/app/src/main/res/drawable/all_7_de7900_bg.xml
new file mode 100644
index 0000000..f5329ff
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_de7900_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_fff_bg.xml b/app/src/main/res/drawable/all_7_fff_bg.xml
new file mode 100644
index 0000000..65ffac7
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_fff_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_line_ccc_bg.xml b/app/src/main/res/drawable/all_7_line_ccc_bg.xml
new file mode 100644
index 0000000..f7fd2cb
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_line_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_main_bg.xml b/app/src/main/res/drawable/all_7_main_bg.xml
new file mode 100644
index 0000000..5375343
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_main_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/b6f7e9_10_bg.xml b/app/src/main/res/drawable/b6f7e9_10_bg.xml
new file mode 100644
index 0000000..1eb82cf
--- /dev/null
+++ b/app/src/main/res/drawable/b6f7e9_10_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/border_f7933b_6_bg.xml b/app/src/main/res/drawable/border_f7933b_6_bg.xml
new file mode 100644
index 0000000..388e126
--- /dev/null
+++ b/app/src/main/res/drawable/border_f7933b_6_bg.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/f7eab6_10_bg.xml b/app/src/main/res/drawable/f7eab6_10_bg.xml
new file mode 100644
index 0000000..92f9fcd
--- /dev/null
+++ b/app/src/main/res/drawable/f7eab6_10_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/f7f7f7_top_20_bg.xml b/app/src/main/res/drawable/f7f7f7_top_20_bg.xml
new file mode 100644
index 0000000..e1d5880
--- /dev/null
+++ b/app/src/main/res/drawable/f7f7f7_top_20_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/f9e2e2_10_bg.xml b/app/src/main/res/drawable/f9e2e2_10_bg.xml
new file mode 100644
index 0000000..7934d05
--- /dev/null
+++ b/app/src/main/res/drawable/f9e2e2_10_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/fbe5ca_10_bg.xml b/app/src/main/res/drawable/fbe5ca_10_bg.xml
new file mode 100644
index 0000000..cab79ef
--- /dev/null
+++ b/app/src/main/res/drawable/fbe5ca_10_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/right_7_052eba_bg.xml b/app/src/main/res/drawable/right_7_052eba_bg.xml
new file mode 100644
index 0000000..f3f0ed4
--- /dev/null
+++ b/app/src/main/res/drawable/right_7_052eba_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/top_10_f7_bg.xml b/app/src/main/res/drawable/top_10_f7_bg.xml
new file mode 100644
index 0000000..1939c23
--- /dev/null
+++ b/app/src/main/res/drawable/top_10_f7_bg.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/white_round_bg.xml b/app/src/main/res/drawable/white_round_bg.xml
new file mode 100644
index 0000000..522eb16
--- /dev/null
+++ b/app/src/main/res/drawable/white_round_bg.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/white_top_20_bg.xml b/app/src/main/res/drawable/white_top_20_bg.xml
new file mode 100644
index 0000000..14a189b
--- /dev/null
+++ b/app/src/main/res/drawable/white_top_20_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_apply.xml b/app/src/main/res/layout/activity_apply.xml
new file mode 100644
index 0000000..88483e0
--- /dev/null
+++ b/app/src/main/res/layout/activity_apply.xml
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_apply_detail.xml b/app/src/main/res/layout/activity_apply_detail.xml
new file mode 100644
index 0000000..fdd58eb
--- /dev/null
+++ b/app/src/main/res/layout/activity_apply_detail.xml
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_data.xml b/app/src/main/res/layout/activity_data.xml
new file mode 100644
index 0000000..889e8d2
--- /dev/null
+++ b/app/src/main/res/layout/activity_data.xml
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_key_person_detail.xml b/app/src/main/res/layout/activity_key_person_detail.xml
new file mode 100644
index 0000000..c70034f
--- /dev/null
+++ b/app/src/main/res/layout/activity_key_person_detail.xml
@@ -0,0 +1,896 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..9c29cf4
--- /dev/null
+++ b/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_police_emergency_detail.xml b/app/src/main/res/layout/activity_police_emergency_detail.xml
new file mode 100644
index 0000000..3d59080
--- /dev/null
+++ b/app/src/main/res/layout/activity_police_emergency_detail.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_query_apply_result.xml b/app/src/main/res/layout/activity_query_apply_result.xml
new file mode 100644
index 0000000..6d3515c
--- /dev/null
+++ b/app/src/main/res/layout/activity_query_apply_result.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_dept_selector.xml b/app/src/main/res/layout/dialog_dept_selector.xml
new file mode 100644
index 0000000..ff86b68
--- /dev/null
+++ b/app/src/main/res/layout/dialog_dept_selector.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_selector.xml b/app/src/main/res/layout/dialog_selector.xml
new file mode 100644
index 0000000..b1e9c58
--- /dev/null
+++ b/app/src/main/res/layout/dialog_selector.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dropdown_layout.xml b/app/src/main/res/layout/dropdown_layout.xml
new file mode 100644
index 0000000..118fcd8
--- /dev/null
+++ b/app/src/main/res/layout/dropdown_layout.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dropdown_layout2.xml b/app/src/main/res/layout/dropdown_layout2.xml
new file mode 100644
index 0000000..6cee519
--- /dev/null
+++ b/app/src/main/res/layout/dropdown_layout2.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dropdown_layout3.xml b/app/src/main/res/layout/dropdown_layout3.xml
new file mode 100644
index 0000000..bdac730
--- /dev/null
+++ b/app/src/main/res/layout/dropdown_layout3.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dropdown_layout4.xml b/app/src/main/res/layout/dropdown_layout4.xml
new file mode 100644
index 0000000..a9fdb37
--- /dev/null
+++ b/app/src/main/res/layout/dropdown_layout4.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/dropdown_layout5.xml b/app/src/main/res/layout/dropdown_layout5.xml
new file mode 100644
index 0000000..7148c5c
--- /dev/null
+++ b/app/src/main/res/layout/dropdown_layout5.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_chat.xml b/app/src/main/res/layout/fragment_chat.xml
new file mode 100644
index 0000000..5b258e7
--- /dev/null
+++ b/app/src/main/res/layout/fragment_chat.xml
@@ -0,0 +1,16 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
new file mode 100644
index 0000000..30459d1
--- /dev/null
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml
new file mode 100644
index 0000000..cb0c584
--- /dev/null
+++ b/app/src/main/res/layout/fragment_mine.xml
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_police_emergency_detail_apply_info.xml b/app/src/main/res/layout/include_police_emergency_detail_apply_info.xml
new file mode 100644
index 0000000..9ff26d4
--- /dev/null
+++ b/app/src/main/res/layout/include_police_emergency_detail_apply_info.xml
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_police_emergency_detail_base_info.xml b/app/src/main/res/layout/include_police_emergency_detail_base_info.xml
new file mode 100644
index 0000000..f9e7a60
--- /dev/null
+++ b/app/src/main/res/layout/include_police_emergency_detail_base_info.xml
@@ -0,0 +1,273 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_police_emergency_detail_cjya_info.xml b/app/src/main/res/layout/include_police_emergency_detail_cjya_info.xml
new file mode 100644
index 0000000..3d59f1e
--- /dev/null
+++ b/app/src/main/res/layout/include_police_emergency_detail_cjya_info.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/include_police_emergency_detail_person_info.xml b/app/src/main/res/layout/include_police_emergency_detail_person_info.xml
new file mode 100644
index 0000000..0d95c8a
--- /dev/null
+++ b/app/src/main/res/layout/include_police_emergency_detail_person_info.xml
@@ -0,0 +1,268 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/include_police_emergency_detail_query_info.xml b/app/src/main/res/layout/include_police_emergency_detail_query_info.xml
new file mode 100644
index 0000000..ef1a27b
--- /dev/null
+++ b/app/src/main/res/layout/include_police_emergency_detail_query_info.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_apply_fragment_1.xml b/app/src/main/res/layout/item_apply_fragment_1.xml
new file mode 100644
index 0000000..c30c755
--- /dev/null
+++ b/app/src/main/res/layout/item_apply_fragment_1.xml
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_apply_fragment_2.xml b/app/src/main/res/layout/item_apply_fragment_2.xml
new file mode 100644
index 0000000..aae3f12
--- /dev/null
+++ b/app/src/main/res/layout/item_apply_fragment_2.xml
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_dialog_selector.xml b/app/src/main/res/layout/item_dialog_selector.xml
new file mode 100644
index 0000000..333cafa
--- /dev/null
+++ b/app/src/main/res/layout/item_dialog_selector.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_key_person.xml b/app/src/main/res/layout/item_key_person.xml
new file mode 100644
index 0000000..f0158ab
--- /dev/null
+++ b/app/src/main/res/layout/item_key_person.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_mine_apply.xml b/app/src/main/res/layout/item_mine_apply.xml
new file mode 100644
index 0000000..693fd53
--- /dev/null
+++ b/app/src/main/res/layout/item_mine_apply.xml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_police_emergency.xml b/app/src/main/res/layout/item_police_emergency.xml
new file mode 100644
index 0000000..f00b7e4
--- /dev/null
+++ b/app/src/main/res/layout/item_police_emergency.xml
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_select_dept.xml b/app/src/main/res/layout/item_select_dept.xml
new file mode 100644
index 0000000..80e1c6b
--- /dev/null
+++ b/app/src/main/res/layout/item_select_dept.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/view_water_mark.xml b/app/src/main/res/layout/view_water_mark.xml
new file mode 100644
index 0000000..d3fd223
--- /dev/null
+++ b/app/src/main/res/layout/view_water_mark.xml
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xxhdpi/back.png b/app/src/main/res/mipmap-xxhdpi/back.png
new file mode 100644
index 0000000000000000000000000000000000000000..76e3e82c86223a01bdf01855ccc955db193d0a60
GIT binary patch
literal 688
zcmV;h0#E&kP)Cfog`K$GV-HS-=ov_oO|zc?>YCgnV#=_&wb52KhE<#H*2@sG?dxE75RB^QiI4i
zFhd?6@A6vWGgBcZA5ud@z(a+61%^{XL-L=@Qpg(MRVrw(0C{d6q=5Q?`wIC1thY!C
z$RK0DJcVok9=nY((DVXiOgGns`heRC`2}naA$6fXc}*56WQ){;sR|V#H@t2qRiG)r
zHHG{Ewv{1NfDCdASgw$rz*Vn1kWL_rtOy|Iz3!ZpL6d3NhJL1)&5o$YuG2yV(z%
z^SVot2U%oe06FP(*Mz#|FV@INT_gk<{h=!1|0QPL_p?(djrTJuR9Vt&@@8eU5D(@nOBWWcdOOvQJdvLU;wz28XA|4
zbE(3n0r$KW5fC!;4G3Vf1n31Gc&j2HACt8u*2&Pq{^f^A#=ndr`9Fk%B5J<+55X3OG4OouR8*A
zv1jT!XMjy!cLZdyb-)X!)+4iE5Q{nSeUZa(M_B9`)?%*}b`e;a60+E8;Ehx3l@rK+
zEY*F6&vMaREajaOi@jBtIVCPmeJ{vhW`}?0)TRO#nz+05UcM+@tiK7!#hw5kfsucl
Wt%I$Vk#$`F0000x;^#6U*
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