Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
875973da
authored
Dec 25, 2017
by
罗翻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
将mvp替换成mvvm
parent
fa3b60dd
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
925 additions
and
723 deletions
annotation_lib/build/libs/annotation_lib.jar
app/build.gradle
app/src/main/AndroidManifest.xml
app/src/main/java/com/dayu/bigfish/base/CoreAdapter.java
app/src/main/java/com/dayu/bigfish/presenter/homefourtab/HomeFourContract.java
app/src/main/java/com/dayu/bigfish/presenter/homefourtab/HomePersonPresenter.java
app/src/main/java/com/dayu/bigfish/presenter/main/MainPresenter.java
app/src/main/java/com/dayu/bigfish/presenter/personinfo/PersonInfoContract.java
app/src/main/java/com/dayu/bigfish/presenter/personinfo/PersonInfoPresenter.java
app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
app/src/main/java/com/dayu/bigfish/ui/ModifyPersonInfoActivity.java
app/src/main/java/com/dayu/bigfish/ui/MyHeaderIvActivity.java
app/src/main/java/com/dayu/bigfish/ui/PersonInfoActivity.java
app/src/main/java/com/dayu/bigfish/ui/ProcessOrderActivity.java
app/src/main/java/com/dayu/bigfish/ui/views/CircleImageView.java
app/src/main/java/com/dayu/bigfish/ui/views/StatusBarView.java
app/src/main/java/com/dayu/bigfish/utils/BindingUtils.java
app/src/main/java/com/dayu/bigfish/utils/DiffCallBack.java
app/src/main/java/com/dayu/bigfish/utils/StatusBarUtil.java
app/src/main/res/layout/activity_main.xml
app/src/main/res/layout/activity_modify_person_activity.xml
app/src/main/res/layout/activity_person_info.xml
app/src/main/res/layout/fragment_personal_center.xml
app/src/main/res/layout/my_header_activity.xml
app/src/main/res/mipmap-xxxhdpi/icon_arrow_right.png
app/src/main/res/mipmap-xxxhdpi/icon_authentication.png
app/src/main/res/mipmap-xxxhdpi/icon_identity.png
app/src/main/res/mipmap-xxxhdpi/icon_identity_default.png
app/src/main/res/values/strings.xml
annotation_lib/build/libs/annotation_lib.jar
View file @
875973da
No preview for this file type
app/build.gradle
View file @
875973da
...
@@ -25,6 +25,7 @@ android {
...
@@ -25,6 +25,7 @@ android {
versionName
"1.0.0"
versionName
"1.0.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled
true
multiDexEnabled
true
vectorDrawables
.
useSupportLibrary
=
true
}
}
compileOptions
{
compileOptions
{
...
...
app/src/main/AndroidManifest.xml
View file @
875973da
...
@@ -3,41 +3,40 @@
...
@@ -3,41 +3,40 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.dayu.bigfish"
>
package=
"com.dayu.bigfish"
>
//网络权限
//网络权限
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
//检测联网方式,区分用户设备使用的是2G、3G或是WiFi
//检测联网方式,区分用户设备使用的是2G、3G或是WiFi
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
//获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
//获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
//获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户
//获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.RECORD_AUDIO"
/>
<uses-permission
android:name=
"android.permission.RECORD_AUDIO"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
/>
<uses-permission
android:name=
"android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
/>
<uses-permission
android:name=
"android.permission.GET_TASKS"
/>
<uses-permission
android:name=
"android.permission.GET_TASKS"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.MODIFY_AUDIO_SETTINGS"
/>
<uses-permission
android:name=
"android.permission.MODIFY_AUDIO_SETTINGS"
/>
<uses-permission
android:name=
"android.permission.RECEIVE_BOOT_COMPLETED"
/>
<uses-permission
android:name=
"android.permission.RECEIVE_BOOT_COMPLETED"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.access_network_state"
/>
<uses-permission
android:name=
"android.permission.access_network_state"
/>
<!--读取日志-->
<!-- 读取日志 -->
<uses-permission
android:name=
"android.permission.READ_LOGS"
/>
<uses-permission
android:name=
"android.permission.READ_LOGS"
/>
<!--用于进行网络定位-->
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
></uses-permission>
<!--用于访问GPS定位-->
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
></uses-permission>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
></uses-permission>
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
></uses-permission>
<!--用于申请调用A-GPS模块-->
<uses-permission
android:name=
"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
></uses-permission>
<!--用于申请获取蓝牙信息进行室内定位-->
<uses-permission
android:name=
"android.permission.BLUETOOTH"
></uses-permission>
<uses-permission
android:name=
"android.permission.BLUETOOTH_ADMIN"
></uses-permission>
<!-- 用于进行网络定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_COARSE_LOCATION"
/>
<!-- 用于访问GPS定位 -->
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<!-- 用于写入缓存数据到扩展存储卡 -->
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<!-- 用于申请调用A-GPS模块 -->
<uses-permission
android:name=
"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"
/>
<!-- 用于申请获取蓝牙信息进行室内定位 -->
<uses-permission
android:name=
"android.permission.BLUETOOTH"
/>
<uses-permission
android:name=
"android.permission.BLUETOOTH_ADMIN"
/>
<application
<application
android:name=
".MyApplication"
android:name=
".MyApplication"
...
@@ -46,8 +45,7 @@
...
@@ -46,8 +45,7 @@
android:label=
"@string/tv_dayu"
android:label=
"@string/tv_dayu"
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
android:theme=
"@style/AppTheme"
tools:replace=
"android:label,icon,theme"
tools:replace=
"android:label,icon,theme"
>
>
<provider
<provider
android:name=
"android.support.v4.content.FileProvider"
android:name=
"android.support.v4.content.FileProvider"
android:authorities=
"com.dayu.bigfish.fileProvider"
android:authorities=
"com.dayu.bigfish.fileProvider"
...
@@ -55,148 +53,143 @@
...
@@ -55,148 +53,143 @@
android:grantUriPermissions=
"true"
>
android:grantUriPermissions=
"true"
>
<meta-data
<meta-data
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:name=
"android.support.FILE_PROVIDER_PATHS"
android:resource=
"@xml/file_paths"
/>
android:resource=
"@xml/file_paths"
/>
</provider>
</provider>
<!--
<provider
-->
<!--
<provider
-->
<!--
android:name="android.support.v4.content.FileProvider"
-->
<!--
android:name="android.support.v4.content.FileProvider"
-->
<!--
android:authorities="${applicationId}.provider"
-->
<!--
android:authorities="${applicationId}.provider"
-->
<!--
android:exported="false"
-->
<!--
android:exported="false"
-->
<!--
android:grantUriPermissions="true">
-->
<!--
android:grantUriPermissions="true">
-->
<!--
<meta-data
-->
<!--
<meta-data
-->
<!--
android:name="android.support.FILE_PROVIDER_PATHS"
-->
<!--
android:name="android.support.FILE_PROVIDER_PATHS"
-->
<!--
android:resource="@xml/file_paths"/>
-->
<!--
android:resource="@xml/file_paths"/>
-->
<!--
</provider>
-->
<!--
</provider>
-->
<activity
<activity
android:name=
".SplashActivity"
android:name=
".SplashActivity"
android:
theme=
"@style/SplashTheme
"
android:
screenOrientation=
"portrait
"
>
android:theme=
"@style/SplashTheme"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<!--
友盟统计
-->
<!--
友盟统计
-->
<meta-data
<meta-data
android:name=
"UMENG_APPKEY"
android:name=
"UMENG_APPKEY"
android:value=
"599a41697f2c743210000990"
/>
android:value=
"599a41697f2c743210000990"
/>
<meta-data
<meta-data
android:name=
"UMENG_CHANNEL"
android:name=
"UMENG_CHANNEL"
android:value=
"Channel ID"
/>
android:value=
"Channel ID"
/>
<!--
高德地图
-->
<!--
高德地图
-->
<meta-data
<meta-data
android:name=
"com.amap.api.v2.apikey"
android:name=
"com.amap.api.v2.apikey"
android:value=
"05936ed54259770e56ffd1e67ac77958"
/>
android:value=
"05936ed54259770e56ffd1e67ac77958"
/>
<service
android:name=
"com.amap.api.location.APSService"
></service>
<service
android:name=
"com.amap.api.location.APSService"
/>
<!-- 设置环信应用的AppKey -->
<!-- 设置环信应用的AppKey -->
<meta-data
<meta-data
android:name=
"EASEMOB_APPKEY"
android:name=
"EASEMOB_APPKEY"
android:value=
"1116170816115316#dayuai"
/>
android:value=
"1116170816115316#dayuai"
/>
<!-- 声明SDK所需的service SDK核心功能-->
<!-- 声明SDK所需的service SDK核心功能
-->
<service
<service
android:name=
"com.hyphenate.chat.EMChatService"
android:name=
"com.hyphenate.chat.EMChatService"
android:exported=
"true"
/>
android:exported=
"true"
/>
<service
<service
android:name=
"com.hyphenate.chat.EMJobService"
android:name=
"com.hyphenate.chat.EMJobService"
android:exported=
"true"
android:exported=
"true"
android:permission=
"android.permission.BIND_JOB_SERVICE"
/>
android:permission=
"android.permission.BIND_JOB_SERVICE"
/>
<!-- 声明SDK所需的receiver -->
<!-- 声明SDK所需的receiver -->
<receiver
android:name=
"com.hyphenate.chat.EMMonitorReceiver"
>
<receiver
android:name=
"com.hyphenate.chat.EMMonitorReceiver"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.PACKAGE_REMOVED"
/>
<action
android:name=
"android.intent.action.PACKAGE_REMOVED"
/>
<data
android:scheme=
"package"
/>
<data
android:scheme=
"package"
/>
</intent-filter>
</intent-filter>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.BOOT_COMPLETED"
/>
<action
android:name=
"android.intent.action.BOOT_COMPLETED"
/>
<action
android:name=
"android.intent.action.USER_PRESENT"
/>
<action
android:name=
"android.intent.action.USER_PRESENT"
/>
</intent-filter>
</intent-filter>
</receiver>
</receiver>
<activity
<activity
android:name=
".InitializeActivity"
android:name=
".InitializeActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.LoginActivity"
android:name=
".ui.LoginActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.ReceivingActivity"
android:name=
".ui.ReceivingActivity"
android:theme=
"@style/Transparent"
android:theme=
"@style/Transparent"
/>
/>
<activity
<activity
android:name=
".ui.OrderRecordActivity"
android:name=
".ui.OrderRecordActivity"
android:theme=
"@style/Transparent"
android:theme=
"@style/Transparent"
/>
/>
<activity
<activity
android:name=
".ui.SettingActivity"
android:name=
".ui.SettingActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.SubcribeTimeActivity"
android:name=
".ui.SubcribeTimeActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.OrderDetailsActivity"
android:name=
".ui.OrderDetailsActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.ProcessOrderActivity"
android:name=
".ui.ProcessOrderActivity"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.PreviewActivty"
android:name=
".ui.PreviewActivty"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.AboutUsActivity"
android:name=
".ui.AboutUsActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.FeedBackActivity"
android:name=
".ui.FeedBackActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.AccountBalanceActivity"
android:name=
".ui.AccountBalanceActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.WithdrawalsActivity"
android:name=
".ui.WithdrawalsActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.AgreementActivity"
android:name=
".ui.AgreementActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.MainActivity"
android:name=
".ui.MainActivity"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.MessageDetailActivity"
android:name=
".ui.MessageDetailActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
<activity
android:name=
".ui.SopWebViewActivity"
android:name=
".ui.SopWebViewActivity"
android:screenOrientation=
"portrait"
android:screenOrientation=
"portrait"
/>
/>
<activity
android:name=
".ui.PersonInfoActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.ModifyPersonInfoActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".ui.MyHeaderIvActivity"
android:screenOrientation=
"portrait"
/>
<service
android:name=
".api.DownloadService"
/>
<service
android:name=
".api.DownloadService"
/>
<receiver
android:name=
".utils.NetworkConnectChangedReceiver"
>
<receiver
android:name=
".utils.NetworkConnectChangedReceiver"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.net.conn.CONNECTIVITY_CHANGE"
/>
<action
android:name=
"android.net.conn.CONNECTIVITY_CHANGE"
/>
<action
android:name=
"android.net.wifi.WIFI_STATE_CHANGED"
/>
<action
android:name=
"android.net.wifi.WIFI_STATE_CHANGED"
/>
<action
android:name=
"android.net.wifi.STATE_CHANGE"
/>
<action
android:name=
"android.net.wifi.STATE_CHANGE"
/>
</intent-filter>
</intent-filter>
</receiver>
</receiver>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
app/src/main/java/com/dayu/bigfish/base/CoreAdapter.java
View file @
875973da
...
@@ -154,6 +154,8 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
...
@@ -154,6 +154,8 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
isHasMore
=
true
;
isHasMore
=
true
;
}
}
this
.
mItemList
=
data
.
getData
();
this
.
mItemList
=
data
.
getData
();
// DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallBack(mOldDatas, mItemList), true);
// diffResult.dispatchUpdatesTo(this);
notifyDataSetChanged
();
notifyDataSetChanged
();
}
}
...
...
app/src/main/java/com/dayu/bigfish/presenter/homefourtab/HomeFourContract.java
View file @
875973da
...
@@ -63,5 +63,10 @@ public interface HomeFourContract {
...
@@ -63,5 +63,10 @@ public interface HomeFourContract {
* 跳转到工单记录.
* 跳转到工单记录.
*/
*/
public
abstract
void
dumpToOrderRecord
();
public
abstract
void
dumpToOrderRecord
();
/**
* 跳转到个人资料.
*/
public
abstract
void
dumpToPersonalInfo
();
}
}
}
}
app/src/main/java/com/dayu/bigfish/presenter/homefourtab/HomePersonPresenter.java
View file @
875973da
...
@@ -7,6 +7,7 @@ import com.dayu.bigfish.bean.EngineerInfo;
...
@@ -7,6 +7,7 @@ import com.dayu.bigfish.bean.EngineerInfo;
import
com.dayu.bigfish.bean.OrderRecord
;
import
com.dayu.bigfish.bean.OrderRecord
;
import
com.dayu.bigfish.bean.TodayAchievement
;
import
com.dayu.bigfish.bean.TodayAchievement
;
import
com.dayu.bigfish.bean.TodayBalance
;
import
com.dayu.bigfish.bean.TodayBalance
;
import
com.dayu.bigfish.ui.PersonInfoActivity
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Consumer
;
...
@@ -66,4 +67,9 @@ public class HomePersonPresenter extends HomeFourContract.Presenter {
...
@@ -66,4 +67,9 @@ public class HomePersonPresenter extends HomeFourContract.Presenter {
mView
.
dumpToOrderRecord
();
mView
.
dumpToOrderRecord
();
}
}
@Override
public
void
dumpToPersonalInfo
()
{
startActivity
(
PersonInfoActivity
.
class
);
}
}
}
app/src/main/java/com/dayu/bigfish/presenter/main/MainPresenter.java
View file @
875973da
package
com
.
dayu
.
bigfish
.
presenter
.
main
;
package
com
.
dayu
.
bigfish
.
presenter
.
main
;
import
android.app.Dialog
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.databinding.ObservableField
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Environment
;
import
android.os.Environment
;
...
@@ -18,7 +18,6 @@ import com.dayu.bigfish.bean.Order;
...
@@ -18,7 +18,6 @@ import com.dayu.bigfish.bean.Order;
import
com.dayu.bigfish.bean.UserInfo
;
import
com.dayu.bigfish.bean.UserInfo
;
import
com.dayu.bigfish.bean.VersionInfo
;
import
com.dayu.bigfish.bean.VersionInfo
;
import
com.dayu.bigfish.ui.listener.onDownloadListener
;
import
com.dayu.bigfish.ui.listener.onDownloadListener
;
import
com.dayu.bigfish.ui.views.CustomDialog
;
import
com.dayu.bigfish.utils.AppUtils
;
import
com.dayu.bigfish.utils.AppUtils
;
import
com.dayu.bigfish.utils.SPUtils
;
import
com.dayu.bigfish.utils.SPUtils
;
import
com.dayu.bigfish.utils.managers.UserManager
;
import
com.dayu.bigfish.utils.managers.UserManager
;
...
@@ -37,7 +36,10 @@ import okhttp3.RequestBody;
...
@@ -37,7 +36,10 @@ import okhttp3.RequestBody;
*/
*/
@InstanceFactory
@InstanceFactory
public
class
MainPresenter
extends
MainContract
.
Presenter
{
public
class
MainPresenter
extends
MainContract
.
Presenter
{
/**
* 待接单数目.
*/
public
ObservableField
<
String
>
tabRecive
=
new
ObservableField
(
"0"
);
private
UserInfo
mUser
;
private
UserInfo
mUser
;
private
int
mAccountId
;
private
int
mAccountId
;
private
int
mSiteId
;
private
int
mSiteId
;
...
@@ -108,7 +110,7 @@ public class MainPresenter extends MainContract.Presenter {
...
@@ -108,7 +110,7 @@ public class MainPresenter extends MainContract.Presenter {
ApiFactory
.
getOrders
(
state
,
userId
,
siteId
,
pagerId
,
pagerSize
).
subscribe
(
baseObserver
(
new
Consumer
<
BasePageBean
<
Order
>>()
{
ApiFactory
.
getOrders
(
state
,
userId
,
siteId
,
pagerId
,
pagerSize
).
subscribe
(
baseObserver
(
new
Consumer
<
BasePageBean
<
Order
>>()
{
@Override
@Override
public
void
accept
(
BasePageBean
<
Order
>
orders
)
throws
Exception
{
public
void
accept
(
BasePageBean
<
Order
>
orders
)
throws
Exception
{
mView
.
mBind
.
tabOrderNum
.
setTex
t
(
orders
.
getTotalRows
()
+
""
);
tabRecive
.
se
t
(
orders
.
getTotalRows
()
+
""
);
}
}
}));
}));
}
}
...
@@ -126,12 +128,10 @@ public class MainPresenter extends MainContract.Presenter {
...
@@ -126,12 +128,10 @@ public class MainPresenter extends MainContract.Presenter {
}
}
private
void
showUpdateDialog
(
VersionInfo
info
)
{
private
void
showUpdateDialog
(
VersionInfo
info
)
{
mView
.
showUpdateDialog
(
info
.
getUpgradePrompt
(),
new
CustomDialog
.
OnCloseListener
()
{
mView
.
showUpdateDialog
(
info
.
getUpgradePrompt
(),
(
dialog
,
confirm
)
->
{
@Override
public
void
onClick
(
Dialog
dialog
,
boolean
confirm
)
{
if
(
confirm
)
{
if
(
confirm
)
{
File
sdDir
=
Environment
.
getExternalStorageDirectory
();
File
sdDir
=
Environment
.
getExternalStorageDirectory
();
File
file
=
new
File
(
sdDir
,
"dayu"
+
".apk"
);
File
file
=
new
File
(
sdDir
+
"/dayu/"
,
"dayu"
+
".apk"
);
if
(
Environment
.
getExternalStorageState
().
equals
(
Environment
.
MEDIA_MOUNTED
))
{
if
(
Environment
.
getExternalStorageState
().
equals
(
Environment
.
MEDIA_MOUNTED
))
{
mView
.
showToast
(
R
.
string
.
on_download
);
mView
.
showToast
(
R
.
string
.
on_download
);
mView
.
initNotification
();
mView
.
initNotification
();
...
@@ -165,7 +165,6 @@ public class MainPresenter extends MainContract.Presenter {
...
@@ -165,7 +165,6 @@ public class MainPresenter extends MainContract.Presenter {
}
}
}
}
dialog
.
dismiss
();
dialog
.
dismiss
();
}
});
});
}
}
...
...
app/src/main/java/com/dayu/bigfish/presenter/personinfo/PersonInfoContract.java
0 → 100755
View file @
875973da
package
com
.
dayu
.
bigfish
.
presenter
.
personinfo
;
import
com.dayu.bigfish.base.BasePresenter
;
import
com.dayu.bigfish.base.BaseView
;
/**
* Created by luo on 2016/8/4.
*/
public
interface
PersonInfoContract
{
interface
View
extends
BaseView
{
}
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
public
abstract
void
dumpToHeader
();
public
abstract
void
dumpToModifyPerson
();
}
}
app/src/main/java/com/dayu/bigfish/presenter/personinfo/PersonInfoPresenter.java
0 → 100644
View file @
875973da
package
com
.
dayu
.
bigfish
.
presenter
.
personinfo
;
import
com.app.annotation.apt.InstanceFactory
;
import
com.dayu.bigfish.ui.ModifyPersonInfoActivity
;
import
com.dayu.bigfish.ui.MyHeaderIvActivity
;
/**
* Created by luofan on 2017/11/14.
*/
@InstanceFactory
public
class
PersonInfoPresenter
extends
PersonInfoContract
.
Presenter
{
@Override
public
void
onAttached
()
{
}
@Override
public
void
dumpToHeader
()
{
startActivity
(
MyHeaderIvActivity
.
class
);
}
@Override
public
void
dumpToModifyPerson
()
{
startActivity
(
ModifyPersonInfoActivity
.
class
);
}
}
app/src/main/java/com/dayu/bigfish/ui/MainActivity.java
View file @
875973da
...
@@ -47,6 +47,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -47,6 +47,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
private
HomeOrderFragment
secondFragment
;
private
HomeOrderFragment
secondFragment
;
private
HomeMessageTabFragment
thirdFragment
;
private
HomeMessageTabFragment
thirdFragment
;
private
HomePersonFragment
fourFragment
;
private
HomePersonFragment
fourFragment
;
private
int
mFirstPositon
=
1
;
@Override
@Override
public
int
getLayoutId
()
{
public
int
getLayoutId
()
{
...
@@ -89,9 +90,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -89,9 +90,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
transaction
.
add
(
R
.
id
.
fl_container
,
fragment
);
transaction
.
add
(
R
.
id
.
fl_container
,
fragment
);
transaction
.
hide
(
fragment
);
transaction
.
hide
(
fragment
);
}
}
transaction
.
show
(
mFragments
[
1
]);
transaction
.
show
(
mFragments
[
mFirstPositon
]);
transaction
.
commit
();
transaction
.
commit
();
resetSelected
(
1
);
resetSelected
(
mFirstPositon
);
}
}
/**
/**
...
@@ -112,6 +113,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -112,6 +113,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
/**
/**
* 重置按钮状态.
* 重置按钮状态.
*
* @param position
* @param position
*/
*/
public
void
resetSelected
(
int
position
)
{
public
void
resetSelected
(
int
position
)
{
...
@@ -119,7 +121,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -119,7 +121,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
mTabs
[
i
].
setSelected
(
false
);
mTabs
[
i
].
setSelected
(
false
);
}
}
mTabs
[
position
].
setSelected
(
true
);
mTabs
[
position
].
setSelected
(
true
);
mPosition
=
position
;
mPosition
=
position
;
}
}
...
@@ -166,6 +168,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -166,6 +168,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
/**
/**
* 处理intent传来的信息.
* 处理intent传来的信息.
*
* @param intent
* @param intent
*/
*/
private
void
doAction
(
Intent
intent
)
{
private
void
doAction
(
Intent
intent
)
{
...
@@ -221,7 +224,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
...
@@ -221,7 +224,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
void
recevieNum
(
RefreshReceivingNum
event
)
{
public
void
recevieNum
(
RefreshReceivingNum
event
)
{
m
Bind
.
tabOrderNum
.
setText
(
event
.
getTabNum
()
+
""
);
m
Presenter
.
tabRecive
.
set
(
event
.
getTabNum
()+
""
);
}
}
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
...
...
app/src/main/java/com/dayu/bigfish/ui/ModifyPersonInfoActivity.java
0 → 100644
View file @
875973da
package
com
.
dayu
.
bigfish
.
ui
;
import
android.content.Intent
;
import
android.os.Environment
;
import
android.view.View
;
import
com.dayu.bigfish.R
;
import
com.dayu.bigfish.base.DataBindingActivity
;
import
com.dayu.bigfish.databinding.ActivityModifyPersonActivityBinding
;
import
com.dayu.bigfish.utils.GlideImageLoader
;
import
com.dayu.bigfish.utils.ToastUtils
;
import
com.luck.picture.lib.PictureSelectionModel
;
import
com.luck.picture.lib.PictureSelector
;
import
com.luck.picture.lib.config.PictureConfig
;
import
com.luck.picture.lib.config.PictureMimeType
;
import
com.luck.picture.lib.entity.LocalMedia
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by luofan on 2017/12/25.
*/
public
class
ModifyPersonInfoActivity
extends
DataBindingActivity
<
ActivityModifyPersonActivityBinding
>
{
private
List
<
LocalMedia
>
mSelectList
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_modify_person_activity
;
}
@Override
public
void
initView
()
{
mSelectList
=
new
ArrayList
<>();
mBind
.
ivAdd
.
setOnClickListener
(
v
->
showPicDialog
());
mBind
.
titleBack
.
setOnClickListener
(
v
->
finish
());
mBind
.
ivDelete
.
setOnClickListener
(
v
->
{
mBind
.
rlHeader
.
setVisibility
(
View
.
GONE
);
mBind
.
tvPicNum
.
setText
(
getString
(
R
.
string
.
commite_pic_zero
));
mSelectList
.
clear
();
});
}
public
void
showPicDialog
()
{
if
(
mSelectList
.
size
()
==
1
)
{
ToastUtils
.
showShortToast
(
R
.
string
.
one_pic_most
);
return
;
}
PictureSelectionModel
selector
=
PictureSelector
.
create
(
mActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.
maxSelectNum
(
1
)
// 最大图片选择数量 int
.
imageSpanCount
(
4
)
// 每行显示个数 int
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.
previewImage
(
true
)
// 是否可预览图片 true or false
.
isCamera
(
true
)
// 是否显示拍照按钮 true or false
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
.
sizeMultiplier
(
0.1f
)
// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.
setOutputCameraPath
(
"/CustomPath"
)
// 自定义拍、照保存路径,可不填
.
compress
(
true
)
// 是否压缩 true or false
.
glideOverride
(
300
,
300
)
// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
hideBottomControls
(
true
)
// 是否显示uCrop工具栏,默认不显示 true or false
.
compressSavePath
(
getPath
())
//压缩图片保存地址
.
previewEggs
(
true
)
// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步、
.
enableCrop
(
true
)
//是否裁剪
.
withAspectRatio
(
1
,
1
)
.
freeStyleCropEnabled
(
true
);
selector
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
);
}
private
String
getPath
()
{
String
path
=
Environment
.
getExternalStorageDirectory
()
+
"/dayu/image/"
;
File
file
=
new
File
(
path
);
if
(
file
.
mkdirs
())
{
return
path
;
}
return
path
;
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
resultCode
==
RESULT_OK
)
{
switch
(
requestCode
)
{
case
PictureConfig
.
CHOOSE_REQUEST
:
mSelectList
=
PictureSelector
.
obtainMultipleResult
(
data
);
if
(
mSelectList
!=
null
)
{
for
(
int
a
=
0
;
a
<
mSelectList
.
size
();
a
++)
{
GlideImageLoader
.
load
(
mActivity
,
mSelectList
.
get
(
a
).
getCompressPath
(),
mBind
.
ivHeader
);
mBind
.
rlHeader
.
setVisibility
(
View
.
VISIBLE
);
mBind
.
tvPicNum
.
setText
(
getString
(
R
.
string
.
commite_pic_one
));
}
}
break
;
}
}
}
}
app/src/main/java/com/dayu/bigfish/ui/MyHeaderIvActivity.java
0 → 100644
View file @
875973da
package
com
.
dayu
.
bigfish
.
ui
;
import
android.content.Intent
;
import
android.os.Environment
;
import
com.dayu.bigfish.R
;
import
com.dayu.bigfish.base.DataBindingActivity
;
import
com.dayu.bigfish.databinding.MyHeaderActivityBinding
;
import
com.dayu.bigfish.utils.GlideImageLoader
;
import
com.luck.picture.lib.PictureSelectionModel
;
import
com.luck.picture.lib.PictureSelector
;
import
com.luck.picture.lib.config.PictureConfig
;
import
com.luck.picture.lib.config.PictureMimeType
;
import
com.luck.picture.lib.entity.LocalMedia
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by luofan on 2017/12/25.
*/
public
class
MyHeaderIvActivity
extends
DataBindingActivity
<
MyHeaderActivityBinding
>
{
private
List
<
LocalMedia
>
mSelectList
;
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
my_header_activity
;
}
@Override
public
void
initView
()
{
mSelectList
=
new
ArrayList
<>();
mBind
.
tvRightTitle
.
setOnClickListener
(
v
->
showPicDialog
());
mBind
.
titleBack
.
setOnClickListener
(
v
->
finish
());
}
public
void
showPicDialog
()
{
PictureSelectionModel
selector
=
PictureSelector
.
create
(
mActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.
maxSelectNum
(
1
)
// 最大图片选择数量 int
.
imageSpanCount
(
4
)
// 每行显示个数 int
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.
previewImage
(
true
)
// 是否可预览图片 true or false
.
isCamera
(
true
)
// 是否显示拍照按钮 true or false
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
.
sizeMultiplier
(
0.1f
)
// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.
setOutputCameraPath
(
"/CustomPath"
)
// 自定义拍、照保存路径,可不填
.
compress
(
true
)
// 是否压缩 true or false
.
glideOverride
(
300
,
300
)
// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
hideBottomControls
(
true
)
// 是否显示uCrop工具栏,默认不显示 true or false
.
compressSavePath
(
getPath
())
//压缩图片保存地址
.
previewEggs
(
true
)
// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步、
.
enableCrop
(
true
)
//是否裁剪
.
withAspectRatio
(
1
,
1
)
.
freeStyleCropEnabled
(
true
);
selector
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
);
}
private
String
getPath
()
{
String
path
=
Environment
.
getExternalStorageDirectory
()
+
"/dayu/image/"
;
File
file
=
new
File
(
path
);
if
(
file
.
mkdirs
())
{
return
path
;
}
return
path
;
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
resultCode
==
RESULT_OK
)
{
switch
(
requestCode
)
{
case
PictureConfig
.
CHOOSE_REQUEST
:
mSelectList
=
PictureSelector
.
obtainMultipleResult
(
data
);
if
(
mSelectList
!=
null
)
{
for
(
int
a
=
0
;
a
<
mSelectList
.
size
();
a
++)
{
GlideImageLoader
.
load
(
mActivity
,
mSelectList
.
get
(
a
).
getCompressPath
(),
mBind
.
ivHeader
);
}
}
break
;
}
}
}
}
app/src/main/java/com/dayu/bigfish/ui/PersonInfoActivity.java
0 → 100644
View file @
875973da
package
com
.
dayu
.
bigfish
.
ui
;
import
com.dayu.bigfish.R
;
import
com.dayu.bigfish.base.BaseActivity
;
import
com.dayu.bigfish.databinding.ActivityPersonInfoBinding
;
import
com.dayu.bigfish.presenter.personinfo.PersonInfoContract
;
import
com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter
;
public
class
PersonInfoActivity
extends
BaseActivity
<
PersonInfoPresenter
,
ActivityPersonInfoBinding
>
implements
PersonInfoContract
.
View
{
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
activity_person_info
;
}
@Override
public
void
initView
()
{
}
}
app/src/main/java/com/dayu/bigfish/ui/ProcessOrderActivity.java
View file @
875973da
...
@@ -49,7 +49,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
...
@@ -49,7 +49,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
@Override
@Override
public
void
initView
()
{
public
void
initView
()
{
mSelectList
=
new
ArrayList
<>();
mSelectList
=
new
ArrayList
<>();
mAddIV
.
setOnClickListener
(
v
->
choosePic
());
mAddIV
.
setOnClickListener
(
v
->
showPicDialog
());
}
}
public
void
initAddIv
()
{
public
void
initAddIv
()
{
...
@@ -59,7 +59,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
...
@@ -59,7 +59,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
mAddIV
.
setImageResource
(
R
.
mipmap
.
settopic_pictrue
);
mAddIV
.
setImageResource
(
R
.
mipmap
.
settopic_pictrue
);
}
}
public
void
choosePic
()
{
public
void
showPicDialog
()
{
PictureSelectionModel
selector
=
PictureSelector
.
create
(
mActivity
)
PictureSelectionModel
selector
=
PictureSelector
.
create
(
mActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.
openGallery
(
PictureMimeType
.
ofImage
())
//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.
maxSelectNum
(
5
-
mImages
.
size
())
// 最大图片选择数量 int
.
maxSelectNum
(
5
-
mImages
.
size
())
// 最大图片选择数量 int
...
...
app/src/main/java/com/dayu/bigfish/ui/views/CircleImageView.java
View file @
875973da
...
@@ -15,7 +15,6 @@ import android.graphics.drawable.ColorDrawable;
...
@@ -15,7 +15,6 @@ import android.graphics.drawable.ColorDrawable;
import
android.graphics.drawable.Drawable
;
import
android.graphics.drawable.Drawable
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
import
android.widget.ImageView
;
import
com.dayu.bigfish.R
;
import
com.dayu.bigfish.R
;
...
@@ -23,7 +22,7 @@ import com.dayu.bigfish.R;
...
@@ -23,7 +22,7 @@ import com.dayu.bigfish.R;
* Created by yu on 2017/8/24.
* Created by yu on 2017/8/24.
*/
*/
public
class
CircleImageView
extends
ImageView
{
public
class
CircleImageView
extends
android
.
support
.
v7
.
widget
.
AppCompat
ImageView
{
private
static
final
ScaleType
SCALE_TYPE
=
ScaleType
.
CENTER_CROP
;
private
static
final
ScaleType
SCALE_TYPE
=
ScaleType
.
CENTER_CROP
;
private
static
final
Bitmap
.
Config
BITMAP_CONFIG
=
Bitmap
.
Config
.
ARGB_8888
;
private
static
final
Bitmap
.
Config
BITMAP_CONFIG
=
Bitmap
.
Config
.
ARGB_8888
;
private
static
final
int
COLORDRAWABLE_DIMENSION
=
2
;
private
static
final
int
COLORDRAWABLE_DIMENSION
=
2
;
...
...
app/src/main/java/com/dayu/bigfish/ui/views/StatusBarView.java
deleted
100755 → 0
View file @
fa3b60dd
package
com
.
dayu
.
bigfish
.
ui
.
views
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
android.view.View
;
/**
* Created by Jaeger on 16/6/8.
*
* Email: chjie.jaeger@gmail.com
* GitHub: https://github.com/laobie
*/
public
class
StatusBarView
extends
View
{
public
StatusBarView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
public
StatusBarView
(
Context
context
)
{
super
(
context
);
}
}
app/src/main/java/com/dayu/bigfish/utils/BindingUtils.java
View file @
875973da
...
@@ -102,6 +102,7 @@ public class BindingUtils {
...
@@ -102,6 +102,7 @@ public class BindingUtils {
*
*
* @param view
* @param view
*/
*/
@Deprecated
@BindingAdapter
({
"dataSours"
})
@BindingAdapter
({
"dataSours"
})
public
static
void
setDatas
(
LRecyclerView
view
,
Object
obj
)
{
public
static
void
setDatas
(
LRecyclerView
view
,
Object
obj
)
{
if
(
obj
instanceof
BasePageBean
)
{
if
(
obj
instanceof
BasePageBean
)
{
...
...
app/src/main/java/com/dayu/bigfish/utils/DiffCallBack.java
0 → 100644
View file @
875973da
package
com
.
dayu
.
bigfish
.
utils
;
import
android.support.v7.util.DiffUtil
;
import
com.dayu.bigfish.bean.Order
;
import
java.util.List
;
/**
* Created by luofan on 2017/12/24.
*/
public
class
DiffCallBack
<
M
>
extends
DiffUtil
.
Callback
{
private
List
<
M
>
mOldDatas
;
private
List
<
M
>
mNewDatas
;
public
DiffCallBack
(
List
<
M
>
olddatas
,
List
<
M
>
newDatas
)
{
this
.
mOldDatas
=
olddatas
;
this
.
mNewDatas
=
newDatas
;
}
@Override
public
int
getOldListSize
()
{
return
mOldDatas
!=
null
?
mOldDatas
.
size
()
:
0
;
}
@Override
public
int
getNewListSize
()
{
return
mNewDatas
!=
null
?
mNewDatas
.
size
()
:
0
;
}
@Override
public
boolean
areItemsTheSame
(
int
oldItemPosition
,
int
newItemPosition
)
{
if
(
mNewDatas
.
get
(
0
)
instanceof
Order
)
{
return
((
Order
)
mOldDatas
.
get
(
oldItemPosition
)).
getId
()
==
((
Order
)
mNewDatas
.
get
(
oldItemPosition
)).
getId
();
}
else
{
return
false
;
}
}
@Override
public
boolean
areContentsTheSame
(
int
oldItemPosition
,
int
newItemPosition
)
{
if
(
mNewDatas
.
get
(
0
)
instanceof
Order
)
{
return
((
Order
)
mOldDatas
.
get
(
oldItemPosition
)).
getId
()
==
((
Order
)
mNewDatas
.
get
(
oldItemPosition
)).
getId
();
}
else
{
return
false
;
}
}
}
app/src/main/java/com/dayu/bigfish/utils/StatusBarUtil.java
deleted
100755 → 0
View file @
fa3b60dd
package
com
.
dayu
.
bigfish
.
utils
;
import
android.annotation.TargetApi
;
import
android.app.Activity
;
import
android.app.TabActivity
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.support.annotation.ColorInt
;
import
android.support.v4.widget.DrawerLayout
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
android.widget.LinearLayout
;
import
com.dayu.bigfish.ui.views.StatusBarView
;
/**
* Created by Jaeger on 16/2/14.
* <p>
* Email: chjie.jaeger@gmail.com
* GitHub: https://github.com/laobie
*/
public
class
StatusBarUtil
{
public
static
final
int
DEFAULT_STATUS_BAR_ALPHA
=
112
;
/**
* 设置状态栏颜色
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
public
static
void
setColor
(
Activity
activity
,
@ColorInt
int
color
)
{
setColor
(
activity
,
color
,
DEFAULT_STATUS_BAR_ALPHA
);
}
/**
* 设置状态栏颜色
*
* @param activity 需要设置的activity
* @param color 状态栏颜色值
* @param statusBarAlpha 状态栏透明度
*/
public
static
void
setColor
(
Activity
activity
,
@ColorInt
int
color
,
int
statusBarAlpha
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
);
activity
.
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
activity
.
getWindow
().
setStatusBarColor
(
calculateStatusColor
(
color
,
statusBarAlpha
));
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
ViewGroup
decorView
=
(
ViewGroup
)
activity
.
getWindow
().
getDecorView
();
int
count
=
decorView
.
getChildCount
();
if
(
count
>
0
&&
decorView
.
getChildAt
(
count
-
1
)
instanceof
StatusBarView
)
{
decorView
.
getChildAt
(
count
-
1
).
setBackgroundColor
(
calculateStatusColor
(
color
,
statusBarAlpha
));
}
else
{
StatusBarView
statusView
=
createStatusBarView
(
activity
,
color
,
statusBarAlpha
);
decorView
.
addView
(
statusView
);
}
setRootView
(
activity
);
}
}
/**
* 设置状态栏纯色 不加半透明效果
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
public
static
void
setColorNoTranslucent
(
Activity
activity
,
@ColorInt
int
color
)
{
setColor
(
activity
,
color
,
0
);
}
/**
* 设置状态栏颜色(5.0以下无半透明效果,不建议使用)
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
@Deprecated
public
static
void
setColorDiff
(
Activity
activity
,
@ColorInt
int
color
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
// 生成一个状态栏大小的矩形
ViewGroup
decorView
=
(
ViewGroup
)
activity
.
getWindow
().
getDecorView
();
int
count
=
decorView
.
getChildCount
();
if
(
count
>
0
&&
decorView
.
getChildAt
(
count
-
1
)
instanceof
StatusBarView
)
{
decorView
.
getChildAt
(
count
-
1
).
setBackgroundColor
(
color
);
}
else
{
StatusBarView
statusView
=
createStatusBarView
(
activity
,
color
);
decorView
.
addView
(
statusView
);
}
setRootView
(
activity
);
}
/**
* 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
*/
public
static
void
setTranslucent
(
Activity
activity
)
{
setTranslucent
(
activity
,
DEFAULT_STATUS_BAR_ALPHA
);
}
/**
* 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
*/
public
static
void
setTranslucent
(
Activity
activity
,
int
statusBarAlpha
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
setTransparent
(
activity
);
addTranslucentView
(
activity
,
statusBarAlpha
);
}
/**
* 针对根布局是 CoordinatorLayout, 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
*/
public
static
void
setTranslucentForCoordinatorLayout
(
Activity
activity
,
int
statusBarAlpha
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
transparentStatusBar
(
activity
);
addTranslucentView
(
activity
,
statusBarAlpha
);
}
/**
* 设置状态栏全透明
*
* @param activity 需要设置的activity
*/
public
static
void
setTransparent
(
Activity
activity
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
transparentStatusBar
(
activity
);
setRootView
(
activity
);
}
/**
* 使状态栏透明(5.0以上半透明效果,不建议使用)
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
*/
@Deprecated
public
static
void
setTranslucentDiff
(
Activity
activity
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
// 设置状态栏透明
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
setRootView
(
activity
);
}
}
/**
* 为DrawerLayout 布局设置状态栏变色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
public
static
void
setColorForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
,
@ColorInt
int
color
)
{
setColorForDrawerLayout
(
activity
,
drawerLayout
,
color
,
DEFAULT_STATUS_BAR_ALPHA
);
}
/**
* 为DrawerLayout 布局设置状态栏颜色,纯色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
public
static
void
setColorNoTranslucentForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
,
@ColorInt
int
color
)
{
setColorForDrawerLayout
(
activity
,
drawerLayout
,
color
,
0
);
}
/**
* 为DrawerLayout 布局设置状态栏变色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
* @param statusBarAlpha 状态栏透明度
*/
public
static
void
setColorForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
,
@ColorInt
int
color
,
int
statusBarAlpha
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
);
activity
.
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
activity
.
getWindow
().
setStatusBarColor
(
Color
.
TRANSPARENT
);
}
else
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
// 生成一个状态栏大小的矩形
// 添加 statusBarView 到布局中
ViewGroup
contentLayout
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
0
);
if
(
contentLayout
.
getChildCount
()
>
0
&&
contentLayout
.
getChildAt
(
0
)
instanceof
StatusBarView
)
{
contentLayout
.
getChildAt
(
0
).
setBackgroundColor
(
calculateStatusColor
(
color
,
statusBarAlpha
));
}
else
{
StatusBarView
statusBarView
=
createStatusBarView
(
activity
,
color
);
contentLayout
.
addView
(
statusBarView
,
0
);
}
// 内容布局不是 LinearLayout 时,设置padding top
if
(!(
contentLayout
instanceof
LinearLayout
)
&&
contentLayout
.
getChildAt
(
1
)
!=
null
)
{
contentLayout
.
getChildAt
(
1
)
.
setPadding
(
contentLayout
.
getPaddingLeft
(),
getStatusBarHeight
(
activity
)
+
contentLayout
.
getPaddingTop
(),
contentLayout
.
getPaddingRight
(),
contentLayout
.
getPaddingBottom
());
}
// 设置属性
ViewGroup
drawer
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
1
);
drawerLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setClipToPadding
(
true
);
drawer
.
setFitsSystemWindows
(
false
);
addTranslucentView
(
activity
,
statusBarAlpha
);
}
/**
* 为DrawerLayout 布局设置状态栏变色(5.0以下无半透明效果,不建议使用)
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
@Deprecated
public
static
void
setColorForDrawerLayoutDiff
(
Activity
activity
,
DrawerLayout
drawerLayout
,
@ColorInt
int
color
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
// 生成一个状态栏大小的矩形
ViewGroup
contentLayout
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
0
);
if
(
contentLayout
.
getChildCount
()
>
0
&&
contentLayout
.
getChildAt
(
0
)
instanceof
StatusBarView
)
{
contentLayout
.
getChildAt
(
0
).
setBackgroundColor
(
calculateStatusColor
(
color
,
DEFAULT_STATUS_BAR_ALPHA
));
}
else
{
// 添加 statusBarView 到布局中
StatusBarView
statusBarView
=
createStatusBarView
(
activity
,
color
);
contentLayout
.
addView
(
statusBarView
,
0
);
}
// 内容布局不是 LinearLayout 时,设置padding top
if
(!(
contentLayout
instanceof
LinearLayout
)
&&
contentLayout
.
getChildAt
(
1
)
!=
null
)
{
contentLayout
.
getChildAt
(
1
).
setPadding
(
0
,
getStatusBarHeight
(
activity
),
0
,
0
);
}
// 设置属性
ViewGroup
drawer
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
1
);
drawerLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setClipToPadding
(
true
);
drawer
.
setFitsSystemWindows
(
false
);
}
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public
static
void
setTranslucentForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
)
{
setTranslucentForDrawerLayout
(
activity
,
drawerLayout
,
DEFAULT_STATUS_BAR_ALPHA
);
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public
static
void
setTranslucentForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
,
int
statusBarAlpha
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
setTransparentForDrawerLayout
(
activity
,
drawerLayout
);
addTranslucentView
(
activity
,
statusBarAlpha
);
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public
static
void
setTransparentForDrawerLayout
(
Activity
activity
,
DrawerLayout
drawerLayout
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
);
activity
.
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
activity
.
getWindow
().
setStatusBarColor
(
Color
.
TRANSPARENT
);
}
else
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
ViewGroup
contentLayout
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
0
);
// 内容布局不是 LinearLayout 时,设置padding top
if
(!(
contentLayout
instanceof
LinearLayout
)
&&
contentLayout
.
getChildAt
(
1
)
!=
null
)
{
contentLayout
.
getChildAt
(
1
).
setPadding
(
0
,
getStatusBarHeight
(
activity
),
0
,
0
);
}
// 设置属性
ViewGroup
drawer
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
1
);
drawerLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setFitsSystemWindows
(
false
);
contentLayout
.
setClipToPadding
(
true
);
drawer
.
setFitsSystemWindows
(
false
);
}
/**
* 为 DrawerLayout 布局设置状态栏透明(5.0以上半透明效果,不建议使用)
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
@Deprecated
public
static
void
setTranslucentForDrawerLayoutDiff
(
Activity
activity
,
DrawerLayout
drawerLayout
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
// 设置状态栏透明
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
// 设置内容布局属性
ViewGroup
contentLayout
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
0
);
contentLayout
.
setFitsSystemWindows
(
true
);
contentLayout
.
setClipToPadding
(
true
);
// 设置抽屉布局属性
ViewGroup
vg
=
(
ViewGroup
)
drawerLayout
.
getChildAt
(
1
);
vg
.
setFitsSystemWindows
(
false
);
// 设置 DrawerLayout 属性
drawerLayout
.
setFitsSystemWindows
(
false
);
}
}
/**
* 为头部是 ImageView 的界面设置状态栏全透明
*
* @param activity 需要设置的activity
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTransparentForImageView
(
Activity
activity
,
View
needOffsetView
)
{
setTranslucentForImageView
(
activity
,
0
,
needOffsetView
);
}
/**
* 为头部是 ImageView 的界面设置状态栏透明(使用默认透明度)
*
* @param activity 需要设置的activity
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTranslucentForImageView
(
Activity
activity
,
View
needOffsetView
)
{
setTranslucentForImageView
(
activity
,
DEFAULT_STATUS_BAR_ALPHA
,
needOffsetView
);
}
/**
* 为头部是 ImageView 的界面设置状态栏透明
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTranslucentForImageView
(
Activity
activity
,
int
statusBarAlpha
,
View
needOffsetView
)
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
KITKAT
)
{
return
;
}
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
getWindow
().
setStatusBarColor
(
Color
.
TRANSPARENT
);
activity
.
getWindow
()
.
getDecorView
()
.
setSystemUiVisibility
(
View
.
SYSTEM_UI_FLAG_LAYOUT_STABLE
|
View
.
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
);
if
(
activity
instanceof
TabActivity
){
activity
.
getWindow
()
//兼容TabActivity
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
,
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
}
else
{
activity
.
getWindow
()
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
,
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
addTranslucentView
(
activity
,
statusBarAlpha
);
if
(
needOffsetView
!=
null
)
{
ViewGroup
.
MarginLayoutParams
layoutParams
=
(
ViewGroup
.
MarginLayoutParams
)
needOffsetView
.
getLayoutParams
();
if
(
layoutParams
!=
null
)
{
layoutParams
.
setMargins
(
0
,
getStatusBarHeight
(
activity
),
0
,
0
);
}
}
}
public
static
void
setMargin
(
Activity
activity
,
View
needOffsetView
)
{
if
(
needOffsetView
!=
null
)
{
ViewGroup
.
MarginLayoutParams
layoutParams
=
(
ViewGroup
.
MarginLayoutParams
)
needOffsetView
.
getLayoutParams
();
if
(
layoutParams
!=
null
)
{
layoutParams
.
setMargins
(
0
,
getStatusBarHeight
(
activity
),
0
,
0
);
}
}
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTranslucentForImageViewInFragment
(
Activity
activity
,
View
needOffsetView
)
{
setTranslucentForImageViewInFragment
(
activity
,
DEFAULT_STATUS_BAR_ALPHA
,
needOffsetView
);
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTransparentForImageViewInFragment
(
Activity
activity
,
View
needOffsetView
)
{
setTranslucentForImageViewInFragment
(
activity
,
0
,
needOffsetView
);
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param statusBarAlpha 状态栏透明度
* @param needOffsetView 需要向下偏移的 View
*/
public
static
void
setTranslucentForImageViewInFragment
(
Activity
activity
,
int
statusBarAlpha
,
View
needOffsetView
)
{
setTranslucentForImageView
(
activity
,
statusBarAlpha
,
needOffsetView
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
&&
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
clearPreviousSetting
(
activity
);
}
}
@TargetApi
(
Build
.
VERSION_CODES
.
KITKAT
)
private
static
void
clearPreviousSetting
(
Activity
activity
)
{
ViewGroup
decorView
=
(
ViewGroup
)
activity
.
getWindow
().
getDecorView
();
int
count
=
decorView
.
getChildCount
();
if
(
count
>
0
&&
decorView
.
getChildAt
(
count
-
1
)
instanceof
StatusBarView
)
{
decorView
.
removeViewAt
(
count
-
1
);
ViewGroup
rootView
=
(
ViewGroup
)
((
ViewGroup
)
activity
.
findViewById
(
android
.
R
.
id
.
content
)).
getChildAt
(
0
);
rootView
.
setPadding
(
0
,
0
,
0
,
0
);
}
}
/**
* 添加半透明矩形条
*
* @param activity 需要设置的 activity
* @param statusBarAlpha 透明值
*/
private
static
void
addTranslucentView
(
Activity
activity
,
int
statusBarAlpha
)
{
ViewGroup
contentView
=
(
ViewGroup
)
activity
.
findViewById
(
android
.
R
.
id
.
content
);
if
(
contentView
.
getChildCount
()
>
1
)
{
contentView
.
getChildAt
(
1
).
setBackgroundColor
(
Color
.
argb
(
statusBarAlpha
,
0
,
0
,
0
));
}
else
{
contentView
.
addView
(
createTranslucentStatusBarView
(
activity
,
statusBarAlpha
));
}
}
/**
* 生成一个和状态栏大小相同的彩色矩形条
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
* @return 状态栏矩形条
*/
private
static
StatusBarView
createStatusBarView
(
Activity
activity
,
@ColorInt
int
color
)
{
// 绘制一个和状态栏一样高的矩形
StatusBarView
statusBarView
=
new
StatusBarView
(
activity
);
LinearLayout
.
LayoutParams
params
=
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
getStatusBarHeight
(
activity
));
statusBarView
.
setLayoutParams
(
params
);
statusBarView
.
setBackgroundColor
(
color
);
return
statusBarView
;
}
/**
* 生成一个和状态栏大小相同的半透明矩形条
*
* @param activity 需要设置的activity
* @param color 状态栏颜色值
* @param alpha 透明值
* @return 状态栏矩形条
*/
private
static
StatusBarView
createStatusBarView
(
Activity
activity
,
@ColorInt
int
color
,
int
alpha
)
{
// 绘制一个和状态栏一样高的矩形
StatusBarView
statusBarView
=
new
StatusBarView
(
activity
);
LinearLayout
.
LayoutParams
params
=
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
getStatusBarHeight
(
activity
));
statusBarView
.
setLayoutParams
(
params
);
statusBarView
.
setBackgroundColor
(
calculateStatusColor
(
color
,
alpha
));
return
statusBarView
;
}
/**
* 设置根布局参数
*/
private
static
void
setRootView
(
Activity
activity
)
{
ViewGroup
rootView
=
(
ViewGroup
)
((
ViewGroup
)
activity
.
findViewById
(
android
.
R
.
id
.
content
)).
getChildAt
(
0
);
rootView
.
setFitsSystemWindows
(
true
);
rootView
.
setClipToPadding
(
true
);
}
/**
* 使状态栏透明
*/
@TargetApi
(
Build
.
VERSION_CODES
.
KITKAT
)
private
static
void
transparentStatusBar
(
Activity
activity
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS
);
activity
.
getWindow
().
clearFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_NAVIGATION
);
activity
.
getWindow
().
setStatusBarColor
(
Color
.
TRANSPARENT
);
}
else
{
activity
.
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
}
/**
* 创建半透明矩形 View
*
* @param alpha 透明值
* @return 半透明 View
*/
private
static
StatusBarView
createTranslucentStatusBarView
(
Activity
activity
,
int
alpha
)
{
// 绘制一个和状态栏一样高的矩形
StatusBarView
statusBarView
=
new
StatusBarView
(
activity
);
LinearLayout
.
LayoutParams
params
=
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
getStatusBarHeight
(
activity
));
statusBarView
.
setLayoutParams
(
params
);
statusBarView
.
setBackgroundColor
(
Color
.
argb
(
alpha
,
0
,
0
,
0
));
return
statusBarView
;
}
/**
* 获取状态栏高度
*
* @param context context
* @return 状态栏高度
*/
public
static
int
getStatusBarHeight
(
Context
context
)
{
// 获得状态栏高度
int
resourceId
=
context
.
getResources
().
getIdentifier
(
"status_bar_height"
,
"dimen"
,
"android"
);
return
context
.
getResources
().
getDimensionPixelSize
(
resourceId
);
}
/**
* 计算状态栏颜色
*
* @param color color值
* @param alpha alpha值
* @return 最终的状态栏颜色
*/
private
static
int
calculateStatusColor
(
@ColorInt
int
color
,
int
alpha
)
{
float
a
=
1
-
alpha
/
255
f
;
int
red
=
color
>>
16
&
0xff
;
int
green
=
color
>>
8
&
0xff
;
int
blue
=
color
&
0xff
;
red
=
(
int
)
(
red
*
a
+
0.5
);
green
=
(
int
)
(
green
*
a
+
0.5
);
blue
=
(
int
)
(
blue
*
a
+
0.5
);
return
0xff
<<
24
|
red
<<
16
|
green
<<
8
|
blue
;
}
}
app/src/main/res/layout/activity_main.xml
View file @
875973da
...
@@ -90,7 +90,7 @@
...
@@ -90,7 +90,7 @@
android:id=
"@+id/tab_order_num"
android:id=
"@+id/tab_order_num"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"
0
"
android:text=
"
@{presenter.tabRecive}
"
android:textColor=
"@color/cl_white"
android:textColor=
"@color/cl_white"
android:textSize=
"16.7sp"
android:textSize=
"16.7sp"
/>
/>
...
...
app/src/main/res/layout/activity_modify_person_activity.xml
0 → 100644
View file @
875973da
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<data>
</data>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"#FFF5F5F5"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/cl_home_listview_bg"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/title_idea"
style=
"@style/title"
>
<TextView
android:id=
"@+id/text_idea"
style=
"@style/text_title"
android:text=
"@string/modify_personal_info"
/>
<ImageView
android:id=
"@+id/title_back"
style=
"@style/title_image_back"
/>
<TextView
android:id=
"@+id/tv_right_title"
style=
"@style/title_right_text"
android:text=
"@string/submission_of_audit"
android:textColor=
"#FF4BAFFD"
android:textSize=
"15sp"
/>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_6"
android:layout_alignParentBottom=
"true"
android:src=
"@drawable/line_shape"
/>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:text=
"@string/real_name"
android:textSize=
"15sp"
/>
<EditText
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"35dp"
android:background=
"@null"
android:hint=
"请输入真实姓名"
android:textSize=
"15sp"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_marginBottom=
"10dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:text=
"@string/person_identity"
android:textSize=
"15sp"
/>
<EditText
android:id=
"@+id/tv_identity_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"35dp"
android:background=
"@null"
android:hint=
"请输入证件号"
android:textSize=
"15sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:layout_weight=
"1"
android:text=
"@string/commite_identity_pic"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_pic_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"15dp"
android:text=
"@string/commite_pic_zero"
android:textSize=
"15sp"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"140dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
>
<RelativeLayout
android:id=
"@+id/rl_header"
android:layout_width=
"100dp"
android:layout_height=
"100dp"
android:layout_marginLeft=
"15dp"
android:visibility=
"gone"
>
<ImageView
android:id=
"@+id/iv_header"
android:layout_width=
"100dp"
android:layout_height=
"100dp"
/>
<ImageView
android:id=
"@+id/iv_delete"
android:layout_width=
"18dp"
android:layout_height=
"18dp"
android:layout_alignParentRight=
"true"
android:src=
"@mipmap/img_photo_delete"
/>
</RelativeLayout>
<ImageView
android:id=
"@+id/iv_add"
android:layout_width=
"100dp"
android:layout_height=
"100dp"
android:layout_marginLeft=
"15dp"
android:src=
"@mipmap/icon_identity_default"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:layout_marginTop=
"18sp"
android:text=
"@string/reminder"
android:textColor=
"#FF46ADFC"
android:textSize=
"12sp"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"138dp"
android:layout_marginTop=
"10dp"
android:text=
"@string/reminder_content"
android:textColor=
"#FF8B9198"
android:textSize=
"12sp"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/activity_person_info.xml
0 → 100644
View file @
875973da
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name=
"presenter"
type=
"com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter"
/>
</data>
<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=
"#FFF5F5F5"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/cl_home_listview_bg"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/title_idea"
style=
"@style/title"
>
<TextView
android:id=
"@+id/text_idea"
style=
"@style/text_title"
android:text=
"@string/personal_info"
/>
<ImageView
android:id=
"@+id/title_back"
style=
"@style/title_image_back"
android:onClick=
"@{()->presenter.dumpBack()}"
/>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_6"
android:layout_alignParentBottom=
"true"
android:src=
"@drawable/line_shape"
/>
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"70dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"15dp"
android:layout_weight=
"1"
android:text=
"@string/header_pic"
android:textSize=
"15sp"
/>
<com.dayu.bigfish.ui.views.CircleImageView
android:id=
"@+id/cv_header"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_alignParentRight=
"true"
android:layout_marginLeft=
"10dp"
android:onClick=
"@{()->presenter.dumpToHeader()}"
android:src=
"@mipmap/user"
app:border_color=
"@color/cl_home_circleimageview_bg"
app:border_width=
"@dimen/size_home_circleimageview_border"
/>
<ImageView
android:layout_width=
"15dp"
android:layout_height=
"15dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
android:src=
"@mipmap/icon_arrow_right"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_marginBottom=
"@dimen/dp_10"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_weight=
"1"
android:text=
"@string/person_mobile"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_mobile"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"@dimen/dp_15"
android:text=
"13567810832"
android:textSize=
"15sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:onClick=
"@{()->presenter.dumpToModifyPerson()}"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_weight=
"1"
android:text=
"@string/real_name"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"10dp"
android:text=
"罗"
android:textSize=
"15sp"
/>
<ImageView
android:layout_width=
"15dp"
android:layout_height=
"15dp"
android:layout_marginRight=
"@dimen/dp_15"
android:src=
"@mipmap/icon_arrow_right"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:onClick=
"@{()->presenter.dumpToModifyPerson()}"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_weight=
"1"
android:text=
"@string/person_identity"
android:textSize=
"15sp"
/>
<TextView
android:id=
"@+id/tv_identity"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginRight=
"10dp"
android:text=
"手机号"
android:textSize=
"15sp"
/>
<ImageView
android:layout_width=
"15dp"
android:layout_height=
"15dp"
android:layout_marginRight=
"@dimen/dp_15"
android:src=
"@mipmap/icon_arrow_right"
/>
</LinearLayout>
<View
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"15dp"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"70dp"
android:background=
"@color/white"
android:gravity=
"center_vertical"
android:onClick=
"@{()->presenter.dumpToModifyPerson()}"
android:orientation=
"horizontal"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:layout_weight=
"1"
android:text=
"@string/person_identity_pic"
android:textSize=
"15sp"
/>
<ImageView
android:id=
"@+id/cv_identity"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_marginRight=
"@dimen/dp_10"
android:src=
"@mipmap/icon_identity"
/>
<ImageView
android:layout_width=
"15dp"
android:layout_height=
"15dp"
android:layout_marginRight=
"@dimen/dp_15"
android:src=
"@mipmap/icon_arrow_right"
/>
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_personal_center.xml
View file @
875973da
...
@@ -52,13 +52,15 @@
...
@@ -52,13 +52,15 @@
android:scaleType=
"fitXY"
android:scaleType=
"fitXY"
android:src=
"@mipmap/person_title_view"
/>
android:src=
"@mipmap/person_title_view"
/>
<com.dayu.bigfish.ui.views.CircleImageView
xmlns:app=
"http://schemas.android.com/apk/res-auto"
<com.dayu.bigfish.ui.views.CircleImageView
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/iv_header"
android:id=
"@+id/iv_header"
imageUrl=
"@{imgurl}"
imageUrl=
"@{imgurl}"
android:layout_width=
"
@dimen/size_login_mlcircleimageview_width
"
android:layout_width=
"
86dp
"
android:layout_height=
"
@dimen/size_login_mlcircleimageview_height
"
android:layout_height=
"
86dp
"
android:layout_centerHorizontal=
"true"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"83.3dp"
android:layout_marginTop=
"83.3dp"
android:onClick=
"@{()->presenter.dumpToPersonalInfo()}"
android:src=
"@mipmap/user"
android:src=
"@mipmap/user"
app:border_color=
"@color/cl_home_circleimageview_bg"
app:border_color=
"@color/cl_home_circleimageview_bg"
app:border_width=
"@dimen/size_home_circleimageview_border"
/>
app:border_width=
"@dimen/size_home_circleimageview_border"
/>
...
@@ -74,6 +76,15 @@
...
@@ -74,6 +76,15 @@
android:textColor=
"@color/cl_home_title_text_color"
android:textColor=
"@color/cl_home_title_text_color"
android:textSize=
"14.7sp"
android:textSize=
"14.7sp"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
/>
<ImageView
android:layout_width=
"41dp"
android:layout_height=
"14dp"
android:layout_below=
"@id/iv_header"
android:layout_marginLeft=
"2dp"
android:layout_marginTop=
"17dp"
android:layout_toRightOf=
"@id/tv_name"
android:src=
"@mipmap/icon_authentication"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
<RelativeLayout
...
@@ -157,7 +168,8 @@
...
@@ -157,7 +168,8 @@
android:id=
"@+id/linearLayout_evaluate"
android:id=
"@+id/linearLayout_evaluate"
android:layout_width=
"160dp"
android:layout_width=
"160dp"
android:layout_height=
"100dp"
android:layout_height=
"100dp"
android:layout_below=
"@id/person_line"
>
android:layout_below=
"@id/person_line"
android:background=
"@drawable/personal_center_selector"
>
<TextView
<TextView
android:id=
"@+id/text_today_yeji"
android:id=
"@+id/text_today_yeji"
...
...
app/src/main/res/layout/my_header_activity.xml
0 → 100644
View file @
875973da
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/cl_home_listview_bg"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/title_idea"
style=
"@style/title"
>
<TextView
android:id=
"@+id/text_idea"
style=
"@style/text_title"
android:text=
"@string/title_my_header"
/>
<ImageView
android:id=
"@+id/title_back"
style=
"@style/title_image_back"
/>
<TextView
android:id=
"@+id/tv_right_title"
style=
"@style/title_right_text"
android:text=
"@string/modify_header_iv"
android:textColor=
"#FF2D2D2D"
android:textSize=
"15sp"
/>
<ImageView
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_6"
android:layout_alignParentBottom=
"true"
android:src=
"@drawable/line_shape"
/>
</RelativeLayout>
</RelativeLayout>
<ImageView
android:id=
"@+id/iv_header"
android:layout_width=
"match_parent"
android:layout_height=
"375dp"
android:layout_marginTop=
"50dp"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/mipmap-xxxhdpi/icon_arrow_right.png
0 → 100644
View file @
875973da
1.09 KB
app/src/main/res/mipmap-xxxhdpi/icon_authentication.png
0 → 100644
View file @
875973da
4.05 KB
app/src/main/res/mipmap-xxxhdpi/icon_identity.png
0 → 100644
View file @
875973da
12.5 KB
app/src/main/res/mipmap-xxxhdpi/icon_identity_default.png
0 → 100644
View file @
875973da
26.5 KB
app/src/main/res/values/strings.xml
View file @
875973da
...
@@ -256,6 +256,23 @@
...
@@ -256,6 +256,23 @@
<string
name=
"customer_server_mobile"
>
客服电话
</string>
<string
name=
"customer_server_mobile"
>
客服电话
</string>
<string
name=
"abount_us"
>
关于我们
</string>
<string
name=
"abount_us"
>
关于我们
</string>
<string
name=
"problem_feedback"
>
问题反馈
</string>
<string
name=
"problem_feedback"
>
问题反馈
</string>
<string
name=
"personal_info"
>
个人资料
</string>
<string
name=
"modify_personal_info"
>
修改资料
</string>
<string
name=
"submission_of_audit"
>
提交审核
</string>
<string
name=
"title_my_header"
>
我的头像
</string>
<string
name=
"modify_header_iv"
>
修改头像
</string>
<string
name=
"header_pic"
>
头像
</string>
<string
name=
"person_mobile"
>
手机号码
</string>
<string
name=
"real_name"
>
真实姓名
</string>
<string
name=
"person_identity"
>
身份证号
</string>
<string
name=
"person_identity_pic"
>
身份证照片
</string>
<string
name=
"commite_identity_pic"
>
上传身份证照片
</string>
<string
name=
"commite_pic_zero"
>
已上传0/1张
</string>
<string
name=
"commite_pic_one"
>
已上传1/1张
</string>
<string
name=
"one_pic_most"
>
最多只能选择一张照片
</string>
<string
name=
"reminder"
>
温馨提示
</string>
<string
name=
"reminder_content"
>
"·请上传真实清晰完整的手持身份证照片·若认证失败,可修改认证信息后再次提交"
</string>
<!--error-->
<!--error-->
...
@@ -348,6 +365,4 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
...
@@ -348,6 +365,4 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
1. 甲方同意本平台通过以下任何方式向其送达各类通知或文件,包括但不限于:网页公告、APP公告、大鱼平台账户通知、向甲方预留的联系方式发送电子邮件、短信、信函等\n
1. 甲方同意本平台通过以下任何方式向其送达各类通知或文件,包括但不限于:网页公告、APP公告、大鱼平台账户通知、向甲方预留的联系方式发送电子邮件、短信、信函等\n
2. 如果本协议的任何条款被视为不合法、无效或无法强制执行的,其不应影响本协议任何其他条款的有效性或可执行性。\n
2. 如果本协议的任何条款被视为不合法、无效或无法强制执行的,其不应影响本协议任何其他条款的有效性或可执行性。\n
</string>
</string>
</resources>
</resources>
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