diff --git a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java
index 096f73430..f66564518 100644
--- a/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java
+++ b/astrid/plugin-src/com/todoroo/astrid/repeats/RepeatTaskCompleteListener.java
@@ -91,6 +91,7 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
clone.setValue(Task.ELAPSED_SECONDS, 0);
clone.setValue(Task.REMINDER_SNOOZE, 0L);
clone.setValue(Task.REMINDER_LAST, 0L);
+ clone.setValue(Task.CALENDAR_URI, ""); //$NON-NLS-1$
GCalHelper.createTaskEventIfEnabled(clone);
PluginServices.getTaskService().save(clone);
@@ -99,7 +100,6 @@ public class RepeatTaskCompleteListener extends BroadcastReceiver {
task.setValue(Task.RECURRENCE, ""); //$NON-NLS-1$
task.setValue(Task.DETAILS_DATE, 0L);
- GCalHelper.deleteTaskEvent(task);
PluginServices.getTaskService().save(task);
// send a broadcast
diff --git a/astrid/res/layout-small/task_edit_activity.xml b/astrid/res/layout-small/task_edit_activity.xml
new file mode 100644
index 000000000..de0207476
--- /dev/null
+++ b/astrid/res/layout-small/task_edit_activity.xml
@@ -0,0 +1,523 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/astrid/src/com/todoroo/astrid/activity/AddOnActivity.java b/astrid/src/com/todoroo/astrid/activity/AddOnActivity.java
index 46ca6daed..0aee0ca22 100644
--- a/astrid/src/com/todoroo/astrid/activity/AddOnActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/AddOnActivity.java
@@ -73,10 +73,17 @@ public class AddOnActivity extends TabActivity {
ArrayList available = new ArrayList();
for(AddOn addOn : list) {
- if(addOnService.isInstalled(addOn))
- installed.add(addOn);
- else
- available.add(addOn);
+ if (AddOnService.POWER_PACK_PACKAGE.equals(addOn.getPackageName())) {
+ if (addOnService.hasPowerPack())
+ installed.add(addOn);
+ else
+ available.add(addOn);
+ } else {
+ if(addOnService.isInstalled(addOn))
+ installed.add(addOn);
+ else
+ available.add(addOn);
+ }
}
if(installed.size() == 0 || getIntent().getBooleanExtra(TOKEN_START_WITH_AVAILABLE, false))
getTabHost().setCurrentTab(1);
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
index 6a1207936..33e4670f4 100755
--- a/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
@@ -309,8 +309,35 @@ public final class TaskEditActivity extends TabActivity {
Button saveButtonGeneral = (Button) findViewById(R.id.save);
saveButtonGeneral.setOnClickListener(mSaveListener);
+ Button saveButton2 = (Button) findViewById(R.id.save2);
+ Button saveButton3 = (Button) findViewById(R.id.save3);
+ Button saveButton4 = (Button) findViewById(R.id.save4);
+ if (saveButton2 != null) {
+ saveButton2.setOnClickListener(mSaveListener);
+ }
+ if (saveButton3 != null) {
+ saveButton3.setOnClickListener(mSaveListener);
+ }
+ if (saveButton4 != null) {
+ saveButton4.setOnClickListener(mSaveListener);
+ }
+
+
Button discardButtonGeneral = (Button) findViewById(R.id.discard);
discardButtonGeneral.setOnClickListener(mDiscardListener);
+
+ Button discardButton2 = (Button) findViewById(R.id.discard2);
+ Button discardButton3 = (Button) findViewById(R.id.discard3);
+ Button discardButton4 = (Button) findViewById(R.id.discard4);
+ if (discardButton2 != null) {
+ discardButton2.setOnClickListener(mDiscardListener);
+ }
+ if (discardButton3 != null) {
+ discardButton3.setOnClickListener(mDiscardListener);
+ }
+ if (discardButton4 != null) {
+ discardButton4.setOnClickListener(mDiscardListener);
+ }
} catch (Exception e) {
// error loading the proper activity
}
diff --git a/astrid/src/com/todoroo/astrid/dao/MetadataDao.java b/astrid/src/com/todoroo/astrid/dao/MetadataDao.java
index a384df31d..bd0bd301c 100644
--- a/astrid/src/com/todoroo/astrid/dao/MetadataDao.java
+++ b/astrid/src/com/todoroo/astrid/dao/MetadataDao.java
@@ -16,9 +16,14 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Join;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities;
+import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.data.Metadata;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.provider.Astrid2TaskProvider;
+import com.todoroo.astrid.service.StatisticsConstants;
+import com.todoroo.astrid.service.StatisticsService;
+import com.todoroo.astrid.tags.TagService;
+import com.todoroo.astrid.utility.AstridPreferences;
/**
* Data Access layer for {@link Metadata}-related operations.
@@ -68,6 +73,12 @@ public class MetadataDao extends DatabaseDao {
item.setValue(Metadata.CREATION_DATE, DateUtilities.now());
boolean state = super.persist(item);
+ if(Preferences.getBoolean(AstridPreferences.P_FIRST_LIST, false)) {
+ if (state && item.getValue(Metadata.KEY).equals(TagService.KEY)) {
+ StatisticsService.reportEvent(StatisticsConstants.USER_FIRST_LIST);
+ Preferences.setBoolean(AstridPreferences.P_FIRST_LIST, false);
+ }
+ }
Astrid2TaskProvider.notifyDatabaseModification();
return state;
}
diff --git a/astrid/src/com/todoroo/astrid/service/StartupService.java b/astrid/src/com/todoroo/astrid/service/StartupService.java
index a8a3177e1..9229c34db 100644
--- a/astrid/src/com/todoroo/astrid/service/StartupService.java
+++ b/astrid/src/com/todoroo/astrid/service/StartupService.java
@@ -215,6 +215,7 @@ public class StartupService {
for(int i = 0; i < INTRO_TASKS.length; i += 3)
addIntroTask(r, INTRO_TASKS[i], INTRO_TASKS[i + 1], INTRO_TASKS[i + 2]);
Preferences.setBoolean(AstridPreferences.P_FIRST_ACTION, true);
+ Preferences.setBoolean(AstridPreferences.P_FIRST_LIST, true);
}
}).start();
} catch (Exception e) {
diff --git a/astrid/src/com/todoroo/astrid/service/StatisticsConstants.java b/astrid/src/com/todoroo/astrid/service/StatisticsConstants.java
index 2ef55aaff..93e63c612 100644
--- a/astrid/src/com/todoroo/astrid/service/StatisticsConstants.java
+++ b/astrid/src/com/todoroo/astrid/service/StatisticsConstants.java
@@ -8,6 +8,7 @@ public class StatisticsConstants {
public static final String ACTFM_NEW_USER = "actfm-new-user";
public static final String TASK_COMPLETED_V2 = "task-completed-v2";
public static final String USER_FIRST_TASK = "user-first-task";
+ public static final String USER_FIRST_LIST = "user-first-list";
public static final String LOST_TASKS_RESTORED = "lost-tasks-restored";
public static final String CREATE_TASK = "create-task";
public static final String EDIT_TASK = "edit-task";
diff --git a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java
index e921221bc..fcc151761 100644
--- a/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java
+++ b/astrid/src/com/todoroo/astrid/utility/AstridPreferences.java
@@ -17,6 +17,8 @@ public class AstridPreferences {
public static final String P_FIRST_ACTION = "fa"; //$NON-NLS-1$
+ public static final String P_FIRST_LIST = "fl"; //$NON-NLS-1$
+
public static final String P_UPGRADE_FROM = "uf"; //$NON-NLS-1$
/** Set preference defaults, if unset. called at startup */