That fuck shit the fascists are using
at master 71 lines 2.2 kB view raw
1package org.tm.archive.mediasend; 2 3import android.annotation.SuppressLint; 4import android.content.Context; 5import android.content.res.Configuration; 6import android.widget.Toast; 7 8import androidx.annotation.NonNull; 9import androidx.fragment.app.Fragment; 10 11import org.tm.archive.R; 12import org.tm.archive.mediasend.camerax.CameraXUtil; 13import org.tm.archive.mms.MediaConstraints; 14 15import java.io.FileDescriptor; 16import java.util.Optional; 17 18import io.reactivex.rxjava3.core.Flowable; 19 20public interface CameraFragment { 21 22 float PORTRAIT_ASPECT_RATIO = 9 / 16f; 23 24 @SuppressLint({ "RestrictedApi", "UnsafeOptInUsageError" }) 25 static Fragment newInstance(boolean qrScanEnabled) { 26 if (CameraXUtil.isSupported()) { 27 return CameraXFragment.newInstance(qrScanEnabled); 28 } else { 29 return Camera1Fragment.newInstance(); 30 } 31 } 32 33 @SuppressLint({ "RestrictedApi", "UnsafeOptInUsageError" }) 34 static Fragment newInstanceForAvatarCapture() { 35 if (CameraXUtil.isSupported()) { 36 return CameraXFragment.newInstanceForAvatarCapture(); 37 } else { 38 return Camera1Fragment.newInstance(); 39 } 40 } 41 42 static float getAspectRatioForOrientation(int orientation) { 43 if (orientation == Configuration.ORIENTATION_PORTRAIT) { 44 return PORTRAIT_ASPECT_RATIO; 45 } else { 46 return 1f / PORTRAIT_ASPECT_RATIO; 47 } 48 } 49 50 static void toastVideoRecordingNotAvailable(@NonNull Context context) { 51 Toast.makeText(context, R.string.CameraFragment__video_recording_is_not_supported_on_your_device, Toast.LENGTH_SHORT) 52 .show(); 53 } 54 55 void presentHud(int selectedMediaCount); 56 void fadeOutControls(@NonNull Runnable onEndAction); 57 void fadeInControls(); 58 59 interface Controller { 60 void onCameraError(); 61 void onImageCaptured(@NonNull byte[] data, int width, int height); 62 void onVideoCaptured(@NonNull FileDescriptor fd); 63 void onVideoCaptureError(); 64 void onGalleryClicked(); 65 void onCameraCountButtonClicked(); 66 void onQrCodeFound(@NonNull String data); 67 @NonNull Flowable<Optional<Media>> getMostRecentMediaItem(); 68 @NonNull MediaConstraints getMediaConstraints(); 69 int getMaxVideoDuration(); 70 } 71}