Android: Convert SettingDisabledWarningFragment to Kotlin
This commit is contained in:
parent
53d404c5a0
commit
6bc4ae7438
|
@ -1,85 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.cheats.ui;
|
||||
|
||||
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 org.dolphinemu.dolphinemu.databinding.FragmentCheatWarningBinding;
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting;
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
|
||||
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag;
|
||||
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity;
|
||||
|
||||
public abstract class SettingDisabledWarningFragment extends Fragment
|
||||
implements View.OnClickListener
|
||||
{
|
||||
private View mView;
|
||||
|
||||
private final AbstractBooleanSetting mSetting;
|
||||
private final MenuTag mSettingShortcut;
|
||||
private final int mText;
|
||||
|
||||
private FragmentCheatWarningBinding mBinding;
|
||||
|
||||
public SettingDisabledWarningFragment(AbstractBooleanSetting setting, MenuTag settingShortcut,
|
||||
int text)
|
||||
{
|
||||
mSetting = setting;
|
||||
mSettingShortcut = settingShortcut;
|
||||
mText = text;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
|
||||
@Nullable Bundle savedInstanceState)
|
||||
{
|
||||
mBinding = FragmentCheatWarningBinding.inflate(inflater, container, false);
|
||||
return mBinding.getRoot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
|
||||
{
|
||||
mView = view;
|
||||
|
||||
mBinding.textWarning.setText(mText);
|
||||
mBinding.buttonSettings.setOnClickListener(this);
|
||||
|
||||
CheatsActivity activity = (CheatsActivity) requireActivity();
|
||||
CheatsActivity.setOnFocusChangeListenerRecursively(view,
|
||||
(v, hasFocus) -> activity.onListViewFocusChange(hasFocus));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume()
|
||||
{
|
||||
super.onResume();
|
||||
|
||||
CheatsActivity activity = (CheatsActivity) requireActivity();
|
||||
try (Settings settings = activity.loadGameSpecificSettings())
|
||||
{
|
||||
boolean cheatsEnabled = mSetting.getBoolean(settings);
|
||||
mView.setVisibility(cheatsEnabled ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView()
|
||||
{
|
||||
super.onDestroyView();
|
||||
mBinding = null;
|
||||
}
|
||||
|
||||
public void onClick(View view)
|
||||
{
|
||||
SettingsActivity.launch(requireContext(), mSettingShortcut);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.cheats.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import org.dolphinemu.dolphinemu.databinding.FragmentCheatWarningBinding
|
||||
import org.dolphinemu.dolphinemu.features.cheats.ui.CheatsActivity.Companion.setOnFocusChangeListenerRecursively
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.AbstractBooleanSetting
|
||||
import org.dolphinemu.dolphinemu.features.settings.ui.MenuTag
|
||||
import org.dolphinemu.dolphinemu.features.settings.ui.SettingsActivity
|
||||
|
||||
abstract class SettingDisabledWarningFragment(
|
||||
private val setting: AbstractBooleanSetting,
|
||||
private val settingShortcut: MenuTag,
|
||||
private val text: Int
|
||||
) : Fragment(), View.OnClickListener {
|
||||
private var _binding: FragmentCheatWarningBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
_binding = FragmentCheatWarningBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
binding.textWarning.setText(text)
|
||||
binding.buttonSettings.setOnClickListener(this)
|
||||
val activity = requireActivity() as CheatsActivity
|
||||
setOnFocusChangeListenerRecursively(view) { _: View?, hasFocus: Boolean ->
|
||||
activity.onListViewFocusChange(hasFocus)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
val activity = requireActivity() as CheatsActivity
|
||||
activity.loadGameSpecificSettings().use { settings ->
|
||||
val cheatsEnabled = setting.getBoolean(settings)
|
||||
requireView().visibility = if (cheatsEnabled) View.GONE else View.VISIBLE
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
}
|
||||
|
||||
override fun onClick(view: View) {
|
||||
SettingsActivity.launch(requireContext(), settingShortcut)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue