mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
Handle events with no speakers (Issue reported by B. Leseul)
This commit is contained in:
parent
d2decf9d22
commit
2e5e417742
7 changed files with 79 additions and 42 deletions
|
@ -27,7 +27,6 @@
|
||||||
android:id="@+id/persons"
|
android:id="@+id/persons"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="10dp"
|
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:textIsSelectable="true"
|
android:textIsSelectable="true"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
|
@ -37,6 +36,7 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="16dp"
|
android:layout_marginBottom="16dp"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
android:background="@color/fosdem_purple"
|
android:background="@color/fosdem_purple"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="6dp" >
|
android:padding="6dp" >
|
||||||
|
|
|
@ -8,6 +8,7 @@ import android.database.Cursor;
|
||||||
import android.support.v4.widget.CursorAdapter;
|
import android.support.v4.widget.CursorAdapter;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.style.AbsoluteSizeSpan;
|
import android.text.style.AbsoluteSizeSpan;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -63,7 +64,13 @@ public class EventsAdapter extends CursorAdapter {
|
||||||
holder.event = event;
|
holder.event = event;
|
||||||
|
|
||||||
String eventTitle = event.getTitle();
|
String eventTitle = event.getTitle();
|
||||||
SpannableString spannableString = new SpannableString(String.format("%1$s\n%2$s", eventTitle, event.getPersonsSummary()));
|
SpannableString spannableString;
|
||||||
|
String personsSummary = event.getPersonsSummary();
|
||||||
|
if (TextUtils.isEmpty(personsSummary)) {
|
||||||
|
spannableString = new SpannableString(eventTitle);
|
||||||
|
} else {
|
||||||
|
spannableString = new SpannableString(String.format("%1$s\n%2$s", eventTitle, event.getPersonsSummary()));
|
||||||
|
}
|
||||||
spannableString.setSpan(holder.titleSizeSpan, 0, eventTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
spannableString.setSpan(holder.titleSizeSpan, 0, eventTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
holder.title.setText(spannableString);
|
holder.title.setText(spannableString);
|
||||||
|
|
||||||
|
|
|
@ -398,10 +398,10 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid"
|
+ " p ON ep.person_id = p.rowid"
|
||||||
+ " WHERE e.id = ?" + " GROUP BY e.id", selectionArgs);
|
+ " WHERE e.id = ?" + " GROUP BY e.id", selectionArgs);
|
||||||
|
@ -441,10 +441,10 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid"
|
+ " p ON ep.person_id = p.rowid"
|
||||||
+ " WHERE e.day_index = ? AND t.name = ? AND t.type = ?" + " GROUP BY e.id" + " ORDER BY e.start_time ASC", selectionArgs);
|
+ " WHERE e.day_index = ? AND t.name = ? AND t.type = ?" + " GROUP BY e.id" + " ORDER BY e.start_time ASC", selectionArgs);
|
||||||
|
@ -508,16 +508,15 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid"
|
+ " p ON ep.person_id = p.rowid"
|
||||||
+ " WHERE "
|
+ " WHERE "
|
||||||
+ whereCondition.toString()
|
+ whereCondition.toString()
|
||||||
+ " GROUP BY e.id"
|
+ " GROUP BY e.id" + " ORDER BY e.start_time " + ascendingString, selectionArgs.toArray(new String[selectionArgs.size()]));
|
||||||
+ " ORDER BY e.start_time " + ascendingString, selectionArgs.toArray(new String[selectionArgs.size()]));
|
|
||||||
cursor.setNotificationUri(context.getContentResolver(), URI_SCHEDULE);
|
cursor.setNotificationUri(context.getContentResolver(), URI_SCHEDULE);
|
||||||
return cursor;
|
return cursor;
|
||||||
}
|
}
|
||||||
|
@ -546,15 +545,18 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid"
|
+ " p ON ep.person_id = p.rowid"
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep2 ON e.id = ep2.event_id" + " WHERE ep2.person_id = ?" + " GROUP BY e.id" + " ORDER BY e.start_time ASC", selectionArgs);
|
+ " ep2 ON e.id = ep2.event_id"
|
||||||
|
+ " WHERE ep2.person_id = ?"
|
||||||
|
+ " GROUP BY e.id"
|
||||||
|
+ " ORDER BY e.start_time ASC", selectionArgs);
|
||||||
cursor.setNotificationUri(context.getContentResolver(), URI_SCHEDULE);
|
cursor.setNotificationUri(context.getContentResolver(), URI_SCHEDULE);
|
||||||
return cursor;
|
return cursor;
|
||||||
}
|
}
|
||||||
|
@ -596,10 +598,10 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid" + whereCondition + " GROUP BY e.id" + " ORDER BY e.start_time ASC", selectionArgs);
|
+ " p ON ep.person_id = p.rowid" + whereCondition + " GROUP BY e.id" + " ORDER BY e.start_time ASC", selectionArgs);
|
||||||
cursor.setNotificationUri(context.getContentResolver(), URI_BOOKMARKS);
|
cursor.setNotificationUri(context.getContentResolver(), URI_BOOKMARKS);
|
||||||
|
@ -632,10 +634,10 @@ public class DatabaseManager {
|
||||||
+ " JOIN "
|
+ " JOIN "
|
||||||
+ DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id"
|
+ " t ON e.track_id = t.id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_PERSONS_TABLE_NAME
|
||||||
+ " ep ON e.id = ep.event_id"
|
+ " ep ON e.id = ep.event_id"
|
||||||
+ " JOIN "
|
+ " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME
|
+ DatabaseHelper.PERSONS_TABLE_NAME
|
||||||
+ " p ON ep.person_id = p.rowid"
|
+ " p ON ep.person_id = p.rowid"
|
||||||
+ " WHERE e.id IN ( "
|
+ " WHERE e.id IN ( "
|
||||||
|
@ -677,10 +679,10 @@ public class DatabaseManager {
|
||||||
// Query is similar to getSearchResults but returns different columns, does not join the Day table and limits the result set to 5 entries.
|
// Query is similar to getSearchResults but returns different columns, does not join the Day table and limits the result set to 5 entries.
|
||||||
Cursor cursor = helper.getReadableDatabase().rawQuery(
|
Cursor cursor = helper.getReadableDatabase().rawQuery(
|
||||||
"SELECT e.id AS " + BaseColumns._ID + ", et.title AS " + SearchManager.SUGGEST_COLUMN_TEXT_1
|
"SELECT e.id AS " + BaseColumns._ID + ", et.title AS " + SearchManager.SUGGEST_COLUMN_TEXT_1
|
||||||
+ ", GROUP_CONCAT(p.name, ', ') || ' - ' || t.name AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + ", e.id AS "
|
+ ", IFNULL(GROUP_CONCAT(p.name, ', '), '') || ' - ' || t.name AS " + SearchManager.SUGGEST_COLUMN_TEXT_2 + ", e.id AS "
|
||||||
+ SearchManager.SUGGEST_COLUMN_INTENT_DATA + " FROM " + DatabaseHelper.EVENTS_TABLE_NAME + " e" + " JOIN "
|
+ SearchManager.SUGGEST_COLUMN_INTENT_DATA + " FROM " + DatabaseHelper.EVENTS_TABLE_NAME + " e" + " JOIN "
|
||||||
+ DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " et ON e.id = et.rowid" + " JOIN " + DatabaseHelper.TRACKS_TABLE_NAME
|
+ DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " et ON e.id = et.rowid" + " JOIN " + DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
+ " t ON e.track_id = t.id" + " JOIN " + DatabaseHelper.EVENTS_PERSONS_TABLE_NAME + " ep ON e.id = ep.event_id" + " JOIN "
|
+ " t ON e.track_id = t.id" + " LEFT JOIN " + DatabaseHelper.EVENTS_PERSONS_TABLE_NAME + " ep ON e.id = ep.event_id" + " LEFT JOIN "
|
||||||
+ DatabaseHelper.PERSONS_TABLE_NAME + " p ON ep.person_id = p.rowid" + " WHERE e.id IN ( " + "SELECT rowid" + " FROM "
|
+ DatabaseHelper.PERSONS_TABLE_NAME + " p ON ep.person_id = p.rowid" + " WHERE e.id IN ( " + "SELECT rowid" + " FROM "
|
||||||
+ DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " WHERE " + DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " MATCH ?" + " UNION "
|
+ DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " WHERE " + DatabaseHelper.EVENTS_TITLES_TABLE_NAME + " MATCH ?" + " UNION "
|
||||||
+ "SELECT e.id" + " FROM " + DatabaseHelper.EVENTS_TABLE_NAME + " e" + " JOIN " + DatabaseHelper.TRACKS_TABLE_NAME
|
+ "SELECT e.id" + " FROM " + DatabaseHelper.EVENTS_TABLE_NAME + " e" + " JOIN " + DatabaseHelper.TRACKS_TABLE_NAME
|
||||||
|
|
|
@ -127,8 +127,14 @@ public class EventDetailsFragment extends Fragment {
|
||||||
|
|
||||||
// Set the persons summary text first; replace it with the clickable text when the loader completes
|
// Set the persons summary text first; replace it with the clickable text when the loader completes
|
||||||
holder.personsTextView = (TextView) view.findViewById(R.id.persons);
|
holder.personsTextView = (TextView) view.findViewById(R.id.persons);
|
||||||
holder.personsTextView.setText(event.getPersonsSummary());
|
String personsSummary = event.getPersonsSummary();
|
||||||
|
if (TextUtils.isEmpty(personsSummary)) {
|
||||||
|
holder.personsTextView.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
holder.personsTextView.setText(personsSummary);
|
||||||
holder.personsTextView.setMovementMethod(linkMovementMethod);
|
holder.personsTextView.setMovementMethod(linkMovementMethod);
|
||||||
|
holder.personsTextView.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
((TextView) view.findViewById(R.id.track)).setText(event.getTrack().getName());
|
((TextView) view.findViewById(R.id.track)).setText(event.getTrack().getName());
|
||||||
Date startTime = event.getStartTime();
|
Date startTime = event.getStartTime();
|
||||||
|
@ -241,9 +247,11 @@ public class EventDetailsFragment extends Fragment {
|
||||||
}
|
}
|
||||||
// Strip HTML
|
// Strip HTML
|
||||||
description = StringUtils.trimEnd(Html.fromHtml(description)).toString();
|
description = StringUtils.trimEnd(Html.fromHtml(description)).toString();
|
||||||
// Add speaker info
|
// Add speaker info if available
|
||||||
|
if (personsCount > 0) {
|
||||||
description = String.format("%1$s: %2$s\n\n%3$s", getResources().getQuantityString(R.plurals.speakers, personsCount), event.getPersonsSummary(),
|
description = String.format("%1$s: %2$s\n\n%3$s", getResources().getQuantityString(R.plurals.speakers, personsCount), event.getPersonsSummary(),
|
||||||
description);
|
description);
|
||||||
|
}
|
||||||
intent.putExtra(CalendarContract.Events.DESCRIPTION, description);
|
intent.putExtra(CalendarContract.Events.DESCRIPTION, description);
|
||||||
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, event.getStartTime().getTime());
|
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, event.getStartTime().getTime());
|
||||||
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, event.getEndTime().getTime());
|
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, event.getEndTime().getTime());
|
||||||
|
@ -302,6 +310,7 @@ public class EventDetailsFragment extends Fragment {
|
||||||
// 1. Persons
|
// 1. Persons
|
||||||
if (data.persons != null) {
|
if (data.persons != null) {
|
||||||
personsCount = data.persons.size();
|
personsCount = data.persons.size();
|
||||||
|
if (personsCount > 0) {
|
||||||
// Build a list of clickable persons
|
// Build a list of clickable persons
|
||||||
SpannableStringBuilder sb = new SpannableStringBuilder();
|
SpannableStringBuilder sb = new SpannableStringBuilder();
|
||||||
int length = 0;
|
int length = 0;
|
||||||
|
@ -315,6 +324,8 @@ public class EventDetailsFragment extends Fragment {
|
||||||
sb.setSpan(new PersonClickableSpan(person), length - name.length(), length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
sb.setSpan(new PersonClickableSpan(person), length - name.length(), length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
}
|
}
|
||||||
holder.personsTextView.setText(sb);
|
holder.personsTextView.setText(sb);
|
||||||
|
holder.personsTextView.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Links
|
// 2. Links
|
||||||
|
|
|
@ -13,6 +13,7 @@ import android.support.v4.content.Loader;
|
||||||
import android.support.v4.widget.CursorAdapter;
|
import android.support.v4.widget.CursorAdapter;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.text.style.AbsoluteSizeSpan;
|
import android.text.style.AbsoluteSizeSpan;
|
||||||
import android.text.style.StyleSpan;
|
import android.text.style.StyleSpan;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -189,9 +190,14 @@ public class TrackScheduleListFragment extends ListFragment implements LoaderCal
|
||||||
holder.event = event;
|
holder.event = event;
|
||||||
holder.time.setText(TIME_DATE_FORMAT.format(event.getStartTime()));
|
holder.time.setText(TIME_DATE_FORMAT.format(event.getStartTime()));
|
||||||
|
|
||||||
|
SpannableString spannableString;
|
||||||
String eventTitle = event.getTitle();
|
String eventTitle = event.getTitle();
|
||||||
String personsSummary = event.getPersonsSummary();
|
String personsSummary = event.getPersonsSummary();
|
||||||
SpannableString spannableString = new SpannableString(String.format("%1$s\n%2$s\n%3$s", eventTitle, personsSummary, event.getRoomName()));
|
if (TextUtils.isEmpty(personsSummary)) {
|
||||||
|
spannableString = new SpannableString(String.format("%1$s\n%2$s", eventTitle, event.getRoomName()));
|
||||||
|
} else {
|
||||||
|
spannableString = new SpannableString(String.format("%1$s\n%2$s\n%3$s", eventTitle, personsSummary, event.getRoomName()));
|
||||||
|
}
|
||||||
spannableString.setSpan(holder.titleSizeSpan, 0, eventTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
spannableString.setSpan(holder.titleSizeSpan, 0, eventTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
spannableString.setSpan(holder.boldStyleSpan, 0, eventTitle.length() + personsSummary.length() + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
spannableString.setSpan(holder.boldStyleSpan, 0, eventTitle.length() + personsSummary.length() + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ public class Event implements Parcelable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRoomName() {
|
public String getRoomName() {
|
||||||
return roomName;
|
return (roomName == null) ? "" : roomName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRoomName(String roomName) {
|
public void setRoomName(String roomName) {
|
||||||
|
@ -133,10 +133,13 @@ public class Event implements Parcelable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPersonsSummary() {
|
public String getPersonsSummary() {
|
||||||
if ((personsSummary == null) && (persons != null)) {
|
if (personsSummary != null) {
|
||||||
|
return personsSummary;
|
||||||
|
}
|
||||||
|
if (persons != null) {
|
||||||
return TextUtils.join(", ", persons);
|
return TextUtils.join(", ", persons);
|
||||||
}
|
}
|
||||||
return personsSummary;
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPersonsSummary(String personsSummary) {
|
public void setPersonsSummary(String personsSummary) {
|
||||||
|
|
|
@ -15,6 +15,7 @@ import android.net.Uri;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.app.TaskStackBuilder;
|
import android.support.v4.app.TaskStackBuilder;
|
||||||
|
import android.text.TextUtils;
|
||||||
import be.digitalia.fosdem.R;
|
import be.digitalia.fosdem.R;
|
||||||
import be.digitalia.fosdem.activities.EventDetailsActivity;
|
import be.digitalia.fosdem.activities.EventDetailsActivity;
|
||||||
import be.digitalia.fosdem.activities.MainActivity;
|
import be.digitalia.fosdem.activities.MainActivity;
|
||||||
|
@ -139,10 +140,17 @@ public class AlarmIntentService extends IntentService {
|
||||||
defaultFlags |= Notification.DEFAULT_LIGHTS;
|
defaultFlags |= Notification.DEFAULT_LIGHTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String personsSummary = event.getPersonsSummary();
|
||||||
|
String contentText;
|
||||||
|
if (TextUtils.isEmpty(personsSummary)) {
|
||||||
|
contentText = event.getTrack().getName();
|
||||||
|
} else {
|
||||||
|
contentText = String.format("%1$s - %2$s", event.getTrack().getName(), personsSummary);
|
||||||
|
}
|
||||||
|
|
||||||
Notification notification = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_launcher).setWhen(event.getStartTime().getTime())
|
Notification notification = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.ic_launcher).setWhen(event.getStartTime().getTime())
|
||||||
.setContentTitle(event.getTitle()).setContentText(String.format("%1$s - %2$s", event.getTrack().getName(), event.getPersonsSummary()))
|
.setContentTitle(event.getTitle()).setContentText(contentText).setContentInfo(event.getRoomName()).setContentIntent(eventPendingIntent)
|
||||||
.setContentInfo(event.getRoomName()).setContentIntent(eventPendingIntent).setAutoCancel(true).setDefaults(defaultFlags)
|
.setAutoCancel(true).setDefaults(defaultFlags).setPriority(NotificationCompat.PRIORITY_DEFAULT).build();
|
||||||
.setPriority(NotificationCompat.PRIORITY_DEFAULT).build();
|
|
||||||
notificationManager.notify(eventId, notification);
|
notificationManager.notify(eventId, notification);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue