That fuck shit the fascists are using
1package org.tm.archive.components;
2
3import android.os.Bundle;
4import android.view.LayoutInflater;
5import android.view.View;
6import android.view.ViewGroup;
7
8import androidx.annotation.LayoutRes;
9import androidx.annotation.NonNull;
10import androidx.annotation.Nullable;
11import androidx.annotation.StringRes;
12import androidx.appcompat.widget.Toolbar;
13import androidx.fragment.app.DialogFragment;
14
15import org.tm.archive.R;
16
17/**
18 * Base dialog fragment for rendering as a full screen dialog with animation
19 * transitions.
20 */
21public abstract class FullScreenDialogFragment extends DialogFragment {
22
23 protected Toolbar toolbar;
24
25 @Override
26 public void onCreate(@Nullable Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28
29 setStyle(STYLE_NO_FRAME, R.style.Signal_DayNight_Dialog_FullScreen);
30 }
31
32 @Override
33 public final @NonNull View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
34 View view = inflater.inflate(R.layout.full_screen_dialog_fragment, container, false);
35 inflater.inflate(getDialogLayoutResource(), view.findViewById(R.id.full_screen_dialog_content), true);
36 toolbar = view.findViewById(R.id.full_screen_dialog_toolbar);
37
38 if (getTitle() != -1) {
39 toolbar.setTitle(getTitle());
40 }
41
42 toolbar.setNavigationOnClickListener(v -> onNavigateUp());
43 return view;
44 }
45
46 protected void onNavigateUp() {
47 dismissAllowingStateLoss();
48 }
49
50 protected abstract @StringRes int getTitle();
51
52 protected abstract @LayoutRes int getDialogLayoutResource();
53}