diff options
| author | LC <mathew1800@gmail.com> | 2020-11-30 09:34:57 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-30 09:34:57 -0500 |
| commit | ea2ec64ab4091cab82467abafb2d54b53df23c30 (patch) | |
| tree | fb40810bee4cc848ea403968523068b43e586240 | |
| parent | 558ba1931478364dad62feee3e21f6ffb103703f (diff) | |
| parent | f18cd9e2881564465b9758ddef076fa3485cf6cf (diff) | |
Merge pull request #9298 from Ebola16/AClearLog
Android: Clear Log file
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 f3fe3aac4f..37ca607255 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 c5c587baa1..5aaa6c5d2a 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 --> |
