Compare commits
46 Commits
peko_relea
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6d554f141f | ||
![]() |
a6cc7f139f | ||
![]() |
bc8a19e4a4 | ||
![]() |
bec02efd3d | ||
![]() |
b3898958d6 | ||
![]() |
0dfe37c18c | ||
![]() |
dc1436008e | ||
![]() |
64f5ad02e3 | ||
![]() |
3fadb59a54 | ||
![]() |
d5fe1a6b22 | ||
![]() |
f2995f9683 | ||
![]() |
8e659b1d29 | ||
![]() |
788121b77e | ||
![]() |
1aa6643e31 | ||
![]() |
a5f0b24116 | ||
![]() |
39440ad00d | ||
![]() |
80c666e70b | ||
![]() |
c295991315 | ||
![]() |
38c21cab46 | ||
![]() |
9ca41b702a | ||
![]() |
45b2f30f24 | ||
![]() |
0a84780857 | ||
![]() |
96b4365848 | ||
![]() |
d0606048a0 | ||
![]() |
a4470fbdc3 | ||
![]() |
65c4d461e7 | ||
![]() |
b5b582499b | ||
![]() |
1716ae6951 | ||
![]() |
0ba4e18f89 | ||
![]() |
a8db258053 | ||
![]() |
adeff9987b | ||
![]() |
95f7c525ab | ||
![]() |
c6cef55b9a | ||
![]() |
fc66ad40b3 | ||
![]() |
319fb01d1f | ||
![]() |
a10359520e | ||
![]() |
826e27d529 | ||
![]() |
3762a73b57 | ||
![]() |
8132149519 | ||
![]() |
72801de835 | ||
![]() |
474ea419b9 | ||
![]() |
6f39168afe | ||
![]() |
4e7ac5368c | ||
![]() |
c96d968561 | ||
![]() |
b5110e9996 | ||
![]() |
c66b314102 |
10
android_crop_lib/src/main/res/values-ar/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="crop__saving">…جارٍ حفظ الصورة</string>
|
||||
<string name="crop__wait">…انتظر من فضلك</string>
|
||||
<string name="crop__pick_error">لا يوجد مصدر صورة متاح</string>
|
||||
<string name="crop__done">ينهي</string>
|
||||
<string name="crop__cancel">يلغي</string>
|
||||
|
||||
</resources>
|
10
android_crop_lib/src/main/res/values-en/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="crop__saving">Saving photo…</string>
|
||||
<string name="crop__wait">Please wait…</string>
|
||||
<string name="crop__pick_error">No image source available</string>
|
||||
<string name="crop__done">Finish</string>
|
||||
<string name="crop__cancel">Cancel</string>
|
||||
|
||||
</resources>
|
10
android_crop_lib/src/main/res/values-in/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="crop__saving">Menyimpan foto…</string>
|
||||
<string name="crop__wait">Harap tunggu…</string>
|
||||
<string name="crop__pick_error">Tidak ada sumber gambar yang tersedia</string>
|
||||
<string name="crop__done">Menyelesaikan</string>
|
||||
<string name="crop__cancel">Membatalkan</string>
|
||||
|
||||
</resources>
|
10
android_crop_lib/src/main/res/values-tr/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="crop__saving">Fotoğraf kaydediliyor…</string>
|
||||
<string name="crop__wait">Lütfen bekleyin…</string>
|
||||
<string name="crop__pick_error">Görüntü kaynağı yok</string>
|
||||
<string name="crop__done">Sona ermek</string>
|
||||
<string name="crop__cancel">İptal etmek</string>
|
||||
|
||||
</resources>
|
10
android_crop_lib/src/main/res/values-zh-rTW/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<string name="crop__saving">正在儲存相片…</string>
|
||||
<string name="crop__wait">請稍候…</string>
|
||||
<string name="crop__pick_error">沒有可用的圖片來源</string>
|
||||
<string name="crop__done">完成</string>
|
||||
<string name="crop__cancel" tools:ignore="ButtonCase">取消</string>
|
||||
|
||||
</resources>
|
10
android_crop_lib/src/main/res/values-zh/strings.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<string name="crop__saving">正在儲存相片…</string>
|
||||
<string name="crop__wait">請稍候…</string>
|
||||
<string name="crop__pick_error">沒有可用的圖片來源</string>
|
||||
<string name="crop__done">完成</string>
|
||||
<string name="crop__cancel" tools:ignore="ButtonCase">取消</string>
|
||||
|
||||
</resources>
|
@@ -1,10 +1,9 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<resources>
|
||||
|
||||
<string name="crop__saving">正在儲存相片…</string>
|
||||
<string name="crop__wait">請稍候…</string>
|
||||
<string name="crop__pick_error">沒有可用的圖片來源</string>
|
||||
|
||||
<string name="crop__done">完成</string>
|
||||
<string name="crop__cancel" tools:ignore="ButtonCase">取消</string>
|
||||
<string name="crop__saving">Saving photo…</string>
|
||||
<string name="crop__wait">Please wait…</string>
|
||||
<string name="crop__pick_error">No image source available</string>
|
||||
<string name="crop__done">Finish</string>
|
||||
<string name="crop__cancel">Cancel</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -24,7 +24,7 @@
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:paddingRight">20dp</item> <!-- Offsets left drawable -->
|
||||
<item name="android:paddingEnd">20dp</item> <!-- Offsets left drawable -->
|
||||
<item name="android:drawablePadding">8dp</item>
|
||||
<item name="android:textColor">@color/crop__button_text</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
|
BIN
app/src/common/res/mipmap-ar-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 600 B |
BIN
app/src/common/res/mipmap-ar-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 572 B |
BIN
app/src/common/res/mipmap-ar-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 380 B |
BIN
app/src/common/res/mipmap-ar-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 556 B |
BIN
app/src/common/res/mipmap-en-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 643 B |
BIN
app/src/common/res/mipmap-en-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 631 B |
BIN
app/src/common/res/mipmap-en-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 361 B |
BIN
app/src/common/res/mipmap-en-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 536 B |
BIN
app/src/common/res/mipmap-in-rID-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 621 B |
BIN
app/src/common/res/mipmap-in-rID-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 600 B |
BIN
app/src/common/res/mipmap-in-rID-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 409 B |
BIN
app/src/common/res/mipmap-in-rID-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 576 B |
BIN
app/src/common/res/mipmap-tr-rTR-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 604 B |
BIN
app/src/common/res/mipmap-tr-rTR-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 648 B |
BIN
app/src/common/res/mipmap-tr-rTR-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 409 B |
BIN
app/src/common/res/mipmap-tr-rTR-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 576 B |
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 709 B After Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 361 B |
Before Width: | Height: | Size: 470 B After Width: | Height: | Size: 536 B |
BIN
app/src/common/res/mipmap-zh-rTW-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 604 B |
BIN
app/src/common/res/mipmap-zh-rTW-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 709 B |
BIN
app/src/common/res/mipmap-zh-rTW-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 373 B |
BIN
app/src/common/res/mipmap-zh-rTW-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 470 B |
BIN
app/src/common/res/mipmap-zh-xhdpi/ic_user_new_10dp.png
Normal file
After Width: | Height: | Size: 604 B |
BIN
app/src/common/res/mipmap-zh-xhdpi/ic_user_new_13dp.png
Normal file
After Width: | Height: | Size: 709 B |
BIN
app/src/common/res/mipmap-zh-xhdpi/ic_user_official_10dp.png
Normal file
After Width: | Height: | Size: 373 B |
BIN
app/src/common/res/mipmap-zh-xhdpi/ic_user_official_13dp.png
Normal file
After Width: | Height: | Size: 470 B |
@@ -69,8 +69,7 @@
|
||||
<uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE" /> <!-- 兼容flyme3.0配置权限 -->
|
||||
<uses-permission android:name="${applicationId}.push.permission.MESSAGE" />
|
||||
<uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" />
|
||||
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
|
||||
<!-- AppsFlyer需要,参考:https://dev.appsflyer.com/hc/docs/install-android-sdk#setting-required-permissions -->
|
||||
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <!-- AppsFlyer需要,参考:https://dev.appsflyer.com/hc/docs/install-android-sdk#setting-required-permissions -->
|
||||
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
|
||||
|
||||
<application
|
||||
@@ -287,10 +286,6 @@
|
||||
android:name=".home.activity.CollectionRoomActivity"
|
||||
android:label="@string/main_androidmanifest_019"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.wallet.ExchangeGoldActivity"
|
||||
android:label="@string/main_androidmanifest_020"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.setting.SettingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -300,9 +295,6 @@
|
||||
<activity
|
||||
android:name=".ui.relation.FansListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.WithdrawActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.withdraw.bankcard.BindWithdrawBankCardActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -318,18 +310,6 @@
|
||||
<activity
|
||||
android:name=".ui.user.activity.ShowPhotoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.TotalBillsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.WithdrawBillsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.ChargeBillsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.ChatBillsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.setting.FeedbackActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -343,21 +323,6 @@
|
||||
<activity
|
||||
android:name=".ui.webview.SimpleWebViewActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.RedBagBillsActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.BillGiftExpendActivity"
|
||||
android:label="@string/main_androidmanifest_021"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.BillGiftInComeActivity"
|
||||
android:label="@string/main_androidmanifest_022"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bills.activities.BillNobleActivity"
|
||||
android:label="@string/bill_noble_open"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomInviteActivity"
|
||||
android:label="@string/main_androidmanifest_023"
|
||||
@@ -400,42 +365,6 @@
|
||||
android:name=".friend.view.SelectFriendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyPlazaActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyHomeActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilySearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyManageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyCurrencyActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyInfoActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberSearchActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".team.view.NimTeamMessageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -480,10 +409,6 @@
|
||||
android:name=".luckymoney.view.LuckyMoneyDetailActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" /> <!-- android:launchMode="singleTask" -->
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyMemberCurrencyActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".ErbanTakePhotoActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -492,18 +417,6 @@
|
||||
android:name=".team.view.UpdateTeamNameActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilySelectFriendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyTextInputActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".family.view.activity.FamilyGameListActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".treasure_box.activity.TreasureBoxActivity"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
@@ -539,9 +452,6 @@
|
||||
android:name=".ui.user.decorationsend.DecorationSendActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomRankListActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".avroom.activity.RoomOnlineUserActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -665,18 +575,6 @@
|
||||
android:name="com.yizhuan.tutu.room_chat.activity.NimHallTeamRoomMessageActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/room_message_activity" />
|
||||
<activity
|
||||
android:name=".bills.activities.BillGiftIncomeGroupActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".radish.activity.RadishRecordActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".radish.signin.SignInActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".radish.task.activity.TaskCenterActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.patriarch.PatriarchModeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -734,18 +632,9 @@
|
||||
android:name=".miniworld.activity.MiniWorldMainActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".ui.im.friend.ActFriendList" />
|
||||
<activity
|
||||
android:name=".bank_card.activity.BankCardListActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 萝卜-签到-任务 -->
|
||||
<activity
|
||||
android:name=".bank_card.activity.BankCardListUnbindActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bank_card.activity.BankCardBindActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".bank_card.activity.AddBankCardAgreementActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name="com.tongdaxing.erban.sadmin.RoomSAdminManagerActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
@@ -776,10 +665,6 @@
|
||||
<activity
|
||||
android:name="com.zhihu.matisse.internal.ui.SelectedPreviewActivity"
|
||||
android:screenOrientation="portrait" /> <!-- 房间内私聊 -->
|
||||
<activity
|
||||
android:name=".ui.wallet.sendgold.SendGoldActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".pay.activity.GiveGoldActivity"
|
||||
android:screenOrientation="portrait"
|
||||
@@ -972,12 +857,16 @@
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.webview.FairyDialogWebViewActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:theme="@style/dialog_web_view_activity" />
|
||||
<activity
|
||||
android:name=".ui.setting.AreaSelectActivity"
|
||||
android:configChanges="screenSize|orientation|keyboardHidden|mcc|mnc|locale|touchscreen|screenLayout|keyboard|navigation|fontScale|uiMode|smallestScreenSize|layoutDirection"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<meta-data
|
||||
android:name="notch.config"
|
||||
@@ -1018,8 +907,7 @@
|
||||
android:name="com.netease.nimlib.service.NimReceiver"
|
||||
android:exported="false"
|
||||
android:process=":core"
|
||||
tools:node="remove">
|
||||
</receiver>
|
||||
tools:node="remove"></receiver>
|
||||
<receiver android:name="com.netease.nimlib.service.ResponseReceiver" />
|
||||
<receiver
|
||||
android:name=".reciever.IncomingCallReceiver"
|
||||
@@ -1029,6 +917,7 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name=".reciever.NotificationClickReceiver" />
|
||||
|
||||
<service
|
||||
android:name="com.netease.nimlib.service.NimService"
|
||||
android:process=":core" />
|
||||
|
BIN
app/src/main/assets/svga/all_fairy_ar.svga
Normal file
BIN
app/src/main/assets/svga/all_fairy_en.svga
Normal file
BIN
app/src/main/assets/svga/all_fairy_in.svga
Normal file
BIN
app/src/main/assets/svga/all_fairy_tr.svga
Normal file
BIN
app/src/main/assets/svga/lucky_gift_notify_ar.svga
Normal file
BIN
app/src/main/assets/svga/lucky_gift_notify_en.svga
Normal file
BIN
app/src/main/assets/svga/lucky_gift_notify_in.svga
Normal file
BIN
app/src/main/assets/svga/lucky_gift_notify_tr.svga
Normal file
@@ -49,7 +49,7 @@ import com.yizhuan.erban.common.widget.DragLayout;
|
||||
import com.yizhuan.erban.community.dynamic.view.DynamicDetailActivity;
|
||||
import com.yizhuan.erban.community.publish.view.PublishActivity;
|
||||
import com.yizhuan.erban.community.square.SquareFragment;
|
||||
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
|
||||
import com.yizhuan.erban.event.AreaChangeEvent;
|
||||
import com.yizhuan.erban.home.HomeViewModel;
|
||||
import com.yizhuan.erban.home.dialog.NewUserHelloDialog;
|
||||
import com.yizhuan.erban.home.dialog.ProtocolUpdateDialog;
|
||||
@@ -89,6 +89,7 @@ import com.yizhuan.xchat_android_core.auth.event.LogoutEvent;
|
||||
import com.yizhuan.xchat_android_core.channel_page.model.ChannelPageModel;
|
||||
import com.yizhuan.xchat_android_core.community.event.SquareTaskEvent;
|
||||
import com.yizhuan.xchat_android_core.community.event.UnReadCountEvent;
|
||||
import com.yizhuan.xchat_android_core.home.bean.MainTabInfo;
|
||||
import com.yizhuan.xchat_android_core.home.bean.MainTabType;
|
||||
import com.yizhuan.xchat_android_core.home.event.RefreshHomeDataEvent;
|
||||
import com.yizhuan.xchat_android_core.home.event.VisitorUnreadCountEvent;
|
||||
@@ -190,6 +191,21 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
/**
|
||||
* 让页面重新执行生命周期
|
||||
* @param context
|
||||
* @param extras
|
||||
*/
|
||||
public static void startNewTask(Context context, Intent extras) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClass(context, MainActivity.class);
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
if (extras != null) {
|
||||
intent.putExtras(extras);
|
||||
}
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true 如果处理了跳转
|
||||
*/
|
||||
@@ -204,8 +220,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
// 跳转
|
||||
if (!StringUtil.isEmpty(linkedInfo.getRoomUid()) && linkedInfo.getType().equals("2")) {
|
||||
AVRoomActivity.start(context, Long.parseLong(linkedInfo.getRoomUid()));
|
||||
} else if (!StringUtil.isEmpty(linkedInfo.getFamilyId()) && linkedInfo.getType().equals("4")) {
|
||||
FamilyHomeActivity.start(context, linkedInfo.getFamilyId());
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getUrl()) && linkedInfo.getType().equals("3")) {
|
||||
CommonWebViewActivity.start(context, UriProvider.getLinkUrl(linkedInfo.getUrl()));
|
||||
} else if (!TextUtils.isEmpty(linkedInfo.getWorldId()) && linkedInfo.getType().equals("5")) {
|
||||
@@ -247,11 +261,15 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
.doOnError(throwable -> onNeedLogin())
|
||||
.subscribe();
|
||||
initView();
|
||||
InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfo -> {
|
||||
if (mainTabInfo != null) {
|
||||
mMainTabLayout.setMainTabInfoList(mainTabInfo);
|
||||
}
|
||||
});
|
||||
// InitialModel.get().getMainTabInfosLiveData().observeForever(mainTabInfo -> {
|
||||
// if (mainTabInfo != null) {
|
||||
// mMainTabLayout.setMainTabInfoList(mainTabInfo);
|
||||
// }
|
||||
// });
|
||||
List<MainTabInfo> tabInfoList = InitialModel.get().getDefaultMainTab();
|
||||
if (tabInfoList != null) {
|
||||
mMainTabLayout.setMainTabInfoList(tabInfoList);
|
||||
}
|
||||
//检测更新
|
||||
AppUpgradeHelper.checkAppUpgrade(this);
|
||||
initMaterialView();
|
||||
@@ -579,6 +597,12 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onAreaChangeEvent(AreaChangeEvent event) {
|
||||
toast(getString(R.string.succeeded_in_switching_the_partition));
|
||||
startNewTask(this, null);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onNeedCompleteInfo(NeedCompleteInfoEvent event) {
|
||||
getDialogManager().dismissDialog();
|
||||
|
@@ -12,17 +12,14 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.yizhuan.erban.avroom.activity.AVRoomActivity;
|
||||
import com.yizhuan.erban.base.BaseActivity;
|
||||
import com.yizhuan.erban.radish.signin.SignInActivity;
|
||||
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.utils.PushMessageHandler;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.OpenRoomNotiAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.OpenSignInAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RedPackageAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomInviteFansAttachment;
|
||||
import com.yizhuan.xchat_android_library.utils.UIUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
@@ -106,11 +103,6 @@ public class NimMiddleActivity extends BaseActivity {
|
||||
if (noticeAttachment.getUid() > 0) {
|
||||
AVRoomActivity.start(this, noticeAttachment.getUid());
|
||||
}
|
||||
} else if (attachment instanceof OpenSignInAttachment) {
|
||||
if (AuthModel.get().isImLogin()
|
||||
&& !UIUtils.isTopActivity(this, SignInActivity.class.getSimpleName())) {
|
||||
SignInActivity.start(this);
|
||||
}
|
||||
} else if (attachment.getFirst() == CustomAttachment.CUSTOM_MSG_RED_PACKAGE) {
|
||||
if (attachment.getSecond() == CustomAttachment.CUSTOM_MSG_SUB_RED_PACKAGE_RECEIVE_ALL_DIAMOND) {
|
||||
RedPackageAttachment redPackageAttachment = (RedPackageAttachment) attachment;
|
||||
|
@@ -27,8 +27,6 @@ import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
|
||||
/**
|
||||
* 全局处理,比如App弹窗
|
||||
* create by lvzebiao @2019/8/14
|
||||
|
@@ -49,7 +49,6 @@ import com.yizhuan.erban.common.app.ActivityStack;
|
||||
import com.yizhuan.erban.common.util.AppLifeCycleHelper;
|
||||
import com.yizhuan.erban.module_hall.HallDataManager;
|
||||
import com.yizhuan.erban.other.activity.SplashActivity;
|
||||
import com.yizhuan.erban.radish.wallet.RadishWalletManager;
|
||||
import com.yizhuan.erban.utils.PushMessageHandler;
|
||||
import com.yizhuan.xchat_android_constants.XChatConstants;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
@@ -442,8 +441,6 @@ public class XChatApplication extends BaseApp {
|
||||
DynamicFaceModel.get().init();
|
||||
PayModel.get();
|
||||
UserModel.get();
|
||||
//ui层的萝卜钱包
|
||||
RadishWalletManager.get();
|
||||
//model层的
|
||||
RadishModel.get();
|
||||
|
||||
|
@@ -30,7 +30,6 @@ import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.common.widget.dialog.DialogManager;
|
||||
import com.yizhuan.erban.databinding.ActivityVoiceMatchBinding;
|
||||
import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity;
|
||||
import com.yizhuan.erban.ui.widget.higuide.TuTuGuideHelper;
|
||||
import com.yizhuan.xchat_android_core.audio.AudioModel;
|
||||
import com.yizhuan.xchat_android_core.audio.bean.HistoryVoiceInfo;
|
||||
import com.yizhuan.xchat_android_core.audio.bean.VoiceMatchInfo;
|
||||
@@ -38,10 +37,8 @@ import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.music.model.PlayerModel;
|
||||
import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.ActivityUtil;
|
||||
import com.yizhuan.xchat_android_core.utils.SharedPreferenceUtils;
|
||||
import com.yizhuan.xchat_android_core.utils.net.DontWarnObserver;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
@@ -160,23 +157,6 @@ public class VoiceMatchActivity extends BaseViewBindingActivity<ActivityVoiceMat
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示引导图的时机
|
||||
* 1. 首次进入页面(isNeedHiGuide)
|
||||
* 2. 请求数据且数据不为空时
|
||||
*/
|
||||
private void showGuide() {
|
||||
/*引导图*/
|
||||
binding.svgaGroupVoiceLike.postDelayed(() -> {
|
||||
if (!ActivityUtil.isValidContext(context)) {
|
||||
return;
|
||||
}
|
||||
TuTuGuideHelper guideHelper = new TuTuGuideHelper(context);
|
||||
guideHelper.createHiGuide(() -> guideHelper.createVoiceMatchGuide(binding.svgaGroupVoiceLike, binding.layoutMyVoiceEntrance));
|
||||
TuTuGuideHelper.setNoNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_VOICE_MATCH);
|
||||
}, 500);
|
||||
}
|
||||
|
||||
private void queryHistoryVoice() {
|
||||
AudioModel.get().queryHistoryVoice(AuthModel.get().getCurrentUid())
|
||||
.compose(bindUntilEvent(ActivityEvent.DESTROY))
|
||||
@@ -377,10 +357,6 @@ public class VoiceMatchActivity extends BaseViewBindingActivity<ActivityVoiceMat
|
||||
if (isFinishing() || isDestroyed()) {
|
||||
return;
|
||||
}
|
||||
if (TuTuGuideHelper.isNeedHiGuide(TuTuGuideHelper.KEY_GUIDE_VOICE_MATCH)
|
||||
&& !ListUtils.isListEmpty(voiceMatchInfos)) {
|
||||
showGuide();// 首次进入页面(isNeedHiGuide)且 请求成功数据不为空时,显示引导图
|
||||
}
|
||||
if (voiceMatchInfos != null) {
|
||||
if (voiceMatchInfos.size() == 0) {
|
||||
binding.groupVoiceLayout.setVisibility(View.INVISIBLE);
|
||||
|
@@ -161,7 +161,7 @@ public class ButtonItemFactory {
|
||||
|
||||
//关注
|
||||
buttonItems.add(createAttentItem());
|
||||
//关注
|
||||
//@Ta
|
||||
buttonItems.add(createAtItem());
|
||||
|
||||
final RoomInfo currentRoom = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
|
@@ -49,7 +49,6 @@ import com.opensource.svgaplayer.SVGAVideoEntity;
|
||||
import com.orhanobut.logger.Logger;
|
||||
import com.trello.rxlifecycle3.android.ActivityEvent;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.dialog.NewUserGiftDialog;
|
||||
import com.yizhuan.erban.avroom.dialog.SingleRoomTipDialog;
|
||||
import com.yizhuan.erban.avroom.firstcharge.FirstChargeDialog;
|
||||
import com.yizhuan.erban.avroom.fragment.FakeSingleRoomBackFragment;
|
||||
@@ -88,7 +87,6 @@ import com.yizhuan.xchat_android_core.auth.event.LogoutEvent;
|
||||
import com.yizhuan.xchat_android_core.bean.BaseProtocol;
|
||||
import com.yizhuan.xchat_android_core.channel_page.bean.HelloMessageInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.GiftModel;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftInfo;
|
||||
import com.yizhuan.xchat_android_core.gift.bean.LuckyBagNoticeInfo;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPKAttachment;
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean;
|
||||
@@ -1046,7 +1044,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
//获取管理员
|
||||
getMvpPresenter().getNormalChatMember();
|
||||
getMvpPresenter().getSuperAdminList();
|
||||
getMvpPresenter().checkNewUserGift();
|
||||
if (UserUtils.getUserInfo().isFirstCharge()) {
|
||||
getMvpPresenter().checkFirstCharge();
|
||||
}
|
||||
@@ -1284,11 +1281,6 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
this::handlePmExitRoom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showNewUserDialog(GiftInfo giftInfo) {
|
||||
new NewUserGiftDialog(giftInfo).show(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showFirstChargeDialog(FirstChargeInfo firstChargeInfo) {
|
||||
Single.timer(firstChargeInfo.getShowAfterSecond() * 1000L, TimeUnit.MILLISECONDS, AndroidSchedulers.mainThread())
|
||||
|
@@ -1,95 +0,0 @@
|
||||
package com.yizhuan.erban.avroom.activity;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.fragment.RoomCharmListFragment;
|
||||
import com.yizhuan.erban.avroom.fragment.RoomContributeListFragment;
|
||||
import com.yizhuan.erban.base.BaseBindingActivity;
|
||||
import com.yizhuan.erban.databinding.ActivityRoomRankListBinding;
|
||||
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 房间排行榜,(魅力榜+贡献榜)
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_room_rank_list)
|
||||
public class RoomRankListActivity extends BaseBindingActivity<ActivityRoomRankListBinding> {
|
||||
|
||||
|
||||
public static void start(Context context) {
|
||||
Intent intent = new Intent(context, RoomRankListActivity.class);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
private String [] bgPicture = new String[]{""};
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
mBinding.setClick(this);
|
||||
List<Fragment> list = new ArrayList<>();
|
||||
list.add(RoomCharmListFragment.newInstance());
|
||||
list.add(new RoomContributeListFragment());
|
||||
mBinding.viewPager.setAdapter(new FragmentStatePagerAdapter(getSupportFragmentManager()) {
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return list.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return list.size();
|
||||
}
|
||||
});
|
||||
mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
mBinding.setPosition(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
AVRoomActivity.setBackBg(this, AvRoomDataManager.get().mCurrentRoomInfo, mBinding.svgaImageViewBg, bgPicture);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
super.onClick(v);
|
||||
switch (v.getId()) {
|
||||
case R.id.iv_back:
|
||||
finish();
|
||||
break;
|
||||
case R.id.tv_charm_tab:
|
||||
mBinding.viewPager.setCurrentItem(0);
|
||||
break;
|
||||
case R.id.tv_contribute_tab:
|
||||
mBinding.viewPager.setCurrentItem(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (mBinding.svgaImageViewBg.isAnimating()) {
|
||||
mBinding.svgaImageViewBg.clearAnimation();
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,48 +0,0 @@
|
||||
package com.yizhuan.erban.avroom.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.xchat_android_library.list.BaseGroupItem;
|
||||
import com.yizhuan.xchat_android_library.list.ViewHolder;
|
||||
|
||||
/**
|
||||
* Created by chenran on 2017/8/9.
|
||||
*/
|
||||
|
||||
public class AuctionListHeaderItem extends BaseGroupItem{
|
||||
public AuctionListHeaderItem(Context context, int viewType) {
|
||||
super(context, viewType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ViewHolder createViewHolder(ViewGroup group) {
|
||||
View view = LayoutInflater.from(getContext()).inflate(R.layout.list_item_auction_header, null);
|
||||
AuctionListHeaderItem.AuctionListHeaderHolder holder = new AuctionListHeaderItem.AuctionListHeaderHolder(view);
|
||||
return holder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateHolder(ViewHolder holder, int groupPos, int childPos) {
|
||||
AuctionListHeaderItem.AuctionListHeaderHolder auctionListHolder = (AuctionListHeaderItem.AuctionListHeaderHolder) holder;
|
||||
if (auctionListHolder != null) {
|
||||
if (getViewType() == AuctionListAdapter.VIEW_TYPE_WEEK_HEADER) {
|
||||
auctionListHolder.image.setImageResource(R.drawable.icon_week_auction_list);
|
||||
} else {
|
||||
auctionListHolder.image.setImageResource(R.drawable.icon_total_auction_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static class AuctionListHeaderHolder extends ViewHolder {
|
||||
private ImageView image;
|
||||
public AuctionListHeaderHolder(View itemView) {
|
||||
super(itemView);
|
||||
image = (ImageView) itemView.findViewById(R.id.auction_list_header);
|
||||
}
|
||||
}
|
||||
}
|
@@ -100,13 +100,17 @@ class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context)
|
||||
) {
|
||||
tvSelectedStatus.text =
|
||||
if (AvRoomDataManager.get().isDatingVipMic(it.selectMicPosition)
|
||||
) ResUtil.getString(R.string.avroom_adapter_datingmicroviewadapter_01) else "選${it.selectMicPosition + 1}號"
|
||||
) ResUtil.getString(R.string.avroom_adapter_datingmicroviewadapter_01) else "${
|
||||
context.getString(
|
||||
R.string.micro_select
|
||||
)
|
||||
}${it.selectMicPosition + 1}${context.getString(R.string.micro_number)}"
|
||||
} else {
|
||||
tvSelectedStatus.text = "已選擇"
|
||||
tvSelectedStatus.text = context.getString(R.string.micro_have_select)
|
||||
}
|
||||
} else {
|
||||
tvSelectedStatus.isSelected = false
|
||||
tvSelectedStatus.text = "未選擇"
|
||||
tvSelectedStatus.text = context.getString(R.string.micro_no_select)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +132,8 @@ class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context)
|
||||
if (AvRoomDataManager.POSITION_VIP_MIC == position) {
|
||||
tvNick.text = ""
|
||||
} else if (position != -1) {
|
||||
tvNick.text = "號${if (manMicro) "男神" else "女神"}位"
|
||||
tvNick.text = "${context.getString(R.string.micro_number)}${if (manMicro) context.getString(
|
||||
R.string.god) else context.getString(R.string.goddess)}${context.getString(R.string.place)}"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,7 +150,7 @@ class DatingMicroViewAdapter(context: Context?) : BaseMicroViewAdapter(context)
|
||||
super.bind(info, position)
|
||||
if (info.mChatRoomMember == null) {
|
||||
tvNick.alpha = 1f
|
||||
tvNick.text = "主持人"
|
||||
tvNick.text = context.getString(R.string.micro_compere)
|
||||
ivVipWear.isVisible = false
|
||||
} else {
|
||||
if (info.mChatRoomMember.isVipMic) {
|
||||
|
@@ -12,7 +12,7 @@ class RoomPKSearchAdapter :
|
||||
|
||||
override fun convert(helper: BaseViewHolder, item: SimpleRoomInfo) {
|
||||
helper.setText(R.id.tv_room_title,item.title.subAndReplaceDot(7))
|
||||
.setText(R.id.tv_room_id,"Peko号:${item.erbanNo}")
|
||||
.setText(R.id.tv_room_id,"${mContext.getString(R.string.peko_number)}${item.erbanNo}")
|
||||
.setChecked(R.id.check_box,item.checked)
|
||||
ImageLoadUtils.loadImage(mContext,item.avatar,helper.getView(R.id.iv_avatar))
|
||||
helper.addOnClickListener(R.id.iv_avatar,R.id.check_box)
|
||||
|
@@ -54,7 +54,7 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
|
||||
roomPkBean.csRank.getOrNull(0)?.let {
|
||||
binding.tvNickContribute.text = it.nick.subAndReplaceDot(7)
|
||||
binding.tvValueContribute.text = "神豪值:${it.amount}"
|
||||
binding.tvValueContribute.text = "${getString(R.string.divine_value)}${it.amount}"
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
it.avatar,
|
||||
@@ -65,7 +65,7 @@ class RoomPkFinishDialog : BaseDialog<DialogRoomPkFinishBinding>() {
|
||||
|
||||
roomPkBean.crRank.getOrNull(0)?.let {
|
||||
binding.tvNickCharm.text = it.nick.subAndReplaceDot(7)
|
||||
binding.tvValueCharm.text = "魅力值:${it.amount}"
|
||||
binding.tvValueCharm.text = "${getString(R.string.charm_value)}${it.amount}"
|
||||
ImageLoadUtils.loadImage(
|
||||
context,
|
||||
it.avatar,
|
||||
|
@@ -3,6 +3,7 @@ package com.yizhuan.erban.avroom.anotherroompk
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import androidx.core.view.isVisible
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.DialogRoomPkReceivedBinding
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean
|
||||
@@ -37,7 +38,7 @@ class RoomPkReceivedDialog : BaseDialog<DialogRoomPkReceivedBinding>() {
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
binding.tvNick.text = pkBean.inviteRoomTitle.subAndReplaceDot(7)
|
||||
binding.tvTime.text = "${pkBean.pkDuration}分鐘"
|
||||
binding.tvTime.text = "${pkBean.pkDuration}${getString(R.string.avroom_dialog_pktimepickerdialog_01)}"
|
||||
pkBean.pkDesc.ifNotNullOrEmpty {
|
||||
binding.tvDescTitle.isVisible = true
|
||||
binding.tvDesc.isVisible = true
|
||||
|
@@ -1,19 +0,0 @@
|
||||
package com.yizhuan.erban.avroom.dialog
|
||||
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.DialogNewUserGiftBinding
|
||||
import com.yizhuan.erban.ui.utils.load
|
||||
import com.yizhuan.xchat_android_core.gift.bean.GiftInfo
|
||||
|
||||
class NewUserGiftDialog(val giftInfo: GiftInfo) :
|
||||
BaseDialog<DialogNewUserGiftBinding>() {
|
||||
|
||||
override fun init() {
|
||||
binding.ivClose.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
binding.ivGift.load(giftInfo.giftUrl)
|
||||
binding.tvGiftName.text = "${giftInfo.giftName}*${giftInfo.count}"
|
||||
}
|
||||
|
||||
}
|
@@ -7,6 +7,7 @@ import android.text.Editable
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.view.WindowManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.avroom.adapter.SendBroadcastAdapter
|
||||
import com.yizhuan.erban.base.BaseActivity
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
@@ -91,12 +92,12 @@ class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
broadcastInfo = info
|
||||
rvDelegate.setNewData(info.recommends)
|
||||
binding.tvAvailableCountNum.text = "${info.availableTimes}/${info.total}"
|
||||
binding.editContent.hint = "输入内容不能少于${info.minWords}个字,请文明发言哦~"
|
||||
binding.editContent.hint = "${getString(R.string.input_content_cannot_be_less_than)}${info.minWords}${getString(R.string.please_speak_civilized_oh)}"
|
||||
binding.tvContentNumLimit.text = "0/${info.maxWords}"
|
||||
if (info.seconds > 0) {
|
||||
beginIntervalTime(info)
|
||||
} else {
|
||||
binding.tvSendHint.text = "发布后,${info.minutes}分钟内不可再发布广播"
|
||||
binding.tvSendHint.text = "${getString(R.string.after_the_release)}${info.minutes}${getString(R.string.do_not_broadcast_within_minutes)}"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +108,7 @@ class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.compose(bindToLifecycle())
|
||||
.doOnComplete {
|
||||
binding.tvSendHint.text = "发布后,${info.minutes}分钟内不可再发布广播"
|
||||
binding.tvSendHint.text = "${getString(R.string.after_the_release)}${info.minutes}${getString(R.string.do_not_broadcast_within_minutes)}"
|
||||
}
|
||||
.subscribe {
|
||||
binding.tvSendHint.text = SpannableBuilder()
|
||||
@@ -115,7 +116,7 @@ class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
"${info.seconds - it}",
|
||||
ForegroundColorSpan(Color.parseColor("#FFFDA615"))
|
||||
)
|
||||
.append("后可以再次发布")
|
||||
.append(getString(R.string.you_can_publish_it_again))
|
||||
.build()
|
||||
}
|
||||
}
|
||||
@@ -123,13 +124,13 @@ class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
@SuppressLint("CheckResult")
|
||||
private fun sendBroadcast() {
|
||||
if (broadcastInfo == null) {
|
||||
"数据加载中,请稍后...".toast()
|
||||
getString(R.string.data_loading_please_wait).toast()
|
||||
return
|
||||
}
|
||||
broadcastInfo?.let {
|
||||
val msg = binding.editContent.text
|
||||
if (msg.isNullOrEmpty() || msg.length < it.minWords) {
|
||||
"输入内容不能少于${it.minWords}个字!".toast()
|
||||
"${getString(R.string.the_input_content_cannot_be_less_than)}${it.minWords}${getString(R.string.a_world)}".toast()
|
||||
return@let
|
||||
}
|
||||
val dialogManager = (requireActivity() as BaseActivity).dialogManager
|
||||
@@ -138,7 +139,7 @@ class SendBroadcastDialog : BaseDialog<DialogSendBroadcastBinding>() {
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(
|
||||
{
|
||||
"发送成功".toast()
|
||||
getString(R.string.send_success).toast()
|
||||
dialogManager.dismissDialog()
|
||||
dismissAllowingStateLoss()
|
||||
},
|
||||
|
@@ -117,6 +117,7 @@ import io.reactivex.disposables.Disposable
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
import java.util.*
|
||||
|
||||
|
||||
/**
|
||||
@@ -702,7 +703,13 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
.compose(bindUntilEvent(FragmentEvent.DESTROY))
|
||||
.doOnError {
|
||||
if (it is VipLevelNotEnoughException) {
|
||||
dialogManager.showOkDialog("尚未達到贈送${giftInfo.giftName}所需貴族等級,所需貴族等級:${giftInfo.giftVipInfo?.vipName}")
|
||||
dialogManager.showOkDialog(
|
||||
"${getString(R.string.not_yet_given)}${giftInfo.giftName}${
|
||||
getString(
|
||||
R.string.rank_of_nobility_required
|
||||
)
|
||||
}${giftInfo.giftVipInfo?.vipName}"
|
||||
)
|
||||
}
|
||||
}
|
||||
.subscribe { _, throwable ->
|
||||
@@ -754,7 +761,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
) {
|
||||
val buttonItems: MutableList<ButtonItem> = ArrayList(4)
|
||||
val presideMic = AvRoomDataManager.get().isDatingMode && micPosition == -1
|
||||
val presideText = if (presideMic) "當主持人" else ""
|
||||
val presideText = if (presideMic) getString(R.string.maria_bartiromo) else ""
|
||||
val buttonItem1 = ButtonItem(
|
||||
getString(R.string.embrace_up_mic) + presideText,
|
||||
object : ButtonItem.OnClickListener {
|
||||
@@ -800,7 +807,13 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
}
|
||||
})
|
||||
val buttonItem4 =
|
||||
ButtonItem("上麥") { toUpMicroPhone(micPosition, currentUid.toString() + "", false) }
|
||||
ButtonItem(getString(R.string.up_micro)) {
|
||||
toUpMicroPhone(
|
||||
micPosition,
|
||||
currentUid.toString() + "",
|
||||
false
|
||||
)
|
||||
}
|
||||
//別問為什麽,ui調整了順序
|
||||
//禁用超管的上麥和抱TA上麥
|
||||
if (!SuperAdminUtil.isSuperAdmin()) {
|
||||
@@ -984,7 +997,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
@SuppressLint("CheckResult")
|
||||
override fun toUpMicroPhone(micPosition: Int, currentUid: String, b: Boolean) {
|
||||
if (AvRoomDataManager.get().isSelfGamePlaying) {
|
||||
SingleToastUtil.showToast("遊戲中不可以換麥!")
|
||||
SingleToastUtil.showToast(getString(R.string.not_change_wheat_in_the_game))
|
||||
return
|
||||
}
|
||||
UserModel.get().cacheLoginUserInfo?.gameStatus = GameStatus.STATUS_NOT_JOIN
|
||||
@@ -993,9 +1006,9 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
if (result) {
|
||||
mvpPresenter?.upMicroPhone(micPosition, currentUid, b)
|
||||
} else {
|
||||
toast("請給予麥克風權限後再試!")
|
||||
toast(getString(R.string.please_give_the_microphone_permission))
|
||||
}
|
||||
}, { _: Throwable? -> toast("發生一些異常,請稍後重試!") })
|
||||
}, { _: Throwable? -> toast(getString(R.string.something_abnormal_happens)) })
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1059,7 +1072,9 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
val rvSpeedyMessage =
|
||||
speedyMessageContainer.findViewById<RecyclerView>(R.id.rv_speedy_message)
|
||||
val phrases = AvRoomDataManager.get().phrases
|
||||
if (ListUtils.isListEmpty(phrases) || !TimeUtils.isTomorrow(DemoCache.readSpeedyMessageGoneTime())) {
|
||||
if (ListUtils.isListEmpty(phrases) || !TimeUtils.isTomorrow(DemoCache.readSpeedyMessageGoneTime())
|
||||
|| Locale.getDefault().language != "zh"
|
||||
) {
|
||||
speedyMessageContainer.visibility = View.GONE
|
||||
return
|
||||
}
|
||||
@@ -1084,10 +1099,10 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
val roomInfo =
|
||||
AvRoomDataManager.get().mCurrentRoomInfo ?: return@setOnItemClickListener
|
||||
if (roomInfo.isCloseScreen) {
|
||||
toast("房間公屏已關閉")
|
||||
toast(getString(R.string.public_screen_in_the_room_is_closed))
|
||||
return@setOnItemClickListener
|
||||
}
|
||||
SingleToastUtil.showToast("你發送的太頻繁啦,請稍後再試")
|
||||
SingleToastUtil.showToast(getString(R.string.send_too_often))
|
||||
}
|
||||
}
|
||||
speedyMessageContainer.findViewById<View>(R.id.iv_close_speedy_message).setOnClickListener {
|
||||
@@ -1101,7 +1116,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
}
|
||||
|
||||
override fun onFollowFail(msg: String?) {
|
||||
toast("關註失敗,請稍後重試")
|
||||
toast(getString(R.string.focus_failure))
|
||||
}
|
||||
|
||||
override fun updateMicView() {
|
||||
@@ -1200,7 +1215,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_BROADCASTER)
|
||||
updateMicBtn()
|
||||
} else {
|
||||
toast("開啟權限後才能開麥")
|
||||
toast(getString(R.string.only_after_the_permission_is_enabled))
|
||||
}
|
||||
}
|
||||
return
|
||||
@@ -1227,7 +1242,7 @@ open class BaseRoomFragment<V : IBaseRoomView?, P : BaseRoomPresenter<V>?> :
|
||||
dynamicFaceDialog?.show()
|
||||
}
|
||||
} else {
|
||||
toast("上麥才能發表情哦!")
|
||||
toast(getString(R.string.you_have_to_do_it_on_the_mic))
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -449,7 +449,7 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
|
||||
if (AvRoomDataManager.get().isOpenGame()) {
|
||||
gameMainBinding.tvCurrGame.setText(currentRoomInfo.getMgName());
|
||||
} else {
|
||||
gameMainBinding.tvCurrGame.setText(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_08));
|
||||
gameMainBinding.tvCurrGame.setText(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_05));
|
||||
}
|
||||
GameModel.INSTANCE.getGameList()
|
||||
.compose(bindToLifecycle())
|
||||
@@ -463,7 +463,7 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe
|
||||
}
|
||||
}
|
||||
GameInfo gameInfo = new GameInfo();
|
||||
gameInfo.setName(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_09));
|
||||
gameInfo.setName(ResUtil.getString(R.string.avroom_fragment_homepartyfragment_05));
|
||||
gameInfos.add(gameInfo);
|
||||
}
|
||||
gameAdapter.setNewData(gameInfos);
|
||||
|
@@ -3,6 +3,7 @@ package com.yizhuan.erban.avroom.fragment;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
|
||||
import com.yizhuan.erban.avroom.widget.RankNavigatorAdapter;
|
||||
import com.yizhuan.erban.base.BaseBindingFragment;
|
||||
@@ -26,7 +27,7 @@ public class RoomCharmListFragment extends BaseBindingFragment<FragmentRoomCharm
|
||||
ArrayList<Fragment> fragments = new ArrayList<>(2);
|
||||
fragments.add(RoomCharmRankingListFragment.newInstance(RoomContributeDataInfo.TYPE_ROOM_DAY_RANKING));
|
||||
fragments.add(RoomCharmRankingListFragment.newInstance(RoomContributeDataInfo.TYPE_ROOM_WEEK_RANKING));
|
||||
mBinding.vpCharmRankings.setAdapter(new RoomContributeListAdapter(getChildFragmentManager(), fragments));
|
||||
mBinding.vpCharmRankings.setAdapter(new CommonVPAdapter(getChildFragmentManager(), getLifecycle(), fragments));
|
||||
CommonNavigator commonNavigator = new CommonNavigator(getActivity());
|
||||
commonNavigator.setAdjustMode(false);
|
||||
|
||||
|
@@ -2,8 +2,10 @@ package com.yizhuan.erban.avroom.fragment;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
import androidx.viewpager2.widget.ViewPager2;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
|
||||
import com.yizhuan.erban.avroom.widget.RankNavigatorAdapter;
|
||||
import com.yizhuan.erban.base.BaseMvpFragment;
|
||||
@@ -21,7 +23,7 @@ import java.util.ArrayList;
|
||||
*/
|
||||
public class RoomContributeListFragment extends BaseMvpFragment implements IMvpBaseView {
|
||||
|
||||
private ViewPager viewPager;
|
||||
private ViewPager2 viewPager;
|
||||
private MagicIndicator viewIndicator;
|
||||
|
||||
@Override
|
||||
@@ -43,7 +45,7 @@ public class RoomContributeListFragment extends BaseMvpFragment implements IMvpB
|
||||
if (AvRoomDataManager.get().isDatingMode()) {
|
||||
fragments.add(RoomContributeFragment.newInstance(RoomContributeDataInfo.TYPE_ROOM_MONTH_RANKING));
|
||||
}
|
||||
viewPager.setAdapter(new RoomContributeListAdapter(getChildFragmentManager(), fragments));
|
||||
viewPager.setAdapter(new CommonVPAdapter(getChildFragmentManager(), getLifecycle(), fragments));
|
||||
CommonNavigator commonNavigator = new CommonNavigator(getActivity());
|
||||
commonNavigator.setAdjustMode(false);
|
||||
RankNavigatorAdapter indicator = new RankNavigatorAdapter(AvRoomDataManager.get().isDatingMode());
|
||||
|
@@ -16,6 +16,7 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomRankFragmentPageAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@@ -5,6 +5,7 @@ import android.view.View;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
|
||||
import com.yizhuan.erban.avroom.widget.RoomRankNavigatorAdapter;
|
||||
import com.yizhuan.erban.base.BaseBindingFragment;
|
||||
@@ -29,7 +30,7 @@ public class RoomRankListFragment extends BaseBindingFragment<FragmentRoomRankLi
|
||||
List<Fragment> list = new ArrayList<>(2);
|
||||
list.add(new RoomContributeListFragment());
|
||||
list.add(RoomCharmListFragment.newInstance());
|
||||
mBinding.viewPager.setAdapter(new RoomContributeListAdapter(getChildFragmentManager(), list));
|
||||
mBinding.viewPager.setAdapter(new CommonVPAdapter(getChildFragmentManager(), getLifecycle(), list));
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(getActivity());
|
||||
commonNavigator.setAdjustMode(true);
|
||||
|
@@ -129,7 +129,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
|
||||
|
||||
if (initInfo.hasFansTeamCurrentRoom) {
|
||||
if (AvRoomDataManager.get().isRoomOwner) {
|
||||
gameBinding.tvFansTeamOpt.text = "粉絲團(${initInfo.anchorFansNum})"
|
||||
gameBinding.tvFansTeamOpt.text = "${getString(R.string.fans_club)}${initInfo.anchorFansNum})"
|
||||
clickListener = View.OnClickListener {
|
||||
DialogWebViewActivity.start(
|
||||
requireContext(),
|
||||
@@ -139,7 +139,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
|
||||
} else {
|
||||
if (initInfo.isAnchorFans) {
|
||||
gameBinding.tvFansTeamOpt.text =
|
||||
"粉絲LV.${if (initInfo.fansLevelSeq == 0) 1 else initInfo.fansLevelSeq}"
|
||||
"${getString(R.string.fans_lv)}${if (initInfo.fansLevelSeq == 0) 1 else initInfo.fansLevelSeq}"
|
||||
clickListener = View.OnClickListener {
|
||||
FansTeamJoinedActivity.start(requireContext())
|
||||
}
|
||||
@@ -151,7 +151,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
|
||||
}
|
||||
} else {
|
||||
if (AvRoomDataManager.get().isRoomOwner) {
|
||||
gameBinding.tvFansTeamOpt.text = "開通粉絲團"
|
||||
gameBinding.tvFansTeamOpt.text = getString(R.string.open_a_fan_club)
|
||||
clickListener = View.OnClickListener {
|
||||
CommonWebViewActivity.start(
|
||||
requireContext(),
|
||||
@@ -159,7 +159,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
|
||||
)
|
||||
}
|
||||
} else {
|
||||
gameBinding.tvFansTeamOpt.text = "該主播暫未開通粉絲團"
|
||||
gameBinding.tvFansTeamOpt.text = getString(R.string.the_anchor_has_not_yet_opened_the_fan_group)
|
||||
}
|
||||
}
|
||||
gameBinding.flFansTeam.setOnClickListener(clickListener)
|
||||
|
@@ -423,28 +423,6 @@ public class AvRoomPresenter extends BaseMvpPresenter<IAvRoomView> {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否需要显示新用户礼弹窗
|
||||
*/
|
||||
@SuppressLint("CheckResult")
|
||||
public void checkNewUserGift() {
|
||||
|
||||
if (AvRoomDataManager.get().isRoomOwner() ||
|
||||
!DemoCache.readNewUserGift())
|
||||
return;
|
||||
|
||||
Single.timer(3, TimeUnit.SECONDS)
|
||||
.flatMap(aLong -> AvRoomModel.get().getNewUserGift())
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(giftInfo -> {
|
||||
DemoCache.saveNewUserGift(false);
|
||||
if (getMvpView() != null && !TextUtils.isEmpty(giftInfo.getGiftUrl())) {
|
||||
getMvpView().showNewUserDialog(giftInfo);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查是否需要显示首充弹窗
|
||||
*/
|
||||
|
@@ -455,12 +455,12 @@ public class BaseRoomPresenter<V extends IBaseRoomView> extends BaseMvpPresenter
|
||||
ChatRoomMessage firstMsg = IMNetEaseManager.get().getFirstMessageContent();
|
||||
IMNetEaseManager.get().addCloseScreenMessages(firstMsg);
|
||||
if (AvRoomDataManager.get().closeScreenBySAdmin()) {
|
||||
contentText = "系統檢測涉嫌違規,予以關閉公屏消息警告";
|
||||
contentText = ResUtil.getString(R.string.the_system_detects_suspected_violations);
|
||||
} else {
|
||||
contentText = "管理員已關閉聊天公屏";
|
||||
contentText = ResUtil.getString(R.string.the_administrator_has_closed);
|
||||
}
|
||||
} else {
|
||||
contentText = "管理員已開啟聊天公屏";
|
||||
contentText = ResUtil.getString(R.string.administrator_has_enabled_the_chat_public_screen);
|
||||
}
|
||||
RoomInfoAttachment attachment = new RoomInfoAttachment(CustomAttachment.CUSTOM_MSG_UPDATE_ROOM_INFO,
|
||||
CustomAttachment.CUSTOM_MSG_UPDATE_ROOM_INFO_CLOSE_SCREEN);
|
||||
|
@@ -9,6 +9,7 @@ import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.CommonVPAdapter;
|
||||
import com.yizhuan.erban.base.BaseViewBindingActivity;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.databinding.ActivityMyRecommendCardBinding;
|
||||
@@ -49,7 +50,7 @@ public class MyRecommendCardActivity extends BaseViewBindingActivity<ActivityMyR
|
||||
fragmentList.add(RecommendCardFragment.newInstance(RcmdCardType.HAS_USED));
|
||||
//已失效
|
||||
fragmentList.add(RecommendCardFragment.newInstance(RcmdCardType.INVALID));
|
||||
binding.viewPager.setAdapter(new CardPagerAdapter(getSupportFragmentManager()));
|
||||
binding.viewPager.setAdapter(new CommonVPAdapter(getSupportFragmentManager(), getLifecycle(), fragmentList));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,20 +84,4 @@ public class MyRecommendCardActivity extends BaseViewBindingActivity<ActivityMyR
|
||||
|
||||
}
|
||||
|
||||
class CardPagerAdapter extends FragmentStatePagerAdapter {
|
||||
|
||||
public CardPagerAdapter(FragmentManager fm) {
|
||||
super(fm);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return fragmentList.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return fragmentList.size();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -161,7 +161,7 @@ class RedPackageOpenDialog : BaseDialog<DialogRedPackageOpenBinding>() {
|
||||
binding.tvNoGet.visibility = View.VISIBLE
|
||||
}
|
||||
}
|
||||
binding.tvRedNum.text = "已領取${pickNum}/${totalNum}個"
|
||||
binding.tvRedNum.text = "${getString(R.string.already_received)}${pickNum}/${totalNum}${getString(R.string.individual)}"
|
||||
if (type == ALL_GIFT || type == ALL_DIAMOND) {
|
||||
DemoCache.saveRedPackage(id)
|
||||
}
|
||||
|
@@ -41,7 +41,8 @@ import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
@ActLayoutRes(R.layout.dialog_red_package_send)
|
||||
class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPasswordNoFocusView.OnPasswordChangedListener, TextWatcher {
|
||||
class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(),
|
||||
GridPasswordNoFocusView.OnPasswordChangedListener, TextWatcher {
|
||||
|
||||
private var passWordFragment: GiveGoldPassWordFragment? = null
|
||||
private val dialogManager by lazy { DialogManager(context) }
|
||||
@@ -78,8 +79,12 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
binding.tvRoomRed.alpha = 1f
|
||||
binding.indicatorAllRed.visibility = View.GONE
|
||||
binding.indicatorRoomRed.visibility = View.VISIBLE
|
||||
binding.tvGoldNumHint.text = "紅包總金額不低於${initInfo.redEnvelopeConfig.roomRedEnvelopeMinAmount}鉆石,且必須為10的倍數"
|
||||
binding.editRedNum.hint = "${initInfo.redEnvelopeConfig.roomRedEnvelopeMinNum}-${initInfo.redEnvelopeConfig.roomRedEnvelopeMaxNum}"
|
||||
binding.tvGoldNumHint.text =
|
||||
"${getString(R.string.total_amount_not_less_than)}${initInfo.redEnvelopeConfig.roomRedEnvelopeMinAmount}${
|
||||
getString(R.string.must_be_a_multiple_of_10)
|
||||
}"
|
||||
binding.editRedNum.hint =
|
||||
"${initInfo.redEnvelopeConfig.roomRedEnvelopeMinNum}-${initInfo.redEnvelopeConfig.roomRedEnvelopeMaxNum}"
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -91,8 +96,10 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
binding.tvRoomRed.alpha = 0.5f
|
||||
binding.indicatorAllRed.visibility = View.VISIBLE
|
||||
binding.indicatorRoomRed.visibility = View.GONE
|
||||
binding.tvGoldNumHint.text = "紅包總金額不低於${initInfo.redEnvelopeConfig.serverRedEnvelopeMinAmount}鉆石,且必須為100的倍數"
|
||||
binding.editRedNum.hint = "${initInfo.redEnvelopeConfig.serverRedEnvelopeMinNum}-${initInfo.redEnvelopeConfig.serverRedEnvelopeMaxNum}"
|
||||
binding.tvGoldNumHint.text =
|
||||
"${getString(R.string.total_amount_not_less_than)}${initInfo.redEnvelopeConfig.serverRedEnvelopeMinAmount}${getString(R.string.must_be_a_multiple_of_100)}"
|
||||
binding.editRedNum.hint =
|
||||
"${initInfo.redEnvelopeConfig.serverRedEnvelopeMinNum}-${initInfo.redEnvelopeConfig.serverRedEnvelopeMaxNum}"
|
||||
}
|
||||
|
||||
when (initInfo.redEnvelopedPosition) {
|
||||
@@ -106,12 +113,12 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
binding.tvChangeType.setOnClickListener {
|
||||
if (isGift) {
|
||||
isGift = false
|
||||
binding.tvRedTypeHint.text = "當前為手氣紅包,"
|
||||
binding.tvChangeType.text = "改為禮物紅包"
|
||||
binding.tvRedTypeHint.text = getString(R.string.the_present_is_a_lucky_red_envelope)
|
||||
binding.tvChangeType.text = getString(R.string.change_to_gift_red_envelope)
|
||||
} else {
|
||||
isGift = true
|
||||
binding.tvRedTypeHint.text = "當前為禮物紅包,"
|
||||
binding.tvChangeType.text = "改為手氣紅包"
|
||||
binding.tvRedTypeHint.text = getString(R.string.the_present_is_a_gift_red_envelope)
|
||||
binding.tvChangeType.text = getString(R.string.change_to_lucky_money)
|
||||
}
|
||||
}
|
||||
//默認就已經是手氣紅包,如果後臺配置為了禮物紅包就在這裏改下
|
||||
@@ -134,7 +141,12 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
}
|
||||
}
|
||||
binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
|
||||
binding.ivHelp.setOnClickListener { DialogWebViewActivity.start(context, UriProvider.getRedPacketRule()) }
|
||||
binding.ivHelp.setOnClickListener {
|
||||
DialogWebViewActivity.start(
|
||||
context,
|
||||
UriProvider.getRedPacketRule()
|
||||
)
|
||||
}
|
||||
binding.ivSend.setOnClickListener {
|
||||
UserModel.get().cacheLoginUserInfo?.let {
|
||||
if (!it.isBindPaymentPwd) {
|
||||
@@ -142,44 +154,52 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
return@setOnClickListener
|
||||
}
|
||||
}
|
||||
val minNum = if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMinNum else initInfo.redEnvelopeConfig.roomRedEnvelopeMinNum
|
||||
val maxNum = if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMaxNum else initInfo.redEnvelopeConfig.roomRedEnvelopeMaxNum
|
||||
val minGold = if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMinAmount else initInfo.redEnvelopeConfig.roomRedEnvelopeMinAmount
|
||||
val maxGold = if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMaxAmount else initInfo.redEnvelopeConfig.roomRedEnvelopeMaxAmount
|
||||
val rate = if (initInfo.redEnvelopeConfig.exchangeDiamondsRate == 0.0) 0.68 else initInfo.redEnvelopeConfig.exchangeDiamondsRate
|
||||
val minNum =
|
||||
if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMinNum else initInfo.redEnvelopeConfig.roomRedEnvelopeMinNum
|
||||
val maxNum =
|
||||
if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMaxNum else initInfo.redEnvelopeConfig.roomRedEnvelopeMaxNum
|
||||
val minGold =
|
||||
if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMinAmount else initInfo.redEnvelopeConfig.roomRedEnvelopeMinAmount
|
||||
val maxGold =
|
||||
if (isAll) initInfo.redEnvelopeConfig.serverRedEnvelopeMaxAmount else initInfo.redEnvelopeConfig.roomRedEnvelopeMaxAmount
|
||||
val rate =
|
||||
if (initInfo.redEnvelopeConfig.exchangeDiamondsRate == 0.0) 0.68 else initInfo.redEnvelopeConfig.exchangeDiamondsRate
|
||||
|
||||
val redNum = binding.editRedNum.text.toString().toIntOrDef()
|
||||
if (redNum < minNum || redNum > maxNum) {
|
||||
SingleToastUtil.showToast("紅包數量不能小於${minNum}或大於${maxNum}!")
|
||||
SingleToastUtil.showToast("${getString(R.string.the_number_of_red_packets_cannot_be_less_than)}${minNum}${getString(R.string.or_greater_than)}${maxNum}!")
|
||||
return@setOnClickListener
|
||||
}
|
||||
val goldNum = binding.editGoldNum.text.toString().toIntOrDef()
|
||||
|
||||
if (isAll) {
|
||||
if (goldNum % 100 != 0) {
|
||||
SingleToastUtil.showToast("鉆石數必須為100的倍數!")
|
||||
SingleToastUtil.showToast(getString(R.string.diamonds_must_be_a_multiple_of_100))
|
||||
return@setOnClickListener
|
||||
}
|
||||
} else {
|
||||
if (goldNum % 10 != 0) {
|
||||
SingleToastUtil.showToast("鉆石數必須為10的倍數!")
|
||||
SingleToastUtil.showToast(getString(R.string.diamonds_must_be_a_multiple_of_10))
|
||||
return@setOnClickListener
|
||||
}
|
||||
}
|
||||
|
||||
if (goldNum < minGold || goldNum > maxGold) {
|
||||
SingleToastUtil.showToast("鉆石數量不能小於${minGold}或大於${maxGold}!")
|
||||
SingleToastUtil.showToast("${getString(R.string.diamonds_should_not_be_less_than)}${minGold}${getString(R.string.or_greater_than)}${maxGold}!")
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (isGift && goldNum.toFloat() / redNum < 1) {//單個禮物紅包價值不低於1鉆石
|
||||
SingleToastUtil.showToast("單個紅包金額過低")
|
||||
SingleToastUtil.showToast(getString(R.string.single_red_packet_is_too_low))
|
||||
return@setOnClickListener
|
||||
}
|
||||
if (!isGift && goldNum.toFloat() / redNum * rate < 0.1) {//單個手氣紅包價值不低於0.1水晶
|
||||
SingleToastUtil.showToast("單個紅包金額過低")
|
||||
SingleToastUtil.showToast(getString(R.string.single_red_packet_is_too_low))
|
||||
return@setOnClickListener
|
||||
}
|
||||
GiveGoldPassWordFragment.newInstance(childFragmentManager, binding.editGoldNum.text.toString()).apply {
|
||||
GiveGoldPassWordFragment.newInstance(
|
||||
childFragmentManager,
|
||||
binding.editGoldNum.text.toString()
|
||||
).apply {
|
||||
setListener(this@RedPackageSendDialog)
|
||||
passWordFragment = this
|
||||
}
|
||||
@@ -220,10 +240,14 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
val password = passWordFragment?.password?.password ?: ""
|
||||
if (password.length == 6) {
|
||||
dialogManager.showProgressDialog(context)
|
||||
RedPackageModel.sendRedPackage(binding.editGoldNum.text.toString(),
|
||||
binding.editRedText.text.toString().ifEmpty { "恭喜發財,大吉大利!" },
|
||||
RedPackageModel.sendRedPackage(
|
||||
binding.editGoldNum.text.toString(),
|
||||
binding.editRedText.text.toString().ifEmpty { getString(R.string.may_you_come_into_a_good_fortune) },
|
||||
binding.editRedNum.text.toString(),
|
||||
AvRoomDataManager.get().mCurrentRoomInfo?.uid.toString(), getRedType(), DESUtils.DESAndBase64(password))
|
||||
AvRoomDataManager.get().mCurrentRoomInfo?.uid.toString(),
|
||||
getRedType(),
|
||||
DESUtils.DESAndBase64(password)
|
||||
)
|
||||
.doOnError {
|
||||
dialogManager.dismissDialog()
|
||||
SingleToastUtil.showToast(it.message)
|
||||
@@ -232,7 +256,7 @@ class RedPackageSendDialog : BaseDialog<DialogRedPackageSendBinding>(), GridPass
|
||||
.subscribe { _ ->
|
||||
PayModel.get().getWalletInfo(AuthModel.get().currentUid).subscribe()
|
||||
dialogManager.dismissDialog()
|
||||
SingleToastUtil.showToast("發送成功")
|
||||
SingleToastUtil.showToast(getString(R.string.send_success))
|
||||
passWordFragment?.dismissAllowingStateLoss()
|
||||
dismissAllowingStateLoss()
|
||||
}
|
||||
|
@@ -21,13 +21,13 @@ class SingleRoomPKSearchAdapter :
|
||||
val tvSelect = helper.getView<TextView>(R.id.tv_select)
|
||||
tvSelect.isEnabled = !item.crossPking && item.valid
|
||||
if (!item.valid) {
|
||||
tvSelect.text = "離線"
|
||||
tvSelect.text = mContext.getString(R.string.off_line)
|
||||
tvSelect.setTextColor("#80C6C6E9".toColorInt())
|
||||
} else if (item.crossPking) {
|
||||
tvSelect.text = "PK中"
|
||||
tvSelect.text = mContext.getString(R.string.pk_now)
|
||||
tvSelect.setTextColor("#80C6C6E9".toColorInt())
|
||||
} else {
|
||||
tvSelect.text = "選擇"
|
||||
tvSelect.text = mContext.getString(R.string.select)
|
||||
tvSelect.setTextColor(Color.WHITE)
|
||||
}
|
||||
}
|
||||
|
@@ -41,7 +41,7 @@ class SingleRoomPkFinishDialog : BaseDialog<DialogSingleRoomPkFinishBinding>() {
|
||||
roomPkBean.csRank.getOrNull(0)?.let {
|
||||
binding.groupRank1.isVisible = true
|
||||
binding.tvRankNick1.text = it.nick.subAndReplaceDot(7)
|
||||
binding.tvRankValue1.text = "PK值:${it.amount}"
|
||||
binding.tvRankValue1.text = "${getString(R.string.pk_value)}${it.amount}"
|
||||
binding.ivAvatar1.load(it.avatar, defaultRes = R.drawable.default_avatar)
|
||||
} ?: run {
|
||||
binding.groupRank1.isVisible = false
|
||||
@@ -51,7 +51,7 @@ class SingleRoomPkFinishDialog : BaseDialog<DialogSingleRoomPkFinishBinding>() {
|
||||
roomPkBean.csRank.getOrNull(1)?.let {
|
||||
binding.groupRank2.isVisible = true
|
||||
binding.tvRankNick2.text = it.nick.subAndReplaceDot(7)
|
||||
binding.tvRankValue2.text = "PK值:${it.amount}"
|
||||
binding.tvRankValue2.text = "${getString(R.string.pk_value)}${it.amount}"
|
||||
binding.ivAvatar2.load(it.avatar, defaultRes = R.drawable.default_avatar)
|
||||
} ?: run {
|
||||
binding.groupRank2.isVisible = false
|
||||
@@ -60,7 +60,7 @@ class SingleRoomPkFinishDialog : BaseDialog<DialogSingleRoomPkFinishBinding>() {
|
||||
roomPkBean.csRank.getOrNull(2)?.let {
|
||||
binding.groupRank3.isVisible = true
|
||||
binding.tvRankNick3.text = it.nick.subAndReplaceDot(7)
|
||||
binding.tvRankValue3.text = "PK值:${it.amount}"
|
||||
binding.tvRankValue3.text = "${getString(R.string.pk_value)}${it.amount}"
|
||||
binding.ivAvatar3.load(it.avatar, defaultRes = R.drawable.default_avatar)
|
||||
} ?: run {
|
||||
binding.groupRank3.isVisible = false
|
||||
@@ -71,7 +71,7 @@ class SingleRoomPkFinishDialog : BaseDialog<DialogSingleRoomPkFinishBinding>() {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.doOnComplete { dismissAllowingStateLoss() }
|
||||
.subscribe {
|
||||
binding.tvClose.text = "關閉(${5 - it})"
|
||||
binding.tvClose.text = "${getString(R.string.close)}(${5 - it})"
|
||||
}
|
||||
|
||||
when (roomPkBean.winUid) {
|
||||
|
@@ -3,6 +3,7 @@ package com.yizhuan.erban.avroom.singleroompk
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import androidx.core.view.isVisible
|
||||
import com.yizhuan.erban.R
|
||||
import com.yizhuan.erban.base.BaseDialog
|
||||
import com.yizhuan.erban.databinding.DialogSingleRoomPkReceivedBinding
|
||||
import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean
|
||||
@@ -37,7 +38,7 @@ class SingleRoomPkReceivedDialog : BaseDialog<DialogSingleRoomPkReceivedBinding>
|
||||
@SuppressLint("CheckResult")
|
||||
override fun init() {
|
||||
binding.tvNick.text = pkBean.inviteRoomTitle.subAndReplaceDot(7)
|
||||
binding.tvTime.text = "${pkBean.pkDuration}分鐘"
|
||||
binding.tvTime.text = "${pkBean.pkDuration}${getString(R.string.avroom_dialog_pktimepickerdialog_01)}"
|
||||
pkBean.pkDesc.ifNotNullOrEmpty {
|
||||
binding.tvDescTitle.isVisible = true
|
||||
binding.tvDesc.isVisible = true
|
||||
|
@@ -82,7 +82,6 @@ public interface IAvRoomView extends IMvpBaseView {
|
||||
*/
|
||||
void recoverRoomMinWhenPmLimit(Throwable throwable);
|
||||
|
||||
void showNewUserDialog(GiftInfo giftInfo);
|
||||
|
||||
void showFirstChargeDialog(FirstChargeInfo firstChargeInfo);
|
||||
|
||||
|
@@ -21,6 +21,8 @@ import android.util.AttributeSet;
|
||||
import android.util.Pair;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -38,7 +40,7 @@ import java.util.WeakHashMap;
|
||||
* AuthorPhone:nothing
|
||||
* Created by 2016/9/22.
|
||||
*/
|
||||
public class MagicTextView extends TextView {
|
||||
public class MagicTextView extends AppCompatTextView {
|
||||
|
||||
private ArrayList<Shadow> outerShadows;
|
||||
private ArrayList<Shadow> innerShadows;
|
||||
|
@@ -1018,29 +1018,29 @@ public class MessageView extends FrameLayout {
|
||||
case CUSTOM_MSG_SUB_DRAW_GIFT_L1:
|
||||
case CUSTOM_MSG_SUB_DRAW_GIFT_L2:
|
||||
case CUSTOM_MSG_SUB_DRAW_BALL_L1:
|
||||
builder = builderDrawMsg(tvContent, fairyMsgInfo, "厲害了!");
|
||||
builder = builderDrawMsg(tvContent, fairyMsgInfo, mContext.getString(R.string.message_amazing));
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_DRAW_GIFT_L3:
|
||||
case CUSTOM_MSG_SUB_DRAW_GIFT_L4:
|
||||
case CUSTOM_MSG_SUB_DRAW_GIFT_L5:
|
||||
case CUSTOM_MSG_SUB_DRAW_BALL_L2:
|
||||
case CUSTOM_MSG_SUB_DRAW_BALL_L3:
|
||||
builder = builderDrawMsg(tvContent, fairyMsgInfo, "好運爆棚!");
|
||||
builder = builderDrawMsg(tvContent, fairyMsgInfo, mContext.getString(R.string.message_good_luck));
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_CONVERT_L1:
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, "初級召喚");
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, mContext.getString(R.string.message_primary_call));
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_CONVERT_L2:
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, "史詩召喚");
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, mContext.getString(R.string.message__epic_call));
|
||||
break;
|
||||
case CUSTOM_MSG_SUB_CONVERT_L3:
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, "傳說召喚");
|
||||
builder = builderConvertMsg(tvContent, fairyMsgInfo, mContext.getString(R.string.message_legend_call));
|
||||
break;
|
||||
}
|
||||
|
||||
if (builder != null) {
|
||||
if (GoldBoxHelper.isShowFairy()) {
|
||||
builder.append(" 去參加!", new OriginalDrawStatusClickSpan(Color.parseColor("#FFBC51")) {
|
||||
builder.append(mContext.getString(R.string.message_to_join), new OriginalDrawStatusClickSpan(Color.parseColor("#FFBC51")) {
|
||||
@Override
|
||||
public void onClick(@NonNull View widget) {
|
||||
HomeFairyActivity.start(mContext);
|
||||
@@ -1057,7 +1057,7 @@ public class MessageView extends FrameLayout {
|
||||
|
||||
private SpannableBuilder builderConvertMsg(TextView textView, @NonNull FairyMsgInfo fairyMsgInfo, String type) {
|
||||
return new SpannableBuilder(textView)
|
||||
.append("厲害了!", new ForegroundColorSpan(whiteColor))
|
||||
.append(mContext.getString(R.string.message_amazing), new ForegroundColorSpan(whiteColor))
|
||||
.append(StringExtensionKt.subAndReplaceDot(fairyMsgInfo.getNick(), 7), new OriginalDrawStatusClickSpan(roomTipNickColor, false) {
|
||||
|
||||
@Override
|
||||
@@ -1065,8 +1065,8 @@ public class MessageView extends FrameLayout {
|
||||
RxBus.get().post(new ShowUserInfoDialogEvent(String.valueOf(fairyMsgInfo.getUid())));
|
||||
}
|
||||
})
|
||||
.append("在奪寶精靈中 " + type, new ForegroundColorSpan(whiteColor))
|
||||
.append(fairyMsgInfo.getRewardShowValue() + "鉆" + fairyMsgInfo.getRewardName(), new ForegroundColorSpan(roomTipColor));
|
||||
.append(mContext.getString(R.string.message_In_the_raiders_of_the_treasure) + type, new ForegroundColorSpan(whiteColor))
|
||||
.append(fairyMsgInfo.getRewardShowValue() + mContext.getString(R.string.wallet_adapter_withdrawjeweladapter_01) + fairyMsgInfo.getRewardName(), new ForegroundColorSpan(roomTipColor));
|
||||
}
|
||||
|
||||
private SpannableBuilder builderDrawMsg(TextView textView, @NonNull FairyMsgInfo fairyMsgInfo, String desc) {
|
||||
@@ -1079,7 +1079,7 @@ public class MessageView extends FrameLayout {
|
||||
RxBus.get().post(new ShowUserInfoDialogEvent(String.valueOf(fairyMsgInfo.getUid())));
|
||||
}
|
||||
})
|
||||
.append(" 在奪寶精靈中獲得 ", new ForegroundColorSpan(whiteColor))
|
||||
.append(mContext.getString(R.string.message_obtained_in_raiders_of_the_treasure), new ForegroundColorSpan(whiteColor))
|
||||
.append(fairyMsgInfo.getRewardName(), new ForegroundColorSpan(Color.WHITE));
|
||||
if (fairyMsgInfo.getRewardNum() > 1) {
|
||||
builder.append(" x" + fairyMsgInfo.getRewardNum(), new ForegroundColorSpan(roomTipNickColor));
|
||||
@@ -1481,7 +1481,7 @@ public class MessageView extends FrameLayout {
|
||||
tvContent.setTextColor(Color.WHITE);
|
||||
RoomFollowOwnerAttachment2 roomFollowOwnerAttachment = (RoomFollowOwnerAttachment2) chatRoomMessage.getAttachment();
|
||||
SpannableBuilder append = new SpannableBuilder(tvContent)
|
||||
.append(mContext.getResources().getDrawable(R.drawable.bg_follow), ScreenUtil.dip2px(190), ScreenUtil.dip2px(40));
|
||||
.append(ContextCompat.getDrawable(mContext, R.drawable.bg_follow), ScreenUtil.dip2px(190), ScreenUtil.dip2px(40));
|
||||
tvContent.setText(append.build());
|
||||
}
|
||||
|
||||
@@ -2723,13 +2723,13 @@ public class MessageView extends FrameLayout {
|
||||
return;
|
||||
String senderNick = RegexUtil.getPrintableString(attachment.nick);
|
||||
// 系統通知icon
|
||||
Drawable icNotification = mContext.getResources().getDrawable(R.drawable.ic_system_notification);
|
||||
Drawable icNotification = ContextCompat.getDrawable(mContext, R.drawable.ic_system_notification);
|
||||
int width = (int) (icNotification.getIntrinsicWidth() / (icNotification.getIntrinsicHeight() + 0.F) * sysIconHeight);
|
||||
SpannableBuilder text = new SpannableBuilder(tvContent)
|
||||
.append(icNotification, width, sysIconHeight)
|
||||
.append(" 恭喜 ", new ForegroundColorSpan(greyColor))
|
||||
.append(mContext.getString(R.string.message_congratulation), new ForegroundColorSpan(greyColor))
|
||||
.append(senderNick, new ForegroundColorSpan(roomTipColor))
|
||||
.append(" 在房間內" + (second == CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE ? "續費" : "開通") + "\"", new ForegroundColorSpan(greyColor))
|
||||
.append(mContext.getString(R.string.message_In_the_room) + (second == CustomAttachment.CUSTOM_MESS_SUB_RENEWNOBLE ? mContext.getString(R.string.message_renew) : mContext.getString(R.string.message_open)) + "\"", new ForegroundColorSpan(greyColor))
|
||||
.append(nobleInfo.getName(), new ForegroundColorSpan(roomTipColor))
|
||||
.append("\"");
|
||||
tvContent.setText(text.build());
|
||||
@@ -2748,10 +2748,10 @@ public class MessageView extends FrameLayout {
|
||||
CarveUpGoldAttachment attachment = (CarveUpGoldAttachment) chatRoomMessage.getAttachment();
|
||||
// 內容
|
||||
SpannableBuilder text = new SpannableBuilder(tvContent)
|
||||
.append("【簽到瓜分百萬】哇塞,恭喜 ", new ForegroundColorSpan(greyColor))
|
||||
.append(mContext.getString(R.string.message_sign_in_for_millions), new ForegroundColorSpan(greyColor))
|
||||
.append(attachment.getNick() + " ", new ForegroundColorSpan(roomTipColor))
|
||||
.append("簽到獲得 ", new ForegroundColorSpan(greyColor))
|
||||
.append(attachment.getGoldNum() + "鉆石", new ForegroundColorSpan(roomTipColor))
|
||||
.append(mContext.getString(R.string.message_sign_in_acquisition), new ForegroundColorSpan(greyColor))
|
||||
.append(attachment.getGoldNum() + mContext.getString(R.string.message_diamond), new ForegroundColorSpan(roomTipColor))
|
||||
.append("!", new ForegroundColorSpan(greyColor));
|
||||
tvContent.setText(text.build());
|
||||
}
|
||||
@@ -2775,7 +2775,7 @@ public class MessageView extends FrameLayout {
|
||||
String fromAccount = chatRoomMessage.getFromAccount();
|
||||
SpannableBuilder text = new SpannableBuilder(tvContent);
|
||||
addCommonTag(chatRoomMessage, text, tvContent);
|
||||
text.append(extension == null ? "我" : RegexUtil.getPrintableString(extension.getSenderNick()),
|
||||
text.append(extension == null ? mContext.getString(R.string.message_me) : RegexUtil.getPrintableString(extension.getSenderNick()),
|
||||
new ForegroundColorSpan(greyColor),
|
||||
new OriginalDrawStatusClickSpan() {
|
||||
@Override
|
||||
@@ -2890,7 +2890,7 @@ public class MessageView extends FrameLayout {
|
||||
if (!Objects.equals(mCurrentRoomInfo.getUid(), dataBean.getAppearRoomUid())) {
|
||||
AVRoomActivity.start(getContext(), dataBean.getAppearRoomUid());
|
||||
} else {
|
||||
SingleToastUtil.showToast("你已經在怪獸房間內");
|
||||
SingleToastUtil.showToast(mContext.getString(R.string.message_in_the_monster_room));
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2908,7 +2908,7 @@ public class MessageView extends FrameLayout {
|
||||
CollectionRoomModel.get().followRoom("1", ((RoomFollowOwnerAttachment2) attachment).getOwnerUid())
|
||||
.subscribe(s -> {
|
||||
AvRoomDataManager.get().isRoomFans = true;
|
||||
SingleToastUtil.showToast("收藏成功!");
|
||||
SingleToastUtil.showToast(mContext.getString(R.string.message_collect_success));
|
||||
EventBus.getDefault().post(new FollowRoomEvent());
|
||||
PraiseModel.get().setFollowRoomSuccessRoomTip(JavaUtil.str2long(chatRoomMessage.getFromAccount()));
|
||||
});
|
||||
|
@@ -1344,7 +1344,7 @@ class RoomEffectBoxView @JvmOverloads constructor(
|
||||
ResUtil.getString(R.string.avroom_widget_roomeffectview_025),
|
||||
ForegroundColorSpan(Color.WHITE)
|
||||
)
|
||||
.append("「${msgBean.title}」房間", ForegroundColorSpan(Color.parseColor("#FFFC4C")))
|
||||
.append("「${msgBean.title}」${ResUtil.getString(R.string.room)}", ForegroundColorSpan(Color.parseColor("#FFFC4C")))
|
||||
.append(msgBean.desc, ForegroundColorSpan(Color.WHITE))
|
||||
.append("TOP1", ForegroundColorSpan(Color.parseColor("#FFFC4C")))
|
||||
textView.text = text.build()
|
||||
|
@@ -62,6 +62,7 @@ import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.disposables.Disposable
|
||||
import java.net.MalformedURLException
|
||||
import java.net.URL
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
/**
|
||||
@@ -249,7 +250,7 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
}
|
||||
|
||||
/**
|
||||
* 幸运池飘屏
|
||||
* 夺宝精灵飘屏
|
||||
*
|
||||
* @param chatRoomMessage
|
||||
*/
|
||||
@@ -270,6 +271,9 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 夺宝精灵SVGA
|
||||
*/
|
||||
private fun showFairyNotify(pair: Pair<Int, ChatRoomMessage>) {
|
||||
val attachment = pair.second.attachment as FairyMsgAttachment
|
||||
when (pair.first) {
|
||||
@@ -291,13 +295,38 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
}
|
||||
RoomEvent.FAIRY_DRAW_GIFT_L5,
|
||||
RoomEvent.FAIRY_CONVERT_L3 -> {
|
||||
showFairyNotifyBySVGA(pair)
|
||||
when (Locale.getDefault().language) {
|
||||
"ar" -> {
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy_ar.svga")
|
||||
}
|
||||
"en" -> {
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy_en.svga")
|
||||
}
|
||||
"in" -> {
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy_in.svga")
|
||||
}
|
||||
"tr" -> {
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy_tr.svga")
|
||||
}
|
||||
"zh" ->{
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy.svga")
|
||||
}
|
||||
"zh-rTW" ->{
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy.svga")
|
||||
}
|
||||
else -> {
|
||||
showFairyNotifyBySVGA(pair, "svga/all_fairy_en.svga")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun showFairyNotifyBySVGA(pair: Pair<Int, ChatRoomMessage>) {
|
||||
/**
|
||||
* 夺宝精灵SVGA
|
||||
*/
|
||||
private fun showFairyNotifyBySVGA(pair: Pair<Int, ChatRoomMessage>, svgaName: String) {
|
||||
val attachment = pair.second.attachment as FairyMsgAttachment
|
||||
val text = MsgBuilder.buildFairyMsg(pair.first, attachment)
|
||||
val svgaImageView = SVGAImageView(mContext)
|
||||
@@ -316,7 +345,7 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
}
|
||||
binding.flFairyNotify.addView(svgaImageView)
|
||||
shareParser().decodeFromAssets(
|
||||
"svga/all_fairy.svga",
|
||||
svgaName,
|
||||
object : SVGAParser.ParseCompletion {
|
||||
override fun onComplete(videoItem: SVGAVideoEntity) {
|
||||
val dynamicEntity = SVGADynamicEntity()
|
||||
@@ -442,14 +471,34 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.takeWhile { messagesLuckyGift.size > 0 }
|
||||
.subscribe {
|
||||
showLuckyBagNotify(
|
||||
messagesLuckyGift.removeAt(0)
|
||||
)
|
||||
when (Locale.getDefault().language) {
|
||||
"ar" -> {
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify_ar.svga")
|
||||
}
|
||||
"en" -> {
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify_en.svga")
|
||||
}
|
||||
"in" -> {
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify_in.svga")
|
||||
}
|
||||
"tr" -> {
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify_tr.svga")
|
||||
}
|
||||
"zh" ->{
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify.svga")
|
||||
}
|
||||
"zh-rTW" ->{
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify.svga")
|
||||
}
|
||||
else -> {
|
||||
showLuckyBagNotify(messagesLuckyGift.removeAt(0),"svga/lucky_gift_notify_en.svga")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showLuckyBagNotify(message: ChatRoomMessage?) {
|
||||
private fun showLuckyBagNotify(message: ChatRoomMessage?, svgaName: String) {
|
||||
val attachment = message?.attachment as? RoomReceivedLuckyGiftAttachment ?: return
|
||||
val noticeInfo = attachment.luckyBagNoticeInfo ?: return
|
||||
val text = SpannableBuilder()
|
||||
@@ -490,7 +539,7 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
svgaImageView.loops = 1
|
||||
svgaImageView.clearsAfterStop = true
|
||||
shareParser().decodeFromAssets(
|
||||
"svga/lucky_gift_notify.svga",
|
||||
svgaName,
|
||||
object : SVGAParser.ParseCompletion {
|
||||
override fun onComplete(videoItem: SVGAVideoEntity) {
|
||||
binding.flLuckyGiftNotify.addView(svgaImageView)
|
||||
@@ -1654,7 +1703,10 @@ class RoomEffectView @JvmOverloads constructor(
|
||||
ResUtil.getString(R.string.avroom_widget_roomeffectview_025),
|
||||
ForegroundColorSpan(Color.WHITE)
|
||||
)
|
||||
.append("「${msgBean.title}」房間", ForegroundColorSpan(Color.parseColor("#FFFC4C")))
|
||||
.append(
|
||||
"「${msgBean.title}」${ResUtil.getString(R.string.room)}",
|
||||
ForegroundColorSpan(Color.parseColor("#FFFC4C"))
|
||||
)
|
||||
.append(msgBean.desc, ForegroundColorSpan(Color.WHITE))
|
||||
.append("TOP1", ForegroundColorSpan(Color.parseColor("#FFFC4C")))
|
||||
textView.text = text.build()
|
||||
|
@@ -927,11 +927,6 @@ public abstract class BaseActivity extends RxAppCompatActivity
|
||||
case RoomEvent.RECHARGE:
|
||||
onNeedCharge();
|
||||
break;
|
||||
|
||||
case RoomEvent.RADISH_NOT_ENOUGH:
|
||||
DialogUiHelper.showRadishNotEnoughDialog(this, null);
|
||||
break;
|
||||
|
||||
case RoomEvent.GIFT_OUT_OF_DATE:
|
||||
SingleToastUtil.showToast(roomEvent.getMessage());
|
||||
break;
|
||||
|
@@ -11,6 +11,7 @@ import android.content.res.TypedArray;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.LayoutDirection;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -20,9 +21,12 @@ import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.core.text.TextUtilsCompat;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 类描述:
|
||||
@@ -448,16 +452,30 @@ public class TitleBar extends ViewGroup implements View.OnClickListener {
|
||||
|
||||
@Override
|
||||
protected void onLayout(boolean changed, int l, int t, int r, int b) {
|
||||
mLeftLayout.layout(0, mStatusBarHeight, mLeftLayout.getMeasuredWidth(), mLeftLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
mRightLayout.layout(mScreenWidth - mRightLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth, mRightLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
if (mLeftLayout.getMeasuredWidth() > mRightLayout.getMeasuredWidth()) {
|
||||
mCenterLayout.layout(mLeftLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mLeftLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
if(TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == LayoutDirection.RTL) {
|
||||
mRightLayout.layout(0, mStatusBarHeight, mRightLayout.getMeasuredWidth(), mRightLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
mLeftLayout.layout(mScreenWidth - mLeftLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth, mLeftLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
if (mRightLayout.getMeasuredWidth() > mLeftLayout.getMeasuredWidth()) {
|
||||
mCenterLayout.layout(mRightLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mRightLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
} else {
|
||||
mCenterLayout.layout(mLeftLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mLeftLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
}
|
||||
} else {
|
||||
mCenterLayout.layout(mRightLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mRightLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
mLeftLayout.layout(0, mStatusBarHeight, mLeftLayout.getMeasuredWidth(), mLeftLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
mRightLayout.layout(mScreenWidth - mRightLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth, mRightLayout.getMeasuredHeight() + mStatusBarHeight);
|
||||
if (mLeftLayout.getMeasuredWidth() > mRightLayout.getMeasuredWidth()) {
|
||||
mCenterLayout.layout(mLeftLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mLeftLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
} else {
|
||||
mCenterLayout.layout(mRightLayout.getMeasuredWidth(), mStatusBarHeight,
|
||||
mScreenWidth - mRightLayout.getMeasuredWidth(), getMeasuredHeight());
|
||||
}
|
||||
}
|
||||
|
||||
mDividerView.layout(0, getMeasuredHeight() - mDividerView.getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight());
|
||||
}
|
||||
|
||||
|
@@ -1,185 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.databinding.ViewDataBinding;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
|
||||
import com.jzxiang.pickerview.TimePickerDialog;
|
||||
import com.jzxiang.pickerview.data.Type;
|
||||
import com.jzxiang.pickerview.listener.OnDateSetListener;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseBindingActivity;
|
||||
import com.yizhuan.erban.bills.adapter.BillBaseAdapter;
|
||||
import com.yizhuan.erban.common.NoDataFragment;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p> 账单base activity </p>
|
||||
*
|
||||
* @author Administrator
|
||||
* @date 2017/11/6
|
||||
*/
|
||||
public abstract class BillBaseActivity<T extends ViewDataBinding> extends BaseBindingActivity<T>
|
||||
implements OnDateSetListener, View.OnClickListener {
|
||||
protected BillBaseActivity mActivity;
|
||||
private TextView mTvDate;
|
||||
private ImageView mIvSelectorDate;
|
||||
protected RecyclerView mRecyclerView;
|
||||
private ImageView mIvTodaySelect;
|
||||
protected SwipeRefreshLayout mRefreshLayout;
|
||||
protected BillBaseAdapter adapter;
|
||||
|
||||
protected int mCurrentCounter = Constants.PAGE_START;
|
||||
protected static final int PAGE_SIZE = Constants.BILL_PAGE_SIZE;
|
||||
protected TimePickerDialog.Builder mDialogYearMonthDayBuild;
|
||||
protected long time = System.currentTimeMillis();
|
||||
protected List<BillItemEntity> mBillItemEntityList = new ArrayList<>();
|
||||
|
||||
protected int getLayout() {
|
||||
return R.layout.activity_bills;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
mActivity = this;
|
||||
initView();
|
||||
initData();
|
||||
setListener();
|
||||
}
|
||||
|
||||
protected void initView() {
|
||||
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
|
||||
mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);
|
||||
mTvDate = (TextView) findViewById(R.id.tv_date);
|
||||
mIvTodaySelect = (ImageView) findViewById(R.id.iv_today_select);
|
||||
mIvSelectorDate = (ImageView) findViewById(R.id.tv_selector_date);
|
||||
|
||||
// mRecyclerView = mBinding.recyclerView;
|
||||
// mRefreshLayout = mBinding.swipeRefresh;
|
||||
// mTvDate = mBinding.tvDate;
|
||||
// mIvTodaySelect = mBinding.ivTodaySelect;
|
||||
// mIvSelectorDate = mBinding.tvSelectorDate;
|
||||
}
|
||||
|
||||
protected void initData() {
|
||||
setDate(System.currentTimeMillis());
|
||||
mDialogYearMonthDayBuild = new TimePickerDialog.Builder()
|
||||
.setType(Type.YEAR_MONTH_DAY)
|
||||
.setTitleStringId(ResUtil.getString(R.string.bills_activities_billbaseactivity_01))
|
||||
.setThemeColor(getResources().getColor(R.color.line_background))
|
||||
.setWheelItemTextNormalColor(getResources().getColor(R.color
|
||||
.timetimepicker_default_text_color))
|
||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||
.setCallBack(mActivity);
|
||||
}
|
||||
|
||||
protected void setDate(long time) {
|
||||
mTvDate.setText(TimeUtils.getDateTimeString(time, "yyyy-MM-dd"));
|
||||
}
|
||||
|
||||
protected abstract void loadData();
|
||||
|
||||
protected void setListener() {
|
||||
mIvTodaySelect.setOnClickListener(this);
|
||||
mIvSelectorDate.setOnClickListener(this);
|
||||
mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
mCurrentCounter = Constants.PAGE_START;
|
||||
// time = System.currentTimeMillis();
|
||||
loadData();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showNetworkErr() {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
super.showNetworkErr();
|
||||
}
|
||||
|
||||
public void onGetDataError(String error) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
showNetworkErr();
|
||||
} else {
|
||||
adapter.loadMoreFail();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.iv_today_select:
|
||||
mCurrentCounter = Constants.PAGE_START;
|
||||
time = System.currentTimeMillis();
|
||||
setDate(time);
|
||||
showLoading();
|
||||
loadData();
|
||||
break;
|
||||
case R.id.tv_selector_date:
|
||||
mDialogYearMonthDayBuild.build().show(getSupportFragmentManager(), "year_month_day");
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDateSet(TimePickerDialog timePickerView, long millseconds) {
|
||||
this.time = millseconds;
|
||||
setDate(millseconds);
|
||||
mCurrentCounter = Constants.PAGE_START;
|
||||
showLoading();
|
||||
loadData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showNoData(CharSequence charSequence) {
|
||||
this.showNoData(R.drawable.icon_common_failure, charSequence);
|
||||
}
|
||||
|
||||
@SuppressLint("ResourceType")
|
||||
@Override
|
||||
public void showNoData(int drawable, CharSequence charSequence) {
|
||||
if (!checkActivityValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
View status = findViewById(R.id.status_layout);
|
||||
if (status == null || status.getId() <= 0) {
|
||||
return;
|
||||
}
|
||||
NoDataFragment fragment = NoDataFragment.newInstance(R.layout.fragment_no_data_large_iv, drawable, charSequence);
|
||||
fragment.setListener(getLoadListener());
|
||||
getSupportFragmentManager().beginTransaction().replace(status.getId(), fragment, STATUS_TAG).commitAllowingStateLoss();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View.OnClickListener getLoadListener() {
|
||||
return v -> {
|
||||
mCurrentCounter = Constants.PAGE_START;
|
||||
showLoading();
|
||||
loadData();
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (mDialogYearMonthDayBuild != null) {
|
||||
mDialogYearMonthDayBuild.setCallBack(null);
|
||||
mDialogYearMonthDayBuild = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,191 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.adapter.GiftExpendAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsGiftBinding;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendInfo;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendListInfo;
|
||||
import com.yizhuan.xchat_android_core.pay.PayModel;
|
||||
import com.yizhuan.xchat_android_core.pay.bean.WalletInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>账单礼物支出界面 </p>
|
||||
*
|
||||
* @author Administrator
|
||||
* @date 2017/11/6
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills_gift)
|
||||
public class BillGiftExpendActivity extends BillBaseActivity<ActivityBillsGiftBinding> {
|
||||
// private GiftExpendAdapter adapter;
|
||||
private TextView mGoldNum;
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
mGoldNum = (TextView) findViewById(R.id.tv_gold_num);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
initTitleBar(getString(R.string.bill_gift_expend));
|
||||
|
||||
adapter = new GiftExpendAdapter(mBillItemEntityList);
|
||||
adapter.setOnLoadMoreListener(() -> {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}, mRecyclerView);
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
showLoading();
|
||||
onLoadGoldNum();
|
||||
loadData();
|
||||
}
|
||||
|
||||
private void onLoadGoldNum() {
|
||||
WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
|
||||
if (null != walletInfo) {
|
||||
mGoldNum.setText(getString(R.string.bill_gift_gold_num, walletInfo.getDiamondNum()));
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.getGiftExpendBills(mCurrentCounter, PAGE_SIZE, time)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((expendResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
BillGiftExpendActivity.this.onGetDataError(throwable.getMessage());
|
||||
} else if (expendResult != null && expendResult.isSuccess()) {
|
||||
BillGiftExpendActivity.this.onGetExpendBills(expendResult.getData());
|
||||
} else if (expendResult != null) {
|
||||
BillGiftExpendActivity.this.onGetDataError(expendResult.getError());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void onGetExpendBills(ExpendListInfo data) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != data) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
adapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
adapter.loadMoreComplete();
|
||||
}
|
||||
List<Map<String, List<ExpendInfo>>> billList = data.getBillList();
|
||||
if (!billList.isEmpty()) {
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
int size = mBillItemEntityList.size();
|
||||
BillItemEntity billItemEntity;
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<ExpendInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<ExpendInfo> expendInfos = map.get(key);
|
||||
if (ListUtils.isListEmpty(expendInfos)) continue;
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = mBillItemEntityList.get(size - 1);
|
||||
//时间不一致才会添加标题
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (ExpendInfo temp : expendInfos) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
//目的是为了比较
|
||||
billItemEntity.time = key;
|
||||
billItemEntity.mGiftExpendInfo = temp;
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
adapter.setEnableLoadMore(false);
|
||||
}
|
||||
|
||||
adapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
showNoData(R.drawable.icon_common_failure, ResUtil.getString(R.string.bills_activities_billgiftexpendactivity_01));
|
||||
} else {
|
||||
adapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// public void onGetExpendBillsError(String error) {
|
||||
// if (mCurrentCounter == Constants.PAGE_START) {
|
||||
// showNetworkErr();
|
||||
// } else {
|
||||
// adapter.loadMoreFail();
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void initTitleBar(String title) {
|
||||
mTitleBar = (TitleBar) findViewById(R.id.title_bar);
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(R.drawable.arrow_left);
|
||||
mTitleBar.setLeftClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
mTitleBar.setActionTextColor(getResources().getColor(R.color.text_tertiary));
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_billgiftexpendactivity_02)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
ChargeActivity.start(mActivity);
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
mActivity, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(mActivity)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@@ -1,218 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.adapter.GiftIncomeAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsGiftBinding;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeInfo;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeListInfo;
|
||||
import com.yizhuan.xchat_android_core.pay.PayModel;
|
||||
import com.yizhuan.xchat_android_core.pay.bean.WalletInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p> 账单礼物收入界面 </p>
|
||||
*
|
||||
* @author Administrator
|
||||
* @date 2017/11/7
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills_gift)
|
||||
public class BillGiftInComeActivity extends BillBaseActivity<ActivityBillsGiftBinding> {
|
||||
// private GiftIncomeAdapter adapter;
|
||||
private TextView mGoldNum;
|
||||
private ImageView iv_goto_top;
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
super.init();
|
||||
initTitleBar(getString(R.string.bill_gift_income));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
mGoldNum = (TextView) findViewById(R.id.tv_gold_num);
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
mRecyclerView.smoothScrollToPosition(0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
adapter = new GiftIncomeAdapter(mBillItemEntityList);
|
||||
adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
|
||||
@Override
|
||||
public void onLoadMoreRequested() {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}
|
||||
}, mRecyclerView);
|
||||
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
|
||||
firstLoadDate();
|
||||
}
|
||||
|
||||
private void firstLoadDate() {
|
||||
mCurrentCounter = Constants.PAGE_START;
|
||||
showLoading();
|
||||
onLoadGoldNum();
|
||||
loadData();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.getGiftIncomeBills(mCurrentCounter, PAGE_SIZE, time)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((incomedResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onGetDataError(throwable.getMessage());
|
||||
} else if (incomedResult != null && incomedResult.isSuccess()) {
|
||||
onGetIncomeBills(incomedResult.getData());
|
||||
} else if (incomedResult != null) {
|
||||
onGetDataError(incomedResult.getError());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void onLoadGoldNum() {
|
||||
WalletInfo walletInfo = PayModel.get().getCurrentWalletInfo();
|
||||
if (null != walletInfo) {
|
||||
mGoldNum.setText(getString(R.string.bill_gift_gold_num, walletInfo.getDiamondNum()));
|
||||
}
|
||||
}
|
||||
|
||||
public void onGetIncomeBills(IncomeListInfo data) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != data) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
adapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
adapter.loadMoreComplete();
|
||||
}
|
||||
List<Map<String, List<IncomeInfo>>> billList = data.getBillList();
|
||||
if (!billList.isEmpty()) {
|
||||
int size = mBillItemEntityList.size();
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
BillItemEntity billItemEntity;
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<IncomeInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<IncomeInfo> incomeInfos = map.get(key);
|
||||
if (ListUtils.isListEmpty(incomeInfos)) continue;
|
||||
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = mBillItemEntityList.get(size - 1);
|
||||
//时间不一致才会添加标题
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (IncomeInfo temp : incomeInfos) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
billItemEntity.mGiftInComeInfo = temp;
|
||||
//目的是为了比较
|
||||
billItemEntity.time = key;
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
adapter.setEnableLoadMore(false);
|
||||
}
|
||||
adapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
showNoData(R.drawable.icon_common_failure, ResUtil.getString(R.string.bills_activities_billgiftincomeactivity_01));
|
||||
} else {
|
||||
adapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initTitleBar(String title) {
|
||||
TitleBar mTitleBar = (TitleBar) findViewById(R.id.title_bar);
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(R.drawable.arrow_left);
|
||||
mTitleBar.setLeftClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
mTitleBar.setActionTextColor(getResources().getColor(R.color.text_tertiary));
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_billgiftincomeactivity_02)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
ChargeActivity.start(mActivity);
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
mActivity, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(mActivity)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReloadDate() {
|
||||
super.onReloadDate();
|
||||
firstLoadDate();
|
||||
}
|
||||
}
|
@@ -1,148 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import static com.yizhuan.erban.bills.fragmemt.RadishGiftFragment.TYPE_RADISH_EXPAND;
|
||||
import static com.yizhuan.erban.bills.fragmemt.RadishGiftFragment.TYPE_RADISH_INCOME;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.avroom.adapter.RoomContributeListAdapter;
|
||||
import com.yizhuan.erban.base.BaseMvpActivity;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.fragmemt.GiftIncomeFragment;
|
||||
import com.yizhuan.erban.bills.fragmemt.GiftOutputFragment;
|
||||
import com.yizhuan.erban.bills.fragmemt.RadishGiftFragment;
|
||||
import com.yizhuan.erban.bills.presenter.BillGiftIncomeGroupPresenter;
|
||||
import com.yizhuan.erban.bills.view.IBillGiftIncomeGroupView;
|
||||
import com.yizhuan.erban.bills.view.ISmoothToTopView;
|
||||
import com.yizhuan.erban.bills.widget.BillGiftIncomeGroupNavigatorAdapter;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.MagicIndicator;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.ViewPagerHelper;
|
||||
import com.yizhuan.erban.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_library.base.factory.CreatePresenter;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@CreatePresenter(BillGiftIncomeGroupPresenter.class)
|
||||
public class BillGiftIncomeGroupActivity extends BaseMvpActivity<IBillGiftIncomeGroupView, BillGiftIncomeGroupPresenter>
|
||||
implements IBillGiftIncomeGroupView, CommonNavigator.NavigatorSelectedListener {
|
||||
|
||||
public static final byte TYPE_BILL_INCOME = 1;
|
||||
public static final byte TYPE_BILL_OUTPUT = 2;
|
||||
private static final String FLAG_TYPE_BILL = "type_bill";
|
||||
private byte mType = TYPE_BILL_INCOME;
|
||||
|
||||
private TextView mGoldNum;
|
||||
private ImageView iv_goto_top;
|
||||
private ViewPager mViewPager;
|
||||
|
||||
public static void startActivity(Context context, byte type) {
|
||||
Intent intent = new Intent(context, BillGiftIncomeGroupActivity.class);
|
||||
intent.putExtra(FLAG_TYPE_BILL, type);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
StatusBarLightModes(true);
|
||||
setContentView(R.layout.activity_bill_gift_income_group);
|
||||
|
||||
mType = getIntent().getByteExtra(FLAG_TYPE_BILL, TYPE_BILL_INCOME);
|
||||
|
||||
initTitleBar(mType == TYPE_BILL_INCOME ? ResUtil.getString(R.string.bills_activities_billgiftincomegroupactivity_01) : ResUtil.getString(R.string.bills_activities_billgiftincomegroupactivity_02));
|
||||
|
||||
mGoldNum = findViewById(R.id.tv_gold_num);
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(v -> smoothToTop());
|
||||
|
||||
mViewPager = findViewById(R.id.vp_bill_gift_income_group);
|
||||
MagicIndicator viewIndicator = findViewById(R.id.mi_bill);
|
||||
|
||||
ArrayList<Fragment> fragments = new ArrayList<>(2);
|
||||
|
||||
if (mType == TYPE_BILL_INCOME) {
|
||||
fragments.add(GiftIncomeFragment.newInstance());
|
||||
fragments.add(RadishGiftFragment.newInstance(TYPE_RADISH_INCOME));
|
||||
} else {
|
||||
fragments.add(GiftOutputFragment.newInstance());
|
||||
fragments.add(RadishGiftFragment.newInstance(TYPE_RADISH_EXPAND));
|
||||
}
|
||||
mViewPager.setAdapter(new RoomContributeListAdapter(getSupportFragmentManager(), fragments));
|
||||
|
||||
CommonNavigator commonNavigator = new CommonNavigator(this);
|
||||
commonNavigator.setAdjustMode(true);
|
||||
commonNavigator.setmNavigatorSelectedListener(this);
|
||||
|
||||
BillGiftIncomeGroupNavigatorAdapter indicator = new BillGiftIncomeGroupNavigatorAdapter();
|
||||
indicator.setOnItemSelectListener(position -> mViewPager.setCurrentItem(position));
|
||||
commonNavigator.setAdapter(indicator);
|
||||
viewIndicator.setNavigator(commonNavigator);
|
||||
ViewPagerHelper.bind(viewIndicator, mViewPager);
|
||||
}
|
||||
|
||||
private void smoothToTop() {
|
||||
try {
|
||||
|
||||
if (mViewPager != null) {
|
||||
int position = mViewPager.getCurrentItem();
|
||||
RoomContributeListAdapter roomConsumeListAdapter = (RoomContributeListAdapter) mViewPager.getAdapter();
|
||||
|
||||
if (roomConsumeListAdapter != null) {
|
||||
ISmoothToTopView iSmoothToTopView = (ISmoothToTopView) roomConsumeListAdapter.getItem(position);
|
||||
|
||||
if (iSmoothToTopView != null)
|
||||
iSmoothToTopView.smoothScrollToTop();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void showRightOption(boolean show) {
|
||||
if (mTitleBar.getActionCount() > 0)
|
||||
mTitleBar.removeActionAt(0);
|
||||
|
||||
if (show) {
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_billgiftincomegroupactivity_03)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
startActivity(new Intent(BillGiftIncomeGroupActivity.this, ChargeActivity.class));
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
context, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(context)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void navigatorSelected(int position) {
|
||||
showRightOption(position == 0); // 钻石礼物显示充值按钮
|
||||
}
|
||||
}
|
@@ -1,155 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.bills.adapter.NobleBillAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsBinding;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.NobleBillListInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p> 贵族开通记录 </p>
|
||||
*
|
||||
* @author jiahui
|
||||
* @date 2018/1/10
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills)
|
||||
public class BillNobleActivity extends BillBaseActivity<ActivityBillsBinding> {
|
||||
private NobleBillAdapter mNobleBillAdapter;
|
||||
|
||||
private ImageView iv_goto_top;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initTitleBar(getString(R.string.bill_noble_open));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
mRecyclerView.smoothScrollToPosition(0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
mNobleBillAdapter = new NobleBillAdapter(mBillItemEntityList);
|
||||
mNobleBillAdapter.setOnLoadMoreListener(() -> {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}, mRecyclerView);
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(mNobleBillAdapter);
|
||||
showLoading();
|
||||
loadData();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.loadNobleBillRecords(time, mCurrentCounter)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((nobleBillListInfo, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onGetDataError(throwable.getMessage());
|
||||
} else {
|
||||
onLoadNobleRecordSuccess(nobleBillListInfo);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// public void onLoadNobleRecordFail() {
|
||||
// if (mCurrentCounter == Constants.PAGE_START) {
|
||||
// showNetworkErr();
|
||||
// } else {
|
||||
// mNobleBillAdapter.loadMoreFail();
|
||||
// }
|
||||
// }
|
||||
|
||||
public void onLoadNobleRecordSuccess(NobleBillListInfo nobleBillListInfo) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != nobleBillListInfo) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
mNobleBillAdapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
mNobleBillAdapter.loadMoreComplete();
|
||||
}
|
||||
|
||||
List<Map<String, List<NobleBillListInfo.NobleBillInfo>>> billList = nobleBillListInfo.billList;
|
||||
if (!billList.isEmpty()) {
|
||||
int size = mBillItemEntityList.size();
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
BillItemEntity billItemEntity;
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<NobleBillListInfo.NobleBillInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<NobleBillListInfo.NobleBillInfo> nobleBillInfoList = map.get(key);
|
||||
if (ListUtils.isListEmpty(nobleBillInfoList)) continue;
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = (BillItemEntity) mBillItemEntityList.get(size - 1);
|
||||
//时间不一致才会添加标题
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (NobleBillListInfo.NobleBillInfo temp : nobleBillInfoList) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
billItemEntity.nobleBillInfo = temp;
|
||||
//目的是为了比较
|
||||
billItemEntity.time = key;
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
mNobleBillAdapter.setEnableLoadMore(false);
|
||||
}
|
||||
mNobleBillAdapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == 1) {
|
||||
showNoData(R.drawable.icon_common_failure, getResources().getString(R.string.bill_no_data_text));
|
||||
} else {
|
||||
mNobleBillAdapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,203 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.adapter.ChargeBillsAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsBinding;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_constants.XChatConstants;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendInfo;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendListInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 充值记录
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills)
|
||||
public class ChargeBillsActivity extends BillBaseActivity<ActivityBillsBinding> {
|
||||
private TitleBar mTitleBar;
|
||||
// private ChargeBillsAdapter adapter;
|
||||
|
||||
private ImageView iv_goto_top;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initTitleBar(ResUtil.getString(R.string.bills_activities_chargebillsactivity_01));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
mRecyclerView.smoothScrollToPosition(0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
adapter = new ChargeBillsAdapter(mBillItemEntityList);
|
||||
adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
|
||||
@Override
|
||||
public void onLoadMoreRequested() {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}
|
||||
}, mRecyclerView);
|
||||
adapter.addFooterView(View.inflate(context, R.layout.layout_bills_bottom, null));
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
showLoading();
|
||||
loadData();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.getChargeBills(mCurrentCounter, PAGE_SIZE, time)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((chargeResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onGetDataError(throwable.getMessage());
|
||||
} else if (chargeResult != null && chargeResult.isSuccess()) {
|
||||
onGetChargeBills(chargeResult.getData());
|
||||
} else if (chargeResult != null) {
|
||||
onGetDataError(chargeResult.getError());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void onGetChargeBills(ExpendListInfo data) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != data) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
adapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
adapter.loadMoreComplete();
|
||||
}
|
||||
|
||||
BillItemEntity billItemEntity;
|
||||
List<Map<String, List<ExpendInfo>>> billList = data.getBillList();
|
||||
if (!billList.isEmpty()) {
|
||||
int size = mBillItemEntityList.size();
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<ExpendInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<ExpendInfo> expendInfos = map.get(key);
|
||||
if (ListUtils.isListEmpty(expendInfos)) {
|
||||
continue;
|
||||
}
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = (BillItemEntity) mBillItemEntityList.get(size - 1);
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) { //时间不一致才会添加标题
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (ExpendInfo temp : expendInfos) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
billItemEntity.mChargeExpendInfo = temp;
|
||||
billItemEntity.time = key; //目的是为了比较
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
adapter.setEnableLoadMore(false);
|
||||
}
|
||||
adapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
showNoData(R.drawable.icon_common_failure, XChatConstants.EMPTY_RECORD_AND_THREE_MONTHS_TIPSS);
|
||||
} else {
|
||||
adapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void initTitleBar(String title) {
|
||||
mTitleBar = (TitleBar) findViewById(R.id.title_bar);
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(R.drawable.arrow_left);
|
||||
mTitleBar.setLeftClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
mTitleBar.setActionTextColor(getResources().getColor(R.color.text_tertiary));
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_chargebillsactivity_02)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
ChargeActivity.start(mActivity);
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
mActivity, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(mActivity)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// public void onGetChargeBillsError(String error) {
|
||||
// if (mCurrentCounter == Constants.PAGE_START) {
|
||||
// showNetworkErr();
|
||||
// } else {
|
||||
// adapter.loadMoreFail();
|
||||
// }
|
||||
// }
|
||||
}
|
@@ -1,161 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.bills.adapter.ChatBillsAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsBinding;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeInfo;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeListInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 竞拍记录
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills)
|
||||
public class ChatBillsActivity extends BillBaseActivity<ActivityBillsBinding> {
|
||||
// private ChatBillsAdapter adapter;
|
||||
|
||||
private ImageView iv_goto_top;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initTitleBar(getString(R.string.menu_my_auction));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
mRecyclerView.smoothScrollToPosition(0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
adapter = new ChatBillsAdapter(mBillItemEntityList);
|
||||
adapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
|
||||
@Override
|
||||
public void onLoadMoreRequested() {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}
|
||||
}, mRecyclerView);
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
showLoading();
|
||||
loadData();
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.getChatBills(mCurrentCounter, PAGE_SIZE, time)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((incomedResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onGetDataError(throwable.getMessage());
|
||||
} else if (incomedResult != null && incomedResult.isSuccess()) {
|
||||
onGetOrderIncomeBills(incomedResult.getData());
|
||||
} else if (incomedResult != null) {
|
||||
onGetDataError(incomedResult.getError());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void onGetOrderIncomeBills(IncomeListInfo data) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != data) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
adapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
adapter.loadMoreComplete();
|
||||
}
|
||||
|
||||
List<Map<String, List<IncomeInfo>>> billList = data.getBillList();
|
||||
if (!billList.isEmpty()) {
|
||||
int size = mBillItemEntityList.size();
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
BillItemEntity billItemEntity;
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<IncomeInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<IncomeInfo> incomeInfos = map.get(key);
|
||||
if (ListUtils.isListEmpty(incomeInfos)) continue;
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = mBillItemEntityList.get(size - 1);
|
||||
//时间不一致才会添加标题
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (IncomeInfo temp : incomeInfos) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
billItemEntity.mChatInComeInfo = temp;
|
||||
//目的是为了比较
|
||||
billItemEntity.time = key;
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
adapter.setEnableLoadMore(false);
|
||||
}
|
||||
adapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == 1) {
|
||||
showNoData(getResources().getString(R.string.bill_no_data_text));
|
||||
} else {
|
||||
adapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// public void onGetOrderIncomeBillsError(String error) {
|
||||
// if (mCurrentCounter == Constants.PAGE_START) {
|
||||
// showNetworkErr();
|
||||
// } else {
|
||||
// adapter.loadMoreFail();
|
||||
// }
|
||||
// }
|
||||
}
|
@@ -1,190 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.adapter.RedBagBillsAdapter;
|
||||
import com.yizhuan.erban.databinding.ActivityBillsBinding;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.erban.ui.widget.RecyclerViewNoBugLinearLayoutManager;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_core.bills.BillModel;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.RedBagInfo;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.RedBagListInfo;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ListUtils;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 红包记录
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_bills)
|
||||
public class RedBagBillsActivity extends BillBaseActivity<ActivityBillsBinding> {
|
||||
|
||||
// private RedBagBillsAdapter adapter;
|
||||
|
||||
private ImageView iv_goto_top;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
initTitleBar(getString(R.string.bill_red));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initTitleBar(String title) {
|
||||
mTitleBar = mBinding.titleBar;
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(R.drawable.icon_user_back_black);
|
||||
mTitleBar.setLeftClickListener(v -> finish());
|
||||
}
|
||||
mTitleBar.setActionTextColor(getResources().getColor(R.color.text_tertiary));
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_redbagbillsactivity_01)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
startActivity(new Intent(RedBagBillsActivity.this, ChargeActivity.class));
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
context, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(context)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initView() {
|
||||
super.initView();
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
iv_goto_top.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
mRecyclerView.smoothScrollToPosition(0);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
super.initData();
|
||||
adapter = new RedBagBillsAdapter(mBillItemEntityList);
|
||||
adapter.setOnLoadMoreListener(() -> {
|
||||
mCurrentCounter++;
|
||||
loadData();
|
||||
}, mRecyclerView);
|
||||
RecyclerViewNoBugLinearLayoutManager manager = new RecyclerViewNoBugLinearLayoutManager(mActivity);
|
||||
mRecyclerView.setLayoutManager(manager);
|
||||
mRecyclerView.setAdapter(adapter);
|
||||
showLoading();
|
||||
loadData();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
protected void loadData() {
|
||||
BillModel.get()
|
||||
.getRedBagBills(mCurrentCounter, PAGE_SIZE, time)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe((redBagResult, throwable) -> {
|
||||
if (throwable != null) {
|
||||
onGetDataError(throwable.getMessage());
|
||||
} else if (redBagResult != null && redBagResult.isSuccess()) {
|
||||
onGetRedBagBills(redBagResult.getData());
|
||||
} else if (redBagResult != null) {
|
||||
onGetDataError(redBagResult.getError());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void onGetRedBagBills(RedBagListInfo data) {
|
||||
mRefreshLayout.setRefreshing(false);
|
||||
if (null != data) {
|
||||
if (mCurrentCounter == Constants.PAGE_START) {
|
||||
hideStatus();
|
||||
mBillItemEntityList.clear();
|
||||
adapter.setNewData(mBillItemEntityList);
|
||||
} else {
|
||||
adapter.loadMoreComplete();
|
||||
}
|
||||
BillItemEntity billItemEntity;
|
||||
List<Map<String, List<RedBagInfo>>> billList = data.getBillList();
|
||||
if (!billList.isEmpty()) {
|
||||
int size = mBillItemEntityList.size();
|
||||
List<BillItemEntity> billItemEntities = new ArrayList<>();
|
||||
for (int i = 0; i < billList.size(); i++) {
|
||||
Map<String, List<RedBagInfo>> map = billList.get(i);
|
||||
for (String key : map.keySet()) {
|
||||
// key ---日期 value:list集合记录
|
||||
List<RedBagInfo> redBagInfos = map.get(key);
|
||||
if (ListUtils.isListEmpty(redBagInfos)) continue;
|
||||
//标题
|
||||
if (size > 0) {
|
||||
BillItemEntity lastBillItem = mBillItemEntityList.get(size - 1);
|
||||
if (!TextUtils.equals(lastBillItem.time, key)) { //时间不一致才会添加标题
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
} else {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_DATE, key);
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
|
||||
//正常item
|
||||
for (RedBagInfo temp : redBagInfos) {
|
||||
billItemEntity = new BillItemEntity(BillItemEntity.ITEM_NORMAL);
|
||||
billItemEntity.mRedBagInfo = temp;
|
||||
billItemEntity.time = key; //目的是为了比较
|
||||
billItemEntities.add(billItemEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (billItemEntities.size() < Constants.BILL_PAGE_SIZE && mCurrentCounter == Constants.PAGE_START) {
|
||||
adapter.setEnableLoadMore(false);
|
||||
}
|
||||
adapter.addData(billItemEntities);
|
||||
} else {
|
||||
if (mCurrentCounter == 1) {
|
||||
showNoData(ResUtil.getString(R.string.bills_activities_redbagbillsactivity_02));
|
||||
} else {
|
||||
adapter.loadMoreEnd(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// public void onGetRedBagBillsError(String error) {
|
||||
// if (mCurrentCounter == Constants.PAGE_START) {
|
||||
// showNetworkErr();
|
||||
// } else {
|
||||
// adapter.loadMoreFail();
|
||||
// }
|
||||
// }
|
||||
}
|
@@ -1,86 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseActivity;
|
||||
import com.yizhuan.erban.bills.widget.BillItemView;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
public class TotalBillsActivity extends BaseActivity implements View.OnClickListener {
|
||||
private BillItemView mBillGiftInCome, mBillGiftExpend;
|
||||
private BillItemView mBillChat;
|
||||
private BillItemView mBillCharge;
|
||||
private BillItemView mBillWithdraw;
|
||||
private BillItemView mBillRed;
|
||||
private BillItemView mBillNoble;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_total_bills);
|
||||
initTitleBar(getString(R.string.bill_title));
|
||||
initView();
|
||||
initData();
|
||||
setListener();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
mBillGiftInCome = (BillItemView) findViewById(R.id.bill_item_income);
|
||||
mBillGiftExpend = (BillItemView) findViewById(R.id.bill_item_expend);
|
||||
mBillChat = (BillItemView) findViewById(R.id.bill_item_chat);
|
||||
mBillCharge = (BillItemView) findViewById(R.id.bill_item_charge);
|
||||
mBillWithdraw = (BillItemView) findViewById(R.id.bill_item_withdraw);
|
||||
mBillRed = (BillItemView) findViewById(R.id.bill_item_red);
|
||||
mBillNoble = (BillItemView) findViewById(R.id.bill_item_noble);
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void setListener() {
|
||||
mBillGiftInCome.setOnClickListener(this);
|
||||
mBillGiftExpend.setOnClickListener(this);
|
||||
mBillChat.setOnClickListener(this);
|
||||
mBillCharge.setOnClickListener(this);
|
||||
mBillWithdraw.setOnClickListener(this);
|
||||
mBillRed.setOnClickListener(this);
|
||||
mBillNoble.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.bill_item_income:
|
||||
// startActivity(new Intent(this, BillGiftInComeActivity.class));
|
||||
BillGiftIncomeGroupActivity.startActivity(this, BillGiftIncomeGroupActivity.TYPE_BILL_INCOME);
|
||||
break;
|
||||
case R.id.bill_item_expend:
|
||||
// startActivity(new Intent(this, BillGiftExpendActivity.class));
|
||||
BillGiftIncomeGroupActivity.startActivity(this, BillGiftIncomeGroupActivity.TYPE_BILL_OUTPUT);
|
||||
break;
|
||||
case R.id.bill_item_chat:
|
||||
startActivity(new Intent(this, ChatBillsActivity.class));
|
||||
break;
|
||||
case R.id.bill_item_charge:
|
||||
startActivity(new Intent(this, ChargeBillsActivity.class));
|
||||
break;
|
||||
case R.id.bill_item_withdraw:
|
||||
startActivity(new Intent(this, WithdrawBillsActivity.class));
|
||||
break;
|
||||
case R.id.bill_item_red:
|
||||
startActivity(new Intent(this, RedBagBillsActivity.class));
|
||||
break;
|
||||
case R.id.bill_item_noble:
|
||||
startActivity(new Intent(this, BillNobleActivity.class));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,164 +0,0 @@
|
||||
package com.yizhuan.erban.bills.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.util.SparseLongArray;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.jzxiang.pickerview.TimePickerDialog;
|
||||
import com.jzxiang.pickerview.data.Type;
|
||||
import com.jzxiang.pickerview.listener.OnDateSetListener;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.base.BaseBindingActivity;
|
||||
import com.yizhuan.erban.base.TitleBar;
|
||||
import com.yizhuan.erban.bills.event.DateInfoEvent;
|
||||
import com.yizhuan.erban.bills.event.TopEvent;
|
||||
import com.yizhuan.erban.bills.fragmemt.WithdrawBillsFragment;
|
||||
import com.yizhuan.erban.databinding.ActivityWithdrawBillsBinding;
|
||||
import com.yizhuan.erban.ui.pay.ChargeActivity;
|
||||
import com.yizhuan.erban.ui.webview.CommonWebViewActivity;
|
||||
import com.yizhuan.xchat_android_core.Constants;
|
||||
import com.yizhuan.xchat_android_core.UriProvider;
|
||||
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
|
||||
import com.yizhuan.xchat_android_library.common.util.DeviceUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.AppMetaDataUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
/**
|
||||
* 提现账单记录
|
||||
*/
|
||||
@ActLayoutRes(R.layout.activity_withdraw_bills)
|
||||
public class WithdrawBillsActivity extends BaseBindingActivity<ActivityWithdrawBillsBinding>
|
||||
implements View.OnClickListener, OnDateSetListener {
|
||||
|
||||
private TitleBar mTitleBar;
|
||||
private FrameLayout fragmentContainer;
|
||||
|
||||
private TextView mTvDay;
|
||||
private ImageView mIvToday, mIvDay;
|
||||
private ImageView iv_goto_top;
|
||||
// private TimePickerDialog mDialogYearMonthDay;
|
||||
private TimePickerDialog.Builder mDialogYearMonthDayBuild;
|
||||
private int mPosition;
|
||||
private long time = System.currentTimeMillis();
|
||||
private SparseLongArray mTodayMap = new SparseLongArray(2);
|
||||
|
||||
@Override
|
||||
protected void init() {
|
||||
initView();
|
||||
initData();
|
||||
setListener();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
fragmentContainer = (FrameLayout) findViewById(R.id.fragment_container);
|
||||
mTvDay = (TextView) findViewById(R.id.tv_date);
|
||||
mIvToday = (ImageView) findViewById(R.id.iv_today_select);
|
||||
mIvDay = (ImageView) findViewById(R.id.tv_selector_date);
|
||||
iv_goto_top = findViewById(R.id.iv_goto_top);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initTitleBar(String title) {
|
||||
mTitleBar = mBinding.titleBar;
|
||||
if (mTitleBar != null) {
|
||||
mTitleBar.setTitle(title);
|
||||
mTitleBar.setImmersive(false);
|
||||
mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
|
||||
mTitleBar.setLeftImageResource(R.drawable.icon_user_back_black);
|
||||
mTitleBar.setLeftClickListener(v -> finish());
|
||||
}
|
||||
mTitleBar.setActionTextColor(getResources().getColor(R.color.text_tertiary));
|
||||
mTitleBar.addAction(new TitleBar.TextAction(ResUtil.getString(R.string.bills_activities_withdrawbillsactivity_01)) {
|
||||
@Override
|
||||
public void performAction(View view) {
|
||||
if(AppMetaDataUtil.getChannelID().equals(Constants.GOOGLE)) {
|
||||
startActivity(new Intent(WithdrawBillsActivity.this, ChargeActivity.class));
|
||||
}else {
|
||||
CommonWebViewActivity.start(
|
||||
context, UriProvider.getOfficialPay(
|
||||
4,
|
||||
DeviceUtil.getDeviceId(context)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
initTitleBar(getString(R.string.bill_withdraw));
|
||||
WithdrawBillsFragment withdrawBillsFragment = new WithdrawBillsFragment();
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.fragment_container, withdrawBillsFragment, withdrawBillsFragment.getClass().getName())
|
||||
.commit();
|
||||
//初始化时间
|
||||
mTodayMap.put(0, time);
|
||||
mTodayMap.put(1, time);
|
||||
setDate();
|
||||
mDialogYearMonthDayBuild = new TimePickerDialog.Builder()
|
||||
.setType(Type.YEAR_MONTH_DAY)
|
||||
.setTitleStringId(ResUtil.getString(R.string.bills_activities_withdrawbillsactivity_02))
|
||||
.setThemeColor(getResources().getColor(R.color.line_background))
|
||||
.setWheelItemTextNormalColor(getResources().getColor(R.color
|
||||
.timetimepicker_default_text_color))
|
||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||
.setCallBack(this)
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
private void setListener() {
|
||||
mIvDay.setOnClickListener(this);
|
||||
mIvToday.setOnClickListener(this);
|
||||
iv_goto_top.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.iv_today_select:
|
||||
time = System.currentTimeMillis();
|
||||
mTodayMap.put(mPosition, time);
|
||||
setDate();
|
||||
EventBus.getDefault().post(new DateInfoEvent(time, mPosition));
|
||||
break;
|
||||
case R.id.tv_selector_date:
|
||||
mDialogYearMonthDayBuild.build().show(getSupportFragmentManager(), "year_month_day");
|
||||
break;
|
||||
case R.id.iv_goto_top:
|
||||
EventBus.getDefault().post(new TopEvent(mPosition));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void setDate() {
|
||||
mTvDay.setText(TimeUtils.getDateTimeString(mTodayMap.get(mPosition), "yyyy-MM-dd"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDateSet(TimePickerDialog timePickerView, long millseconds) {
|
||||
this.time = millseconds;
|
||||
mTodayMap.put(mPosition, time);
|
||||
setDate();
|
||||
EventBus.getDefault().post(new DateInfoEvent(millseconds, mPosition));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
if (mDialogYearMonthDayBuild != null) {
|
||||
mDialogYearMonthDayBuild.setCallBack(null);
|
||||
mDialogYearMonthDayBuild = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -1,40 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p> 账单adapter base</p>
|
||||
* Created by Administrator on 2017/11/6.
|
||||
*/
|
||||
public abstract class BillBaseAdapter extends BaseMultiItemQuickAdapter<BillItemEntity, BaseViewHolder> {
|
||||
|
||||
public BillBaseAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_DATE, R.layout.list_income_gift_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
if (billItemEntity == null) {
|
||||
return;
|
||||
}
|
||||
switch (billItemEntity.getItemType()) {
|
||||
case BillItemEntity.ITEM_DATE:
|
||||
baseViewHolder.setText(R.id.tv_date,
|
||||
TimeUtils.getDateTimeString(Long.parseLong(billItemEntity.time), "yyyy-MM-dd"));
|
||||
break;
|
||||
case BillItemEntity.ITEM_NORMAL:
|
||||
convertNormal(baseViewHolder, billItemEntity);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity);
|
||||
}
|
@@ -1,33 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 充值记录 ExpendInfo
|
||||
* Created by ${Seven} on 2017/9/15.
|
||||
*/
|
||||
public class ChargeBillsAdapter extends BillBaseAdapter {
|
||||
|
||||
public ChargeBillsAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_charge_bills_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
ExpendInfo expendInfo = billItemEntity.mChargeExpendInfo;
|
||||
if (expendInfo == null) {
|
||||
return;
|
||||
}
|
||||
baseViewHolder.setText(R.id.tv_gold, ResUtil.getString(R.string.bills_adapter_chargebillsadapter_01) + expendInfo.getGoldNum() + ResUtil.getString(R.string.bills_adapter_chargebillsadapter_02))
|
||||
.setText(R.id.tv_money, expendInfo.getShowStr())
|
||||
.setText(R.id.tv_charge_time, TimeUtils.getYearMonthDayHourMinuteSecond(expendInfo.getRecordTime()));
|
||||
}
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.common.widget.CircleImageView;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* IncomeInfo
|
||||
* Created by Seven on 2017/9/18.
|
||||
*/
|
||||
public class ChatBillsAdapter extends BillBaseAdapter {
|
||||
|
||||
public ChatBillsAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_order_bills_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
IncomeInfo incomeInfo = billItemEntity.mChatInComeInfo;
|
||||
if (incomeInfo == null) return;
|
||||
baseViewHolder.setVisible(R.id.rly_gold, true)
|
||||
.setText(R.id.tv_user_pro, incomeInfo.getTargetNick() + "&" + incomeInfo.getUserNick())
|
||||
.setText(R.id.tv_date, TimeUtils.getYearMonthDayHourMinuteSecond(incomeInfo.getRecordTime()))
|
||||
.setText(R.id.tv_gold, incomeInfo.getGoldNum() != 0
|
||||
? String.valueOf(incomeInfo.getGoldNum()) : "+" + incomeInfo.getDiamondNum())
|
||||
.setText(R.id.tv_bill_type, incomeInfo.getGoldNum() != 0
|
||||
? mContext.getString(R.string.gift_expend_gold) : mContext.getString(R.string.gift_income_gold));
|
||||
|
||||
CircleImageView userAvatar = baseViewHolder.getView(R.id.user_avatar);
|
||||
CircleImageView proAvatar = baseViewHolder.getView(R.id.pro_avatar);
|
||||
ImageLoadUtils.loadAvatar(mContext, incomeInfo.getUserAvatar(), userAvatar);
|
||||
ImageLoadUtils.loadAvatar(mContext, incomeInfo.getTargetAvatar(), proAvatar);
|
||||
}
|
||||
}
|
@@ -1,40 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.ExpendInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* ExpendInfo
|
||||
* Created by Seven on 2017/9/10.
|
||||
*/
|
||||
public class GiftExpendAdapter extends BillBaseAdapter {
|
||||
|
||||
public GiftExpendAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_expend_gift_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
ExpendInfo expendInfo = billItemEntity.mGiftExpendInfo;
|
||||
if (expendInfo == null) return;
|
||||
baseViewHolder.setText(R.id.tv_gift_income,
|
||||
mContext.getString(R.string.gift_out_gold_number_format, expendInfo.getGoldNum()))
|
||||
.setText(R.id.tv_send_name, ResUtil.getString(R.string.bills_adapter_giftexpendadapter_01) + expendInfo.getTargetNick())
|
||||
.setText(R.id.tv_user_name, expendInfo.getGiftName())
|
||||
.setText(R.id.gift_date, TimeUtils.getDateTimeString(expendInfo.getRecordTime(), "HH:mm:ss"))
|
||||
.setText(R.id.gold, R.string.gift_expend_gold);
|
||||
|
||||
ImageView img_avatar = baseViewHolder.getView(R.id.img_avatar);
|
||||
ImageLoadUtils.loadImage(mContext, expendInfo.getGiftPic(), img_avatar);
|
||||
}
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.IncomeInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Seven on 2017/9/11.
|
||||
*/
|
||||
|
||||
public class GiftIncomeAdapter extends BillBaseAdapter {
|
||||
|
||||
public GiftIncomeAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_expend_gift_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
IncomeInfo incomeInfo = billItemEntity.mGiftInComeInfo;
|
||||
if (incomeInfo == null) return;
|
||||
baseViewHolder.setText(R.id.tv_gift_income,
|
||||
mContext.getString(R.string.gift_in_gold_number_format, incomeInfo.getDiamondNum()))
|
||||
.setText(R.id.tv_send_name, ResUtil.getString(R.string.bills_adapter_giftincomeadapter_01) + incomeInfo.getTargetNick())
|
||||
.setText(R.id.tv_user_name, incomeInfo.getGiftName())
|
||||
.setText(R.id.gift_date, TimeUtils.getDateTimeString(incomeInfo.getRecordTime(), "HH:mm:ss"))
|
||||
.setText(R.id.gold, R.string.gift_income_gold);
|
||||
ImageView avatar = baseViewHolder.getView(R.id.img_avatar);
|
||||
ImageLoadUtils.loadImage(mContext, incomeInfo.getGiftPic(), avatar);
|
||||
}
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.NobleBillListInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p> </p>
|
||||
*
|
||||
* @author jiahui
|
||||
* @date 2018/1/18
|
||||
*/
|
||||
public class NobleBillAdapter extends BillBaseAdapter {
|
||||
public NobleBillAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_charge_bills_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
NobleBillListInfo.NobleBillInfo nobleBillInfo = billItemEntity.nobleBillInfo;
|
||||
if (nobleBillInfo == null) return;
|
||||
baseViewHolder.setText(R.id.tv_gold, nobleBillInfo.getOptStr())
|
||||
.setText(R.id.tv_money, nobleBillInfo.getPayStr())
|
||||
.setText(R.id.tv_charge_time, TimeUtils.getYearMonthDayHourMinuteSecond(nobleBillInfo.getRecordTime()));
|
||||
}
|
||||
}
|
@@ -1,47 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.core.content.ContextCompat;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.erban.bills.fragmemt.RadishGiftFragment;
|
||||
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.RadishGiftInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RadishGiftAdapter extends BillBaseAdapter{
|
||||
private byte mType;
|
||||
|
||||
public RadishGiftAdapter(List<BillItemEntity> billItemEntityList, byte type) {
|
||||
super(billItemEntityList);
|
||||
mType = type;
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_expend_gift_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
|
||||
RadishGiftInfo radishGiftInfo = billItemEntity.mRadishGiftInfo;
|
||||
if (radishGiftInfo == null) return;
|
||||
|
||||
baseViewHolder.setText(R.id.tv_send_name, radishGiftInfo.getDescribeStr())
|
||||
.setText(R.id.tv_user_name, radishGiftInfo.getGiftName())
|
||||
.setText(R.id.gift_date, TimeUtils.getDateTimeString(radishGiftInfo.getCreateTime(), "HH:mm:ss"));
|
||||
|
||||
// 价格/数量
|
||||
int incomeColor = ContextCompat.getColor(mContext, R.color.appColor);
|
||||
int outputColor = ContextCompat.getColor(mContext, R.color.color_333333);
|
||||
baseViewHolder.setTextColor(R.id.tv_gift_income, mType == RadishGiftFragment.TYPE_RADISH_INCOME ? incomeColor : outputColor)
|
||||
.setText(R.id.tv_gift_income, mType == RadishGiftFragment.TYPE_RADISH_INCOME ? "x" + radishGiftInfo.getGiftNum() : radishGiftInfo.getAmountStr())
|
||||
.setText(R.id.gold, mType == RadishGiftFragment.TYPE_RADISH_INCOME ? "" : radishGiftInfo.getCurrencyStr());
|
||||
|
||||
ImageView avatar = baseViewHolder.getView(R.id.img_avatar);
|
||||
ImageLoadUtils.loadImage(mContext, radishGiftInfo.getGiftPicUrl(), avatar);
|
||||
}
|
||||
}
|
||||
|
@@ -1,30 +0,0 @@
|
||||
package com.yizhuan.erban.bills.adapter;
|
||||
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.yizhuan.erban.R;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.BillItemEntity;
|
||||
import com.yizhuan.xchat_android_core.bills.bean.RedBagInfo;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 红包记录 RedBagInfo
|
||||
* Created by ${Seven} on 2017/9/25.
|
||||
*/
|
||||
public class RedBagBillsAdapter extends BillBaseAdapter {
|
||||
public RedBagBillsAdapter(List<BillItemEntity> billItemEntityList) {
|
||||
super(billItemEntityList);
|
||||
addItemType(BillItemEntity.ITEM_NORMAL, R.layout.list_charge_bills_item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void convertNormal(BaseViewHolder baseViewHolder, BillItemEntity billItemEntity) {
|
||||
RedBagInfo redBagInfo = billItemEntity.mRedBagInfo;
|
||||
if (redBagInfo == null) return;
|
||||
baseViewHolder.setText(R.id.tv_gold, redBagInfo.getTypeStr())
|
||||
.setText(R.id.tv_money, "+" + redBagInfo.getPacketNum() + ResUtil.getString(R.string.bills_adapter_redbagbillsadapter_01))
|
||||
.setText(R.id.tv_charge_time, TimeUtils.getYearMonthDayHourMinuteSecond(redBagInfo.getCreateTime()));
|
||||
}
|
||||
}
|