Use SwipeRefreshLayout

pull/253/head
Alex Baker 10 years ago
parent 99618b45d8
commit 77625c2ff7

@ -16,7 +16,6 @@
<string name="DLG_close">إغلاق</string>
<string name="DLG_wait">إنتظر من فضلك...</string>
<string name="SyP_label">تحيين و نسخ احتياطي</string>
<string name="Sync_now_label">مزامنة فورية</string>
<string name="sync_SPr_group_status">الحالة</string>
<string name="sync_SPr_status_subtitle">الحالة: %s</string>
<string name="sync_status_loggedout">لم يتم تسجيل الدخول</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Ами сега, изглежда е станала грешка! Ето какво се случи:\n\n%s</string>
<string name="DLG_wait">Моля, изчакайте...</string>
<string name="SyP_label">Синхронизиране и Резервни копия</string>
<string name="Sync_now_label">Синхронизирай сега</string>
<string name="sync_SPr_group_status">Състояние</string>
<string name="sync_SPr_status_subtitle">Състояние: %s</string>
<string name="sync_status_ongoing">Синхронизирането продължава ...</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Jejda, vypadá to, že se vyskytla chyba! Tady je co se stalo:\n\n%s</string>
<string name="DLG_wait">Čekejte prosím...</string>
<string name="SyP_label">Synchronizace</string>
<string name="Sync_now_label">Synchronizovat ihned</string>
<string name="SyP_summary">Google Tasks, uložená data, lokální záloha</string>
<string name="sync_SPr_group_status">Stav</string>
<string name="sync_SPr_status_subtitle">Stav: %s</string>

@ -20,7 +20,6 @@
<string name="DLG_error">Ups, sieht aus, als ob ein Fehler aufgetreten ist! Folgendes ist passiert:\n\n%s</string>
<string name="DLG_wait">Bitte warten...</string>
<string name="SyP_label">Synchronisation &amp; Backup</string>
<string name="Sync_now_label">Jetzt synchronisieren</string>
<string name="SyP_summary">Google Tasks, Gespeicherte Daten, Lokale Backups</string>
<string name="sync_status_loggedout">Nicht angemeldet</string>
<string name="sync_status_ongoing">Synchronisierung läuft...</string>

