That fuck shit the fascists are using
at master 98 lines 3.6 kB view raw
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}