Commit da9b1214 authored by jianglx's avatar jianglx

修改提前租车天数为接口获取;获取App在其他应用上层运行权限 移动至客服列表界面

parent 0398b4d7
...@@ -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
flavorDimensions "default" flavorDimensions "default"
versionCode 154 versionCode 150
versionName "1.5.4" versionName "1.5.0"
multiDexEnabled true multiDexEnabled true
...@@ -79,6 +79,9 @@ android { ...@@ -79,6 +79,9 @@ android {
if (variant.buildType.name == 'release') { if (variant.buildType.name == 'release') {
def productVersion = "Rv" + releaseTime() + "V" + defaultConfig.versionName + "_Release_" + productFlavors[0].name + ".apk"; def productVersion = "Rv" + releaseTime() + "V" + defaultConfig.versionName + "_Release_" + productFlavors[0].name + ".apk";
outputFileName = productVersion outputFileName = productVersion
} else if(variant.buildType.name == 'debug'){
def productVersion = "Rv" + releaseTime() + "V" + defaultConfig.versionName + "_Debug_" + productFlavors[0].name + ".apk";
outputFileName = productVersion
} }
} }
} }
......
package com.xxfc.rv; package com.xxfc.rv;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Notification; import android.app.Notification;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
...@@ -63,6 +62,7 @@ import com.rv.im.db.table.ChatMessage; ...@@ -63,6 +62,7 @@ import com.rv.im.db.table.ChatMessage;
import com.rv.im.view.TitleTextWindow; import com.rv.im.view.TitleTextWindow;
import com.rv.im.xmpp.ListenerManager; import com.rv.im.xmpp.ListenerManager;
import com.rv.im.xmpp.listener.ChatMessageListener; import com.rv.im.xmpp.listener.ChatMessageListener;
import com.rv.plugin.calendar.bean.PreRentDaysBean;
import com.rv.rvmine.MineFragment; import com.rv.rvmine.MineFragment;
import com.rv.share.WebViewActivity; import com.rv.share.WebViewActivity;
import com.rv.share.view.PromotionDialog; import com.rv.share.view.PromotionDialog;
...@@ -164,30 +164,8 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -164,30 +164,8 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
DownListenerManager.getInstance().addDownListener(this); DownListenerManager.getInstance().addDownListener(this);
ListenerManager.getInstance().addChatMessageListener(this); ListenerManager.getInstance().addChatMessageListener(this);
checkOverlayPermission();
} }
/********
* 检查滴房车是否能在其他应用上层显示
*/
private void checkOverlayPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
new AlertDialog.Builder(this).setTitle("提示")
.setMessage("滴房车正常运行需要在其他应用上层显示的权限")
.setNegativeButton("下次再说", (dialogInterface, i) -> {
dialogInterface.dismiss();
}).setPositiveButton("好的", (dialogInterface, i) -> {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}).setCancelable(false).show();
}
}
}
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
updateAppUtils = UpdateAppUtils.from(MainActivity.this); updateAppUtils = UpdateAppUtils.from(MainActivity.this);
...@@ -247,8 +225,10 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -247,8 +225,10 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
getActivityPopup(); getActivityPopup();
checkVersion(); checkVersion();
checkToken(); checkToken();
getPreRentDays();
} }
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
switch (requestType) { switch (requestType) {
...@@ -305,6 +285,21 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -305,6 +285,21 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
initIm(); initIm();
} }
break; break;
case 6:
PreRentDaysBean daysBean = (PreRentDaysBean) result;
if (daysBean != null && daysBean.isRel() && daysBean.getData() != null &&
daysBean.getData().size() > 0) {
PreRentDaysBean.Data data = daysBean.getData().get(0);
if (data != null) {
try {
int value = Integer.parseInt(data.getParams());
AppCookie.save(mActivity, AppCookie.KEY_PRERENT_DAYS, value);
} catch (Exception e) {
showToast("传入的预租车天数格式有误");
}
}
}
break;
default: default:
break; break;
} }
...@@ -357,6 +352,13 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL ...@@ -357,6 +352,13 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
} }
} }
/*****
* 获取提前租车天数
*/
private void getPreRentDays() {
mPresenter.getData(6, ApiConfig.HTTP_URL_PRERENT_DAYS, PreRentDaysBean.class, false);
}
private void postActivityPopup(int id) { private void postActivityPopup(int id) {
if (!TextUtils.isEmpty(OkGoUtil.getToken())) { if (!TextUtils.isEmpty(OkGoUtil.getToken())) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
......
...@@ -5,10 +5,15 @@ import android.content.SharedPreferences; ...@@ -5,10 +5,15 @@ import android.content.SharedPreferences;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
/*******
* 应用级别的cookie,不会随账号的切换而更改
*/
public class AppCookie { public class AppCookie {
private final static String COOKIE_FILE = "app_cookie"; private final static String COOKIE_FILE = "app_cookie";
public final static String KEY_PRERENT_DAYS = "key_prerent_days" ; // 提前租车天数的key
private static SharedPreferences preferences; private static SharedPreferences preferences;
private static WeakReference<Context> weakReference = null; private static WeakReference<Context> weakReference = null;
......
...@@ -161,4 +161,6 @@ public class ApiConfig { ...@@ -161,4 +161,6 @@ public class ApiConfig {
* 订单详情 * 订单详情
*/ */
public static String HTTP_URL_PRICE_BASEORDER = RvFrameConfig.HOST + "/api/order/baseOrder/"; public static String HTTP_URL_PRICE_BASEORDER = RvFrameConfig.HOST + "/api/order/baseOrder/";
public static String HTTP_URL_PRERENT_DAYS = RvFrameConfig.HOST + "/api/app/cofig/app/unauth/types?types=999";
} }
...@@ -1255,11 +1255,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -1255,11 +1255,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
//只是layout背景透明(仿知乎滑动效果) //只是layout背景透明(仿知乎滑动效果)
llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_translucent)); llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_translucent));
travelCityText.setTextColor(getResources().getColor(R.color.colorWrite)); travelCityText.setTextColor(getResources().getColor(R.color.colorWrite));
if(hasNewMessage){ // if(hasNewMessage){
travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news); // travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news);
}else { // }else {
// travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white);
// }
travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white); travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white);
}
ivTravelCityTextHint.setImageResource(R.drawable.rv_common_icon_up_arrow2); ivTravelCityTextHint.setImageResource(R.drawable.rv_common_icon_up_arrow2);
ivSearchInputHint.setImageResource(R.drawable.rv_common_icon_search2); ivSearchInputHint.setImageResource(R.drawable.rv_common_icon_search2);
searchInput.setHintTextColor(getResources().getColor(R.color.colorWrite)); searchInput.setHintTextColor(getResources().getColor(R.color.colorWrite));
...@@ -1271,11 +1272,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -1271,11 +1272,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
} else { } else {
llItemTop.setVisibility(View.VISIBLE); llItemTop.setVisibility(View.VISIBLE);
llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_search)); llItemSearch.setBackground(getResources().getDrawable(R.drawable.shape_rv_textview_home_search));
if(hasNewMessage){ // if(hasNewMessage){
travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news); // travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news);
}else{ // }else{
// travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange);
// }
travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange); travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange);
}
travelCityText.setTextColor(getResources().getColor(R.color.colorMain)); travelCityText.setTextColor(getResources().getColor(R.color.colorMain));
ivTravelCityTextHint.setImageResource(R.drawable.rv_common_icon_up_arrow); ivTravelCityTextHint.setImageResource(R.drawable.rv_common_icon_up_arrow);
ivSearchInputHint.setImageResource(R.drawable.rv_common_icon_search); ivSearchInputHint.setImageResource(R.drawable.rv_common_icon_search);
...@@ -1401,12 +1403,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa ...@@ -1401,12 +1403,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
* 新消息 * 新消息
*/ */
public void newsComing() { public void newsComing() {
hasNewMessage = true ; // hasNewMessage = true ;
if (llItemTop.getVisibility() != View.VISIBLE) { // if (llItemTop.getVisibility() != View.VISIBLE) {
travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news); // travelServerImage.setImageResource(R.drawable.rv_rentingcar_icon_service_white_news);
} else { // } else {
travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news); // travelServerImage.setImageResource(R.drawable.rentingcar_icon_service_orangeorange_news);
} // }
} }
@Override @Override
......
...@@ -440,8 +440,8 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S ...@@ -440,8 +440,8 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
} }
public void newsComing() { public void newsComing() {
hasNewMessage = true; // hasNewMessage = true;
ImgTravelServer.setImageResource(R.drawable.common_journey_service_gray_news); // ImgTravelServer.setImageResource(R.drawable.common_journey_service_gray_news);
} }
......
...@@ -15,6 +15,8 @@ import com.ruiwenliu.wrapper.base.BaseBean; ...@@ -15,6 +15,8 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.control.WheelView; import com.rv.component.control.WheelView;
import com.rv.component.utils.AppCookie;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.DateUtils; import com.rv.component.utils.DateUtils;
import com.rv.component.utils.MyUtils; import com.rv.component.utils.MyUtils;
import com.rv.plugin.calendar.bean.DateInfo; import com.rv.plugin.calendar.bean.DateInfo;
...@@ -57,7 +59,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> { ...@@ -57,7 +59,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
/** /**
* 最大的日历期限 * 最大的日历期限
*/ */
private final int MAX_SPAN = 30; private int MAX_SPAN;
private int spanIndex = 1; private int spanIndex = 1;
...@@ -74,7 +76,6 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> { ...@@ -74,7 +76,6 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
public static Intent getIntent(Context context) { public static Intent getIntent(Context context) {
return new Intent(context, CalendarActivity.class); return new Intent(context, CalendarActivity.class);
} }
@Override @Override
...@@ -82,7 +83,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> { ...@@ -82,7 +83,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
ButterKnife.bind(this); ButterKnife.bind(this);
context = this; context = this;
MAX_SPAN = AppCookie.getIntValue(context,AppCookie.KEY_PRERENT_DAYS,30);
begDay = DateUtils.formatDate16(begDate); begDay = DateUtils.formatDate16(begDate);
begTime = DateUtils.formatDate17(begDate); begTime = DateUtils.formatDate17(begDate);
endDay = DateUtils.formatDate16(endDate); endDay = DateUtils.formatDate16(endDate);
......
package com.rv.plugin.calendar.bean;
import android.text.Html;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.util.List;
public class PreRentDaysBean extends BaseBean {
private boolean rel;
private List<Data> data;
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public List<Data> getData() {
return data;
}
public void setData(List<Data> data) {
this.data = data;
}
public class Data {
private int id;
private int type;
private String value;
private long crtTime;
private long updTime;
private int isDel;
private String title;
private String params ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = Html.fromHtml(value).toString();
}
public long getCrtTime() {
return crtTime;
}
public void setCrtTime(long crtTime) {
this.crtTime = crtTime;
}
public long getUpdTime() {
return updTime;
}
public void setUpdTime(long updTime) {
this.updTime = updTime;
}
public int getIsDel() {
return isDel;
}
public void setIsDel(int isDel) {
this.isDel = isDel;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getParams() {
return params;
}
public void setParams(String params) {
this.params = params;
}
}
}
package com.xxrv.coupon.fragment; package com.xxrv.coupon.fragment;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import android.support.v7.widget.RecyclerView;
...@@ -21,6 +24,7 @@ import com.yuyife.okgo.OkGoUtil; ...@@ -21,6 +24,7 @@ import com.yuyife.okgo.OkGoUtil;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
/** /**
...@@ -63,14 +67,16 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme ...@@ -63,14 +67,16 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme
@Override @Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) { public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
CouponBean.DataBean bean = (CouponBean.DataBean) adapter.getItem(position); CouponBean.DataBean bean = (CouponBean.DataBean) adapter.getItem(position);
if ("0".equals(bean.getChannel()) || "1".equals(bean.getChannel())){ //0-全平台;1-租车;2-旅游;3-营地 if ("0".equals(bean.getChannel()) || "1".equals(bean.getChannel())) { //0-全平台;1-租车;2-旅游;3-营地
_mActivity.finish(); Intent intent = new Intent();
SwitchFragment.sChangeFragment.changge(0); intent.setComponent(new ComponentName(getContext(), "com.xxfc.rv.MainActivity"));
intent.putExtra("to", "home");
}else if ("2".equals(bean.getChannel())){ startActivity(intent);
_mActivity.finish(); } else if ("2".equals(bean.getChannel())) {
SwitchFragment.sChangeFragment.changge(1); Intent intent = new Intent();
intent.setComponent(new ComponentName(getContext(), "com.xxfc.rv.MainActivity"));
intent.putExtra("to", "travel");
startActivity(intent);
} }
} }
}); });
...@@ -91,7 +97,7 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme ...@@ -91,7 +97,7 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme
headMap.put("Authorization", OkGoUtil.getToken()); headMap.put("Authorization", OkGoUtil.getToken());
Map<String, Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("type", "0"); map.put("type", "0");
mPresenter.getData(RvFrameConfig.HOST,0, CouponApi.HTTP_URL_COUPON_LIST, CouponBean.class, map,headMap,false); mPresenter.getData(RvFrameConfig.HOST, 0, CouponApi.HTTP_URL_COUPON_LIST, CouponBean.class, map, headMap, false);
} }
@Override @Override
...@@ -101,11 +107,11 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme ...@@ -101,11 +107,11 @@ public class WaitCouponFragment extends BaseFragment<CouponAllPresenter> impleme
} }
private void processData(CouponBean bean) { private void processData(CouponBean bean) {
if (bean !=null && bean.getData()!=null && bean.getData().size() >0) { if (bean != null && bean.getData() != null && bean.getData().size() > 0) {
mAdapter.getData().clear(); mAdapter.getData().clear();
mAdapter.addData(bean.getData()); mAdapter.addData(bean.getData());
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
}else { } else {
mAdapter.setEmptyView(getEmptyView(rvContent, -1, "暂无优惠券")); mAdapter.setEmptyView(getEmptyView(rvContent, -1, "暂无优惠券"));
mAdapter.notifyDataSetChanged(); mAdapter.notifyDataSetChanged();
} }
......
package com.rv.im; package com.rv.im;
import android.app.AlertDialog;
import android.content.Intent; import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings;
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;
...@@ -88,6 +92,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im ...@@ -88,6 +92,7 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
refreshLayout.setHeaderView(new SimpleRefreshView(this)); refreshLayout.setHeaderView(new SimpleRefreshView(this));
refreshLayout.setOnSimpleRefreshListener(this); refreshLayout.setOnSimpleRefreshListener(this);
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
checkOverlayPermission();
} }
@Override @Override
...@@ -96,6 +101,26 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im ...@@ -96,6 +101,26 @@ public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> im
getCustomerList(); getCustomerList();
} }
/********
* 检查滴房车是否能在其他应用上层显示
*/
private void checkOverlayPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
new AlertDialog.Builder(this).setTitle("提示")
.setMessage("允许滴房车在其他应用上层显示,实时获知新消息")
.setNegativeButton("下次再说", (dialogInterface, i) -> {
dialogInterface.dismiss();
}).setPositiveButton("好的", (dialogInterface, i) -> {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}).setCancelable(false).show();
}
}
}
/****** /******
* 获取客服列表 * 获取客服列表
*/ */
......
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