[Modify]移除无用代码

This commit is contained in:
wushaocheng
2023-02-01 11:25:31 +08:00
parent 44d35be33b
commit 7f49a95517
7 changed files with 78 additions and 779 deletions

View File

@@ -107,30 +107,12 @@ public class UIHelper {
mContext.startActivity(intent);
}
public static void showAudioRecordAct(Context mContext) {
Intent intent = new Intent(mContext, AudioRecordActivity.class);
mContext.startActivity(intent);
}
public static void showRecordVoiceAct(Activity mActivity, int requestCode, long voiceId) {
Intent intent = new Intent(mActivity, RecordingVoiceActivity.class);
intent.putExtra(RecordingVoiceActivity.EXTRA_VOICE_ID, voiceId);
mActivity.startActivityForResult(intent, requestCode);
}
public static void showMyVoiceAct(Context mContext) {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MY_SOUND, ResUtil.getString(R.string.yizhuan_erban_uihelper_01));
Intent intent = new Intent(mContext, MyVoiceActivity.class);
mContext.startActivity(intent);
}
public static void showMyVoiceAct(Fragment mFragment, int requestCode, String label) {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MY_SOUND, ResUtil.getString(R.string.yizhuan_erban_uihelper_02) + label);
Intent intent = new Intent(mFragment.getActivity(), MyVoiceActivity.class);
mFragment.startActivityForResult(intent, requestCode);
}
public static void showMyVoiceAct(Activity mActivity, int requestCode, String label) {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_MY_SOUND, ResUtil.getString(R.string.yizhuan_erban_uihelper_03) + label);
Intent intent = new Intent(mActivity, MyVoiceActivity.class);

View File

@@ -13,7 +13,7 @@ import com.netease.nimlib.sdk.media.record.AudioRecorder;
import com.netease.nimlib.sdk.media.record.IAudioRecordCallback;
import com.netease.nimlib.sdk.media.record.RecordType;
import com.yizhuan.erban.R;
import com.yizhuan.erban.base.BaseBindingActivity;
import com.yizhuan.erban.base.BaseViewBindingActivity;
import com.yizhuan.erban.common.widget.dialog.DialogManager;
import com.yizhuan.erban.databinding.ActivityAudiorecordBinding;
import com.yizhuan.xchat_android_core.audio.AudioPlayAndRecordManager;
@@ -24,7 +24,6 @@ import com.yizhuan.xchat_android_core.room.bean.RoomInfo;
import com.yizhuan.xchat_android_core.room.model.AvRoomModel;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_library.annatation.ActLayoutRes;
import com.yizhuan.xchat_android_library.utils.ResUtil;
import com.yizhuan.xchat_android_library.utils.log.MLog;
@@ -37,8 +36,7 @@ import io.reactivex.disposables.Disposable;
* @author zhouxiangfeng
* @date 2017/5/25
*/
@ActLayoutRes(R.layout.activity_audiorecord)
public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecordBinding> {
public class AudioRecordActivity extends BaseViewBindingActivity<ActivityAudiorecordBinding> implements View.OnClickListener {
private static final String TAG = "AudioRecordActivity";
@@ -50,18 +48,20 @@ public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecord
private AudioPlayAndRecordManager audioManager;
private AudioRecorder recorder;
protected void init() {
@Override
public void init() {
audioManager = AudioPlayAndRecordManager.getInstance();
audioPlayer = audioManager.getAudioPlayer(null, onPlayListener);
onSetListener();
}
@SuppressLint("ClickableViewAccessibility")
private void onSetListener() {
mBinding.llRecord.setOnClickListener(this);
mBinding.ivTryListen.setOnClickListener(this);
mBinding.ivRetryRecord.setOnClickListener(this);
mBinding.ivRecordSave.setOnClickListener(this);
mBinding.ivRecord.setOnTouchListener((v, event) -> {
binding.llRecord.setOnClickListener(this);
binding.ivTryListen.setOnClickListener(this);
binding.ivRetryRecord.setOnClickListener(this);
binding.ivRecordSave.setOnClickListener(this);
binding.ivRecord.setOnTouchListener((v, event) -> {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
RoomInfo current = AvRoomDataManager.get().mCurrentRoomInfo;
@@ -89,7 +89,7 @@ public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecord
return false;
});
mBinding.imgBack.setOnClickListener(v -> finish());
binding.imgBack.setOnClickListener(v -> finish());
}
private void startVoice() {
@@ -105,12 +105,12 @@ public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecord
}
private void startChronometer() {
mBinding.tvChronometer.setVisibility(View.VISIBLE);
mBinding.tvChronometer.setFormat("");
binding.tvChronometer.setVisibility(View.VISIBLE);
binding.tvChronometer.setFormat("");
value = -1;
mBinding.tvChronometer.setOnChronometerTickListener(chronometerTickListener);
mBinding.tvChronometer.setBase(0);
mBinding.tvChronometer.start();
binding.tvChronometer.setOnChronometerTickListener(chronometerTickListener);
binding.tvChronometer.setBase(0);
binding.tvChronometer.start();
}
@@ -174,34 +174,34 @@ public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecord
private void showByState(int state) {
if (state == STATE_RECORD_NORMAL) {
mBinding.ivRecord.setImageResource(R.drawable.icon_record);
mBinding.ivRecord.setVisibility(View.VISIBLE);
mBinding.ivRecordSave.setVisibility(View.GONE);
mBinding.tvState.setVisibility(View.VISIBLE);
mBinding.tvState.setText(ResUtil.getString(R.string.erban_audio_audiorecordactivity_06));
mBinding.tvChronometer.setVisibility(View.INVISIBLE);
mBinding.ivRetryRecord.setVisibility(View.GONE);
mBinding.ivTryListen.setVisibility(View.GONE);
binding.ivRecord.setImageResource(R.drawable.icon_record);
binding.ivRecord.setVisibility(View.VISIBLE);
binding.ivRecordSave.setVisibility(View.GONE);
binding.tvState.setVisibility(View.VISIBLE);
binding.tvState.setText(ResUtil.getString(R.string.erban_audio_audiorecordactivity_06));
binding.tvChronometer.setVisibility(View.INVISIBLE);
binding.ivRetryRecord.setVisibility(View.GONE);
binding.ivTryListen.setVisibility(View.GONE);
} else if (state == STATE_RECORD_RECORDING) {
mBinding.ivRecord.setImageResource(R.drawable.icon_recording);
mBinding.ivRecord.setVisibility(View.VISIBLE);
mBinding.ivRecordSave.setVisibility(View.GONE);
mBinding.tvState.setVisibility(View.VISIBLE);
mBinding.tvState.setText(ResUtil.getString(R.string.erban_audio_audiorecordactivity_07));
mBinding.tvChronometer.setVisibility(View.VISIBLE);
mBinding.ivRetryRecord.setVisibility(View.GONE);
mBinding.ivTryListen.setVisibility(View.GONE);
binding.ivRecord.setImageResource(R.drawable.icon_recording);
binding.ivRecord.setVisibility(View.VISIBLE);
binding.ivRecordSave.setVisibility(View.GONE);
binding.tvState.setVisibility(View.VISIBLE);
binding.tvState.setText(ResUtil.getString(R.string.erban_audio_audiorecordactivity_07));
binding.tvChronometer.setVisibility(View.VISIBLE);
binding.ivRetryRecord.setVisibility(View.GONE);
binding.ivTryListen.setVisibility(View.GONE);
} else if (state == STATE_RECORD_SUCCESS) {
mBinding.ivRecord.setVisibility(View.GONE);
mBinding.ivRecordSave.setVisibility(View.VISIBLE);
mBinding.tvState.setVisibility(View.INVISIBLE);
mBinding.ivRetryRecord.setVisibility(View.VISIBLE);
mBinding.tvChronometer.setVisibility(View.INVISIBLE);
mBinding.tvChronometer.stop();
mBinding.ivTryListen.setVisibility(View.VISIBLE);
binding.ivRecord.setVisibility(View.GONE);
binding.ivRecordSave.setVisibility(View.VISIBLE);
binding.tvState.setVisibility(View.INVISIBLE);
binding.ivRetryRecord.setVisibility(View.VISIBLE);
binding.tvChronometer.setVisibility(View.INVISIBLE);
binding.tvChronometer.stop();
binding.ivTryListen.setVisibility(View.VISIBLE);
}
}
@@ -211,81 +211,72 @@ public class AudioRecordActivity extends BaseBindingActivity<ActivityAudiorecord
@Override
public void onPrepared() {
Log.d(TAG, "onPrepared");
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
}
@Override
public void onCompletion() {
Log.d(TAG, "onCompletion");
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
}
@Override
public void onInterrupt() {
Log.d(TAG, "onInterrupt");
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
}
@Override
public void onError(String s) {
Log.d(TAG, "onError :" + s);
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
}
@Override
public void onPlaying(long l) {
Log.d(TAG, "onPlaying :" + l);
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
}
};
@SuppressLint("CheckResult")
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ll_record:
break;
case R.id.iv_retry_record:
audioState = STATE_RECORD_NORMAL;
showByState(audioState);
if (null != recorder) {
recorder.destroyAudioRecorder();
recorder = null;
int id = v.getId();
if(id == R.id.iv_retry_record){
audioState = STATE_RECORD_NORMAL;
showByState(audioState);
if (null != recorder) {
recorder.destroyAudioRecorder();
recorder = null;
}
} else if(id == R.id.iv_try_listen){
if (!audioManager.isPlaying()) {
if (null != audioFile && audioFile.exists()) {
MLog.debug(TAG, "play audioFilePath: " + audioFile.getPath());
audioPlayer.setDataSource(audioFile.getPath());
audioManager.play();
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
}
break;
case R.id.iv_try_listen:
// MLog.debug("result_url", "play audioFilePath: " + audioFile.getPath());
if (!audioManager.isPlaying()) {
if (null != audioFile && audioFile.exists()) {
MLog.debug(TAG, "play audioFilePath: " + audioFile.getPath());
audioPlayer.setDataSource(audioFile.getPath());
audioManager.play();
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen_pause);
}
} else {
audioManager.stopPlay();
mBinding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
}
break;
case R.id.iv_record_save:
if (null != audioFile) {
Log.i("result_url", "upload before:" + audioFile.getAbsolutePath());
getDialogManager().showProgressDialog(AudioRecordActivity.this, ResUtil.getString(R.string.erban_audio_audiorecordactivity_08));
FileModel.get()
.uploadFile(audioFile.getAbsolutePath())
.compose(bindToLifecycle())
.subscribe((url, throwable) -> {
if (throwable != null) {
onUploadFail();
} else {
onUpload(url);
}
});
}
break;
default:
} else {
audioManager.stopPlay();
binding.ivTryListen.setImageResource(R.drawable.icon_try_listen);
}
} else if(id == R.id.iv_record_save){
if (null != audioFile) {
Log.i("result_url", "upload before:" + audioFile.getAbsolutePath());
getDialogManager().showProgressDialog(AudioRecordActivity.this, ResUtil.getString(R.string.erban_audio_audiorecordactivity_08));
FileModel.get()
.uploadFile(audioFile.getAbsolutePath())
.compose(bindToLifecycle())
.subscribe((url, throwable) -> {
if (throwable != null) {
onUploadFail();
} else {
onUpload(url);
}
});
}
}
}

View File

@@ -224,9 +224,6 @@ public class RouterHandler {
case RouterType.PERSION_SETTING:
UIHelper.showUserInfoModifyAct(context, JavaUtil.str2long(routerValue));
break;
case RouterType.MY_VOICE:
UIHelper.showMyVoiceAct(context);
break;
case RouterType.VOICE_BOTTLE_PAGE:
VoiceMatchActivity.start(context);
break;

View File

@@ -1,589 +0,0 @@
package com.yizhuan.erban.ui.user;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.text.style.ForegroundColorSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.yizhuan.erban.R;
import com.yizhuan.erban.UIHelper;
import com.yizhuan.erban.audio.RecordingVoiceActivity;
import com.yizhuan.erban.audio.helper.AudioPlayerHelper;
import com.yizhuan.erban.audio.helper.OnPlayListener;
import com.yizhuan.erban.avroom.widget.MessageView;
import com.yizhuan.erban.base.BaseFragment;
import com.yizhuan.erban.common.widget.dialog.DialogManager;
import com.yizhuan.erban.family.view.activity.FamilyHomeActivity;
import com.yizhuan.erban.module_hall.team.activity.HallTeamMessageActivity;
import com.yizhuan.erban.ui.user.adapter.UserDesAdapter;
import com.yizhuan.xchat_android_core.audio.AudioModel;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.bean.UserInfoItem;
import com.yizhuan.xchat_android_core.family.bean.FamilyInfo;
import com.yizhuan.xchat_android_core.miniworld.event.MiniWorldStateChangedEvent;
import com.yizhuan.xchat_android_core.module_hall.hall.HallModel;
import com.yizhuan.xchat_android_core.module_hall.hall.bean.OwnerHallInfo;
import com.yizhuan.xchat_android_core.module_hall.team.HTeamModel;
import com.yizhuan.xchat_android_core.module_hall.team.event.HteamListChangeEvent;
import com.yizhuan.xchat_android_core.statistic.StatisticManager;
import com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol;
import com.yizhuan.xchat_android_core.user.UserModel;
import com.yizhuan.xchat_android_core.user.bean.JoinWorldInfo;
import com.yizhuan.xchat_android_core.user.bean.UserGameInfo;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_core.user.event.LoginUserInfoUpdateEvent;
import com.yizhuan.xchat_android_core.utils.StringUtils;
import com.yizhuan.xchat_android_core.utils.net.BeanObserver;
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
import com.yizhuan.xchat_android_library.utils.ListUtils;
import com.yizhuan.xchat_android_library.utils.ResUtil;
import com.yizhuan.xchat_android_library.utils.config.BasicConfig;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
import io.reactivex.SingleObserver;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
public class UserInfoFragment extends BaseFragment implements View.OnClickListener {
public static final int REQUEST_CODE_MY_VOICE = 1;
Unbinder unbinder;
@BindView(R.id.rv_desc)
RecyclerView rvDesc;
private UserInfo userInfo;
private long userId = 0;
private int from = 1;
private long time;
private UserDesAdapter mUserDesAdapter;
private boolean isPlaying;
public static UserInfoFragment newInstance(long userId, int from) {
UserInfoFragment userInfoFragment = new UserInfoFragment();
Bundle bundle = new Bundle();
bundle.putLong("userId", userId);
bundle.putInt("from", from);
userInfoFragment.setArguments(bundle);
return userInfoFragment;
}
@Override
protected void onInitArguments(Bundle bundle) {
super.onInitArguments(bundle);
if (bundle != null) {
userId = bundle.getLong("userId", 0);
from = bundle.getInt("from", 1);
}
}
@Override
public void initiate() {
initList();
mUserDesAdapter = new UserDesAdapter(mContext, mList);
mUserDesAdapter.setUserId(userId);
rvDesc.setLayoutManager(new LinearLayoutManager(mContext));
rvDesc.setAdapter(mUserDesAdapter);
mUserDesAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
List<UserInfoItem> list = mUserDesAdapter.getData();
if (ListUtils.isListEmpty(list))
return;
UserInfoItem userInfoItem = list.get(position);
if (userInfoItem.getItemType() == UserInfoItem.TYPE_DES_VOICE) {
voiceOption(view);
} else if (userInfoItem.getItemType() == UserInfoItem.TYPE_DES_FAMILY) {
familyOption((FamilyInfo) userInfoItem.getData());
} else if (userInfoItem.getItemType() == UserInfoItem.TYPE_DES_HALL) {
OwnerHallInfo ownerHallInfo = (OwnerHallInfo) userInfoItem.getData();
hallOption(view, ownerHallInfo);
}
}
});
initData(userInfo);
}
private List<UserInfoItem> mList = new ArrayList<>();
private void initList() {
mList.clear();
// 相册
UserInfoItem photoItem = new UserInfoItem(UserInfoItem.TYPE_DES_PHOTO);
mList.add(photoItem);
// 个人介绍
UserInfoItem descItem = new UserInfoItem(UserInfoItem.TYPE_DES_PERSONAL);
mList.add(descItem);
// 我的声音
UserInfoItem voiceItem = new UserInfoItem(UserInfoItem.TYPE_NONE);
voiceItem.setTag(UserInfoItem.TYPE_DES_VOICE);
mList.add(voiceItem);
// 话题
UserInfoItem joinWorldsItem = new UserInfoItem(UserInfoItem.TYPE_NONE);
joinWorldsItem.setTag(UserInfoItem.TYPE_DES_JOIN_WORLDS);
mList.add(joinWorldsItem);
// 家族
UserInfoItem familyItem = new UserInfoItem(UserInfoItem.TYPE_NONE);
familyItem.setTag(UserInfoItem.TYPE_DES_FAMILY);
mList.add(familyItem);
// 模厅
UserInfoItem hallItem = new UserInfoItem(UserInfoItem.TYPE_NONE);
hallItem.setTag(UserInfoItem.TYPE_DES_HALL);
mList.add(hallItem);
// 战绩
UserInfoItem GameItem = new UserInfoItem(UserInfoItem.TYPE_NONE);
GameItem.setTag(UserInfoItem.TYPE_DES_GAME);
mList.add(GameItem);
}
@Override
public void onFindViews() {
super.onFindViews();
}
@Override
public void onPause() {
super.onPause();
AudioPlayerHelper.get().onPause();
stopVoice();
}
@Override
public void onDestroyView() {
EventBus.getDefault().unregister(this);
super.onDestroyView();
if (unbinder != null) {
unbinder.unbind();
}
}
@Override
public void onDestroy() {
super.onDestroy();
AudioPlayerHelper.get().onDestroy();
stopVoice();
}
private void familyOption(FamilyInfo familyInfo) {
if (from == UserInfoActivity.Companion.FROM_TYPE_NORMAL) {
//这里限制循环访问, 例如:家族->个人主页->家族->个人主页->....
FamilyHomeActivity.start(getActivity(), familyInfo.getFamilyId());
} else {
Activity activity = getActivity();
if (activity != null)
activity.onBackPressed();
}
}
private void setUserInfoItem(Serializable data, int itemType, boolean canRefresh) {
for (UserInfoItem userInfoItem : mList) {
if (userInfoItem.getTag() == itemType) {
userInfoItem.setItemType(data == null ? UserInfoItem.TYPE_NONE : itemType);
userInfoItem.setData(data);
break;
}
}
if (canRefresh)
mUserDesAdapter.notifyDataSetChanged();
}
private void initVoiceView(boolean canShow) {
for (UserInfoItem userInfoItem : mList) {
if (userInfoItem.getTag() == UserInfoItem.TYPE_DES_VOICE) {
userInfoItem.setItemType(canShow ? UserInfoItem.TYPE_DES_VOICE : UserInfoItem.TYPE_NONE);
break;
}
}
}
private void initJoinWorlds(ArrayList<JoinWorldInfo> list) {
for (UserInfoItem userInfoItem : mList) {
if (userInfoItem.getTag() == UserInfoItem.TYPE_DES_JOIN_WORLDS) {
userInfoItem.setItemType(list != null && list.size() > 0 ? UserInfoItem.TYPE_DES_JOIN_WORLDS : UserInfoItem.TYPE_NONE);
userInfoItem.setData(list);
break;
}
}
}
private void initData(UserInfo userInfo) {
if (userInfo == null) {
return;
}
//每次打开这里都走了四次,先做个处理
if (System.currentTimeMillis() - time < 2000) {
return;
}
time = System.currentTimeMillis();
// 判断是否隐藏声音item
if (AuthModel.get().getCurrentUid() == userId) {// 主态
initVoiceView(true);
} else {// 客态
initVoiceView(!StringUtils.isEmpty(userInfo.getUserVoice()));
}
initJoinWorlds(userInfo.getJoinWorlds());
mUserDesAdapter.setUserInfo(userInfo);
setHallData(userInfo);
}
@Override
public void onClick(View view) {
}
private void voiceOption(View view) {
int id = view.getId();
if (id == R.id.layout_voice_bar) {
voiceClick();
} else if (id == R.id.iv_voice_more || id == R.id.layout_voice_bar_no_data) {
UIHelper.showMyVoiceAct(this, REQUEST_CODE_MY_VOICE, ResUtil.getString(R.string.ui_user_userinfofragment_01));// 点击则跳转到我的声音页面
}
}
private void voiceClick() {
if (AudioPlayerHelper.get().isPlaying()) {
isPlaying = false;
stopVoice();
} else {
isPlaying = true;
playVoice();
}
}
private void playVoice() {
if (StringUtils.isEmpty(userInfo.getUserVoice())) {
return;
}
AudioPlayerHelper.get().playInThread(userInfo.getUserVoice(), new OnPlayListener() {
@Override
public void onPreStart() {
addPlayCount(userId);
}
@Override
public void onError(String error) {
if (mUserDesAdapter != null) {
mUserDesAdapter.setPlaying(false);// 播放出错
mUserDesAdapter.notifyDataSetChanged();
}
}
@Override
public void onPrepared() {
if (mUserDesAdapter != null) {
mUserDesAdapter.setPlaying(true);// 准备完毕要开始播放
mUserDesAdapter.notifyDataSetChanged();
}
}
@Override
public void onPlaying(long currDuration) {
}
@Override
public void onCompletion() {
if (mUserDesAdapter != null) {
mUserDesAdapter.setPlaying(false);// 播放完成
mUserDesAdapter.notifyDataSetChanged();
}
}
});
}
private void addPlayCount(long voiceUid) {
AudioModel.get().addPlayCount(AuthModel.get().getCurrentUid(), null, voiceUid)
.subscribe();
}
private void stopVoice() {
AudioPlayerHelper.get().endPlay();
if (mUserDesAdapter != null) {
mUserDesAdapter.setPlaying(false);// 触发或点击 停止播放
mUserDesAdapter.notifyDataSetChanged();
}
}
@SuppressWarnings("CheckResult")
private void setGameInfo() {
UserModel.get().getGameWeek(userId)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userGameInfos -> {
setUserInfoItem((ArrayList<UserGameInfo>) userGameInfos, UserInfoItem.TYPE_DES_GAME, true);
});
}
private void hallOption(View view, OwnerHallInfo ownerHallInfo) {
switch (view.getId()) {
case R.id.stv_apply_hall:
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
StatisticsProtocol.JOIN_HALL_CLICK, ResUtil.getString(R.string.ui_user_userinfofragment_02), null);
if (userInfo == null) {
return;
}
String hallName = null;
if (ownerHallInfo != null)
hallName = ownerHallInfo.getHallName();
if (TextUtils.isEmpty(hallName)) {
hallName = ResUtil.getString(R.string.ui_user_userinfofragment_03);
}
MessageView.SpannableBuilder builder = new MessageView.SpannableBuilder(null);
builder.append(ResUtil.getString(R.string.ui_user_userinfofragment_04))
.append(hallName, new ForegroundColorSpan(getResources().getColor(R.color.appColor)))
.append(ResUtil.getString(R.string.ui_user_userinfofragment_05));
getDialogManager().showOkCancelDialog(builder.build(), new DialogManager.OkCancelDialogListener() {
@Override
public void onCancel() {
}
@Override
public void onOk() {
HallModel.get().applyJoinHall(userInfo.getHallId())
.compose(RxHelper.bindFragment(UserInfoFragment.this))
.subscribe(new BeanObserver<String>() {
@Override
public void onErrorMsg(String error) {
toast(error);
}
@Override
public void onSuccess(String s) {
toast(s);
}
});
}
});
break;
case R.id.stv_apply_team:
//加入公开群
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
StatisticsProtocol.JOIN_HALL_OPEN_GROUP_CLICK, ResUtil.getString(R.string.ui_user_userinfofragment_06), null);
if (ownerHallInfo == null) {
return;
}
HTeamModel.get().joinHteam(ownerHallInfo.getPublicChatId())
.compose(bindToLifecycle())
.subscribe(new BeanObserver<String>() {
@Override
public void onErrorMsg(String error) {
toast(error);
}
@Override
public void onSuccess(String s) {
String tid = ownerHallInfo.getPublicTeamId();
if (!TextUtils.isEmpty(tid)) {
HallTeamMessageActivity.start(getActivity(), tid);
}
}
});
break;
case R.id.rl_hall_team_layout:
if (ownerHallInfo == null) {
return;
}
if (ownerHallInfo.getPublicChat() != null && !ownerHallInfo.getPublicChat().isInChat()) {
return;
}
String tid = ownerHallInfo.getPublicTeamId();
if (!TextUtils.isEmpty(tid)) {
HallTeamMessageActivity.start(getActivity(), tid);
}
break;
}
}
private OwnerHallInfo ownerHallInfo;
/**
* 模厅数据
*/
private void setHallData(UserInfo userInfo) {
if (userInfo.getHallId() <= 0) {
setUserInfoItem(null, UserInfoItem.TYPE_DES_HALL, true);
return;
}
HallModel.get().getOwnerHallInfo(userInfo.getUid())
.compose(RxHelper.bindFragment(this))
.subscribe(new SingleObserver<OwnerHallInfo>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(OwnerHallInfo info) {
ownerHallInfo = info;
if (ownerHallInfo == null || ownerHallInfo.getHallId() <= 0)
setUserInfoItem(null, UserInfoItem.TYPE_DES_HALL, true);
else
setUserInfoItem(ownerHallInfo, UserInfoItem.TYPE_DES_HALL, true);
}
@Override
public void onError(Throwable e) {
setUserInfoItem(null, UserInfoItem.TYPE_DES_HALL, true);
}
});
}
private void setHallInfo(OwnerHallInfo info) {
for (UserInfoItem item : mList) {
if (item.getItemType() == UserInfoItem.TYPE_DES_HALL) {
item.setData(info);
break;
}
}
mUserDesAdapter.notifyDataSetChanged();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onHteamListChange(HteamListChangeEvent event) {
if (userInfo == null) {
return;
}
setHallData(userInfo);
}
public void onGetUserInfo(UserInfo userInfo) {
if (isDestroyView) {
return;
}
this.userInfo = userInfo;
if (!mIsViewCreated)
return;
initData(userInfo);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onCurrentUserInfoUpdate(LoginUserInfoUpdateEvent event) {
if (UserModel.get().getCacheLoginUserInfo().getUid() == userId) {
userInfo = UserModel.get().getCacheLoginUserInfo();
initData(userInfo);
}
}
/**
* 更新主态话题列表
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMiniWorldStateChangedEvent(MiniWorldStateChangedEvent miniWorldStateChangedEvent) {
if (UserModel.get().getCacheLoginUserInfo().getUid() == userId &&
!miniWorldStateChangedEvent.isJoin() &&
miniWorldStateChangedEvent.getWorldId() > 0) {
userInfo = UserModel.get().getCacheLoginUserInfo();
userInfo.removeWorld(miniWorldStateChangedEvent.getWorldId());
initData(userInfo);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.fragment_user_info, container, false);
unbinder = ButterKnife.bind(this, mView);
EventBus.getDefault().register(this);
AudioPlayerHelper.get().onCreate();
return mView;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == REQUEST_CODE_MY_VOICE) {
String audioFileUrl = data.getStringExtra(RecordingVoiceActivity.AUDIO_FILE);
int audioDuration = data.getIntExtra(RecordingVoiceActivity.AUDIO_DURA, 0);
refreshVoiceDataView(audioFileUrl, audioDuration);
}
}
}
public void refreshVoiceDataView(String audioFileUrl, int audioDuration) {
UserModel.get().getUserInfoFromServer(userId)
.compose(bindToLifecycle())
.subscribe(new BeanObserver<UserInfo>() {
@Override
public void onErrorMsg(String error) {
}
@Override
public void onSuccess(UserInfo Info) {
userInfo = Info;
initData(userInfo);
}
});
// 跳转到我的声音页面,录制了声音,刷新数据显示
if (mUserDesAdapter != null) {
mUserDesAdapter.setPlaying(false);// 录制完声音 刷新页面显示
mUserDesAdapter.notifyDataSetChanged();
}
}
public boolean isPlaying() {
return isPlaying;
}
}

View File

@@ -115,8 +115,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
binding.tvBirth.text = birth
binding.tvNick.text = RegexUtil.getPrintableString(userInfo.nick)
setTvDesc(userInfo.userDesc)
val hasVoice = userInfo.voiceDura > 0
binding.tvNoVoice.visibility = if (hasVoice) View.GONE else View.VISIBLE
val adapter = UserPhotoAdapter(userInfo.privatePhoto, 1, userInfo.uid)
adapter.setSmall(true)
adapter.setImageClickListener(this)
@@ -145,7 +143,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
binding.tvBirth.setOnClickListener(this)
binding.tvNick.setOnClickListener(this)
binding.layoutPhotos.setOnClickListener(this)
binding.rlAudioRecord.setOnClickListener(this)
binding.llAudioRecord.setOnClickListener(this)
binding.llDesc.setOnClickListener(this)
val mLayoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true)
@@ -245,18 +242,6 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
Method.DESC,
ModifyInfoActivity.CONTENT_MODIFY
)
R.id.rl_audio_record -> checkPermission(
{
// 点击跳转到我的声音页面
UIHelper.showMyVoiceAct(
this@UserInfoModifyActivity,
Method.AUDIO,
ResUtil.getString(R.string.ui_user_userinfomodifyactivity_07)
)
isAvatar = false
}, R.string.ask_again,
Manifest.permission.RECORD_AUDIO
)
R.id.ll_audio_record -> checkPermission(
{
// 点击跳转到声音签名页面

View File

@@ -187,67 +187,6 @@
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:background="@color/line_353548" />
<RelativeLayout
android:id="@+id/rl_audio_record"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginStart="15dp"
android:gravity="center_vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/label_user_info_audio_record"
android:textColor="@color/text_title_color"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_voice"
android:layout_width="65dp"
android:layout_height="26dp"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/iv_audio_record"
android:background="@drawable/bg_modify_audio_record"
android:drawableStart="@drawable/icon_play"
android:drawablePadding="5dp"
android:gravity="center_vertical"
android:text="0''"
android:textSize="@dimen/font_normal"
android:visibility="gone" />
<TextView
android:id="@+id/tv_no_voice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/iv_audio_record"
android:hint="@string/hint_modify_voice"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textColor="@color/text_color_primary"
android:textColorHint="@color/text_color_secondary"
android:visibility="gone" />
<ImageView
android:id="@+id/iv_audio_record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:padding="15dp"
android:src="@mipmap/common_ic_more_arrow" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rv_desc"
android:layout_width="match_parent"
android:layout_height="match_parent"/>