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