diff --git a/api/src/main/res/values-ar/strings.xml b/api/src/main/res/values-ar/strings.xml index 4294617d8..5d54e4d98 100644 --- a/api/src/main/res/values-ar/strings.xml +++ b/api/src/main/res/values-ar/strings.xml @@ -16,7 +16,6 @@ إغلاق إنتظر من فضلك... تحيين و نسخ احتياطي - مزامنة فورية الحالة الحالة: %s لم يتم تسجيل الدخول diff --git a/api/src/main/res/values-bg-rBG/strings.xml b/api/src/main/res/values-bg-rBG/strings.xml index d673e0268..085e2b811 100644 --- a/api/src/main/res/values-bg-rBG/strings.xml +++ b/api/src/main/res/values-bg-rBG/strings.xml @@ -21,7 +21,6 @@ Ами сега, изглежда е станала грешка! Ето какво се случи:\n\n%s Моля, изчакайте... Синхронизиране и Резервни копия - Синхронизирай сега Състояние Състояние: %s Синхронизирането продължава ... diff --git a/api/src/main/res/values-cs/strings.xml b/api/src/main/res/values-cs/strings.xml index 7d5f1dd55..ff6ae54e4 100644 --- a/api/src/main/res/values-cs/strings.xml +++ b/api/src/main/res/values-cs/strings.xml @@ -21,7 +21,6 @@ Jejda, vypadá to, že se vyskytla chyba! Tady je co se stalo:\n\n%s Čekejte prosím... Synchronizace - Synchronizovat ihned Google Tasks, uložená data, lokální záloha Stav Stav: %s diff --git a/api/src/main/res/values-de/strings.xml b/api/src/main/res/values-de/strings.xml index 28d3350a2..771efd1f8 100644 --- a/api/src/main/res/values-de/strings.xml +++ b/api/src/main/res/values-de/strings.xml @@ -20,7 +20,6 @@ Ups, sieht aus, als ob ein Fehler aufgetreten ist! Folgendes ist passiert:\n\n%s Bitte warten... Synchronisation & Backup - Jetzt synchronisieren Google Tasks, Gespeicherte Daten, Lokale Backups Nicht angemeldet Synchronisierung läuft... diff --git a/api/src/main/res/values-es/strings.xml b/api/src/main/res/values-es/strings.xml index 767214e6a..c16c2fd91 100644 --- a/api/src/main/res/values-es/strings.xml +++ b/api/src/main/res/values-es/strings.xml @@ -21,7 +21,6 @@ ¡Uy, parece que ocurró un error! Esto es lo que pasó:\n\n%s Por favor, espere... Sincronización y copia de seguridad - Sincronizar ahora Google Tasks, información guardada, copia de seguridad local Estado Estado: %s diff --git a/api/src/main/res/values-fr/strings.xml b/api/src/main/res/values-fr/strings.xml index cf603a889..e5bf8b981 100644 --- a/api/src/main/res/values-fr/strings.xml +++ b/api/src/main/res/values-fr/strings.xml @@ -21,7 +21,6 @@ Oups, une erreur est survenue ! Voici ce qu\'il s\'est passé :\n\n%s Veuillez patienter... Synchronisation - Synchroniser maintenant Tâches Google, données enregistrées, sauvegarde locale Statut État : %s diff --git a/api/src/main/res/values-iw/strings.xml b/api/src/main/res/values-iw/strings.xml index 2e740aeac..5bba73e7f 100644 --- a/api/src/main/res/values-iw/strings.xml +++ b/api/src/main/res/values-iw/strings.xml @@ -21,7 +21,6 @@ אוּפְּס, נראה שארעה שגיאה! הנה מה שקה:\n\n%s אנא המתן... סינכרון וגיבוי - סנכרני כעת אתר אסטריד, ״משימות גוגל״, מידע שמור, גיבוי מקומי מצב מצב: %s diff --git a/api/src/main/res/values-ja/strings.xml b/api/src/main/res/values-ja/strings.xml index b3a5a38b1..ec7f39e2e 100644 --- a/api/src/main/res/values-ja/strings.xml +++ b/api/src/main/res/values-ja/strings.xml @@ -21,7 +21,6 @@ エラーが発生しました! 発生した内容\n\n%s お待ちください 同期 - いますぐ同期 Google Tasks, 保存したデータ, ローカルのバックアップ 状況 状況: %s diff --git a/api/src/main/res/values-ko/strings.xml b/api/src/main/res/values-ko/strings.xml index 71f356098..377896599 100644 --- a/api/src/main/res/values-ko/strings.xml +++ b/api/src/main/res/values-ko/strings.xml @@ -21,7 +21,6 @@ 에러가 발생한 것 같습니다! 발생한 에러는 다음과 같습니다:\n\n%s 잠시 기다리세요... 동기화 & 백업 - 지금 동기화하기 구글 일정, 저장한 자료, 로컬 백업 상태 상태: %s diff --git a/api/src/main/res/values-nl/strings.xml b/api/src/main/res/values-nl/strings.xml index bced7c6b6..4f1991803 100644 --- a/api/src/main/res/values-nl/strings.xml +++ b/api/src/main/res/values-nl/strings.xml @@ -21,7 +21,6 @@ Er is een fout opgetreden:\n\n%s Even geduld a.u.b. Synchronisatie - Nu synchroniseren Google Taken, opgeslagen data, lokale back-up Niet aangemeld Synchronisatie bezig... diff --git a/api/src/main/res/values-pl/strings.xml b/api/src/main/res/values-pl/strings.xml index 7971fabca..3ad4e69ef 100644 --- a/api/src/main/res/values-pl/strings.xml +++ b/api/src/main/res/values-pl/strings.xml @@ -21,7 +21,6 @@ Ups! Wygląda na to, że wystąpił jakiś błąd! Oto, co się stało:\n\n%s Proszę czekać... Synchronizacja - Zsynchronizuj Zadania Google, zapisane dane, lokalna kopia zapasowa Stan Niezalogowany diff --git a/api/src/main/res/values-pt/strings.xml b/api/src/main/res/values-pt/strings.xml index b49f33a42..4d247cec0 100644 --- a/api/src/main/res/values-pt/strings.xml +++ b/api/src/main/res/values-pt/strings.xml @@ -21,7 +21,6 @@ Parece que ocorreu um erro! Isto foi o que aconteceu:\n\n%s Por favor aguarde... Sincronização e backup - Sincronizar agora Tarefas Google, dados e backups Estado Estado: %s diff --git a/api/src/main/res/values-ru/strings.xml b/api/src/main/res/values-ru/strings.xml index 1acc85aac..3c0400587 100644 --- a/api/src/main/res/values-ru/strings.xml +++ b/api/src/main/res/values-ru/strings.xml @@ -21,7 +21,6 @@ Ой, похоже произошла ошибка! Подробности ниже:\n\n%s Пожалуйста, подождите… Синхронизация и резервное копирование - Синхронизировать Задачи Google, сохраненные данные, локальная резервная копия Состояние Состояние: %s diff --git a/api/src/main/res/values-sl-rSI/strings.xml b/api/src/main/res/values-sl-rSI/strings.xml index 74ad9baf1..a65f20e5a 100644 --- a/api/src/main/res/values-sl-rSI/strings.xml +++ b/api/src/main/res/values-sl-rSI/strings.xml @@ -21,7 +21,6 @@ Ups, zdi se, da je prišlo do napake! Tole se je zgodilo:\n\n%s Prosimo, počakajte... Uskladitev & varnostna kopija - Začni z usklajevanjem Google Naloge, shranjeni podatki, varnostna kopija na napravi Niste prijavljeni Usklajevanje poteka... diff --git a/api/src/main/res/values-sv/strings.xml b/api/src/main/res/values-sv/strings.xml index d87e2b4f8..1be4a7f53 100644 --- a/api/src/main/res/values-sv/strings.xml +++ b/api/src/main/res/values-sv/strings.xml @@ -20,7 +20,6 @@ Oj, det uppstod ett fel! Detta hände:\n\n%s Var god vänta... Synkronisering - Synkronisera nu Google Aktiviteter, sparad data, lokal backup Ej inloggad Synkronisering pågår... diff --git a/api/src/main/res/values-uk/strings.xml b/api/src/main/res/values-uk/strings.xml index 82ad9b69c..bcdbcfcb7 100644 --- a/api/src/main/res/values-uk/strings.xml +++ b/api/src/main/res/values-uk/strings.xml @@ -21,7 +21,6 @@ На жаль, схоже, сталася помилка! Ось що вийшло:\n\n%s Будь ласка, зачекайте... Синхронізація і резерв. копіювання - Синхронізувати Google Tasks, збережені дані, локальне резервне копіювання Статус Статус: %s diff --git a/api/src/main/res/values-zh-rTW/strings.xml b/api/src/main/res/values-zh-rTW/strings.xml index c31c492c9..3dcee2fc4 100644 --- a/api/src/main/res/values-zh-rTW/strings.xml +++ b/api/src/main/res/values-zh-rTW/strings.xml @@ -21,7 +21,6 @@ 糟糕,發生錯誤!狀況是:\n\n%s 請稍候... 同步和備份 - 立即同步 谷歌任務,已存數據,本地備份 狀態 狀態:%s diff --git a/api/src/main/res/values/strings.xml b/api/src/main/res/values/strings.xml index 721a4850b..5452d62b4 100644 --- a/api/src/main/res/values/strings.xml +++ b/api/src/main/res/values/strings.xml @@ -50,9 +50,6 @@ Sync & backup - - Sync now - Google Tasks, saved data, local backup diff --git a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java index 1601a6cb8..eb199af00 100644 --- a/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/actfm/TagViewFragment.java @@ -197,6 +197,7 @@ public class TagViewFragment extends TaskListFragment { @Override protected void refresh() { loadTaskListContent(); - ((TextView)taskListView.findViewById(android.R.id.empty)).setText(R.string.TLA_no_items); + ((TextView) emptyView.findViewById(R.id.empty_text)).setText(R.string.TLA_no_items); + setSyncOngoing(false); } } diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java index dc92b7d5d..21d15d2b6 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java @@ -82,8 +82,6 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList super.onCreate(savedInstanceState); preferences.applyTheme(); - supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); - int contentView = getContentView(); setContentView(contentView); @@ -146,7 +144,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList protected void onResume() { super.onResume(); - setSupportProgressBarIndeterminateVisibility(gtasksPreferenceService.isOngoing()); + getTaskListFragment().setSyncOngoing(gtasksPreferenceService.isOngoing()); } @Override @@ -161,7 +159,6 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList menu.findItem(R.id.menu_delete_list).setVisible(true); menu.findItem(R.id.menu_rename_list).setVisible(true); } else if(tlf instanceof GtasksListFragment) { - menu.findItem(R.id.menu_sync).setTitle(R.string.actfm_TVA_menu_refresh); menu.findItem(R.id.menu_clear_completed).setVisible(true); menu.findItem(R.id.menu_sort).setVisible(false); } @@ -462,9 +459,6 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList this, tlf.hasDraggableOption(), tlf, tlf.getSortFlags(), tlf.getSort()); dialog.show(); return true; - case R.id.menu_sync: - tlf.syncActionHelper.performSyncAction(); - return true; case R.id.menu_new_filter: Intent intent = new Intent(this, CustomFilterActivity.class); startActivityForResult(intent, TaskListFragment.ACTIVITY_REQUEST_NEW_FILTER); diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java index e1255deb1..818b174d3 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListFragment.java @@ -17,6 +17,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteException; import android.os.Bundle; import android.support.v4.app.Fragment; +import android.support.v4.widget.SwipeRefreshLayout; import android.text.TextUtils; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; @@ -97,7 +98,7 @@ import javax.inject.Inject; * @author Tim Su * */ -public class TaskListFragment extends InjectingListFragment implements OnSortSelectedListener { +public class TaskListFragment extends InjectingListFragment implements OnSortSelectedListener, SwipeRefreshLayout.OnRefreshListener { private static final Logger log = LoggerFactory.getLogger(TaskListFragment.class); @@ -161,6 +162,9 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel protected OnTaskListItemClickedListener mListener; private boolean mDualFragments = false; + protected SwipeRefreshLayout listView; + protected SwipeRefreshLayout emptyView; + /* * ====================================================================== * ======================================================= initialization @@ -207,6 +211,18 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel return newFragment; } + @Override + public void onRefresh() { + if (!syncActionHelper.performSyncAction()) { + refresh(); + } + } + + public void setSyncOngoing(boolean ongoing) { + listView.setRefreshing(ongoing); + emptyView.setRefreshing(ongoing); + } + /** * Container Activity must implement this interface and we ensure that it * does during the onAttach() callback @@ -260,18 +276,32 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel Bundle savedInstanceState) { ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate( R.layout.task_list_activity, container, false); - parent.addView(getListBody(parent), 0); - + View body = getListBody(parent); + listView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout); + emptyView = (SwipeRefreshLayout) body.findViewById(R.id.swipe_layout_empty); + setupRefresh(listView); + setupRefresh(emptyView); + ((ListView) listView.findViewById(android.R.id.list)).setEmptyView(emptyView); + parent.addView(body, 0); return parent; } + private void setupRefresh(SwipeRefreshLayout layout) { + layout.setOnRefreshListener(this); + layout.setColorScheme( + R.color.refresh_color_1, + R.color.refresh_color_2, + R.color.refresh_color_3, + R.color.refresh_color_4); + } + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // We have a menu item to show in action bar. resources = getResources(); setHasOptionsMenu(true); - syncActionHelper = new SyncActionHelper(gtasksPreferenceService, syncService, getActivity(), preferences, this); + syncActionHelper = new SyncActionHelper(gtasksPreferenceService, syncService, getActivity(), preferences); setUpUiComponents(); initializeData(); setupQuickAddBar(); @@ -422,19 +452,19 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel quickAddBar = (QuickAddBar) getView().findViewById(R.id.taskListFooter); quickAddBar.initialize(injector, (AstridActivity) getActivity(), this, mListener); - getListView().setOnTouchListener(new OnTouchListener() { + // set listener for astrid icon + emptyView.findViewById(R.id.empty_text).setOnClickListener(new OnClickListener() { @Override - public boolean onTouch(View v, MotionEvent event) { - quickAddBar.clearFocus(); - return false; + public void onClick(View v) { + quickAddBar.performButtonClick(); } }); - // set listener for astrid icon - getView().findViewById(android.R.id.empty).setOnClickListener(new OnClickListener() { + getListView().setOnTouchListener(new OnTouchListener() { @Override - public void onClick(View v) { - quickAddBar.performButtonClick(); + public boolean onTouch(View v, MotionEvent event) { + quickAddBar.clearFocus(); + return false; } }); } @@ -592,6 +622,7 @@ public class TaskListFragment extends InjectingListFragment implements OnSortSel } taskDeleter.deleteTasksWithEmptyTitles(); loadTaskListContent(); + setSyncOngoing(false); } @Override diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java index c61b4aa12..43bfd6ec2 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/GtasksListFragment.java @@ -10,6 +10,7 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.support.v4.widget.SwipeRefreshLayout; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; @@ -96,7 +97,7 @@ public class GtasksListFragment extends TaskListFragment { } private void refreshData(final boolean manual) { - ((TextView)getView().findViewById(android.R.id.empty)).setText(R.string.DLG_loading); + ((TextView) emptyView.findViewById(R.id.empty_text)).setText(R.string.DLG_loading); syncService.synchronizeList(list, new IndeterminateProgressBarSyncResultCallback(gtasksPreferenceService, getActivity(), new Runnable() { @Override @@ -106,7 +107,7 @@ public class GtasksListFragment extends TaskListFragment { } else { refresh(); } - ((TextView)getView().findViewById(android.R.id.empty)).setText(R.string.TLA_no_items); + ((TextView)emptyView.findViewById(R.id.empty_text)).setText(R.string.TLA_no_items); } })); } @@ -119,9 +120,6 @@ public class GtasksListFragment extends TaskListFragment { @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { - case R.id.menu_sync: - refreshData(true); - return true; case R.id.menu_clear_completed: clearCompletedTasks(); return true; @@ -243,5 +241,6 @@ public class GtasksListFragment extends TaskListFragment { protected void refresh() { initializeTaskListMetadata(); setUpTaskList(); + setSyncOngoing(false); } } diff --git a/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java b/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java index d32f76c95..62569993f 100644 --- a/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java +++ b/astrid/src/main/java/com/todoroo/astrid/helper/SyncActionHelper.java @@ -5,16 +5,8 @@ */ package com.todoroo.astrid.helper; -import android.app.Activity; -import android.app.AlertDialog; -import android.content.DialogInterface; import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.Bundle; -import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; -import android.widget.ArrayAdapter; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.activity.TaskListFragment; @@ -23,23 +15,18 @@ import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.sync.SyncResultCallback; -import org.tasks.R; import org.tasks.preferences.Preferences; import org.tasks.sync.IndeterminateProgressBarSyncResultCallback; -import java.util.ArrayList; -import java.util.List; - /** * SyncActionHelper is a helper class for encapsulating UI actions * responsible for performing sync and prompting user to sign up for a new * sync service. - * + *

