Commit e3aa37c2 authored by jianglx's avatar jianglx

Merge branch 'master' of http://113.105.137.151:22280/lify/rvapp into dev-member-john

parents 7926b332 a6bae431
...@@ -8,8 +8,8 @@ android { ...@@ -8,8 +8,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 124 versionCode 125
versionName "1.2.4" versionName "1.2.5"
multiDexEnabled true multiDexEnabled true
//新版Gradle 是 implementation 为了兼容compile,写上这句话 //新版Gradle 是 implementation 为了兼容compile,写上这句话
...@@ -60,6 +60,7 @@ android { ...@@ -60,6 +60,7 @@ android {
} }
} }
} }
} }
} }
//打包的时间 //打包的时间
......
...@@ -14,12 +14,10 @@ ...@@ -14,12 +14,10 @@
<uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 打电话 --> <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 打电话 -->
<uses-permission android:name="android.permission.SEND_SMS" /> <!-- 发送短信 --> <uses-permission android:name="android.permission.SEND_SMS" /> <!-- 发送短信 -->
<uses-permission android:name="android.permission.CAMERA" /> <!-- 照相机 --> <uses-permission android:name="android.permission.CAMERA" /> <!-- 照相机 -->
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 不熄屏 --> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 不熄屏 -->
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" /> <!-- 获得包大小 --> <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" /> <!-- 获得包大小 -->
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> <!-- 强制退出程序 --> <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> <!-- 强制退出程序 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 系统警告窗口 --> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 系统警告窗口 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- 安装卸载文件系统 -->
<!-- ===================高德定位=================== --> <!-- ===================高德定位=================== -->
<!-- 用于进行网络定位 --> <!-- 用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 -->
...@@ -80,18 +78,18 @@ ...@@ -80,18 +78,18 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission android:name="android.permission.CAMERA" /> <!-- 通知栏权限 --> <uses-permission android:name="android.permission.CAMERA" /> <!-- 通知栏权限 -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.READ_LOGS" />
<supports-screens <supports-screens
android:anyDensity="true" android:anyDensity="true"
android:largeScreens="true" android:largeScreens="true"
android:normalScreens="false" android:normalScreens="true"
android:resizeable="true" android:resizeable="true"
android:smallScreens="true" /> <!-- OpenGLES 2.0 --> android:smallScreens="true" />
<!-- OpenGLES 2.0 -->
<uses-feature <uses-feature
android:glEsVersion="0x00020000" android:glEsVersion="0x00020000"
android:required="true" /> android:required="true" />
...@@ -264,22 +262,7 @@ ...@@ -264,22 +262,7 @@
android:name="com.rv.home.rv.module.ui.main.home.order.GetOnTheCarQRCodeActivity" android:name="com.rv.home.rv.module.ui.main.home.order.GetOnTheCarQRCodeActivity"
android:screenOrientation="portrait" /> <!-- ================================================================= --> android:screenOrientation="portrait" /> <!-- ================================================================= -->
<!-- 旅行模块 --> <!-- 旅行模块 -->
<activity <!-- 查看预览图 -->
android:name="com.rv.travel.TravelActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
android:maxAspectRatio="2.4"
android:screenOrientation="portrait"
android:theme="@style/MyFrameTheme"
android:windowSoftInputMode="adjustResize|stateHidden" />
<activity
android:name="com.rv.travel.other.TravelFragmentActivity"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask"
android:maxAspectRatio="2.4"
android:screenOrientation="portrait"
android:theme="@style/MyFrameTheme"
android:windowSoftInputMode="adjustResize|stateHidden" /> <!-- 查看预览图 -->
<activity <activity
android:name="com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt" android:name="com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt"
android:configChanges="orientation|keyboardHidden" android:configChanges="orientation|keyboardHidden"
......
...@@ -27,9 +27,6 @@ android { ...@@ -27,9 +27,6 @@ android {
repositories { repositories {
flatDir { flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder dirs 'libs' //this way we can find the .aar file in libs folder
// 所有Module应该保持一致,要么加上,要么去掉
//aar包引入
//compile(name:'camerascan-1.0', ext:'aar')
} }
} }
} }
...@@ -56,6 +53,9 @@ android { ...@@ -56,6 +53,9 @@ android {
//api project(path: ':WXPay') //api project(path: ':WXPay')
api "com.tencent.mm.opensdk:wechat-sdk-android-with-mta:$rootProject.ext.wechatPayVersion" api "com.tencent.mm.opensdk:wechat-sdk-android-with-mta:$rootProject.ext.wechatPayVersion"
// 支付宝 SDK AAR 包所需的配置
api files('libs/alipaySdk-15.6.5-20190718211148.aar')
//适配器 //适配器
api "com.github.CymChad:BaseRecyclerViewAdapterHelper:$rootProject.ext.quickAdapterVersion" api "com.github.CymChad:BaseRecyclerViewAdapterHelper:$rootProject.ext.quickAdapterVersion"
......
...@@ -10,6 +10,7 @@ package com.frame.rv.config; ...@@ -10,6 +10,7 @@ package com.frame.rv.config;
public interface RvFrameConfig extends RvFrameConstant { public interface RvFrameConfig extends RvFrameConstant {
// String HOST = "https://xxtest.upyuns.com"; // String HOST = "https://xxtest.upyuns.com";
// String HOST = "http://10.1.37.192:8765"; // String HOST = "http://10.1.37.192:8765";
// String HOST = "http://10.1.37.245:10000";
String HOST = "https://dev.dfangche.com"; String HOST = "https://dev.dfangche.com";
String ADMIN_POST = HOST + "/api/admin/"; String ADMIN_POST = HOST + "/api/admin/";
String AUTH_POST = HOST + "/api/auth/"; String AUTH_POST = HOST + "/api/auth/";
......
package com.frame.rv.widget; import java.util.Map; import android.text.TextUtils; public class PayResult { private String resultStatus; private String result; private String memo; public PayResult(Map<String, String> rawResult) { if (rawResult == null) { return; } for (String key : rawResult.keySet()) { if (TextUtils.equals(key, "resultStatus")) { resultStatus = rawResult.get(key); } else if (TextUtils.equals(key, "result")) { result = rawResult.get(key); } else if (TextUtils.equals(key, "memo")) { memo = rawResult.get(key); } } } @Override public String toString() { return "resultStatus={" + resultStatus + "};memo={" + memo + "};result={" + result + "}"; } /** * @return the resultStatus */ public String getResultStatus() { return resultStatus; } /** * @return the memo */ public String getMemo() { return memo; } /** * @return the result */ public String getResult() { return result; }}
\ No newline at end of file
...@@ -49,6 +49,7 @@ android { ...@@ -49,6 +49,7 @@ android {
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
}) })
//api project(path: ':WXPay') //api project(path: ':WXPay')
api project(path: ':RvFrame') api project(path: ':RvFrame')
api 'com.jakewharton:butterknife:9.0.0-rc1' api 'com.jakewharton:butterknife:9.0.0-rc1'
......
...@@ -59,4 +59,5 @@ dependencies { ...@@ -59,4 +59,5 @@ dependencies {
api 'com.davemorrissey.labs:subsampling-scale-image-view:3.9.0' api 'com.davemorrissey.labs:subsampling-scale-image-view:3.9.0'
implementation 'com.alibaba:fastjson:1.2.21' implementation 'com.alibaba:fastjson:1.2.21'
implementation project(':component_utils') implementation project(':component_utils')
} }
...@@ -11,7 +11,6 @@ buildscript { ...@@ -11,7 +11,6 @@ buildscript {
maven { maven {
url "https://jitpack.io" url "https://jitpack.io"
} }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.android.tools.build:gradle:3.2.1'
...@@ -26,6 +25,11 @@ allprojects { ...@@ -26,6 +25,11 @@ allprojects {
repositories { repositories {
google() google()
jcenter() jcenter()
// 支付宝 SDK AAR 包所需的配置
flatDir {
dirs 'libs'
}
maven { maven {
url "http://mvn.mob.com/android" url "http://mvn.mob.com/android"
} }
......
...@@ -19,6 +19,7 @@ android { ...@@ -19,6 +19,7 @@ android {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }
} }
} }
...@@ -29,4 +30,5 @@ dependencies { ...@@ -29,4 +30,5 @@ dependencies {
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1' annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
api project(':RvWrapper') api project(':RvWrapper')
api project(':component_resource') api project(':component_resource')
} }
package com.rv.component.dialog;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.Gravity;
import android.view.ViewGroup;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
/**
* 实名认证温馨提示
*/
public class VerifiedTipsDialog extends BaseDialog {
public VerifiedTipsDialog(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
}
@Override
public int getViewLayout() {
return R.layout.rv_dialog_verified_tips;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_40"
android:layout_marginRight="@dimen/size_40"
android:background="@color/colorWrite"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="实名认证"
android:textColor="@color/colorMain"
android:textSize="@dimen/text_18" />
</LinearLayout>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginRight="@dimen/size_15"
android:layout_marginBottom="@dimen/size_26"
android:text="为了确保您的资金安全,提现需要进行实名认证。"
android:textColor="@color/textGray"
android:textSize="@dimen/size_16" />
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_cancel"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="我在想想" />
<View
android:layout_width="@dimen/size_half"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/size_10"
android:layout_marginBottom="@dimen/size_10"
android:background="@color/colorLine" />
<TextView
android:id="@+id/tv_ok"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/colorMain"
android:gravity="center"
android:text="确定" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
...@@ -39,5 +39,7 @@ dependencies { ...@@ -39,5 +39,7 @@ dependencies {
annotationProcessor'com.alibaba:arouter-compiler:1.1.4' annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
api project(':RvWrapper') api project(':RvWrapper')
api project(':component_control') api project(':component_control')
api project(':component_resource')
} }
...@@ -52,6 +52,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui ...@@ -52,6 +52,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
@BindView(R2.id.refresh) @BindView(R2.id.refresh)
SimpleRefreshLayout mSimpleRefreshLayout; SimpleRefreshLayout mSimpleRefreshLayout;
private boolean isOpen = true; private boolean isOpen = true;
private CampListAdapter campAdapter; private CampListAdapter campAdapter;
private CampTypeListAdapter campTypeListAdapter; private CampTypeListAdapter campTypeListAdapter;
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
<ImageView
android:id="@+id/iv_back"
android:layout_width="@dimen/size_40"
android:layout_height="@dimen/size_40"
android:layout_marginLeft="@dimen/size_5"
android:layout_marginTop="@dimen/size_10"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<ImageView
android:id="@+id/iv_location"
android:layout_alignParentRight="true"
android:layout_width="@dimen/size_50"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/size_5"
android:layout_marginTop="@dimen/size_10"
android:layout_marginRight="@dimen/size_15"
android:padding="@dimen/size_8"
android:src="@drawable/rv_location" />
<!--<ImageView-->
<!--android:layout_width="wrap_content"-->
<!--android:id="@+id/iv_center"-->
<!--android:visibility="gone"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_height="wrap_content"-->
<!--android:src="@drawable/im_map_button_pres"-->
<!--/>-->
<LinearLayout
android:layout_marginLeft="@dimen/size_30"
android:layout_marginRight="@dimen/size_30"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/size_30"
android:layout_width="match_parent"
android:padding="@dimen/size_15"
android:visibility="gone"
android:id="@+id/ll_visible"
android:background="@color/colorWrite"
android:orientation="horizontal"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_weight="1"
android:paddingRight="@dimen/size_10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/textMain"
android:textSize="@dimen/text_18"
android:drawablePadding="@dimen/size_5"
android:drawableLeft="@drawable/rv_common_icon_logo"
android:id="@+id/tv_name"
android:text=""
/>
<TextView
android:layout_marginTop="@dimen/size_8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/textGray"
android:textSize="@dimen/text_14"
android:layout_below="@id/tv_name"
android:id="@+id/tv_address"
android:text=""
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/textGray"
android:textSize="@dimen/text_14"
android:layout_below="@id/tv_address"
android:id="@+id/tv_phone"
android:text=""
/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_navigation"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_centerHorizontal="true"
android:src="@drawable/rv_rentingcar_icon_gps"
android:layout_width="@dimen/size_30"
android:layout_height="@dimen/size_30"
/>
<TextView
android:textColor="@color/textMain"
android:textSize="@dimen/text_12"
android:layout_centerHorizontal="true"
android:text="去这里"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_35"
/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
...@@ -54,4 +54,5 @@ dependencies { ...@@ -54,4 +54,5 @@ dependencies {
api project(':component_control') api project(':component_control')
api project(':plugin_imcamera') api project(':plugin_imcamera')
} }
...@@ -128,7 +128,7 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> { ...@@ -128,7 +128,7 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list.add(_mActivity.getString(R.string.discovery_recommend)); list.add(_mActivity.getString(R.string.discovery_recommend));
list.add(_mActivity.getString(R.string.discovery_pat)); list.add(_mActivity.getString(R.string.discovery_pat));
list.add(_mActivity.getString(R.string.discovery_short_video)); // list.add(_mActivity.getString(R.string.discovery_short_video));
list.add(_mActivity.getString(R.string.discovery_question_and_answer)); list.add(_mActivity.getString(R.string.discovery_question_and_answer));
menuAdapter.setNewData(list); menuAdapter.setNewData(list);
menuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { menuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
...@@ -173,7 +173,7 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> { ...@@ -173,7 +173,7 @@ public class DiscoveryFragment extends BaseFragment<DiscoveryPresenter> {
List<BaseFragment> list = new ArrayList<>(); List<BaseFragment> list = new ArrayList<>();
list.add(RecommendFragment.getInstance(TYPE_RECOMMEND)); list.add(RecommendFragment.getInstance(TYPE_RECOMMEND));
list.add(PatFragment.getInstance(TYPE_PAT)); list.add(PatFragment.getInstance(TYPE_PAT));
list.add(ShortVideoFragment.getInstance(TYPE_SHORT_VIDEO)); // list.add(ShortVideoFragment.getInstance(TYPE_SHORT_VIDEO));
list.add(QuestionAndAnswerFragment.getInstance(TYPE_QUESTION_AND_ANSWER)); list.add(QuestionAndAnswerFragment.getInstance(TYPE_QUESTION_AND_ANSWER));
return list; return list;
} }
......
...@@ -51,4 +51,5 @@ dependencies { ...@@ -51,4 +51,5 @@ dependencies {
implementation 'com.alibaba:fastjson:1.2.21' implementation 'com.alibaba:fastjson:1.2.21'
api files('libs/ShareInstall_1.2.0.aar') api files('libs/ShareInstall_1.2.0.aar')
} }
...@@ -366,7 +366,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -366,7 +366,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
if (platform.name().equals("WEIXIN_FAVORITE")) { if (platform.name().equals("WEIXIN_FAVORITE")) {
showToast(platform + " 收藏成功啦"); showToast(" 收藏成功啦");
} else { } else {
if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
...@@ -381,7 +381,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -381,7 +381,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
&& platform != SHARE_MEDIA.GOOGLEPLUS && platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE && platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) { && platform != SHARE_MEDIA.EVERNOTE) {
showToast(platform + "分享成功啦"); showToast("分享成功啦");
} }
......
...@@ -4,8 +4,11 @@ import android.annotation.SuppressLint; ...@@ -4,8 +4,11 @@ import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.widget.PopupWindowCompat; import android.support.v4.widget.PopupWindowCompat;
import android.text.Html; import android.text.Html;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
...@@ -19,6 +22,7 @@ import android.widget.TextView; ...@@ -19,6 +22,7 @@ import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alipay.sdk.app.PayTask;
import com.base.utils.ui.datetime.selector.util.TextUtil; import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.frame.base.bus.LoginUserInfoEvent; import com.frame.base.bus.LoginUserInfoEvent;
import com.frame.base.bus.Observer; import com.frame.base.bus.Observer;
...@@ -28,6 +32,7 @@ import com.frame.base.bus.RxBus; ...@@ -28,6 +32,7 @@ import com.frame.base.bus.RxBus;
import com.frame.base.url.Constance; import com.frame.base.url.Constance;
import com.frame.base.view.StarBar; import com.frame.base.view.StarBar;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.SPConstance; import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.bean.BeanUserInfo; import com.ruiwenliu.wrapper.bean.BeanUserInfo;
...@@ -48,6 +53,7 @@ import com.rv.home.rv.module.basic.presenter.CommonPresenter; ...@@ -48,6 +53,7 @@ import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean; import com.rv.home.rv.module.ui.main.home.bean.CarTypeListBean;
import com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean; import com.rv.home.rv.module.ui.main.home.bean.ConfirmOrderBean;
import com.rv.home.rv.module.ui.main.home.bean.DrivingListBean; import com.rv.home.rv.module.ui.main.home.bean.DrivingListBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderDataBean; import com.rv.home.rv.module.ui.main.home.bean.OrderDataBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPriceBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPriceBean;
...@@ -77,6 +83,7 @@ import io.reactivex.schedulers.Schedulers; ...@@ -77,6 +83,7 @@ import io.reactivex.schedulers.Schedulers;
* Desc:确认订单 * Desc:确认订单
*/ */
public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
private static final int SDK_ALI_PAY_FLAG = 11;
@BindView(R2.id.iv_goods) @BindView(R2.id.iv_goods)
ImageView ivGoods; ImageView ivGoods;
@BindView(R2.id.tv_name) @BindView(R2.id.tv_name)
...@@ -257,15 +264,14 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -257,15 +264,14 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
break; break;
case 1: case 1:
ConfirmOrderBean orderBean = (ConfirmOrderBean) result; ConfirmOrderBean orderBean = (ConfirmOrderBean) result;
orderPay(orderBean.getData().getNo(), 1, 1); orderPay(orderBean.getData().getNo());
// startActivity(OrderListActivity.getIntent(mActivity,OrderListActivity.TYPE_FOR_PAYMENT)); // startActivity(OrderListActivity.getIntent(mActivity,OrderListActivity.TYPE_FOR_PAYMENT));
break; break;
case 2: case 2:
pay((OrderPayBean) result); pay((OrderPayBean) result);
break; break;
case 3: case 3:
startActivity(OrderListActivity.getIntent(mActivity, 0)); aliPayData((OrderAliPayBean) result);
finish();
break; break;
case 4: case 4:
CouponBean couponBean = (CouponBean) result; CouponBean couponBean = (CouponBean) result;
...@@ -459,7 +465,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -459,7 +465,6 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
int i = v.getId(); int i = v.getId();
if (i == R.id.iv_close) { if (i == R.id.iv_close) {
dismiss(); dismiss();
createOrder(3);
} else if (i == R.id.ll_item_wechat) { } else if (i == R.id.ll_item_wechat) {
payType = 1; payType = 1;
helper.setChecked(R.id.rb_wechat, true); helper.setChecked(R.id.rb_wechat, true);
...@@ -467,9 +472,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -467,9 +472,8 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
} else if (i == R.id.ll_item_alipay) { } else if (i == R.id.ll_item_alipay) {
payType = 2; payType = 2;
showToast("该功能还没有开通!"); helper.setChecked(R.id.rb_wechat, false);
// helper.setChecked(R.id.rb_wechat,false); helper.setChecked(R.id.rb_alipay, true);
// helper.setChecked(R.id.rb_alipay,true);
} else if (i == R.id.tv_pay_immediately) { } else if (i == R.id.tv_pay_immediately) {
dismiss(); dismiss();
createOrder(1); createOrder(1);
...@@ -513,11 +517,16 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -513,11 +517,16 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
/** /**
* 订单支付 * 订单支付
*/ */
private void orderPay(String orderNo, int payWay, int type) { private void orderPay(String orderNo) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 2, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true); if (payType == 1) {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 2, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
} else {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 3, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderAliPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}
} }
/** /**
...@@ -763,6 +772,11 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -763,6 +772,11 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
return View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(measureSpec), mode); return View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(measureSpec), mode);
} }
/**
* 微信支付
*
* @param data
*/
private void pay(OrderPayBean data) { private void pay(OrderPayBean data) {
try { try {
...@@ -779,9 +793,62 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -779,9 +793,62 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
} catch (Exception e) { } catch (Exception e) {
showToast("异常"); showToast("异常");
} }
}
/**
* 显示支付宝签名
*/
public void aliPayData(final OrderAliPayBean bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(ConfirmOrderActivity.this);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
} }
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
startActivity(OrderListActivity.getIntent(mActivity, 1));
finish();
} else if ("6001".equals(resultStatus)) {
startActivity(OrderListActivity.getIntent(mActivity, 0));
showToast("支付取消!");
finish();
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast(payResult.toString());
}
break;
}
}
}
};
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
......
package com.rv.home.rv.module.ui.main.home.bean;
import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean;
/**
* 支付宝订单支付
*/
public class OrderAliPayBean extends BaseBean{
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
...@@ -9,13 +9,17 @@ import android.os.Message; ...@@ -9,13 +9,17 @@ import android.os.Message;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import com.alipay.sdk.app.PayTask;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.entity.MultiItemEntity; import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.frame.base.bus.PaymentSuccessfulEvent; import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus; import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment; import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
...@@ -26,7 +30,9 @@ import com.rv.home.R; ...@@ -26,7 +30,9 @@ import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.ConfirmOrderActivity;
import com.rv.home.rv.module.ui.main.home.bean.EffectiveTimeBean; import com.rv.home.rv.module.ui.main.home.bean.EffectiveTimeBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.order.adapter.ForPaymentAdapter; import com.rv.home.rv.module.ui.main.home.order.adapter.ForPaymentAdapter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean; import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
...@@ -61,6 +67,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -61,6 +67,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
private int mPage; private int mPage;
private int countPage; private int countPage;
private IWXAPI api; private IWXAPI api;
private int payType;//选择支付类型
private static final int SDK_ALI_PAY_FLAG = 11;
private OrderListBean.DataBeanX.DataBean payBean = null; private OrderListBean.DataBeanX.DataBean payBean = null;
private int payPosition = -1; private int payPosition = -1;
...@@ -169,6 +178,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -169,6 +178,9 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
case 1: case 1:
pay((OrderPayBean) result); pay((OrderPayBean) result);
break; break;
case 2:
aliPayData((OrderAliPayBean) result);
break;
} }
} }
...@@ -252,13 +264,16 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -252,13 +264,16 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
if (id == R.id.iv_close) { if (id == R.id.iv_close) {
dismiss(); dismiss();
} else if (id == R.id.ll_item_wechat) { } else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true); helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false); helper.setChecked(R.id.rb_alipay, false);
} else if (id == R.id.ll_item_alipay) { } else if (id == R.id.ll_item_alipay) {
showToast("该功能还没有开通!"); payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
} else if (id == R.id.tv_pay_immediately) { } else if (id == R.id.tv_pay_immediately) {
dismiss(); dismiss();
createOrder(no, 1, 1); createOrder(no);
} }
} }
}, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately); }, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately);
...@@ -269,10 +284,14 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -269,10 +284,14 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
} }
private void createOrder(String orderNo, int payWay, int type) { private void createOrder(String orderNo) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true); if (payType == 1) {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}else {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 2, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderAliPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}
} }
...@@ -332,4 +351,56 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements ...@@ -332,4 +351,56 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
} }
} }
/**
* 显示支付宝签名
*/
public void aliPayData(final OrderAliPayBean bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(_mActivity);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
RxBus.post(new PaymentSuccessfulEvent());
} else if ("6001".equals(resultStatus)) {
showToast("支付取消!");
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast(payResult.toString());
}
break;
}
}
}
};
} }
...@@ -9,6 +9,10 @@ import android.content.Intent; ...@@ -9,6 +9,10 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.webkit.JavascriptInterface; import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient; import android.webkit.WebChromeClient;
...@@ -21,11 +25,13 @@ import android.widget.ProgressBar; ...@@ -21,11 +25,13 @@ import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.alipay.sdk.app.PayTask;
import com.frame.base.bus.CancelOrderEvent; import com.frame.base.bus.CancelOrderEvent;
import com.frame.base.bus.Observer; import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentSuccessfulEvent; import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus; import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
...@@ -38,6 +44,7 @@ import com.rv.home.rv.module.ApiConfig; ...@@ -38,6 +44,7 @@ import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseStatusActivity; import com.rv.home.rv.module.basic.BaseStatusActivity;
import com.rv.home.rv.module.basic.WebActivity; import com.rv.home.rv.module.basic.WebActivity;
import com.rv.home.rv.module.basic.presenter.PickerPresenter; import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean; import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.modelpay.PayReq;
...@@ -70,6 +77,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; ...@@ -70,6 +77,7 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
*/ */
public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
private static final int SDK_ALI_PAY_FLAG = 11;
@BindView(R2.id.tv_center) @BindView(R2.id.tv_center)
TextView tvCenter; TextView tvCenter;
...@@ -87,6 +95,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -87,6 +95,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
private String webUrl; private String webUrl;
private int status; private int status;
private String no; private String no;
private int payType;//选择支付类型
private final int TYPE_REQUEST_EVALUATION = 1; private final int TYPE_REQUEST_EVALUATION = 1;
private IWXAPI api; private IWXAPI api;
...@@ -194,6 +203,9 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -194,6 +203,9 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
case 0: case 0:
pay((OrderPayBean) result); pay((OrderPayBean) result);
break; break;
case 1:
aliPayData((OrderAliPayBean) result);
break;
} }
} }
...@@ -307,13 +319,16 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -307,13 +319,16 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
if (id == R.id.iv_close) { if (id == R.id.iv_close) {
dismiss(); dismiss();
} else if (id == R.id.ll_item_wechat) { } else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true); helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false); helper.setChecked(R.id.rb_alipay, false);
} else if (id == R.id.ll_item_alipay) { } else if (id == R.id.ll_item_alipay) {
showToast("该功能还没有开通!"); payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
} else if (id == R.id.tv_pay_immediately) { } else if (id == R.id.tv_pay_immediately) {
dismiss(); dismiss();
createOrder(no, 1, 1); createOrder(no);
} }
} }
}, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately); }, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately);
...@@ -323,10 +338,14 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -323,10 +338,14 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
dialog.show(); dialog.show();
} }
private void createOrder(String orderNo, int payWay, int type) { private void createOrder(String orderNo) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 0, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true); if (payType == 1) {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 0, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}else {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderAliPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}
} }
@Override @Override
...@@ -394,6 +413,57 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> { ...@@ -394,6 +413,57 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
} }
/**
* 显示支付宝签名
*/
public void aliPayData(final OrderAliPayBean bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(OrderDetailActivity.this);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
RxBus.post(new PaymentSuccessfulEvent());
} else if ("6001".equals(resultStatus)) {
showToast("支付取消!");
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast(payResult.toString());
}
break;
}
}
}
};
private void initWeb() { private void initWeb() {
WebSettings webSettings = mWebView.getSettings(); WebSettings webSettings = mWebView.getSettings();
if (webSettings == null) return; if (webSettings == null) return;
......
...@@ -8,6 +8,10 @@ import android.content.Intent; ...@@ -8,6 +8,10 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View; import android.view.View;
import android.webkit.JavascriptInterface; import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient; import android.webkit.WebChromeClient;
...@@ -19,10 +23,13 @@ import android.widget.LinearLayout; ...@@ -19,10 +23,13 @@ import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import com.alipay.sdk.app.PayTask;
import com.frame.base.bus.CancelOrderEvent; import com.frame.base.bus.CancelOrderEvent;
import com.frame.base.bus.Observer; import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus; import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.util.ViewHolder; import com.ruiwenliu.wrapper.util.ViewHolder;
...@@ -34,6 +41,7 @@ import com.rv.home.R2; ...@@ -34,6 +41,7 @@ import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.WebActivity; import com.rv.home.rv.module.basic.WebActivity;
import com.rv.home.rv.module.basic.presenter.PickerPresenter; import com.rv.home.rv.module.basic.presenter.PickerPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean; import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean; import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.modelpay.PayReq;
...@@ -57,7 +65,6 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat; ...@@ -57,7 +65,6 @@ import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
*/ */
public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresenter> { public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresenter> {
private static final int TYPE_REQUEST_EVALUATION = 102; private static final int TYPE_REQUEST_EVALUATION = 102;
@BindView(R2.id.pb_progress) @BindView(R2.id.pb_progress)
ProgressBar pbProgress; ProgressBar pbProgress;
...@@ -70,12 +77,14 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -70,12 +77,14 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
@BindView(R2.id.ll_item_bottom) @BindView(R2.id.ll_item_bottom)
LinearLayout llItemBottom; LinearLayout llItemBottom;
private static final int SDK_ALI_PAY_FLAG = 11;
private String webUrl; private String webUrl;
private int status; private int status;
private String no; private String no;
private IWXAPI api; private IWXAPI api;
private double orderAmount; private double orderAmount;
private OrderListBean.DataBeanX.DataBean dataBean; private OrderListBean.DataBeanX.DataBean dataBean;
private int payType;//选择支付类型
public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) { public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
...@@ -184,6 +193,9 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -184,6 +193,9 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
case 0: case 0:
pay((OrderPayBean) result); pay((OrderPayBean) result);
break; break;
case 1:
aliPayData((OrderAliPayBean) result);
break;
} }
} }
...@@ -281,13 +293,16 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -281,13 +293,16 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
if (id == R.id.iv_close) { if (id == R.id.iv_close) {
dismiss(); dismiss();
} else if (id == R.id.ll_item_wechat) { } else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true); helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false); helper.setChecked(R.id.rb_alipay, false);
} else if (id == R.id.ll_item_alipay) { } else if (id == R.id.ll_item_alipay) {
showToast("该功能还没有开通!"); payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
} else if (id == R.id.tv_pay_immediately) { } else if (id == R.id.tv_pay_immediately) {
dismiss(); dismiss();
createOrder(no, 1, 1); createOrder(no);
} }
} }
}, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately); }, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately);
...@@ -298,10 +313,14 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -298,10 +313,14 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
} }
private void createOrder(String orderNo, int payWay, int type) { private void createOrder(String orderNo) {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 0, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true); if (payType == 1) {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 0, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}else {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderAliPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}
} }
public class payBody { public class payBody {
...@@ -361,6 +380,57 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent ...@@ -361,6 +380,57 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
} }
/**
* 显示支付宝签名
*/
public void aliPayData(final OrderAliPayBean bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(TravelOrderDetailsActivity.this);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
RxBus.post(new PaymentSuccessfulEvent());
} else if ("6001".equals(resultStatus)) {
showToast("支付取消!");
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast(payResult.toString());
}
break;
}
}
}
};
private void initWeb() { private void initWeb() {
WebSettings webSettings = mWebView.getSettings(); WebSettings webSettings = mWebView.getSettings();
if (webSettings == null) return; if (webSettings == null) return;
......
...@@ -51,4 +51,5 @@ dependencies { ...@@ -51,4 +51,5 @@ dependencies {
api project(':plugin_coupon') api project(':plugin_coupon')
implementation project(':plugin_points') implementation project(':plugin_points')
implementation project(':plugin_wallet') implementation project(':plugin_wallet')
} }
package com.rv.rvmine; package com.rv.rvmine;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.ActivityOptions;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
...@@ -245,7 +247,11 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl ...@@ -245,7 +247,11 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
}else if (id == R.id.iv_avatar) { }else if (id == R.id.iv_avatar) {
//头像 //头像
if (isLogin()) return; if (isLogin()) return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
startActivity(PersonalInformationActivity.getIntent(_mActivity, info), ActivityOptions.makeSceneTransitionAnimation(_mActivity,ivAvatar,"sharedView").toBundle());
}else {
startActivity(PersonalInformationActivity.getIntent(_mActivity, info)); startActivity(PersonalInformationActivity.getIntent(_mActivity, info));
}
} else if (id == R.id.tv_login) { } else if (id == R.id.tv_login) {
//登录 //登录
......
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
android:id="@+id/iv_avatar" android:id="@+id/iv_avatar"
android:layout_width="@dimen/size_60" android:layout_width="@dimen/size_60"
android:layout_height="@dimen/size_60" android:layout_height="@dimen/size_60"
android:transitionName="sharedView"
android:src="@drawable/common_icon_avatar_default" /> android:src="@drawable/common_icon_avatar_default" />
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
android:layout_width="@dimen/size_60" android:layout_width="@dimen/size_60"
android:layout_height="@dimen/size_60" android:layout_height="@dimen/size_60"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true" /> android:layout_centerVertical="true"
android:transitionName="sharedView" />
</RelativeLayout> </RelativeLayout>
<include layout="@layout/common_line" /> <include layout="@layout/common_line" />
...@@ -77,8 +78,8 @@ ...@@ -77,8 +78,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
android:visibility="gone" android:gravity="center_vertical"
android:gravity="center_vertical"> android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -89,13 +90,13 @@ ...@@ -89,13 +90,13 @@
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
<EditText <EditText
android:enabled="false"
android:id="@+id/et_name" android:id="@+id/et_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:enabled="false"
android:gravity="right|center_vertical" android:gravity="right|center_vertical"
android:hint="请输入姓名" android:hint="请输入姓名"
android:maxLength="10" android:maxLength="10"
...@@ -188,13 +189,13 @@ ...@@ -188,13 +189,13 @@
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
<EditText <EditText
android:enabled="false"
android:id="@+id/et_phone" android:id="@+id/et_phone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:enabled="false"
android:gravity="right|center_vertical" android:gravity="right|center_vertical"
android:hint="请输入手机号" android:hint="请输入手机号"
android:inputType="phone|number" android:inputType="phone|number"
...@@ -209,8 +210,8 @@ ...@@ -209,8 +210,8 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
android:visibility="gone" android:gravity="center_vertical"
android:gravity="center_vertical"> android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -221,13 +222,13 @@ ...@@ -221,13 +222,13 @@
android:textSize="@dimen/text_16" /> android:textSize="@dimen/text_16" />
<EditText <EditText
android:enabled="false"
android:id="@+id/et_id_card" android:id="@+id/et_id_card"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginLeft="@dimen/size_15" android:layout_marginLeft="@dimen/size_15"
android:layout_weight="1" android:layout_weight="1"
android:background="@null" android:background="@null"
android:enabled="false"
android:gravity="right|center_vertical" android:gravity="right|center_vertical"
android:hint="请输入身份证号" android:hint="请输入身份证号"
android:maxLength="18" android:maxLength="18"
......
...@@ -45,4 +45,5 @@ dependencies { ...@@ -45,4 +45,5 @@ dependencies {
api project(':RvWrapper') api project(':RvWrapper')
api project(':component_control') api project(':component_control')
api project(':plugin_coupon') api project(':plugin_coupon')
} }
...@@ -66,8 +66,8 @@ import io.reactivex.functions.Consumer; ...@@ -66,8 +66,8 @@ import io.reactivex.functions.Consumer;
* 旅游 * 旅游
*/ */
public class TourismFragment extends BaseFragment<TourismPresenter> implements BaseQuickAdapter.RequestLoadMoreListener, SimpleRefreshLayout.OnSimpleRefreshListener { public class TourismFragment extends BaseFragment<TourismPresenter> implements SimpleRefreshLayout.OnSimpleRefreshListener {
//BaseQuickAdapter.RequestLoadMoreListener,
@BindView(R2.id.travel_city_text) @BindView(R2.id.travel_city_text)
TextView travelCityText; TextView travelCityText;
@BindView(R2.id.search_input) @BindView(R2.id.search_input)
...@@ -136,7 +136,7 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B ...@@ -136,7 +136,7 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
mAllPopularAdapter = new AllPopularAdapter(); mAllPopularAdapter = new AllPopularAdapter();
rvPopularMore.setLayoutManager(new GridLayoutManager(_mActivity, 3)); rvPopularMore.setLayoutManager(new GridLayoutManager(_mActivity, 3));
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。 rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。
rvPopularMore.setNestedScrollingEnabled(false); // rvPopularMore.setNestedScrollingEnabled(false);
rvPopularMore.setAdapter(mAllPopularAdapter); rvPopularMore.setAdapter(mAllPopularAdapter);
//周边游 //周边游
...@@ -175,6 +175,18 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B ...@@ -175,6 +175,18 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
.navigation(); .navigation();
} }
}); });
mTourAroundAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
if (mPage >= countPage) {
mTourAroundAdapter.loadMoreEnd();
} else {
mPage++;
getLoadTourAroundData(mPage);
}
}
},rvTourAround);
} }
@Override @Override
...@@ -382,15 +394,15 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B ...@@ -382,15 +394,15 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements B
} }
@Override // @Override
public void onLoadMoreRequested() { // public void onLoadMoreRequested() {
if (mPage >= countPage) { // if (mPage >= countPage) {
mTourAroundAdapter.loadMoreEnd(); // mTourAroundAdapter.loadMoreEnd();
} else { // } else {
mPage++; // mPage++;
getLoadTourAroundData(mPage); // getLoadTourAroundData(mPage);
} // }
} // }
@Override @Override
......
package com.rv.tourism.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
/**
* 支付宝订单支付
*/
public class BeanTourOrderAliPay extends BaseBean{
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
...@@ -100,7 +100,7 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter ...@@ -100,7 +100,7 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
mAllPopularAdapter = new AllPopularAdapter(); mAllPopularAdapter = new AllPopularAdapter();
rvPopularMore.setLayoutManager(new GridLayoutManager(mActivity, 3)); rvPopularMore.setLayoutManager(new GridLayoutManager(mActivity, 3));
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。 rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。
rvPopularMore.setNestedScrollingEnabled(false); // rvPopularMore.setNestedScrollingEnabled(false);
rvPopularMore.setAdapter(mAllPopularAdapter); rvPopularMore.setAdapter(mAllPopularAdapter);
titleView.setOnClickListener(new View.OnClickListener() { titleView.setOnClickListener(new View.OnClickListener() {
...@@ -139,6 +139,18 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter ...@@ -139,6 +139,18 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
} }
}); });
mRecommendedRouteAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override
public void onLoadMoreRequested() {
if (mPage >= countPage) {
mRecommendedRouteAdapter.loadMoreEnd();
} else {
mPage++;
getLoadPopularTourListData(mPage);
}
}
},rvRecommendedRoute);
} }
@OnClick(R2.id.travel_hot_more_close) @OnClick(R2.id.travel_hot_more_close)
...@@ -279,6 +291,16 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter ...@@ -279,6 +291,16 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
ButterKnife.bind(this); ButterKnife.bind(this);
} }
// @Override
// public void onLoadMoreRequested() {
// if (mPage >= countPage) {
// mRecommendedRouteAdapter.loadMoreEnd();
// } else {
// mPage++;
// getLoadPopularTourListData(mPage);
// }
// }
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration { public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
......
...@@ -360,7 +360,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter> ...@@ -360,7 +360,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
if (platform.name().equals("WEIXIN_FAVORITE")) { if (platform.name().equals("WEIXIN_FAVORITE")) {
showToast(platform + " 收藏成功啦"); showToast( " 收藏成功啦");
} else { } else {
if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS if (platform != SHARE_MEDIA.MORE && platform != SHARE_MEDIA.SMS
...@@ -375,7 +375,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter> ...@@ -375,7 +375,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
&& platform != SHARE_MEDIA.GOOGLEPLUS && platform != SHARE_MEDIA.GOOGLEPLUS
&& platform != SHARE_MEDIA.YNOTE && platform != SHARE_MEDIA.YNOTE
&& platform != SHARE_MEDIA.EVERNOTE) { && platform != SHARE_MEDIA.EVERNOTE) {
showToast(platform + "分享成功啦"); showToast("分享成功啦");
} }
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
android:layout_height="@dimen/size_40" android:layout_height="@dimen/size_40"
android:layout_marginLeft="@dimen/size_10" android:layout_marginLeft="@dimen/size_10"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/shape_rv_textview_tourism_translucent" android:background="@drawable/shape_rv_textview_home_search"
android:gravity="center" android:gravity="center"
android:orientation="horizontal"> android:orientation="horizontal">
......
...@@ -42,4 +42,5 @@ dependencies { ...@@ -42,4 +42,5 @@ dependencies {
api project(':component_utils') api project(':component_utils')
api project(':component_control') api project(':component_control')
} }
...@@ -43,4 +43,5 @@ dependencies { ...@@ -43,4 +43,5 @@ dependencies {
api project(':component_resource') api project(':component_resource')
api project(':component_utils') api project(':component_utils')
} }
...@@ -25,12 +25,13 @@ ...@@ -25,12 +25,13 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_60" android:layout_height="@dimen/size_60"
android:paddingLeft="@dimen/size_15" android:paddingLeft="@dimen/size_5"
android:paddingRight="@dimen/size_5" android:paddingRight="@dimen/size_5"
android:gravity="center_vertical" android:gravity="center_vertical"
android:background="@color/colorWrite"> android:background="@color/colorWrite">
<LinearLayout <LinearLayout
android:visibility="gone"
android:id="@+id/ll_item_home" android:id="@+id/ll_item_home"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -28,4 +28,5 @@ dependencies { ...@@ -28,4 +28,5 @@ dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support.constraint:constraint-layout:1.1.3'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1' annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
api project(':RvWrapper') api project(':RvWrapper')
} }
...@@ -33,6 +33,7 @@ dependencies { ...@@ -33,6 +33,7 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation project(':component_dialog') implementation project(':component_dialog')
implementation project(':module_home') api project(':module_home')
implementation project(':module_tourism') implementation project(':module_tourism')
} }
...@@ -39,6 +39,7 @@ import com.ruiwenliu.wrapper.bean.UserInfoBean; ...@@ -39,6 +39,7 @@ import com.ruiwenliu.wrapper.bean.UserInfoBean;
import com.rv.member.presenter.MemberPresenter; import com.rv.member.presenter.MemberPresenter;
import com.rv.component.utils.RvCache; import com.rv.component.utils.RvCache;
import com.rv.component.utils.CacheEnum; import com.rv.component.utils.CacheEnum;
import com.rv.tourism.bean.BeanTourOrderAliPay;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
...@@ -191,6 +192,9 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -191,6 +192,9 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
case 3: case 3:
mPresenter.pay(MemberCenterActivity.this, api, (BeanTourOrderPay) result); mPresenter.pay(MemberCenterActivity.this, api, (BeanTourOrderPay) result);
break; break;
case 4:
mPresenter.aliPay(MemberCenterActivity.this, (BeanTourOrderAliPay) result);
break;
} }
} }
...@@ -367,17 +371,14 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -367,17 +371,14 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
int i = v.getId(); int i = v.getId();
if (i == R.id.iv_close) { if (i == R.id.iv_close) {
dismiss(); dismiss();
// createOrder(name, phone, 0);
} else if (i == R.id.ll_item_wechat) { } else if (i == R.id.ll_item_wechat) {
payType = 1; payType = 1;
helper.setChecked(R.id.rb_wechat, true); helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false); helper.setChecked(R.id.rb_alipay, false);
} else if (i == R.id.ll_item_alipay) { } else if (i == R.id.ll_item_alipay) {
showToast("该功能还没有开通!"); payType = 2 ;
// payType = 2 ; helper.setChecked(R.id.rb_wechat,false);
// helper.setChecked(R.id.rb_wechat,false); helper.setChecked(R.id.rb_alipay,true);
// helper.setChecked(R.id.rb_alipay,true);
} else if (i == R.id.tv_pay_immediately) { } else if (i == R.id.tv_pay_immediately) {
dismiss(); dismiss();
......
package com.rv.member.presenter; package com.rv.member.presenter;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import com.alibaba.android.arouter.launcher.ARouter;
import com.alipay.sdk.app.PayTask;
import com.frame.base.bus.PaymentFailedEvent;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.weight.ToastView; import com.ruiwenliu.wrapper.weight.ToastView;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.member.MemberCenterActivity;
import com.rv.member.bean.MemberListBean; import com.rv.member.bean.MemberListBean;
import com.rv.member.bean.BeanTourOrderPay; import com.rv.member.bean.BeanTourOrderPay;
import com.rv.member.bean.MemberOrderBean; import com.rv.member.bean.MemberOrderBean;
import com.rv.member.bean.MemberOrderPostBodyBean; import com.rv.member.bean.MemberOrderPostBodyBean;
import com.rv.member.bean.PayBodyBean; import com.rv.member.bean.PayBodyBean;
import com.rv.tourism.api.TourismApi;
import com.rv.tourism.bean.BeanTourOrderAliPay;
import com.rv.tourism.other.TravelerConfirmOrderActivity;
import com.tencent.mm.opensdk.modelpay.PayReq; import com.tencent.mm.opensdk.modelpay.PayReq;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
...@@ -20,6 +36,7 @@ import java.util.LinkedHashMap; ...@@ -20,6 +36,7 @@ import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
public class MemberPresenter extends CommonPresenter { public class MemberPresenter extends CommonPresenter {
private static final int SDK_ALI_PAY_FLAG = 11;
public void pay(Context context, IWXAPI api, BeanTourOrderPay data) { public void pay(Context context, IWXAPI api, BeanTourOrderPay data) {
try { try {
...@@ -54,7 +71,57 @@ public class MemberPresenter extends CommonPresenter { ...@@ -54,7 +71,57 @@ public class MemberPresenter extends CommonPresenter {
Map<String, Object> headMap = new LinkedHashMap<>(); Map<String, Object> headMap = new LinkedHashMap<>();
if (OkGoUtil.getToken() != null) if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
if (payWay == 1) {
postBodyData(RvFrameConfig.VEHICLE_ORDER, 3, ApiConfig.COMMIT_ORDER_PAY, BeanTourOrderPay.class, new PayBodyBean(orderNo, payWay, type), headMap, true); postBodyData(RvFrameConfig.VEHICLE_ORDER, 3, ApiConfig.COMMIT_ORDER_PAY, BeanTourOrderPay.class, new PayBodyBean(orderNo, payWay, type), headMap, true);
} else {
postBodyData(RvFrameConfig.VEHICLE_ORDER, 4, TourismApi.COMMIT_ORDER_PAY, BeanTourOrderAliPay.class, new PayBodyBean(orderNo, payWay, type), headMap, true);
} }
}
public void aliPay(final MemberCenterActivity memberCenterActivity, final BeanTourOrderAliPay bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(memberCenterActivity);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
RxBus.post(new PaymentSuccessfulEvent());
} else if ("6001".equals(resultStatus)) {
RxBus.post(new PaymentFailedEvent());
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
// showToast(payResult.toString());
}
break;
}
}
}
};
} }
...@@ -34,5 +34,6 @@ dependencies { ...@@ -34,5 +34,6 @@ dependencies {
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
api "com.google.code.gson:gson:$rootProject.ext.gsonVersion" api "com.google.code.gson:gson:$rootProject.ext.gsonVersion"
implementation project(':RvWrapper') implementation project(':RvWrapper')
implementation project(':module_home') api project(':module_home')
} }
...@@ -35,5 +35,6 @@ dependencies { ...@@ -35,5 +35,6 @@ dependencies {
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation project(':module_home') api project(':module_home')
} }
...@@ -41,4 +41,5 @@ dependencies { ...@@ -41,4 +41,5 @@ dependencies {
api project(':component_resource') api project(':component_resource')
api project(':component_utils') api project(':component_utils')
} }
...@@ -30,4 +30,5 @@ dependencies { ...@@ -30,4 +30,5 @@ dependencies {
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.liulishuo.filedownloader:library:1.6.8' implementation 'com.liulishuo.filedownloader:library:1.6.8'
implementation project(':RvWrapper') implementation project(':RvWrapper')
} }
...@@ -40,5 +40,5 @@ dependencies { ...@@ -40,5 +40,5 @@ dependencies {
api project(':RvWrapper') api project(':RvWrapper')
api project(':component_resource') api project(':component_resource')
api project(':component_utils') api project(':component_utils')
implementation project(':module_home') api project(':module_home')
} }
...@@ -17,7 +17,9 @@ import com.frame.base.bus.RxBus; ...@@ -17,7 +17,9 @@ import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.bean.BeanUserInfo;
import com.ruiwenliu.wrapper.util.RxJavaManager; import com.ruiwenliu.wrapper.util.RxJavaManager;
import com.ruiwenliu.wrapper.util.listener.TextChangedListener;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.Cookie; import com.rv.component.utils.Cookie;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
...@@ -81,7 +83,15 @@ public class SetPayPwdActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -81,7 +83,15 @@ public class SetPayPwdActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("设置支付密码"); titleView.setTitle("设置支付密码");
editListener(edtPhone);
editListener(edtIdentifyCode);
initRxbus(); initRxbus();
BeanUserInfo.UserInfo userInfo = getUserInfo();
if (userInfo !=null){
edtPhone.setText(userInfo.getUsername());
edtPhone.setEnabled(false);
}
} }
private void initRxbus() { private void initRxbus() {
...@@ -95,6 +105,27 @@ public class SetPayPwdActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -95,6 +105,27 @@ public class SetPayPwdActivity extends BaseStatusActivity<CommonPresenter> {
}); });
} }
/**
* 文本输入监听
*
* @param editText
*/
private void editListener(final EditText editText) {
editText.addTextChangedListener(new TextChangedListener() {
@Override
public void afterTextChanged(Editable s) {
super.afterTextChanged(s);
if (getPhone().length() > 0 && getCode().length() > 0) {
btnNext.setEnabled(true);
btnNext.setBackground(getResources().getDrawable(R.drawable.bg_next_btn_able));
} else {
btnNext.setEnabled(false);
btnNext.setBackground(getResources().getDrawable(R.drawable.bg_next_btn_unable));
}
}
});
}
private TextWatcher watcher = new TextWatcher() { private TextWatcher watcher = new TextWatcher() {
@Override @Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
......
...@@ -2,10 +2,13 @@ package com.xxrv.wallet.activity; ...@@ -2,10 +2,13 @@ package com.xxrv.wallet.activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.bus.IDCardCertificationEvent;
import com.frame.base.bus.Observer; import com.frame.base.bus.Observer;
import com.frame.base.bus.RxBus; import com.frame.base.bus.RxBus;
import com.frame.base.bus.WithdrawSuccessEvent; import com.frame.base.bus.WithdrawSuccessEvent;
...@@ -13,7 +16,15 @@ import com.frame.base.url.Constance; ...@@ -13,7 +16,15 @@ import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.bean.BeanUserInfo;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.dialog.VerifiedTipsDialog;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.ui.main.home.ConfirmOrderActivity;
import com.rv.home.rv.module.ui.main.home.dialog.TipsDialog;
import com.rv.home.rv.module.ui.main.home.order.CancelTheTripActivity;
import com.rv.home.rv.module.ui.main.home.order.bean.CancelTheTripBean;
import com.xxrv.wallet.R; import com.xxrv.wallet.R;
import com.xxrv.wallet.R2; import com.xxrv.wallet.R2;
import com.xxrv.wallet.api.WalletApi; import com.xxrv.wallet.api.WalletApi;
...@@ -47,6 +58,8 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -47,6 +58,8 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
private String balance; private String balance;
private BeanUserInfo.UserInfo userInfo;
@Override @Override
protected int setLayout() { protected int setLayout() {
...@@ -57,6 +70,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -57,6 +70,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false); showTitle(false);
initRxbus(); initRxbus();
userInfo = getUserInfo();
} }
private void initRxbus() { private void initRxbus() {
...@@ -65,7 +79,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -65,7 +79,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
.subscribe(new Observer<SetPasswordSuccessEvent>(disposable) { .subscribe(new Observer<SetPasswordSuccessEvent>(disposable) {
@Override @Override
public void onNext(SetPasswordSuccessEvent event) { public void onNext(SetPasswordSuccessEvent event) {
startActivity(WithdrawActivity.getIntent(mActivity,balance)); startActivity(WithdrawActivity.getIntent(mActivity, balance));
} }
}); });
...@@ -77,6 +91,15 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -77,6 +91,15 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
getWalletList(); getWalletList();
} }
}); });
RxBus.tObservable(IDCardCertificationEvent.class)
.observeOn(Schedulers.newThread())
.subscribe(new Observer<IDCardCertificationEvent>(disposable) {
@Override
public void onNext(IDCardCertificationEvent event) {
getCheckSetPwd();
}
});
} }
@Override @Override
...@@ -86,13 +109,12 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -86,13 +109,12 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
setWalletData((WalletBean) result); setWalletData((WalletBean) result);
break; break;
case 1: case 1:
setCheckPwd((WalletCheckPwdBean)result); setCheckPwd((WalletCheckPwdBean) result);
break; break;
} }
} }
private void setWalletData(WalletBean bean) { private void setWalletData(WalletBean bean) {
if (bean != null && bean.getData() != null) { if (bean != null && bean.getData() != null) {
balance = bean.getData().getBalance(); balance = bean.getData().getBalance();
...@@ -129,7 +151,33 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -129,7 +151,33 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
finish(); finish();
} else if (id == R.id.tv_item_withdraw) { } else if (id == R.id.tv_item_withdraw) {
//提现 //提现
if (userInfo != null) { ////实名认证状态:0-未认证,1-已认证
if (0==userInfo.getCertificationStatus()) {
new VerifiedTipsDialog(mActivity) {
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.tv_ok) {
ARouter.getInstance()
.build(Constance.ACTIVITY_URL_IDCARDCERTIFICATION)
.navigation();
dismiss();
} else if (id == R.id.tv_cancel) {
dismiss();
}
}
}, R.id.tv_ok, R.id.tv_cancel);
}
}.show();
} else {
getCheckSetPwd(); getCheckSetPwd();
}
}
} else if (id == R.id.rl_item_consumer_details) { } else if (id == R.id.rl_item_consumer_details) {
startActivity(new Intent(getApplicationContext(), ConsumeDetailActivity.class)); startActivity(new Intent(getApplicationContext(), ConsumeDetailActivity.class));
...@@ -156,10 +204,10 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -156,10 +204,10 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
private void setCheckPwd(WalletCheckPwdBean bean) { private void setCheckPwd(WalletCheckPwdBean bean) {
if (bean !=null){ if (bean != null) {
if (bean.isData()){ //true-设置过;false-没有 if (bean.isData()) { //true-设置过;false-没有
startActivity(WithdrawActivity.getIntent(mActivity,balance)); startActivity(WithdrawActivity.getIntent(mActivity, balance));
}else { } else {
startActivity(SetPayPwdActivity.getIntent(mActivity)); startActivity(SetPayPwdActivity.getIntent(mActivity));
} }
} }
......
...@@ -19,11 +19,13 @@ ...@@ -19,11 +19,13 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
android:maxLength="11" android:maxLength="11"
android:enabled="true"
android:background="@color/white" android:background="@color/white"
android:gravity="left|center_vertical" android:gravity="left|center_vertical"
android:hint="请输入该账号注册的手机号" android:hint="请输入该账号注册的手机号"
android:imeOptions="actionSend" android:imeOptions="actionSend"
android:inputType="phone" android:inputType="phone"
android:textColor="@color/colorMain"
android:textColorHint="@color/colorGray" android:textColorHint="@color/colorGray"
android:textSize="@dimen/sp_14" /> android:textSize="@dimen/sp_14" />
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
android:orientation="horizontal" android:orientation="horizontal"
android:weightSum="6"> android:weightSum="6">
<TextView <EditText
android:id="@+id/edt_pwd1" android:id="@+id/edt_pwd1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:gravity="center" android:gravity="center"
android:inputType="numberPassword|textPassword" /> android:inputType="numberPassword|textPassword" />
<TextView <EditText
android:id="@+id/edt_pwd2" android:id="@+id/edt_pwd2"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
android:gravity="center" android:gravity="center"
android:inputType="numberPassword|textPassword" /> android:inputType="numberPassword|textPassword" />
<TextView <EditText
android:id="@+id/edt_pwd3" android:id="@+id/edt_pwd3"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
android:gravity="center" android:gravity="center"
android:inputType="numberPassword|textPassword" /> android:inputType="numberPassword|textPassword" />
<TextView <EditText
android:id="@+id/edt_pwd4" android:id="@+id/edt_pwd4"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
android:gravity="center" android:gravity="center"
android:inputType="numberPassword|textPassword" /> android:inputType="numberPassword|textPassword" />
<TextView <EditText
android:id="@+id/edt_pwd5" android:id="@+id/edt_pwd5"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
android:gravity="center" android:gravity="center"
android:inputType="numberPassword|textPassword" /> android:inputType="numberPassword|textPassword" />
<TextView <EditText
android:id="@+id/edt_pwd6" android:id="@+id/edt_pwd6"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
......
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 to comment