diff --git a/app/src/main/java/com/emanuelef/remote_capture/CaptureService.java b/app/src/main/java/com/emanuelef/remote_capture/CaptureService.java index b6426fd2..948161f7 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/CaptureService.java +++ b/app/src/main/java/com/emanuelef/remote_capture/CaptureService.java @@ -681,13 +681,22 @@ public class CaptureService extends VpnService implements Runnable { * when mCaptureThread terminates. */ public static void stopService() { CaptureService captureService = INSTANCE; + Log.d(TAG, "stopService called (instance? " + (captureService != null) + ")"); + if(captureService == null) return; stopPacketLoop(); captureService.signalServicesTermination(); - captureService.stopForeground(true /* remove notification */); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + captureService.stopForeground(STOP_FOREGROUND_REMOVE); + else + captureService.stopForeground(true); + + // this fixes notification not removed (reproduced on the Android 12 emulator) + NotificationManagerCompat.from(captureService).deleteNotificationChannel(NOTIFY_CHAN_VPNSERVICE); + captureService.stopSelf(); } diff --git a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java index 72967d1d..0caa21a9 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java +++ b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java @@ -732,6 +732,7 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig intent.setType("*/*"); intent.putExtra(Intent.EXTRA_TITLE, "sslkeylogfile.txt"); + Log.d(TAG, "startExportSslkeylogfile: launching dialog"); Utils.launchFileDialog(this, intent, sslkeyfileExportLauncher); }