Giter VIP home page Giter VIP logo

astrid's Introduction

Astrid - Task Management Done Right

Astrid strives to be a simple and effective organization tool for Google Android phones. It comes with features like reminders, tagging, widgets, and integration with online synchronization services.

Interested in using Astrid? Search "astrid" in Android Market. Look for the smiling pink squid!

If you would like to help out with the Astrid project, you're in the right place.

Getting Started With Development

  1. Create your own fork of Astrid by clicking on Github's Fork button above (you may have to log in first - github help).

  2. Install the following: • gitEclipse (preferred: Eclipse IDE for Java Developers) • Android SDK (Recommended SDK Platform: Android 4.0 Google APIs) • ADT Plugin for Eclipse

  3. Use git to clone your forked repositories

git clone [email protected]:yourgithubid/astrid.git

(see Github's instructions if you need help). Follow the Github Line Ending Help

  1. Open up eclipse and import the astrid, astridApi, astrid-tests, facebook, and GreenDroid projects.

  2. In Eclipse preferences -> Android build settings, set the SDK location (you installed it in step 2). At this point, there should be no compilation errors. If there are, you might have to refresh and clean the projects a few times from within eclipse

from Eclipse: project-menu -> clean -> select projects -> check "start a build immediately" if "automatic build" is not enabled

  1. Launch the astrid project as an Android Application, or the astrid-tests project as an Android JUnit Test Suite.

  2. Join the Astrid Power-Users List.

  3. Check out the Product Roadmap and Issues, and look for something you'd want to tackle.

  4. Read the following contributor and debugging workflow and help make Astrid better!

  5. Sign a Contributors License Agreement and send it to tim AT astrid.com

Testing on a device - Debugging

How to debug/test on a USB device: (JoshuaGross Jan 14, 2011)

  1. Plug in your device and make sure you can see it by running adb devices

  2. If you cannot see the device, or want to restart debugging, do:

adb kill-server

adb usb

adb devices (make sure your device is listed)

adb uninstall com.todoroo.astrid.tests (you should see "Failure" if this was uninstalled already)

adb uninstall com.todoroo.astrid (you should see "Failure" if this was uninstalled already)

  1. If you have not already, set up Run configurations in Eclipse; either under the "Run" or "Debug" menus. To test the application, set up "Android Application". To run JUnit tests, set up "Android JUnit Tests". Settings should autofill for you, you should be able to open a new configuration and run it. If you run it in debug mode, see #2 above for getting adb to work in case it is finicky.

  2. When running unit tests: make sure to close all JUnit windows before running tests. JUnit/Eclipse/Android work together in a very, very janky way. You may get incorrect results if you do not close the window out before running tests. You have been warned.

  3. Make sure to commit changes both to the "astrid" project while developing.

Contributors workflow

Setup:

git clone [email protected]:your-github-id/astrid.git (your-github-id should obviously be replaced)

git remote add upstream [email protected]:todoroo/astrid.git

Working on new features/fixes:

git checkout -b my-new-features upstream/master

work, work, work!

git commit (a separate commit for each bug fix, feature change, style or copy edit please!)

git fetch upstream

git rebase -i upstream/master (i like to rebase -i to verify what i'm committing and squish small commits)

git push origin HEAD

then go to github and submit a pull request!

For further information, read Tim's Collaborator Guide.

Contact

For general support requests, use Astrid's feedback page. For development questions, contact timsu via e-mail.

astrid's People

Contributors

altendky avatar amytang0 avatar atshaw avatar bigwave avatar coreydowning avatar eparvand avatar jchernjr avatar jimmyscott avatar jonparis avatar joshuagross avatar krodukcz avatar marcopaga avatar melissayu avatar mruwek avatar rip238 avatar stingeraj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

astrid's Issues

Failed to generate coverage report for test cases

I'm running well with all the test cases with Junit. But when I use "ant coverage" trying to generate test cases report, The error below appears:

[exec] com.todoroo.astrid.dao.TaskDaoTests:.....INSTRUMENTATION_RESULT: shortMsg=java.lang.IllegalStateException
[exec] INSTRUMENTATION_RESULT: longMsg=java.lang.IllegalStateException: database /data/data/com.timsu.astrid/databases/databasetest (conn# 0) already closed
[exec] INSTRUMENTATION_CODE: 0
[echo] Downloading coverage file into project directory...
[exec] remote object '/data/data/com.timsu.astrid/coverage.ec' does not exist

BUILD FAILED

On the logcat, it shows that:

05-30 18:19:20.287: E/AndroidRuntime(8656): FATAL EXCEPTION: Thread-351
05-30 18:19:20.287: E/AndroidRuntime(8656): java.lang.IllegalStateException: database /data/data/com.timsu.astrid/databases/databasetest (conn# 0) already closed
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteDatabase.verifyDbIsOpen(SQLiteDatabase.java:2082)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:413)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteDatabase.lock(SQLiteDatabase.java:400)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:79)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:160)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:152)
05-30 18:19:20.287: E/AndroidRuntime(8656): at android.database.CursorWrapper.getCount(CursorWrapper.java:53)
05-30 18:19:20.287: E/AndroidRuntime(8656): at com.todoroo.astrid.service.TaskService.countTasks(TaskService.java:371)
05-30 18:19:20.287: E/AndroidRuntime(8656): at com.todoroo.astrid.backup.TasksXmlExporter$2.run(TasksXmlExporter.java:113)
05-30 18:19:20.287: E/AndroidRuntime(8656): at java.lang.Thread.run(Thread.java:856)

