Commit 1df39665 by 罗翻

增加但设备登录和地址跳转高德进行导航

parent f3836898
......@@ -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)
......
......@@ -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(
......
......@@ -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");
}
......
......@@ -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) {
// 根据进程的信息获取当前进程的名字
......
......@@ -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")
}
}
......
......@@ -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";
/**
* 主动申请备件.
......
......@@ -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>
<!--消息-->
......
......@@ -18,8 +18,8 @@ import java.util.List;
* on 2017/11/8.
*/
public class ServerInfoPresenter extends ServerInfoContract.Presenter {
public ObservableField<Object> mDatas = new ObservableField<>();
public ObservableField<Object> mHeadDatas = new ObservableField<>();
private ObservableField<Object> mDatas = new ObservableField<>();
private ObservableField<Object> mHeadDatas = new ObservableField<>();
public ObservableField<Integer> mCanProcess = new ObservableField<>();
public ObservableField<Boolean> mIsShowPhone = new ObservableField<>(false);
private int mId;
......
......@@ -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) {
......
......@@ -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) {
......
......@@ -24,8 +24,10 @@ public class AccountBalancePresenter extends AccountBalanceContract.Presenter {
@Override
public void onAttached() {
Bundle bundle = mView.getBundle();
String price = "¥" + bundle.getInt(Constants.ACCOUNT_BALANCE, 0);
totalPrice.set(price);
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();
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment