That fuck shit the fascists are using
1package org.tm.archive.messagerequests;
2
3import android.annotation.SuppressLint;
4import android.content.Context;
5import android.content.Intent;
6import android.content.pm.ActivityInfo;
7import android.os.Bundle;
8import android.os.Handler;
9import android.os.Looper;
10import android.view.View;
11import android.widget.TextView;
12
13import androidx.annotation.NonNull;
14import androidx.annotation.Nullable;
15import androidx.lifecycle.ViewModelProvider;
16
17import com.bumptech.glide.Glide;
18
19import org.tm.archive.BaseActivity;
20import org.tm.archive.R;
21import org.tm.archive.components.AvatarImageView;
22import org.tm.archive.contacts.avatars.FallbackContactPhoto;
23import org.tm.archive.contacts.avatars.ResourceContactPhoto;
24import org.tm.archive.recipients.Recipient;
25import org.tm.archive.recipients.RecipientId;
26
27import java.util.concurrent.TimeUnit;
28
29import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION;
30
31public class CalleeMustAcceptMessageRequestActivity extends BaseActivity {
32
33 private static final long TIMEOUT_MS = TimeUnit.SECONDS.toMillis(10);
34 private static final String RECIPIENT_ID_EXTRA = "extra.recipient.id";
35
36 private TextView description;
37 private AvatarImageView avatar;
38 private View okay;
39
40 private final Handler handler = new Handler(Looper.getMainLooper());
41 private final Runnable finisher = this::finish;
42
43 public static Intent createIntent(@NonNull Context context, @NonNull RecipientId recipientId) {
44 Intent intent = new Intent(context, CalleeMustAcceptMessageRequestActivity.class);
45 intent.setFlags(FLAG_ACTIVITY_NO_ANIMATION);
46 intent.putExtra(RECIPIENT_ID_EXTRA, recipientId);
47 return intent;
48 }
49
50 @SuppressLint("SourceLockedOrientationActivity")
51 @Override
52 public void onCreate(@Nullable Bundle savedInstanceState) {
53 super.onCreate(savedInstanceState);
54 setContentView(R.layout.callee_must_accept_message_request_dialog_fragment);
55
56 boolean callingFixedToPortrait = getResources().getConfiguration().densityDpi < 480;
57 if (callingFixedToPortrait) {
58 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
59 }
60
61 description = findViewById(R.id.description);
62 avatar = findViewById(R.id.avatar);
63 okay = findViewById(R.id.okay);
64
65 avatar.setFallbackPhotoProvider(new FallbackPhotoProvider());
66 okay.setOnClickListener(v -> finish());
67
68 RecipientId recipientId = getIntent().getParcelableExtra(RECIPIENT_ID_EXTRA);
69 CalleeMustAcceptMessageRequestViewModel.Factory factory = new CalleeMustAcceptMessageRequestViewModel.Factory(recipientId);
70 CalleeMustAcceptMessageRequestViewModel viewModel = new ViewModelProvider(this, factory).get(CalleeMustAcceptMessageRequestViewModel.class);
71
72 viewModel.getRecipient().observe(this, recipient -> {
73 description.setText(getString(R.string.CalleeMustAcceptMessageRequestDialogFragment__s_will_get_a_message_request_from_you, recipient.getDisplayName(this)));
74 avatar.setAvatar(Glide.with(this), recipient, false);
75 });
76 }
77
78 @Override
79 public void onResume() {
80 super.onResume();
81
82 handler.postDelayed(finisher, TIMEOUT_MS);
83 }
84
85 @Override
86 public void onPause() {
87 super.onPause();
88
89 handler.removeCallbacks(finisher);
90 }
91
92 private static class FallbackPhotoProvider extends Recipient.FallbackPhotoProvider {
93 @Override
94 public @NonNull FallbackContactPhoto getPhotoForRecipientWithoutName() {
95 return new ResourceContactPhoto(R.drawable.ic_profile_80);
96 }
97 }
98}