Seems like something wrong with sqlite part, but never occured during the execution of JUnit test cases.
Any comment is welcomed!

Google Tasks Synchronization

Specification:

This project consists of two components, a reusable Google Tasks Java API, and an adapter to interface this API with Astrid's synchronization layer. The API will be able to:

  • handle authentication with Google
  • communicate over SSL
  • CRUD lists
  • CRUD tasks (including order, indentation, due date, notes, list they belong to)
  • have unit tests for all major operations

On the Astrid side, work will need to be done to:

  • perform basic synchronization (getting tasks to show up, record changes on both sides)

Advanced features enabled by Astrid 3.0 Plugin Architecture:

  • preserve Google Tasks ordering
  • create, update, or delete list membership in Google Tasks

[FEATURE REQUEST] Simple to implent sub checklists

Hi,
Your app is really nice!!

I just miss a feature for easy sub checklists management without deactivating sorting.

My idea:
I use lists in the "note" section with "o" for unchecked and "x" for done at the beginning of each line. If you would implement a feature to handle these letters as sub-checklists, which would change "o" to unchecked tick box and "x" for checked tix box, this would be awesome. Activation/deactivation might done in the settings?

Pro:
x simple
x no issues with sync since simple letters are used in the background without graphic boxes.
x maybe easy to implement?

[GTasks] sync merge (per item)

Having added/changed items on both sides (GTasks and Astrid) causes items loss. (LOSS OF DATA!).
Please implement a per-item sync.
#166 might be related.

Logo Design Proposal

Greetings!

This might be a great opportunity to tell you that I am offering logo designs for GitHub projects. And it would be an honor to offer this to you if you wanted me to do so, just mention me. Thanks!

3.x Data Format

Specification:

The plan is to have Astrid 3.x use two tables: tasks and metadata, in one database: database. This will be accomplished by creating an upgrade service that upgrades existing Astrid tasks. Then, all of Astrid’s legacy models will be deleted, while Astrid’s legacy controllers will be re-written to use the new database accessors. Finally, we will phase out unnecessary columns in Astrid’s tasks table by making them into plugins. This last step is not part of this transition.

Why?

Astrid 2.x’s data model is bad for the following reasons:

  • multiple databases, no cross-database joins
  • not extensible

Progress:

(updated 5/29/10)

✔ Port Astrid3.x’s database and accessor classes
✔ Port Astrid3.x’s unit tests
✔ Create upgrade service
✔ Upgrade tasks table
✔ Upgrade tags tables
✔ Upgrade alerts table
✘ Upgrade sync table
✘ All upgrade tests pass
✘ Create tasks service layer
✘ Create tags service layer
✘ Create alerts service layer
✘ Create sync service layer
✘ Release Astrid 3.0.0