@ -21,7 +21,6 @@
<string name="DLG_error">¡Uy, parece que ocurró un error! Esto es lo que pasó:\n\n%s</string>
<string name="DLG_wait">Por favor, espere...</string>
<string name="SyP_label">Sincronización y copia de seguridad</string>
<string name="Sync_now_label">Sincronizar ahora</string>
<string name="SyP_summary">Google Tasks, información guardada, copia de seguridad local</string>
<string name="sync_SPr_group_status">Estado</string>
<string name="sync_SPr_status_subtitle">Estado: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Oups, une erreur est survenue ! Voici ce qu\'il s\'est passé :\n\n%s</string>
<string name="DLG_wait">Veuillez patienter...</string>
<string name="SyP_label">Synchronisation</string>
<string name="Sync_now_label">Synchroniser maintenant</string>
<string name="SyP_summary">Tâches Google, données enregistrées, sauvegarde locale</string>
<string name="sync_SPr_group_status">Statut</string>
<string name="sync_SPr_status_subtitle">État : %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">אוּפְּס, נראה שארעה שגיאה! הנה מה שקה:\n\n%s</string>
<string name="DLG_wait">אנא המתן...</string>
<string name="SyP_label">סינכרון וגיבוי</string>
<string name="Sync_now_label">סנכרני כעת</string>
<string name="SyP_summary">אתר אסטריד, ״משימות גוגל״, מידע שמור, גיבוי מקומי</string>
<string name="sync_SPr_group_status">מצב</string>
<string name="sync_SPr_status_subtitle">מצב: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">エラーが発生しました! 発生した内容\n\n%s</string>
<string name="DLG_wait">お待ちください</string>
<string name="SyP_label">同期</string>
<string name="Sync_now_label">いますぐ同期</string>
<string name="SyP_summary">Google Tasks, 保存したデータ, ローカルのバックアップ</string>
<string name="sync_SPr_group_status">状況</string>
<string name="sync_SPr_status_subtitle">状況: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">에러가 발생한 것 같습니다! 발생한 에러는 다음과 같습니다:\n\n%s</string>
<string name="DLG_wait">잠시 기다리세요...</string>
<string name="SyP_label">동기화 &amp; 백업</string>
<string name="Sync_now_label">지금 동기화하기</string>
<string name="SyP_summary">구글 일정, 저장한 자료, 로컬 백업</string>
<string name="sync_SPr_group_status">상태</string>
<string name="sync_SPr_status_subtitle">상태: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Er is een fout opgetreden:\n\n%s</string>
<string name="DLG_wait">Even geduld a.u.b.</string>
<string name="SyP_label">Synchronisatie</string>
<string name="Sync_now_label">Nu synchroniseren</string>
<string name="SyP_summary">Google Taken, opgeslagen data, lokale back-up</string>
<string name="sync_status_loggedout">Niet aangemeld</string>
<string name="sync_status_ongoing">Synchronisatie bezig...</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Ups! Wygląda na to, że wystąpił jakiś błąd! Oto, co się stało:\n\n%s</string>
<string name="DLG_wait">Proszę czekać...</string>
<string name="SyP_label">Synchronizacja</string>
<string name="Sync_now_label">Zsynchronizuj</string>
<string name="SyP_summary">Zadania Google, zapisane dane, lokalna kopia zapasowa</string>
<string name="sync_SPr_group_status">Stan</string>
<string name="sync_status_loggedout">Niezalogowany</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Parece que ocorreu um erro! Isto foi o que aconteceu:\n\n%s</string>
<string name="DLG_wait">Por favor aguarde...</string>
<string name="SyP_label">Sincronização e backup</string>
<string name="Sync_now_label">Sincronizar agora</string>
<string name="SyP_summary">Tarefas Google, dados e backups</string>
<string name="sync_SPr_group_status">Estado</string>
<string name="sync_SPr_status_subtitle">Estado: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Ой, похоже произошла ошибка! Подробности ниже:\n\n%s</string>
<string name="DLG_wait">Пожалуйста, подождите…</string>
<string name="SyP_label">Синхронизация и резервное копирование</string>
<string name="Sync_now_label">Синхронизировать</string>
<string name="SyP_summary">Задачи Google, сохраненные данные, локальная резервная копия</string>
<string name="sync_SPr_group_status">Состояние</string>
<string name="sync_SPr_status_subtitle">Состояние: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">Ups, zdi se, da je prišlo do napake! Tole se je zgodilo:\n\n%s</string>
<string name="DLG_wait">Prosimo, počakajte...</string>
<string name="SyP_label">Uskladitev &amp; varnostna kopija</string>
<string name="Sync_now_label">Začni z usklajevanjem</string>
<string name="SyP_summary">Google Naloge, shranjeni podatki, varnostna kopija na napravi</string>
<string name="sync_status_loggedout">Niste prijavljeni</string>
<string name="sync_status_ongoing">Usklajevanje poteka...</string>

@ -20,7 +20,6 @@
<string name="DLG_error">Oj, det uppstod ett fel! Detta hände:\n\n%s</string>
<string name="DLG_wait">Var god vänta...</string>
<string name="SyP_label">Synkronisering</string>
<string name="Sync_now_label">Synkronisera nu</string>
<string name="SyP_summary">Google Aktiviteter, sparad data, lokal backup</string>
<string name="sync_status_loggedout">Ej inloggad</string>
<string name="sync_status_ongoing">Synkronisering pågår...</string>

@ -21,7 +21,6 @@
<string name="DLG_error">На жаль, схоже, сталася помилка! Ось що вийшло:\n\n%s</string>
<string name="DLG_wait">Будь ласка, зачекайте...</string>
<string name="SyP_label">Синхронізація і резерв. копіювання</string>
<string name="Sync_now_label">Синхронізувати</string>
<string name="SyP_summary">Google Tasks, збережені дані, локальне резервне копіювання</string>
<string name="sync_SPr_group_status">Статус</string>
<string name="sync_SPr_status_subtitle">Статус: %s</string>

