Android: Convert SettingsFragmentView to Kotlin
This commit is contained in:
parent
656d91cd18
commit
508e56e2bf
|
@ -1,123 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.settings.ui;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Abstraction for a screen showing a list of settings. Instances of
|
||||
* this type of view will each display a layer of the setting hierarchy.
|
||||
*/
|
||||
public interface SettingsFragmentView
|
||||
{
|
||||
/**
|
||||
* Called by the containing Activity to notify the Fragment that an
|
||||
* asynchronous load operation completed.
|
||||
*
|
||||
* @param settings The (possibly null) result of the ini load operation.
|
||||
*/
|
||||
void onSettingsFileLoaded(Settings settings);
|
||||
|
||||
/**
|
||||
* Pass an ArrayList of settings to the View so that it can be displayed on screen.
|
||||
*
|
||||
* @param settingsList The settings to display
|
||||
*/
|
||||
void showSettingsList(ArrayList<SettingsItem> settingsList);
|
||||
|
||||
/**
|
||||
* Called by the containing Activity when an asynchronous load operation fails.
|
||||
* Instructs the Fragment to load the settings screen with defaults selected.
|
||||
*/
|
||||
void loadDefaultSettings();
|
||||
|
||||
/**
|
||||
* @return The Fragment's containing activity.
|
||||
*/
|
||||
FragmentActivity getActivity();
|
||||
|
||||
/**
|
||||
* @return The Fragment's SettingsAdapter.
|
||||
*/
|
||||
SettingsAdapter getAdapter();
|
||||
|
||||
/**
|
||||
* Tell the Fragment to tell the containing Activity to show a new
|
||||
* Fragment containing a submenu of settings.
|
||||
*
|
||||
* @param menuKey Identifier for the settings group that should be shown.
|
||||
*/
|
||||
void loadSubMenu(MenuTag menuKey);
|
||||
|
||||
void showDialogFragment(DialogFragment fragment);
|
||||
|
||||
/**
|
||||
* Tell the Fragment to tell the containing activity to display a toast message.
|
||||
*
|
||||
* @param message Text to be shown in the Toast
|
||||
*/
|
||||
void showToastMessage(String message);
|
||||
|
||||
/**
|
||||
* @return The backing settings store.
|
||||
*/
|
||||
Settings getSettings();
|
||||
|
||||
/**
|
||||
* Have the fragment tell the containing Activity that a setting was modified.
|
||||
*/
|
||||
void onSettingChanged();
|
||||
|
||||
/**
|
||||
* Refetches the values of all controller settings.
|
||||
*
|
||||
* To be used when loading an input profile or performing some other action that changes all
|
||||
* controller settings at once.
|
||||
*/
|
||||
void onControllerSettingsChanged();
|
||||
|
||||
/**
|
||||
* Have the fragment tell the containing Activity that the user wants to open the MenuTag
|
||||
* associated with a setting.
|
||||
*
|
||||
* @param menuTag The MenuTag of the setting.
|
||||
* @param value The current value of the setting.
|
||||
*/
|
||||
void onMenuTagAction(@NonNull MenuTag menuTag, int value);
|
||||
|
||||
/**
|
||||
* Returns whether anything will happen when the user wants to open the MenuTag associated with a
|
||||
* setting, given the current value of the setting.
|
||||
*
|
||||
* @param menuTag The MenuTag of the setting.
|
||||
* @param value The current value of the setting.
|
||||
*/
|
||||
boolean hasMenuTagActionForValue(@NonNull MenuTag menuTag, int value);
|
||||
|
||||
/**
|
||||
* Sets whether the input mapping dialog should detect inputs from all devices,
|
||||
* not just the device configured for the controller.
|
||||
*/
|
||||
void setMappingAllDevices(boolean allDevices);
|
||||
|
||||
/**
|
||||
* Returns whether the input mapping dialog should detect inputs from all devices,
|
||||
* not just the device configured for the controller.
|
||||
*/
|
||||
boolean isMappingAllDevices();
|
||||
|
||||
/**
|
||||
* Shows or hides a warning telling the user that they're using incompatible controller settings.
|
||||
* The warning is hidden by default.
|
||||
*
|
||||
* @param visible Whether the warning should be visible.
|
||||
*/
|
||||
void setOldControllerSettingsWarningVisibility(boolean visible);
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.settings.ui
|
||||
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.view.SettingsItem
|
||||
|
||||
/**
|
||||
* Abstraction for a screen showing a list of settings. Instances of
|
||||
* this type of view will each display a layer of the Setting hierarchy.
|
||||
*/
|
||||
interface SettingsFragmentView {
|
||||
/**
|
||||
* Called by the containing Activity to notify the Fragment that an
|
||||
* asynchronous load operation completed.
|
||||
*
|
||||
* @param settings The (possibly null) result of the ini load operation.
|
||||
*/
|
||||
fun onSettingsFileLoaded(settings: Settings)
|
||||
|
||||
/**
|
||||
* Pass an ArrayList of settings to the View so that it can be displayed on screen.
|
||||
*
|
||||
* @param settingsList The settings to display
|
||||
*/
|
||||
fun showSettingsList(settingsList: ArrayList<SettingsItem>)
|
||||
|
||||
/**
|
||||
* Called by the containing Activity when an asynchronous load operation fails.
|
||||
* Instructs the Fragment to load the settings screen with defaults selected.
|
||||
*/
|
||||
fun loadDefaultSettings()
|
||||
|
||||
/**
|
||||
* @return The Fragment's containing activity.
|
||||
*/
|
||||
val fragmentActivity: FragmentActivity
|
||||
|
||||
/**
|
||||
* @return The Fragment's SettingsAdapter.
|
||||
*/
|
||||
val adapter: SettingsAdapter?
|
||||
|
||||
/**
|
||||
* Tell the Fragment to tell the containing Activity to show a new
|
||||
* Fragment containing a submenu of settings.
|
||||
*
|
||||
* @param menuKey Identifier for the settings group that should be shown.
|
||||
*/
|
||||
fun loadSubMenu(menuKey: MenuTag)
|
||||
fun showDialogFragment(fragment: DialogFragment)
|
||||
|
||||
/**
|
||||
* Tell the Fragment to tell the containing activity to display a toast message.
|
||||
*
|
||||
* @param message Text to be shown in the Toast
|
||||
*/
|
||||
fun showToastMessage(message: String)
|
||||
|
||||
/**
|
||||
* @return The backing settings store.
|
||||
*/
|
||||
val settings: Settings?
|
||||
|
||||
/**
|
||||
* Have the fragment tell the containing Activity that a Setting was modified.
|
||||
*/
|
||||
fun onSettingChanged()
|
||||
|
||||
/**
|
||||
* Refetches the values of all controller settings.
|
||||
*
|
||||
* To be used when loading an input profile or performing some other action that changes all
|
||||
* controller settings at once.
|
||||
*/
|
||||
fun onControllerSettingsChanged()
|
||||
|
||||
/**
|
||||
* Have the fragment tell the containing Activity that the user wants to open the MenuTag
|
||||
* associated with a Setting.
|
||||
*
|
||||
* @param menuTag The MenuTag of the Setting.
|
||||
* @param value The current value of the Setting.
|
||||
*/
|
||||
fun onMenuTagAction(menuTag: MenuTag, value: Int)
|
||||
|
||||
/**
|
||||
* Returns whether anything will happen when the user wants to open the MenuTag associated with a
|
||||
* stringSetting, given the current value of the Setting.
|
||||
*
|
||||
* @param menuTag The MenuTag of the Setting.
|
||||
* @param value The current value of the Setting.
|
||||
*/
|
||||
fun hasMenuTagActionForValue(menuTag: MenuTag, value: Int): Boolean
|
||||
/**
|
||||
* Returns whether the input mapping dialog should detect inputs from all devices,
|
||||
* not just the device configured for the controller.
|
||||
*/
|
||||
/**
|
||||
* Sets whether the input mapping dialog should detect inputs from all devices,
|
||||
* not just the device configured for the controller.
|
||||
*/
|
||||
var isMappingAllDevices: Boolean
|
||||
|
||||
/**
|
||||
* Shows or hides a warning telling the user that they're using incompatible controller settings.
|
||||
* The warning is hidden by default.
|
||||
*
|
||||
* @param visible Whether the warning should be visible.
|
||||
*/
|
||||
fun setOldControllerSettingsWarningVisibility(visible: Boolean)
|
||||
}
|
Loading…
Reference in New Issue