Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lify
RvApp
Commits
504e526c
Commit
504e526c
authored
Aug 16, 2019
by
linfeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug修复
parent
fd710453
Changes
39
Show whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
757 additions
and
256 deletions
+757
-256
Constance.java
MyFrame/src/main/java/com/frame/base/url/Constance.java
+2
-0
build.gradle
RvClient/build.gradle
+9
-0
MainActivity.java
RvClient/src/main/java/com/xxfc/rv/MainActivity.java
+3
-2
CommonApi.java
RvFrame/src/main/java/com/frame/rv/config/CommonApi.java
+2
-0
CommonPresenter.java
...com/ruiwenliu/wrapper/base/presenter/CommonPresenter.java
+2
-1
ShareManager.java
...main/java/com/ruiwenliu/wrapper/util/um/ShareManager.java
+4
-0
icon_bill_defult.png
...resource/src/main/res/drawable-xhdpi/icon_bill_defult.png
+0
-0
ShareUtils.java
...tils/src/main/java/com/rv/component/utils/ShareUtils.java
+1
-8
StorageUtils.java
...ls/src/main/java/com/rv/component/utils/StorageUtils.java
+1
-1
build.gradle
module_camp/build.gradle
+2
-1
CampFragment.java
module_camp/src/main/java/com/rv/camp/CampFragment.java
+9
-9
CampDetailsBean.java
..._camp/src/main/java/com/rv/camp/bean/CampDetailsBean.java
+18
-0
CampDetailActivity.java
...mp/src/main/java/com/rv/camp/camp/CampDetailActivity.java
+111
-10
PatGeneratePosterActivity.java
...a/com/xxfc/discovery/other/PatGeneratePosterActivity.java
+1
-0
build.gradle
module_home/build.gradle
+1
-0
CarDetailActivity.java
...com/rv/home/rv/module/ui/main/home/CarDetailActivity.java
+3
-6
CarRentalListActivity.java
...rv/home/rv/module/ui/main/home/CarRentalListActivity.java
+3
-1
HomeFragment.java
...java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
+5
-4
rv_act_share_image.xml
module_home/src/main/res/layout/rv_act_share_image.xml
+0
-188
MineFragment.java
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
+6
-0
activity_mine.xml
module_mine/src/main/res/layout/activity_mine.xml
+1
-1
build.gradle
module_tourism/build.gradle
+1
-0
TourismFragment.java
...tourism/src/main/java/com/rv/tourism/TourismFragment.java
+3
-0
TourismApi.java
..._tourism/src/main/java/com/rv/tourism/api/TourismApi.java
+1
-0
TravelDetailsActivity.java
...main/java/com/rv/tourism/other/TravelDetailsActivity.java
+32
-12
CalendarActivity.java
...rc/main/java/com/rv/plugin/calendar/CalendarActivity.java
+11
-6
.gitignore
plugin_poster/.gitignore
+1
-0
build.gradle
plugin_poster/build.gradle
+57
-0
proguard-rules.pro
plugin_poster/proguard-rules.pro
+21
-0
AndroidManifest.xml
plugin_poster/src/main/AndroidManifest.xml
+7
-0
PosterActivity.java
...er/src/main/java/com/rv/poster/plugin/PosterActivity.java
+269
-0
activity_poster.xml
plugin_poster/src/main/res/layout/activity_poster.xml
+149
-0
strings.xml
plugin_poster/src/main/res/values/strings.xml
+3
-0
build.gradle
plugin_share/build.gradle
+12
-1
AndroidManifest.xml
plugin_share/src/main/AndroidManifest.xml
+2
-1
BillPresenter.java
...e/src/main/java/com/rv/share/presenter/BillPresenter.java
+1
-1
ReativeBillPresenter.java
...ain/java/com/rv/share/presenter/ReativeBillPresenter.java
+1
-1
SharePresenter.java
.../src/main/java/com/rv/share/presenter/SharePresenter.java
+1
-1
settings.gradle
settings.gradle
+1
-1
No files found.
MyFrame/src/main/java/com/frame/base/url/Constance.java
View file @
504e526c
...
@@ -59,4 +59,6 @@ public final class Constance {
...
@@ -59,4 +59,6 @@ public final class Constance {
public
static
final
String
ACTIVITY_URL_SELECTSHOP
=
"/main/home/SelectShopActivity"
;
public
static
final
String
ACTIVITY_URL_SELECTSHOP
=
"/main/home/SelectShopActivity"
;
public
static
final
String
ACTIVITY_URL_PATGENERATEPOSTER
=
"/discovery/other/PatGeneratePosterActivity"
;
public
static
final
String
ACTIVITY_URL_PATGENERATEPOSTER
=
"/discovery/other/PatGeneratePosterActivity"
;
public
static
final
String
ACTIVITY_URL_POSTERACTIVITY
=
"/poster/plugin/PosterActivity"
;
}
}
RvClient/build.gradle
View file @
504e526c
...
@@ -19,6 +19,15 @@ android {
...
@@ -19,6 +19,15 @@ android {
}
}
}
}
// javaCompileOptions {
//
// annotationProcessorOptions {
//
// arguments = [moduleName: project.getName()]
//
// }
// }
compileOptions
{
compileOptions
{
sourceCompatibility
JavaVersion
.
VERSION_1_8
sourceCompatibility
JavaVersion
.
VERSION_1_8
...
...
RvClient/src/main/java/com/xxfc/rv/MainActivity.java
View file @
504e526c
...
@@ -131,7 +131,6 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
...
@@ -131,7 +131,6 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
}
}
@Override
@Override
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
public
void
onShowResult
(
int
requestType
,
BaseBean
result
)
{
switch
(
requestType
)
{
switch
(
requestType
)
{
...
@@ -250,7 +249,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
...
@@ -250,7 +249,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
@Override
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
mAdapter
!=
null
)
{
mAdapter
.
getCurrentFragment
().
onActivityResult
(
requestCode
,
resultCode
,
data
);
mAdapter
.
getCurrentFragment
().
onActivityResult
(
requestCode
,
resultCode
,
data
);
}
}
}
...
...
RvFrame/src/main/java/com/frame/rv/config/CommonApi.java
View file @
504e526c
...
@@ -4,4 +4,6 @@ public interface CommonApi extends RvFrameConfig{
...
@@ -4,4 +4,6 @@ public interface CommonApi extends RvFrameConfig{
//行为记录保存
//行为记录保存
public
static
String
RVENTHUSIAST_APP_UNAUTH_SAVE
=
RvFrameConfig
.
HOST
+
"/api/user/behavior/customerBehaviorNotes/app/unauth/save"
;
public
static
String
RVENTHUSIAST_APP_UNAUTH_SAVE
=
RvFrameConfig
.
HOST
+
"/api/user/behavior/customerBehaviorNotes/app/unauth/save"
;
String
TOUR_SENDMESSAGE
=
RvFrameConfig
.
HOST
+
"/api/universal/message/sendMessage"
;
// 分享积分
}
}
RvWrapper/src/main/java/com/ruiwenliu/wrapper/base/presenter/CommonPresenter.java
View file @
504e526c
...
@@ -46,7 +46,8 @@ public class CommonPresenter extends MvpPresenter {
...
@@ -46,7 +46,8 @@ public class CommonPresenter extends MvpPresenter {
customerid
=
OkGoUtil
.
getYkId
();
customerid
=
OkGoUtil
.
getYkId
();
customertype
=
"1"
;
customertype
=
"1"
;
}
}
postBodyData2
(
RvFrameConfig
.
HOST
,
CommonApi
.
RVENTHUSIAST_APP_UNAUTH_SAVE
,
new
SaveOnClick
(
customertype
,
customerid
,
type
,
typeid
),
headMap
);
postBodyData
(
RvFrameConfig
.
HOST
,
20
,
CommonApi
.
RVENTHUSIAST_APP_UNAUTH_SAVE
,
BaseBean
.
class
,
new
SaveOnClick
(
customertype
,
customerid
,
type
,
typeid
),
headMap
,
false
);
// postBodyData2(RvFrameConfig.HOST, CommonApi.RVENTHUSIAST_APP_UNAUTH_SAVE, new SaveOnClick(customertype, customerid, type, typeid), headMap);
}
}
...
...
RvWrapper/src/main/java/com/ruiwenliu/wrapper/util/um/ShareManager.java
View file @
504e526c
...
@@ -117,6 +117,10 @@ public class ShareManager extends ShareAction {
...
@@ -117,6 +117,10 @@ public class ShareManager extends ShareAction {
}
}
public
<
T
extends
UMShareListener
>
void
showShareImage2
(
SHARE_MEDIA
share_media
,
UMImage
umImage
,
T
umShareListener
){
shareWebContent
(
share_media
,
umImage
,
umShareListener
);
}
public
void
shareWebContent
(
SHARE_MEDIA
share_media
,
UMWeb
umWeb
,
UMShareListener
umShareListener
){
public
void
shareWebContent
(
SHARE_MEDIA
share_media
,
UMWeb
umWeb
,
UMShareListener
umShareListener
){
new
ShareAction
(
mActivity
).
withMedia
(
umWeb
)
new
ShareAction
(
mActivity
).
withMedia
(
umWeb
)
.
setPlatform
(
share_media
)
.
setPlatform
(
share_media
)
...
...
plugin_share/src/main/res/drawable-x
xhdpi/icon_bill_defult.png
→
component_resource/src/main/res/drawable-
xhdpi/icon_bill_defult.png
View file @
504e526c
File moved
plugin_share/src/main/java/com/rv/share
/utils/ShareUtils.java
→
component_utils/src/main/java/com/rv/component
/utils/ShareUtils.java
View file @
504e526c
package
com
.
rv
.
share
.
utils
;
package
com
.
rv
.
component
.
utils
;
import
android.app.Activity
;
import
android.content.ClipData
;
import
android.content.ClipData
;
import
android.content.ClipboardManager
;
import
android.content.ClipboardManager
;
import
android.content.Context
;
import
android.content.Context
;
...
@@ -11,12 +10,6 @@ import android.net.Uri;
...
@@ -11,12 +10,6 @@ import android.net.Uri;
import
android.view.View
;
import
android.view.View
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.rv.share.R
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
com.umeng.socialize.media.UMImage
;
import
com.umeng.socialize.media.UMWeb
;
import
java.io.BufferedOutputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
java.io.FileOutputStream
;
...
...
plugin_share/src/main/java/com/rv/share
/utils/StorageUtils.java
→
component_utils/src/main/java/com/rv/component
/utils/StorageUtils.java
View file @
504e526c
package
com
.
rv
.
share
.
utils
;
package
com
.
rv
.
component
.
utils
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
...
...
module_camp/build.gradle
View file @
504e526c
...
@@ -51,6 +51,7 @@ dependencies {
...
@@ -51,6 +51,7 @@ dependencies {
api
project
(
':component_control'
)
api
project
(
':component_control'
)
api
project
(
':component_resource'
)
api
project
(
':component_resource'
)
api
project
(
':component_dialog'
)
api
project
(
':component_dialog'
)
api
project
(
':component_utils'
)
api
project
(
':plugin_poster'
)
}
}
module_camp/src/main/java/com/rv/camp/CampFragment.java
View file @
504e526c
...
@@ -88,7 +88,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
...
@@ -88,7 +88,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
campAdapter
=
new
CampListAdapter
();
campAdapter
=
new
CampListAdapter
();
rvContent
.
setItemAnimator
(
null
);
rvContent
.
setItemAnimator
(
null
);
rvContent
.
setLayoutManager
(
new
GridLayoutManager
(
_mActivity
,
2
));
rvContent
.
setLayoutManager
(
new
GridLayoutManager
(
_mActivity
,
2
));
rvContent
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
20
,
10
));
// 分割线。
rvContent
.
addItemDecoration
(
new
AbSpacesItemDecoration
(
20
,
10
));
// 分割线。
// rvContent.setNestedScrollingEnabled(false);
// rvContent.setNestedScrollingEnabled(false);
rvContent
.
setAdapter
(
campAdapter
);
rvContent
.
setAdapter
(
campAdapter
);
...
@@ -117,13 +117,14 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
...
@@ -117,13 +117,14 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
.
build
(
Constance
.
ACTIVITY_URL_CAMPDETAIL
)
.
build
(
Constance
.
ACTIVITY_URL_CAMPDETAIL
)
.
withString
(
"id"
,
data
.
getId
())
.
withString
(
"id"
,
data
.
getId
())
.
withDouble
(
"longitude"
,
lonLongitude
)
.
withDouble
(
"longitude"
,
lonLongitude
)
.
withDouble
(
"latitude"
,
latLatitude
)
.
withDouble
(
"latitude"
,
latLatitude
)
.
navigation
();
.
navigation
();
}
}
});
});
campAdapter
.
setOnLoadMoreListener
(
new
BaseQuickAdapter
.
RequestLoadMoreListener
()
{
campAdapter
.
setOnLoadMoreListener
(
new
BaseQuickAdapter
.
RequestLoadMoreListener
()
{
@Override
public
void
onLoadMoreRequested
()
{
@Override
public
void
onLoadMoreRequested
()
{
if
(
rvContent
!=
null
)
{
if
(
rvContent
!=
null
)
{
rvContent
.
postDelayed
(
new
Runnable
()
{
rvContent
.
postDelayed
(
new
Runnable
()
{
@Override
@Override
...
@@ -315,13 +316,12 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
...
@@ -315,13 +316,12 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
}
}
public
class
AbSpacesItemDecoration
extends
RecyclerView
.
ItemDecoration
{
public
class
AbSpacesItemDecoration
extends
RecyclerView
.
ItemDecoration
{
private
int
left
;
private
int
left
;
private
int
right
;
private
int
right
;
public
AbSpacesItemDecoration
(
int
left
,
int
right
)
{
public
AbSpacesItemDecoration
(
int
left
,
int
right
)
{
this
.
left
=
left
;
this
.
left
=
left
;
this
.
right
=
right
;
this
.
right
=
right
;
}
}
...
@@ -329,12 +329,12 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
...
@@ -329,12 +329,12 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
@Override
@Override
public
void
getItemOffsets
(
Rect
outRect
,
View
view
,
RecyclerView
parent
,
RecyclerView
.
State
state
)
{
public
void
getItemOffsets
(
Rect
outRect
,
View
view
,
RecyclerView
parent
,
RecyclerView
.
State
state
)
{
int
childCount
=
parent
.
getChildCount
();
int
childCount
=
parent
.
getChildCount
();
if
((
childCount
-
1
)
%
2
==
0
)
{
if
((
childCount
-
1
)
%
2
==
0
)
{
outRect
.
left
=
left
;
outRect
.
left
=
left
;
outRect
.
right
=
right
;
outRect
.
right
=
right
;
outRect
.
bottom
=
right
;
outRect
.
bottom
=
right
;
outRect
.
top
=
right
;
outRect
.
top
=
right
;
}
else
{
}
else
{
outRect
.
left
=
right
;
outRect
.
left
=
right
;
outRect
.
right
=
left
;
outRect
.
right
=
left
;
outRect
.
bottom
=
right
;
outRect
.
bottom
=
right
;
...
...
module_camp/src/main/java/com/rv/camp/bean/CampDetailsBean.java
View file @
504e526c
...
@@ -36,6 +36,24 @@ public class CampDetailsBean extends BaseBean {
...
@@ -36,6 +36,24 @@ public class CampDetailsBean extends BaseBean {
private
String
phone
;
private
String
phone
;
private
double
longitude
;
//": 118.773832,
private
double
longitude
;
//": 118.773832,
private
double
latitude
;
//": 32.031698,
private
double
latitude
;
//": 32.031698,
private
String
logo
;
private
String
posterBackground
;
public
String
getPosterBackground
()
{
return
posterBackground
;
}
public
void
setPosterBackground
(
String
posterBackground
)
{
this
.
posterBackground
=
posterBackground
;
}
public
String
getLogo
()
{
return
logo
;
}
public
void
setLogo
(
String
logo
)
{
this
.
logo
=
logo
;
}
public
String
getName
()
{
public
String
getName
()
{
return
name
;
return
name
;
...
...
module_camp/src/main/java/com/rv/camp/camp/CampDetailActivity.java
View file @
504e526c
package
com
.
rv
.
camp
.
camp
;
package
com
.
rv
.
camp
.
camp
;
import
android.annotation.TargetApi
;
import
android.annotation.TargetApi
;
import
android.content.ClipData
;
import
android.content.ClipboardManager
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.JavascriptInterface
;
...
@@ -20,8 +23,11 @@ import com.alibaba.android.arouter.facade.annotation.Route;
...
@@ -20,8 +23,11 @@ import com.alibaba.android.arouter.facade.annotation.Route;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.frame.base.url.Constance
;
import
com.frame.base.url.Constance
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.util.um.CustomShareListener
;
import
com.ruiwenliu.wrapper.util.um.ShareManager
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.camp.R
;
import
com.rv.camp.R
;
import
com.rv.camp.R2
;
import
com.rv.camp.R2
;
...
@@ -29,6 +35,10 @@ import com.rv.camp.api.CampApi;
...
@@ -29,6 +35,10 @@ import com.rv.camp.api.CampApi;
import
com.rv.camp.bean.CampDetailsBean
;
import
com.rv.camp.bean.CampDetailsBean
;
import
com.rv.camp.presenter.CampPresenter
;
import
com.rv.camp.presenter.CampPresenter
;
import
com.rv.component.control.ProgressWebView
;
import
com.rv.component.control.ProgressWebView
;
import
com.rv.component.utils.Cookie
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
com.umeng.socialize.shareboard.SnsPlatform
;
import
com.umeng.socialize.utils.ShareBoardlistener
;
import
com.yuyife.okgo.OkGoUtil
;
import
com.yuyife.okgo.OkGoUtil
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
...
@@ -58,8 +68,13 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -58,8 +68,13 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
double
longitude
;
double
longitude
;
@Autowired
()
@Autowired
()
double
latitude
;
double
latitude
;
private
CampDetailsBean
data
;
private
CampDetailsBean
data
;
private
ShareManager
shareManager
;
private
ClipboardManager
myClipboard
;
private
String
code
;
@Override
@Override
protected
int
setLayout
()
{
protected
int
setLayout
()
{
...
@@ -72,6 +87,18 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -72,6 +87,18 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
webUrl
=
CampApi
.
TRAVEL_CAMPSITEDETAI
+
"?id="
+
id
+
"&longitude="
+
longitude
+
"&latitude="
+
latitude
;
webUrl
=
CampApi
.
TRAVEL_CAMPSITEDETAI
+
"?id="
+
id
+
"&longitude="
+
longitude
+
"&latitude="
+
latitude
;
Log
.
i
(
"CampDetailActivity"
,
"initView: "
+
webUrl
);
Log
.
i
(
"CampDetailActivity"
,
"initView: "
+
webUrl
);
initWeb
();
initWeb
();
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
titleView
.
setImageResource
(
R
.
id
.
iv_title_right
,
R
.
drawable
.
common_icon_rv_rentingcar_icon_share
);
titleView
.
setChildClickListener
(
R
.
id
.
iv_title_right
,
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
shareManager
!=
null
)
{
shareManager
.
open
();
}
}
});
}
}
...
@@ -96,6 +123,9 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -96,6 +123,9 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
private
void
resultData
(
CampDetailsBean
data
)
{
private
void
resultData
(
CampDetailsBean
data
)
{
this
.
data
=
data
;
this
.
data
=
data
;
if
(
data
!=
null
&&
data
.
getData
()
!=
null
)
{
initShare
(
webUrl
+
"&shareType=app&code="
+
code
,
data
.
getData
().
getName
(),
" "
,
data
.
getData
().
getLogo
());
}
}
}
@TargetApi
(
Build
.
VERSION_CODES
.
JELLY_BEAN
)
@TargetApi
(
Build
.
VERSION_CODES
.
JELLY_BEAN
)
...
@@ -147,10 +177,9 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -147,10 +177,9 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
mWebView
.
setWebChromeClient
(
new
WebChromeClient
()
{
mWebView
.
setWebChromeClient
(
new
WebChromeClient
()
{
@Override
@Override
public
void
onProgressChanged
(
WebView
view
,
int
newProgress
)
{
public
void
onProgressChanged
(
WebView
view
,
int
newProgress
)
{
if
(
newProgress
==
100
)
{
if
(
newProgress
==
100
)
{
pbProgress
.
setVisibility
(
View
.
GONE
);
//加载完网页进度条消失
pbProgress
.
setVisibility
(
View
.
GONE
);
//加载完网页进度条消失
}
}
else
{
else
{
pbProgress
.
setVisibility
(
View
.
VISIBLE
);
//开始加载网页时显示进度条
pbProgress
.
setVisibility
(
View
.
VISIBLE
);
//开始加载网页时显示进度条
pbProgress
.
setProgress
(
newProgress
);
//设置进度值
pbProgress
.
setProgress
(
newProgress
);
//设置进度值
}
}
...
@@ -158,17 +187,11 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -158,17 +187,11 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
});
});
}
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
// TODO: add setContentView(...) invocation
ButterKnife
.
bind
(
this
);
}
@OnClick
(
R2
.
id
.
tv_scheduled_camp
)
@OnClick
(
R2
.
id
.
tv_scheduled_camp
)
public
void
onViewClicked
(
View
view
)
{
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_scheduled_camp
){
if
(
id
==
R
.
id
.
tv_scheduled_camp
)
{
Intent
intent
=
new
Intent
(
Intent
.
ACTION_DIAL
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_DIAL
);
Uri
uri
=
Uri
.
parse
(
"tel:"
+
data
.
getData
().
getPhone
());
Uri
uri
=
Uri
.
parse
(
"tel:"
+
data
.
getData
().
getPhone
());
intent
.
setData
(
uri
);
intent
.
setData
(
uri
);
...
@@ -235,4 +258,82 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
...
@@ -235,4 +258,82 @@ public class CampDetailActivity extends BaseStatusActivity<CampPresenter> {
mWebView
.
destroy
();
// 生命周期销毁
mWebView
.
destroy
();
// 生命周期销毁
}
}
/**
* 初始化分享
*/
private
void
initShare
(
final
String
webUrls
,
final
String
name
,
final
String
content
,
final
String
logo
)
{
shareManager
=
new
ShareManager
(
this
,
new
ShareBoardlistener
()
{
@Override
public
void
onclick
(
SnsPlatform
snsPlatform
,
SHARE_MEDIA
share_media
)
{
if
(
snsPlatform
.
mShowWord
.
equals
(
"生成海报"
))
{
if
(
data
.
getData
()
!=
null
)
{
String
icon
=
""
;
if
(
TextUtils
.
isEmpty
(
data
.
getData
().
getPosterBackground
()))
{
icon
=
data
.
getData
().
getLogo
();
}
else
{
icon
=
data
.
getData
().
getPosterBackground
();
}
ARouter
.
getInstance
()
.
build
(
Constance
.
ACTIVITY_URL_POSTERACTIVITY
)
.
withString
(
"url"
,
webUrls
)
.
withString
(
"imageUrl"
,
icon
)
.
navigation
();
}
}
else
if
(
snsPlatform
.
mShowWord
.
equals
(
"复制链接"
))
{
copyText
();
}
shareManager
.
showShare
(
share_media
,
webUrls
,
name
,
content
,
logo
,
new
CustomShareListener
(
mActivity
)
{
@Override
public
void
onResult
(
SHARE_MEDIA
platform
)
{
super
.
onResult
(
platform
);
if
(
platform
.
name
().
equals
(
"WEIXIN_FAVORITE"
))
{
showToast
(
" 收藏成功啦"
);
}
else
{
if
(
platform
!=
SHARE_MEDIA
.
MORE
&&
platform
!=
SHARE_MEDIA
.
SMS
&&
platform
!=
SHARE_MEDIA
.
EMAIL
&&
platform
!=
SHARE_MEDIA
.
FLICKR
&&
platform
!=
SHARE_MEDIA
.
FOURSQUARE
&&
platform
!=
SHARE_MEDIA
.
TUMBLR
&&
platform
!=
SHARE_MEDIA
.
POCKET
&&
platform
!=
SHARE_MEDIA
.
PINTEREST
&&
platform
!=
SHARE_MEDIA
.
INSTAGRAM
&&
platform
!=
SHARE_MEDIA
.
GOOGLEPLUS
&&
platform
!=
SHARE_MEDIA
.
YNOTE
&&
platform
!=
SHARE_MEDIA
.
EVERNOTE
)
{
showToast
(
"分享成功啦"
);
}
}
}
});
}
},
"rv_um_share_bill"
,
"rv_um_share_copy"
);
}
/**
* 复制文本
*/
private
void
copyText
()
{
if
(
myClipboard
==
null
)
{
myClipboard
=
(
ClipboardManager
)
getSystemService
(
CLIPBOARD_SERVICE
);
}
String
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
ClipData
myClip
=
ClipData
.
newPlainText
(
"text"
,
webUrl
+
"&shareType=app&code="
+
code
);
myClipboard
.
setPrimaryClip
(
myClip
);
showToast
(
"复制成功!"
);
}
}
}
module_discovery/src/main/java/com/xxfc/discovery/other/PatGeneratePosterActivity.java
View file @
504e526c
...
@@ -235,6 +235,7 @@ public class PatGeneratePosterActivity extends BaseStatusActivity<PickerPresente
...
@@ -235,6 +235,7 @@ public class PatGeneratePosterActivity extends BaseStatusActivity<PickerPresente
c
.
drawColor
(
Color
.
WHITE
);
c
.
drawColor
(
Color
.
WHITE
);
v
.
layout
(
startX
,
startY
,
w
+
startX
,
h
+
startY
);
v
.
layout
(
startX
,
startY
,
w
+
startX
,
h
+
startY
);
v
.
draw
(
c
);
v
.
draw
(
c
);
v
.
postInvalidate
();
return
bmp
;
return
bmp
;
}
}
...
...
module_home/build.gradle
View file @
504e526c
...
@@ -54,6 +54,7 @@ dependencies {
...
@@ -54,6 +54,7 @@ dependencies {
api
project
(
':plugin_calendar'
)
api
project
(
':plugin_calendar'
)
api
project
(
':plugin_coupon'
)
api
project
(
':plugin_coupon'
)
api
project
(
':plugin_carpurchase'
)
api
project
(
':plugin_carpurchase'
)
api
project
(
':plugin_poster'
)
api
project
(
':RvWrapper'
)
api
project
(
':RvWrapper'
)
// api project(':RvTravel')
// api project(':RvTravel')
annotationProcessor
'com.alibaba:arouter-compiler:1.1.4'
annotationProcessor
'com.alibaba:arouter-compiler:1.1.4'
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/CarDetailActivity.java
View file @
504e526c
...
@@ -361,12 +361,9 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -361,12 +361,9 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
}
}
ARouter
.
getInstance
()
ARouter
.
getInstance
()
.
build
(
Constance
.
ACTIVITY_URL_SHAREIMAGE
)
.
build
(
Constance
.
ACTIVITY_URL_POSTERACTIVITY
)
.
withString
(
"icon"
,
icon
)
.
withString
(
"name"
,
mCarBean
.
getVehicleModel
().
getName
())
.
withString
(
"keyword"
,
mCarBean
.
getVehicleModel
().
getKeyword
())
.
withDouble
(
"price"
,
mCarBean
.
getVehicleModel
().
getPrice
())
.
withString
(
"url"
,
url
)
.
withString
(
"url"
,
url
)
.
withString
(
"imageUrl"
,
icon
)
.
navigation
();
.
navigation
();
}
else
if
(
snsPlatform
.
mShowWord
.
equals
(
"复制链接"
))
{
}
else
if
(
snsPlatform
.
mShowWord
.
equals
(
"复制链接"
))
{
...
@@ -460,7 +457,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
...
@@ -460,7 +457,7 @@ public class CarDetailActivity extends BaseStatusActivity<CommonPresenter> {
myClipboard
=
(
ClipboardManager
)
getSystemService
(
CLIPBOARD_SERVICE
);
myClipboard
=
(
ClipboardManager
)
getSystemService
(
CLIPBOARD_SERVICE
);
}
}
String
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
String
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
ClipData
myClip
=
ClipData
.
newPlainText
(
"text"
,
webUrl
+
"&shareType=app&code="
+
code
);
ClipData
myClip
=
ClipData
.
newPlainText
(
"text"
,
webUrl
+
"&shareType=app&code="
+
code
);
myClipboard
.
setPrimaryClip
(
myClip
);
myClipboard
.
setPrimaryClip
(
myClip
);
showToast
(
"复制成功!"
);
showToast
(
"复制成功!"
);
}
}
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/CarRentalListActivity.java
View file @
504e526c
...
@@ -272,7 +272,9 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
...
@@ -272,7 +272,9 @@ public class CarRentalListActivity extends BaseStatusActivity<CommonPresenter> i
map
.
put
(
"limit"
,
10
);
map
.
put
(
"limit"
,
10
);
map
.
put
(
"lat"
,
mLat
);
map
.
put
(
"lat"
,
mLat
);
map
.
put
(
"lon"
,
mLon
);
map
.
put
(
"lon"
,
mLon
);
map
.
put
(
"parkBranchCompanyId"
,
dataBean
.
getStartCompanyId
());
// map.put("parkBranchCompanyId", dataBean.getStartCompanyId());
map
.
put
(
"startCompanyId"
,
dataBean
.
getStartCompanyId
());
map
.
put
(
"endCompanyId"
,
dataBean
.
getEndCompanyId
());
try
{
try
{
map
.
put
(
"startDateTamp"
,
TimeManager
.
dateToStamp
(
begDate
));
map
.
put
(
"startDateTamp"
,
TimeManager
.
dateToStamp
(
begDate
));
map
.
put
(
"endDateTamp"
,
TimeManager
.
dateToStamp
(
endDate
));
map
.
put
(
"endDateTamp"
,
TimeManager
.
dateToStamp
(
endDate
));
...
...
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/HomeFragment.java
View file @
504e526c
...
@@ -52,6 +52,7 @@ import com.rv.component.utils.DisplayUtil;
...
@@ -52,6 +52,7 @@ import com.rv.component.utils.DisplayUtil;
import
com.rv.component.utils.LogUtil
;
import
com.rv.component.utils.LogUtil
;
import
com.rv.component.utils.MyUtils
;
import
com.rv.component.utils.MyUtils
;
import
com.rv.component.utils.ObservableScrollView
;
import
com.rv.component.utils.ObservableScrollView
;
import
com.rv.home.R
;
import
com.rv.home.R
;
import
com.rv.home.R2
;
import
com.rv.home.R2
;
import
com.rv.home.rv.module.ApiConfig
;
import
com.rv.home.rv.module.ApiConfig
;
...
@@ -259,12 +260,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -259,12 +260,12 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
Drawable
drawable
=
getResources
().
getDrawable
(
R
.
drawable
.
icon_day_times
);
Drawable
drawable
=
getResources
().
getDrawable
(
R
.
drawable
.
icon_day_times
);
drawable
.
setBounds
(
0
,
0
,
DisplayUtil
.
dip2px
(
getContext
(),
25
),
DisplayUtil
.
dip2px
(
getContext
(),
5
));
drawable
.
setBounds
(
0
,
0
,
DisplayUtil
.
dip2px
(
getContext
(),
25
),
DisplayUtil
.
dip2px
(
getContext
(),
5
));
tvDay
.
setCompoundDrawables
(
null
,
null
,
null
,
drawable
);
tvDay
.
setCompoundDrawables
(
null
,
null
,
null
,
drawable
);
begDate
=
DateUtils
.
formatDate8
(
DateUtils
.
getCurDateTime
())
;
begDate
=
MyUtils
.
getFetureDate
(
1
)
+
" 09:00"
;
tvGetTime
.
setText
(
DateUtils
.
formatDate66
(
begDate
));
tvGetTime
.
setText
(
DateUtils
.
formatDate66
(
begDate
));
tvGetWeek
.
setText
(
"周"
+
MyUtils
.
getWeek
(
DateUtils
.
getCurDate
()));
tvGetWeek
.
setText
(
"周"
+
MyUtils
.
getWeek
(
DateUtils
.
getCurDate
()));
endDate
=
MyUtils
.
getFetureDate
2
(
1
)
;
endDate
=
MyUtils
.
getFetureDate
(
2
)+
" 18:00"
;
tvOutTime
.
setText
(
DateUtils
.
formatDate66
(
endDate
));
tvOutTime
.
setText
(
DateUtils
.
formatDate66
(
endDate
));
tvOutWeek
.
setText
(
"周"
+
MyUtils
.
getWeek
(
MyUtils
.
getFetureDate
(
1
)));
tvOutWeek
.
setText
(
"周"
+
MyUtils
.
getWeek
(
MyUtils
.
getFetureDate
(
2
)));
copyDay
=
DateUtils
.
compareDateDay
(
MyUtils
.
getFetureDate
(
1
),
DateUtils
.
getCurDate
())
+
1
;
copyDay
=
DateUtils
.
compareDateDay
(
MyUtils
.
getFetureDate
(
1
),
DateUtils
.
getCurDate
())
+
1
;
...
@@ -1036,7 +1037,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
...
@@ -1036,7 +1037,7 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements Observa
if
(
listsBanners
.
size
()
>
0
)
{
if
(
listsBanners
.
size
()
>
0
)
{
BeanHomeBanner
.
DataBean
bean
=
listsBanners
.
get
(
position
);
BeanHomeBanner
.
DataBean
bean
=
listsBanners
.
get
(
position
);
mPresenter
.
saveOnclick
(
"
1
"
,
bean
.
getId
());
mPresenter
.
saveOnclick
(
"
2
"
,
bean
.
getId
());
if
(
bean
!=
null
&&
!
TextUtils
.
isEmpty
(
bean
.
getUrl
()))
{
if
(
bean
!=
null
&&
!
TextUtils
.
isEmpty
(
bean
.
getUrl
()))
{
mPresenter
.
toTarget
(
getActivity
(),
bean
.
getUrl
(),
bean
.
getTitle
());
mPresenter
.
toTarget
(
getActivity
(),
bean
.
getUrl
(),
bean
.
getTitle
());
}
}
...
...
module_home/src/main/res/layout/rv_act_share_image.xml
deleted
100644 → 0
View file @
fd710453
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:background=
"@color/colorYellow"
android:orientation=
"vertical"
tools:context=
".rv.module.ui.main.home.ShareImageActivity"
>
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
app:use_type=
"use_padding_top"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_50"
>
<ImageView
android:id=
"@+id/img_title_left"
android:layout_width=
"@dimen/size_32"
android:layout_height=
"@dimen/size_32"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/size_5"
android:clickable=
"true"
android:padding=
"@dimen/size_8"
android:src=
"@drawable/rv_common_icon_back_dark"
/>
<TextView
android:id=
"@+id/tv_share"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_centerInParent=
"true"
android:padding=
"@dimen/size_15"
android:text=
"分享"
android:textColor=
"@color/colorWrite"
android:textSize=
"@dimen/text_16"
/>
</RelativeLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_30"
/>
<android.support.v4.widget.NestedScrollView
android:id=
"@+id/nested_scrollview"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_40"
android:layout_marginRight=
"@dimen/size_40"
android:background=
"@color/colorYellow"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/rl_body"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/colorWrite"
>
<ImageView
android:id=
"@+id/iv_goods"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:minHeight=
"@dimen/size_200"
android:scaleType=
"fitXY"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@id/iv_goods"
android:background=
"@color/colorWrite"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:maxLines=
"1"
android:paddingLeft=
"@dimen/size_10"
android:paddingTop=
"@dimen/size_10"
android:paddingRight=
"@dimen/size_10"
android:text=
"大通自行式C型房车(旅居版)"
android:textColor=
"@color/textMain"
android:textSize=
"@dimen/text_16"
/>
<TextView
android:id=
"@+id/tv_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_3"
android:ellipsize=
"end"
android:maxLines=
"1"
android:paddingLeft=
"@dimen/size_10"
android:paddingRight=
"@dimen/size_10"
android:text=
"大通自行式C型房车(旅居版)"
android:textColor=
"@color/textGray"
android:textSize=
"@dimen/text_12"
/>
<TextView
android:id=
"@+id/tv_price"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:ellipsize=
"end"
android:maxLines=
"1"
android:paddingLeft=
"@dimen/size_10"
android:paddingRight=
"@dimen/size_10"
android:text=
"¥3500天"
android:textColor=
"@color/colorAuxiliaryRed"
android:textSize=
"@dimen/text_16"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_15"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"@dimen/size_15"
android:layout_height=
"@dimen/size_30"
android:background=
"@drawable/rv_half_left"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
>
<include
layout=
"@layout/common_line"
/>
</RelativeLayout>
<ImageView
android:layout_width=
"@dimen/size_15"
android:layout_height=
"@dimen/size_30"
android:background=
"@drawable/rv_half_right"
/>
</LinearLayout>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:padding=
"@dimen/size_15"
>
<ImageView
android:id=
"@+id/iv_code"
android:layout_width=
"@dimen/size_80"
android:layout_height=
"@dimen/size_80"
android:layout_marginLeft=
"@dimen/size_30"
android:scaleType=
"centerCrop"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_30"
android:layout_toRightOf=
"@id/iv_code"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"滴房车"
android:textColor=
"@color/textMain"
android:textSize=
"@dimen/text_16"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"长按二维码查看详情"
android:textColor=
"@color/textLightGrey"
android:textSize=
"@dimen/text_16"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
module_mine/src/main/java/com/rv/rvmine/MineFragment.java
View file @
504e526c
...
@@ -399,6 +399,12 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
...
@@ -399,6 +399,12 @@ public class MineFragment extends BaseFragment<CommonPresenter> implements Simpl
private
void
setBanner
()
{
private
void
setBanner
()
{
if
(
images
!=
null
&&
images
.
size
()
>
0
)
{
mineBanner
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
mineBanner
.
setVisibility
(
View
.
GONE
);
}
mineBanner
.
isAutoPlay
(
true
)
mineBanner
.
isAutoPlay
(
true
)
.
setBannerTitles
(
titles
)
.
setBannerTitles
(
titles
)
.
setImages
(
images
)
.
setImages
(
images
)
...
...
module_mine/src/main/res/layout/activity_mine.xml
View file @
504e526c
...
@@ -269,7 +269,7 @@
...
@@ -269,7 +269,7 @@
android:clickable=
"false"
android:clickable=
"false"
android:gravity=
"center"
android:gravity=
"center"
android:orientation=
"vertical"
android:orientation=
"vertical"
android:visibility=
"
gon
e"
>
android:visibility=
"
visibl
e"
>
<ImageView
<ImageView
android:layout_width=
"@dimen/size_25"
android:layout_width=
"@dimen/size_25"
...
...
module_tourism/build.gradle
View file @
504e526c
...
@@ -55,5 +55,6 @@ dependencies {
...
@@ -55,5 +55,6 @@ dependencies {
api
project
(
':component_control'
)
api
project
(
':component_control'
)
api
project
(
':component_resource'
)
api
project
(
':component_resource'
)
api
project
(
':plugin_coupon'
)
api
project
(
':plugin_coupon'
)
api
project
(
':plugin_poster'
)
}
}
module_tourism/src/main/java/com/rv/tourism/TourismFragment.java
View file @
504e526c
...
@@ -585,6 +585,9 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
...
@@ -585,6 +585,9 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements S
}
else
{
}
else
{
latLatitude
=
result
.
getLocation
().
latitude
;
latLatitude
=
result
.
getLocation
().
latitude
;
lonLongitude
=
result
.
getLocation
().
longitude
;
lonLongitude
=
result
.
getLocation
().
longitude
;
mTourAroundAdapter
.
getData
().
clear
();
mTourAroundAdapter
.
notifyDataSetChanged
();
loadTourAroundData
();
}
}
}
}
});
});
...
...
module_tourism/src/main/java/com/rv/tourism/api/TourismApi.java
View file @
504e526c
...
@@ -37,4 +37,5 @@ public interface TourismApi extends RvFrameConfig {
...
@@ -37,4 +37,5 @@ public interface TourismApi extends RvFrameConfig {
String
TOUR_DETAIL
=
HOST
+
"/api/tour/tourGood/app/unauth/usable/%s"
;
// 旅游详情
String
TOUR_DETAIL
=
HOST
+
"/api/tour/tourGood/app/unauth/usable/%s"
;
// 旅游详情
}
}
module_tourism/src/main/java/com/rv/tourism/other/TravelDetailsActivity.java
View file @
504e526c
...
@@ -30,12 +30,14 @@ import com.frame.base.bus.IDCardCertificationEvent;
...
@@ -30,12 +30,14 @@ import com.frame.base.bus.IDCardCertificationEvent;
import
com.frame.base.bus.Observer
;
import
com.frame.base.bus.Observer
;
import
com.frame.base.bus.RxBus
;
import
com.frame.base.bus.RxBus
;
import
com.frame.base.url.Constance
;
import
com.frame.base.url.Constance
;
import
com.frame.rv.config.CommonApi
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.frame.rv.config.RvFrameConfig
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.google.gson.reflect.TypeToken
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.SPConstance
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.bean.BeanUserInfo
;
import
com.ruiwenliu.wrapper.bean.BeanUserInfo
;
import
com.ruiwenliu.wrapper.util.um.CustomShareListener
;
import
com.ruiwenliu.wrapper.util.um.CustomShareListener
;
import
com.ruiwenliu.wrapper.util.um.ShareManager
;
import
com.ruiwenliu.wrapper.util.um.ShareManager
;
...
@@ -114,6 +116,8 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -114,6 +116,8 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
@Autowired
()
@Autowired
()
double
price
;
double
price
;
private
String
code
;
// public static Intent getIntent(Context context, BeanTourAround.DataBeanX.DataBean dataBean) {
// public static Intent getIntent(Context context, BeanTourAround.DataBeanX.DataBean dataBean) {
// return new Intent(context, TravelDetailsActivity.class)
// return new Intent(context, TravelDetailsActivity.class)
// .putExtra("dataBean", dataBean);
// .putExtra("dataBean", dataBean);
...
@@ -132,7 +136,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -132,7 +136,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
initWeb
();
initWeb
();
initRxbus
();
initRxbus
();
if
(!
TextUtils
.
isEmpty
(
name
)
&&
!
TextUtils
.
isEmpty
(
url
))
{
if
(!
TextUtils
.
isEmpty
(
name
)
&&
!
TextUtils
.
isEmpty
(
url
))
{
String
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
code
=
Cookie
.
getStringValue
(
getApplicationContext
(),
SPConstance
.
USER_JSON_CODE
,
""
);
initShare
(
webUrl
+
"&shareType=app&code="
+
code
,
name
,
" "
,
url
);
initShare
(
webUrl
+
"&shareType=app&code="
+
code
,
name
,
" "
,
url
);
}
}
...
@@ -275,7 +279,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -275,7 +279,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
name
=
beanTourDetail
.
getData
().
getName
();
name
=
beanTourDetail
.
getData
().
getName
();
content
=
beanTourDetail
.
getData
().
getContent
();
content
=
beanTourDetail
.
getData
().
getContent
();
price
=
Double
.
valueOf
(
beanTourDetail
.
getData
().
getPrice
());
price
=
Double
.
valueOf
(
beanTourDetail
.
getData
().
getPrice
());
initShare
(
webUrl
+
"&shareType=app
"
,
name
,
content
,
url
);
initShare
(
webUrl
+
"&shareType=app
&code="
+
code
,
name
,
content
,
url
);
}
}
break
;
break
;
...
@@ -365,7 +369,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -365,7 +369,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
/**
/**
* 初始化分享
* 初始化分享
*/
*/
private
void
initShare
(
final
String
webUrl
,
final
String
name
,
final
String
content
,
final
String
logo
)
{
private
void
initShare
(
final
String
webUrl
s
,
final
String
name
,
final
String
content
,
final
String
logo
)
{
shareManager
=
new
ShareManager
(
this
,
new
ShareBoardlistener
()
{
shareManager
=
new
ShareManager
(
this
,
new
ShareBoardlistener
()
{
@Override
@Override
...
@@ -380,17 +384,15 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -380,17 +384,15 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
}
}
ARouter
.
getInstance
()
ARouter
.
getInstance
()
.
build
(
Constance
.
ACTIVITY_URL_SHAREIMAGE
)
.
build
(
Constance
.
ACTIVITY_URL_POSTERACTIVITY
)
.
withString
(
"icon"
,
icon
)
.
withString
(
"url"
,
webUrls
)
.
withString
(
"name"
,
name
)
.
withString
(
"imageUrl"
,
icon
)
.
withString
(
"keyword"
,
content
)
.
withDouble
(
"price"
,
price
)
.
withString
(
"url"
,
webUrl
)
.
navigation
();
.
navigation
();
}
else
if
(
snsPlatform
.
mShowWord
.
equals
(
"复制链接"
))
{
}
else
if
(
snsPlatform
.
mShowWord
.
equals
(
"复制链接"
))
{
copyText
();
copyText
();
}
}
shareManager
.
showShare
(
share_media
,
webUrl
,
name
,
content
,
logo
shareManager
.
showShare
(
share_media
,
webUrl
s
,
name
,
content
,
logo
,
new
CustomShareListener
(
mActivity
)
{
,
new
CustomShareListener
(
mActivity
)
{
@Override
@Override
...
@@ -433,7 +435,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -433,7 +435,7 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
@JavascriptInterface
@JavascriptInterface
public
String
getToken
()
{
public
String
getToken
()
{
String
token
=
OkGoUtil
.
getToken
();
String
token
=
OkGoUtil
.
getToken
();
if
(
TextUtils
.
isEmpty
(
token
)){
if
(
TextUtils
.
isEmpty
(
token
))
{
ARouter
.
getInstance
().
build
(
Constance
.
ACTIVITY_URL_LOGINRV
).
navigation
();
ARouter
.
getInstance
().
build
(
Constance
.
ACTIVITY_URL_LOGINRV
).
navigation
();
}
}
return
token
;
return
token
;
...
@@ -621,4 +623,22 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
...
@@ -621,4 +623,22 @@ public class TravelDetailsActivity extends BaseStatusActivity<TourismPresenter>
myClipboard
.
setPrimaryClip
(
myClip
);
myClipboard
.
setPrimaryClip
(
myClip
);
showToast
(
"复制成功!"
);
showToast
(
"复制成功!"
);
}
}
/**
* 分享积分
*/
private
void
sharingSuccess
(){
// mPresenter.postBodyData(RvFrameConfig.HOST,0, CommonApi.TOUR_SENDMESSAGE, new Sharing("",""),false);
}
private
class
Sharing
{
private
String
integralRuleCode
;
private
String
userId
;
public
Sharing
(
String
integralRuleCode
,
String
userId
)
{
this
.
integralRuleCode
=
integralRuleCode
;
this
.
userId
=
userId
;
}
}
}
}
plugin_calendar/src/main/java/com/rv/plugin/calendar/CalendarActivity.java
View file @
504e526c
...
@@ -207,7 +207,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
...
@@ -207,7 +207,7 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
return
;
return
;
}
}
if
(
s_begDate
.
equals
(
s_endDate
)
&&
DateUtils
.
formatDate20
(
s_endTime
)
<=
DateUtils
.
formatDate20
(
s_begTime
)){
if
(
s_begDate
.
equals
(
s_endDate
)
&&
DateUtils
.
formatDate20
(
s_endTime
)
<=
DateUtils
.
formatDate20
(
s_begTime
))
{
showToast
(
"还车时刻要大于取车时刻!"
);
showToast
(
"还车时刻要大于取车时刻!"
);
return
;
return
;
}
}
...
@@ -306,6 +306,9 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
...
@@ -306,6 +306,9 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
if
(
CalendarDateUtil
.
getCurDate
().
equals
(
curDay
))
{
if
(
CalendarDateUtil
.
getCurDate
().
equals
(
curDay
))
{
strDay
=
"今天"
;
strDay
=
"今天"
;
day
.
setCurDay
(
true
);
day
.
setCurDay
(
true
);
day
.
setDefTextColor
(
context
.
getResources
().
getColor
(
R
.
color
.
gray_FFB74B
));
day
.
setDefNongTextColor
(
context
.
getResources
().
getColor
(
R
.
color
.
gray_FFB74B
));
day
.
setCanBeChoose
(
false
);
}
else
if
(
CalendarDateUtil
.
compareDateDay
(
CalendarDateUtil
.
getCurDate
(),
curDay
)
>
0
||
spanIndex
>=
MAX_SPAN
)
{
}
else
if
(
CalendarDateUtil
.
compareDateDay
(
CalendarDateUtil
.
getCurDate
(),
curDay
)
>
0
||
spanIndex
>=
MAX_SPAN
)
{
//如果是今天以前
//如果是今天以前
day
.
setDefTextColor
(
context
.
getResources
().
getColor
(
R
.
color
.
ri_lhui
));
day
.
setDefTextColor
(
context
.
getResources
().
getColor
(
R
.
color
.
ri_lhui
));
...
@@ -364,9 +367,11 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
...
@@ -364,9 +367,11 @@ public class CalendarActivity extends BaseStatusActivity<CalendarPresenter> {
* 初始化时间数据
* 初始化时间数据
*/
*/
private
void
initTime
()
{
private
void
initTime
()
{
for
(
int
i
=
0
;
i
<
24
;
i
++)
{
for
(
int
i
=
9
;
i
<
22
;
i
++)
{
timeList
.
add
(
String
.
format
(
"%02d"
,
i
)
+
":00"
);
timeList
.
add
(
String
.
format
(
"%02d"
,
i
)
+
":00"
);
if
(
i
<
21
)
{
timeList
.
add
(
String
.
format
(
"%02d"
,
i
)
+
":30"
);
timeList
.
add
(
String
.
format
(
"%02d"
,
i
)
+
":30"
);
}
}
}
}
}
}
}
plugin_poster/.gitignore
0 → 100644
View file @
504e526c
/build
plugin_poster/build.gradle
0 → 100644
View file @
504e526c
apply
plugin:
'com.android.library'
apply
plugin:
'com.jakewharton.butterknife'
android
{
compileSdkVersion
rootProject
.
ext
.
compileSdkVersion
buildToolsVersion
rootProject
.
ext
.
buildToolsVersion
defaultConfig
{
minSdkVersion
rootProject
.
ext
.
minSdkVersion
targetSdkVersion
rootProject
.
ext
.
targetSdkVersion
versionCode
1
versionName
"1.0"
flavorDimensions
"default"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
javaCompileOptions
{
annotationProcessorOptions
{
arguments
=
[
moduleName:
project
.
getName
()]
}
}
}
buildTypes
{
release
{
minifyEnabled
false
proguardFiles
getDefaultProguardFile
(
'proguard-android-optimize.txt'
),
'proguard-rules.pro'
}
}
productFlavors
{
//开发环境
dev
{
}
sit
{
}
pro
{
}
}
}
dependencies
{
implementation
fileTree
(
include:
[
'*.jar'
],
dir:
'libs'
)
api
'com.jakewharton:butterknife:9.0.0-rc1'
implementation
'com.android.support.constraint:constraint-layout:1.1.3'
annotationProcessor
'com.jakewharton:butterknife-compiler:9.0.0-rc1'
annotationProcessor
'com.alibaba:arouter-compiler:1.1.4'
implementation
'com.alibaba:fastjson:1.2.21'
api
project
(
':RvWrapper'
)
api
project
(
':component_resource'
)
api
project
(
':component_utils'
)
}
plugin_poster/proguard-rules.pro
0 → 100644
View file @
504e526c
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
plugin_poster/src/main/AndroidManifest.xml
0 → 100644
View file @
504e526c
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.rv.poster.plugin"
>
<application>
<activity
android:name=
".PosterActivity"
></activity>
</application>
</manifest>
\ No newline at end of file
module_home/src/main/java/com/rv/home/rv/module/ui/main/home/ShareImage
Activity.java
→
plugin_poster/src/main/java/com/rv/poster/plugin/Poster
Activity.java
View file @
504e526c
package
com
.
rv
.
home
.
rv
.
module
.
ui
.
main
.
home
;
package
com
.
rv
.
poster
.
plugin
;
import
android.Manifest
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.content.res.Configuration
;
import
android.content.res.Configuration
;
import
android.graphics.Bitmap
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.graphics.BitmapFactory
;
import
android.graphics.Canvas
;
import
android.os.Build
;
import
android.graphics.Color
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.Html
;
import
android.support.annotation.NonNull
;
import
android.support.v4.app.ActivityCompat
;
import
android.support.v4.content.ContextCompat
;
import
android.support.v7.widget.CardView
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.alibaba.android.arouter.facade.annotation.Autowired
;
import
com.alibaba.android.arouter.facade.annotation.Autowired
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.alibaba.android.arouter.facade.annotation.Route
;
import
com.bumptech.glide.Glide
;
import
com.bumptech.glide.load.resource.bitmap.RoundedCorners
;
import
com.bumptech.glide.request.RequestOptions
;
import
com.frame.base.url.Constance
;
import
com.frame.base.url.Constance
;
import
com.google.zxing.BarcodeFormat
;
import
com.google.zxing.EncodeHintType
;
import
com.google.zxing.WriterException
;
import
com.google.zxing.common.BitMatrix
;
import
com.google.zxing.qrcode.QRCodeWriter
;
import
com.google.zxing.qrcode.decoder.ErrorCorrectionLevel
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.BaseBean
;
import
com.ruiwenliu.wrapper.base.swipe.SwipeBackActivity
;
import
com.ruiwenliu.wrapper.base.BaseStatusActivity
;
import
com.ruiwenliu.wrapper.statusbar.StatusBarUtil
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.bean.BeanUserInfo
;
import
com.ruiwenliu.wrapper.bean.UserInfoBean
;
import
com.ruiwenliu.wrapper.util.TransformationUtil
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.ruiwenliu.wrapper.util.glide.GlideOptions
;
import
com.ruiwenliu.wrapper.util.um.CustomShareListener
;
import
com.ruiwenliu.wrapper.util.um.CustomShareListener
;
import
com.ruiwenliu.wrapper.util.um.ShareManager
;
import
com.ruiwenliu.wrapper.util.um.ShareManager
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.ruiwenliu.wrapper.weight.TitleView
;
import
com.rv.home.R
;
import
com.rv.component.utils.CacheEnum
;
import
com.rv.home.R2
;
import
com.rv.component.utils.DisplayUtil
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.rv.component.utils.RvCache
;
import
com.umeng.socialize.UMShareAPI
;
import
com.rv.component.utils.ShareUtils
;
import
com.rv.component.utils.ZxingUtils
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
com.umeng.socialize.media.UMImage
;
import
com.umeng.socialize.shareboard.SnsPlatform
;
import
com.umeng.socialize.shareboard.SnsPlatform
;
import
com.umeng.socialize.utils.ShareBoardlistener
;
import
com.umeng.socialize.utils.ShareBoardlistener
;
import
java.util.HashMap
;
import
java.io.File
;
import
java.util.Map
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
@Route
(
path
=
Constance
.
ACTIVITY_URL_SHAREIMAGE
)
/**
public
class
ShareImageActivity
extends
SwipeBackActivity
<
CommonPresenter
>
{
* 租车、旅游、营地海报分享
*/
@Route
(
path
=
Constance
.
ACTIVITY_URL_POSTERACTIVITY
)
public
class
PosterActivity
extends
BaseStatusActivity
<
CommonPresenter
>
{
@BindView
(
R2
.
id
.
iv_goods
)
@BindView
(
R2
.
id
.
img_bill_top
)
ImageView
ivGoods
;
ImageView
imgBillTop
;
@BindView
(
R2
.
id
.
ring_header
)
ImageView
ringHeader
;
@BindView
(
R2
.
id
.
tv_name
)
@BindView
(
R2
.
id
.
tv_name
)
TextView
tvName
;
TextView
tvName
;
@BindView
(
R2
.
id
.
tv_content
)
@BindView
(
R2
.
id
.
img_qrcode
)
TextView
tvContent
;
ImageView
imgQrcode
;
@BindView
(
R2
.
id
.
tv_price
)
@BindView
(
R2
.
id
.
ll_bill_content
)
TextView
tvPrice
;
CardView
llBillContent
;
@BindView
(
R2
.
id
.
iv_code
)
ImageView
ivCode
;
@BindView
(
R2
.
id
.
rl_body
)
RelativeLayout
rlBody
;
private
ShareManager
shareManager
;
@Autowired
()
String
icon
;
@Autowired
()
String
name
;
@Autowired
()
String
keyword
;
@Autowired
()
double
price
;
@Autowired
()
@Autowired
()
String
url
;
String
url
;
@
Override
@
Autowired
()
protected
void
loadData
(
Bundle
savedInstanceState
,
Intent
intent
)
{
String
imageUrl
;
}
private
ShareManager
shareManager
;
private
Bitmap
bitmap
=
null
;
private
UMImage
image
=
null
;
@Override
@Override
protected
int
setLayout
()
{
protected
int
setLayout
()
{
return
R
.
layout
.
rv_act_share_image
;
return
R
.
layout
.
activity_poster
;
}
}
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
super
.
onCreate
(
savedInstanceState
);
titleView
.
setTitle
(
"生成海报"
);
StatusBarUtil
.
setRootViewFitsSystemWindows
(
mActivity
,
false
);
if
(!
TextUtils
.
isEmpty
(
url
))
{
Bitmap
bitmap
=
ZxingUtils
.
createQRImage
(
url
,
DisplayUtil
.
dip2px
(
this
,
150
),
DisplayUtil
.
dip2px
(
this
,
150
),
BitmapFactory
.
decodeResource
(
getResources
(),
R
.
drawable
.
logo_hint
));
imgQrcode
.
setImageBitmap
(
bitmap
);
}
}
@Override
GlideOptions
options
=
GlideOptions
.
placeholderOf
(
com
.
ruiwenliu
.
wrapper
.
R
.
drawable
.
glide_icon_placeholder
).
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
error
(
com
.
ruiwenliu
.
wrapper
.
R
.
drawable
.
glide_icon_error
);
showTitle
(
false
);
TransformationUtil
utils
=
new
TransformationUtil
(
imgBillTop
);
GlideManager
.
getInstance
(
this
).
loadImage3
(
icon
,
ivGoods
);
Glide
.
with
(
this
)
if
(!
TextUtils
.
isEmpty
(
name
))
.
asBitmap
()
.
load
(
imageUrl
)
.
apply
(
options
)
.
apply
(
RequestOptions
.
bitmapTransform
(
new
RoundedCorners
(
12
)).
override
(
imgBillTop
.
getWidth
(),
imgBillTop
.
getHeight
())
.
disallowHardwareConfig
())
.
into
(
utils
);
UserInfoBean
userInfoBean
=
(
UserInfoBean
)
RvCache
.
getInstance
(
getApplicationContext
()).
get
(
CacheEnum
.
USER
);
if
(
userInfoBean
!=
null
&&
userInfoBean
.
getData
()
!=
null
)
{
String
name
=
userInfoBean
.
getData
().
getNickname
();
String
url
=
userInfoBean
.
getData
().
getHeadimgurl
();
if
(!
TextUtils
.
isEmpty
(
url
))
{
GlideManager
.
getInstance
(
getApplicationContext
()).
loadImage
(
url
,
ringHeader
,
R
.
drawable
.
icon_bill_defult
);
}
if
(!
TextUtils
.
isEmpty
(
name
))
{
tvName
.
setText
(
name
);
tvName
.
setText
(
name
);
else
}
tvName
.
setText
(
""
);
}
if
(!
TextUtils
.
isEmpty
(
keyword
))
tvContent
.
setText
(
Html
.
fromHtml
(
keyword
));
else
tvContent
.
setText
(
""
);
tvPrice
.
setText
(
String
.
format
(
"%1$s%2$s"
,
price
,
this
.
getString
(
R
.
string
.
rv_day
)));
//生成带中间图标的二维码
Bitmap
success
=
createQRImage
(
url
,
300
,
300
,
BitmapFactory
.
decodeResource
(
getResources
(),
R
.
mipmap
.
ic_launcher
));
ivCode
.
setImageBitmap
(
success
);
}
}
@Override
@Override
...
@@ -113,26 +121,63 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
...
@@ -113,26 +121,63 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
}
}
@OnClick
({
R2
.
id
.
img_title_left
,
R2
.
id
.
tv_share
,
R2
.
id
.
iv_code
})
public
void
onViewClicked
(
View
view
)
{
int
i
=
view
.
getId
();
if
(
i
==
R
.
id
.
img_title_left
)
{
finish
();
}
else
if
(
i
==
R
.
id
.
tv_share
)
{
@OnClick
({
R2
.
id
.
tv_item_save_bill
,
R2
.
id
.
tv_item_share
})
if
(
rlBody
!=
null
&&
getViewBitmap
(
rlBody
)
!=
null
)
{
public
void
onViewClicked
(
View
view
)
{
initShare
(
getViewBitmap
(
rlBody
));
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
tv_item_save_bill
)
{
preShare
(
0
,
1001
);
}
else
if
(
id
==
R
.
id
.
tv_item_share
)
{
preShare
(
1
,
1002
);
}
}
}
else
if
(
i
==
R
.
id
.
iv_code
)
{
}
/**
* 预备下载 进行 6.0权限检查
*/
private
void
preShare
(
int
type
,
int
requestCode
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
M
)
{
if
(
type
==
0
)
{
saveBill
(
llBillContent
);
}
else
{
share
(
llBillContent
);
}
}
else
{
if
(
ContextCompat
.
checkSelfPermission
(
this
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
)
==
PackageManager
.
PERMISSION_GRANTED
)
{
if
(
type
==
0
)
{
saveBill
(
llBillContent
);
}
else
{
share
(
llBillContent
);
}
}
else
{
//申请权限
ActivityCompat
.
requestPermissions
(
this
,
new
String
[]{
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
},
requestCode
);
}
}
}
}
}
@Override
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onRequestPermissionsResult
(
requestCode
,
permissions
,
grantResults
);
/** attention to this below ,must add this**/
switch
(
requestCode
)
{
UMShareAPI
.
get
(
this
).
onActivityResult
(
requestCode
,
resultCode
,
data
);
case
1001
:
if
(
grantResults
[
0
]
==
PackageManager
.
PERMISSION_GRANTED
)
{
saveBill
(
llBillContent
);
}
else
{
showToast
(
"授权失败,无法分享海报"
);
}
break
;
case
1002
:
if
(
grantResults
[
0
]
==
PackageManager
.
PERMISSION_GRANTED
)
{
share
(
llBillContent
);
}
else
{
showToast
(
"授权失败,无法分享海报"
);
}
break
;
}
}
}
/**
/**
...
@@ -144,38 +189,32 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
...
@@ -144,38 +189,32 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
shareManager
.
close
();
shareManager
.
close
();
}
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
}
/**
/**
****
*
获取scrollview的截屏
*
分享
*/
*/
public
Bitmap
getViewBitmap
(
RelativeLayout
view
)
{
public
void
share
(
View
view
)
{
int
w
=
view
.
getWidth
();
if
(
shareManager
==
null
)
{
int
h
=
view
.
getHeight
();
Bitmap
bmp
=
Bitmap
.
createBitmap
(
w
,
h
,
Bitmap
.
Config
.
ARGB_8888
);
Canvas
c
=
new
Canvas
(
bmp
);
c
.
drawColor
(
Color
.
WHITE
);
/** 如果不设置canvas画布为白色,则生成透明 */
view
.
layout
(
0
,
0
,
w
,
h
);
view
.
draw
(
c
);
return
bmp
;
}
/**
if
(
view
!=
null
&&
bitmap
==
null
)
{
* 初始化分享
bitmap
=
ShareUtils
.
viewConversionBitmap
(
view
);
*/
}
private
void
initShare
(
final
Bitmap
bitmap
)
{
File
file
=
null
;
if
(
bitmap
!=
null
)
{
file
=
ShareUtils
.
saveBitmapFile
(
mActivity
,
bitmap
);
}
if
(
file
!=
null
)
{
image
=
new
UMImage
(
mActivity
,
file
);
//bitmap文件
image
.
compressStyle
=
UMImage
.
CompressStyle
.
SCALE
;
//大小压缩,默认为大小压缩,适合普通很大的图
image
.
compressStyle
=
UMImage
.
CompressStyle
.
QUALITY
;
//质量压缩,适合长图的分享
image
.
compressFormat
=
Bitmap
.
CompressFormat
.
PNG
;
}
if
(
shareManager
==
null
)
{
shareManager
=
new
ShareManager
(
this
,
new
ShareBoardlistener
()
{
shareManager
=
new
ShareManager
(
this
,
new
ShareBoardlistener
()
{
@Override
@Override
public
void
onclick
(
SnsPlatform
snsPlatform
,
SHARE_MEDIA
share_media
)
{
public
void
onclick
(
SnsPlatform
snsPlatform
,
SHARE_MEDIA
share_media
)
{
shareManager
.
showShareImage2
(
share_media
,
image
,
new
CustomShareListener
(
mActivity
)
{
shareManager
.
showShareImage
(
share_media
,
bitmap
,
new
CustomShareListener
(
mActivity
)
{
@Override
@Override
public
void
onResult
(
SHARE_MEDIA
platform
)
{
public
void
onResult
(
SHARE_MEDIA
platform
)
{
super
.
onResult
(
platform
);
super
.
onResult
(
platform
);
...
@@ -200,7 +239,6 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
...
@@ -200,7 +239,6 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
showToast
(
platform
+
"分享成功啦"
);
showToast
(
platform
+
"分享成功啦"
);
}
}
}
}
}
}
...
@@ -209,102 +247,23 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
...
@@ -209,102 +247,23 @@ public class ShareImageActivity extends SwipeBackActivity<CommonPresenter> {
});
});
}
}
shareManager
.
open
();
shareManager
.
open
();
}
public
static
Bitmap
createQRImage
(
String
content
,
int
widthPix
,
int
heightPix
,
Bitmap
logoBm
)
{
try
{
//配置参数
Map
<
EncodeHintType
,
Object
>
hints
=
new
HashMap
<>();
hints
.
put
(
EncodeHintType
.
CHARACTER_SET
,
"utf-8"
);
//容错级别
hints
.
put
(
EncodeHintType
.
ERROR_CORRECTION
,
ErrorCorrectionLevel
.
H
);
//设置空白边距的宽度
hints
.
put
(
EncodeHintType
.
MARGIN
,
1
);
//default is 4
// 图像数据转换,使用了矩阵转换
BitMatrix
bitMatrix
=
null
;
try
{
bitMatrix
=
new
QRCodeWriter
().
encode
(
content
,
BarcodeFormat
.
QR_CODE
,
widthPix
,
heightPix
,
hints
);
}
catch
(
WriterException
e
)
{
e
.
printStackTrace
();
}
int
[]
pixels
=
new
int
[
widthPix
*
heightPix
];
// 下面这里按照二维码的算法,逐个生成二维码的图片,
// 两个for循环是图片横列扫描的结果
for
(
int
y
=
0
;
y
<
heightPix
;
y
++)
{
for
(
int
x
=
0
;
x
<
widthPix
;
x
++)
{
if
(
bitMatrix
.
get
(
x
,
y
))
{
pixels
[
y
*
widthPix
+
x
]
=
0xff000000
;
}
else
{
pixels
[
y
*
widthPix
+
x
]
=
0xffffffff
;
}
}
}
// 生成二维码图片的格式,使用ARGB_8888
Bitmap
bitmap
=
Bitmap
.
createBitmap
(
widthPix
,
heightPix
,
Bitmap
.
Config
.
ARGB_8888
);
bitmap
.
setPixels
(
pixels
,
0
,
widthPix
,
0
,
0
,
widthPix
,
heightPix
);
if
(
logoBm
!=
null
)
{
bitmap
=
Logo
(
bitmap
,
logoBm
);
}
//必须使用compress方法将bitmap保存到文件中再进行读取。直接返回的bitmap是没有任何压缩的,
// 内存消耗巨大!
return
bitmap
;
// return bitmap != null && bitmap.compress(Bitmap.CompressFormat.JPEG, 100);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
null
;
}
private
static
Bitmap
Logo
(
Bitmap
src
,
Bitmap
logo
)
{
/*****
if
(
src
==
null
)
{
* 保存海报
return
null
;
* @param view
}
*/
public
void
saveBill
(
View
view
)
{
if
(
logo
==
null
)
{
if
(
view
!=
null
)
{
return
src
;
Bitmap
bitmap
=
ShareUtils
.
viewConversionBitmap
(
view
);
}
File
file
=
null
;
if
(
bitmap
!=
null
)
{
//获取图片的宽高
file
=
ShareUtils
.
saveBitmapFile
(
mActivity
,
bitmap
);
int
srcWidth
=
src
.
getWidth
();
int
srcHeight
=
src
.
getHeight
();
int
logoWidth
=
logo
.
getWidth
();
int
logoHeight
=
logo
.
getHeight
();
if
(
srcWidth
==
0
||
srcHeight
==
0
)
{
return
null
;
}
}
if
(
file
!=
null
)
{
if
(
logoWidth
==
0
||
logoHeight
==
0
)
{
showToast
(
"海报保存在"
+
file
.
getAbsolutePath
());
return
src
;
}
}
//logo大小为二维码整体大小的1/5
float
scaleFactor
=
srcWidth
*
1.0f
/
5
/
logoWidth
;
Bitmap
bitmap
=
Bitmap
.
createBitmap
(
srcWidth
,
srcHeight
,
Bitmap
.
Config
.
ARGB_8888
);
try
{
Canvas
canvas
=
new
Canvas
(
bitmap
);
canvas
.
drawBitmap
(
src
,
0
,
0
,
null
);
canvas
.
scale
(
scaleFactor
,
scaleFactor
,
srcWidth
/
2
,
srcHeight
/
2
);
canvas
.
drawBitmap
(
logo
,
(
srcWidth
-
logoWidth
)
/
2
,
(
srcHeight
-
logoHeight
)
/
2
,
null
);
canvas
.
save
();
canvas
.
restore
();
}
catch
(
Exception
e
)
{
bitmap
=
null
;
e
.
getStackTrace
();
}
}
return
bitmap
;
}
}
}
}
plugin_poster/src/main/res/layout/activity_poster.xml
0 → 100644
View file @
504e526c
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/colorWrite"
android:orientation=
"vertical"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#F9D993"
>
<android.support.v7.widget.CardView
android:id=
"@+id/ll_bill_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_gravity=
"top"
android:layout_marginLeft=
"@dimen/size_15"
android:layout_marginTop=
"@dimen/size_15"
android:layout_marginRight=
"@dimen/size_15"
android:layout_marginBottom=
"@dimen/size_70"
android:background=
"@color/white"
app:cardCornerRadius=
"5dp"
>
<ScrollView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginTop=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_10"
android:layout_marginBottom=
"@dimen/size_10"
android:scrollbars=
"none"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/img_bill_top"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_10"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<ImageView
android:id=
"@+id/ring_header"
android:layout_width=
"@dimen/size_50"
android:layout_height=
"@dimen/size_50"
/>
<LinearLayout
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_5"
android:layout_weight=
"1"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:singleLine=
"false"
android:textColor=
"@color/colorMain"
android:textSize=
"@dimen/text_18"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right"
android:layout_marginLeft=
"@dimen/text_10"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<View
android:layout_width=
"1px"
android:layout_height=
"@dimen/size_60"
android:background=
"#E1E1E1"
/>
<ImageView
android:id=
"@+id/img_qrcode"
android:layout_width=
"@dimen/size_70"
android:layout_height=
"@dimen/size_70"
android:layout_marginLeft=
"@dimen/size_20"
/>
</LinearLayout>
</LinearLayout>
<include
layout=
"@layout/common_line"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_5"
android:text=
"滴房车app,带你走进房车生活"
android:textColor=
"@color/gray_B4B4B4"
android:textSize=
"@dimen/text_8"
/>
</LinearLayout>
</ScrollView>
</android.support.v7.widget.CardView>
<!--</LinearLayout>-->
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_70"
android:layout_gravity=
"bottom"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_marginRight=
"@dimen/size_10"
android:gravity=
"center_horizontal|bottom"
android:orientation=
"horizontal"
android:paddingTop=
"@dimen/size_20"
android:paddingBottom=
"@dimen/size_10"
>
<TextView
android:id=
"@+id/tv_item_save_bill"
android:layout_width=
"0dp"
android:layout_height=
"@dimen/dp_40"
android:layout_weight=
"1"
android:background=
"@drawable/shape_rv_bg_shallow_while_circle"
android:gravity=
"center"
android:text=
"保存海报"
android:textColor=
"#FE9C36"
android:textSize=
"@dimen/sp_16"
/>
<TextView
android:id=
"@+id/tv_item_share"
android:layout_width=
"0dp"
android:layout_height=
"@dimen/dp_40"
android:layout_marginLeft=
"@dimen/size_10"
android:layout_weight=
"1"
android:background=
"@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:gravity=
"center"
android:text=
"马上分享"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_16"
/>
</LinearLayout>
</FrameLayout>
</LinearLayout>
\ No newline at end of file
plugin_poster/src/main/res/values/strings.xml
0 → 100644
View file @
504e526c
<resources>
<string
name=
"app_name"
>
plugin_poster
</string>
</resources>
plugin_share/build.gradle
View file @
504e526c
...
@@ -4,13 +4,21 @@ android {
...
@@ -4,13 +4,21 @@ android {
compileSdkVersion
28
compileSdkVersion
28
defaultConfig
{
defaultConfig
{
minSdkVersion
19
minSdkVersion
19
targetSdkVersion
28
targetSdkVersion
28
flavorDimensions
"default"
flavorDimensions
"default"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
// javaCompileOptions {
//
// annotationProcessorOptions {
//
// arguments = [moduleName: project.getName()]
//
// }
// }
}
}
buildTypes
{
buildTypes
{
...
@@ -46,6 +54,9 @@ dependencies {
...
@@ -46,6 +54,9 @@ dependencies {
testImplementation
'junit:junit:4.12'
testImplementation
'junit:junit:4.12'
androidTestImplementation
'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test:runner:1.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation
'com.android.support.test.espresso:espresso-core:3.0.2'
// annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
api
project
(
':module_home'
)
api
project
(
':module_home'
)
api
project
(
':component_resource'
)
api
project
(
':component_utils'
)
}
}
plugin_share/src/main/AndroidManifest.xml
View file @
504e526c
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
package=
"com.rv.share"
>
package=
"com.rv.share"
>
<application>
<application>
<activity
android:name=
".ShareActivity"
/>
<activity
android:name=
".ShareActivity"
/>
<activity
android:name=
".BillActivity"
/>
<activity
android:name=
".BillActivity"
/>
<activity
android:name=
".WebViewActivity"
>
<activity
android:name=
".WebViewActivity"
>
...
@@ -17,7 +18,7 @@
...
@@ -17,7 +18,7 @@
</activity>
</activity>
<activity
android:name=
".ReativeBillActivity"
/>
<activity
android:name=
".ReativeBillActivity"
/>
<activity
android:name=
".PopularizeActivity"
/>
<activity
android:name=
".PopularizeActivity"
/>
<activity
android:name=
".ShareRulerActivity"
></activity
>
<activity
android:name=
".ShareRulerActivity"
/
>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
plugin_share/src/main/java/com/rv/share/presenter/BillPresenter.java
View file @
504e526c
...
@@ -10,7 +10,7 @@ import android.view.View;
...
@@ -10,7 +10,7 @@ import android.view.View;
import
android.webkit.WebView
;
import
android.webkit.WebView
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.rv.
share
.utils.StorageUtils
;
import
com.rv.
component
.utils.StorageUtils
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.UMShareListener
;
import
com.umeng.socialize.UMShareListener
;
...
...
plugin_share/src/main/java/com/rv/share/presenter/ReativeBillPresenter.java
View file @
504e526c
...
@@ -6,7 +6,7 @@ import android.view.View;
...
@@ -6,7 +6,7 @@ import android.view.View;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.rv.
share
.utils.ShareUtils
;
import
com.rv.
component
.utils.ShareUtils
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
import
com.umeng.socialize.bean.SHARE_MEDIA
;
...
...
plugin_share/src/main/java/com/rv/share/presenter/SharePresenter.java
View file @
504e526c
...
@@ -13,7 +13,7 @@ import com.rv.component.utils.DisplayUtil;
...
@@ -13,7 +13,7 @@ import com.rv.component.utils.DisplayUtil;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.ruiwenliu.wrapper.base.presenter.CommonPresenter
;
import
com.rv.share.R
;
import
com.rv.share.R
;
import
com.rv.share.ReativeBillActivity
;
import
com.rv.share.ReativeBillActivity
;
import
com.rv.
share
.utils.ShareUtils
;
import
com.rv.
component
.utils.ShareUtils
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.rv.share.view.ShareChoiceDialog
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.ShareAction
;
import
com.umeng.socialize.UMShareListener
;
import
com.umeng.socialize.UMShareListener
;
...
...
settings.gradle
View file @
504e526c
include
':RvFrame'
,
':plugin_carpurchase'
include
':RvFrame'
,
':plugin_carpurchase'
,
':plugin_poster'
include
':RvTravel'
include
':RvTravel'
include
':RvClient'
include
':RvClient'
include
':RvWrapper'
include
':RvWrapper'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment