[Modify]移除无用代码
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
}
|
@@ -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(
|
||||
{
|
||||
// 点击跳转到声音签名页面
|
||||
|
@@ -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"
|
||||
|
@@ -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"/>
|
Reference in New Issue
Block a user