diff --git a/app/src/main/java/modder/hub/dexeditor/activity/DexEditorActivity.java b/app/src/main/java/modder/hub/dexeditor/activity/DexEditorActivity.java index d5d5f17..c1ddbbb 100644 --- a/app/src/main/java/modder/hub/dexeditor/activity/DexEditorActivity.java +++ b/app/src/main/java/modder/hub/dexeditor/activity/DexEditorActivity.java @@ -205,9 +205,7 @@ protected void onDestroy() { EditorFragment.clearCache(); } - @SuppressLint("MissingSuperCall") - @Override - public void onBackPressed() { + private void handleBack(boolean checkDoublePress) { if (drawerLayout.isDrawerOpen(GravityCompat.START)) { drawerLayout.closeDrawer(GravityCompat.START); return; @@ -245,7 +243,7 @@ public void onBackPressed() { } long currentTime = System.currentTimeMillis(); - if (currentTime - lastBackPressTime < DOUBLE_PRESS_INTERVAL) { + if (!checkDoublePress || currentTime - lastBackPressTime < DOUBLE_PRESS_INTERVAL) { exitActivity(); } else { lastBackPressTime = currentTime; @@ -253,6 +251,12 @@ public void onBackPressed() { } } + @SuppressLint("MissingSuperCall") + @Override + public void onBackPressed() { + handleBack(true); + } + // ========================================== // Initialization & UI Setup @@ -602,7 +606,7 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) { showCompilationOptionsDialog(); return true; } else if (id == R.id.action_exit) { - onBackPressed(); + handleBack(false); return true; }