Skip to content
This repository has been archived by the owner on Jan 11, 2021. It is now read-only.

Commit

Permalink
Merge pull request #91 from alexstyl/develop
Browse files Browse the repository at this point in the history
Release 7.1
  • Loading branch information
alexstyl authored Mar 8, 2017
2 parents f153165 + 5fff710 commit 4226ec1
Show file tree
Hide file tree
Showing 32 changed files with 516 additions and 362 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ task clean(type: Delete) {
ext {
androidCompileSdkVersion = 24
androidBuildToolsVersion = '24.0.2'
androidVersionCode = 65
androidVersionName = '7.0'
androidVersionCode = 67
androidVersionName = '7.1'
}
12 changes: 2 additions & 10 deletions mobile/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,17 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />

<uses-feature
android:name="android.hardware.camera"
android:required="false" />


<application
android:name="com.alexstyl.specialdates.MementoApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/localised_app_name">
<!-- Activities -->

<activity
android:name="com.alexstyl.specialdates.ui.activity.MainActivity"
android:exported="true"
Expand Down Expand Up @@ -152,7 +146,6 @@
android:name="com.alexstyl.specialdates.wear.WearSyncService"
android:exported="false" />

<!-- Receivers -->
<receiver
android:name="com.alexstyl.specialdates.receiver.EventReceiver"
android:exported="false">
Expand All @@ -170,7 +163,6 @@
</intent-filter>
</receiver>


<receiver
android:name="com.alexstyl.specialdates.widgetprovider.TodayWidgetProvider"
android:exported="false"
Expand All @@ -185,7 +177,7 @@
</receiver>

<provider
android:name=".events.peopleevents.PeopleEventsContentProvider"
android:name=".events.peopleevents.StaticEventsContentProvider"
android:authorities="com.alexstyl.specialdates.peopleeventsprovider"
android:exported="false"
android:grantUriPermissions="true"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public List<AddEventContactEventViewModel> loadInBackground() {
private List<AddEventContactEventViewModel> createModelsFor(Contact contact) {
List<AddEventContactEventViewModel> existingViewModels;
List<ContactEvent> contactEvents = new ArrayList<>();
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getCelebrationDateFor(TimePeriod.aYearFromNow());
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getContactEventsFor(TimePeriod.aYearFromNow());
List<EventType> existingTypes = new ArrayList<>();
for (ContactEvent contactEvent : contactEventsOnDate) {
if (contactEvent.getContact().getContactID() == contact.getContactID() && isEditable(contactEvent)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ private int rawContactID(Contact contact) {

private List<ContactEvent> getAllDeviceEventsFor(Contact contact) {
List<ContactEvent> contactEvents = new ArrayList<>();
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getCelebrationDateFor(TimePeriod.aYearFromNow());
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getContactEventsFor(TimePeriod.aYearFromNow());
for (ContactEvent contactEvent : contactEventsOnDate) {
Contact dbContact = contactEvent.getContact();
if (dbContact.getContactID() == contact.getContactID() && contactEvent.getType() != StandardEventType.NAMEDAY) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ private AndroidContactsProvider(ContactCache<Contact> cache, DeviceContactFactor
this.deviceContactsQuery = deviceContactsQuery;
}

@Override
public Contact getOrCreateContact(long contactID) throws ContactNotFoundException {
Contact deviceContact = cache.getContact(contactID);
if (deviceContact == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@

public interface ContactsProvider {
List<Contact> fetchAllDeviceContacts();

Contact getOrCreateContact(long contactId) throws ContactNotFoundException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ protected void onHandleIntent(Intent intent) {
Date today = getDayDateToDisplay();

if (hasContactPermission()) {
List<ContactEvent> celebrationDate = provider.getCelebrationDateFor(TimePeriod.between(today, today));
List<ContactEvent> celebrationDate = provider.getContactEventsFor(TimePeriod.between(today, today));
if (containsAnyContactEvents(celebrationDate)) {
notifier.forDailyReminder(today, celebrationDate);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,5 @@ public int hashCode() {
public String toString() {
return DateDisplayStringCreator.INSTANCE.stringOf(this);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ public String stringOf(Date date) {
return str.toString();
}

public String stringOfNoYear(Date date) {
StringBuilder str = new StringBuilder();
addMonth(date, str);
str.append(SEPARATOR);
addDayOfMonth(date, str);
return str.toString();
}

private void addYear(Date date, StringBuilder str) {
if (date.hasYear()) {
str.append(date.getYear());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import com.alexstyl.specialdates.events.bankholidays.BankHoliday;
import com.alexstyl.specialdates.ui.MementoCardView;

class BankHolidayCardView extends MementoCardView {
public class BankCardView extends MementoCardView {

private final TextView text;

public BankHolidayCardView(Context context, AttributeSet attrs) {
public BankCardView(Context context, AttributeSet attrs) {
super(context, attrs);

inflate(context, R.layout.merge_bankholidaycardview, this);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package com.alexstyl.specialdates.datedetails;

import android.support.v7.widget.RecyclerView;
import android.view.View;

import com.alexstyl.specialdates.events.bankholidays.BankHoliday;

class BankViewHolder extends RecyclerView.ViewHolder {

private final BankCardView bankCardView;

BankViewHolder(View itemView) {
super(itemView);
bankCardView = (BankCardView) itemView;
}

void bind(BankHoliday holiday) {
bankCardView.display(holiday);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType
}
if (viewType == VIEW_TYPE_BANKHOLIDAY) {
View view = layoutInflater.inflate(R.layout.card_bankholiday, parent, false);
return new BankHolidayCardViewHolder(view);
return new BankViewHolder(view);
}
throw new DeveloperError("Invalid viewType " + viewType);
}
Expand All @@ -190,7 +190,7 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
ContactEvent event = getEvent(position);
((DateDetailsViewHolder) holder).bind(event, dateToDisplay, contactCardListener);
} else if (type == VIEW_TYPE_BANKHOLIDAY) {
((BankHolidayCardViewHolder) holder).bind(bankholiday.get());
((BankViewHolder) holder).bind(bankholiday.get());
} else {
throw new DeveloperError("Invalid type : " + type);
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@
import android.database.sqlite.SQLiteOpenHelper;

import com.alexstyl.specialdates.events.database.DatabaseContract.AnnualEventsContract;
import com.alexstyl.specialdates.events.peopleevents.EventPreferences;

public class EventSQLiteOpenHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "events.db";
private static final int INITIAL_CODE = 2;
private static final int DATABASE_VERSION = INITIAL_CODE;
private static final int DATABASE_VERSION = 3;
private final EventPreferences eventPreferences;

public EventSQLiteOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
eventPreferences = new EventPreferences(context.getApplicationContext());
}

private static final String TEXT_TYPE = " TEXT";
Expand Down Expand Up @@ -50,5 +52,6 @@ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ANNUAL_EVENTS);
eventPreferences.reset();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
import java.util.Collections;
import java.util.List;

public class ContactEvents {
public class ContactEventsOnADate {

private final Date date;
private final List<ContactEvent> contactEventList;
private final List<Contact> contacts;

public static ContactEvents createFrom(Date date, List<ContactEvent> contactEvent) {
public static ContactEventsOnADate createFrom(Date date, List<ContactEvent> contactEvent) {
List<Contact> contacts = getContactsIn(contactEvent);
return new ContactEvents(date, contactEvent, contacts);
return new ContactEventsOnADate(date, contactEvent, contacts);
}

private static List<Contact> getContactsIn(List<ContactEvent> contactEvent) {
Expand All @@ -30,7 +30,7 @@ private static List<Contact> getContactsIn(List<ContactEvent> contactEvent) {
return Collections.unmodifiableList(contacts);
}

private ContactEvents(Date date, List<ContactEvent> contactEventList, List<Contact> contacts) {
private ContactEventsOnADate(Date date, List<ContactEvent> contactEventList, List<Contact> contacts) {
this.date = date;
this.contactEventList = contactEventList;
this.contacts = contacts;
Expand All @@ -49,10 +49,10 @@ public Date getDate() {
}

public List<Contact> getContacts() {
return Collections.unmodifiableList(contacts);
return contacts;
}

public int getContactCount() {
return contacts.size();
public List<ContactEvent> getEvents() {
return contactEventList;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ public EventPreferences(Context context) {
preferences = EasyPreferences.createForPrivatePreferences(context, R.string.pref_events);
}

public boolean hasBeenInitialised() {
boolean hasBeenInitialised() {
return preferences.getBoolean(R.string.key_events_are_initialised, false);
}

public void markEventsAsInitialised() {
void markEventsAsInitialised() {
preferences.setBoolean(R.string.key_events_are_initialised, true);
}

public void reset() {
preferences.setBoolean(R.string.key_events_are_initialised, false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,34 @@
import com.alexstyl.specialdates.DisplayName;
import com.alexstyl.specialdates.Optional;
import com.alexstyl.specialdates.contact.Contact;
import com.alexstyl.specialdates.contact.AndroidContactsProvider;
import com.alexstyl.specialdates.contact.ContactsProvider;
import com.alexstyl.specialdates.date.ContactEvent;
import com.alexstyl.specialdates.date.Date;
import com.alexstyl.specialdates.date.TimePeriod;
import com.alexstyl.specialdates.events.namedays.NameCelebrations;
import com.alexstyl.specialdates.events.namedays.NamedayLocale;
import com.alexstyl.specialdates.events.namedays.NamedayPreferences;
import com.alexstyl.specialdates.events.namedays.calendar.NamedayCalendar;
import com.alexstyl.specialdates.events.namedays.calendar.resource.NamedayCalendarProvider;
import com.alexstyl.specialdates.date.TimePeriod;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;

public final class PeopleNamedaysCalculator {
public class PeopleNamedaysCalculator {

private static final Optional<Long> NO_DEVICE_EVENT_ID = Optional.absent();

private final NamedayPreferences namedayPreferences;
private final NamedayCalendarProvider namedayCalendarProvider;
private final AndroidContactsProvider contactsProvider;
private final ContactsProvider contactsProvider;

public PeopleNamedaysCalculator(NamedayPreferences namedayPreferences,
NamedayCalendarProvider namedayCalendarProvider,
AndroidContactsProvider contactsProvider) {
public PeopleNamedaysCalculator(
NamedayPreferences namedayPreferences,
NamedayCalendarProvider namedayCalendarProvider,
ContactsProvider contactsProvider
) {
this.namedayPreferences = namedayPreferences;
this.namedayCalendarProvider = namedayCalendarProvider;
this.contactsProvider = contactsProvider;
Expand Down Expand Up @@ -59,6 +63,10 @@ public List<ContactEvent> loadDeviceStaticNamedays() {
return namedayEvents;
}

public List<ContactEvent> loadSpecialNamedaysOn(Date date) {
return loadSpecialNamedaysBetween(TimePeriod.between(date, date));
}

public List<ContactEvent> loadSpecialNamedaysBetween(TimePeriod timeDuration) {
List<ContactEvent> namedayEvents = new ArrayList<>();
for (Contact contact : contactsProvider.fetchAllDeviceContacts()) {
Expand All @@ -78,7 +86,7 @@ public List<ContactEvent> loadSpecialNamedaysBetween(TimePeriod timeDuration) {
}
}
}
return namedayEvents;
return Collections.unmodifiableList(namedayEvents);
}

private NameCelebrations getNamedaysOf(String given) {
Expand All @@ -91,7 +99,7 @@ private NameCelebrations getSpecialNamedaysOf(String firstName) {
return namedayCalendar.getSpecialNamedaysFor(firstName);
}

public NamedayCalendar getNamedayCalendar() {
private NamedayCalendar getNamedayCalendar() {
NamedayLocale locale = namedayPreferences.getSelectedLanguage();
return namedayCalendarProvider.loadNamedayCalendarForLocale(locale, Date.CURRENT_YEAR);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import com.alexstyl.specialdates.util.DateParser;
import com.novoda.notils.exception.DeveloperError;

public class PeopleEventsContentProvider extends ContentProvider {
public class StaticEventsContentProvider extends ContentProvider {

private static final int CODE_PEOPLE_EVENTS = 10;
private EventSQLiteOpenHelper eventSQLHelper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ List<ContactWithEvents> searchForContacts(String searchQuery, int counter) {
searchQuery = searchQuery.trim();
HashMapList<Contact, ContactEvent> events = new HashMapList<>();
TimePeriod between = TimePeriod.aYearFromNow();
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getCelebrationDateFor(between);
List<ContactEvent> contactEventsOnDate = peopleEventsProvider.getContactEventsFor(between);
int size = 0;
for (ContactEvent contactEvent : contactEventsOnDate) {
Contact contact = contactEvent.getContact();
Expand Down
Loading

0 comments on commit 4226ec1

Please sign in to comment.