Updated Notifications table and added "mark all notifications as read"
feature (locally) TODO: Change markAllRead icon and send info to SWAD
This commit is contained in:
parent
6dd6df0815
commit
332b21849c
|
@ -157,5 +157,21 @@
|
|||
android:clickable="true"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/markAllRead"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:src="@drawable/title_refresh"
|
||||
android:onClick="onMarkAllReadClick"
|
||||
android:background="@drawable/title_button"
|
||||
android:scaleType="centerCrop"
|
||||
android:paddingLeft="3dip"
|
||||
android:paddingRight="5dip"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
|
|
@ -49,6 +49,12 @@
|
|||
android:layout_marginTop="3dip"
|
||||
android:layout_marginRight="6dip">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/notifCode"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/eventCode"
|
||||
android:layout_height="wrap_content"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<database
|
||||
name="swadroid_db_crypt"
|
||||
version="15">
|
||||
version="16">
|
||||
|
||||
<table
|
||||
name="courses"
|
||||
|
@ -31,7 +31,13 @@
|
|||
new-in-version="3"
|
||||
to-string="%name%">
|
||||
<field
|
||||
name="id"
|
||||
name="notifCode"
|
||||
new-in-version="16"
|
||||
obligatory="true"
|
||||
type="long"/>
|
||||
<field
|
||||
name="eventCode"
|
||||
new-in-version="16"
|
||||
obligatory="true"
|
||||
type="long"/>
|
||||
<field
|
||||
|
|
|
@ -196,7 +196,7 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
startActivityForResult(activity, Constants.TESTS_REQUEST_CODE);
|
||||
} else if (keyword.equals(getString(R.string.messagesModuleLabel))) {
|
||||
activity = new Intent(getBaseContext(), Messages.class);
|
||||
activity.putExtra("notificationCode", Long.valueOf(0));
|
||||
activity.putExtra("eventCode", Long.valueOf(0));
|
||||
startActivityForResult(activity, Constants.MESSAGES_REQUEST_CODE);
|
||||
} else if (keyword.equals(getString(R.string.noticesModuleLabel))) {
|
||||
activity = new Intent(getBaseContext(), Notices.class);
|
||||
|
@ -314,25 +314,6 @@ public class SWADMain extends MenuExpandableListActivity {
|
|||
|
||||
prefs.setSyncTime(String.valueOf(Constants.DEFAULT_SYNC_TIME));
|
||||
}
|
||||
|
||||
//If the app is updating from an unencrypted version, encrypt already downloaded notifications
|
||||
if (lastVersion < 45) {
|
||||
dbHelper.encryptNotifications();
|
||||
|
||||
/*
|
||||
* If the app is updating from the bugged encrypted version,
|
||||
* re-encrypt the notifications using the new method
|
||||
*/
|
||||
} else if (lastVersion == 45) {
|
||||
dbHelper.reencryptNotifications();
|
||||
}
|
||||
|
||||
//Configure automatic synchronization
|
||||
if (lastVersion < 49) {
|
||||
activity = new Intent(getBaseContext(), AccountAuthenticator.class);
|
||||
startActivity(activity);
|
||||
SyncUtils.addPeriodicSync(Constants.AUTHORITY, Bundle.EMPTY, Constants.DEFAULT_SYNC_TIME, this);
|
||||
}
|
||||
|
||||
//Configure automatic synchronization
|
||||
if(Preferences.isSyncEnabled()) {
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
*/
|
||||
package es.ugr.swad.swadroid.model;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
import android.database.Cursor;
|
||||
import android.database.SQLException;
|
||||
|
@ -215,7 +214,8 @@ public class DataBaseHelper {
|
|||
ent.getInt(params.getFirst()),
|
||||
ent.getInt(params.getSecond()));
|
||||
} else if (table.equals(Constants.DB_TABLE_NOTIFICATIONS)) {
|
||||
o = new SWADNotification(ent.getInt("id"),
|
||||
o = new SWADNotification(ent.getInt("notifCode"),
|
||||
ent.getInt("eventCode"),
|
||||
crypto.decrypt(ent.getString("eventType")),
|
||||
ent.getLong("eventTime"),
|
||||
crypto.decrypt(ent.getString("userSurname1")),
|
||||
|
@ -755,7 +755,8 @@ public class DataBaseHelper {
|
|||
String eventTime = String.valueOf(n.getEventTime());
|
||||
String status = String.valueOf(n.getStatus());
|
||||
|
||||
ent.setValue("id", n.getId());
|
||||
ent.setValue("notifCode", n.getId());
|
||||
ent.setValue("eventCode", n.getEventCode());
|
||||
ent.setValue("eventType", crypto.encrypt(n.getEventType()));
|
||||
ent.setValue("eventTime", eventTime);
|
||||
ent.setValue("userSurname1", crypto.encrypt(n.getUserSurname1()));
|
||||
|
@ -1065,8 +1066,8 @@ public class DataBaseHelper {
|
|||
if (table.compareTo(Constants.DB_TABLE_GROUP_TYPES) == 0) {
|
||||
for (Model anObsoleteModel : obsoleteModel) {
|
||||
long code = anObsoleteModel.getId();
|
||||
removeAllRow(table, "id", code);
|
||||
removeAllRow(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpTypCod", code);
|
||||
removeAllRows(table, "id", code);
|
||||
removeAllRows(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpTypCod", code);
|
||||
}
|
||||
for (Model model : newModels) {
|
||||
insertEntity(table, model);
|
||||
|
@ -1081,9 +1082,9 @@ public class DataBaseHelper {
|
|||
if (table.compareTo(Constants.DB_TABLE_GROUPS) == 0) {
|
||||
for (Model anObsoleteModel : obsoleteModel) {
|
||||
long code = anObsoleteModel.getId();
|
||||
removeAllRow(table, "id", code);
|
||||
removeAllRow(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpCod", code);
|
||||
removeAllRow(Constants.DB_TABLE_GROUPS_COURSES, "grpCod", code);
|
||||
removeAllRows(table, "id", code);
|
||||
removeAllRows(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpCod", code);
|
||||
removeAllRows(Constants.DB_TABLE_GROUPS_COURSES, "grpCod", code);
|
||||
}
|
||||
for (Model model : newModels) {
|
||||
insertGroup((Group) model, courseCode[0]);
|
||||
|
@ -1209,6 +1210,20 @@ public class DataBaseHelper {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates all notifications in database
|
||||
*
|
||||
* @param field Field to be updated
|
||||
* @param value New field value
|
||||
*/
|
||||
public void updateAllNotifications(String field, String value) {
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS);
|
||||
for(Entity ent : rows) {
|
||||
ent.setValue(field, value);
|
||||
ent.save();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates a notification in database
|
||||
*
|
||||
|
@ -1217,7 +1232,7 @@ public class DataBaseHelper {
|
|||
* @param value New field value
|
||||
*/
|
||||
public void updateNotification(long id, String field, String value) {
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "id = " + id);
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "notifCode = " + id);
|
||||
for(Entity ent : rows) {
|
||||
ent.setValue(field, value);
|
||||
ent.save();
|
||||
|
@ -1231,8 +1246,9 @@ public class DataBaseHelper {
|
|||
* @param actual Updated notification
|
||||
*/
|
||||
public void updateNotification(long id, SWADNotification actual) {
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "id = " + id);
|
||||
long newID = actual.getId();
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "notifCode = " + id);
|
||||
long notifCode = actual.getId();
|
||||
long eventCode = actual.getEventCode();
|
||||
String eventType = crypto.encrypt(actual.getEventType());
|
||||
String eventTime = String.valueOf(actual.getEventTime());
|
||||
String userSurname1 = crypto.encrypt(actual.getUserSurname1());
|
||||
|
@ -1247,7 +1263,8 @@ public class DataBaseHelper {
|
|||
String seenRemote = Utils.parseBoolString(actual.isSeenRemote());
|
||||
|
||||
for(Entity ent : rows) {
|
||||
ent.setValue("id", newID);
|
||||
ent.setValue("notifCode", notifCode);
|
||||
ent.setValue("eventCode", eventCode);
|
||||
ent.setValue("eventType", eventType);
|
||||
ent.setValue("eventTime", eventTime);
|
||||
ent.setValue("userSurname1", userSurname1);
|
||||
|
@ -1271,8 +1288,9 @@ public class DataBaseHelper {
|
|||
* @param actual Updated notification
|
||||
*/
|
||||
public void updateNotification(SWADNotification prev, SWADNotification actual) {
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "id = " + prev.getId());
|
||||
long newID = actual.getId();
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_NOTIFICATIONS, "notifCode = " + prev.getId());
|
||||
long notifCode = actual.getId();
|
||||
long eventCode = actual.getEventCode();
|
||||
String eventType = crypto.encrypt(actual.getEventType());
|
||||
String eventTime = String.valueOf(actual.getEventTime());
|
||||
String userSurname1 = crypto.encrypt(actual.getUserSurname1());
|
||||
|
@ -1287,7 +1305,8 @@ public class DataBaseHelper {
|
|||
String seenRemote = Utils.parseBoolString(actual.isSeenRemote());
|
||||
|
||||
for(Entity ent : rows) {
|
||||
ent.setValue("id", newID);
|
||||
ent.setValue("notifCode", notifCode);
|
||||
ent.setValue("eventCode", eventCode);
|
||||
ent.setValue("eventType", eventType);
|
||||
ent.setValue("eventTime", eventTime);
|
||||
ent.setValue("userSurname1", userSurname1);
|
||||
|
@ -1497,7 +1516,6 @@ public class DataBaseHelper {
|
|||
return false;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private <T> boolean updateRelationship(Pair<String, String> tables, Pair<String, String> idsTables, String relationTable, Pair<String, T> remainField, Pair<String, T> changedField) {
|
||||
|
||||
|
||||
|
@ -1524,7 +1542,6 @@ public class DataBaseHelper {
|
|||
/**
|
||||
* Updates an existing group type
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private boolean updateGroupType(GroupType prv, GroupType current) {
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_GROUP_TYPES, "id=" + prv.getId());
|
||||
boolean returnValue = true;
|
||||
|
@ -1559,8 +1576,8 @@ public class DataBaseHelper {
|
|||
removeRow(Constants.DB_TABLE_GROUPS, g.getId());
|
||||
|
||||
//Remove also relationships with courses and group types
|
||||
removeAllRow(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpCod", g.getId());
|
||||
removeAllRow(Constants.DB_TABLE_GROUPS_COURSES, "grpCod", g.getId());
|
||||
removeAllRows(Constants.DB_TABLE_GROUPS_GROUPTYPES, "grpCod", g.getId());
|
||||
removeAllRows(Constants.DB_TABLE_GROUPS_COURSES, "grpCod", g.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1580,7 +1597,7 @@ public class DataBaseHelper {
|
|||
* @param fieldName Name field to search
|
||||
* @param value Value field of row to be removed
|
||||
*/
|
||||
void removeAllRow(String table, String fieldName, long value) {
|
||||
void removeAllRows(String table, String fieldName, long value) {
|
||||
List<Entity> rows = db.getEntityList(table, fieldName + "= " + value);
|
||||
for (Entity ent : rows) {
|
||||
ent.delete();
|
||||
|
@ -1592,7 +1609,7 @@ public class DataBaseHelper {
|
|||
*
|
||||
* @param p PairTable to be removed
|
||||
*/
|
||||
public void removePairTable(@SuppressWarnings("rawtypes") PairTable p) {
|
||||
public void removePairTable(PairTable<?, ?> p) {
|
||||
String table = p.getTable();
|
||||
Integer first = (Integer) p.getFirst();
|
||||
Integer second = (Integer) p.getSecond();
|
||||
|
@ -1635,7 +1652,7 @@ public class DataBaseHelper {
|
|||
* @return Last time the test was updated
|
||||
*/
|
||||
public String getTimeOfLastTestUpdate(long selectedCourseCode) {
|
||||
String where = "id=" + selectedCourseCode;
|
||||
String where = "notifCode=" + selectedCourseCode;
|
||||
String orderby = null;
|
||||
List<Entity> rows = db.getEntityList(Constants.DB_TABLE_TEST_CONFIG, where, orderby);
|
||||
String f = "0";
|
||||
|
@ -1863,10 +1880,6 @@ public class DataBaseHelper {
|
|||
ent.save();
|
||||
}
|
||||
}
|
||||
|
||||
void markNotificationAsSeenLocally(String notificationCode) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Empty table from database
|
||||
|
@ -1897,23 +1910,7 @@ public class DataBaseHelper {
|
|||
* Clean data of all tables from database. Removes users photos from external storage
|
||||
*/
|
||||
public void cleanTables() {
|
||||
emptyTable(Constants.DB_TABLE_NOTIFICATIONS);
|
||||
emptyTable(Constants.DB_TABLE_COURSES);
|
||||
emptyTable(Constants.DB_TABLE_TEST_QUESTION_ANSWERS);
|
||||
emptyTable(Constants.DB_TABLE_TEST_QUESTION_TAGS);
|
||||
emptyTable(Constants.DB_TABLE_TEST_QUESTIONS_COURSE);
|
||||
emptyTable(Constants.DB_TABLE_TEST_ANSWERS);
|
||||
emptyTable(Constants.DB_TABLE_TEST_CONFIG);
|
||||
emptyTable(Constants.DB_TABLE_TEST_QUESTIONS);
|
||||
emptyTable(Constants.DB_TABLE_TEST_TAGS);
|
||||
emptyTable(Constants.DB_TABLE_USERS_COURSES);
|
||||
emptyTable(Constants.DB_TABLE_USERS);
|
||||
emptyTable(Constants.DB_TABLE_GROUPS_COURSES);
|
||||
emptyTable(Constants.DB_TABLE_GROUPS);
|
||||
emptyTable(Constants.DB_TABLE_PRACTICE_SESSIONS);
|
||||
emptyTable(Constants.DB_TABLE_ROLLCALL);
|
||||
emptyTable(Constants.DB_TABLE_GROUP_TYPES);
|
||||
emptyTable(Constants.DB_TABLE_GROUPS_GROUPTYPES);
|
||||
db.emptyTables();
|
||||
compactDB();
|
||||
|
||||
// Removes users photos from external storage (Android 2.2 or higher only)
|
||||
|
@ -1969,11 +1966,6 @@ public class DataBaseHelper {
|
|||
*/
|
||||
public void upgradeDB(Context context) {
|
||||
int dbVersion = db.getDB().getVersion();
|
||||
boolean found = false;
|
||||
int i = 0;
|
||||
int rowsAffected;
|
||||
ContentValues fields;
|
||||
|
||||
/*
|
||||
* Modify database keeping data:
|
||||
* 1. Create temporary table __DB_TABLE_GROUPS (with the new model)
|
||||
|
@ -1986,57 +1978,17 @@ public class DataBaseHelper {
|
|||
* Just to modify database without to keep data just 7,6.
|
||||
*
|
||||
* */
|
||||
|
||||
|
||||
/* From version 11 to 12
|
||||
* changes on courses table:
|
||||
* - old field name is erased
|
||||
* The rest of the changes are only new fields and they are added automatic by Dataframework. */
|
||||
if (dbVersion < 12) {
|
||||
Cursor dbCursor = db.getDB().query(Constants.DB_TABLE_COURSES, null, null, null, null, null, null);
|
||||
String[] columnNames = dbCursor.getColumnNames();
|
||||
while (i < columnNames.length && !found) {
|
||||
if (columnNames[i].compareTo("name") == 0) found = true;
|
||||
++i;
|
||||
}
|
||||
if (found) {
|
||||
//without to keep data
|
||||
db.getDB().execSQL("DROP TABLE " + Constants.DB_TABLE_COURSES + ";");//+
|
||||
db.getDB().execSQL("CREATE TABLE " + Constants.DB_TABLE_COURSES
|
||||
+ " (_id integer primary key autoincrement, id long, userRole integer,shortName text, fullName text);");
|
||||
}
|
||||
|
||||
/* version 12 - 13
|
||||
* changes on groups table:
|
||||
* - old field groupCode is now id
|
||||
* - old field groupTypeCode is erased
|
||||
* - old field groupTypeName is erased
|
||||
* The rest of the changes are only new fields and they are added automatic by Dataframework.
|
||||
* */
|
||||
} else if (dbVersion < 13) {
|
||||
Cursor dbCursor = db.getDB().query(Constants.DB_TABLE_GROUPS, null, null, null, null, null, null);
|
||||
String[] columnNames = dbCursor.getColumnNames();
|
||||
while (i < columnNames.length && !found) {
|
||||
if (columnNames[i].equals("groupCode")) found = true;
|
||||
++i;
|
||||
}
|
||||
if (found) {
|
||||
//without to keep data
|
||||
db.getDB().execSQL("DROP TABLE " + Constants.DB_TABLE_GROUPS + ";");
|
||||
db.getDB().execSQL("CREATE TABLE " + Constants.DB_TABLE_GROUPS + " (_id integer primary key autoincrement, id long, groupName text, maxStudents integer,"
|
||||
+ " students integer, open integer, fileZones integer, member integer); ");
|
||||
}
|
||||
|
||||
/* version 14-15
|
||||
|
||||
/* version 15-16
|
||||
* changes on notifications table:
|
||||
* - new field seenLocal initialized to true
|
||||
* - new field seenRemote initialized to true
|
||||
* - new field notifCode
|
||||
* - changed field id to eventCode
|
||||
* */
|
||||
} else if (dbVersion < 15) {
|
||||
fields = new ContentValues();
|
||||
fields.put("seenLocal", Utils.parseBoolString(true));
|
||||
fields.put("seenRemote", Utils.parseBoolString(true));
|
||||
rowsAffected = db.getDB().update(Constants.DB_TABLE_NOTIFICATIONS, fields, null, null);
|
||||
if (dbVersion == 16) {
|
||||
//without keeping data
|
||||
db.getDB().execSQL("DROP TABLE " + Constants.DB_TABLE_NOTIFICATIONS + ";");
|
||||
db.getDB().execSQL("CREATE TABLE " + Constants.DB_TABLE_NOTIFICATIONS + " (_id integer primary key autoincrement, notifCode long, eventCode long, eventType text, eventTime text,"
|
||||
+ " userSurname1 text, userSurname2 text, userFirstname text, userPhoto text, location text, summary text, status text, content text, seenLocal text, seenRemote text); ");
|
||||
}
|
||||
|
||||
compactDB();
|
||||
|
|
|
@ -20,8 +20,6 @@ package es.ugr.swad.swadroid.model;
|
|||
|
||||
import org.ksoap2.serialization.PropertyInfo;
|
||||
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
||||
import java.util.Hashtable;
|
||||
|
||||
/**
|
||||
|
@ -30,6 +28,10 @@ import java.util.Hashtable;
|
|||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com> *
|
||||
*/
|
||||
public class SWADNotification extends Model {
|
||||
/**
|
||||
* Event id (not unique)
|
||||
*/
|
||||
private long eventCode;
|
||||
/**
|
||||
* Notification type
|
||||
*/
|
||||
|
@ -79,6 +81,7 @@ public class SWADNotification extends Model {
|
|||
*/
|
||||
private boolean seenRemote;
|
||||
private static final PropertyInfo PI_id = new PropertyInfo();
|
||||
private static final PropertyInfo PI_eventCode = new PropertyInfo();
|
||||
private static final PropertyInfo PI_eventType = new PropertyInfo();
|
||||
private static final PropertyInfo PI_eventTime = new PropertyInfo();
|
||||
private static final PropertyInfo PI_userSurname1 = new PropertyInfo();
|
||||
|
@ -93,6 +96,7 @@ public class SWADNotification extends Model {
|
|||
private static PropertyInfo[] PI_PROP_ARRAY =
|
||||
{
|
||||
PI_id,
|
||||
PI_eventCode,
|
||||
PI_eventType,
|
||||
PI_eventTime,
|
||||
PI_userSurname1,
|
||||
|
@ -106,7 +110,8 @@ public class SWADNotification extends Model {
|
|||
};
|
||||
|
||||
/**
|
||||
* @param id Notification id
|
||||
* @param id Notification id (unique)
|
||||
* @param eventCode Event id (not unique)
|
||||
* @param eventType Notification type
|
||||
* @param eventTime Notification timestamp
|
||||
* @param userSurname1 Sender first surname
|
||||
|
@ -119,12 +124,13 @@ public class SWADNotification extends Model {
|
|||
* @param seenLocal Notification has been seen locally
|
||||
* @param seenRemote Notification has been seen in SWAD
|
||||
*/
|
||||
public SWADNotification(long id, String eventType, long eventTime,
|
||||
public SWADNotification(long id, long eventCode, String eventType, long eventTime,
|
||||
String userSurname1, String userSurname2, String userFirstName,
|
||||
String userPhoto, String location, String summary, int status,
|
||||
String content, boolean seenLocal, boolean seenRemote) {
|
||||
|
||||
super(id);
|
||||
this.eventCode = eventCode;
|
||||
this.eventType = eventType;
|
||||
this.eventTime = eventTime;
|
||||
this.userSurname1 = userSurname1;
|
||||
|
@ -139,6 +145,24 @@ public class SWADNotification extends Model {
|
|||
this.seenRemote = seenRemote;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets event id
|
||||
*
|
||||
* @return Event id
|
||||
*/
|
||||
public long getEventCode() {
|
||||
return eventCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets event id
|
||||
*
|
||||
* @param eventCode Event id
|
||||
*/
|
||||
public void setEventCode(long eventCode) {
|
||||
this.eventCode = eventCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets notification type
|
||||
*
|
||||
|
@ -359,106 +383,116 @@ public class SWADNotification extends Model {
|
|||
this.seenRemote = seenRemote;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SWADNotification [eventType=" + eventType + ", eventTime="
|
||||
+ eventTime + ", userSurname1=" + userSurname1
|
||||
+ ", userSurname2=" + userSurname2 + ", userFirstName="
|
||||
+ userFirstName + ", userPhoto=" + userPhoto + ", location="
|
||||
+ location + ", summary=" + summary + ", status=" + status
|
||||
+ ", content=" + content + ", seenLocal=" + seenLocal
|
||||
+ ", seenRemote=" + seenRemote + "]";
|
||||
return "SWADNotification [notifCode=" + getId() + ", eventCode=" + eventCode + ", eventType="
|
||||
+ eventType + ", eventTime=" + eventTime + ", userSurname1="
|
||||
+ userSurname1 + ", userSurname2=" + userSurname2
|
||||
+ ", userFirstName=" + userFirstName + ", userPhoto="
|
||||
+ userPhoto + ", location=" + location + ", summary=" + summary
|
||||
+ ", status=" + status + ", content=" + content
|
||||
+ ", seenLocal=" + seenLocal + ", seenRemote=" + seenRemote
|
||||
+ "]";
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + ((content == null) ? 0 : content.hashCode());
|
||||
result = prime * result + (int) (eventCode ^ (eventCode >>> 32));
|
||||
result = prime * result + (int) (eventTime ^ (eventTime >>> 32));
|
||||
result = prime * result
|
||||
+ ((eventType == null) ? 0 : eventType.hashCode());
|
||||
result = prime * result
|
||||
+ ((location == null) ? 0 : location.hashCode());
|
||||
result = prime * result + (seenLocal ? 1231 : 1237);
|
||||
result = prime * result + (seenRemote ? 1231 : 1237);
|
||||
result = prime * result + status;
|
||||
result = prime * result + ((summary == null) ? 0 : summary.hashCode());
|
||||
result = prime * result
|
||||
+ ((userFirstName == null) ? 0 : userFirstName.hashCode());
|
||||
result = prime * result
|
||||
+ ((userPhoto == null) ? 0 : userPhoto.hashCode());
|
||||
result = prime * result
|
||||
+ ((userSurname1 == null) ? 0 : userSurname1.hashCode());
|
||||
result = prime * result
|
||||
+ ((userSurname2 == null) ? 0 : userSurname2.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#hashCode()
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + ((content == null) ? 0 : content.hashCode());
|
||||
result = prime * result + (int) (eventTime ^ (eventTime >>> 32));
|
||||
result = prime * result
|
||||
+ ((eventType == null) ? 0 : eventType.hashCode());
|
||||
result = prime * result
|
||||
+ ((location == null) ? 0 : location.hashCode());
|
||||
result = prime * result + status;
|
||||
result = prime * result + ((summary == null) ? 0 : summary.hashCode());
|
||||
result = prime * result
|
||||
+ ((userFirstName == null) ? 0 : userFirstName.hashCode());
|
||||
result = prime * result
|
||||
+ ((userPhoto == null) ? 0 : userPhoto.hashCode());
|
||||
result = prime * result
|
||||
+ ((userSurname1 == null) ? 0 : userSurname1.hashCode());
|
||||
result = prime * result
|
||||
+ ((userSurname2 == null) ? 0 : userSurname2.hashCode());
|
||||
return result;
|
||||
}
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (!super.equals(obj))
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
SWADNotification other = (SWADNotification) obj;
|
||||
if (content == null) {
|
||||
if (other.content != null)
|
||||
return false;
|
||||
} else if (!content.equals(other.content))
|
||||
return false;
|
||||
if (eventCode != other.eventCode)
|
||||
return false;
|
||||
if (eventTime != other.eventTime)
|
||||
return false;
|
||||
if (eventType == null) {
|
||||
if (other.eventType != null)
|
||||
return false;
|
||||
} else if (!eventType.equals(other.eventType))
|
||||
return false;
|
||||
if (location == null) {
|
||||
if (other.location != null)
|
||||
return false;
|
||||
} else if (!location.equals(other.location))
|
||||
return false;
|
||||
if (seenLocal != other.seenLocal)
|
||||
return false;
|
||||
if (seenRemote != other.seenRemote)
|
||||
return false;
|
||||
if (status != other.status)
|
||||
return false;
|
||||
if (summary == null) {
|
||||
if (other.summary != null)
|
||||
return false;
|
||||
} else if (!summary.equals(other.summary))
|
||||
return false;
|
||||
if (userFirstName == null) {
|
||||
if (other.userFirstName != null)
|
||||
return false;
|
||||
} else if (!userFirstName.equals(other.userFirstName))
|
||||
return false;
|
||||
if (userPhoto == null) {
|
||||
if (other.userPhoto != null)
|
||||
return false;
|
||||
} else if (!userPhoto.equals(other.userPhoto))
|
||||
return false;
|
||||
if (userSurname1 == null) {
|
||||
if (other.userSurname1 != null)
|
||||
return false;
|
||||
} else if (!userSurname1.equals(other.userSurname1))
|
||||
return false;
|
||||
if (userSurname2 == null) {
|
||||
if (other.userSurname2 != null)
|
||||
return false;
|
||||
} else if (!userSurname2.equals(other.userSurname2))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#equals(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (!super.equals(obj))
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
SWADNotification other = (SWADNotification) obj;
|
||||
if (content == null) {
|
||||
if (other.content != null)
|
||||
return false;
|
||||
} else if (!content.equals(other.content))
|
||||
return false;
|
||||
if (eventTime != other.eventTime)
|
||||
return false;
|
||||
if (eventType == null) {
|
||||
if (other.eventType != null)
|
||||
return false;
|
||||
} else if (!eventType.equals(other.eventType))
|
||||
return false;
|
||||
if (location == null) {
|
||||
if (other.location != null)
|
||||
return false;
|
||||
} else if (!location.equals(other.location))
|
||||
return false;
|
||||
if (status != other.status)
|
||||
return false;
|
||||
if (summary == null) {
|
||||
if (other.summary != null)
|
||||
return false;
|
||||
} else if (!summary.equals(other.summary))
|
||||
return false;
|
||||
if (userFirstName == null) {
|
||||
if (other.userFirstName != null)
|
||||
return false;
|
||||
} else if (!userFirstName.equals(other.userFirstName))
|
||||
return false;
|
||||
if (userPhoto == null) {
|
||||
if (other.userPhoto != null)
|
||||
return false;
|
||||
} else if (!userPhoto.equals(other.userPhoto))
|
||||
return false;
|
||||
if (userSurname1 == null) {
|
||||
if (other.userSurname1 != null)
|
||||
return false;
|
||||
} else if (!userSurname1.equals(other.userSurname1))
|
||||
return false;
|
||||
if (userSurname2 == null) {
|
||||
if (other.userSurname2 != null)
|
||||
return false;
|
||||
} else if (!userSurname2.equals(other.userSurname2))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
/* (non-Javadoc)
|
||||
* @see org.ksoap2.serialization.KvmSerializable#getProperty(int)
|
||||
*/
|
||||
public Object getProperty(int param) {
|
||||
|
@ -468,33 +502,36 @@ public class SWADNotification extends Model {
|
|||
object = this.getId();
|
||||
break;
|
||||
case 1:
|
||||
object = eventType;
|
||||
object = eventCode;
|
||||
break;
|
||||
case 2:
|
||||
object = eventTime;
|
||||
object = eventType;
|
||||
break;
|
||||
case 3:
|
||||
object = userSurname1;
|
||||
object = eventTime;
|
||||
break;
|
||||
case 4:
|
||||
object = userSurname2;
|
||||
object = userSurname1;
|
||||
break;
|
||||
case 5:
|
||||
object = userFirstName;
|
||||
object = userSurname2;
|
||||
break;
|
||||
case 6:
|
||||
object = userPhoto;
|
||||
object = userFirstName;
|
||||
break;
|
||||
case 7:
|
||||
object = location;
|
||||
object = userPhoto;
|
||||
break;
|
||||
case 8:
|
||||
object = summary;
|
||||
object = location;
|
||||
break;
|
||||
case 9:
|
||||
object = status;
|
||||
object = summary;
|
||||
break;
|
||||
case 10:
|
||||
object = status;
|
||||
break;
|
||||
case 11:
|
||||
object = content;
|
||||
break;
|
||||
}
|
||||
|
@ -506,7 +543,7 @@ public class SWADNotification extends Model {
|
|||
* @see org.ksoap2.serialization.KvmSerializable#getPropertyCount()
|
||||
*/
|
||||
public int getPropertyCount() {
|
||||
return 9;
|
||||
return 10;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
@ -519,42 +556,46 @@ public class SWADNotification extends Model {
|
|||
propertyInfo.name = "id";
|
||||
break;
|
||||
case 1:
|
||||
propertyInfo.type = PropertyInfo.LONG_CLASS;
|
||||
propertyInfo.name = "eventCode";
|
||||
break;
|
||||
case 2:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "eventType";
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
propertyInfo.type = PropertyInfo.LONG_CLASS;
|
||||
propertyInfo.name = "eventTime";
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "userSurname1";
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "userSurname2";
|
||||
break;
|
||||
case 5:
|
||||
case 6:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "userFirstName";
|
||||
break;
|
||||
case 6:
|
||||
case 7:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "userPhoto";
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "location";
|
||||
break;
|
||||
case 8:
|
||||
case 9:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "summary";
|
||||
break;
|
||||
case 9:
|
||||
case 10:
|
||||
propertyInfo.type = PropertyInfo.INTEGER_CLASS;
|
||||
propertyInfo.name = "status";
|
||||
break;
|
||||
case 10:
|
||||
case 11:
|
||||
propertyInfo.type = PropertyInfo.STRING_CLASS;
|
||||
propertyInfo.name = "content";
|
||||
break;
|
||||
|
@ -570,33 +611,36 @@ public class SWADNotification extends Model {
|
|||
this.setId((Long) obj);
|
||||
break;
|
||||
case 1:
|
||||
eventType = (String) obj;
|
||||
eventCode = (Long) obj;
|
||||
break;
|
||||
case 2:
|
||||
eventTime = (Long) obj;
|
||||
eventType = (String) obj;
|
||||
break;
|
||||
case 3:
|
||||
userSurname1 = (String) obj;
|
||||
eventTime = (Long) obj;
|
||||
break;
|
||||
case 4:
|
||||
userSurname2 = (String) obj;
|
||||
userSurname1 = (String) obj;
|
||||
break;
|
||||
case 5:
|
||||
userFirstName = (String) obj;
|
||||
userSurname2 = (String) obj;
|
||||
break;
|
||||
case 6:
|
||||
userPhoto = (String) obj;
|
||||
userFirstName = (String) obj;
|
||||
break;
|
||||
case 7:
|
||||
location = (String) obj;
|
||||
userPhoto = (String) obj;
|
||||
break;
|
||||
case 8:
|
||||
summary = (String) obj;
|
||||
location = (String) obj;
|
||||
break;
|
||||
case 9:
|
||||
status = (Integer) obj;
|
||||
summary = (String) obj;
|
||||
break;
|
||||
case 10:
|
||||
status = (Integer) obj;
|
||||
break;
|
||||
case 11:
|
||||
content = (String) obj;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public class Messages extends Module {
|
|||
/**
|
||||
* Message code
|
||||
*/
|
||||
private Long notificationCode;
|
||||
private Long eventCode;
|
||||
/**
|
||||
* Message's receivers
|
||||
*/
|
||||
|
@ -136,7 +136,7 @@ public class Messages extends Module {
|
|||
|
||||
b.setOnClickListener(positiveClickListener);
|
||||
|
||||
if (notificationCode != 0) {
|
||||
if (eventCode != 0) {
|
||||
subject = getIntent().getStringExtra("summary");
|
||||
|
||||
subjectText.setText("Re: " + subject);
|
||||
|
@ -161,7 +161,7 @@ public class Messages extends Module {
|
|||
protected void onStart() {
|
||||
super.onStart();
|
||||
|
||||
notificationCode = getIntent().getLongExtra("notificationCode", 0);
|
||||
eventCode = getIntent().getLongExtra("eventCode", 0);
|
||||
|
||||
messageDialog = DialogFactory.createPositiveNegativeDialog(this,
|
||||
R.layout.dialog_messages,
|
||||
|
@ -238,7 +238,7 @@ public class Messages extends Module {
|
|||
|
||||
createRequest();
|
||||
addParam("wsKey", Constants.getLoggedUser().getWsKey());
|
||||
addParam("messageCode", notificationCode.intValue());
|
||||
addParam("messageCode", eventCode.intValue());
|
||||
addParam("to", receivers);
|
||||
addParam("subject", subject);
|
||||
addParam("body", body);
|
||||
|
@ -310,7 +310,7 @@ public class Messages extends Module {
|
|||
*/
|
||||
@Override
|
||||
protected void onRestoreInstanceState(Bundle savedInstanceState) {
|
||||
notificationCode = savedInstanceState.getLong("notificationCode");
|
||||
eventCode = savedInstanceState.getLong("eventCode");
|
||||
receivers = savedInstanceState.getString("receivers");
|
||||
receiversNames = savedInstanceState.getString("receiversNames");
|
||||
subject = savedInstanceState.getString("subject");
|
||||
|
@ -328,7 +328,7 @@ public class Messages extends Module {
|
|||
protected void onSaveInstanceState(Bundle outState) {
|
||||
readData();
|
||||
|
||||
outState.putLong("notificationCode", notificationCode);
|
||||
outState.putLong("eventCode", eventCode);
|
||||
outState.putString("receivers", receivers);
|
||||
outState.putString("receiversNames", receiversNames);
|
||||
outState.putString("subject", subject);
|
||||
|
|
|
@ -40,7 +40,8 @@ import es.ugr.swad.swadroid.utils.Utils;
|
|||
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
|
||||
*/
|
||||
public class NotificationItem extends MenuActivity {
|
||||
private Long notificationCode;
|
||||
private Long notifCode;
|
||||
private Long eventCode;
|
||||
private String sender;
|
||||
private String userPhoto;
|
||||
private String course;
|
||||
|
@ -85,7 +86,8 @@ public class NotificationItem extends MenuActivity {
|
|||
replyButton.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
//notificationCode =
|
||||
notifCode = Long.valueOf(this.getIntent().getStringExtra("notifCode"));
|
||||
eventCode = Long.valueOf(this.getIntent().getStringExtra("eventCode"));
|
||||
sender = this.getIntent().getStringExtra("sender");
|
||||
userPhoto = this.getIntent().getStringExtra("userPhoto");
|
||||
course = this.getIntent().getStringExtra("course");
|
||||
|
@ -119,8 +121,7 @@ public class NotificationItem extends MenuActivity {
|
|||
webview.loadDataWithBaseURL("", content, "text/html", "utf-8", "");
|
||||
|
||||
//Set notification as seen locally
|
||||
notificationCode = Long.valueOf(this.getIntent().getStringExtra("notificationCode"));
|
||||
dbHelper.updateNotification(notificationCode, "seenLocal", Utils.parseBoolString(true));
|
||||
dbHelper.updateNotification(notifCode, "seenLocal", Utils.parseBoolString(true));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -129,9 +130,8 @@ public class NotificationItem extends MenuActivity {
|
|||
* @param v Actual view
|
||||
*/
|
||||
public void onReplyMessageClick(View v) {
|
||||
notificationCode = Long.valueOf(this.getIntent().getStringExtra("notificationCode"));
|
||||
Intent activity = new Intent(this, Messages.class);
|
||||
activity.putExtra("notificationCode", notificationCode);
|
||||
activity.putExtra("eventCode", eventCode);
|
||||
activity.putExtra("summary", summary);
|
||||
startActivity(activity);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ import es.ugr.swad.swadroid.R;
|
|||
import es.ugr.swad.swadroid.gui.AlertNotification;
|
||||
import es.ugr.swad.swadroid.model.SWADNotification;
|
||||
import es.ugr.swad.swadroid.modules.Module;
|
||||
import es.ugr.swad.swadroid.utils.Utils;
|
||||
|
||||
import org.ksoap2.serialization.SoapObject;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
@ -112,6 +113,7 @@ public class Notifications extends Module {
|
|||
private OnItemClickListener clickListener = new OnItemClickListener() {
|
||||
public void onItemClick(AdapterView<?> av, View v, int position, long rowId) {
|
||||
//adapter.toggleContentVisibility(position);
|
||||
TextView id = (TextView) v.findViewById(R.id.notifCode);
|
||||
TextView code = (TextView) v.findViewById(R.id.eventCode);
|
||||
TextView type = (TextView) v.findViewById(R.id.eventType);
|
||||
TextView userPhoto = (TextView) v.findViewById(R.id.eventUserPhoto);
|
||||
|
@ -123,7 +125,8 @@ public class Notifications extends Module {
|
|||
TextView time = (TextView) v.findViewById(R.id.eventTime);
|
||||
|
||||
Intent activity = new Intent(getApplicationContext(), NotificationItem.class);
|
||||
activity.putExtra("notificationCode", code.getText().toString());
|
||||
activity.putExtra("notifCode", id.getText().toString());
|
||||
activity.putExtra("eventCode", code.getText().toString());
|
||||
activity.putExtra("notificationType", type.getText().toString());
|
||||
activity.putExtra("userPhoto", userPhoto.getText().toString());
|
||||
activity.putExtra("sender", sender.getText().toString());
|
||||
|
@ -178,6 +181,7 @@ public class Notifications extends Module {
|
|||
|
||||
this.findViewById(R.id.courseSelectedText).setVisibility(View.GONE);
|
||||
this.findViewById(R.id.groupSpinner).setVisibility(View.GONE);
|
||||
this.findViewById(R.id.markAllRead).setVisibility(View.VISIBLE);
|
||||
|
||||
image = (ImageView) this.findViewById(R.id.moduleIcon);
|
||||
image.setBackgroundResource(R.drawable.bell);
|
||||
|
@ -246,6 +250,16 @@ public class Notifications extends Module {
|
|||
onError();
|
||||
}
|
||||
|
||||
/**
|
||||
* Launches an action when markAllRead button is pushed
|
||||
*
|
||||
* @param v Actual view
|
||||
*/
|
||||
public void onMarkAllReadClick(View v) {
|
||||
dbHelper.updateAllNotifications("seenLocal", Utils.parseBoolString(true));
|
||||
refreshScreen();
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see es.ugr.swad.swadroid.modules.Module#onResume()
|
||||
*/
|
||||
|
@ -299,7 +313,8 @@ public class Notifications extends Module {
|
|||
notifCount = soap.getPropertyCount();
|
||||
for (int i = 0; i < notifCount; i++) {
|
||||
SoapObject pii = (SoapObject) soap.getProperty(i);
|
||||
Long notificationCode = Long.valueOf(pii.getProperty("notificationCode").toString());
|
||||
Long notifCode = Long.valueOf(pii.getProperty("notifCode").toString());
|
||||
Long eventCode = Long.valueOf(pii.getProperty("notificationCode").toString());
|
||||
String eventType = pii.getProperty("eventType").toString();
|
||||
Long eventTime = Long.valueOf(pii.getProperty("eventTime").toString());
|
||||
String userSurname1 = pii.getProperty("userSurname1").toString();
|
||||
|
@ -312,7 +327,7 @@ public class Notifications extends Module {
|
|||
String content = pii.getProperty("content").toString();
|
||||
|
||||
//TODO Add "notification seen" info from SWAD
|
||||
SWADNotification n = new SWADNotification(notificationCode, eventType, eventTime, userSurname1, userSurname2, userFirstName, userPhoto, location, summary, status, content, false, false);
|
||||
SWADNotification n = new SWADNotification(notifCode, eventCode, eventType, eventTime, userSurname1, userSurname2, userFirstName, userPhoto, location, summary, status, content, false, false);
|
||||
dbHelper.insertNotification(n);
|
||||
|
||||
if(isDebuggable)
|
||||
|
|
|
@ -99,7 +99,8 @@ public class NotificationsCursorAdapter extends CursorAdapter {
|
|||
|
||||
@Override
|
||||
public void bindView(View view, Context context, Cursor cursor) {
|
||||
final Long notificationCode = cursor.getLong(cursor.getColumnIndex("id"));
|
||||
final Long notifCode = cursor.getLong(cursor.getColumnIndex("notifCode"));
|
||||
final Long eventCode = cursor.getLong(cursor.getColumnIndex("eventCode"));
|
||||
final String userPhoto = cursor.getString(cursor.getColumnIndex("userPhoto"));
|
||||
long unixTime;
|
||||
String type = "";
|
||||
|
@ -123,7 +124,8 @@ public class NotificationsCursorAdapter extends CursorAdapter {
|
|||
}
|
||||
|
||||
view.setScrollContainer(false);
|
||||
TextView eventCode = (TextView) view.findViewById(R.id.eventCode);
|
||||
TextView notifCodeHided = (TextView) view.findViewById(R.id.notifCode);
|
||||
TextView eventCodeHided = (TextView) view.findViewById(R.id.eventCode);
|
||||
TextView eventUserPhoto = (TextView) view.findViewById(R.id.eventUserPhoto);
|
||||
TextView eventType = (TextView) view.findViewById(R.id.eventType);
|
||||
TextView eventDate = (TextView) view.findViewById(R.id.eventDate);
|
||||
|
@ -146,7 +148,8 @@ public class NotificationsCursorAdapter extends CursorAdapter {
|
|||
};*/
|
||||
|
||||
if (eventType != null) {
|
||||
eventCode.setText(notificationCode.toString());
|
||||
notifCodeHided.setText(notifCode.toString());
|
||||
eventCodeHided.setText(eventCode.toString());
|
||||
eventUserPhoto.setText(crypto.decrypt(userPhoto));
|
||||
type = crypto.decrypt(cursor.getString(cursor.getColumnIndex("eventType")));
|
||||
//messageReplyButton.setVisibility(View.GONE);
|
||||
|
|
|
@ -339,8 +339,9 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
SoapObject soap = (SoapObject) res.get(1);
|
||||
notifCount = soap.getPropertyCount();
|
||||
for (int i = 0; i < notifCount; i++) {
|
||||
SoapObject pii = (SoapObject) soap.getProperty(i);
|
||||
Long notificationCode = Long.valueOf(pii.getProperty("notificationCode").toString());
|
||||
SoapObject pii = (SoapObject) soap.getProperty(i);
|
||||
Long notifCode = Long.valueOf(pii.getProperty("notifCode").toString());
|
||||
Long eventCode = Long.valueOf(pii.getProperty("notificationCode").toString());
|
||||
String eventType = pii.getProperty("eventType").toString();
|
||||
Long eventTime = Long.valueOf(pii.getProperty("eventTime").toString());
|
||||
String userSurname1 = pii.getProperty("userSurname1").toString();
|
||||
|
@ -353,7 +354,7 @@ public class NotificationsSyncAdapterService extends Service {
|
|||
String content = pii.getProperty("content").toString();
|
||||
|
||||
//TODO Add "notification seen" info from SWAD
|
||||
SWADNotification n = new SWADNotification(notificationCode, eventType, eventTime, userSurname1, userSurname2, userFirstName, userPhoto, location, summary, status, content, false, false);
|
||||
SWADNotification n = new SWADNotification(notifCode, eventCode, eventType, eventTime, userSurname1, userSurname2, userFirstName, userPhoto, location, summary, status, content, false, false);
|
||||
dbHelper.insertNotification(n);
|
||||
|
||||
//Log.d(TAG, n.toString());
|
||||
|
|
Loading…
Reference in New Issue
Block a user