Commit a439ecf0 authored by linfeng's avatar linfeng

Merge branch 'master-invoice' of http://113.105.137.151:22280/lify/rvapp into master-video

parents 29066c72 123f3bc5
......@@ -2,6 +2,8 @@ package com.xxfc.rv;
import android.app.AlertDialog;
import android.app.Notification;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
......@@ -205,6 +207,29 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
dialogInterface.dismiss();
}).setCancelable(false).show();
}
}
private void initCopy() {
String content = null;
ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
try {
ClipData data = cm.getPrimaryClip();
ClipData.Item item = data.getItemAt(0);
content = item.getText().toString();
if (!TextUtils.isEmpty(content)) {
showToast(content);
}
} catch (Exception e) {
e.printStackTrace();
}
if (content != null) {
// 执行我们的操作
// 清除剪贴板
ClipData clip = ClipData.newPlainText("", "");
cm.setPrimaryClip(clip);
}
}
......@@ -243,7 +268,6 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
getPreRentDays();
}
@Override
public void onShowResult(int requestType, BaseBean result) {
switch (requestType) {
......@@ -505,7 +529,6 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
String versionName = updateAppUtils.getAppVersionName(this);
if (!TextUtils.isEmpty(versionName)) {
mPresenter.getData(0, String.format(ApiConfig.HTTP_URL_VERSION_CHECK, versionName), VersionCheckBean.class, headMap, false);
}
}
......@@ -594,6 +617,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
public void onResume() {
super.onResume();
imLogin();
initCopy();
if (!DownListenerManager.getInstance().isDown() && hasGetVersionInfo && versionCheckBean != null && versionCheckBean.getData() != null && versionCheckBean.getData().getIsCompel() == 1 && !TextUtils.isEmpty(versionCheckBean.getData().getDownloadUrl()))
checkUpdateInfo();
}
......
......@@ -53,11 +53,11 @@ public class WakeUpActivity extends AppCompatActivity {
LogUtil.d("唤醒传过来的type=" + type);
// if (!TextUtils.isEmpty(url) && !TextUtils.isEmpty(title)) {
intent.putExtra("to", "webView");
intent.putExtra("url", url);
intent.putExtra("title", title);
intent.putExtra("id", id);
intent.putExtra("type", type);
intent.putExtra("to", "webView");
intent.putExtra("url", url);
intent.putExtra("title", title);
intent.putExtra("id", id);
intent.putExtra("type", type);
// }
} catch (Exception e) {
e.printStackTrace();
......
<resources>
<string name="app_name">滴房车(测试)</string>
<string name="share_install_key">A7BKEFH2KFFAHE</string>
<string name="share_install_scheme">fbac5442</string>
<string name="share_install_key">K7BKEK7E7KE722</string>
<string name="share_install_scheme">ebfg3573</string>
</resources>
......@@ -49,6 +49,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/size_10"
android:visibility="gone"
android:paddingBottom="@dimen/size_10"
android:gravity="center_horizontal"
android:layout_gravity="center_horizontal"
......
......@@ -169,12 +169,12 @@ public class AccountSafeActivity extends BaseStatusActivity<CommonPresenter> imp
}
private void getUser() {
bean = (UserInfoBean) RvCache.getInstance().get(CacheEnum.USER);
if (bean != null) {
setUserInfo();
} else {
getUserData();
}
// bean = (UserInfoBean) RvCache.getInstance().get(CacheEnum.USER);
// if (bean != null) {
// setUserInfo();
// } else {
getUserData();
// }
}
private void dealBindResult(BindCallBackBean bindCallBackBean) {
......
......@@ -3,7 +3,8 @@
package="com.xxrv.invoice">
<application>
<activity android:name=".activity.OrderInvoicingCarActivity"></activity>
<activity android:name=".activity.OrderInvoicingCarDetailsActivity"></activity>
<activity android:name=".activity.OrderInvoicingCarActivity" />
<activity android:name=".activity.BillingHistoryActivity" />
<activity
android:name=".activity.InvoicingActivity"
......
......@@ -3,6 +3,7 @@ package com.xxrv.invoice.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.CheckBox;
......@@ -10,15 +11,21 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.frame.base.url.Constance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxrv.invoice.R;
import com.xxrv.invoice.R2;
import com.xxrv.invoice.adapter.OrderInvoicingCarAdapter;
import com.xxrv.invoice.api.InvoiceApi;
import com.xxrv.invoice.bean.OrderInvoicingCarBean;
import com.xxrv.invoice.presenter.InvoicePresenter;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
......@@ -38,6 +45,12 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
CheckBox cbAll;
@BindView(R2.id.iv_noorder_hint)
ImageView ivNoorderHint;
@BindView(R2.id.tv_item_next)
TextView tvItemNext;
private OrderInvoicingCarAdapter mAdapter;
private boolean isCheckAll = true;
public static Intent getIntent(Context context) {
return new Intent(context, OrderInvoicingCarActivity.class);
......@@ -51,6 +64,62 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("按订单开票");
mAdapter = new OrderInvoicingCarAdapter();
rvContent.setLayoutManager(new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false));
rvContent.setAdapter(mAdapter);
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
if (view.getId() == R.id.ll_item_bg || view.getId() == R.id.cb_select) {
mAdapter.setItemState(position);
getCountSelectData();
if (mAdapter.getData().size() != mAdapter.getSelectItem().size()) {
cbAll.setChecked(false);
isCheckAll = true;
} else {
cbAll.setChecked(true);
isCheckAll = false;
}
}
}
});
setData();
}
private void getCountSelectData() {
List<OrderInvoicingCarBean.DataBeanX.DataBean> selectItem = mAdapter.getSelectItem();
tvNumber.setText(String.valueOf(selectItem.size()));
if (selectItem.size() > 0) {
tvItemNext.setBackgroundResource(R.drawable.shape_rv_bg_shallow_dark_yellow_circle);
tvItemNext.setEnabled(true);
} else {
tvItemNext.setBackgroundResource(R.drawable.shape_rv_bg_shallow_dark_yellow_circle2);
tvItemNext.setEnabled(false);
}
}
private void setAllSelect(int type) {
List<OrderInvoicingCarBean.DataBeanX.DataBean> data = mAdapter.getData();
if (data != null && data.size() > 0) {
for (int i = 0; i < data.size(); i++) {
data.get(i).setSelectType(type);
mAdapter.notifyItemChanged(i);
}
}
}
private void setData() {
ArrayList<OrderInvoicingCarBean.DataBeanX.DataBean> objects = new ArrayList<>();
for (int i = 0; i < 5; i++) {
objects.add(new OrderInvoicingCarBean.DataBeanX.DataBean());
}
mAdapter.addData(objects);
}
@Override
......@@ -65,19 +134,29 @@ public class OrderInvoicingCarActivity extends BaseStatusActivity<InvoicePresent
ButterKnife.bind(this);
}
@OnClick({R2.id.tv_item_hint, R2.id.tv_item_next})
@OnClick({R2.id.tv_item_hint, R2.id.cb_all, R2.id.tv_item_next})
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.tv_item_hint) {
ARouter.getInstance().build(Constance.ACTIVITY_URL_WEBVIEW)
.withString("title", "按订单开票")
.withString("url", InvoiceApi.HTTP_URL_CAR_TYPE_NOTICE)
.withInt("type", 27)
.navigation();
} else if (id == R.id.tv_item_next) {
} else if (id == R.id.cb_all) {
if (isCheckAll) {
setAllSelect(1);
cbAll.setChecked(true);
} else {
setAllSelect(0);
cbAll.setChecked(false);
}
isCheckAll = !isCheckAll;
getCountSelectData();
} else if (id == R.id.tv_item_next) {
startActivity(OrderInvoicingCarDetailsActivity.getIntent(mActivity));
}
}
}
package com.xxrv.invoice.activity;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxrv.invoice.R;
import com.xxrv.invoice.R2;
import com.xxrv.invoice.presenter.InvoicePresenter;
import com.yuyife.okgo.OkGoUtil;
import butterknife.BindView;
import butterknife.OnClick;
import static com.ruiwenliu.wrapper.weight.webview.SafeWebView.hasKitkat;
/**
* 开具电子发票
*/
public class OrderInvoicingCarDetailsActivity extends BaseStatusActivity<InvoicePresenter> {
@BindView(R2.id.pb_progress)
ProgressBar pbProgress;
@BindView(R2.id.webView)
WebView mWebView;
private String webUrl;
private String name;
private String amount;
public static Intent getIntent(Context context) {
return new Intent(context, OrderInvoicingCarDetailsActivity.class);
}
@Override
protected int setLayout() {
return R.layout.activity_order_invoicing_car_details;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("开具电子发票");
// webUrl = WalletApi.HTTP_URL_WALLET_WITHDRAWDETAIL + "?id=" + id;
Log.i("CampDetailActivity", "initView: " + webUrl);
initWeb();
}
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void initWeb() {
WebSettings webSettings = mWebView.getSettings();
if (webSettings == null) return;
// 支持 Js 使用
webSettings.setJavaScriptEnabled(true);
// 开启DOM缓存,默认状态下是不支持LocalStorage的
webSettings.setDomStorageEnabled(true);
// 开启数据库缓存
webSettings.setDatabaseEnabled(true);
// 支持自动加载图片
webSettings.setLoadsImagesAutomatically(hasKitkat());
// 设置 WebView 的缓存模式
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
// 支持启用缓存模式
webSettings.setAppCacheEnabled(true);
// 设置 AppCache 最大缓存值(现在官方已经不提倡使用,已废弃)
// webSettings.setAppCacheMaxSize(8 * 1024 * 1024);
// Android 私有缓存存储,如果你不调用setAppCachePath方法,WebView将不会产生这个目录
webSettings.setAppCachePath(getCacheDir().getAbsolutePath());
// 数据库路径
// if (!hasKitkat()) {
// webSettings.setDatabasePath(getDatabasePath("html").getPath());
// }
// 关闭密码保存提醒功能
// webSettings.setSavePassword(false);
// 支持缩放
webSettings.setSupportZoom(true);
// 设置 UserAgent 属性
webSettings.setUserAgentString("");
// 允许加载本地 html 文件/false
webSettings.setAllowFileAccess(true);
// 允许通过 file url 加载的 Javascript 读取其他的本地文件,Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
webSettings.setAllowFileAccessFromFileURLs(true);
// 允许通过 file url 加载的 Javascript 可以访问其他的源,包括其他的文件和 http,https 等其他的源,
// Android 4.1 之前默认是true,在 Android 4.1 及以后默认是false,也就是禁止
// 如果此设置是允许,则 setAllowFileAccessFromFileURLs 不起做用
webSettings.setAllowUniversalAccessFromFileURLs(true);
mWebView.addJavascriptInterface(new AndroidJs(), "AndroidJs");
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
return super.shouldOverrideUrlLoading(view, request);
}
});
mWebView.loadUrl(webUrl);
mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
pbProgress.setVisibility(View.GONE);//加载完网页进度条消失
} else {
pbProgress.setVisibility(View.VISIBLE);//开始加载网页时显示进度条
pbProgress.setProgress(newProgress);//设置进度值
}
}
});
}
public class AndroidJs {
@JavascriptInterface
public String getToken() {
return OkGoUtil.getToken();
}
}
@Override
protected void onStart() {
super.onStart();
}
@Override
public void onResume() {
super.onResume();
mWebView.onResume();// 生命周期onResume
}
@Override
protected void onPause() {
super.onPause();
mWebView.onPause();//生命周期onPause
}
@Override
public void onDestroy() {
super.onDestroy();
mWebView.stopLoading();// 停止当前加载
mWebView.clearMatches();// 清除网页查找的高亮匹配字符。
mWebView.clearHistory();// 清除当前 WebView 访问的历史记录
mWebView.clearSslPreferences();//清除ssl信息
mWebView.clearCache(true);//清空网页访问留下的缓存数据。需要注意的时,由于缓存是全局的,所以只要是WebView用到的缓存都会被清空,即便其他地方也会使用到。该方法接受一个参数,从命名即可看出作用。若设为false,则只清空内存里的资源缓存,而不清空磁盘里的。
mWebView.loadUrl("about:blank");// 清空当前加载
mWebView.removeAllViews();// 清空子 View
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) {
mWebView.removeJavascriptInterface("AndroidNative");// 向 Web端注入 java 对象
}
// mWebView.addJavascriptInterface(new AndroidJs(),"AndroidJs");
mWebView.destroy();// 生命周期销毁
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
}
package com.xxrv.invoice.adapter;
import android.view.View;
import android.widget.CompoundButton;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xxrv.invoice.R;
import com.xxrv.invoice.bean.OrderInvoicingCarBean;
import java.util.ArrayList;
import java.util.List;
/**
* 按订单开票 租车 item
*/
public class OrderInvoicingCarAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
public class OrderInvoicingCarAdapter extends BaseQuickAdapter<OrderInvoicingCarBean.DataBeanX.DataBean, BaseViewHolder> {
public OrderInvoicingCarAdapter() {
super(R.layout.rv_item_order_invoicing_car);
}
@Override
protected void convert(BaseViewHolder helper, String item) {
protected void convert(BaseViewHolder helper, final OrderInvoicingCarBean.DataBeanX.DataBean item) {
if (item.getSelectType() == 1) {
helper.setChecked(R.id.cb_select, true);
} else {
helper.setChecked(R.id.cb_select, false);
}
helper.addOnClickListener(R.id.ll_item_bg);
helper.addOnClickListener(R.id.cb_select);
}
public int getPosition(OrderInvoicingCarBean.DataBeanX.DataBean item) {
return mData.indexOf(item);
}
public void setItemState(int position) {
mData.get(position).setSelectType(mData.get(position).getSelectType() == 0 ? 1 : 0);
notifyItemChanged(position);
}
public List<OrderInvoicingCarBean.DataBeanX.DataBean> getSelectItem() {
List<OrderInvoicingCarBean.DataBeanX.DataBean> list = new ArrayList<>();
for (OrderInvoicingCarBean.DataBeanX.DataBean dataBean : mData) {
if (dataBean.getSelectType() == 1) {
list.add(dataBean);
}
}
return list;
}
}
package com.xxrv.invoice.bean;
import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.util.List;
/**
* 订单租车
*/
public class OrderInvoicingCarBean extends BaseBean{
private DataBeanX data;
private int code;
public DataBeanX getData() {
return data;
}
public void setData(DataBeanX data) {
this.data = data;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public static class DataBeanX {
private int totalCount;
private int totalPage;
private int pageNum;
private List<DataBean> data;
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean implements Serializable{
public int selectType;//是否选中
public int getSelectType() {
return selectType;
}
public void setSelectType(int selectType) {
this.selectType = selectType;
}
}
}
}
......@@ -41,6 +41,8 @@
android:background="@color/colorWrite"
android:orientation="vertical">
<include layout="@layout/common_line" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
......@@ -107,6 +109,7 @@
android:layout_centerVertical="true"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle2"
android:gravity="center"
android:enabled="false"
android:text="下一步"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16" />
......
<?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="match_parent"
android:background="@color/colorLine"
android:orientation="vertical">
<ProgressBar
android:id="@+id/pb_progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="@dimen/size_3"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/shape_rv_bg_yellow_progress"
android:visibility="gone"></ProgressBar>
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</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:id="@+id/ll_item_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_10"
......@@ -9,6 +10,7 @@
android:paddingBottom="@dimen/size_10">
<CheckBox
android:id="@+id/cb_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
......@@ -28,6 +30,7 @@
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
......@@ -37,6 +40,7 @@
<TextView
android:id="@+id/tv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_10"
......@@ -59,16 +63,22 @@
android:orientation="vertical">
<TextView
android:id="@+id/tv_get_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="2"
android:text="取:2019-05-15 10:00 欣新房车控股集团(东莞市)"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_out_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:ellipsize="end"
android:maxLines="2"
android:text="还:2019-05-17 10:00 欣新房车控股集团(东莞市)"
android:textColor="@color/textGray"
android:textSize="@dimen/text_12" />
......@@ -76,6 +86,7 @@
</LinearLayout>
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
......@@ -92,9 +103,5 @@
android:textColor="@color/text_Gray"
android:textSize="@dimen/text_12" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
package com.rv.share.view;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
......@@ -15,6 +16,7 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.Toast;
import com.ruiwenliu.wrapper.SPConstance;
import com.rv.component.utils.Cookie;
......@@ -218,6 +220,22 @@ public class RvWebView extends WebView {
return OkGoUtil.getYkId();
}
/**
* 打开微信
*/
@JavascriptInterface
public void goWeChat() {
try {
Intent intent = new Intent(Intent.ACTION_MAIN);
ComponentName cmp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(cmp);
getContext().startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getContext(), "检查到您手机没有安装微信,请安装后使用该功能", Toast.LENGTH_SHORT).show();
}
}
}
public interface WebViewListener {
......
......@@ -62,8 +62,6 @@ public class PreviewxActivity extends BaseStatusActivity<VideoPresenter> {
ImageView ivBack;
@BindView(R2.id.ll_back)
LinearLayout llBack;
@BindView(R2.id.bar_change)
Xspeedbar mSpeedBar;
@BindView(R2.id.bar_volume)
......
package com.xxrv.video.activity;
import android.Manifest;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.graphics.Rect;
import android.hardware.Camera;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
......@@ -27,28 +22,21 @@ import android.widget.Toast;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.frame.base.bus.Observer;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.base.bus.SendVideoEvent;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.joe.camera2recorddemo.View.CameraRecordView;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.xxfc.imcamera.cameralibrary.CameraInterface;
import com.xxrv.video.R;
import com.xxrv.video.R2;
import com.xxrv.video.api.VideoApi;
import com.xxrv.video.audio_x.VoiceManager;
import com.xxrv.video.bean.circle.DiscoveryVideoBean;
import com.xxrv.video.bean.circle.MusicInfo;
import com.xxrv.video.bean.circle.VideoFile;
import com.xxrv.video.bean.circle.VideoIMTokenBean;
import com.xxrv.video.dialog.FilterPreviewDialog;
import com.xxrv.video.dialog.SelectMusicDialog;
import com.xxrv.video.presenter.VideoPresenter;
import com.xxrv.video.util.RecorderUtils;
import com.xxrv.video.util.ScreenUtil;
......@@ -56,23 +44,15 @@ import com.xxrv.video.util.UiUtils;
import com.xxrv.video.weight.MarqueTextView;
import com.xxrv.video.weight.RecordButton;
import com.xxrv.video.weight.Xrecprogressbar;
import com.yuyife.okgo.OkGoUtil;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import VideoHandle.EpEditor;
import VideoHandle.EpVideo;
import VideoHandle.OnEditorListener;
import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
import pub.devrel.easypermissions.AppSettingsDialog;
/**
* 发短视频
......
......@@ -27,6 +27,7 @@ import android.widget.LinearLayout;
import com.alibaba.fastjson.JSON;
import com.danikula.videocache.HttpProxyCacheServer;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.http.ProgressRequestBody;
......@@ -35,6 +36,7 @@ import com.ruiwenliu.wrapper.util.um.CustomShareListener;
import com.ruiwenliu.wrapper.util.um.ShareManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.dialog.DownloadLoadingDialog;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.IsAppInstall;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
......@@ -253,10 +255,13 @@ public class TriListActivity extends BaseStatusActivity<VideoPresenter> {
UMShareAPI.get(this).release();
}
public void onShare(String imageUrl, String sVideoUrl, String title, int position) {
public void onShare(String imageUrl, String videoUrl, String title, int position) {
/**
* 初始化分享
*/
String code = Cookie.getStringValue(getApplicationContext(), SPConstance.USER_JSON_CODE, "");
String sVideoUrl = videoUrl + "&code=" + code;
shareManager = new ShareManager(this, new ShareBoardlistener() {
@Override
......
......@@ -27,4 +27,7 @@ public interface VideoApi extends RvFrameConfig {
//添加播放量
String DISCOVERY_PLAYAMOUNT_ADD = IMA_BASEUSRL + "/b/circle/msg/playAmount/add";
//分享短视频h5
String DISCOVERY_SHORT_VIDEO = HOST_H5_DETAIL + "/h5/appHtml/view/shortVideo.html";
}
......@@ -23,6 +23,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
......@@ -214,7 +216,11 @@ public class TrillCommDialog extends BottomSheetDialogFragment implements BaseVi
public void onClick(View v) {
mReplyId = "";
mReplyName = "";
showInputDialog(null);
if (OkGoUtil.getToken() != null) {
showInputDialog(null);
} else {
ARouter.getInstance().build(Constance.ACTIVITY_URL_LOGINRV).navigation();
}
}
});
......@@ -444,7 +450,11 @@ public class TrillCommDialog extends BottomSheetDialogFragment implements BaseVi
mReplyName = comm.getNickname();
String text = getString(R.string.replay) + " @" + comm.getNickname() + ": ";
showInputDialog(text);
if (OkGoUtil.getToken() != null) {
showInputDialog(text);
} else {
ARouter.getInstance().build(Constance.ACTIVITY_URL_LOGINRV).navigation();
}
}
}
}
......@@ -17,11 +17,13 @@ import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.android.arouter.launcher.ARouter;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.danikula.videocache.HttpProxyCacheServer;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.base.BaseView;
......@@ -29,6 +31,7 @@ import com.ruiwenliu.wrapper.presenter.MvpPresenter;
import com.ruiwenliu.wrapper.presenter.WrapperPresenter;
import com.ruiwenliu.wrapper.util.glide.GlideApp;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.component.utils.Cookie;
import com.xxrv.video.R;
import com.xxrv.video.activity.TriListActivity;
import com.xxrv.video.api.VideoApi;
......@@ -203,10 +206,10 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
tvAddress = findViewById(R.id.tv_address);
ivAvatar.setOnClickListener(this);
btnLikes.setOnClickListener(this);// 点赞按钮
findViewById(R.id.iv_follow).setOnClickListener(this);// 关注
findViewById(R.id.iv_comm).setOnClickListener(this); // 评论按钮
findViewById(R.id.iv_share).setOnClickListener(this); // 分享按钮
findViewById(R.id.ll_item_video_islike).setOnClickListener(this);
findViewById(R.id.ll_item_video_comment).setOnClickListener(this);
findViewById(R.id.ll_item_video_share).setOnClickListener(this);
mVideoView.addOnJcvdListener(mVideoListener);
initGestureAndAnimation(context);
......@@ -357,15 +360,15 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
// 点击头像
} else if (id == R.id.iv_follow) {
} else if (id == R.id.iv_likes) {
} else if (id == R.id.ll_item_video_islike) {
// 点赞按钮
loadImToken();
} else if (id == R.id.iv_comm) {
} else if (id == R.id.ll_item_video_comment) {
// 评论按钮
if (mContext instanceof BaseStatusActivity) {
mCommDialog.show(((BaseStatusActivity) mContext).getSupportFragmentManager(), "TilTok");
}
} else if (id == R.id.iv_share) {
} else if (id == R.id.ll_item_video_share) {
// 分享按钮
shareMessage();
} else if (id == R.id.xuan_video) {
......@@ -380,6 +383,8 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST, 1, VideoApi.DISCOVERY_IM_LOGIN, VideoIMTokenBean.class, headMap, headMap, false);
} else {
ARouter.getInstance().build(Constance.ACTIVITY_URL_LOGINRV).navigation();
}
}
......@@ -400,7 +405,8 @@ public class JcvTrillVideo extends FrameLayout implements BaseView, View.OnClick
private void shareMessage() {
if (mShareListener != null) {
mShareListener.onShare(imageUrl, sVideoUrl, title, position);
String url = VideoApi.DISCOVERY_SHORT_VIDEO + "?id=" + mMessageid + "&shareType=app";
mShareListener.onShare(imageUrl, url, title, position);
}
}
......
......@@ -7,9 +7,7 @@
<fm.jiecao.jcvideoplayer_lib.JCVideoViewbyXuan
android:id="@+id/x_video"
android:layout_width="match_parent"
android:layout_height="match_parent">
</fm.jiecao.jcvideoplayer_lib.JCVideoViewbyXuan>
android:layout_height="match_parent"></fm.jiecao.jcvideoplayer_lib.JCVideoViewbyXuan>
<ImageView
android:id="@+id/iv_thumb"
......@@ -18,58 +16,57 @@
android:scaleType="fitXY" />
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:id="@+id/shv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="@dimen/size_5"
android:orientation="vertical"
android:background="@color/gray_313131"
app:use_type="use_padding_top">
<com.xxrv.video.weight.Xpreprogressbar
android:id="@+id/xpb_pro"
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_marginLeft="@dimen/size_20"
android:layout_marginRight="@dimen/size_20" />
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/xpb_pro"
android:layout_marginLeft="5dp"
android:layout_marginTop="@dimen/size_10"
android:layout_marginRight="15dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/shv"
android:layout_marginLeft="5dp"
android:layout_marginTop="@dimen/size_10"
android:layout_marginRight="15dp">
<LinearLayout
android:id="@+id/ll_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:id="@+id/ll_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dp">
<ImageView
android:id="@+id/iv_back"
android:layout_width="28dp"
android:layout_height="25dp"
android:src="@drawable/ic_back" />
</LinearLayout>
<ImageView
android:id="@+id/iv_back"
android:layout_width="28dp"
android:layout_height="25dp"
android:src="@drawable/ic_back" />
</LinearLayout>
<TextView
android:id="@+id/tv_item_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:paddingLeft="@dimen/size_12"
android:paddingTop="@dimen/size_8"
android:paddingRight="@dimen/size_12"
android:paddingBottom="@dimen/size_8"
android:text="下一步"
android:textColor="@color/colorWrite" />
</RelativeLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<TextView
android:id="@+id/tv_item_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:paddingLeft="@dimen/size_12"
android:paddingTop="@dimen/size_8"
android:paddingRight="@dimen/size_12"
android:paddingBottom="@dimen/size_8"
android:text="下一步"
android:textColor="@color/colorWrite" />
</RelativeLayout>
<LinearLayout
......
......@@ -291,7 +291,6 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
if (OkGoUtil.getToken() != null)
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.getDataHead(RvFrameConfig.HOST, 1, WalletApi.HTTP_URL_CHECK_SETPWD, WalletCheckPwdBean.class, headMap, false);
}
......@@ -357,6 +356,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
AuthResult authResult = new AuthResult((Map<String, String>) msg.obj, true);
String resultStatus = authResult.getResultStatus();
// 判断resultStatus 为“9000”且result_code
showToast(resultStatus.toString());
// 为“200”则代表授权成功,具体状态码代表含义可参考授权接口文档
if (TextUtils.equals(resultStatus, "9000") && TextUtils.equals(authResult.getResultCode(), "200")) {
// 传入,则支付账户为该授权账户
......
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