diff --git a/app/src/main/java/org/schabi/newpipe/MainActivity.java b/app/src/main/java/org/schabi/newpipe/MainActivity.java
index 329bd4165..b54da2ad0 100644
--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java
@@ -20,6 +20,7 @@
package org.schabi.newpipe;
+import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
@@ -39,6 +40,7 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
+import android.widget.Toast;
import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.fragments.BackPressable;
@@ -211,11 +213,20 @@ public class MainActivity extends AppCompatActivity {
}
}
+ @SuppressLint("ShowToast")
private void onHeapDumpToggled(@NonNull MenuItem item) {
- final boolean newToggleState = !item.isChecked();
- sharedPreferences.edit().putBoolean(getString(R.string.allow_heap_dumping_key),
- newToggleState).apply();
- item.setChecked(newToggleState);
+ final boolean isHeapDumpEnabled = !item.isChecked();
+
+ sharedPreferences.edit().putBoolean(getString(R.string.allow_heap_dumping_key), isHeapDumpEnabled).apply();
+ item.setChecked(isHeapDumpEnabled);
+
+ final String heapDumpNotice;
+ if (isHeapDumpEnabled) {
+ heapDumpNotice = getString(R.string.enable_leak_canary_notice);
+ } else {
+ heapDumpNotice = getString(R.string.disable_leak_canary_notice);
+ }
+ Toast.makeText(getApplicationContext(), heapDumpNotice, Toast.LENGTH_SHORT).show();
}
/*//////////////////////////////////////////////////////////////////////////
// Menu
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fbdd22564..b1478fed4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -397,5 +397,7 @@
Failed to delete playlist
- Leak Canary
+ Monitor Leaks
+ Memory leak monitoring enabled, app may become unresponsive when heap dumping
+ Memory leak monitoring disabled