Commit aa1f19b1 by wukun

0325

parent b4125274
Showing with 908 additions and 79 deletions
......@@ -60,5 +60,10 @@ public interface SettingContract {
* 跳转到问题反馈.
*/
public abstract void dumpToFeed();
/**
* 用户协议
*/
public abstract void protocol();
}
}
......@@ -11,8 +11,10 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.api.ApiFactory;
import com.dayu.bigfish.ui.AboutUsActivity;
import com.dayu.bigfish.ui.FeedBackActivity;
import com.dayu.common.BaseApplication;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity;
import com.dayu.usercenter.ui.activity.SmsLoginActivity;
import com.dayu.utils.AppManager;
......@@ -149,9 +151,9 @@ public class SettingPresenter extends SettingContract.Presenter {
mView.hideDialog();
mView.showToast(R.string.clear_success);
});
DataCleanManager.deleteFolderFile(Environment.getExternalStorageDirectory() + "/Android/data/com.dayu.bigfish/cache", false);
DataCleanManager.deleteFolderFile(BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/Android/data/com.dayu.bigfish/cache", false);
// MobclickAgent.onEvent(MyApplication.getContext(), "sure_clear_cach");
File sdDir = Environment.getExternalStorageDirectory();
File sdDir = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File dir = new File(sdDir + "/.dayu/");
CommonUtils.deleteFiles(dir);
}
......@@ -187,6 +189,22 @@ public class SettingPresenter extends SettingContract.Presenter {
// MobclickAgent.onEvent(MyApplication.getContext(), "feed_back");
}
@Override
public void protocol() {
UserInfo info = UserManager.getInstance().getUser();
UserApiFactory.getEngineerInfo(Integer.parseInt(info.getAccountId())).subscribe(baseObserver(data -> {
String protocolUrl = data.getProtocolUrl();
Bundle bundle = new Bundle();
bundle.putString(Constants.URL, protocolUrl);
bundle.putString(Constants.TITLE, "用户协议");
mView.startActivity(CommeWebViewActivity.class,bundle);
}));
}
public void dumpToPrivacy() {
Constants.isPrivacy = true;
Bundle bundle = new Bundle();
......
......@@ -414,7 +414,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
MPermissionUtils.requestPermissionsResult(mActivity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@Override
public void onPermissionGranted() {
File sdDir = Environment.getExternalStorageDirectory();
File sdDir = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file;
file = new File(sdDir + "/.dayu/");
if (!file.exists()) {
......
......@@ -22,6 +22,7 @@ import com.dayu.common.Constants;
import com.dayu.event.DownloadBean;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.AppUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UIUtils;
import com.dayu.widgets.ChangeEnvDialog;
import com.dayu.widgets.CustomDialog;
......@@ -62,8 +63,10 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
int status;
if (mBind.receiveOrder.switchButton) {
status = 2;
ToastUtils.showShortToast("接单开关已关闭,暂停接单");
} else {
status = 1;
ToastUtils.showShortToast("接单开关已开启,开始接单");
}
JSONObject jsonObject = new JSONObject();
try {
......@@ -120,7 +123,7 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, info.getUpgradePrompt(),
(dialog1, confirm) -> {
if (confirm) {
File sdDir = Environment.getExternalStorageDirectory();
File sdDir = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file;
file = new File(sdDir + "/.dayu/");
if (!file.exists()) {
......
......@@ -94,6 +94,34 @@
<TextView style="@style/line" />
<RelativeLayout
android:id="@+id/set_protocol"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="@color/cl_white"
android:onClick="@{()->presenter.protocol()}">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="13.3dp"
android:text="用户协议"
android:textColor="@color/cl_home_title_text_color"
android:textSize="14.7sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="13.3dp"
android:src="@mipmap/list_more" />
</RelativeLayout>
<TextView style="@style/line" />
<RelativeLayout
android:id="@+id/set_clear_huancun"
android:layout_width="match_parent"
android:layout_height="54dp"
......
......@@ -75,7 +75,7 @@ dependencies {
api project(':locationComponent')
api project(':pickerview')
// api 'cn.jzvd:jiaozivideoplayer:7.2.4'
api 'cn.jzvd:jiaozivideoplayer:7.1.0'
api 'cn.jzvd:jiaozivideoplayer:7.7.0'
// api 'cn.jzvd:jiaozivideoplayer:7.3.0'
// api 'com.google.android.exoplayer:exoplayer:2.9.6'
api 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
......
......@@ -12,7 +12,9 @@ import com.dayu.base.api.protocol.RegisterErrorBean;
import com.dayu.base.api.protocol.TrackId;
import com.dayu.base.api.protocol.TreeAddressBean;
import com.dayu.common.Constants;
import com.dayu.event.CheckPayData;
import com.dayu.event.Notice;
import com.dayu.event.PayData;
import java.util.List;
......@@ -201,4 +203,16 @@ public interface APIService {
*/
@GET(Constants.API_7100 + "/auditInfo/accountId/{accountId}")
Observable<BaseResponse<RegisterErrorBean>> getRegisterError(@Path("accountId") int accountId);
/**
* checkPay
*/
@POST(Constants.API_7900 + "/courses/checkPay")
Observable<BaseResponse<Boolean>> checkPay(@Body CheckPayData data);
/**
* pay
*/
@POST(Constants.API_7900 + "/courses/pay")
Observable<BaseResponse<Boolean>> pay(@Body PayData data);
}
......@@ -49,7 +49,7 @@ public class CameraActivity extends AppCompatActivity {
}
jCameraView = (JCameraView) findViewById(R.id.jcameraview);
//设置视频保存路径
jCameraView.setSaveVideoPath(Environment.getExternalStorageDirectory().getPath() + File.separator + VIDEO_PATH);
jCameraView.setSaveVideoPath(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath() + File.separator + VIDEO_PATH);
jCameraView.setMediaQuality(JCameraView.MEDIA_QUALITY_HIGH);
if (getIntent().hasExtra(Constants.ONLY_VIDEO)) {
......@@ -84,7 +84,7 @@ public class CameraActivity extends AppCompatActivity {
jCameraView.setJCameraLisenter(new JCameraListener() {
@Override
public void captureSuccess(Bitmap bitmap) {
String path = FileUtil.saveBitmap(VIDEO_PATH, bitmap);
String path = FileUtil.saveBitmap(VIDEO_PATH, bitmap, getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath());
Intent intent = new Intent();
intent.putExtra("imgPath", path);
setResult(Constants.CAMERA_IMG, intent);
......@@ -94,7 +94,7 @@ public class CameraActivity extends AppCompatActivity {
@Override
public void recordSuccess(String url, Bitmap firstFrame) {
//获取视频路径
String path = FileUtil.saveBitmap(VIDEO_PATH, firstFrame);
String path = FileUtil.saveBitmap(VIDEO_PATH, firstFrame,getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).getPath());
final File file = new File(url);
if (file.exists())
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(file.getPath()))));
......
......@@ -81,7 +81,7 @@ public class VideoPreviewActivty extends DataBindingActivity<AcitivityPreviewBin
@Override
public Object instantiateItem(ViewGroup container, int position) {
JzvdStd jzvdStd = new JzvdStd(mContext);
GlideImageLoader.load(mContext, jzvdStd.thumbImageView,listViews.get(position),-1);
GlideImageLoader.load(mContext, jzvdStd.posterImageView,listViews.get(position),-1);
jzvdStd.setUp(listViews.get(position),"");
container.addView(jzvdStd);
return jzvdStd;
......
package com.dayu.utils;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
......@@ -10,6 +9,8 @@ import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import com.dayu.common.BaseApplication;
import java.io.File;
import java.io.FileOutputStream;
......@@ -113,8 +114,8 @@ public class BitmapUtils {
if (bmp == null)
return null;
// 判断是否可以对SDcard进行操作
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // 获取SDCard指定目录下
File sdDir = Environment.getExternalStorageDirectory();
// if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { // 获取SDCard指定目录下
File sdDir = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
File file;
file = new File(sdDir + "/.dayu/");
if (!file.exists()) {
......@@ -133,7 +134,7 @@ public class BitmapUtils {
} catch (Exception e) {
e.printStackTrace();
}
}
// }
return null;
}
......
......@@ -353,7 +353,7 @@ public class CommonUtils {
// jzvdStd.thumbImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
// GlideImageLoader.loadFit(context, jzvdStd.thumbImageView,url, R.drawable.icon_video_default);
// url = url.replace("http:","https:")+"?x-oss-process=video/snapshot,t_0,f_jpg,ar_auto";
GlideImageLoader.load(context, jzvdStd.thumbImageView, url, R.drawable.icon_video_default);
GlideImageLoader.load(context, jzvdStd.posterImageView, url, R.drawable.icon_video_default);
}
......
......@@ -161,7 +161,7 @@ public class GlideImageLoader {
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
File file;
if (sdCardExist) {
file = new File(Environment.getExternalStorageDirectory() + "/dayu/");
file = new File(activity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/");
if (!file.exists()) {
file.mkdirs();
}
......
......@@ -227,6 +227,6 @@ public class JZMediaIjk extends JZMediaInterface implements IMediaPlayer.OnPrepa
@Override
public void onCompletion(IMediaPlayer iMediaPlayer) {
handler.post(() -> jzvd.onAutoCompletion());
handler.post(() -> jzvd.onStateAutoComplete());
}
}
......@@ -18,13 +18,12 @@ import java.io.IOException;
*/
public class FileUtil {
private static final String TAG = "CJT";
private static final File parentPath = Environment.getExternalStorageDirectory();
private static String storagePath = "";
private static String DST_FOLDER_NAME = "JCamera";
private static String initPath() {
private static String initPath(String basePath) {
if (storagePath.equals("")) {
storagePath = parentPath.getAbsolutePath() + File.separator + DST_FOLDER_NAME;
storagePath = basePath + File.separator + DST_FOLDER_NAME;
File f = new File(storagePath);
if (!f.exists()) {
f.mkdir();
......@@ -33,9 +32,9 @@ public class FileUtil {
return storagePath;
}
public static String saveBitmap(String dir, Bitmap b) {
public static String saveBitmap(String dir, Bitmap b,String basePath) {
DST_FOLDER_NAME = dir;
String path = initPath();
String path = initPath(basePath);
long dataTake = System.currentTimeMillis();
String jpegName = path + File.separator + "picture_" + dataTake + ".jpg";
try {
......
......@@ -8,12 +8,9 @@ import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.databinding.ItemCommonLearnBinding;
import com.dayu.learncenter.presenter.common_learn.CommonLearnPresenter;
import com.dayu.utils.CommonUtils;
import com.dayu.widgets.JZMediaIjk;
import com.dayu.widgets.MyJzvdStd;
import com.umeng.analytics.MobclickAgent;
import cn.jzvd.JzvdStd;
public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBinding> {
private int type; //1.全部 2.已学习 3.已发布
private CommonLearnPresenter mPresenter;
......@@ -63,7 +60,8 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi
holder.tvDisable.setVisibility(type == 3 && item.getStatus() != 1 ? View.VISIBLE : View.GONE);
// holder.rlCover.setVisibility(item.isShowCover()? View.VISIBLE : View.GONE);
holder.jzVideo.setUp(item.getUrl(), "", JzvdStd.SCREEN_NORMAL, JZMediaIjk.class);
// holder.jzVideo.setUp(item.getUrl(), "", JzvdStd.SCREEN_NORMAL, JZMediaIjk.class);
holder.jzVideo.setUp(item.getUrl(), "");
CommonUtils.setVideoThumb(mContext, holder.jzVideo, item.getUrl());
holder.jzVideo.setPlayCallBack(new MyJzvdStd.PlayCallBack() {
@Override
......@@ -98,7 +96,10 @@ public class LearnAdapter extends CoreAdapter<CommonLearnBean, ItemCommonLearnBi
}
public void startVideo() {
mHolder.jzVideo.startVideo();
// mHolder.jzVideo.startVideo();
mHolder.rlClick.setVisibility(View.GONE);
mHolder.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mHolder.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
}
}
......@@ -12,10 +12,8 @@ import com.dayu.learncenter.api.bean.KnowledgeListBean;
import com.dayu.learncenter.api.bean.LearnTabBean;
import com.dayu.learncenter.api.bean.LiveBackVideosBean;
import com.dayu.learncenter.api.bean.ShareRecordBean;
import com.dayu.learncenter.api.data.CheckPayData;
import com.dayu.learncenter.api.data.EditCourseData;
import com.dayu.learncenter.api.data.LiveData;
import com.dayu.learncenter.api.data.PayData;
import com.dayu.learncenter.api.data.PubCourseData;
import com.dayu.learncenter.api.data.StudyCourseData;
......@@ -146,16 +144,8 @@ public interface LearnService {
*/
@POST(Constants.API_7900 + "/live/signType")
Observable<BaseResponse<Boolean>> sendLiveData(@Body LiveData data);
/**
* checkPay
*/
@POST(Constants.API_7900 + "/courses/checkPay")
Observable<BaseResponse<Boolean>> checkPay(@Body CheckPayData data);
/**
* pay
*/
@POST(Constants.API_7900 + "/courses/pay")
Observable<BaseResponse<Boolean>> pay(@Body PayData data);
/**
......
......@@ -4,15 +4,16 @@ import android.text.TextUtils;
import androidx.databinding.ObservableField;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.common.Constants;
import com.dayu.event.CheckPayData;
import com.dayu.event.UserInfo;
import com.dayu.learncenter.api.LearnService;
import com.dayu.learncenter.api.bean.CommonLearnBean;
import com.dayu.learncenter.api.data.CheckPayData;
import com.dayu.learncenter.api.data.PayData;
import com.dayu.event.PayData;
import com.dayu.learncenter.api.data.StudyCourseData;
import com.dayu.learncenter.event.RefreshLeanTabEvent;
import com.dayu.utils.UserManager;
......@@ -111,7 +112,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter {
public void checkPay(CommonLearnBean item,boolean isVideo){
CheckPayData checkPayData = new CheckPayData(item.getId(),mUserId);
Api.getService(LearnService.class).checkPay(checkPayData).compose(Api.applySchedulers())
Api.getService(APIService.class).checkPay(checkPayData).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> {
if (success){
if (isVideo){
......@@ -140,7 +141,7 @@ public class CommonLearnPresenter extends CommonLearnContract.Presenter {
public void pay(CommonLearnBean item, boolean isVideo) {
PayData payData = new PayData(item.getId(),mUserId,1);
Api.getService(LearnService.class).pay(payData).compose(Api.applySchedulers())
Api.getService(APIService.class).pay(payData).compose(Api.applySchedulers())
.subscribe(baseObserver(success -> {
if (success){
if (isVideo){
......
......@@ -48,9 +48,9 @@ public class VideoPlayActivity extends BaseActivity<SImplePresenter, ActivityVid
mBind.ivBack.setOnClickListener(v->dumpBack());
if (!TextUtils.isEmpty(videoUrl)) {
mBind.jzVideo.setUp(videoUrl, "");
mBind.jzVideo.thumbImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
mBind.jzVideo.posterImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
GlideImageLoader.loadNoDeal(this, mBind.jzVideo.thumbImageView,
GlideImageLoader.loadNoDeal(this, mBind.jzVideo.posterImageView,
imgUrl, R.drawable.icon_video_default);
mBind.jzVideo.startVideo();
}
......
......@@ -36,7 +36,6 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd;
public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, FragmentCommonLearnBinding>
implements CommonLearnContract.View {
......@@ -142,7 +141,7 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
if (jzvd != null && Jzvd.CURRENT_JZVD != null &&
jzvd.jzDataSource.containsTheUrl(Jzvd.CURRENT_JZVD.jzDataSource.getCurrentUrl())) {
if (Jzvd.CURRENT_JZVD != null && Jzvd.CURRENT_JZVD.screen != Jzvd.SCREEN_FULLSCREEN) {
Jzvd.goOnPlayOnPause();
// Jzvd.goOnPlayOnPause();
Jzvd.releaseAllVideos();
}
}
......@@ -150,10 +149,11 @@ public class CommonLearnFragment extends BaseFragment<CommonLearnPresenter, Frag
});
}
@Override
public void onPause() {
super.onPause();
JzvdStd.goOnPlayOnPause();
Jzvd.releaseAllVideos();
}
@Override
......
......@@ -55,7 +55,8 @@
android:gravity="center"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:text="发布时间 " />
android:text="发布时间 "
android:visibility="gone" />
<TextView
android:id="@+id/tv_disable"
......
......@@ -238,7 +238,7 @@ public class TCUtils {
if ("primary".equalsIgnoreCase(type)) {
// FIXBUG:Android10此处Environment.getExternalStorageDirectory()不可以修改,不然从content://映射的路径则不正确
return Environment.getExternalStorageDirectory() + "/" + split[1];
return context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/" + split[1];
}
// TODO handle non-primary volumes
......
......@@ -119,7 +119,7 @@ public class ProcessOrderPresenter extends ProcessOrderContract.Presenter {
}
mOrderField.set(mOrderInfo);
mView.initPhotoView(mImages);
mPath = Environment.getExternalStorageDirectory() + "/dayu/image/" + mOrderId + "signature.png";
mPath = BaseApplication.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/" + mOrderId + "signature.png";
}
@Override
......
......@@ -199,7 +199,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)+ "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
......
......@@ -262,7 +262,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
mBind.jzVideo.setVisibility(View.VISIBLE);
mBind.ivExample.setVisibility(View.GONE);
mBind.jzVideo.setUp(example, "");
GlideImageLoader.load(this, mBind.jzVideo.thumbImageView, example, -1);
GlideImageLoader.load(this, mBind.jzVideo.posterImageView, example, -1);
} else {
mBind.jzVideo.setVisibility(View.GONE);
......
......@@ -134,6 +134,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
//工单状态:1未接单2未预约3已预约4进行中5已完成6已取消7订单关闭
//工单子状态:3已预约1未出发|3已预约2已出发|4进行中3无SOP处理|4进行中4SOP未完成|4进行中5SOP已完成
String time = "";
holder.itemTextDetail.setVisibility(View.GONE);
switch (item.getStatus()) {
case 1: //待接单
holder.rlItemEnd.setVisibility(View.GONE);
......@@ -150,6 +151,7 @@ public class OrderAdapter extends CoreAdapter<Order, FragmentOrderdoingItemBindi
mOnChildClickListener.OnChildClick(holder.itemTextPhone, this, position);
}
});
holder.itemTextDetail.setVisibility(View.VISIBLE);
holder.tvOrderTime.setText("预约时间");
time = item.getAppointmentTime();
setTimeStatus(holder, item, time);
......
......@@ -65,31 +65,35 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() {
@Override
public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) {
OrderApiFactory.verifyOrder(item.getId() + "", mUserId).subscribe(mPresenter.baseObserver(new Consumer<BaseResponse<String>>() {
@Override
public void accept(BaseResponse<String> data) {
if (data.isSuccess()) {
if (4 == item.getSource() && item.getReceiveOrderCommission() > 0) {
showCashDialog(item.getReceiveOrderCommission(), mUserId, item.getId(), item.getAppointmentTime());
} else {
if (7 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
}
}
} else {
showVerifyDialog(data.getSubCode(), data.getMsg(), data.getData());
}
}
}, responeThrowable -> {
}));
goToDetail(item);
}
});
showRegisterView();
}
private void goToDetail(Order item) {
OrderApiFactory.verifyOrder(item.getId() + "", mUserId).subscribe(mPresenter.baseObserver(new Consumer<BaseResponse<String>>() {
@Override
public void accept(BaseResponse<String> data) {
if (data.isSuccess()) {
if (4 == item.getSource() && item.getReceiveOrderCommission() > 0) {
showCashDialog(item.getReceiveOrderCommission(), mUserId, item.getId(), item.getAppointmentTime());
} else {
if (7 == item.getSource()){
mPresenter.dumpDetailClock(item.getId());
}else{
mPresenter.dumpDetail(item.getId());
}
}
} else {
showVerifyDialog(data.getSubCode(), data.getMsg(), data.getData());
}
}
}, responeThrowable -> {
}));
}
@Override
public void setPresenter() {
mBind.setPresenter(mPresenter);
......@@ -136,6 +140,9 @@ public class OrderReceivingFragment extends BaseFragment<ReceivingPresenter, Fra
}, responeThrowable -> {
}));
}else if(view.getId() == R.id.item_text_detail){
Order order = (Order) adapter.getItem(position);
goToDetail(order);
}
});
}
......
......@@ -316,6 +316,18 @@
android:orientation="horizontal">
<TextView
android:id="@+id/item_text_detail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_weight="1"
android:gravity="center"
android:text="了解详情"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="@dimen/sp_15"
android:visibility="gone"/>
<TextView
android:id="@+id/tv_take_order"
android:layout_width="160dp"
android:layout_height="35dp"
......@@ -348,6 +360,7 @@
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<TextView
android:id="@+id/item_text_phone"
android:layout_width="0dp"
......
......@@ -4,12 +4,16 @@ import com.dayu.base.api.protocol.AddressInfoBean;
import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.common.Constants;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.event.AddressData;
import com.dayu.usercenter.model.AddUserCardData;
import com.dayu.usercenter.model.ApplyLicenceData;
import com.dayu.usercenter.model.ApplyWithdrawData;
import com.dayu.usercenter.model.BusinessDetailData;
import com.dayu.usercenter.model.ChangeNickData;
import com.dayu.usercenter.model.CoursesVideoData;
import com.dayu.usercenter.model.EditBankData;
import com.dayu.usercenter.model.FinishedStudyData;
import com.dayu.usercenter.model.LicencePayData;
import com.dayu.usercenter.model.SaveSceneData;
import com.dayu.usercenter.model.UploadSelfLicenceData;
......@@ -416,4 +420,44 @@ public interface UserService2 {
@POST(Constants.API_7100 + "/engineerCertificate/pay")
Observable<BaseResponse<Boolean>> licencePay(@Body LicencePayData saveBean);
/**
* 更改接单状态.
*/
@PUT(Constants.API_7100+"/engineerInfo/accountId")
Observable<BaseResponse<Boolean>> changeWorkStatus(@Body RequestBody body);
/**
* 获取接单状态.
*/
@GET(Constants.API_7100+"/engineerInfo/mobile/accountId/{id}")
Observable<BaseResponse<UserInfo>> getWorkStatus(@Path("id") int id);
/**
* 商家详情
* @param id
* @param accountId
* @return
*/
@GET(Constants.API_7100+"/serviceProviderInfo/providerInfo/app/id/{id}/accountId/{accountId}")
Observable<BaseResponse<BusinessDetailData>> getBusinessDetailInfo(@Path("id") int id, @Path("accountId") int accountId);
/**
* 申请商家认证
* @param finishedStudyData
* @return
*/
@POST(Constants.API_7100 + "/licenceRelationEngineer/finishedStudyApply")
Observable<BaseResponse<Boolean>> finishedStudyApply(@Body FinishedStudyData finishedStudyData);
/**
* 学习视频
* @return
*/
@GET(Constants.API_7900+"/courses/providerCourses")
Observable<BaseResponse<BasePageBean<CoursesVideoData>>> getVideo(@Query("providerId") int providerId,
@Query("engineerId") int engineerId,
@Query("page") int page,
@Query("pageSize") int pageSize);
}
......@@ -42,6 +42,16 @@ public class EngineerInfo extends BaseObservable implements Serializable {
private String incomeUrl;
private String kfUrl;
private String protocolUrl;
public String getProtocolUrl() {
return protocolUrl;
}
public void setProtocolUrl(String protocolUrl) {
this.protocolUrl = protocolUrl;
}
public String getIncomeUrl() {
return incomeUrl;
}
......
package com.dayu.usercenter.model;
import java.util.ArrayList;
public class BusinessDetailData {
private String logo;
private String name;
private String briefIntroduction;
private int licenceStatus;
private ArrayList<Spudata> spuList;
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBriefIntroduction() {
return briefIntroduction;
}
public void setBriefIntroduction(String briefIntroduction) {
this.briefIntroduction = briefIntroduction;
}
public int getLicenceStatus() {
return licenceStatus;
}
public void setLicenceStatus(int licenceStatus) {
this.licenceStatus = licenceStatus;
}
public ArrayList<Spudata> getSpuList() {
return spuList;
}
public void setSpuList(ArrayList<Spudata> spuList) {
this.spuList = spuList;
}
public class Spudata{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}
package com.dayu.usercenter.model;
public class CoursesVideoData {
private int id;
private String name;
private String url;
private int learners;
private int playStatus;
private Object points;
private String price;
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getLearners() {
return learners;
}
public void setLearners(int learners) {
this.learners = learners;
}
public int getPlayStatus() {
return playStatus;
}
public void setPlayStatus(int playStatus) {
this.playStatus = playStatus;
}
public Object getPoints() {
return points;
}
public void setPoints(Object points) {
this.points = points;
}
}
package com.dayu.usercenter.model;
public class FinishedStudyData {
private String accountId;
private String providerId;
private String accountMobile;
private String accountName;
public FinishedStudyData(String accountId, String providerId, String accountMobile, String accountName) {
this.accountId = accountId;
this.providerId = providerId;
this.accountMobile = accountMobile;
this.accountName = accountName;
}
}
package com.dayu.usercenter.presenter.businessdetail;
import com.dayu.base.ui.presenter.BasePresenter;
import com.dayu.common.BaseView;
public interface BusinessDetailContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
}
}
package com.dayu.usercenter.presenter.businessdetail;
public class BusinessDetailPresenter extends BusinessDetailContract.Presenter{
@Override
public void onAttached() {
}
}
package com.dayu.usercenter.ui.activity;
import android.view.View;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.APIService;
import com.dayu.base.api.Api;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.event.CheckPayData;
import com.dayu.event.PayData;
import com.dayu.event.UserInfo;
import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserService2;
import com.dayu.usercenter.databinding.ActivityBusinessDetailBinding;
import com.dayu.usercenter.model.BusinessDetailData;
import com.dayu.usercenter.model.CoursesVideoData;
import com.dayu.usercenter.model.FinishedStudyData;
import com.dayu.usercenter.presenter.businessdetail.BusinessDetailContract;
import com.dayu.usercenter.presenter.businessdetail.BusinessDetailPresenter;
import com.dayu.utils.CommonUtils;
import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.List;
/**
* 商家详情
*/
public class BusinessDetailActivity extends BaseActivity<BusinessDetailPresenter, ActivityBusinessDetailBinding> implements BusinessDetailContract.View {
private int currentId;
private String currentPrice;
@Override
public void setPresenter() {
}
@Override
public int getLayoutId() {
return R.layout.activity_business_detail;
}
@Override
public void initView() {
int licenceAuthorityId = getBundle().getInt("licenceAuthorityId");
int mUserId = getBundle().getInt("mUserId");
mBind.titleBack.setOnClickListener(view -> finish());
getBusinessInfo(licenceAuthorityId, mUserId);
getVideo(licenceAuthorityId, mUserId);
mBind.rlClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckPayData checkPayData = new CheckPayData(currentId,mUserId);
Api.getService(APIService.class).checkPay(checkPayData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(success -> {
if (success){
mBind.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mBind.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
mBind.rlClick.setVisibility(View.GONE);
}else{
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, "付费"+ currentPrice + "元后观看",
(dialog1, confirm) -> {
if (confirm) {
pay();
}
});
dialog.setTitle("温馨提醒")
.setPositiveButton("同意支付");
dialog.show();
}
}));
}
});
}
private void pay() {
PayData payData = new PayData(currentId,mUserId,1);
Api.getService(APIService.class).pay(payData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(success -> {
if (success){
mBind.jzVideo.startPreloading(); //开始预加载,加载完等待播放
mBind.jzVideo.startVideoAfterPreloading(); //如果预加载完会开始播放,如果未加载则开始加载
mBind.rlClick.setVisibility(View.GONE);
}else{
CustomDialog dialog = new CustomDialog(mActivity, R.style.CustomDialog, "账户余额不足!\n请先充值再抢单!",
(dialog1, confirm) -> {
});
dialog.setTitle("温馨提醒")
.setPositiveButton("确定");
dialog.setOneButton(true);
dialog.show();
}
}));
}
/**
* 视频信息
*/
private void getVideo(int licenceAuthorityId, int mUserId) {
Api.getService(UserService2.class).getVideo(licenceAuthorityId,mUserId,1,500).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
List<CoursesVideoData> videoDataList = data.getData();
if (videoDataList == null || videoDataList.size() == 0){
mBind.llVideo.setVisibility(View.GONE);
}else{
mBind.llVideo.setVisibility(View.VISIBLE);
mBind.tvTips.setText("共计"+videoDataList.size()+"个,上下滑动观看更多视频");
CoursesVideoData coursesVideoData = videoDataList.get(0);
currentId = coursesVideoData.getId();
currentPrice = coursesVideoData.getPrice();
String name = coursesVideoData.getName();
String url = coursesVideoData.getUrl();
Object points = coursesVideoData.getPoints();
Gson gson = new GsonBuilder().enableComplexMapKeySerialization().create();
String jsonString = gson.toJson(points);
mBind.jzVideo.setUp(url, name);
CommonUtils.setVideoThumb(mActivity, mBind.jzVideo, url);
BaseQuickAdapter<CoursesVideoData, BaseViewHolder> mAdapter =
new BaseQuickAdapter<CoursesVideoData, BaseViewHolder>(R.layout.item_business_video, videoDataList) {
@Override
protected void convert(BaseViewHolder helper, CoursesVideoData item) {
helper.setText(R.id.tv_name,item.getName());
}
};
mBind.rlVideo.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rlVideo.setAdapter(mAdapter);
}
}));
}
/**
* 商家信息
* @param licenceAuthorityId
* @param mUserId
*/
private void getBusinessInfo(int licenceAuthorityId, int mUserId) {
Api.getService(UserService2.class).getBusinessDetailInfo(licenceAuthorityId, mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
String logo = data.getLogo();
GlideImageLoader.loadFit(mActivity,mBind.ivIcon,logo);
mBind.tvName.setText(data.getName());
mBind.tvInfo.setText(data.getBriefIntroduction());
BaseQuickAdapter<BusinessDetailData.Spudata, BaseViewHolder> mAdapter
= new BaseQuickAdapter<BusinessDetailData.Spudata, BaseViewHolder>(R.layout.item_supdata, data.getSpuList()) {
@Override
protected void convert(BaseViewHolder helper, BusinessDetailData.Spudata item) {
helper.setText(R.id.tv_name_business, item.getName());
}
};
mBind.rlService.setLayoutManager(new LinearLayoutManager(mActivity));
mBind.rlService.setAdapter(mAdapter);
mBind.btnCommit.setClickable(false);
if (1 == data.getLicenceStatus()){
mBind.btnCommit.setText("商家已认证");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_green));
}else if (2 == data.getLicenceStatus()){
mBind.btnCommit.setClickable(true);
mBind.btnCommit.setText("申请商家认证");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_blue));
mBind.btnCommit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
UserInfo info = UserManager.getInstance().getUser();
String mobile = info.getMobile();
String accountName = info.getAccountName();
FinishedStudyData finishedStudyData = new FinishedStudyData(mUserId+"", licenceAuthorityId+"", mobile, accountName);
Api.getService(UserService2.class).finishedStudyApply(finishedStudyData).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
//TODO
}));
}
});
}else if (2 == data.getLicenceStatus()){
mBind.btnCommit.setText("商家认证申请中");
mBind.btnCommit.setBackgroundColor(ContextCompat.getColor(mActivity,R.color.text_common_green));
}
}));
}
}
\ No newline at end of file
......@@ -127,7 +127,7 @@ public class ModifyPersonInfoActivity extends BaseActivity<ModifyPersonPresenter
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
......
......@@ -106,7 +106,7 @@ public class MyHeaderIvActivity extends BaseActivity<MyHeadPresenter, MyHeaderAc
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
......
......@@ -119,7 +119,7 @@ public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, Activi
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
String path = mActivity.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
......
......@@ -66,10 +66,15 @@ import com.umeng.socialize.bean.SHARE_MEDIA;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* Created by luofan
* on 2017/11/20.
......@@ -140,6 +145,41 @@ public class HomeUserFragment extends BaseFragment<HomeUserPresenter, FragmentHo
showDaySelect(data.getLowestPriceDay());
}));
mBind.receiveOrder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int status;
if (mBind.receiveOrder.switchButton) {
status = 2;
ToastUtils.showShortToast("接单开关已关闭,暂停接单");
} else {
status = 1;
ToastUtils.showShortToast("接单开关已开启,开始接单");
}
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("accountId", mUserId);
jsonObject.put("workStatus", status);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
Api.getService(UserService2.class).changeWorkStatus(requestBody).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
}));
mBind.receiveOrder.setSwitchButton(!mBind.receiveOrder.switchButton);
}
});
Api.getService(UserService2.class).getWorkStatus(mUserId).compose(Api.applySchedulers())
.subscribe(mPresenter.baseObserver(data -> {
if (data.getWorkStatus() == 1) {
mBind.receiveOrder.setSwitchButton(true);
} else {
mBind.receiveOrder.setSwitchButton(false);
}
}));
}
private void showDaySelect(String select) {
......
......@@ -15,7 +15,7 @@ import com.dayu.usercenter.databinding.FragmentUserLicenceBinding;
import com.dayu.usercenter.model.bean.UserLicenceBean;
import com.dayu.usercenter.presenter.userlicence.UserLicenceContract;
import com.dayu.usercenter.presenter.userlicence.UserLicencePresent;
import com.dayu.usercenter.ui.activity.CommeWebViewActivity;
import com.dayu.usercenter.ui.activity.BusinessDetailActivity;
import com.dayu.utils.UserManager;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.RegisterDialog;
......@@ -88,10 +88,19 @@ public class UserLicenceFragment extends BaseFragment<UserLicencePresent, Fragme
}
private void dumpDetail(UserLicenceBean item) {
// Bundle bundle1 = new Bundle();
// bundle1.putString(Constants.URL, item.getDetailUrl() + "&accountId=" + mUserId + "&token=" + mUserInfo.getToken());
// bundle1.putString(Constants.TITLE, "商家详情");
// Intent intent = new Intent(mActivity, CommeWebViewActivity.class);
// intent.putExtra(Constants.BUNDLE, bundle1);
// startActivity(intent);
Bundle bundle1 = new Bundle();
bundle1.putString(Constants.URL, item.getDetailUrl() + "&accountId=" + mUserId + "&token=" + mUserInfo.getToken());
bundle1.putString(Constants.TITLE, "商家详情");
Intent intent = new Intent(mActivity, CommeWebViewActivity.class);
int licenceAuthorityId = item.getLicenceAuthorityId();
bundle1.putInt("licenceAuthorityId",licenceAuthorityId);
bundle1.putInt("mUserId",mUserId);
Intent intent = new Intent(mActivity, BusinessDetailActivity.class);
intent.putExtra(Constants.BUNDLE, bundle1);
startActivity(intent);
}
......
......@@ -7,6 +7,9 @@
android:label="@string/app_name"
android:supportsRtl="true">
<activity
android:name=".ui.activity.BusinessDetailActivity"
android:exported="false" />
<activity
android:name=".ui.activity2.SelfLicenceDetailActivity"
android:exported="false" />
<activity
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_title"
style="@style/title">
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
android:text="商家详情"/>
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
/>
</RelativeLayout>
<ImageView style="@style/card_line" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="公司名称"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="45dp"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/white"/>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="公司简介"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="70dp">
<TextView
android:id="@+id/tv_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="8dp"
android:paddingBottom="5dp"
android:gravity="center|left"
android:background="@color/white"/>
</androidx.core.widget.NestedScrollView>
Y
<LinearLayout
android:id="@+id/ll_video"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="培训课程"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="180dp">
<com.dayu.widgets.MyJzvdStd
android:id="@+id/jz_video"
android:layout_width="match_parent"
android:layout_height="180dp" />
<RelativeLayout
android:id="@+id/rl_click"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rl_video"
android:layout_width="match_parent"
android:layout_height="100dp"/>
<TextView
android:id="@+id/tv_tips"
android:layout_width="match_parent"
android:layout_height="45dp"
android:text="观看上个视频解锁下个视频"
android:textSize="16dp"
android:paddingLeft="18dp"
android:gravity="center_vertical"
android:background="@color/white"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:text="服务项目"
android:textSize="20dp"
android:paddingLeft="20dp"
android:gravity="center|left"
android:background="@color/table_record_title_bg"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rl_service"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_marginBottom="60dp"/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/btn_commit"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:background="@drawable/blue_commom"
android:layout_marginBottom="10dp"
android:padding="8dp"
android:text="申请商家认证"
android:layout_gravity="center_horizontal"
android:textColor="@color/white"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -679,6 +679,33 @@
android:textColor="@color/white"
android:textSize="18dp" />
<RelativeLayout
android:id="@+id/receiveOrderRl"
android:layout_width="250dp"
android:layout_height="54dp"
android:gravity="center"
android:background="@color/cl_white">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="13.3dp"
android:text="接单开关"
android:textColor="@color/cl_home_title_text_color"
android:textSize="14.7sp" />
<com.dayu.widgets.SwitchImage
android:id="@+id/receiveOrder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_16.7"
android:src="@drawable/set_switch_start" />
</RelativeLayout>
<TextView
android:layout_width="00dp"
android:layout_height="40dp"
......
<?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="40dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/light_grey"/>
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="20dp"
android:textSize="18dp"
android:gravity="center_vertical"/>
</LinearLayout>
\ No newline at end of file
<?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="40dp"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="@color/light_grey"/>
<TextView
android:id="@+id/tv_name_business"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="20dp"
android:textSize="18dp"
android:gravity="center_vertical"/>
</LinearLayout>
\ No newline at end of file
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