Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1df39665
authored
Jun 27, 2018
by
罗翻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加但设备登录和地址跳转高德进行导航
parent
f3836898
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
163 additions
and
57 deletions
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
app/src/main/java/com/dayu/bigfish/presenter/main/MainPresenter.java
app/src/main/java/com/dayu/bigfish/presenter/setting/SettingPresenter.java
app/src/main/java/com/dayu/bigfish/utils/HxManager.java
baseSDK/build.gradle
baseSDK/src/main/java/com/dayu/common/Constants.java
baseSDK/src/main/res/values/strings.xml
orderCenter/src/main/java/com/dayu/order/presenter/serverinfo/ServerInfoPresenter.java
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderAdapter.java
orderCenter/src/main/java/com/dayu/order/ui/fragment/MultiOrderDetailFragment.java
userCenter/src/main/java/com/dayu/usercenter/presenter/accountbalance/AccountBalancePresenter.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity/IdentityCertificationActivity.java
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
View file @
1df39665
...
...
@@ -7,28 +7,31 @@ import android.content.Intent;
import
android.net.Uri
;
import
android.provider.Settings
;
import
android.support.annotation.NonNull
;
import
android.text.TextUtils
;
import
android.widget.Toast
;
import
com.dayu.base.ui.activity.DataBindingActivity
;
import
com.dayu.bigfish.databinding.ActivityInitializeMainBinding
;
import
com.dayu.bigfish.ui.MainActivity
;
import
com.dayu.event.UserInfo
;
import
com.dayu.usercenter.ui.activity.LoginActivity
;
import
com.dayu.utils.LogUtils
;
import
com.dayu.utils.MPermissionUtils
;
import
com.dayu.utils.UserManager
;
import
com.dayu.widgets.CustomDialog
;
import
com.hyphenate.EMCallBack
;
import
com.hyphenate.chat.EMClient
;
import
com.umeng.analytics.MobclickAgent
;
import
java.util.concurrent.TimeUnit
;
import
io.reactivex.Observable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.disposables.Disposable
;
public
class
InitializeActivity
extends
DataBindingActivity
<
ActivityInitializeMainBinding
>
{
private
static
final
String
TAG
=
"InitializeActivity"
;
public
static
final
int
SDK_PERMISSION_REQUEST
=
1
;
private
Activity
mActivity
;
private
Disposable
mDisposable
;
@Override
public
int
getLayoutId
()
{
...
...
@@ -61,11 +64,13 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
private
void
doJump
()
{
Intent
intent
;
if
(
UserManager
.
getInstance
().
hasUserInfo
())
{
UserInfo
info
=
UserManager
.
getInstance
().
getUser
();
loginHx
(
info
.
getHxAccount
(),
info
.
getHxPwd
());
intent
=
new
Intent
(
InitializeActivity
.
this
,
MainActivity
.
class
);
}
else
{
intent
=
new
Intent
(
InitializeActivity
.
this
,
LoginActivity
.
class
);
}
mDisposable
=
Observable
.
timer
(
1000
,
TimeUnit
.
MILLISECONDS
)
Observable
.
timer
(
1000
,
TimeUnit
.
MILLISECONDS
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
aLong
->
{
...
...
@@ -75,6 +80,27 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
);
}
public
void
loginHx
(
String
hxAccount
,
String
hxPwd
)
{
if
(!(
TextUtils
.
isEmpty
(
hxAccount
))
&&
!(
TextUtils
.
isEmpty
(
hxPwd
)))
{
EMClient
.
getInstance
().
login
(
hxAccount
,
hxPwd
,
new
EMCallBack
()
{
@Override
public
void
onSuccess
()
{
EMClient
.
getInstance
().
groupManager
().
loadAllGroups
();
EMClient
.
getInstance
().
chatManager
().
loadAllConversations
();
}
@Override
public
void
onProgress
(
int
progress
,
String
status
)
{
}
@Override
public
void
onError
(
int
code
,
String
message
)
{
LogUtils
.
d
(
code
+
message
);
}
});
}
}
public
void
showPerMissionDialog
()
{
CustomDialog
dialog
=
new
CustomDialog
(
mActivity
,
R
.
style
.
CustomDialog
,
getString
(
R
.
string
.
please_open__permission
)
,
(
dialog1
,
confirm
)
->
{
...
...
@@ -112,9 +138,6 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
// if (mDisposable != null) {
// mDisposable.dispose();
// }
}
@TargetApi
(
23
)
...
...
app/src/main/java/com/dayu/bigfish/presenter/main/MainPresenter.java
View file @
1df39665
...
...
@@ -51,12 +51,38 @@ public class MainPresenter extends MainContract.Presenter {
@Override
public
void
getNewVersion
(
String
version
)
{
ApiFactory
.
checkVersion
(
"dayushifua_dayu"
).
subscribe
(
baseObserver
(
s
->
{
if
(
!
version
.
equals
(
s
))
{
if
(
parseVersion
(
s
)
>
parseVersion
(
version
))
{
upgradeVersion
(
"dayushifua_dayu"
,
s
);
}
}));
}
private
Integer
parseVersion
(
String
version
)
{
String
[]
vcs
=
version
.
split
(
"\\."
);
String
v1
=
vcs
[
0
];
String
v2
=
vcs
[
1
];
String
v3
=
vcs
[
2
];
if
(
v1
.
length
()
==
1
)
{
v1
=
"00"
+
v1
;
}
if
(
v1
.
length
()
==
2
)
{
v1
=
"0"
+
v1
;
}
if
(
v2
.
length
()
==
1
)
{
v2
=
"00"
+
v2
;
}
if
(
v2
.
length
()
==
2
)
{
v2
=
"0"
+
v2
;
}
if
(
v3
.
length
()
==
1
)
{
v3
=
"00"
+
v3
;
}
if
(
v3
.
length
()
==
2
)
{
v3
=
"0"
+
v3
;
}
return
Integer
.
parseInt
(
v1
+
v2
+
v3
);
}
@Override
public
void
upgradeVersion
(
String
appId
,
String
versionCode
)
{
ApiFactory
.
getVersionInfo
(
appId
,
versionCode
).
safeSubscribe
(
baseObserver
(
...
...
app/src/main/java/com/dayu/bigfish/presenter/setting/SettingPresenter.java
View file @
1df39665
...
...
@@ -5,7 +5,6 @@ import android.databinding.ObservableBoolean;
import
android.net.Uri
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.text.TextUtils
;
import
com.dayu.bigfish.MyApplication
;
import
com.dayu.bigfish.R
;
...
...
@@ -21,7 +20,6 @@ import com.dayu.utils.DataCleanManager;
import
com.dayu.utils.SPUtils
;
import
com.dayu.utils.UIUtils
;
import
com.dayu.utils.UserManager
;
import
com.hyphenate.EMCallBack
;
import
com.hyphenate.chat.EMClient
;
import
com.umeng.analytics.MobclickAgent
;
...
...
@@ -53,25 +51,27 @@ public class SettingPresenter extends SettingContract.Presenter {
buttonState
.
set
(!
buttonState
.
get
());
SPUtils
.
put
(
Constants
.
MESSAGE_STATE
,
buttonState
.
get
());
if
(
buttonState
.
get
())
{
if
(!(
TextUtils
.
isEmpty
(
mHxAccount
))
&&
!(
TextUtils
.
isEmpty
(
mHxPwd
)))
{
EMClient
.
getInstance
().
login
(
mHxAccount
,
mHxPwd
,
new
EMCallBack
()
{
@Override
public
void
onSuccess
()
{
EMClient
.
getInstance
().
groupManager
().
loadAllGroups
();
EMClient
.
getInstance
().
chatManager
().
loadAllConversations
();
}
@Override
public
void
onProgress
(
int
progress
,
String
status
)
{
}
@Override
public
void
onError
(
int
code
,
String
message
)
{
}
});
}
// if (!(TextUtils.isEmpty(mHxAccount)) && !(TextUtils.isEmpty(mHxPwd))) {
// EMClient.getInstance().login(mHxAccount, mHxPwd, new EMCallBack() {
// @Override
// public void onSuccess() {
// EMClient.getInstance().groupManager().loadAllGroups();
// EMClient.getInstance().chatManager().loadAllConversations();
// }
//
// @Override
// public void onProgress(int progress, String status) {
// }
//
// @Override
// public void onError(int code, String message) {
// }
// });
// }
SPUtils
.
put
(
Constants
.
HX_STATE
,
true
);
}
else
{
EMClient
.
getInstance
().
logout
(
true
);
// EMClient.getInstance().logout(true);
SPUtils
.
put
(
Constants
.
HX_STATE
,
false
);
}
MobclickAgent
.
onEvent
(
MyApplication
.
getContext
(),
"swtich_message_button"
);
}
...
...
app/src/main/java/com/dayu/bigfish/utils/HxManager.java
View file @
1df39665
...
...
@@ -9,20 +9,26 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.support.v4.app.NotificationCompat
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.dayu.bigfish.R
;
import
com.dayu.bigfish.api.protocol.InformBean
;
import
com.dayu.bigfish.ui.MainActivity
;
import
com.dayu.common.BaseConstant
;
import
com.dayu.common.Constants
;
import
com.dayu.usercenter.ui.activity.LicenceDetailActivity
;
import
com.dayu.utils.AppManager
;
import
com.dayu.utils.SPUtils
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UserManager
;
import
com.dayu.widgets.LicenceDialog
;
import
com.google.gson.Gson
;
import
com.hyphenate.EMConnectionListener
;
import
com.hyphenate.EMError
;
import
com.hyphenate.EMMessageListener
;
import
com.hyphenate.chat.EMClient
;
import
com.hyphenate.chat.EMMessage
;
import
com.hyphenate.chat.EMOptions
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -109,6 +115,9 @@ public class HxManager {
}
});
}
else
{
if
((
boolean
)
SPUtils
.
get
(
Constants
.
HX_STATE
,
false
))
{
return
;
}
Intent
intent
=
new
Intent
(
mContext
,
MainActivity
.
class
);
intent
.
putExtra
(
Constants
.
MESSAGE_INFO
,
info
);
PendingIntent
pi
=
PendingIntent
.
getActivity
(
mContext
,
...
...
@@ -167,8 +176,34 @@ public class HxManager {
//消息状态变动
}
};
//注册环信消息监听
EMClient
.
getInstance
().
chatManager
().
addMessageListener
(
msgListener
);
//注册一个监听连接状态的listener
EMClient
.
getInstance
().
addConnectionListener
(
new
MyConnectionListener
());
}
//实现ConnectionListener接口
private
class
MyConnectionListener
implements
EMConnectionListener
{
@Override
public
void
onConnected
()
{
}
@Override
public
void
onDisconnected
(
final
int
error
)
{
if
(
error
==
EMError
.
USER_LOGIN_ANOTHER_DEVICE
)
{
// 显示帐号在其他设备登录
Observable
.
timer
(
1
,
TimeUnit
.
MILLISECONDS
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
l
->
{
ToastUtils
.
showShortToast
(
"您的账号在另一台设备中登录"
);
EMClient
.
getInstance
().
logout
(
true
);
UserManager
.
getInstance
().
clearUserInfo
();
AppManager
.
getInstance
().
finishAllActivity
();
ARouter
.
getInstance
().
build
(
BaseConstant
.
PATH_LOGIN
).
navigation
();
});
}
}
}
private
void
initEasemob
()
{
...
...
@@ -197,16 +232,15 @@ public class HxManager {
* @return 返回进程的名字
*/
private
String
getAppName
(
int
pid
)
{
String
processName
=
null
;
String
processName
;
ActivityManager
activityManager
=
(
ActivityManager
)
mContext
.
getSystemService
(
Context
.
ACTIVITY_SERVICE
);
List
list
=
null
;
List
list
;
if
(
activityManager
==
null
)
{
return
null
;
}
list
=
activityManager
.
getRunningAppProcesses
();
Iterator
i
=
list
.
iterator
();
while
(
i
.
hasNext
())
{
ActivityManager
.
RunningAppProcessInfo
info
=
(
ActivityManager
.
RunningAppProcessInfo
)
(
i
.
next
());
for
(
Object
aList
:
list
)
{
ActivityManager
.
RunningAppProcessInfo
info
=
(
ActivityManager
.
RunningAppProcessInfo
)
(
aList
);
try
{
if
(
info
.
pid
==
pid
)
{
// 根据进程的信息获取当前进程的名字
...
...
baseSDK/build.gradle
View file @
1df39665
...
...
@@ -24,6 +24,7 @@ android {
minifyEnabled
isDebugMinify
proguardFiles
getDefaultProguardFile
(
'proguard-android.txt'
),
'proguard-rules.pro'
buildConfigField
"String"
,
"BASEURL"
,
"\"${BASE_URL}\""
// resValue("string", "PORT_NUMBER", "8081")
}
}
...
...
baseSDK/src/main/java/com/dayu/common/Constants.java
View file @
1df39665
...
...
@@ -12,16 +12,16 @@ public class Constants {
/**
* 测试环境配置.
*/
//
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
//
public static final String ENVIROMENT = "debug";
//
public static final String BASE_URL = "http://47.94.101.239:3112";
//
public final static String UP_PHOTO = "/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply";
//
public final static String WEB_SOP = "http://47.94.101.239:9004/#/sop";
//
public final static String CHECK_MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manyServiceResult";
//
public final static String MULTI_WEB_SOP = "http://47.94.101.239:9004/#/manySop";
//
public final static String WEB_SOP_DETAIL = "http://47.94.101.239:9004/#/sopdetail";
//
public final static String WEB_ZHI_SHI = "http://47.94.101.239:9004/#/detail";
//
public static final boolean IS_DEBUG = true;
public
static
final
int
LOG_LEVEL
=
LogUtils
.
LEVEL_ALL
;
public
static
final
String
ENVIROMENT
=
"debug"
;
public
static
final
String
BASE_URL
=
"http://47.94.101.239:3112"
;
public
final
static
String
UP_PHOTO
=
"/file/uploadMore?targetPath=test/sp/mobile/android/business/checkApply"
;
public
final
static
String
WEB_SOP
=
"http://47.94.101.239:9004/#/sop"
;
public
final
static
String
CHECK_MULTI_WEB_SOP
=
"http://47.94.101.239:9004/#/manyServiceResult"
;
public
final
static
String
MULTI_WEB_SOP
=
"http://47.94.101.239:9004/#/manySop"
;
public
final
static
String
WEB_SOP_DETAIL
=
"http://47.94.101.239:9004/#/sopdetail"
;
public
final
static
String
WEB_ZHI_SHI
=
"http://47.94.101.239:9004/#/detail"
;
public
static
final
boolean
IS_DEBUG
=
true
;
/**
* uat环境配置.
...
...
@@ -40,16 +40,16 @@ public class Constants {
/**
* 正式环境.
*/
public
static
final
String
ENVIROMENT
=
"release"
;
public
static
final
int
LOG_LEVEL
=
LogUtils
.
LEVEL_ALL
;
public
static
final
String
BASE_URL
=
"https://mobile.kf.ai"
;
public
final
static
String
UP_PHOTO
=
"/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply"
;
public
final
static
String
WEB_SOP
=
"https://sop.kf.ai/#/sop"
;
public
final
static
String
WEB_SOP_DETAIL
=
"https://sop.kf.ai/#/sopdetail"
;
public
final
static
String
WEB_ZHI_SHI
=
"https://sop.kf.ai/#/detail"
;
public
final
static
String
CHECK_MULTI_WEB_SOP
=
"https://sop.kf.ai/#/manyServiceResult"
;
public
final
static
String
MULTI_WEB_SOP
=
"https://sop.kf.ai/#/manySop"
;
public
static
final
boolean
IS_DEBUG
=
false
;
//
public static final String ENVIROMENT = "release";
//
public static final int LOG_LEVEL = LogUtils.LEVEL_ALL;
//
public static final String BASE_URL = "https://mobile.kf.ai";
//
public final static String UP_PHOTO = "/file/uploadMore?targetPath=online/sp/mobile/android/business/checkApply";
//
public final static String WEB_SOP = "https://sop.kf.ai/#/sop";
//
public final static String WEB_SOP_DETAIL = "https://sop.kf.ai/#/sopdetail";
//
public final static String WEB_ZHI_SHI = "https://sop.kf.ai/#/detail";
//
public final static String CHECK_MULTI_WEB_SOP = "https://sop.kf.ai/#/manyServiceResult";
//
public final static String MULTI_WEB_SOP = "https://sop.kf.ai/#/manySop";
//
public static final boolean IS_DEBUG = false;
/**
* 演示环境
...
...
@@ -150,6 +150,8 @@ public class Constants {
public
static
final
String
ERROR_NULL
=
"-1"
;
public
static
final
String
HX_STATE
=
"hx_state"
;
/**
* 主动申请备件.
...
...
baseSDK/src/main/res/values/strings.xml
View file @
1df39665
...
...
@@ -350,6 +350,7 @@
<string
name=
"process_order_success"
>
提交验收成功
</string>
<string
name=
"signature_name"
>
请先签名!
</string>
<string
name=
"click_and_signature"
>
点击此处让客户去签名
</string>
<string
name=
"install_gd_map"
>
请先安装高德地图
</string>
<!--消息-->
...
...
orderCenter/src/main/java/com/dayu/order/presenter/serverinfo/ServerInfoPresenter.java
View file @
1df39665
...
...
@@ -18,8 +18,8 @@ import java.util.List;
* on 2017/11/8.
*/
public
class
ServerInfoPresenter
extends
ServerInfoContract
.
Presenter
{
p
ublic
ObservableField
<
Object
>
mDatas
=
new
ObservableField
<>();
p
ublic
ObservableField
<
Object
>
mHeadDatas
=
new
ObservableField
<>();
p
rivate
ObservableField
<
Object
>
mDatas
=
new
ObservableField
<>();
p
rivate
ObservableField
<
Object
>
mHeadDatas
=
new
ObservableField
<>();
public
ObservableField
<
Integer
>
mCanProcess
=
new
ObservableField
<>();
public
ObservableField
<
Boolean
>
mIsShowPhone
=
new
ObservableField
<>(
false
);
private
int
mId
;
...
...
orderCenter/src/main/java/com/dayu/order/ui/adapter/OrderAdapter.java
View file @
1df39665
...
...
@@ -365,7 +365,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
Intent
intent
;
Bundle
bundle
=
new
Bundle
();
boolean
flag
=
(
boolean
)
SPUtils
.
get
(
Constants
.
ORDER_ID
+
order
.
getId
(),
false
);
if
(
!
flag
&&
order
.
getFaceSwitch
()
!=
null
&&
order
.
getFaceSwitch
()
==
1
)
{
if
(
false
)
{
mPresenter
.
dumpToFaceCert
(
order
);
}
else
{
if
(
order
.
getSpus
().
size
()
>
1
)
{
...
...
orderCenter/src/main/java/com/dayu/order/ui/fragment/MultiOrderDetailFragment.java
View file @
1df39665
...
...
@@ -27,6 +27,8 @@ import com.dayu.utils.ToastUtils;
import
com.dayu.widgets.listener.OnItemClickListener
;
import
com.umeng.analytics.MobclickAgent
;
import
java.io.File
;
/**
* Created by luofan
* on 2018/5/21.
...
...
@@ -101,6 +103,21 @@ public class MultiOrderDetailFragment extends DataBindingFragment<FragmentMultiD
mBind
.
customerSignature
.
setVisibility
(
View
.
GONE
);
}
mBind
.
customerSignature
.
setOnClickListener
(
v
->
imgMax
(
detail
.
getEsignatureImg
()));
mBind
.
customerAddress
.
setOnClickListener
(
v
->
{
if
(
isInstallPackage
())
{
Intent
intent
=
new
Intent
(
"android.intent.action.VIEW"
,
android
.
net
.
Uri
.
parse
(
"androidamap://poi?sourceApplication=softname&keywords="
+
(
detail
.
getProvinceName
()
+
detail
.
getCityName
()
+
detail
.
getDistrictName
()
+
detail
.
getAddress
())));
intent
.
setPackage
(
"com.autonavi.minimap"
);
intent
.
addCategory
(
"android.intent.category.DEFAULT"
);
startActivity
(
intent
);
}
else
{
ToastUtils
.
showShortToast
(
R
.
string
.
install_gd_map
);
}
});
}
private
static
boolean
isInstallPackage
()
{
return
new
File
(
"/data/data/"
+
"com.autonavi.minimap"
).
exists
();
}
public
String
getStaus
(
int
staus
)
{
...
...
userCenter/src/main/java/com/dayu/usercenter/presenter/accountbalance/AccountBalancePresenter.java
View file @
1df39665
...
...
@@ -24,8 +24,10 @@ public class AccountBalancePresenter extends AccountBalanceContract.Presenter {
@Override
public
void
onAttached
()
{
Bundle
bundle
=
mView
.
getBundle
();
if
(
bundle
!=
null
){
String
price
=
"¥"
+
bundle
.
getInt
(
Constants
.
ACCOUNT_BALANCE
,
0
);
totalPrice
.
set
(
price
);
}
UserInfo
userInfo
=
UserManager
.
getInstance
().
getUser
();
mAccoutId
=
Integer
.
parseInt
(
userInfo
.
getAccountId
());
refresh
();
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/activity/IdentityCertificationActivity.java
View file @
1df39665
...
...
@@ -149,7 +149,7 @@ public class IdentityCertificationActivity extends BaseActivity<CertificaitonPre
public
void
onRequestPermissionsResult
(
int
requestCode
,
String
permissions
[],
int
[]
grantResults
)
{
if
(
requestCode
==
EXTERNAL_STORAGE_REQ_CAMERA_CODE
)
{
if
(
grantResults
[
0
]
!=
PackageManager
.
PERMISSION_GRANTED
)
{
// Permission Granted
if
(
grantResults
.
length
!=
0
&&
grantResults
[
0
]
!=
PackageManager
.
PERMISSION_GRANTED
)
{
// Permission Granted
Util
.
showToast
(
this
,
getString
(
R
.
string
.
certification_getphoto_error
));
}
else
{
enterNextPage
(
mSide
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment