android: Convert SettingsFragment to Kotlin
This commit is contained in:
		| @@ -1,136 +0,0 @@ | ||||
| package org.yuzu.yuzu_emu.features.settings.ui; | ||||
|  | ||||
| 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 androidx.recyclerview.widget.LinearLayoutManager; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
|  | ||||
| import org.yuzu.yuzu_emu.R; | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Setting; | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Settings; | ||||
| import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem; | ||||
| import org.yuzu.yuzu_emu.ui.DividerItemDecoration; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public final class SettingsFragment extends Fragment implements SettingsFragmentView { | ||||
|     private static final String ARGUMENT_MENU_TAG = "menu_tag"; | ||||
|     private static final String ARGUMENT_GAME_ID = "game_id"; | ||||
|  | ||||
|     private SettingsFragmentPresenter mPresenter = new SettingsFragmentPresenter(this); | ||||
|     private SettingsActivityView mActivity; | ||||
|  | ||||
|     private SettingsAdapter mAdapter; | ||||
|  | ||||
|     public static Fragment newInstance(String menuTag, String gameId) { | ||||
|         SettingsFragment fragment = new SettingsFragment(); | ||||
|  | ||||
|         Bundle arguments = new Bundle(); | ||||
|         arguments.putString(ARGUMENT_MENU_TAG, menuTag); | ||||
|         arguments.putString(ARGUMENT_GAME_ID, gameId); | ||||
|  | ||||
|         fragment.setArguments(arguments); | ||||
|         return fragment; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onAttach(@NonNull Context context) { | ||||
|         super.onAttach(context); | ||||
|  | ||||
|         mActivity = (SettingsActivityView) context; | ||||
|         mPresenter.onAttach(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onCreate(Bundle savedInstanceState) { | ||||
|         super.onCreate(savedInstanceState); | ||||
|  | ||||
|         setRetainInstance(true); | ||||
|         String menuTag = getArguments().getString(ARGUMENT_MENU_TAG); | ||||
|         String gameId = getArguments().getString(ARGUMENT_GAME_ID); | ||||
|  | ||||
|         mAdapter = new SettingsAdapter(this, getActivity()); | ||||
|  | ||||
|         mPresenter.onCreate(menuTag, gameId); | ||||
|     } | ||||
|  | ||||
|     @Nullable | ||||
|     @Override | ||||
|     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | ||||
|         return inflater.inflate(R.layout.fragment_settings, container, false); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { | ||||
|         LinearLayoutManager manager = new LinearLayoutManager(getActivity()); | ||||
|  | ||||
|         RecyclerView recyclerView = view.findViewById(R.id.list_settings); | ||||
|  | ||||
|         recyclerView.setAdapter(mAdapter); | ||||
|         recyclerView.setLayoutManager(manager); | ||||
|         recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), null)); | ||||
|  | ||||
|         SettingsActivityView activity = (SettingsActivityView) getActivity(); | ||||
|  | ||||
|         mPresenter.onViewCreated(activity.getSettings()); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onDetach() { | ||||
|         super.onDetach(); | ||||
|         mActivity = null; | ||||
|  | ||||
|         if (mAdapter != null) { | ||||
|             mAdapter.closeDialog(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onSettingsFileLoaded(Settings settings) { | ||||
|         mPresenter.setSettings(settings); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void passSettingsToActivity(Settings settings) { | ||||
|         if (mActivity != null) { | ||||
|             mActivity.setSettings(settings); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void showSettingsList(ArrayList<SettingsItem> settingsList) { | ||||
|         mAdapter.setSettings(settingsList); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void loadDefaultSettings() { | ||||
|         mPresenter.loadDefaultSettings(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void loadSubMenu(String menuKey) { | ||||
|         mActivity.showSettingsFragment(menuKey, true, getArguments().getString(ARGUMENT_GAME_ID)); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void showToastMessage(String message, boolean is_long) { | ||||
|         mActivity.showToastMessage(message, is_long); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void putSetting(Setting setting) { | ||||
|         mPresenter.putSetting(setting); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void onSettingChanged() { | ||||
|         mActivity.onSettingChanged(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,120 @@ | ||||
| package org.yuzu.yuzu_emu.features.settings.ui | ||||
|  | ||||
| import android.content.Context | ||||
| import android.os.Bundle | ||||
| import android.view.LayoutInflater | ||||
| import android.view.View | ||||
| import android.view.ViewGroup | ||||
| import androidx.fragment.app.Fragment | ||||
| import androidx.fragment.app.FragmentActivity | ||||
| import androidx.recyclerview.widget.LinearLayoutManager | ||||
| import androidx.recyclerview.widget.RecyclerView | ||||
| import com.google.android.material.divider.MaterialDividerItemDecoration | ||||
| import org.yuzu.yuzu_emu.R | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Setting | ||||
| import org.yuzu.yuzu_emu.features.settings.model.Settings | ||||
| import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem | ||||
|  | ||||
| class SettingsFragment : Fragment(), SettingsFragmentView { | ||||
|     override lateinit var fragmentActivity: FragmentActivity | ||||
|  | ||||
|     private val presenter = SettingsFragmentPresenter(this) | ||||
|     private var activityView: SettingsActivityView? = null | ||||
|     private var adapter: SettingsAdapter? = null | ||||
|  | ||||
|     override fun onAttach(context: Context) { | ||||
|         super.onAttach(context) | ||||
|         activityView = context as SettingsActivityView | ||||
|         fragmentActivity = requireActivity() | ||||
|         presenter.onAttach() | ||||
|     } | ||||
|  | ||||
|     override fun onCreate(savedInstanceState: Bundle?) { | ||||
|         super.onCreate(savedInstanceState) | ||||
|         val menuTag = requireArguments().getString(ARGUMENT_MENU_TAG) | ||||
|         val gameId = requireArguments().getString(ARGUMENT_GAME_ID) | ||||
|         adapter = SettingsAdapter(this, requireActivity()) | ||||
|         presenter.onCreate(menuTag!!, gameId!!) | ||||
|     } | ||||
|  | ||||
|     override fun onCreateView( | ||||
|         inflater: LayoutInflater, | ||||
|         container: ViewGroup?, | ||||
|         savedInstanceState: Bundle? | ||||
|     ): View? { | ||||
|         return inflater.inflate(R.layout.fragment_settings, container, false) | ||||
|     } | ||||
|  | ||||
|     override fun onViewCreated(view: View, savedInstanceState: Bundle?) { | ||||
|         val manager = LinearLayoutManager(activity) | ||||
|         val recyclerView = view.findViewById<RecyclerView>(R.id.list_settings) | ||||
|         recyclerView.adapter = adapter | ||||
|         recyclerView.layoutManager = manager | ||||
|         val dividerDecoration = MaterialDividerItemDecoration(requireContext(), LinearLayoutManager.VERTICAL) | ||||
|         dividerDecoration.isLastItemDecorated = false | ||||
|         recyclerView.addItemDecoration(dividerDecoration) | ||||
|         val activity = activity as SettingsActivityView? | ||||
|         presenter.onViewCreated(activity!!.settings) | ||||
|     } | ||||
|  | ||||
|     override fun onDetach() { | ||||
|         super.onDetach() | ||||
|         activityView = null | ||||
|         if (adapter != null) { | ||||
|             adapter!!.closeDialog() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override fun onSettingsFileLoaded(settings: Settings?) { | ||||
|         presenter.setSettings(settings) | ||||
|     } | ||||
|  | ||||
|     override fun passSettingsToActivity(settings: Settings) { | ||||
|         if (activityView != null) { | ||||
|             activityView!!.settings = settings | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override fun showSettingsList(settingsList: ArrayList<SettingsItem>) { | ||||
|         adapter!!.setSettings(settingsList) | ||||
|     } | ||||
|  | ||||
|     override fun loadDefaultSettings() { | ||||
|         presenter.loadDefaultSettings() | ||||
|     } | ||||
|  | ||||
|     override fun loadSubMenu(menuKey: String) { | ||||
|         activityView!!.showSettingsFragment( | ||||
|             menuKey, | ||||
|             true, | ||||
|             requireArguments().getString(ARGUMENT_GAME_ID)!! | ||||
|         ) | ||||
|     } | ||||
|  | ||||
|     override fun showToastMessage(message: String?, is_long: Boolean) { | ||||
|         activityView!!.showToastMessage(message!!, is_long) | ||||
|     } | ||||
|  | ||||
|     override fun putSetting(setting: Setting) { | ||||
|         presenter.putSetting(setting) | ||||
|     } | ||||
|  | ||||
|     override fun onSettingChanged() { | ||||
|         activityView!!.onSettingChanged() | ||||
|     } | ||||
|  | ||||
|     companion object { | ||||
|         private const val ARGUMENT_MENU_TAG = "menu_tag" | ||||
|         private const val ARGUMENT_GAME_ID = "game_id" | ||||
|  | ||||
|         @JvmStatic | ||||
|         fun newInstance(menuTag: String?, gameId: String?): Fragment { | ||||
|             val fragment = SettingsFragment() | ||||
|             val arguments = Bundle() | ||||
|             arguments.putString(ARGUMENT_MENU_TAG, menuTag) | ||||
|             arguments.putString(ARGUMENT_GAME_ID, gameId) | ||||
|             fragment.arguments = arguments | ||||
|             return fragment | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user