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