Android: Convert SettingsActivityView to Kotlin
This commit is contained in:
parent
dc77ee140d
commit
c78cde2e18
|
@ -1,137 +0,0 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.settings.ui;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings;
|
||||
|
||||
/**
|
||||
* Abstraction for the Activity that manages SettingsFragments.
|
||||
*/
|
||||
public interface SettingsActivityView
|
||||
{
|
||||
/**
|
||||
* Show a new SettingsFragment.
|
||||
*
|
||||
* @param menuTag Identifier for the settings group that should be displayed.
|
||||
* @param addToStack Whether or not this fragment should replace a previous one.
|
||||
*/
|
||||
void showSettingsFragment(MenuTag menuTag, Bundle extras, boolean addToStack, String gameId);
|
||||
|
||||
/**
|
||||
* Shows a DialogFragment.
|
||||
*
|
||||
* Only one can be shown at a time.
|
||||
*/
|
||||
void showDialogFragment(DialogFragment fragment);
|
||||
|
||||
/**
|
||||
* Called by a contained Fragment to get access to the Setting HashMap
|
||||
* loaded from disk, so that each Fragment doesn't need to perform its own
|
||||
* read operation.
|
||||
*
|
||||
* @return A possibly null HashMap of Settings.
|
||||
*/
|
||||
Settings getSettings();
|
||||
|
||||
/**
|
||||
* Called when an asynchronous load operation completes.
|
||||
*
|
||||
* @param settings The (possibly null) result of the ini load operation.
|
||||
*/
|
||||
void onSettingsFileLoaded(Settings settings);
|
||||
|
||||
/**
|
||||
* Called when an asynchronous load operation fails.
|
||||
*/
|
||||
void onSettingsFileNotFound();
|
||||
|
||||
/**
|
||||
* Display a popup text message on screen.
|
||||
*
|
||||
* @param message The contents of the onscreen message.
|
||||
*/
|
||||
void showToastMessage(String message);
|
||||
|
||||
/**
|
||||
* End the activity.
|
||||
*/
|
||||
void finish();
|
||||
|
||||
/**
|
||||
* Called by a containing Fragment to tell the Activity that a setting was changed;
|
||||
* unless this has been called, the Activity will not save to disk.
|
||||
*/
|
||||
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();
|
||||
|
||||
/**
|
||||
* Called by a containing Fragment to 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);
|
||||
|
||||
/**
|
||||
* Show loading dialog while loading the settings
|
||||
*/
|
||||
void showLoading();
|
||||
|
||||
/**
|
||||
* Hide the loading dialog
|
||||
*/
|
||||
void hideLoading();
|
||||
|
||||
/**
|
||||
* Tell the user that there is junk in the game INI and ask if they want to delete the whole file.
|
||||
*/
|
||||
void showGameIniJunkDeletionQuestion();
|
||||
|
||||
/**
|
||||
* Accesses the material toolbar layout and changes the title
|
||||
*/
|
||||
void setToolbarTitle(String title);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @return The height of the warning view, or 0 if the view is now invisible.
|
||||
*/
|
||||
int setOldControllerSettingsWarningVisibility(boolean visible);
|
||||
}
|
|
@ -0,0 +1,135 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
package org.dolphinemu.dolphinemu.features.settings.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import org.dolphinemu.dolphinemu.features.settings.model.Settings
|
||||
|
||||
/**
|
||||
* Abstraction for the Activity that manages SettingsFragments.
|
||||
*/
|
||||
interface SettingsActivityView {
|
||||
/**
|
||||
* Show a new SettingsFragment.
|
||||
*
|
||||
* @param menuTag Identifier for the settings group that should be displayed.
|
||||
* @param addToStack Whether or not this fragment should replace a previous one.
|
||||
*/
|
||||
fun showSettingsFragment(
|
||||
menuTag: MenuTag,
|
||||
extras: Bundle?,
|
||||
addToStack: Boolean,
|
||||
gameId: String
|
||||
)
|
||||
|
||||
/**
|
||||
* Shows a DialogFragment.
|
||||
*
|
||||
* Only one can be shown at a time.
|
||||
*/
|
||||
fun showDialogFragment(fragment: DialogFragment)
|
||||
|
||||
/**
|
||||
* Called by a contained Fragment to get access to the Setting HashMap
|
||||
* loaded from disk, so that each Fragment doesn't need to perform its own
|
||||
* read operation.
|
||||
*
|
||||
* @return A possibly null HashMap of Settings.
|
||||
*/
|
||||
val settings: Settings
|
||||
|
||||
/**
|
||||
* Called when an asynchronous load operation completes.
|
||||
*
|
||||
* @param settings The (possibly null) result of the ini load operation.
|
||||
*/
|
||||
fun onSettingsFileLoaded(settings: Settings)
|
||||
|
||||
/**
|
||||
* Called when an asynchronous load operation fails.
|
||||
*/
|
||||
fun onSettingsFileNotFound()
|
||||
|
||||
/**
|
||||
* Display a popup text message on screen.
|
||||
*
|
||||
* @param message The contents of the onscreen message.
|
||||
*/
|
||||
fun showToastMessage(message: String)
|
||||
|
||||
/**
|
||||
* End the activity.
|
||||
*/
|
||||
fun finish()
|
||||
|
||||
/**
|
||||
* Called by a containing Fragment to tell the Activity that a Setting was changed;
|
||||
* unless this has been called, the Activity will not save to disk.
|
||||
*/
|
||||
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()
|
||||
|
||||
/**
|
||||
* Called by a containing Fragment to 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
|
||||
* Setting, 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
|
||||
|
||||
/**
|
||||
* Show loading dialog while loading the settings
|
||||
*/
|
||||
fun showLoading()
|
||||
|
||||
/**
|
||||
* Hide the loading dialog
|
||||
*/
|
||||
fun hideLoading()
|
||||
|
||||
/**
|
||||
* Tell the user that there is junk in the game INI and ask if they want to delete the whole file.
|
||||
*/
|
||||
fun showGameIniJunkDeletionQuestion()
|
||||
|
||||
/**
|
||||
* Accesses the material toolbar layout and changes the title
|
||||
*/
|
||||
fun setToolbarTitle(title: String)
|
||||
/**
|
||||
* 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.
|
||||
* @return The height of the warning view, or 0 if the view is now invisible.
|
||||
*/
|
||||
fun setOldControllerSettingsWarningVisibility(visible: Boolean): Int
|
||||
}
|
Loading…
Reference in New Issue