diff options
2 files changed, 23 insertions, 3 deletions
diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java index 0b552f484..ba50125c0 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfile.java @@ -33,7 +33,7 @@ public class VpnProfile implements Cloneable private String mName, mGateway, mUsername, mPassword, mCertificate, mUserCertificate; private String mRemoteId, mLocalId, mExcludedSubnets, mIncludedSubnets, mSelectedApps; - private Integer mMTU, mPort, mSplitTunneling; + private Integer mMTU, mPort, mSplitTunneling, mNATKeepAlive; private SelectedAppsHandling mSelectedAppsHandling = SelectedAppsHandling.SELECTED_APPS_DISABLE; private VpnType mVpnType; private UUID mUUID; @@ -193,6 +193,16 @@ public class VpnProfile implements Cloneable this.mPort = port; } + public Integer getNATKeepAlive() + { + return mNATKeepAlive; + } + + public void setNATKeepAlive(Integer keepalive) + { + this.mNATKeepAlive = keepalive; + } + public void setExcludedSubnets(String excludedSubnets) { this.mExcludedSubnets = excludedSubnets; diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java index 380dbda39..7154336c7 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileDataSource.java @@ -51,6 +51,7 @@ public class VpnProfileDataSource public static final String KEY_INCLUDED_SUBNETS = "included_subnets"; public static final String KEY_SELECTED_APPS = "selected_apps"; public static final String KEY_SELECTED_APPS_LIST = "selected_apps_list"; + public static final String KEY_NAT_KEEPALIVE = "nat_keepalive"; private DatabaseHelper mDbHelper; private SQLiteDatabase mDatabase; @@ -59,7 +60,7 @@ public class VpnProfileDataSource private static final String DATABASE_NAME = "strongswan.db"; private static final String TABLE_VPNPROFILE = "vpnprofile"; - private static final int DATABASE_VERSION = 12; + private static final int DATABASE_VERSION = 13; public static final String DATABASE_CREATE = "CREATE TABLE " + TABLE_VPNPROFILE + " (" + @@ -80,7 +81,8 @@ public class VpnProfileDataSource KEY_EXCLUDED_SUBNETS + " TEXT," + KEY_INCLUDED_SUBNETS + " TEXT," + KEY_SELECTED_APPS + " INTEGER," + - KEY_SELECTED_APPS_LIST + " TEXT" + + KEY_SELECTED_APPS_LIST + " TEXT," + + KEY_NAT_KEEPALIVE + " INTEGER" + ");"; private static final String[] ALL_COLUMNS = new String[] { KEY_ID, @@ -101,6 +103,7 @@ public class VpnProfileDataSource KEY_INCLUDED_SUBNETS, KEY_SELECTED_APPS, KEY_SELECTED_APPS_LIST, + KEY_NAT_KEEPALIVE, }; private static class DatabaseHelper extends SQLiteOpenHelper @@ -180,6 +183,11 @@ public class VpnProfileDataSource db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_SELECTED_APPS_LIST + " TEXT;"); } + if (oldVersion < 13) + { + db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_NAT_KEEPALIVE + + " INTEGER;"); + } } private void updateColumns(SQLiteDatabase db) @@ -359,6 +367,7 @@ public class VpnProfileDataSource profile.setIncludedSubnets(cursor.getString(cursor.getColumnIndex(KEY_INCLUDED_SUBNETS))); profile.setSelectedAppsHandling(getInt(cursor, cursor.getColumnIndex(KEY_SELECTED_APPS))); profile.setSelectedApps(cursor.getString(cursor.getColumnIndex(KEY_SELECTED_APPS_LIST))); + profile.setNATKeepAlive(getInt(cursor, cursor.getColumnIndex(KEY_NAT_KEEPALIVE))); return profile; } @@ -382,6 +391,7 @@ public class VpnProfileDataSource values.put(KEY_INCLUDED_SUBNETS, profile.getIncludedSubnets()); values.put(KEY_SELECTED_APPS, profile.getSelectedAppsHandling().getValue()); values.put(KEY_SELECTED_APPS_LIST, profile.getSelectedApps()); + values.put(KEY_NAT_KEEPALIVE, profile.getNATKeepAlive()); return values; } |