@ -21,7 +21,6 @@
<string name="DLG_error">糟糕,發生錯誤!狀況是:\n\n%s</string>
<string name="DLG_wait">請稍候...</string>
<string name="SyP_label">同步和備份</string>
<string name="Sync_now_label">立即同步</string>
<string name="SyP_summary">谷歌任務,已存數據,本地備份</string>
<string name="sync_SPr_group_status">狀態</string>
<string name="sync_SPr_status_subtitle">狀態:%s</string>

@ -50,9 +50,6 @@
<!-- Sync Label: used in menu to denote synchronization -->
<string name="SyP_label">Sync &amp; backup</string>
<!-- Sync Label: used in menu to denote synchronization -->
<string name="Sync_now_label">Sync now</string>
<!-- Sync label subtitle -->
<string name="SyP_summary">Google Tasks, saved data, local backup</string>

@ -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);
}
}

@ -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);

@ -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 <tim@todoroo.com>
*
*/
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

@ -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);
}
}

@ -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.
*
* <p/>
* In order to make this work you need to call register() and unregister() in
* onResume and onPause, respectively.
*
* @author Tim Su <tim@astrid.com>
*
*/
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 <joshua.gross@gmail.com>
*/
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<ResolveInfo> resolveInfoList = pm.queryIntentActivities(
queryIntent, PackageManager.GET_META_DATA);
ArrayList<Intent> 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 <TYPE> void showSyncOptionMenu(TYPE[] items, DialogInterface.OnClickListener listener) {
if (items.length == 1) {
listener.onClick(null, 0);
return;
return false;
}
ArrayAdapter<TYPE> 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);
}
}

@ -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);
}
}

@ -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);

@ -1,31 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="100">
<!-- No Tasks label -->
<TextView android:id="@android:id/empty"
android:drawableTop="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:visibility="gone"
android:clickable="true"
android:text="@string/TLA_no_items"
style="@style/TextAppearance.TLA_NoItems"/>
<!-- Task List -->
<ListView android:id="@android:id/list"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/ListView" />
</FrameLayout>
android:layout_height="wrap_content">
<ListView
android:id="@android:id/list"
style="@style/ListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout_empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/empty_text"
style="@style/TextAppearance.TLA_NoItems"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:drawableTop="@drawable/icon"
android:gravity="center"
android:text="@string/TLA_no_items" />
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>

@ -1,32 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="100">
<!-- No Tasks label -->
<TextView android:id="@android:id/empty"
android:drawableTop="@drawable/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:visibility="gone"
android:clickable="true"
android:text="@string/TLA_no_items"
style="@style/TextAppearance.TLA_NoItems"/>
<com.todoroo.astrid.ui.DraggableListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/list"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<com.todoroo.astrid.ui.DraggableListView
android:id="@android:id/list"
style="@style/ListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false" />
</android.support.v4.widget.SwipeRefreshLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_layout_empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
style="@style/ListView" />
</FrameLayout>
android:layout_height="wrap_content">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/empty_text"
style="@style/TextAppearance.TLA_NoItems"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
android:drawableTop="@drawable/icon"
android:gravity="center"
android:text="@string/TLA_no_items" />
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>

@ -22,10 +22,6 @@
android:id="@+id/menu_sort"
android:title="@string/TLA_menu_sort"
tasks:showAsAction="never" />
<item
android:id="@+id/menu_sync"
android:title="@string/TLA_menu_sync"
tasks:showAsAction="never" />
<item
android:id="@+id/menu_clear_completed"
android:title="@string/gtasks_GTA_clear_completed"

