diff options
| author | Ryan Meredith <rwm@udel.edu> | 2020-11-29 02:37:22 -0500 |
|---|---|---|
| committer | Ryan Meredith <rwm@udel.edu> | 2020-11-29 02:37:22 -0500 |
| commit | f18cd9e2881564465b9758ddef076fa3485cf6cf (patch) | |
| tree | 40a5299546ae614636689bb51e087db8542bcfe7 /Source/Android/app/src | |
| parent | 361bf25cf88026c384dc43ac8ee0cdd04b6e359c (diff) | |
Android: Clear Log file
Diffstat (limited to 'Source/Android/app/src')
3 files changed, 25 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java index b2091d3d05..c751a7750e 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsAdapter.java @@ -39,8 +39,13 @@ import org.dolphinemu.dolphinemu.features.settings.ui.viewholder.SingleChoiceVie import org.dolphinemu.dolphinemu.features.settings.ui.viewholder.SliderViewHolder; import org.dolphinemu.dolphinemu.features.settings.ui.viewholder.SubmenuViewHolder; import org.dolphinemu.dolphinemu.ui.main.MainPresenter; +import org.dolphinemu.dolphinemu.utils.DirectoryInitialization; import org.dolphinemu.dolphinemu.utils.FileBrowserHelper; +import org.dolphinemu.dolphinemu.utils.Log; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; import java.security.InvalidParameterException; import java.util.ArrayList; import java.util.HashSet; @@ -339,6 +344,22 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde mView.onSettingChanged(); } + public static void clearLog() + { + // Don't delete the log in case it is being monitored by another app. + File log = new File(DirectoryInitialization.getUserDirectory() + "/Logs/dolphin.log"); + + try + { + RandomAccessFile raf = new RandomAccessFile(log, "rw"); + raf.setLength(0); + } + catch (IOException e) + { + Log.error("[SettingsAdapter] Failed to clear log file: " + e.getMessage()); + } + } + private void handleMenuTag(MenuTag menuTag, int value) { if (menuTag != null) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index f778d3919d..472cd3fc8a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -638,6 +638,8 @@ public final class SettingsFragmentPresenter () -> mView.getAdapter().setAllLogTypes(true))); sl.add(new RunRunnable(R.string.log_disable_all, 0, R.string.log_disable_all_confirmation, 0, () -> mView.getAdapter().setAllLogTypes(false))); + sl.add(new RunRunnable(R.string.log_clear, 0, R.string.log_clear_confirmation, 0, + SettingsAdapter::clearLog)); sl.add(new HeaderSetting(R.string.log_types, 0)); for (Map.Entry<String, String> entry : LOG_TYPE_NAMES.entrySet()) diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index e940416ca9..ed88152bc1 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -283,6 +283,8 @@ <string name="log_enable_all_confirmation">Are you sure you want to enable all log types?</string> <string name="log_disable_all">Disable all Log Types</string> <string name="log_disable_all_confirmation">Are you sure you want to disable all log types?</string> + <string name="log_clear">Clear Log file</string> + <string name="log_clear_confirmation">Are you sure you want to clear the log file?</string> <string name="log_types">Log Types</string> <!-- Debug --> |
