reformat code in CallNotificationActivity

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2021-11-02 15:47:25 +01:00
parent b3f8a36c62
commit b822eb8417
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -224,108 +224,108 @@ public class CallNotificationActivity extends BaseActivity {
} }
private void checkIfAnyParticipantsRemainInRoom() { private void checkIfAnyParticipantsRemainInRoom() {
int apiVersion = ApiUtils.getCallApiVersion(userBeingCalled, new int[] {ApiUtils.APIv4, 1}); int apiVersion = ApiUtils.getCallApiVersion(userBeingCalled, new int[]{ApiUtils.APIv4, 1});
ncApi.getPeersForCall(credentials, ApiUtils.getUrlForCall(apiVersion, userBeingCalled.getBaseUrl(), ncApi.getPeersForCall(credentials, ApiUtils.getUrlForCall(apiVersion, userBeingCalled.getBaseUrl(),
currentConversation.getToken())) currentConversation.getToken()))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.takeWhile(observable -> !leavingScreen) .takeWhile(observable -> !leavingScreen)
.subscribe(new Observer<ParticipantsOverall>() { .subscribe(new Observer<ParticipantsOverall>() {
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
disposablesList.add(d); disposablesList.add(d);
} }
@Override @Override
public void onNext(ParticipantsOverall participantsOverall) { public void onNext(ParticipantsOverall participantsOverall) {
boolean hasParticipantsInCall = false; boolean hasParticipantsInCall = false;
boolean inCallOnDifferentDevice = false; boolean inCallOnDifferentDevice = false;
List<Participant> participantList = participantsOverall.getOcs().getData(); List<Participant> participantList = participantsOverall.getOcs().getData();
hasParticipantsInCall = participantList.size() > 0; hasParticipantsInCall = participantList.size() > 0;
if (hasParticipantsInCall) { if (hasParticipantsInCall) {
for (Participant participant : participantList) { for (Participant participant : participantList) {
if (participant.getActorType() == Participant.ActorType.USERS && if (participant.getActorType() == Participant.ActorType.USERS &&
participant.getActorId().equals(userBeingCalled.getUserId())) { participant.getActorId().equals(userBeingCalled.getUserId())) {
inCallOnDifferentDevice = true; inCallOnDifferentDevice = true;
break; break;
}
} }
} }
if (!hasParticipantsInCall || inCallOnDifferentDevice) {
runOnUiThread(() -> hangup());
}
} }
@Override if (!hasParticipantsInCall || inCallOnDifferentDevice) {
public void onError(Throwable e) { runOnUiThread(() -> hangup());
} }
}
@Override @Override
public void onComplete() { public void onError(Throwable e) {
if (!leavingScreen) {
handler.postDelayed(() -> checkIfAnyParticipantsRemainInRoom(), 5000); }
}
@Override
public void onComplete() {
if (!leavingScreen) {
handler.postDelayed(() -> checkIfAnyParticipantsRemainInRoom(), 5000);
} }
}); }
});
} }
private void handleFromNotification() { private void handleFromNotification() {
int apiVersion = ApiUtils.getConversationApiVersion(userBeingCalled, new int[] {ApiUtils.APIv4, int apiVersion = ApiUtils.getConversationApiVersion(userBeingCalled, new int[]{ApiUtils.APIv4,
ApiUtils.APIv3, 1}); ApiUtils.APIv3, 1});
ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, userBeingCalled.getBaseUrl(), roomId)) ncApi.getRoom(credentials, ApiUtils.getUrlForRoom(apiVersion, userBeingCalled.getBaseUrl(), roomId))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.retry(3) .retry(3)
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<RoomOverall>() { .subscribe(new Observer<RoomOverall>() {
@Override @Override
public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) { public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) {
disposablesList.add(d); disposablesList.add(d);
} }
@Override @Override
public void onNext(@io.reactivex.annotations.NonNull RoomOverall roomOverall) { public void onNext(@io.reactivex.annotations.NonNull RoomOverall roomOverall) {
currentConversation = roomOverall.getOcs().data; currentConversation = roomOverall.getOcs().data;
setUpAfterConversationIsKnown(); setUpAfterConversationIsKnown();
if (apiVersion >= 3) { if (apiVersion >= 3) {
boolean hasCallFlags = boolean hasCallFlags =
CapabilitiesUtil.hasSpreedFeatureCapability(userBeingCalled, CapabilitiesUtil.hasSpreedFeatureCapability(userBeingCalled,
"conversation-call-flags"); "conversation-call-flags");
if (hasCallFlags) { if (hasCallFlags) {
if (isInCallWithVideo(currentConversation.callFlag)) { if (isInCallWithVideo(currentConversation.callFlag)) {
binding.incomingCallVoiceOrVideoTextView.setText( binding.incomingCallVoiceOrVideoTextView.setText(
String.format(getResources().getString(R.string.nc_call_video), String.format(getResources().getString(R.string.nc_call_video),
getResources().getString(R.string.nc_app_product_name))); getResources().getString(R.string.nc_app_product_name)));
} else { } else {
binding.incomingCallVoiceOrVideoTextView.setText( binding.incomingCallVoiceOrVideoTextView.setText(
String.format(getResources().getString(R.string.nc_call_voice), String.format(getResources().getString(R.string.nc_call_voice),
getResources().getString(R.string.nc_app_product_name))); getResources().getString(R.string.nc_app_product_name)));
}
} }
} }
} }
}
@SuppressLint("LongLogTag") @SuppressLint("LongLogTag")
@Override @Override
public void onError(@io.reactivex.annotations.NonNull Throwable e) { public void onError(@io.reactivex.annotations.NonNull Throwable e) {
Log.e(TAG, e.getMessage(), e); Log.e(TAG, e.getMessage(), e);
} }
@Override @Override
public void onComplete() { public void onComplete() {
} }
}); });
} }
private boolean isInCallWithVideo(int callFlag) { private boolean isInCallWithVideo(int callFlag) {
return (Participant.ParticipantFlags.IN_CALL_WITH_VIDEO.getValue() == callFlag return (Participant.ParticipantFlags.IN_CALL_WITH_VIDEO.getValue() == callFlag
|| Participant.ParticipantFlags.IN_CALL_WITH_AUDIO_AND_VIDEO.getValue() == callFlag); || Participant.ParticipantFlags.IN_CALL_WITH_AUDIO_AND_VIDEO.getValue() == callFlag);
} }
private void setUpAfterConversationIsKnown() { private void setUpAfterConversationIsKnown() {
@ -353,11 +353,11 @@ public class CallNotificationActivity extends BaseActivity {
binding.avatarImageView.setVisibility(View.VISIBLE); binding.avatarImageView.setVisibility(View.VISIBLE);
ImageRequest imageRequest = ImageRequest imageRequest =
DisplayUtils.getImageRequestForUrl( DisplayUtils.getImageRequestForUrl(
ApiUtils.getUrlForAvatarWithName(userBeingCalled.getBaseUrl(), ApiUtils.getUrlForAvatarWithName(userBeingCalled.getBaseUrl(),
currentConversation.getName(), currentConversation.getName(),
R.dimen.avatar_size_very_big), R.dimen.avatar_size_very_big),
null); null);
ImagePipeline imagePipeline = Fresco.getImagePipeline(); ImagePipeline imagePipeline = Fresco.getImagePipeline();
DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, null); DataSource<CloseableReference<CloseableImage>> dataSource = imagePipeline.fetchDecodedImage(imageRequest, null);
@ -366,18 +366,18 @@ public class CallNotificationActivity extends BaseActivity {
@Override @Override
protected void onNewResultImpl(@Nullable Bitmap bitmap) { protected void onNewResultImpl(@Nullable Bitmap bitmap) {
binding.avatarImageView.getHierarchy().setImage(new BitmapDrawable(bitmap), 100, binding.avatarImageView.getHierarchy().setImage(new BitmapDrawable(bitmap), 100,
true); true);
if (getResources() != null) { if (getResources() != null) {
binding.incomingCallRelativeLayout.setBackground( binding.incomingCallRelativeLayout.setBackground(
getResources().getDrawable(R.drawable.incoming_gradient)); getResources().getDrawable(R.drawable.incoming_gradient));
} }
if (AvatarStatusCodeHolder.getInstance().getStatusCode() == 200 || if (AvatarStatusCodeHolder.getInstance().getStatusCode() == 200 ||
AvatarStatusCodeHolder.getInstance().getStatusCode() == 0) { AvatarStatusCodeHolder.getInstance().getStatusCode() == 0) {
Bitmap backgroundBitmap = bitmap.copy(bitmap.getConfig(), true); Bitmap backgroundBitmap = bitmap.copy(bitmap.getConfig(), true);
new BlurPostProcessor(5, context).process(backgroundBitmap); new BlurPostProcessor(5, context).process(backgroundBitmap);
binding.backgroundImageView.setImageDrawable(new BitmapDrawable(backgroundBitmap)); binding.backgroundImageView.setImageDrawable(new BitmapDrawable(backgroundBitmap));
} else if (AvatarStatusCodeHolder.getInstance().getStatusCode() == 201) { } else if (AvatarStatusCodeHolder.getInstance().getStatusCode() == 201) {
ColorArt colorArt = new ColorArt(bitmap); ColorArt colorArt = new ColorArt(bitmap);
@ -450,16 +450,16 @@ public class CallNotificationActivity extends BaseActivity {
if (TextUtils.isEmpty(callRingtonePreferenceString)) { if (TextUtils.isEmpty(callRingtonePreferenceString)) {
// play default sound // play default sound
ringtoneUri = Uri.parse("android.resource://" + getApplicationContext().getPackageName() + ringtoneUri = Uri.parse("android.resource://" + getApplicationContext().getPackageName() +
"/raw/librem_by_feandesign_call"); "/raw/librem_by_feandesign_call");
} else { } else {
try { try {
RingtoneSettings ringtoneSettings = LoganSquare.parse( RingtoneSettings ringtoneSettings = LoganSquare.parse(
callRingtonePreferenceString, RingtoneSettings.class); callRingtonePreferenceString, RingtoneSettings.class);
ringtoneUri = ringtoneSettings.getRingtoneUri(); ringtoneUri = ringtoneSettings.getRingtoneUri();
} catch (IOException e) { } catch (IOException e) {
Log.e(TAG, "Failed to parse ringtone settings"); Log.e(TAG, "Failed to parse ringtone settings");
ringtoneUri = Uri.parse("android.resource://" + getApplicationContext().getPackageName() + ringtoneUri = Uri.parse("android.resource://" + getApplicationContext().getPackageName() +
"/raw/librem_by_feandesign_call"); "/raw/librem_by_feandesign_call");
} }
} }
@ -470,10 +470,10 @@ public class CallNotificationActivity extends BaseActivity {
mediaPlayer.setLooping(true); mediaPlayer.setLooping(true);
AudioAttributes audioAttributes = new AudioAttributes AudioAttributes audioAttributes = new AudioAttributes
.Builder() .Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION) .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE) .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
.build(); .build();
mediaPlayer.setAudioAttributes(audioAttributes); mediaPlayer.setAudioAttributes(audioAttributes);
mediaPlayer.setOnPreparedListener(mp -> mediaPlayer.start()); mediaPlayer.setOnPreparedListener(mp -> mediaPlayer.start());
@ -521,12 +521,12 @@ public class CallNotificationActivity extends BaseActivity {
} }
} }
public void updateUiForPipMode(){ public void updateUiForPipMode() {
binding.callAnswerButtons.setVisibility(View.INVISIBLE); binding.callAnswerButtons.setVisibility(View.INVISIBLE);
binding.incomingCallRelativeLayout.setVisibility(View.INVISIBLE); binding.incomingCallRelativeLayout.setVisibility(View.INVISIBLE);
} }
public void updateUiForNormalMode(){ public void updateUiForNormalMode() {
binding.callAnswerButtons.setVisibility(View.VISIBLE); binding.callAnswerButtons.setVisibility(View.VISIBLE);
binding.incomingCallRelativeLayout.setVisibility(View.VISIBLE); binding.incomingCallRelativeLayout.setVisibility(View.VISIBLE);
} }