@ -12,7 +12,6 @@
<string name="WID_dateButtonUnset">اضغط لتعيين</string>
<string name="TLA_no_items">لا يوجد لديك مهام! \n هل تريد أن تضيف شيئا؟</string>
<string name="TLA_menu_sort">رتب</string>
<string name="TLA_menu_sync">المزامنة الآن</string>
<string name="TLA_menu_search">ابحث</string>
<string name="TAd_actionEditTask">تعديل</string>
<string name="TAd_contextDeleteTask">حذف المهمة</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Tria una imatge de la galeria</string>
<string name="actfm_picture_clear">Neteja la selecció d\'imatge</string>
<string name="TVA_add_comment">Afegiu un comentari...</string>
<string name="actfm_TVA_menu_refresh">Actualitza</string>
<string name="actfm_TVA_tag_label">Llista</string>
<string name="actfm_TVA_tag_name_hint">Escriviu el nom de la llista</string>
<string name="actfm_GAA_title">Trieu el compte de Google que vulgueu utilitzar:</string>
@ -54,7 +53,6 @@
<string name="WID_dateButtonUnset">Prem per establir</string>
<string name="TLA_no_items">No teniu tasques! \n Voleu afegir alguna cosa?</string>
<string name="TLA_menu_sort">Ordenació i subtasques</string>
<string name="TLA_menu_sync">Sincronitza ara</string>
<string name="TLA_menu_search">Cerca</string>
<string name="TLA_menu_settings">Paràmetres</string>
<string name="TLA_custom">Personalitzat</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Vybrat obrázek z galerie</string>
<string name="actfm_picture_clear">Odebrat obrázek</string>
<string name="TVA_add_comment">Přidej comment...</string>
<string name="actfm_TVA_menu_refresh">Obnovit</string>
<string name="actfm_TVA_tag_label">Název listu:</string>
<string name="actfm_TVA_tag_name_hint">Název seznamu</string>
<string name="actfm_GAA_title">Vyberte, který účet Google chcete použít:</string>
@ -55,7 +54,6 @@
<string name="WID_dateButtonUnset">Klikni pro nastavení</string>
<string name="TLA_no_items">Žádné úkoly!</string>
<string name="TLA_menu_sort">Třídit</string>
<string name="TLA_menu_sync">Sychronizovat</string>
<string name="TLA_menu_search">Hledat</string>
<string name="TLA_menu_settings">Nastavení</string>
<string name="TLA_custom">Vlastní</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Vælg fra galleri</string>
<string name="actfm_picture_clear">Ryd markering</string>
<string name="TVA_add_comment">Tilføj en kommentar</string>
<string name="actfm_TVA_menu_refresh">Opdater</string>
<string name="actfm_TVA_tag_label">Listenavn</string>
<string name="actfm_GAA_title">Vælg den Google-konto du vil anvende:</string>
<string name="alarm_ACS_label">Alarmer</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Aus Galerie wählen</string>
<string name="actfm_picture_clear">Bild entfernen</string>
<string name="TVA_add_comment">Kommentar hinzufügen …</string>
<string name="actfm_TVA_menu_refresh">Aktualisieren</string>
<string name="actfm_TVA_tag_label">Liste</string>
<string name="actfm_TVA_tag_name_hint">Vergebe einen Listennamen</string>
<string name="actfm_GAA_title">Wählen Sie den zu verwendenden Google-Account aus:</string>
@ -50,7 +49,6 @@
<string name="WID_dateButtonUnset">Klicken zur Bestätigung</string>
<string name="TLA_no_items">Sie haben keine Aufgaben! \n Möchten Sie welche hinzufügen?</string>
<string name="TLA_menu_sort">Sortieren</string>
<string name="TLA_menu_sync">Jetzt synchronisieren</string>
<string name="TLA_menu_search">Suchen</string>
<string name="TLA_menu_settings">Einstellungen</string>
<string name="TLA_custom">Benutzerdefiniert</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Elegir de la galería</string>
<string name="actfm_picture_clear">Borrar imagen</string>
<string name="TVA_add_comment">Añadir un comentario...</string>
<string name="actfm_TVA_menu_refresh">Actualizar</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Indique nombre de lista</string>
<string name="actfm_GAA_title">Seleccione la cuenta de Google que desea usar:</string>
@ -56,7 +55,6 @@
<string name="WID_dateButtonUnset">Pulsar para establecer</string>
<string name="TLA_no_items">No tienes tareas! \n Quieres agregar alguna?</string>
<string name="TLA_menu_sort">Ordenar</string>
<string name="TLA_menu_sync">Sincronizar ahora</string>
<string name="TLA_menu_search">Buscar</string>
<string name="TLA_menu_settings">Configuración</string>
<string name="TLA_custom">Personalizar</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Choisir depuis la galerie</string>
<string name="actfm_picture_clear">Supprimer l\'image</string>
<string name="TVA_add_comment">Ajouter un commentaire</string>
<string name="actfm_TVA_menu_refresh">Mettre à jour</string>
<string name="actfm_TVA_tag_label">Nom de la liste :</string>
<string name="actfm_TVA_tag_name_hint">Entrez un nom de liste</string>
<string name="actfm_GAA_title">Sélectionnez le compte Google que vous voulez utiliser :</string>
@ -54,7 +53,6 @@
<string name="WID_dateButtonUnset">Cliquez pour définir</string>
<string name="TLA_no_items">Aucune tâche ! \n Voulez-vous en créer une ?</string>
<string name="TLA_menu_sort">Trier</string>
<string name="TLA_menu_sync">Synchroniser maintenant</string>
<string name="TLA_menu_search">Rechercher</string>
<string name="TLA_menu_settings">Paramètres</string>
<string name="TLA_custom">Personnalisé</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Scegli dalla Galleria</string>
<string name="actfm_picture_clear">Deseleziona Immagine</string>
<string name="TVA_add_comment">Aggiungi un commento...</string>
<string name="actfm_TVA_menu_refresh">Aggiorna</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Inserisci il nome della lista</string>
<string name="actfm_GAA_title">Seleziona l\'account Google che vuoi utilizzare:</string>
@ -53,7 +52,6 @@
<string name="DLG_undo">Annulla l\'ultima azione</string>
<string name="WID_dateButtonUnset">Clicca per Impostare</string>
<string name="TLA_no_items">Nessuna Attività!</string>
<string name="TLA_menu_sync">Sincronizza Ora</string>
<string name="TLA_menu_search">Cerca</string>
<string name="TLA_menu_settings">Impostazioni</string>
<string name="TLA_custom">Personalizzato</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">בחר מגלריה</string>
<string name="actfm_picture_clear">הסר תמונה</string>
<string name="TVA_add_comment">הוסף הערה</string>
<string name="actfm_TVA_menu_refresh">רַעְנֵן</string>
<string name="actfm_TVA_tag_label">רשימה</string>
<string name="actfm_TVA_tag_name_hint">הכנס שם רשימה</string>
<string name="actfm_GAA_title">בחר חשבון גוגל</string>
@ -56,7 +55,6 @@
<string name="WID_dateButtonUnset">הקלק כדי לקבוע</string>
<string name="TLA_no_items">אין לך משימות!\n הֲתִּרְצֶה להוסיף משימה?</string>
<string name="TLA_menu_sort">מיון</string>
<string name="TLA_menu_sync">סנכרני כעת</string>
<string name="TLA_menu_search">חיפוש</string>
<string name="TLA_menu_settings">הגדרות</string>
<string name="TLA_custom">מותאם אישית</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">ギャラリーから選択</string>
<string name="actfm_picture_clear">写真を削除</string>
<string name="TVA_add_comment">コメントする</string>
<string name="actfm_TVA_menu_refresh">更新</string>
<string name="actfm_TVA_tag_label">リスト</string>
<string name="actfm_TVA_tag_name_hint">リスト名を記入してください</string>
<string name="actfm_GAA_title">使用したいGoogleアカウントを選択してください:</string>
@ -55,7 +54,6 @@
<string name="WID_dateButtonUnset">入力する</string>
<string name="TLA_no_items">タスクなし</string>
<string name="TLA_menu_sort">ソート</string>
<string name="TLA_menu_sync">いますぐ同期</string>
<string name="TLA_menu_search">検索</string>
<string name="TLA_menu_settings">設定</string>
<string name="TLA_custom">カスタムフィルタ</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">갤러리에서 가져오기</string>
<string name="actfm_picture_clear">사진 제거하기</string>
<string name="TVA_add_comment">댓글 쓰기...</string>
<string name="actfm_TVA_menu_refresh">새로고침</string>
<string name="actfm_TVA_tag_label">목록</string>
<string name="actfm_TVA_tag_name_hint">목록 이름을 입력하세요</string>
<string name="actfm_GAA_title">사용하려는 구글 계정을 선택해 주십시오:</string>
@ -59,7 +58,6 @@
<string name="WID_dateButtonUnset">누르세요</string>
<string name="TLA_no_items">일정이 없네요!\n추가할까요?</string>
<string name="TLA_menu_sort">정렬</string>
<string name="TLA_menu_sync">지금 동기화</string>
<string name="TLA_menu_search">검색</string>
<string name="TLA_menu_settings">설정</string>
<string name="TLA_custom">사용자 설정</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Kies uit de Galerij</string>
<string name="actfm_picture_clear">Verwijder Foto</string>
<string name="TVA_add_comment">Voeg een opmerking toe</string>
<string name="actfm_TVA_menu_refresh">Vernieuwen</string>
<string name="actfm_TVA_tag_label">Lijst</string>
<string name="actfm_TVA_tag_name_hint">Geef de lijst een naam</string>
<string name="actfm_GAA_title">Selecteer de Google account die je wil gebruiken:</string>
@ -54,7 +53,6 @@
<string name="WID_dateButtonUnset">Klikken om in te stellen</string>
<string name="TLA_no_items">U heeft geen taken! \n Taak toevoegen?</string>
<string name="TLA_menu_sort">Sorteren</string>
<string name="TLA_menu_sync">Nu Synchroniseren</string>
<string name="TLA_menu_search">Zoek</string>
<string name="TLA_menu_settings">Instellingen</string>
<string name="TLA_custom">Aangepast</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Wybierz z galerii</string>
<string name="actfm_picture_clear">Usuń obrazek</string>
<string name="TVA_add_comment">Dodaj komentarz...</string>
<string name="actfm_TVA_menu_refresh">Odśwież</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Podaj nazwę listy</string>
<string name="actfm_GAA_title">Wybierz konto Google, którego chcesz użyć:</string>
@ -52,7 +51,6 @@
<string name="WID_dateButtonUnset">Kliknij, aby ustawić</string>
<string name="TLA_no_items">Brak zadań!</string>
<string name="TLA_menu_sort">Sortowanie</string>
<string name="TLA_menu_sync">Zsynchronizuj</string>
<string name="TLA_menu_search">Szukaj</string>
<string name="TLA_menu_settings">Ustawienia</string>
<string name="TLA_custom">Własny filtr</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Selecionar da galeria</string>
<string name="actfm_picture_clear">Limpar imagem</string>
<string name="TVA_add_comment">Comentar...</string>
<string name="actfm_TVA_menu_refresh">Atualizar</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Entre com o nome da lista</string>
<string name="actfm_GAA_title">Selecione a conta do Google que deseja usar:</string>
@ -54,7 +53,6 @@
<string name="WID_dateButtonUnset">Toque para definir</string>
<string name="TLA_no_items">Você não tem tarefas! \n Deseja inserir alguma?</string>
<string name="TLA_menu_sort">Ordenar</string>
<string name="TLA_menu_sync">Sincronizar Agora</string>
<string name="TLA_menu_search">Buscar</string>
<string name="TLA_menu_settings">Configurações</string>
<string name="TLA_custom">Personalizar</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Escolher da galeria</string>
<string name="actfm_picture_clear">Limpar imagem</string>
<string name="TVA_add_comment">Adicionar um comentário...</string>
<string name="actfm_TVA_menu_refresh">Recarregar</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Escreva o nome da lista</string>
<string name="actfm_GAA_title">Escolha a conta Google a utilizar:</string>
@ -56,7 +55,6 @@
<string name="WID_dateButtonUnset">Clique para definir</string>
<string name="TLA_no_items">Não existem tarefas!\nQuer adicionar uma?</string>
<string name="TLA_menu_sort">Ordenação</string>
<string name="TLA_menu_sync">Sincronizar agora</string>
<string name="TLA_menu_search">Procura</string>
<string name="TLA_menu_settings">Definições</string>
<string name="TLA_custom">Personalizado</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Взять из галереи</string>
<string name="actfm_picture_clear">Убрать изображение</string>
<string name="TVA_add_comment">Добавить комментарий...</string>
<string name="actfm_TVA_menu_refresh">Обновить</string>
<string name="actfm_TVA_tag_label">Список</string>
<string name="actfm_TVA_tag_name_hint">Введите имя списка</string>
<string name="actfm_GAA_title">Выберите аккаунт Google, который вы хотите использовать:</string>
@ -56,7 +55,6 @@
<string name="WID_dateButtonUnset">Нажмите для установки</string>
<string name="TLA_no_items">Нет задач! \n Добавить?</string>
<string name="TLA_menu_sort">Сортировка</string>
<string name="TLA_menu_sync">Синхронизация</string>
<string name="TLA_menu_search">Поиск</string>
<string name="TLA_menu_settings">Настройки</string>
<string name="TLA_custom">Другой</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Izberi iz Galerije</string>
<string name="actfm_picture_clear">Zbriši fotografijo</string>
<string name="TVA_add_comment">Dodaj komentar...</string>
<string name="actfm_TVA_menu_refresh">Osveži</string>
<string name="actfm_TVA_tag_label">Seznam</string>
<string name="actfm_TVA_tag_name_hint">Vnesi ime seznama</string>
<string name="actfm_GAA_title">Izberite želeni Google račun:</string>
@ -58,7 +57,6 @@
<string name="WID_dateButtonUnset">Klikni za nastavitev</string>
<string name="TLA_no_items">Nimate zabeleženih opravkov!\n Dodava kakega?</string>
<string name="TLA_menu_sort">Razvrsti</string>
<string name="TLA_menu_sync">Začni z usklajevanjem</string>
<string name="TLA_menu_search">Iskanje</string>
<string name="TLA_menu_settings">Nastavitve</string>
<string name="TLA_custom">Po meri</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Välj från galleri</string>
<string name="actfm_picture_clear">Rensa bild</string>
<string name="TVA_add_comment">Lägg till en kommentar...</string>
<string name="actfm_TVA_menu_refresh">Uppdatera</string>
<string name="actfm_TVA_tag_label">Lista</string>
<string name="actfm_TVA_tag_name_hint">Ange listnamn</string>
<string name="actfm_GAA_title">Välj vilket Googlekonto du vill använda:</string>
@ -51,7 +50,6 @@
<string name="WID_dateButtonUnset">Klicka för att ställa</string>
<string name="TLA_no_items">Du har inga uppgifter!\n Vill du lägga till någonting?</string>
<string name="TLA_menu_sort">Sortera</string>
<string name="TLA_menu_sync">Synkronisera nu</string>
<string name="TLA_menu_search">Sök</string>
<string name="TLA_menu_settings">Inställningar</string>
<string name="TLA_custom">Egendefinierad</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Galeriden Seç</string>
<string name="actfm_picture_clear">Resmi sil</string>
<string name="TVA_add_comment">Yorum Gir</string>
<string name="actfm_TVA_menu_refresh">Yenile</string>
<string name="actfm_TVA_tag_label">Liste İsmi:</string>
<string name="actfm_TVA_tag_name_hint">Liste adı girin</string>
<string name="actfm_GAA_title">Kullanmak istediğiniz Google hesabını seçin:</string>
@ -52,7 +51,6 @@
<string name="DLG_undo">Geri al</string>
<string name="WID_dateButtonUnset">Ayar İçin Dokun</string>
<string name="TLA_no_items">Hiç göreviniz yok! \n Bir şeyler eklemek nasıl olur?</string>
<string name="TLA_menu_sync">Şimdi Eşle</string>
<string name="TLA_menu_search">Ara</string>
<string name="TLA_menu_settings">Ayarlar</string>
<string name="TLA_custom">Özel</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">Завантажити з Галереї</string>
<string name="actfm_picture_clear">Очистити</string>
<string name="TVA_add_comment">Додати коментар</string>
<string name="actfm_TVA_menu_refresh">Оновити</string>
<string name="actfm_TVA_tag_label">Список</string>
<string name="actfm_TVA_tag_name_hint">Введіть назву списку</string>
<string name="actfm_GAA_title">Виберіть обліковий запис Google для використання:</string>
@ -59,7 +58,6 @@
<string name="WID_dateButtonUnset">Натисніть для установки</string>
<string name="TLA_no_items">У Вас немає завдань! \n Бажаєте щось додати?</string>
<string name="TLA_menu_sort">Сортувати</string>
<string name="TLA_menu_sync">Синхронізувати</string>
<string name="TLA_menu_search">Пошук</string>
<string name="TLA_menu_settings">Налаштування</string>
<string name="TLA_custom">Користувальницький</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">从相册中选取</string>
<string name="actfm_picture_clear">取消选择</string>
<string name="TVA_add_comment">添加注释...</string>
<string name="actfm_TVA_menu_refresh">刷新</string>
<string name="actfm_TVA_tag_label">列表名称:</string>
<string name="actfm_TVA_tag_name_hint">添加列表名称</string>
<string name="actfm_GAA_title">选择你要使用的Google账户</string>
@ -55,7 +54,6 @@
<string name="DLG_undo">撤消</string>
<string name="WID_dateButtonUnset">点选</string>
<string name="TLA_no_items">你没有任务</string>
<string name="TLA_menu_sync">立即同步</string>
<string name="TLA_menu_search">搜索</string>
<string name="TLA_menu_settings">设置</string>
<string name="TLA_custom">自定义</string>

