Skip to content

Commit cb4b94b

Browse files
committed
Disallow disconnecting in minimal UI mode
1 parent 5ec86bb commit cb4b94b

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

main/src/main/java/de/blinkt/openvpn/activities/DisconnectVPN.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import de.blinkt.openvpn.LaunchVPN;
2121
import de.blinkt.openvpn.R;
22+
import de.blinkt.openvpn.core.GlobalPreferences;
2223
import de.blinkt.openvpn.core.IOpenVPNServiceInternal;
2324
import de.blinkt.openvpn.core.OpenVPNService;
2425
import de.blinkt.openvpn.core.Preferences;
@@ -82,7 +83,8 @@ private void showDisconnectDialog() {
8283
builder.setTitle(R.string.title_cancel);
8384
builder.setMessage(R.string.cancel_connection_query);
8485
builder.setNegativeButton(android.R.string.cancel, this);
85-
builder.setPositiveButton(R.string.cancel_connection, this);
86+
if (!GlobalPreferences.getForceConnected())
87+
builder.setPositiveButton(R.string.cancel_connection, this);
8688
builder.setNeutralButton(R.string.reconnect, this);
8789
builder.setOnCancelListener(this);
8890

main/src/main/java/de/blinkt/openvpn/api/AppRestrictions.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,12 @@ private static void setMiscSettings(Context c, Bundle restrictions) {
174174

175175

176176
boolean minimalUi = restrictions.getBoolean("minimal_ui", false);
177+
if (minimalUi && defaultPrefs.getBoolean("showlogwindow", true)){
178+
SharedPreferences.Editor editor = defaultPrefs.edit();
179+
editor.putBoolean("showlogwindow", false);
180+
editor.apply();
181+
}
182+
177183
boolean forceConnected = restrictions.getBoolean("always_connected", false);
178184
GlobalPreferences.setInstance(minimalUi, forceConnected);
179185
}

main/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,11 @@ private void addVpnActionsToNotification(Notification.Builder nbuilder) {
426426
PendingIntent disconnectPendingIntent = PendingIntent.getActivity(this, 0, disconnectVPN, PendingIntent.FLAG_IMMUTABLE);
427427

428428
nbuilder.addAction(R.drawable.ic_menu_close_clear_cancel,
429-
getString(R.string.cancel_connection), disconnectPendingIntent);
429+
getString(GlobalPreferences.getForceConnected() ? R.string.reconnect : R.string.cancel_connection), disconnectPendingIntent);
430+
431+
/* do not allow to pause the VPN is force connection is enabled */
432+
if (GlobalPreferences.getForceConnected())
433+
return;
430434

431435
Intent pauseVPN = new Intent(this, OpenVPNService.class);
432436
if (mDeviceStateReceiver == null || !mDeviceStateReceiver.isUserPaused()) {

0 commit comments

Comments
 (0)