Deleted tasks in RTM aren't deleted in Astrid [sorry, but GetSatisfaction doesn't seem to be working)

Really sorry for posting the issue here but I've been trying with no luck to post it in GetSatisfaction. I can reproduce the error reported at http://getsatisfaction.com/todoroo/topics/task_list_getting_ever_longer_rtm_completed_tasks_not_removed

Steps to reproduce:

  • create task in RTM web
  • sync Astrid, new task appears
  • delete task in RTM
  • sync Astrid, task is still present.

I'm using same phone and specs as O!, author of that report. I'm using HTC Desire, Android 2.1 and latest Astrid (3.0.6 I think).

p.s. as a small gift to the dev team, I translated/proof-read almost all of Portuguese Brazilian on Launchpad :)

So complex to add a task

Let's consider this case: I want to add a task of "Supper" in 19:00, how should I do?

Open Astrid in home
Edit "Supper"
Click Add button; Now it's in the list; My default urgency is today
Click the "Supper" task
Click Edit button
Click "None" in "Deadline"
Select "At specific time"
Edit the specific time
Click OK
Save

OMG! So complex to add a task with due date/time?!

I also test power pack, it's also not easy to do it.

Suggestions:

Could add task in calendar, such as google calendar. Use this way it's easy to select start/due date
Restore the "Edit" button when create task; I remember in version 3.7.x it has such button, but 3.8.x removed
More default urgency, such as one hour later

No more than 3 steps to add a task (except the task title and content).

Any way, I use Astrid everyday. It's useful. Thanks.

bad build.xml order for android sdk-7

There is a problem with building astrid with sdk-7. This version introduces taskdef for if (with com.android.ant.IfElseTask class), and astrid uses ant-contrib package which defines this too (although it uses different, net.sf.antcontrib.logic.IfTask class). Since astrid imports android stuff and ant-contrib is used later, this could lead to exceptions like this:

BUILD FAILED
/build/hudson/android-sdk/tools/ant/ant_rules_r3.xml:261: if doesn't support the "condition" attribute
at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:400)
at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:349)
at org.apache.tools.ant.Task.maybeConfigure(Task.java:202)
at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:193)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:160)
at org.apache.tools.ant.Task.perform(Task.java:347)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
Caused by: class net.sf.antcontrib.logic.IfTask doesn't support the "condition" attribute.
at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:385)
at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:392)
... 15 more
--- Nested Exception ---
class net.sf.antcontrib.logic.IfTask doesn't support the "condition" attribute.
at org.apache.tools.ant.IntrospectionHelper.setAttribute(IntrospectionHelper.java:385)
at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:392)
at org.apache.tools.ant.RuntimeConfigurable.maybeConfigure(RuntimeConfigurable.java:349)
at org.apache.tools.ant.Task.maybeConfigure(Task.java:202)
at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:193)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:160)
at org.apache.tools.ant.Task.perform(Task.java:347)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

Proposed workaround: move

 <taskdef resource="net/sf/antcontrib/antlib.xml">
  <classpath>
    <pathelement location="antlib/ant-contrib-1.0b3.jar"/>
  </classpath>
</taskdef> 

in astrid/build.xml before importing build defs from android sdk.

incorrect error message with bad password

If you try to sign into Astrid using email/password and typo your password the error is "That account already exists. Please use Sign In instead" as opposed to a typical Bad email/password combination message.

To reproduce this log out and then sign in with email/password using a valid email and incorrect password.

Publish source code for http://astrid.com/

So that those who wish to continue to use the sharing/syncing features of Astrid after astrid.com shuts down on August 5 (yesterday?) can quickly set up their own Astrid servers..

astrid.com is dead

The link in the heading to astrid.com doesn't go anywhere useful, just to some generic yahoo landing page.
(It's great to see progress on astrid again)

Translate to czech

Hi,
this app is great and very useful. I would like to ask if there is some posibility to help you translate this app to Czech by me?

Thanks Lukas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.