@ -9,7 +9,6 @@
<string name="actfm_picture_gallery">從圖庫選擇</string>
<string name="actfm_picture_clear">清除圖片</string>
<string name="TVA_add_comment">添加評論</string>
<string name="actfm_TVA_menu_refresh">重新整理</string>
<string name="actfm_TVA_tag_label">列表名稱:</string>
<string name="actfm_TVA_tag_name_hint">添加列表名稱</string>
<string name="actfm_GAA_title">選擇您要使用的Google帳戶</string>
@ -56,7 +55,6 @@
<string name="WID_dateButtonUnset">點選</string>
<string name="TLA_no_items">無工作!</string>
<string name="TLA_menu_sort">排序</string>
<string name="TLA_menu_sync">立即同步</string>
<string name="TLA_menu_search">搜索</string>
<string name="TLA_menu_settings">設定</string>
<string name="TLA_custom">自訂</string>

@ -24,5 +24,10 @@
<color name="widget_body_dark">#dd000000</color>
<color name="task_row_bg_dark_pressed">#303030</color>
<color name="task_row_bg_white_pressed">#dde1eb</color>
<color name="refresh_color_1">#ff33b5e5</color>
<color name="refresh_color_2">#ffffbb33</color>
<color name="refresh_color_3">#ff99cc00</color>
<color name="refresh_color_4">#ffff4444</color>
</resources>

@ -17,9 +17,6 @@
<!-- Tag View Activity: Add Comment hint -->
<string name="TVA_add_comment">Add a comment...</string>
<!-- Tag View Menu: refresh -->
<string name="actfm_TVA_menu_refresh">Refresh</string>
<!-- Tag Settings: tag name label -->
<string name="actfm_TVA_tag_label">List</string>

@ -57,9 +57,6 @@
<!-- Menu: Adjust Sort and Hidden Task Settings -->
<string name="TLA_menu_sort">Sort</string>
<!-- Menu: Sync Now -->
<string name="TLA_menu_sync">Sync Now</string>
<!-- Menu: Search -->
<string name="TLA_menu_search">Search</string>

Loading…
Cancel
Save