move upload to asynctask. TODO: Test upload when phone asleep