* In order to make this work you need to call register() and unregister() in * onResume and onPause, respectively. * * @author Tim Su - * */ public class SyncActionHelper { @@ -48,25 +35,21 @@ public class SyncActionHelper { public final SyncResultCallback syncResultCallback; private final SyncV2Service syncService; - private final Activity activity; private final Preferences preferences; - private final Fragment fragment; // --- boilerplate - public SyncActionHelper(GtasksPreferenceService gtasksPreferenceService, SyncV2Service syncService, final FragmentActivity activity, Preferences preferences, Fragment fragment) { + public SyncActionHelper(GtasksPreferenceService gtasksPreferenceService, SyncV2Service syncService, final FragmentActivity activity, Preferences preferences) { this.syncService = syncService; - this.activity = activity; this.preferences = preferences; - this.fragment = fragment; syncResultCallback = new IndeterminateProgressBarSyncResultCallback(gtasksPreferenceService, activity, new Runnable() { - @Override - public void run() { - activity.sendBroadcast( - new Intent( - AstridApiConstants.BROADCAST_EVENT_REFRESH)); - } - }); + @Override + public void run() { + activity.sendBroadcast( + new Intent( + AstridApiConstants.BROADCAST_EVENT_REFRESH)); + } + }); } // --- automatic sync logic @@ -87,94 +70,13 @@ public class SyncActionHelper { } } - /** - * Intent object with custom label returned by toString. - * - * @author joshuagross - */ - protected static class IntentWithLabel extends Intent { - private final String label; - - public IntentWithLabel(Intent in, String labelIn) { - super(in); - label = labelIn; - } - - @Override - public String toString() { - return label; - } - } - - public void performSyncAction() { + public boolean performSyncAction() { if (syncService.isActive()) { syncService.synchronizeActiveTasks(syncResultCallback); + return true; } else { - String desiredCategory = activity.getString(R.string.SyP_label); - - // Get a list of all sync plugins and bring user to the prefs pane - // for one of them - Intent queryIntent = new Intent(AstridApiConstants.ACTION_SETTINGS); - PackageManager pm = activity.getPackageManager(); - List resolveInfoList = pm.queryIntentActivities( - queryIntent, PackageManager.GET_META_DATA); - ArrayList syncIntents = new ArrayList<>(); - - // Loop through a list of all packages (including plugins, addons) - // that have a settings action: filter to sync actions - for (ResolveInfo resolveInfo : resolveInfoList) { - Intent intent = new Intent(AstridApiConstants.ACTION_SETTINGS); - intent.setClassName(resolveInfo.activityInfo.packageName, - resolveInfo.activityInfo.name); - - String category = MetadataHelper.resolveActivityCategoryName( - resolveInfo, pm); - - if (resolveInfo.activityInfo.metaData != null) { - Bundle metadata = resolveInfo.activityInfo.metaData; - if (!metadata.getBoolean("syncAction")) //$NON-NLS-1$ - { - continue; - } - } - - if (category.equals(desiredCategory)) { - syncIntents.add(new IntentWithLabel(intent, - resolveInfo.activityInfo.loadLabel(pm).toString())); - } - } - - final Intent[] actions = syncIntents.toArray(new Intent[syncIntents.size()]); - DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface click, int which) { - fragment.startActivityForResult(actions[which], TaskListFragment.ACTIVITY_SETTINGS); - } - }; - if (actions.length == 1) { - fragment.startActivityForResult(actions[0], TaskListFragment.ACTIVITY_SETTINGS); - } else { - showSyncOptionMenu(actions, listener); - } - } - } - - /** - * Show menu of sync options. This is shown when you're not logged into any - * services, or logged into more than one. - */ - private void showSyncOptionMenu(TYPE[] items, DialogInterface.OnClickListener listener) { - if (items.length == 1) { - listener.onClick(null, 0); - return; + return false; } - - ArrayAdapter adapter = new ArrayAdapter<>(activity, - android.R.layout.simple_spinner_dropdown_item, items); - - // show a menu of available options - new AlertDialog.Builder(activity).setTitle(R.string.Sync_now_label).setAdapter( - adapter, listener).show().setOwnerActivity(activity); } } diff --git a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java index 066da5640..ad624158e 100644 --- a/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/subtasks/SubtasksTagListFragment.java @@ -6,6 +6,7 @@ package com.todoroo.astrid.subtasks; import android.app.Activity; +import android.support.v4.widget.SwipeRefreshLayout; import android.view.View; import android.view.ViewGroup; @@ -107,6 +108,7 @@ public class SubtasksTagListFragment extends TagViewFragment { protected void refresh() { initializeTaskListMetadata(); setUpTaskList(); + setSyncOngoing(false); } } diff --git a/astrid/src/main/java/org/tasks/sync/IndeterminateProgressBarSyncResultCallback.java b/astrid/src/main/java/org/tasks/sync/IndeterminateProgressBarSyncResultCallback.java index 4fee946cf..cecaf3116 100644 --- a/astrid/src/main/java/org/tasks/sync/IndeterminateProgressBarSyncResultCallback.java +++ b/astrid/src/main/java/org/tasks/sync/IndeterminateProgressBarSyncResultCallback.java @@ -21,23 +21,6 @@ public class IndeterminateProgressBarSyncResultCallback extends RecordSyncStatus this.onFinished = onFinished; } - @Override - public void started() { - super.started(); - - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - try { - activity.setProgressBarIndeterminateVisibility(true); - } catch (IllegalStateException e) { - log.error(e.getMessage(), e); - } - } - }); - - } - @Override public void finished() { super.finished(); @@ -46,7 +29,6 @@ public class IndeterminateProgressBarSyncResultCallback extends RecordSyncStatus @Override public void run() { try { - activity.setProgressBarIndeterminateVisibility(false); onFinished.run(); } catch (IllegalStateException e) { log.error(e.getMessage(), e); diff --git a/astrid/src/main/res/layout/task_list_body_standard.xml b/astrid/src/main/res/layout/task_list_body_standard.xml index fc6ac1bb4..55954d663 100644 --- a/astrid/src/main/res/layout/task_list_body_standard.xml +++ b/astrid/src/main/res/layout/task_list_body_standard.xml @@ -1,31 +1,42 @@ - - - - - - - - - - - - + android:layout_height="wrap_content"> + + + + + + + + + + + + + + + diff --git a/astrid/src/main/res/layout/task_list_body_subtasks.xml b/astrid/src/main/res/layout/task_list_body_subtasks.xml index c768770dc..9e19b7fef 100644 --- a/astrid/src/main/res/layout/task_list_body_subtasks.xml +++ b/astrid/src/main/res/layout/task_list_body_subtasks.xml @@ -1,32 +1,43 @@ - - - - - - - - + + + + + + - - + android:layout_height="wrap_content"> + + + + + + + + + diff --git a/astrid/src/main/res/menu/task_list_activity.xml b/astrid/src/main/res/menu/task_list_activity.xml index 9209d18f3..ff4cd1e34 100644 --- a/astrid/src/main/res/menu/task_list_activity.xml +++ b/astrid/src/main/res/menu/task_list_activity.xml @@ -22,10 +22,6 @@ android:id="@+id/menu_sort" android:title="@string/TLA_menu_sort" tasks:showAsAction="never" /> - اضغط لتعيين لا يوجد لديك مهام! \n هل تريد أن تضيف شيئا؟ رتب - المزامنة الآن ابحث تعديل حذف المهمة diff --git a/astrid/src/main/res/values-ca/strings.xml b/astrid/src/main/res/values-ca/strings.xml index 3b5dca2ad..81c7a0291 100644 --- a/astrid/src/main/res/values-ca/strings.xml +++ b/astrid/src/main/res/values-ca/strings.xml @@ -9,7 +9,6 @@ Tria una imatge de la galeria Neteja la selecció d\'imatge Afegiu un comentari... - Actualitza Llista Escriviu el nom de la llista Trieu el compte de Google que vulgueu utilitzar: @@ -54,7 +53,6 @@ Prem per establir No teniu tasques! \n Voleu afegir alguna cosa? Ordenació i subtasques - Sincronitza ara Cerca Paràmetres Personalitzat diff --git a/astrid/src/main/res/values-cs/strings.xml b/astrid/src/main/res/values-cs/strings.xml index 9b789ca37..b6fb56d50 100644 --- a/astrid/src/main/res/values-cs/strings.xml +++ b/astrid/src/main/res/values-cs/strings.xml @@ -9,7 +9,6 @@ Vybrat obrázek z galerie Odebrat obrázek Přidej comment... - Obnovit Název listu: Název seznamu Vyberte, který účet Google chcete použít: @@ -55,7 +54,6 @@ Klikni pro nastavení Žádné úkoly! Třídit - Sychronizovat Hledat Nastavení Vlastní diff --git a/astrid/src/main/res/values-da/strings.xml b/astrid/src/main/res/values-da/strings.xml index 83c782ade..d4a081fef 100644 --- a/astrid/src/main/res/values-da/strings.xml +++ b/astrid/src/main/res/values-da/strings.xml @@ -9,7 +9,6 @@ Vælg fra galleri Ryd markering Tilføj en kommentar - Opdater Listenavn Vælg den Google-konto du vil anvende: Alarmer diff --git a/astrid/src/main/res/values-de/strings.xml b/astrid/src/main/res/values-de/strings.xml index 0f8fc9d06..2e2b0e473 100644 --- a/astrid/src/main/res/values-de/strings.xml +++ b/astrid/src/main/res/values-de/strings.xml @@ -9,7 +9,6 @@ Aus Galerie wählen Bild entfernen Kommentar hinzufügen … - Aktualisieren Liste Vergebe einen Listennamen Wählen Sie den zu verwendenden Google-Account aus: @@ -50,7 +49,6 @@ Klicken zur Bestätigung Sie haben keine Aufgaben! \n Möchten Sie welche hinzufügen? Sortieren - Jetzt synchronisieren Suchen Einstellungen Benutzerdefiniert diff --git a/astrid/src/main/res/values-es/strings.xml b/astrid/src/main/res/values-es/strings.xml index 986c751e5..999f5ab16 100644 --- a/astrid/src/main/res/values-es/strings.xml +++ b/astrid/src/main/res/values-es/strings.xml @@ -9,7 +9,6 @@ Elegir de la galería Borrar imagen Añadir un comentario... - Actualizar Lista Indique nombre de lista Seleccione la cuenta de Google que desea usar: @@ -56,7 +55,6 @@ Pulsar para establecer No tienes tareas! \n Quieres agregar alguna? Ordenar - Sincronizar ahora Buscar Configuración Personalizar diff --git a/astrid/src/main/res/values-fr/strings.xml b/astrid/src/main/res/values-fr/strings.xml index 07c4c41be..4d018b5ab 100644 --- a/astrid/src/main/res/values-fr/strings.xml +++ b/astrid/src/main/res/values-fr/strings.xml @@ -9,7 +9,6 @@ Choisir depuis la galerie Supprimer l\'image Ajouter un commentaire - Mettre à jour Nom de la liste : Entrez un nom de liste Sélectionnez le compte Google que vous voulez utiliser : @@ -54,7 +53,6 @@ Cliquez pour définir Aucune tâche ! \n Voulez-vous en créer une ? Trier - Synchroniser maintenant Rechercher Paramètres Personnalisé diff --git a/astrid/src/main/res/values-it/strings.xml b/astrid/src/main/res/values-it/strings.xml index 4b0feccf7..7d409321e 100644 --- a/astrid/src/main/res/values-it/strings.xml +++ b/astrid/src/main/res/values-it/strings.xml @@ -9,7 +9,6 @@ Scegli dalla Galleria Deseleziona Immagine Aggiungi un commento... - Aggiorna Lista Inserisci il nome della lista Seleziona l\'account Google che vuoi utilizzare: @@ -53,7 +52,6 @@ Annulla l\'ultima azione Clicca per Impostare Nessuna Attività! - Sincronizza Ora Cerca Impostazioni Personalizzato diff --git a/astrid/src/main/res/values-iw/strings.xml b/astrid/src/main/res/values-iw/strings.xml index b76e4b8fe..5ee3d68da 100644 --- a/astrid/src/main/res/values-iw/strings.xml +++ b/astrid/src/main/res/values-iw/strings.xml @@ -9,7 +9,6 @@ בחר מגלריה הסר תמונה הוסף הערה - רַעְנֵן רשימה הכנס שם רשימה בחר חשבון גוגל @@ -56,7 +55,6 @@ הקלק כדי לקבוע אין לך משימות!\n הֲתִּרְצֶה להוסיף משימה? מיון - סנכרני כעת חיפוש הגדרות מותאם אישית diff --git a/astrid/src/main/res/values-ja/strings.xml b/astrid/src/main/res/values-ja/strings.xml index 29d79e2fb..003c1bbff 100644 --- a/astrid/src/main/res/values-ja/strings.xml +++ b/astrid/src/main/res/values-ja/strings.xml @@ -9,7 +9,6 @@ ギャラリーから選択 写真を削除 コメントする - 更新 リスト リスト名を記入してください 使用したいGoogleアカウントを選択してください: @@ -55,7 +54,6 @@ 入力する タスクなし ソート - いますぐ同期 検索 設定 カスタムフィルタ diff --git a/astrid/src/main/res/values-ko/strings.xml b/astrid/src/main/res/values-ko/strings.xml index 2261ba1c2..e8170ece1 100644 --- a/astrid/src/main/res/values-ko/strings.xml +++ b/astrid/src/main/res/values-ko/strings.xml @@ -9,7 +9,6 @@ 갤러리에서 가져오기 사진 제거하기 댓글 쓰기... - 새로고침 목록 목록 이름을 입력하세요 사용하려는 구글 계정을 선택해 주십시오: @@ -59,7 +58,6 @@ 누르세요 일정이 없네요!\n추가할까요? 정렬 - 지금 동기화 검색 설정 사용자 설정 diff --git a/astrid/src/main/res/values-nl/strings.xml b/astrid/src/main/res/values-nl/strings.xml index b3e4f1215..ed7e848c3 100644 --- a/astrid/src/main/res/values-nl/strings.xml +++ b/astrid/src/main/res/values-nl/strings.xml @@ -9,7 +9,6 @@ Kies uit de Galerij Verwijder Foto Voeg een opmerking toe - Vernieuwen Lijst Geef de lijst een naam Selecteer de Google account die je wil gebruiken: @@ -54,7 +53,6 @@ Klikken om in te stellen U heeft geen taken! \n Taak toevoegen? Sorteren - Nu Synchroniseren Zoek Instellingen Aangepast diff --git a/astrid/src/main/res/values-pl/strings.xml b/astrid/src/main/res/values-pl/strings.xml index 116198c83..522045810 100644 --- a/astrid/src/main/res/values-pl/strings.xml +++ b/astrid/src/main/res/values-pl/strings.xml @@ -9,7 +9,6 @@ Wybierz z galerii Usuń obrazek Dodaj komentarz... - Odśwież Lista Podaj nazwę listy Wybierz konto Google, którego chcesz użyć: @@ -52,7 +51,6 @@ Kliknij, aby ustawić Brak zadań! Sortowanie - Zsynchronizuj Szukaj Ustawienia Własny filtr diff --git a/astrid/src/main/res/values-pt-rBR/strings.xml b/astrid/src/main/res/values-pt-rBR/strings.xml index ff13891e5..47c0d8733 100644 --- a/astrid/src/main/res/values-pt-rBR/strings.xml +++ b/astrid/src/main/res/values-pt-rBR/strings.xml @@ -9,7 +9,6 @@ Selecionar da galeria Limpar imagem Comentar... - Atualizar Lista Entre com o nome da lista Selecione a conta do Google que deseja usar: @@ -54,7 +53,6 @@ Toque para definir Você não tem tarefas! \n Deseja inserir alguma? Ordenar - Sincronizar Agora Buscar Configurações Personalizar diff --git a/astrid/src/main/res/values-pt/strings.xml b/astrid/src/main/res/values-pt/strings.xml index 9710f3cff..f94ac2231 100644 --- a/astrid/src/main/res/values-pt/strings.xml +++ b/astrid/src/main/res/values-pt/strings.xml @@ -9,7 +9,6 @@ Escolher da galeria Limpar imagem Adicionar um comentário... - Recarregar Lista Escreva o nome da lista Escolha a conta Google a utilizar: @@ -56,7 +55,6 @@ Clique para definir Não existem tarefas!\nQuer adicionar uma? Ordenação - Sincronizar agora Procura Definições Personalizado diff --git a/astrid/src/main/res/values-ru/strings.xml b/astrid/src/main/res/values-ru/strings.xml index 5ccdc08df..342caee5b 100644 --- a/astrid/src/main/res/values-ru/strings.xml +++ b/astrid/src/main/res/values-ru/strings.xml @@ -9,7 +9,6 @@ Взять из галереи Убрать изображение Добавить комментарий... - Обновить Список Введите имя списка Выберите аккаунт Google, который вы хотите использовать: @@ -56,7 +55,6 @@ Нажмите для установки Нет задач! \n Добавить? Сортировка - Синхронизация Поиск Настройки Другой diff --git a/astrid/src/main/res/values-sl-rSI/strings.xml b/astrid/src/main/res/values-sl-rSI/strings.xml index 57dd62020..f87dfb906 100644 --- a/astrid/src/main/res/values-sl-rSI/strings.xml +++ b/astrid/src/main/res/values-sl-rSI/strings.xml @@ -9,7 +9,6 @@ Izberi iz Galerije Zbriši fotografijo Dodaj komentar... - Osveži Seznam Vnesi ime seznama Izberite želeni Google račun: @@ -58,7 +57,6 @@ Klikni za nastavitev Nimate zabeleženih opravkov!\n Dodava kakega? Razvrsti - Začni z usklajevanjem Iskanje Nastavitve Po meri diff --git a/astrid/src/main/res/values-sv/strings.xml b/astrid/src/main/res/values-sv/strings.xml index 704c2cd20..aa21b85c0 100644 --- a/astrid/src/main/res/values-sv/strings.xml +++ b/astrid/src/main/res/values-sv/strings.xml @@ -9,7 +9,6 @@ Välj från galleri Rensa bild Lägg till en kommentar... - Uppdatera Lista Ange listnamn Välj vilket Googlekonto du vill använda: @@ -51,7 +50,6 @@ Klicka för att ställa Du har inga uppgifter!\n Vill du lägga till någonting? Sortera - Synkronisera nu Sök Inställningar Egendefinierad diff --git a/astrid/src/main/res/values-tr/strings.xml b/astrid/src/main/res/values-tr/strings.xml index a880e3403..7b61bb98e 100644 --- a/astrid/src/main/res/values-tr/strings.xml +++ b/astrid/src/main/res/values-tr/strings.xml @@ -9,7 +9,6 @@ Galeriden Seç Resmi sil Yorum Gir - Yenile Liste İsmi: Liste adı girin Kullanmak istediğiniz Google hesabını seçin: @@ -52,7 +51,6 @@ Geri al Ayar İçin Dokun Hiç göreviniz yok! \n Bir şeyler eklemek nasıl olur? - Şimdi Eşle Ara Ayarlar Özel diff --git a/astrid/src/main/res/values-uk/strings.xml b/astrid/src/main/res/values-uk/strings.xml index 3e542c9f7..43e5ccdcf 100644 --- a/astrid/src/main/res/values-uk/strings.xml +++ b/astrid/src/main/res/values-uk/strings.xml @@ -9,7 +9,6 @@ Завантажити з Галереї Очистити Додати коментар - Оновити Список Введіть назву списку Виберіть обліковий запис Google для використання: @@ -59,7 +58,6 @@ Натисніть для установки У Вас немає завдань! \n Бажаєте щось додати? Сортувати - Синхронізувати Пошук Налаштування Користувальницький diff --git a/astrid/src/main/res/values-zh-rCN/strings.xml b/astrid/src/main/res/values-zh-rCN/strings.xml index 359e66806..9fd8f1937 100644 --- a/astrid/src/main/res/values-zh-rCN/strings.xml +++ b/astrid/src/main/res/values-zh-rCN/strings.xml @@ -9,7 +9,6 @@ 从相册中选取 取消选择 添加注释... - 刷新 列表名称: 添加列表名称 选择你要使用的Google账户 @@ -55,7 +54,6 @@ 撤消 点选 你没有任务 - 立即同步 搜索 设置 自定义 diff --git a/astrid/src/main/res/values-zh-rTW/strings.xml b/astrid/src/main/res/values-zh-rTW/strings.xml index 1847379dc..63b5ab657 100644 --- a/astrid/src/main/res/values-zh-rTW/strings.xml +++ b/astrid/src/main/res/values-zh-rTW/strings.xml @@ -9,7 +9,6 @@ 從圖庫選擇 清除圖片 添加評論 - 重新整理 列表名稱: 添加列表名稱 選擇您要使用的Google帳戶: @@ -56,7 +55,6 @@ 點選 無工作! 排序 - 立即同步 搜索 設定 自訂 diff --git a/astrid/src/main/res/values/colors.xml b/astrid/src/main/res/values/colors.xml index f8b5576d0..c96a52462 100644 --- a/astrid/src/main/res/values/colors.xml +++ b/astrid/src/main/res/values/colors.xml @@ -24,5 +24,10 @@ #dd000000 #303030 #dde1eb + + #ff33b5e5 + #ffffbb33 + #ff99cc00 + #ffff4444 diff --git a/astrid/src/main/res/values/strings-actfm.xml b/astrid/src/main/res/values/strings-actfm.xml index 5c2db756f..7a417bb9d 100644 --- a/astrid/src/main/res/values/strings-actfm.xml +++ b/astrid/src/main/res/values/strings-actfm.xml @@ -17,9 +17,6 @@ Add a comment... - - Refresh - List diff --git a/astrid/src/main/res/values/strings-core.xml b/astrid/src/main/res/values/strings-core.xml index 5339d6d1d..18c9075ce 100644 --- a/astrid/src/main/res/values/strings-core.xml +++ b/astrid/src/main/res/values/strings-core.xml @@ -57,9 +57,6 @@ Sort - - Sync Now - Search