blob: ffd68c93f592ed7f20ffeb3e1a6251b9abae2d0a (
plain) (
tree)
|
|
package ml.docilealligator.infinityforreddit.bottomsheetfragments;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import ml.docilealligator.infinityforreddit.activities.BaseActivity;
import ml.docilealligator.infinityforreddit.customtheme.OnlineCustomThemeMetadata;
import ml.docilealligator.infinityforreddit.customviews.LandscapeExpandedRoundedBottomSheetDialogFragment;
import ml.docilealligator.infinityforreddit.databinding.FragmentCustomThemeOptionsBottomSheetBinding;
import ml.docilealligator.infinityforreddit.utils.Utils;
/**
* A simple {@link Fragment} subclass.
*/
public class CustomThemeOptionsBottomSheetFragment extends LandscapeExpandedRoundedBottomSheetDialogFragment {
public static final String EXTRA_THEME_NAME = "ETN";
public static final String EXTRA_ONLINE_CUSTOM_THEME_METADATA = "ECT";
public static final String EXTRA_INDEX_IN_THEME_LIST = "EIITL";
private String themeName;
private OnlineCustomThemeMetadata onlineCustomThemeMetadata;
private BaseActivity activity;
public CustomThemeOptionsBottomSheetFragment() {
// Required empty public constructor
}
public interface CustomThemeOptionsBottomSheetFragmentListener {
void editTheme(String themeName, @Nullable OnlineCustomThemeMetadata onlineCustomThemeMetadata, int indexInThemeList);
void changeName(String oldThemeName);
void shareTheme(String themeName);
void shareTheme(OnlineCustomThemeMetadata onlineCustomThemeMetadata);
void delete(String themeName);
}
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
FragmentCustomThemeOptionsBottomSheetBinding binding = FragmentCustomThemeOptionsBottomSheetBinding.inflate(inflater, container, false);
themeName = getArguments().getString(EXTRA_THEME_NAME);
onlineCustomThemeMetadata = getArguments().getParcelable(EXTRA_ONLINE_CUSTOM_THEME_METADATA);
binding.themeNameTextViewCustomThemeOptionsBottomSheetFragment.setText(themeName);
binding.editThemeTextViewCustomThemeOptionsBottomSheetFragment.setOnClickListener(view -> {
((CustomThemeOptionsBottomSheetFragmentListener) activity).editTheme(themeName, onlineCustomThemeMetadata, getArguments().getInt(EXTRA_INDEX_IN_THEME_LIST, -1));
dismiss();
});
binding.shareThemeTextViewCustomThemeOptionsBottomSheetFragment.setOnClickListener(view -> {
if (onlineCustomThemeMetadata != null) {
((CustomThemeOptionsBottomSheetFragmentListener) activity).shareTheme(onlineCustomThemeMetadata);
} else {
((CustomThemeOptionsBottomSheetFragmentListener) activity).shareTheme(themeName);
}
dismiss();
});
binding.changeThemeNameTextViewCustomThemeOptionsBottomSheetFragment.setOnClickListener(view -> {
((CustomThemeOptionsBottomSheetFragmentListener) activity).changeName(themeName);
dismiss();
});
binding.deleteThemeTextViewCustomThemeOptionsBottomSheetFragment.setOnClickListener(view -> {
((CustomThemeOptionsBottomSheetFragmentListener) activity).delete(themeName);
dismiss();
});
if (activity.typeface != null) {
Utils.setFontToAllTextViews(binding.getRoot(), activity.typeface);
}
return binding.getRoot();
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
activity = (BaseActivity) context;
}
}
|