diff --git a/README.md b/README.md
index 6dfb292..ef4211e 100755
--- a/README.md
+++ b/README.md
@@ -32,19 +32,12 @@
2.特殊人口添加方式
```
-## 2022-9-23
+## 2022-9-23 2023-3-12
```
> 1.4.5
1.境外人员 字段变更
-
-```
-
-## 2023-3-12
-```
-> 1.4.6
-
-1.去除案件检查时相片必填选项
+2.去除案件检查时相片必填选项
```
\ No newline at end of file
diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json
new file mode 100644
index 0000000..6f2aebb
--- /dev/null
+++ b/app/release/output-metadata.json
@@ -0,0 +1,18 @@
+{
+ "version": 2,
+ "artifactType": {
+ "type": "APK",
+ "kind": "Directory"
+ },
+ "applicationId": "com.sucstepsoft.realtimelocation",
+ "variantName": "release",
+ "elements": [
+ {
+ "type": "SINGLE",
+ "filters": [],
+ "versionCode": 45,
+ "versionName": "1.4.5",
+ "outputFile": "app-release.apk"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/release/output.json b/app/release/output.json
deleted file mode 100755
index 2ab3ffe..0000000
--- a/app/release/output.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":45,"versionName":"1.4.5","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release","dirName":""},"path":"app-release.apk","properties":{}}]
\ No newline at end of file
diff --git a/app/release/pz-1.3.1.apk b/app/release/pz-1.3.1.apk
deleted file mode 100644
index aaad954..0000000
Binary files a/app/release/pz-1.3.1.apk and /dev/null differ
diff --git a/app/release/pz-1.3.2.apk b/app/release/pz-1.3.2.apk
deleted file mode 100644
index f4f6a9e..0000000
Binary files a/app/release/pz-1.3.2.apk and /dev/null differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f99d8fa..9e38e3c 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -50,6 +50,13 @@
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:appComponentFactory">
+
+
+
doDisportIssue());
mBtnReturn.setOnClickListener(v -> doTrans());
+
}
/**
diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/services/LocationService.java b/app/src/main/java/com/sucstepsoft/realtimelocation/services/LocationService.java
index 551de81..8815274 100755
--- a/app/src/main/java/com/sucstepsoft/realtimelocation/services/LocationService.java
+++ b/app/src/main/java/com/sucstepsoft/realtimelocation/services/LocationService.java
@@ -101,6 +101,22 @@ public class LocationService extends NotificationService {
private String mSignOutEnd;
private String mPositionRecordSrt;
private String mPositionRecordEnd;
+ private static final int NOTIFY_TYPE_P_AM_SIGN_1 = 1221;//片长上午签到提前一分钟
+ private static final int NOTIFY_TYPE_P_AM_SIGN_5 = 1222;//片长上午签到开始后五分钟
+ private static final int NOTIFY_TYPE_P_AM_SIGN_OUT_1 = 1223;//片长上午签退提前一分钟
+ private static final int NOTIFY_TYPE_P_AM_SIGN_OUT_5 = 1224;//片长上午签退开始后五分钟
+
+ private static final int NOTIFY_TYPE_P_PM_SIGN_1 = 1225;//片长下午签到提前一分钟
+ private static final int NOTIFY_TYPE_P_PM_SIGN_5 = 1226;//片长下午签到开始后五分钟
+ private static final int NOTIFY_TYPE_P_PM_SIGN_OUT_1 = 1227;//片长下午签退提前一分钟
+ private static final int NOTIFY_TYPE_P_PM_SIGN_OUT_5 = 1228;//片长下午签退开始后五分钟
+
+
+ private static final int NOTIFY_TYPE_N_SIGN_1 = 2321;//签到提前一分钟
+ private static final int NOTIFY_TYPE_N_SIGN_5 = 2322;//签到开始后五分钟
+ private static final int NOTIFY_TYPE_N_SIGN_OUT_1 = 2324;//签退开始前一分钟
+ private static final int NOTIFY_TYPE_N_SIGN_OUT_5 = 2325;//签退开始后五分钟
+ private Disposable mUploadDisposable;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
@@ -132,30 +148,30 @@ public class LocationService extends NotificationService {
private void registerSignStateListener() {
Observable.interval(1, TimeUnit.MINUTES)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(Long aLong) {
- int notifyType = getNotifyType();
- LogUtils.e(notifyType);
- }
+ @Override
+ public void onNext(Long aLong) {
+ int notifyType = getNotifyType();
+ LogUtils.e(notifyType);
+ }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onError(Throwable e) {
- }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
private void registerTimeReceiver() {
@@ -172,78 +188,62 @@ public class LocationService extends NotificationService {
private void registerGpsState() {
Observable.interval(5, TimeUnit.SECONDS)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(Long aLong) {
- checkGpsState();
- }
+ @Override
+ public void onNext(Long aLong) {
+ checkGpsState();
+ }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onError(Throwable e) {
- }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
private void registerSi() {
Observable.interval(50, TimeUnit.SECONDS)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(Long aLong) {
- if (!mIsHolday) {
- if (isWeek()) {
- getIsSign();
+ @Override
+ public void onNext(Long aLong) {
+ if (!mIsHolday) {
+ if (isWeek()) {
+ getIsSign();
+ }
}
}
- }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onError(Throwable e) {
- }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
- private static final int NOTIFY_TYPE_P_AM_SIGN_1 = 1221;//片长上午签到提前一分钟
- private static final int NOTIFY_TYPE_P_AM_SIGN_5 = 1222;//片长上午签到开始后五分钟
- private static final int NOTIFY_TYPE_P_AM_SIGN_OUT_1 = 1223;//片长上午签退提前一分钟
- private static final int NOTIFY_TYPE_P_AM_SIGN_OUT_5 = 1224;//片长上午签退开始后五分钟
-
- private static final int NOTIFY_TYPE_P_PM_SIGN_1 = 1225;//片长下午签到提前一分钟
- private static final int NOTIFY_TYPE_P_PM_SIGN_5 = 1226;//片长下午签到开始后五分钟
- private static final int NOTIFY_TYPE_P_PM_SIGN_OUT_1 = 1227;//片长下午签退提前一分钟
- private static final int NOTIFY_TYPE_P_PM_SIGN_OUT_5 = 1228;//片长下午签退开始后五分钟
-
-
- private static final int NOTIFY_TYPE_N_SIGN_1 = 2321;//签到提前一分钟
- private static final int NOTIFY_TYPE_N_SIGN_5 = 2322;//签到开始后五分钟
- private static final int NOTIFY_TYPE_N_SIGN_OUT_1 = 2324;//签退开始前一分钟
- private static final int NOTIFY_TYPE_N_SIGN_OUT_5 = 2325;//签退开始后五分钟
-
private int getNotifyType() {
//判断当前时间是开始打开前一分钟还是后五分钟
@@ -320,64 +320,64 @@ public class LocationService extends NotificationService {
String token = GlobalProvider.getString(LocationService.this, "token");
if (!TextUtils.isEmpty(token)) {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .checkSign(token)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .checkSign(token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(CheckSignBean checkSignBean) {
- if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData().getIsSign())) {
- boolean b = Boolean.parseBoolean(checkSignBean.getData().getIsSign());
- if (!b) {
- String nowHourMM = TimeUtils.getNowHourMM();
- String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
- if ("N".equals(userType)) {
- //N员
- if (!TextUtils.isEmpty(nowHourMM)) {
- if (!TextUtils.isEmpty(mNStartPunchTime)) {
- String currentTime = TimeUtils.getCurrentTime(mNStartPunchTime);
- if (nowHourMM.equals(currentTime)) {
- sendNotifySignN(1);
+ @Override
+ public void onNext(CheckSignBean checkSignBean) {
+ if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData().getIsSign())) {
+ boolean b = Boolean.parseBoolean(checkSignBean.getData().getIsSign());
+ if (!b) {
+ String nowHourMM = TimeUtils.getNowHourMM();
+ String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
+ if ("N".equals(userType)) {
+ //N员
+ if (!TextUtils.isEmpty(nowHourMM)) {
+ if (!TextUtils.isEmpty(mNStartPunchTime)) {
+ String currentTime = TimeUtils.getCurrentTime(mNStartPunchTime);
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySignN(1);
+ }
+ }
+ }
+ } else {
+ if (!TextUtils.isEmpty(nowHourMM)) {
+ if (!TextUtils.isEmpty(mAmStartPunchTime)) {
+ String currentTime = TimeUtils.getCurrentTime(mAmStartPunchTime);
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySign(1);
+ }
+ }
+ if (!TextUtils.isEmpty(mPmStartPunchTime)) {
+ String currentTime = TimeUtils.getCurrentTime(mPmStartPunchTime);
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySign(3);
+ }
}
}
}
} else {
- if (!TextUtils.isEmpty(nowHourMM)) {
- if (!TextUtils.isEmpty(mAmStartPunchTime)) {
- String currentTime = TimeUtils.getCurrentTime(mAmStartPunchTime);
- if (nowHourMM.equals(currentTime)) {
- sendNotifySign(1);
- }
- }
- if (!TextUtils.isEmpty(mPmStartPunchTime)) {
- String currentTime = TimeUtils.getCurrentTime(mPmStartPunchTime);
- if (nowHourMM.equals(currentTime)) {
- sendNotifySign(3);
- }
- }
- }
+ getIsSignOff();
}
- } else {
- getIsSignOff();
}
}
- }
- @Override
- public void onError(Throwable e) {
- }
+ @Override
+ public void onError(Throwable e) {
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
}
@@ -385,52 +385,89 @@ public class LocationService extends NotificationService {
String token = GlobalProvider.getString(LocationService.this, "token");
if (!TextUtils.isEmpty(token)) {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .checkSignOff(UserLgUtils.getToken())
+ .create(LocationApiService.class)
+ .checkSignOff(UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(CheckSignOffBean checkSignBean) {
+ if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData())) {
+ boolean b = Boolean.parseBoolean(checkSignBean.getData());
+ if (!b) {
+ String nowHourMM = TimeUtils.getNowHourMM();
+ String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
+ if ("N".equals(userType)) {
+ //N员
+ String currentTime = TimeUtils.getCurrentTime(mNEndWorkTime);
+ if (!TextUtils.isEmpty(nowHourMM)) {
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySignN(2);
+ }
+ }
+ } else {
+ //片长
+ if (!TextUtils.isEmpty(mAmEndWorkTime)) {
+ String currentTime = TimeUtils.getCurrentTime(mAmEndWorkTime);
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySign(2);
+ }
+ }
+ if (!TextUtils.isEmpty(mPmEndWorkTime)) {
+ String currentTime = TimeUtils.getCurrentTime(mPmEndWorkTime);
+ if (nowHourMM.equals(currentTime)) {
+ sendNotifySign(4);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ }
+
+ private void registerIsSendNogify() {
+ Observable.interval(50, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
+ .subscribe(new Observer() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
- public void onNext(CheckSignOffBean checkSignBean) {
- if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData())) {
- boolean b = Boolean.parseBoolean(checkSignBean.getData());
- if (!b) {
- String nowHourMM = TimeUtils.getNowHourMM();
- String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
- if ("N".equals(userType)) {
- //N员
- String currentTime = TimeUtils.getCurrentTime(mNEndWorkTime);
- if (!TextUtils.isEmpty(nowHourMM)) {
- if (nowHourMM.equals(currentTime)) {
- sendNotifySignN(2);
- }
- }
- } else {
- //片长
- if (!TextUtils.isEmpty(mAmEndWorkTime)) {
- String currentTime = TimeUtils.getCurrentTime(mAmEndWorkTime);
- if (nowHourMM.equals(currentTime)) {
- sendNotifySign(2);
- }
- }
- if (!TextUtils.isEmpty(mPmEndWorkTime)) {
- String currentTime = TimeUtils.getCurrentTime(mPmEndWorkTime);
- if (nowHourMM.equals(currentTime)) {
- sendNotifySign(4);
- }
- }
- }
+ public void onNext(Long aLong) {
+ String isHolday = GlobalProvider.getString(LocationService.this, "isHolday", "");
+ if (!TextUtils.isEmpty(isHolday)) {
+ if ("1".equals(isHolday)) {
+ mIsHolday = true;
+ } else {
+ mIsHolday = false;
}
+ } else {
+ mIsHolday = false;
}
}
@Override
public void onError(Throwable e) {
+
}
@Override
@@ -438,43 +475,6 @@ public class LocationService extends NotificationService {
}
});
- }
- }
-
- private void registerIsSendNogify() {
- Observable.interval(50, TimeUnit.SECONDS)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
-
- }
-
- @Override
- public void onNext(Long aLong) {
- String isHolday = GlobalProvider.getString(LocationService.this, "isHolday", "");
- if (!TextUtils.isEmpty(isHolday)) {
- if ("1".equals(isHolday)) {
- mIsHolday = true;
- } else {
- mIsHolday = false;
- }
- } else {
- mIsHolday = false;
- }
- }
-
- @Override
- public void onError(Throwable e) {
-
- }
-
- @Override
- public void onComplete() {
-
- }
- });
}
@@ -527,46 +527,46 @@ public class LocationService extends NotificationService {
private void registerUploadPointListener() {
Observable.interval(1, 1, TimeUnit.MINUTES)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(Long aLong) {
- if (mUploadPointTime != 0) {
- long timeSpan = TimeUtils.getTimeSpan(System.currentTimeMillis(), mUploadPointTime, TimeConstants.MIN);
- if (timeSpan >= 9) {
- if (!mIsHolday) {
- if (isWeek()) {
- mUploadPointTime = System.currentTimeMillis();
- String nowHour = TimeUtils.getNowHour();
- if (TimeUtils.isInTime("08:30-12:00", nowHour) || TimeUtils.isInTime("14:00-17:00", nowHour)) {
- if (canUpload()) {
- startLocation();
+ @Override
+ public void onNext(Long aLong) {
+ if (mUploadPointTime != 0) {
+ long timeSpan = TimeUtils.getTimeSpan(System.currentTimeMillis(), mUploadPointTime, TimeConstants.MIN);
+ if (timeSpan >= 9) {
+ if (!mIsHolday) {
+ if (isWeek()) {
+ mUploadPointTime = System.currentTimeMillis();
+ String nowHour = TimeUtils.getNowHour();
+ if (TimeUtils.isInTime("08:30-12:00", nowHour) || TimeUtils.isInTime("14:00-17:00", nowHour)) {
+ if (canUpload()) {
+ startLocation();
+ }
+ NotificationUtils utils = new NotificationUtils(LocationService.this);
+ utils.sendNotification(45, "片长工作", "您已较长时间未上传定位信息,可能当前位置信号弱,请检查GPS和数据开关设置或者移动到开阔位置.");
}
- NotificationUtils utils = new NotificationUtils(LocationService.this);
- utils.sendNotification(45, "片长工作", "您已较长时间未上传定位信息,可能当前位置信号弱,请检查GPS和数据开关设置或者移动到开阔位置.");
}
}
}
}
}
- }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onError(Throwable e) {
- }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
//保存
@@ -585,31 +585,31 @@ public class LocationService extends NotificationService {
*/
private void checkSign() {
Observable.interval(0, 5, TimeUnit.MINUTES)
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
- mMTimeDis = d;
- }
-
- @Override
- public void onNext(Long aLong) {
- if (!TextUtils.isEmpty(mSignInStr)) {
- checkIsSign();
- } else {
- getSignTime();
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ mMTimeDis = d;
}
- }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onNext(Long aLong) {
+ if (!TextUtils.isEmpty(mSignInStr)) {
+ checkIsSign();
+ } else {
+ getSignTime();
+ }
+ }
- }
+ @Override
+ public void onError(Throwable e) {
- @Override
- public void onComplete() {
+ }
- }
- });
+ @Override
+ public void onComplete() {
+
+ }
+ });
}
/**
@@ -617,44 +617,44 @@ public class LocationService extends NotificationService {
*/
private void getSignTime() {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .getpunchTime(UserLgUtils.getToken())
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .getpunchTime(UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
-
- @Override
- public void onNext(SignTimeBean signTimeBean) {
- if (signTimeBean != null) {
- mNSignInStr = signTimeBean.getNSignInStr();
- mNSignInEnd = signTimeBean.getNSignInEnd();
- mNSignOutStr = signTimeBean.getNSignOutStr();
- mNSignOutEnd = signTimeBean.getNSignOutEnd();
- mNPositionRecordStr = signTimeBean.getNPositionRecordStr();
- mNPositionRecordEnd = signTimeBean.getNPositionRecordEnd();
- mSignInStr = signTimeBean.getSignInStr();
- mSignInEnd = signTimeBean.getSignInEnd();
- mSignOutStr = signTimeBean.getSignOutStr();
- mSignOutEnd = signTimeBean.getSignOutEnd();
- mPositionRecordSrt = signTimeBean.getPositionRecordSrt();
- mPositionRecordEnd = signTimeBean.getPositionRecordEnd();
}
- }
- @Override
- public void onError(Throwable e) {
- e.printStackTrace();
- }
+ @Override
+ public void onNext(SignTimeBean signTimeBean) {
+ if (signTimeBean != null) {
+ mNSignInStr = signTimeBean.getNSignInStr();
+ mNSignInEnd = signTimeBean.getNSignInEnd();
+ mNSignOutStr = signTimeBean.getNSignOutStr();
+ mNSignOutEnd = signTimeBean.getNSignOutEnd();
+ mNPositionRecordStr = signTimeBean.getNPositionRecordStr();
+ mNPositionRecordEnd = signTimeBean.getNPositionRecordEnd();
+ mSignInStr = signTimeBean.getSignInStr();
+ mSignInEnd = signTimeBean.getSignInEnd();
+ mSignOutStr = signTimeBean.getSignOutStr();
+ mSignOutEnd = signTimeBean.getSignOutEnd();
+ mPositionRecordSrt = signTimeBean.getPositionRecordSrt();
+ mPositionRecordEnd = signTimeBean.getPositionRecordEnd();
+ }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onError(Throwable e) {
+ e.printStackTrace();
+ }
- }
- });
+ @Override
+ public void onComplete() {
+
+ }
+ });
}
/**
@@ -664,60 +664,60 @@ public class LocationService extends NotificationService {
String token = GlobalProvider.getString(LocationService.this, "token");
if (!TextUtils.isEmpty(token)) {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .checkSign(token)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .checkSign(token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(CheckSignBean checkSignBean) {
- if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData().getIsSign())) {
- isSignIn = Boolean.parseBoolean(checkSignBean.getData().getIsSign());
- if (isSignIn) {
- //已经签到
- checkSignOff();
- } else {
- //未签到
- if (!mIsHolday) {
- boolean isWeek = isWeek();
- if (isWeek) {
- String nowHourMM = TimeUtils.getNowHourMM();
- String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
- if ("N".equals(userType)) {
- //N员
- //签到提醒
- //提前10分钟提醒
- String timeSpan = TimeUtils.getCurrentTimeSpan(mNSignInStr, -10);
- if (TimeUtils.isInTime(timeSpan + "-" + mNSignInEnd, nowHourMM)) {
- sendNotif(1);
- }
- } else {
- //签到提醒
- String timeSpan = TimeUtils.getCurrentTimeSpan(mSignInStr, -10);
- if (TimeUtils.isInTime(timeSpan + "-" + mSignInEnd, nowHourMM)) {
- sendNotif(1);
+ @Override
+ public void onNext(CheckSignBean checkSignBean) {
+ if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData().getIsSign())) {
+ isSignIn = Boolean.parseBoolean(checkSignBean.getData().getIsSign());
+ if (isSignIn) {
+ //已经签到
+ checkSignOff();
+ } else {
+ //未签到
+ if (!mIsHolday) {
+ boolean isWeek = isWeek();
+ if (isWeek) {
+ String nowHourMM = TimeUtils.getNowHourMM();
+ String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
+ if ("N".equals(userType)) {
+ //N员
+ //签到提醒
+ //提前10分钟提醒
+ String timeSpan = TimeUtils.getCurrentTimeSpan(mNSignInStr, -10);
+ if (TimeUtils.isInTime(timeSpan + "-" + mNSignInEnd, nowHourMM)) {
+ sendNotif(1);
+ }
+ } else {
+ //签到提醒
+ String timeSpan = TimeUtils.getCurrentTimeSpan(mSignInStr, -10);
+ if (TimeUtils.isInTime(timeSpan + "-" + mSignInEnd, nowHourMM)) {
+ sendNotif(1);
+ }
}
}
}
}
}
}
- }
- @Override
- public void onError(Throwable e) {
- }
+ @Override
+ public void onError(Throwable e) {
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
}
@@ -772,55 +772,55 @@ public class LocationService extends NotificationService {
String token = GlobalProvider.getString(LocationService.this, "token", "");
if (!TextUtils.isEmpty(token)) {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .checkSignOff(token)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .checkSignOff(token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(CheckSignOffBean checkSignBean) {
- if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData())) {
- isSignUp = Boolean.parseBoolean(checkSignBean.getData());
- if (!isSignUp) {
- //没有签退
- if (!mIsHolday) {
- String nowHourMM = TimeUtils.getNowHour();
- boolean isWeek = isWeek();
- if (isWeek) {
- String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
- if ("N".equals(userType)) {
- //N员
- String timeSpan = TimeUtils.getCurrentTimeSpan(mNSignOutStr, -10);
- if (TimeUtils.isInTime(timeSpan + "-" + mNSignOutEnd, nowHourMM)) {
- sendNotif(23);
- }
- } else {
- //片长
- String timeSpan = TimeUtils.getCurrentTimeSpan(mSignOutStr, -10);
- if (TimeUtils.isInTime(timeSpan + "-" + mSignOutEnd, nowHourMM)) {
- sendNotif(23);
+ @Override
+ public void onNext(CheckSignOffBean checkSignBean) {
+ if (checkSignBean != null && !TextUtils.isEmpty(checkSignBean.getData())) {
+ isSignUp = Boolean.parseBoolean(checkSignBean.getData());
+ if (!isSignUp) {
+ //没有签退
+ if (!mIsHolday) {
+ String nowHourMM = TimeUtils.getNowHour();
+ boolean isWeek = isWeek();
+ if (isWeek) {
+ String userType = GlobalProvider.getString(LocationService.this, "userType", "P");
+ if ("N".equals(userType)) {
+ //N员
+ String timeSpan = TimeUtils.getCurrentTimeSpan(mNSignOutStr, -10);
+ if (TimeUtils.isInTime(timeSpan + "-" + mNSignOutEnd, nowHourMM)) {
+ sendNotif(23);
+ }
+ } else {
+ //片长
+ String timeSpan = TimeUtils.getCurrentTimeSpan(mSignOutStr, -10);
+ if (TimeUtils.isInTime(timeSpan + "-" + mSignOutEnd, nowHourMM)) {
+ sendNotif(23);
+ }
}
}
}
}
}
}
- }
- @Override
- public void onError(Throwable e) {
- }
+ @Override
+ public void onError(Throwable e) {
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
}
@@ -833,33 +833,33 @@ public class LocationService extends NotificationService {
String token = GlobalProvider.getString(LocationService.this, "token");
if (!TextUtils.isEmpty(token)) {
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .getUserNewPenList(token)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer>() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .getUserNewPenList(token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
-
- @Override
- public void onNext(List penLineBeans) {
- if (penLineBeans != null && penLineBeans.size() > 0) {
- buildPenList(penLineBeans);
}
- }
- @Override
- public void onError(Throwable e) {
+ @Override
+ public void onNext(List penLineBeans) {
+ if (penLineBeans != null && penLineBeans.size() > 0) {
+ buildPenList(penLineBeans);
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
// ToastUtils.showShort("获取围栏数据失败,请稍后重试");
- }
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
}
}
@@ -911,6 +911,9 @@ public class LocationService extends NotificationService {
stopLocation();
stopPlaySong();
unregisterReceiver(mReceiver);
+ if (mUploadDisposable != null && !mUploadDisposable.isDisposed()) {
+ mUploadDisposable.dispose();
+ }
if (mMTimeDis != null && !mMTimeDis.isDisposed()) {
mMTimeDis.dispose();
}
@@ -939,10 +942,12 @@ public class LocationService extends NotificationService {
if (bdLocation.getLongitude() != Double.MIN_VALUE && bdLocation.getLongitude() != Double.MIN_VALUE) {
checkPointIs(bdLocation);
sendLocationBroadcast(bdLocation);
- mWifiAutoCloseDelegate.onLocateSuccess(getApplicationContext(), PowerManagerUtil.getInstance().isScreenOn(getApplicationContext()), NetUtil.getInstance().isMobileAva(getApplicationContext()));
+ mWifiAutoCloseDelegate.onLocateSuccess(getApplicationContext(), PowerManagerUtil.getInstance().isScreenOn(getApplicationContext()),
+ NetUtil.getInstance().isMobileAva(getApplicationContext()));
}
} else {
- mWifiAutoCloseDelegate.onLocateFail(getApplicationContext(), 10, PowerManagerUtil.getInstance().isScreenOn(getApplicationContext()), NetUtil.getInstance().isWifiCon(getApplicationContext()));
+ mWifiAutoCloseDelegate.onLocateFail(getApplicationContext(), 10, PowerManagerUtil.getInstance().isScreenOn(getApplicationContext()),
+ NetUtil.getInstance().isWifiCon(getApplicationContext()));
}
}
@@ -960,6 +965,36 @@ public class LocationService extends NotificationService {
}
}
+ /**
+ * 定时上传定位
+ */
+ private void startUploadLocation() {
+ Observable.interval(20, 20, TimeUnit.SECONDS)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+ mUploadDisposable = d;
+ }
+
+ @Override
+ public void onNext(Long aLong) {
+ checkPoints();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
private void checkPointIs(BDLocation bdLocation) {
if (PathConfig.IS_LIMIT) {
if (PathConfig.mDefaultCityCode.equals(bdLocation.getCityCode()) && bdLocation.getRadius() <= 300) {
@@ -1073,7 +1108,8 @@ public class LocationService extends NotificationService {
} else {
//TODO 无网络状态下是否保存
if (isSaveLocal) {
- String textPoint = "{\"userLongitude\":" + mTempList.get(0).getLongitude() + ",\"userLatitude\":" + mTempList.get(0).getLatitude() + ",\"userLocation\":\"" + mTempList.get(0).getAddrStr() + "\",\"createTime\":\"" + Utils.formatUTC(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss") + "\"}";
+ String textPoint =
+ "{\"userLongitude\":" + mTempList.get(0).getLongitude() + ",\"userLatitude\":" + mTempList.get(0).getLatitude() + ",\"userLocation\":\"" + mTempList.get(0).getAddrStr() + "\",\"createTime\":\"" + Utils.formatUTC(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss") + "\"}";
Utils.saveFile(textPoint, "testLocation.txt", true);
}
}
@@ -1185,41 +1221,41 @@ public class LocationService extends NotificationService {
isUpload = true;
RequestBody body = RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"), points);
RetrofitManager.getInstance()
- .create(LocationApiService.class)
- .saveLocationData(body, token)
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onSubscribe(Disposable d) {
+ .create(LocationApiService.class)
+ .saveLocationData(body, token)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
- }
+ }
- @Override
- public void onNext(SuccessBean successBean) {
- isUpload = false;
- mCurrentLocation = null;
- mTempList.clear();
- mUploadPointTime = System.currentTimeMillis();
- Intent intent = new Intent();
- intent.setAction("com.sucstepsoft.realtimelocation.isonlone");
- intent.putExtra("uploadTime", mUploadPointTime + "");
- sendBroadcast(intent);
- }
+ @Override
+ public void onNext(SuccessBean successBean) {
+ isUpload = false;
+ mCurrentLocation = null;
+ mTempList.clear();
+ mUploadPointTime = System.currentTimeMillis();
+ Intent intent = new Intent();
+ intent.setAction("com.sucstepsoft.realtimelocation.isonlone");
+ intent.putExtra("uploadTime", mUploadPointTime + "");
+ sendBroadcast(intent);
+ }
- @Override
- public void onError(Throwable e) {
- isUpload = false;
- mCurrentLocation = null;
- mTempList.clear();
- e.printStackTrace();
- }
+ @Override
+ public void onError(Throwable e) {
+ isUpload = false;
+ mCurrentLocation = null;
+ mTempList.clear();
+ e.printStackTrace();
+ }
- @Override
- public void onComplete() {
+ @Override
+ public void onComplete() {
- }
- });
+ }
+ });
} else {
mTempList.clear();
}
@@ -1288,10 +1324,10 @@ public class LocationService extends NotificationService {
private void startSocketService() {
if (mWsManager == null) {
mWsManager = new WsManager
- .Builder(getApplication())
- .wsUrl(BaseUrlApi.SOCKET_IP)
- .needReconnect(true)
- .build();
+ .Builder(getApplication())
+ .wsUrl(BaseUrlApi.SOCKET_IP)
+ .needReconnect(true)
+ .build();
}
if (!mWsManager.isWsConnected()) {
diff --git a/app/src/main/res/layout/activity_work_sign.xml b/app/src/main/res/layout/activity_work_sign.xml
new file mode 100644
index 0000000..4c8af50
--- /dev/null
+++ b/app/src/main/res/layout/activity_work_sign.xml
@@ -0,0 +1,9 @@
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 55d6085..299a317 100755
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.6.4'
+ classpath 'com.android.tools.build:gradle:4.2.2'
classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
index 63f4805..fdeb68b 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/BaseUrlApi.java
@@ -10,7 +10,7 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
public class BaseUrlApi {
public static final String IP = "http://219.147.99.164:8082/usercenter/"; /*正式统一用户*/
-// public static final String IP = "http://192.168.31.14:7001/usercenter/"; /*测试统一用户*/
+ // public static final String IP = "http://192.168.0.15:7021/usercenter/"; /*测试统一用户*/
// public static final String IP = "http://175.24.42.217:7000/usercenter/"; /*测试统一用户*/
public static final String BASE_URL = IP;
public static final String APP_VERSION = BASE_URL + "appCmVersionManagement/getAppVersion";
@@ -20,7 +20,7 @@ public class BaseUrlApi {
public static final int CAMERA_REQUEST = 123;
public static final String BASE_IP_P = "http://219.147.99.164:8082/"; /*正式IP*/
// public static final String BASE_IP_P = "http://175.24.42.217"; /*演示IP*/
-// public static final String BASE_IP_P = "http://192.168.31.14:8083/"; /*测试IP*/
+// public static final String BASE_IP_P = "http://192.168.0.15:7022/"; /*测试IP*/
public static final String BASE_IP = BASE_IP_P + "servicecity/";/*网格系统*/
// public static final String BASE_IP = "http://192.168.0.109:8083/servicecity/";/*测试网格系统*/
public static final String BASE_POPULATION_IP = BASE_IP_P + "population/";/*人口系统*/
diff --git a/cm_utils/src/main/res/layout/dialog_choose_func.xml b/cm_utils/src/main/res/layout/dialog_choose_func.xml
index c36b036..60f1a69 100755
--- a/cm_utils/src/main/res/layout/dialog_choose_func.xml
+++ b/cm_utils/src/main/res/layout/dialog_choose_func.xml
@@ -99,6 +99,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-