android: Add field for split tunneling config to data model
This commit is contained in:
@@ -17,10 +17,15 @@
|
||||
|
||||
package org.strongswan.android.data;
|
||||
|
||||
|
||||
public class VpnProfile implements Cloneable
|
||||
{
|
||||
/* While storing this as EnumSet would be nicer this simplifies storing it in a database */
|
||||
public static final int SPLIT_TUNNELING_BLOCK_IPV4 = 1;
|
||||
public static final int SPLIT_TUNNELING_BLOCK_IPV6 = 2;
|
||||
|
||||
private String mName, mGateway, mUsername, mPassword, mCertificate, mUserCertificate;
|
||||
private Integer mMTU, mPort;
|
||||
private Integer mMTU, mPort, mSplitTunneling;
|
||||
private VpnType mVpnType;
|
||||
private long mId = -1;
|
||||
|
||||
@@ -124,6 +129,16 @@ public class VpnProfile implements Cloneable
|
||||
this.mPort = port;
|
||||
}
|
||||
|
||||
public Integer getSplitTunneling()
|
||||
{
|
||||
return mSplitTunneling;
|
||||
}
|
||||
|
||||
public void setSplitTunneling(Integer splitTunneling)
|
||||
{
|
||||
this.mSplitTunneling = splitTunneling;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
||||
@@ -42,6 +42,7 @@ public class VpnProfileDataSource
|
||||
public static final String KEY_USER_CERTIFICATE = "user_certificate";
|
||||
public static final String KEY_MTU = "mtu";
|
||||
public static final String KEY_PORT = "port";
|
||||
public static final String KEY_SPLIT_TUNNELING = "split_tunneling";
|
||||
|
||||
private DatabaseHelper mDbHelper;
|
||||
private SQLiteDatabase mDatabase;
|
||||
@@ -50,7 +51,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 = 6;
|
||||
private static final int DATABASE_VERSION = 7;
|
||||
|
||||
public static final String DATABASE_CREATE =
|
||||
"CREATE TABLE " + TABLE_VPNPROFILE + " (" +
|
||||
@@ -63,7 +64,8 @@ public class VpnProfileDataSource
|
||||
KEY_CERTIFICATE + " TEXT," +
|
||||
KEY_USER_CERTIFICATE + " TEXT," +
|
||||
KEY_MTU + " INTEGER," +
|
||||
KEY_PORT + " INTEGER" +
|
||||
KEY_PORT + " INTEGER," +
|
||||
KEY_SPLIT_TUNNELING + " INTEGER" +
|
||||
");";
|
||||
private static final String[] ALL_COLUMNS = new String[] {
|
||||
KEY_ID,
|
||||
@@ -76,6 +78,7 @@ public class VpnProfileDataSource
|
||||
KEY_USER_CERTIFICATE,
|
||||
KEY_MTU,
|
||||
KEY_PORT,
|
||||
KEY_SPLIT_TUNNELING,
|
||||
};
|
||||
|
||||
private static class DatabaseHelper extends SQLiteOpenHelper
|
||||
@@ -120,6 +123,11 @@ public class VpnProfileDataSource
|
||||
db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_PORT +
|
||||
" INTEGER;");
|
||||
}
|
||||
if (oldVersion < 7)
|
||||
{
|
||||
db.execSQL("ALTER TABLE " + TABLE_VPNPROFILE + " ADD " + KEY_SPLIT_TUNNELING +
|
||||
" INTEGER;");
|
||||
}
|
||||
}
|
||||
|
||||
private void updateColumns(SQLiteDatabase db)
|
||||
@@ -273,6 +281,7 @@ public class VpnProfileDataSource
|
||||
profile.setUserCertificateAlias(cursor.getString(cursor.getColumnIndex(KEY_USER_CERTIFICATE)));
|
||||
profile.setMTU(getInt(cursor, cursor.getColumnIndex(KEY_MTU)));
|
||||
profile.setPort(getInt(cursor, cursor.getColumnIndex(KEY_PORT)));
|
||||
profile.setSplitTunneling(getInt(cursor, cursor.getColumnIndex(KEY_SPLIT_TUNNELING)));
|
||||
return profile;
|
||||
}
|
||||
|
||||
@@ -288,6 +297,7 @@ public class VpnProfileDataSource
|
||||
values.put(KEY_USER_CERTIFICATE, profile.getUserCertificateAlias());
|
||||
values.put(KEY_MTU, profile.getMTU());
|
||||
values.put(KEY_PORT, profile.getPort());
|
||||
values.put(KEY_SPLIT_TUNNELING, profile.getSplitTunneling());
|
||||
return values;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user