forked from jens/Automation
Calendar trigger
This commit is contained in:
@@ -33,7 +33,7 @@ import java.util.List;
|
||||
|
||||
public class ActivityManageTriggerCalendar extends Activity
|
||||
{
|
||||
CheckBox chkCalendarEventActive, chkCalendarAvailabilityBusy, chkCalendarAvailabilityFree, chkCalendarAvailabilityTentative, chkCalendarAvailabilityOutOfOffice, chkCalendarAvailabilityWorkingElsewhere, chkCalendarAllDayEvent, calendarEvaluateAllDayEvent;
|
||||
CheckBox chkCalendarEventActive, chkCalendarAvailabilityBusy, chkCalendarAvailabilityFree, chkCalendarAvailabilityTentative, chkCalendarAvailabilityOutOfOffice, chkCalendarAvailabilityWorkingElsewhere, chkCalendarAllDayEvent, chkCalendarEvaluateAllDayEvent, chkCalendarEvaluateReoccurring, chkCalendarReoccurring;
|
||||
Spinner spinnerCalendarTitleDirection, spinnerCalendarLocationDirection, spinnerCalendarDescriptionDirection;
|
||||
EditText etCalendarTitle, etCalendarLocation, etCalendarDescription;
|
||||
LinearLayout llCalendarSelection;
|
||||
@@ -53,7 +53,7 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
Miscellaneous.setDisplayLanguage(this);
|
||||
setContentView(R.layout.activity_manage_trigger_calendar);
|
||||
|
||||
//TODO: Hint text about multiple rule execution
|
||||
//TODO: Hint text about multiple rule execution and reoccurring events always being included in the query
|
||||
|
||||
chkCalendarEventActive = (CheckBox) findViewById(R.id.chkCalendarEventActive);
|
||||
spinnerCalendarTitleDirection = (Spinner)findViewById(R.id.spinnerCalendarTitleDirection);
|
||||
@@ -65,7 +65,9 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
chkCalendarAvailabilityTentative = (CheckBox)findViewById(R.id.chkCalendarAvailabilityTentative);
|
||||
chkCalendarAvailabilityOutOfOffice = (CheckBox)findViewById(R.id.chkCalendarAvailabilityOutOfOffice);
|
||||
chkCalendarAvailabilityWorkingElsewhere = (CheckBox)findViewById(R.id.chkCalendarAvailabilityWorkingElsewhere);
|
||||
calendarEvaluateAllDayEvent = (CheckBox)findViewById(R.id.calendarEvaluateAllDayEvent);
|
||||
chkCalendarEvaluateAllDayEvent = (CheckBox)findViewById(R.id.chkCalendarEvaluateAllDayEvent);
|
||||
chkCalendarEvaluateReoccurring = (CheckBox)findViewById(R.id.chkCalendarEvaluateReoccurring);
|
||||
chkCalendarReoccurring = (CheckBox)findViewById(R.id.chkCalendarReoccurring);
|
||||
|
||||
tvMissingCalendarHint = (TextView) findViewById(R.id.tvMissingCalendarHint);
|
||||
|
||||
@@ -91,9 +93,9 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
spinnerCalendarDescriptionDirection.setAdapter(directionSpinnerAdapter);
|
||||
directionSpinnerAdapter.notifyDataSetChanged();
|
||||
|
||||
calendarEvaluateAllDayEvent.setChecked(false);
|
||||
chkCalendarEvaluateAllDayEvent.setChecked(false);
|
||||
chkCalendarAllDayEvent.setEnabled(false);
|
||||
calendarEvaluateAllDayEvent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
|
||||
chkCalendarEvaluateAllDayEvent.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
|
||||
{
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked)
|
||||
@@ -102,6 +104,17 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
}
|
||||
});
|
||||
|
||||
chkCalendarEvaluateReoccurring.setChecked(false);
|
||||
chkCalendarReoccurring.setEnabled(false);
|
||||
chkCalendarEvaluateReoccurring.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
|
||||
{
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked)
|
||||
{
|
||||
chkCalendarReoccurring.setEnabled(checked);
|
||||
}
|
||||
});
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
{
|
||||
if(ActivityPermissions.havePermission(Manifest.permission.READ_CALENDAR, ActivityManageTriggerCalendar.this) || ActivityPermissions.havePermission(Manifest.permission.WRITE_CALENDAR, ActivityManageTriggerCalendar.this))
|
||||
@@ -157,6 +170,18 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
}
|
||||
});
|
||||
|
||||
chkCalendarReoccurring.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
|
||||
{
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked)
|
||||
{
|
||||
if(checked)
|
||||
chkCalendarReoccurring.setText(R.string.reoccurringTrue);
|
||||
else
|
||||
chkCalendarReoccurring.setText(R.string.reoccurringFalse);
|
||||
}
|
||||
});
|
||||
|
||||
bSaveTriggerCalendar.setOnClickListener(new View.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
@@ -199,8 +224,10 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
titleDir + Trigger.triggerParameter2Split + title + Trigger.triggerParameter2Split +
|
||||
descriptionDir + Trigger.triggerParameter2Split + description + Trigger.triggerParameter2Split +
|
||||
locationDir + Trigger.triggerParameter2Split + location + Trigger.triggerParameter2Split +
|
||||
String.valueOf(calendarEvaluateAllDayEvent.isChecked()) + Trigger.triggerParameter2Split +
|
||||
String.valueOf(chkCalendarEvaluateAllDayEvent.isChecked()) + Trigger.triggerParameter2Split +
|
||||
String.valueOf(chkCalendarAllDayEvent.isChecked()) + Trigger.triggerParameter2Split +
|
||||
String.valueOf(chkCalendarEvaluateReoccurring.isChecked()) + Trigger.triggerParameter2Split +
|
||||
String.valueOf(chkCalendarReoccurring.isChecked()) + Trigger.triggerParameter2Split +
|
||||
Miscellaneous.explode(separator, availabilityList.toArray(new String[availabilityList.size()])) + Trigger.triggerParameter2Split +
|
||||
Miscellaneous.explode(separator, selectedCalendarsIdArray.toArray(new String[selectedCalendarsIdArray.size()]));
|
||||
|
||||
@@ -261,8 +288,10 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
5 = location
|
||||
6 = evaluate all day event
|
||||
7 = all day event
|
||||
8 = availability list
|
||||
9 = calendars list
|
||||
8 = evaluate reoccurring
|
||||
9 = reoccurring
|
||||
10 = availability list
|
||||
11 = calendars list
|
||||
*/
|
||||
|
||||
for (int i = 0; i < directions.length; i++)
|
||||
@@ -281,12 +310,15 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
etCalendarDescription.setText(input[3]);
|
||||
etCalendarLocation.setText(input[5]);
|
||||
|
||||
calendarEvaluateAllDayEvent.setChecked(Boolean.parseBoolean(input[6]));
|
||||
chkCalendarEvaluateAllDayEvent.setChecked(Boolean.parseBoolean(input[6]));
|
||||
chkCalendarAllDayEvent.setChecked(Boolean.parseBoolean(input[7]));
|
||||
|
||||
chkCalendarEvaluateReoccurring.setChecked(Boolean.parseBoolean(input[8]));
|
||||
chkCalendarReoccurring.setChecked(Boolean.parseBoolean(input[9]));
|
||||
|
||||
String[] availabilities = null;
|
||||
if (!StringUtils.isEmpty(input[8]))
|
||||
availabilities = input[8].split(separator);
|
||||
if (!StringUtils.isEmpty(input[10]))
|
||||
availabilities = input[10].split(separator);
|
||||
|
||||
if (availabilities != null)
|
||||
{
|
||||
@@ -306,8 +338,8 @@ public class ActivityManageTriggerCalendar extends Activity
|
||||
}
|
||||
|
||||
String[] calendars = null;
|
||||
if (!StringUtils.isEmpty(input[9]))
|
||||
calendars = input[9].split(separator);
|
||||
if (!StringUtils.isEmpty(input[11]))
|
||||
calendars = input[11].split(separator);
|
||||
|
||||
if (calendars != null)
|
||||
{
|
||||
|
Reference in New Issue
Block a user