Merge branch 'master' into unifiedtabletphone-ui

Conflicts:
	astrid/AndroidManifest.xml
	astrid/plugin-src/com/todoroo/astrid/actfm/TagViewActivity.java
	astrid/src/com/todoroo/astrid/activity/FilterListActivity.java
	astrid/src/com/todoroo/astrid/activity/TaskEditActivity.java
	astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
	astrid/src/com/todoroo/astrid/welcome/SplashScreenLauncher.java
	astrid/src/com/todoroo/astrid/welcome/WelcomeGraphic.java
pull/14/head
Arne Jans 13 years ago
commit 27010eb6cd

@ -123,7 +123,7 @@ public class DialogUtilities {
final String text, final DialogInterface.OnClickListener okListener,
final DialogInterface.OnClickListener cancelListener) {
okCancelCustomDialog(activity, title, text, android.R.string.ok, android.R.string.cancel, okListener, cancelListener);
okCancelCustomDialog(activity, title, text, android.R.string.ok, android.R.string.cancel, android.R.drawable.ic_dialog_alert, okListener, cancelListener);
}
/**
@ -138,7 +138,7 @@ public class DialogUtilities {
final DialogInterface.OnClickListener okListener,
final DialogInterface.OnClickListener cancelListener) {
okCancelCustomDialog(activity, activity.getString(R.string.DLG_confirm_title), text, android.R.string.ok, android.R.string.cancel, okListener, cancelListener);
okCancelCustomDialog(activity, activity.getString(R.string.DLG_confirm_title), text, android.R.string.ok, android.R.string.cancel, android.R.drawable.ic_dialog_alert, okListener, cancelListener);
}
@ -148,6 +148,7 @@ public class DialogUtilities {
public static void okCancelCustomDialog(final Activity activity, final String title, final String text,
final int okTitleId, final int cancelTitleId,
final int icon,
final DialogInterface.OnClickListener okListener,
final DialogInterface.OnClickListener cancelListener) {
if(activity.isFinishing())
@ -159,7 +160,7 @@ public class DialogUtilities {
.setTitle(R.string.DLG_confirm_title)
.setMessage(text)
.setTitle(title)
.setIcon(android.R.drawable.ic_dialog_alert)
.setIcon(icon)
.setPositiveButton(okTitleId, okListener)
.setNegativeButton(cancelTitleId, cancelListener)
.show().setOwnerActivity(activity);

@ -155,8 +155,7 @@ public abstract class SyncProvider<TYPE extends SyncContainer> {
((Activity) context).runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(context, R.string.SyP_progress_toast,
Toast.LENGTH_LONG).show();
makeSyncToast(context);
}
});
}
@ -184,6 +183,11 @@ public abstract class SyncProvider<TYPE extends SyncContainer> {
}
}
protected void makeSyncToast(Context context) {
Toast.makeText(context, R.string.SyP_progress_toast,
Toast.LENGTH_LONG).show();
}
// --- synchronization logic
/**

@ -27,6 +27,6 @@
<classpathentry exported="true" kind="lib" path="libs/gson-1.6.jar"/>
<classpathentry exported="true" kind="lib" path="libs/google-api-services-tasks-v1-1.2.5-beta.jar"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry exported="true" kind="lib" path="libs/crittercism_v1_1_1.jar"/>
<classpathentry kind="lib" path="libs/crittercism_v1_1_3.jar"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.timsu.astrid"
android:versionName="3.9.0.1"
android:versionCode="203">
android:versionName="3.9.0.2"
android:versionCode="204">
<!-- widgets, alarms, and services will break if Astrid is installed on SD card -->
<!-- android:installLocation="internalOnly"> -->
@ -73,22 +73,16 @@
<!-- ====================================================== Activities = -->
<!-- Activity that displays task list -->
<activity android:name="com.todoroo.astrid.welcome.SplashScreenLauncher"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.todoroo.astrid.welcome.WelcomeLogin"
android:windowSoftInputMode="stateHidden"
android:screenOrientation="portrait">
</activity>
<activity android:name="com.todoroo.astrid.welcome.WelcomeGraphic"
android:windowSoftInputMode="stateHidden">
</activity>
<activity android:name="com.todoroo.astrid.activity.TaskListWrapperActivity"
android:windowSoftInputMode="stateHidden">
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
@ -344,7 +338,7 @@
</intent-filter>
</receiver>
<activity android:name="com.todoroo.astrid.actfm.TagViewWrapperActivity"
android:windowSoftInputMode="stateHidden"
android:windowSoftInputMode="stateHidden|adjustResize"
android:theme="@style/Theme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@ -379,7 +373,7 @@
<!-- gtasks -->
<activity android:name="com.todoroo.astrid.gtasks.GtasksListActivity"
android:windowSoftInputMode="stateHidden"
android:windowSoftInputMode="stateHidden|adjustResize"
android:theme="@style/Theme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

@ -351,19 +351,24 @@ public class C2DMReceiver extends BroadcastReceiver {
}
private void handleRegistration(Intent intent) {
String registration = intent.getStringExtra("registration_id");
final String registration = intent.getStringExtra("registration_id");
if (intent.getStringExtra("error") != null) {
Log.w("astrid-actfm", "error-c2dm: " + intent.getStringExtra("error"));
} else if (intent.getStringExtra("unregistered") != null) {
// un-registration done
} else if (registration != null) {
try {
DependencyInjectionService.getInstance().inject(this);
actFmSyncService.invoke("user_set_c2dm", "c2dm", registration);
Preferences.setString(PREF_REGISTRATION, registration);
} catch (IOException e) {
Log.e("astrid-actfm", "error-c2dm-transfer", e);
}
DependencyInjectionService.getInstance().inject(this);
new Thread() {
@Override
public void run() {
try {
actFmSyncService.invoke("user_set_c2dm", "c2dm", registration);
Preferences.setString(PREF_REGISTRATION, registration);
} catch (IOException e) {
Log.e("astrid-actfm", "error-c2dm-transfer", e);
}
}
}.start();
}
}
@ -372,11 +377,16 @@ public class C2DMReceiver extends BroadcastReceiver {
if(Preferences.getStringValue(PREF_REGISTRATION) != null)
return;
Context context = ContextManager.getContext();
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(context, 0, new Intent(), 0)); // boilerplate
registrationIntent.putExtra("sender", C2DM_SENDER);
context.startService(registrationIntent);
new Thread() {
@Override
public void run() {
Context context = ContextManager.getContext();
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(context, 0, new Intent(), 0)); // boilerplate
registrationIntent.putExtra("sender", C2DM_SENDER);
context.startService(registrationIntent);
}
}.start();
}
/** unregister with c2dm service */

@ -124,10 +124,6 @@ public class ActFmLoginActivity extends Activity implements AuthListener {
DependencyInjectionService.getInstance().inject(this);
}
protected void finishAndShowNext() {
finish();
}
@SuppressWarnings("nls")
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -464,7 +460,7 @@ public class ActFmLoginActivity extends Activity implements AuthListener {
result.optString("picture"));
setResult(RESULT_OK);
finishAndShowNext();
finish();
if (!noSync) {
new ActFmSyncProvider().synchronize(ActFmLoginActivity.this);

@ -15,6 +15,7 @@ import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.text.TextUtils;
@ -58,6 +59,7 @@ import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.service.TaskService;
import com.todoroo.astrid.service.ThemeService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.ui.PeopleContainer;
import com.todoroo.astrid.ui.PeopleContainer.OnAddNewPersonListener;
@ -102,6 +104,8 @@ public class EditPeopleControlSet extends PopupControlSet {
private final EditText assignedCustom;
private final View assignedClear;
private final ArrayList<AssignedToUser> listValues = new ArrayList<AssignedToUser>();
private String saveToast = null;
@ -122,7 +126,7 @@ public class EditPeopleControlSet extends PopupControlSet {
sharedWithRow = LayoutInflater.from(activity).inflate(R.layout.control_set_collaborators_display, null);
sharedWithView = LayoutInflater.from(activity).inflate(R.layout.control_set_collaborators, null);
sharedWithDialog = new Dialog(activity, 0);
sharedWithDialog = new Dialog(activity, ThemeService.getDialogTheme());
sharedWithDialog.setTitle(R.string.actfm_EPA_collaborators_header);
View v = getSharedWithView();
DisplayMetrics metrics = new DisplayMetrics();
@ -143,6 +147,7 @@ public class EditPeopleControlSet extends PopupControlSet {
assignedList = (ListView) getView().findViewById(R.id.assigned_list);
assignedList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
assignedList.setItemsCanFocus(false);
assignedClear = getView().findViewById(R.id.assigned_clear);
assignedDisplay = (TextView) getDisplayView().findViewById(R.id.assigned_display);
sharedWithContainer = (PeopleContainer) getSharedWithView().findViewById(R.id.share_container);
@ -262,7 +267,6 @@ public class EditPeopleControlSet extends PopupControlSet {
name.setText(person.optString("name"));
name.setTextAppearance(activity, R.style.TextAppearance_Medium);
tag.setText(activity.getString(R.string.actfm_EPA_list, person.optString("tag")));
tag.setTextAppearance(activity, android.R.style.TextAppearance);
collaborators.addView(contact);
}
@ -301,9 +305,11 @@ public class EditPeopleControlSet extends PopupControlSet {
myself.put("id", 0L);
sharedPeople.add(0, myself);
JSONObject unassigned = new JSONObject();
unassigned.put("id", -1L);
sharedPeople.add(1, unassigned);
if (actFmPreferenceService.isLoggedIn()) {
JSONObject unassigned = new JSONObject();
unassigned.put("id", -1L);
sharedPeople.add(1, unassigned);
}
// de-duplicate by user id and/or email
listValues.clear();
@ -388,6 +394,11 @@ public class EditPeopleControlSet extends PopupControlSet {
convertView = activity.getLayoutInflater().inflate(R.layout.assigned_adapter_row, parent, false);
CheckedTextView ctv = (CheckedTextView) convertView.findViewById(android.R.id.text1);
super.getView(position, ctv, parent);
if (assignedList.getCheckedItemPosition() == position) {
ctv.setChecked(true);
} else {
ctv.setChecked(false);
}
AsyncImageView image = (AsyncImageView) convertView.findViewById(R.id.person_image);
image.setDefaultImageResource(R.drawable.icn_default_person_image);
if (position == 0) {
@ -402,8 +413,11 @@ public class EditPeopleControlSet extends PopupControlSet {
}
}
private void assignToMe() {
assignedClear.performClick();
}
private void setUpListeners() {
final View assignedClear = getView().findViewById(R.id.assigned_clear);
assignedList.setOnItemClickListener(new OnItemClickListener() {
@Override
@ -516,8 +530,27 @@ public class EditPeopleControlSet extends PopupControlSet {
JSONObject sharedWith = parseSharedWithAndTags();
dirty = dirty || sharedWith.has("p");
if(dirty && !actFmPreferenceService.isLoggedIn()) {
activity.startActivityForResult(new Intent(activity, ActFmLoginActivity.class),
loginRequestCode);
DialogInterface.OnClickListener okListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
activity.startActivityForResult(new Intent(activity, ActFmLoginActivity.class),
loginRequestCode);
}
};
DialogInterface.OnClickListener cancelListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
makePrivateTask();
AssignedToUser me = (AssignedToUser) assignedList.getAdapter().getItem(0);
task.setValue(Task.USER_ID, me.user.optLong("id", -2));
task.setValue(Task.USER, me.user.toString());
}
};
DialogUtilities.okCancelCustomDialog(activity, activity.getString(R.string.actfm_EPA_login_button),
activity.getString(R.string.actfm_EPA_login_to_share), R.string.actfm_EPA_login_button,
R.string.actfm_EPA_dont_share_button, android.R.drawable.ic_dialog_alert, okListener, cancelListener);
return false;
}
@ -546,6 +579,13 @@ public class EditPeopleControlSet extends PopupControlSet {
return false;
}
private void makePrivateTask() {
assignToMe();
sharedWithContainer.removeAllViews();
sharedWithContainer.addPerson("");
refreshDisplayView();
}
private void showSaveToast() {
int length = saveToast.indexOf('\n') > -1 ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT;
Toast.makeText(activity, saveToast, length).show();
@ -621,11 +661,19 @@ public class EditPeopleControlSet extends PopupControlSet {
task.setValue(Task.DETAILS_DATE, 0L);
readTagData(result.getJSONArray("tags"));
JsonHelper.readUser(result.getJSONObject("assignee"),
JSONObject assignee = result.getJSONObject("assignee");
JsonHelper.readUser(assignee,
task, Task.USER_ID, Task.USER);
Flags.set(Flags.ACTFM_SUPPRESS_SYNC);
taskService.save(task);
String assignedName = assignee.optString("name");
long id = assignee.optLong("id", -2);
if (!(id == -2 || id == ActFmPreferenceService.userId() || assignedName == null)) {
saveToast += "\n" +
activity.getString(R.string.actfm_EPA_assigned_toast, assignedName);
}
int count = result.optInt("shared", 0);
if(count > 0) {
saveToast += "\n" +
@ -737,6 +785,8 @@ public class EditPeopleControlSet extends PopupControlSet {
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == loginRequestCode && resultCode == Activity.RESULT_OK)
saveSharingSettings(saveToast);
else if (requestCode == loginRequestCode)
makePrivateTask();
}
@Override

@ -9,6 +9,7 @@ import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
@ -17,6 +18,7 @@ import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
@ -101,7 +103,7 @@ public class TagSettingsActivity extends Activity {
private void showCollaboratorsPopover() {
if (!Preferences.getBoolean(R.string.p_showed_collaborators_help, false)) {
View members = findViewById(R.id.members_container);
HelpInfoPopover.showPopover(this, members, R.string.help_popover_collaborators);
HelpInfoPopover.showPopover(this, members, R.string.help_popover_collaborators, null);
Preferences.setBoolean(R.string.p_showed_collaborators_help, true);
}
}
@ -131,6 +133,13 @@ public class TagSettingsActivity extends Activity {
}
});
findViewById(R.id.cancel).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
finish();
}
});
refreshSettingsPage();
}
@ -188,6 +197,8 @@ public class TagSettingsActivity extends Activity {
Toast.makeText(this, R.string.tag_list_saved, Toast.LENGTH_LONG).show();
tagDataService.save(tagData);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(tagName.getWindowToken(), 0);
if (isNewTag) {
Intent intent = new Intent(this, TagViewActivity.class);

@ -110,21 +110,15 @@ public class TagViewActivity extends TaskListActivity {
};
((EditText) getView().findViewById(R.id.quickAddText)).setOnTouchListener(onTouch);
View settingsContainer = getView().findViewById(R.id.settingsContainer);
settingsContainer.setVisibility(View.VISIBLE);
View settingsButton = getView().findViewById(R.id.settings);
settingsButton.setOnClickListener(settingsListener);
View membersEdit = getView().findViewById(R.id.members_edit);
membersEdit.setOnClickListener(settingsListener);
getView().findViewById(R.id.listLabel).setPadding(0, 0, 0, 0);
if (actFmPreferenceService.isLoggedIn()) {
View activityContainer = getView().findViewById(R.id.activityContainer);
activityContainer.setVisibility(View.VISIBLE);
getView().findViewById(R.id.listLabel).setPadding(0, 0, 0, 0);
ImageView activity = (ImageView) getView().findViewById(R.id.activity);
activity.setOnClickListener(new View.OnClickListener() {
@Override
@ -156,7 +150,7 @@ public class TagViewActivity extends TaskListActivity {
*/
@Override
protected View getListBody(ViewGroup root) {
ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.task_list_body_tag_v2, root, false);
ViewGroup parent = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.task_list_body_tag, root, false);
taskListView = super.getListBody(parent);
if(actFmPreferenceService.isLoggedIn())
@ -168,8 +162,8 @@ public class TagViewActivity extends TaskListActivity {
private void showListSettingsPopover() {
if (!Preferences.getBoolean(R.string.p_showed_list_settings_help, false)) {
View tabView = getView().findViewById(R.id.settings);
HelpInfoPopover.showPopover(getActivity(), tabView, R.string.help_popover_list_settings);
View tabView = getView().findViewById(R.id.members_edit);
HelpInfoPopover.showPopover(getActivity(), tabView, R.string.help_popover_list_settings, null);
Preferences.setBoolean(R.string.p_showed_list_settings_help, true);
}
}

@ -44,6 +44,7 @@ import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.sync.SyncProvider;
import com.todoroo.astrid.sync.SyncProviderUtilities;
import com.todoroo.astrid.utility.Constants;
import com.todoroo.astrid.utility.Flags;
@SuppressWarnings("nls")
public class ActFmSyncProvider extends SyncProvider<ActFmTaskContainer> {
@ -123,6 +124,12 @@ public class ActFmSyncProvider extends SyncProvider<ActFmTaskContainer> {
}
}
protected void makeSyncToast(Context context) {
if (!Flags.checkAndClear(Flags.ACTFM_SUPPRESS_SYNC_TOAST)) {
super.makeSyncToast(context);
}
}
// ----------------------------------------------------------------------
// ----------------------------------------------------- synchronization!
// ----------------------------------------------------------------------

@ -15,6 +15,7 @@ import android.os.Bundle;
import com.timsu.astrid.R;
import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.sql.Criterion;
@ -33,6 +34,9 @@ import com.todoroo.astrid.dao.StoreObjectDao;
import com.todoroo.astrid.dao.TaskDao.TaskCriteria;
import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.gtasks.GtasksPreferenceService;
import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagService;
/**
* Exposes Astrid's built in filters to the {@link FilterListActivity}
@ -45,6 +49,9 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
private static final String TOKEN_FILTER_ID = "id"; //$NON-NLS-1$
private static final String TOKEN_FILTER_NAME = "name"; //$NON-NLS-1$
@Autowired TagDataService tagDataService;
@Autowired GtasksPreferenceService gtasksPreferenceService;
@Override
public void onReceive(Context context, Intent intent) {
FilterListItem[] list = prepareFilters(context);
@ -56,6 +63,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
}
private FilterListItem[] prepareFilters(Context context) {
DependencyInjectionService.getInstance().inject(this);
Resources r = context.getResources();
//PendingIntent customFilterIntent = PendingIntent.getActivity(context, 0,
@ -78,7 +86,7 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
TodorooCursor<StoreObject> cursor = dao.query(Query.select(StoreObject.PROPERTIES).where(
StoreObject.TYPE.eq(SavedFilter.TYPE)).orderBy(Order.asc(SavedFilter.NAME)));
try {
Filter[] list = new Filter[cursor.getCount() + 2];
Filter[] list = new Filter[cursor.getCount() + 3];
// stock filters
String todayTitle = AndroidUtilities.capitalize(r.getString(R.string.today));
@ -101,8 +109,16 @@ public final class CustomFilterExposer extends BroadcastReceiver implements Astr
null);
list[1].listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.filter_pencil)).getBitmap();
int untaggedLabel = gtasksPreferenceService.isLoggedIn() ?
R.string.tag_FEx_untagged_w_astrid : R.string.tag_FEx_untagged;
list[2] = new Filter(r.getString(untaggedLabel),
r.getString(R.string.tag_FEx_untagged),
TagService.untaggedTemplate(),
null);;
list[2].listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.gl_lists)).getBitmap();
StoreObject savedFilter = new StoreObject();
for(int i = 2; i < list.length; i++) {
for(int i = 3; i < list.length; i++) {
cursor.moveToNext();
savedFilter.readFromCursor(cursor);
list[i] = SavedFilter.load(savedFilter);

@ -24,7 +24,7 @@ public class NotesDecorationExposer implements TaskDecorationExposer {
@Override
public TaskDecoration expose(Task task) {
if(Preferences.getBoolean(R.string.p_showNotes, true))
if(Preferences.getBoolean(R.string.p_showNotes, false))
return null;
if(task == null || !NotesPlugin.hasNotes(task))
return null;

@ -51,7 +51,7 @@ public class NotesDetailExposer extends BroadcastReceiver {
@SuppressWarnings("nls")
public String getTaskDetails(long id) {
if(!Preferences.getBoolean(R.string.p_showNotes, true))
if(!Preferences.getBoolean(R.string.p_showNotes, false))
return null;
Task task = PluginServices.getTaskService().fetchById(id, Task.ID, Task.NOTES);

@ -6,7 +6,6 @@ package com.todoroo.astrid.tags;
import java.util.ArrayList;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.ContentValues;
@ -15,7 +14,6 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.Toast;
@ -35,7 +33,6 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.AstridFilterExposer;
import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterCategory;
import com.todoroo.astrid.api.FilterCategoryWithNewButton;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.FilterWithUpdate;
@ -61,8 +58,6 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
@Autowired TagDataService tagDataService;
@Autowired GtasksPreferenceService gtasksPreferenceService;
private TagService tagService;
/** Create filter from new tag object */
@SuppressWarnings("nls")
public static FilterWithCustomIntent filterFromTag(Context context, Tag tag, Criterion criterion) {
@ -130,7 +125,6 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
private FilterListItem[] prepareFilters(Context context) {
DependencyInjectionService.getInstance().inject(this);
ContextManager.setContext(context);
tagService = TagService.getInstance();
ArrayList<FilterListItem> list = new ArrayList<FilterListItem>();
@ -149,25 +143,13 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
}
private FilterCategory filterFromTags(Tag[] tags, int name) {
Filter[] filters = new Filter[tags.length + 1];
Filter[] filters = new Filter[tags.length];
Resources r = ContextManager.getContext().getResources();
int untaggedLabel = gtasksPreferenceService.isLoggedIn() ?
R.string.tag_FEx_untagged_w_astrid : R.string.tag_FEx_untagged;
Filter untagged = new Filter(r.getString(untaggedLabel),
r.getString(R.string.tag_FEx_untagged),
tagService.untaggedTemplate(),
null);
untagged.listingIcon = ((BitmapDrawable)r.getDrawable(R.drawable.gl_lists)).getBitmap();
filters[0] = untagged;
Context context = ContextManager.getContext();
for(int i = 0; i < tags.length; i++)
filters[i + 1] = filterFromTag(context, tags[i], TaskCriteria.activeAndVisible());
FilterCategoryWithNewButton filter = new FilterCategoryWithNewButton(context.getString(name), filters);
filter.label = r.getString(R.string.tag_FEx_add_new);
filter.intent = PendingIntent.getActivity(context, 0,
TagsPlugin.newTagDialog(context), 0);
filters[i] = filterFromTag(context, tags[i], TaskCriteria.activeAndVisible());
FilterCategory filter = new FilterCategory(context.getString(name), filters);
return filter;
}

@ -141,7 +141,7 @@ public final class TagService {
additionalCriterion);
}
public QueryTemplate untaggedTemplate() {
public static QueryTemplate untaggedTemplate() {
return new QueryTemplate().where(Criterion.and(
Criterion.not(Task.ID.in(Query.select(Metadata.TASK).from(Metadata.TABLE).where(MetadataCriteria.withKey(KEY)))),
TaskCriteria.isActive(),

@ -43,8 +43,7 @@ public final class TagsControlSet extends PopupControlSet {
//private final Spinner tagSpinner;
//@Autowired private TagDataService tagDataService;
private final TagService tagService = TagService.getInstance();
private final Tag[] allTags;
private final String[] allTagNames;
private final ArrayList<String> allTagNames;
private final LinearLayout newTags;
private final ListView selectedTags;
@ -59,13 +58,13 @@ public final class TagsControlSet extends PopupControlSet {
super(activity, viewLayout, displayViewLayout, title);
DependencyInjectionService.getInstance().inject(this);
this.activity = activity;
allTags = getTagArray();
Tag[] allTags = getTagArray();
allTagNames = getTagNames(allTags);
tagIndices = buildTagIndices(allTagNames);
selectedTags = (ListView) getView().findViewById(R.id.existingTags);
selectedTags.setAdapter(new ArrayAdapter<String>(activity,
android.R.layout.simple_list_item_multiple_choice, allTagNames));
R.layout.simple_list_item_multiple_choice_themed, allTagNames));
selectedTags.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.newTags = (LinearLayout) getView().findViewById(R.id.newTags);
@ -78,18 +77,18 @@ public final class TagsControlSet extends PopupControlSet {
return tagsList.toArray(new Tag[tagsList.size()]);
}
private HashMap<String, Integer> buildTagIndices(String[] tagNames) {
private HashMap<String, Integer> buildTagIndices(ArrayList<String> tagNames) {
HashMap<String, Integer> indices = new HashMap<String, Integer>();
for (int i = 0; i < tagNames.length; i++) {
indices.put(tagNames[i], i);
for (int i = 0; i < tagNames.size(); i++) {
indices.put(tagNames.get(i), i);
}
return indices;
}
private String[] getTagNames(Tag[] tags) {
String[] names = new String[tags.length];
private ArrayList<String> getTagNames(Tag[] tags) {
ArrayList<String> names = new ArrayList<String>();
for (int i = 0; i < tags.length; i++) {
names[i] = tags[i].toString();
names.add(tags[i].toString());
}
return names;
}
@ -111,15 +110,21 @@ public final class TagsControlSet extends PopupControlSet {
private void setTagSelected(String tag) {
int index = tagIndices.get(tag);
selectedTags.setItemChecked(index, true);
Integer index = tagIndices.get(tag);
if (index != null) {
selectedTags.setItemChecked(index, true);
} else {
allTagNames.add(tag);
tagIndices.put(tag, allTagNames.size() - 1);
((ArrayAdapter<String>)selectedTags.getAdapter()).notifyDataSetChanged();
}
}
private LinkedHashSet<String> getTagSet() {
LinkedHashSet<String> tags = new LinkedHashSet<String>();
for(int i = 0; i < selectedTags.getAdapter().getCount(); i++) {
if (selectedTags.isItemChecked(i))
tags.add(allTagNames[i]);
tags.add(allTagNames.get(i));
}
for(int i = 0; i < newTags.getChildCount(); i++) {
@ -261,4 +266,9 @@ public final class TagsControlSet extends PopupControlSet {
tagsDisplay.setText(buildTagString());
}
public boolean hasLists() {
LinkedHashSet<String> tags = getTagSet();
return !tags.isEmpty();
}
}

@ -1,27 +1,37 @@
package com.todoroo.astrid.timers;
import android.app.Activity;
import android.os.SystemClock;
import android.text.format.DateUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.helper.TaskEditControlSet;
public class TimerActionControlSet extends TaskEditControlSet {
private final Button timerButton;
private final Chronometer chronometer;
private final TextView timerLabel;
private boolean timerActive;
private final Activity activity;
private Task task;
private TimerStoppedListener listener;
public TimerActionControlSet(Activity activity, View buttonParent) {
public TimerActionControlSet(Activity activity, View parent) {
super(activity, -1);
this.activity = activity;
timerButton = (Button) buttonParent.findViewById(R.id.timer_button);
timerButton = (Button) parent.findViewById(R.id.timer_button);
timerButton.setOnClickListener(timerListener);
chronometer = (Chronometer) parent.findViewById(R.id.timer);
timerLabel = (TextView) parent.findViewById(R.id.timer_label);
}
@Override
@ -31,6 +41,7 @@ public class TimerActionControlSet extends TaskEditControlSet {
timerActive = false;
else
timerActive = true;
this.task = task;
updateDisplay();
}
@ -49,8 +60,10 @@ public class TimerActionControlSet extends TaskEditControlSet {
TimerPlugin.updateTimer(activity, task, false);
if (listener != null)
listener.timerStopped(task);
chronometer.stop();
} else {
TimerPlugin.updateTimer(activity, task, true);
chronometer.start();
}
timerActive = !timerActive;
updateDisplay();
@ -67,8 +80,22 @@ public class TimerActionControlSet extends TaskEditControlSet {
else
drawable = R.drawable.icn_timer_start;
}
timerButton.setBackgroundResource(drawable);
long elapsed = task.getValue(Task.ELAPSED_SECONDS) * 1000L;
if (timerActive) {
chronometer.setVisibility(View.VISIBLE);
timerLabel.setVisibility(View.GONE);
elapsed += DateUtilities.now() - task.getValue(Task.TIMER_START);
chronometer.setBase(SystemClock.elapsedRealtime() - elapsed);
chronometer.start();
} else {
chronometer.setVisibility(View.GONE);
timerLabel.setVisibility(View.VISIBLE);
timerLabel.setText(DateUtils.formatElapsedTime(elapsed / 1000L));
chronometer.stop();
}
}
public interface TimerStoppedListener {

@ -3,5 +3,5 @@
<item android:state_checked="true"
android:color="@android:color/white"/>
<item android:state_checked="false"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
</selector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -16,15 +16,6 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Enabled states -->
<item android:state_checked="true" android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/icn_check_over" />
<item android:state_checked="false" android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/icn_check_over" />
<item android:state_checked="false"
android:state_enabled="true"
android:drawable="@drawable/icn_check_off" />

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomRightRadius="5dip"
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:bottomRightRadius="5dip"
android:bottomLeftRadius="5dip"/>

@ -3,5 +3,6 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -2,8 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
</shape>

@ -3,10 +3,11 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"/>

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:bottomRightRadius="5dip"/>
</shape>

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:bottomLeftRadius="5dip"/>
</shape>

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topLeftRadius="5dip"/>
</shape>

@ -3,7 +3,8 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topRightRadius="5dip"/>
</shape>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -17,10 +17,10 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:state_enabled="true"
android:state_focused="false" android:drawable="@drawable/icn_arrow_light" />
android:state_focused="false" android:drawable="@drawable/icn_arrow_over" />
<item android:state_pressed="true" android:state_enabled="true"
android:drawable="@drawable/icn_arrow_over" />
android:drawable="@drawable/icn_arrow_right" />
<item android:state_pressed="false" android:state_enabled="true"
android:state_focused="true" android:drawable="@drawable/icn_arrow_over" />
android:state_focused="true" android:drawable="@drawable/icn_arrow_right" />
</selector>

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false" android:state_enabled="true"
android:state_focused="false" android:drawable="@drawable/icn_arrow_right" />
<item android:state_pressed="true" android:state_enabled="true"
android:drawable="@drawable/icn_arrow_over" />
<item android:state_pressed="false" android:state_enabled="true"
android:state_focused="true" android:drawable="@drawable/icn_arrow_over" />
</selector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/black"/>
<solid
android:color="@android:color/white"/>
<corners
android:topLeftRadius="5dip"
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
</shape>

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topLeftRadius="5dip"
android:bottomRightRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topLeftRadius="5dip"
android:bottomRightRadius="5dip"/>

@ -3,8 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<corners
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>

@ -3,9 +3,9 @@
android:shape="rectangle">
<stroke
android:width="2dip"
android:color="@android:color/darker_gray"/>
android:color="@color/task_edit_deadline_gray"/>
<solid
android:color="@color/task_edit_date_shortcuts_bg"/>
android:color="@color/task_edit_details"/>
<corners
android:topRightRadius="5dip"
android:bottomLeftRadius="5dip"/>

@ -1,523 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:id="@+id/taskEditParent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/Content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:background="@color/task_edit_selected" />
<!-- ======================================================= tab: basic == -->
<ScrollView
android:id="@+id/tab_basic"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- title -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_title_label"
style="@style/TextAppearance.GEN_EditLabel" />
<com.todoroo.astrid.ui.ErrorCatchingEditText
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/TEA_title_hint"
android:autoText="true"
android:text=""
android:capitalize="sentences"
android:freezesText="true"/>
<!-- importance -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_importance_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:id="@+id/importance_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
<!-- urgency -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_urgency_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/urgency_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/gl_date" />
<Button
android:id="@+id/urgency_time"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/gl_time" />
</LinearLayout>
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_urgency"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<!-- tags -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_tags_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:id="@+id/tags_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/tags_dropdown"
android:paddingBottom="5dip"
android:entries="@array/TEA_loading"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- notes -->
<TextView
android:id="@+id/notes_label"
android:paddingTop="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_note_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- Voice Add Note Button -->
<ImageButton
android:id="@+id/voiceAddNoteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/tango_microphone"
android:scaleType="fitCenter"
android:visibility="gone" />
<EditText
android:id="@+id/notes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:scrollbars="vertical"
android:gravity="top"
android:hint="@string/TEA_notes_hint"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false"
android:freezesText="true" />
</LinearLayout>
<!-- buttons -->
<LinearLayout android:id="@+id/edit_footer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_marginTop="7dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_greenbtn"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_redbtn"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<!-- ===================================================== tab: sharing == -->
<ScrollView
android:id="@+id/tab_share"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_EPA_assign_label" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/assigned_spinner"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:hint="@string/actfm_person_hint" />
<com.todoroo.astrid.ui.ContactsAutoComplete
android:id="@+id/assigned_custom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:hint="@string/actfm_person_hint" />
<ImageButton
android:id="@+id/assigned_clear"
style="?android:attr/buttonStyleInset"
android:src="@android:drawable/ic_delete"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginTop="2dip"
android:layout_marginRight="2dip"
android:layout_marginBottom="2dip"
android:visibility="gone"
android:gravity="center_vertical" />
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_EPA_share_with" />
<com.todoroo.astrid.ui.PeopleContainer
android:id="@+id/share_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/share_additional"
android:orientation="vertical"
android:padding="5dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:text="@string/actfm_EPA_message_text" />
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:text="@string/actfm_EPA_message_body"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false" />
<TextView
android:id="@+id/tag_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dip"
android:visibility="gone"
android:text="@string/actfm_EPA_tag_label" />
<EditText
android:id="@+id/tag_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:hint="@string/actfm_EPA_tag_hint" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
</LinearLayout>
<LinearLayout
android:id="@+id/collaborators"
android:orientation="vertical"
android:padding="5dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/checkbox_facebook"
android:text="@string/actfm_EPA_facebook"
android:paddingLeft="45dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/checkbox_twitter"
android:text="@string/actfm_EPA_twitter"
android:paddingLeft="45dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_margin="15dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="15dip"
android:text="@string/actfm_EPA_intro"
android:gravity="center"
android:textColor="#ee9900" />
<LinearLayout android:id="@+id/edit_footer2"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_marginTop="7dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_greenbtn"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_redbtn"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<!-- ====================================================== tab: alarms == -->
<ScrollView
android:id="@+id/tab_alarms"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- reminders -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_reminder_label"
style="@style/TextAppearance.GEN_EditLabel" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_due"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_due" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_overdue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_overdue" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_random"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_random" />
<Spinner
android:id="@+id/reminder_random_interval"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- reminder mode -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_reminder_alarm_label"
style="@style/TextAppearance.GEN_EditLabel" />
<Spinner
android:id="@+id/reminder_alarm"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_alarms"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<LinearLayout android:id="@+id/edit_footer3"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_marginTop="7dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_greenbtn"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard3"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_redbtn"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<!-- ======================================================= tab: more == -->
<ScrollView
android:id="@+id/tab_more"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- hide until -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_hideUntil_label"
style="@style/TextAppearance.GEN_EditLabel" />
<Spinner
android:id="@+id/hideUntil"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_more"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/addons_empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:gravity="center"
android:visibility="gone"
android:orientation="vertical">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dip"
android:src="@drawable/icon_pp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/TEA_addons_text"
android:padding="10dip"
android:gravity="center"
style="@style/TextAppearance.TLA_NoItems" />
<Button
android:id="@+id/addons_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dip"
android:text="@string/TEA_addons_button" />
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/edit_footer4"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_marginTop="7dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_greenbtn"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard4"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_redbtn"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>

@ -3,7 +3,7 @@
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="5dip">
android:paddingLeft="8dip">
<greendroid.widget.AsyncImageView android:id="@+id/person_image"
android:layout_width="40dip"
@ -12,7 +12,16 @@
android:layout_gravity="center_vertical"
android:scaleType="fitCenter"
astrid:defaultSrc="@drawable/icn_default_person_image" />
<include layout="@android:layout/simple_list_item_single_choice"
android:layout_toRightOf="@id/person_image"/>
<CheckedTextView
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="?attr/asTextColor"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorSingle"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:layout_toRightOf="@id/person_image"/>
</LinearLayout>

@ -15,9 +15,9 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@android:color/black"
android:background="@android:color/transparent"
android:text=":"
android:textColor="@android:color/white"
android:textColor="?attr/asTextColor"
android:gravity="center"
/>
<com.todoroo.astrid.ui.DeadlineNumberPicker

@ -34,7 +34,8 @@
android:layout_marginLeft="55dip"
android:layout_below="@android:id/text1"
style="@android:attr/dropDownItemStyle"
android:textAppearance="@android:attr/textAppearanceInverse"
android:textAppearance="@android:attr/textAppearance"
android:textColor="?attr/asTextColor"
android:singleLine="true"
android:textSize="14sp"/>

@ -2,9 +2,12 @@
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/edit_dlg_ok"
android:layout_width="150dip"
android:layout_height="50dip"
android:layout_marginTop="15dip"
android:layout_marginBottom="10dip"
android:layout_height="45dip"
android:layout_marginTop="10dip"
android:layout_marginBottom="5dip"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:background="@drawable/footer_editbutton"
android:textStyle="bold"
android:layout_alignParentBottom="true"
android:text="@string/DLG_ok"/>

@ -30,7 +30,8 @@
<ListView
android:id="@+id/assigned_list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_height="fill_parent"
android:layout_weight="100"/>
<include layout="@layout/control_dialog_ok"/>
</LinearLayout>

@ -6,7 +6,8 @@
android:orientation="vertical">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
android:layout_height="fill_parent"
android:layout_weight="100">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"

@ -6,33 +6,38 @@
android:layout_height="fill_parent">
<!-- notes -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- Voice Add Note Button -->
<ImageButton
android:id="@+id/voiceAddNoteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/tango_microphone"
android:scaleType="fitCenter"
android:visibility="gone" />
<EditText
android:id="@+id/notes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="9dip"
android:layout_marginRight="9dip"
android:layout_weight="100"
android:scrollbars="vertical"
android:gravity="top"
android:hint="@string/TEA_notes_hint"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false"
android:freezesText="true" />
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- Voice Add Note Button -->
<ImageButton
android:id="@+id/voiceAddNoteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@android:drawable/ic_btn_speak_now"
android:scaleType="fitCenter"
android:visibility="gone" />
<EditText
android:id="@+id/notes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="9dip"
android:layout_marginRight="9dip"
android:layout_weight="100"
android:scrollbars="vertical"
android:gravity="top"
android:hint="@string/TEA_notes_hint"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false"
android:freezesText="true" />
</LinearLayout>
</ScrollView>
<include layout="@layout/control_dialog_ok"/>
</LinearLayout>

@ -9,7 +9,8 @@
<LinearLayout
android:id="@+id/notes_body"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:minHeight="50dip"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<ImageView
style="@style/EditRowImage"
@ -26,7 +27,6 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:maxLines="2"
android:paddingLeft="10dip"
style="@style/TextAppearance.EditRowDisplay" />
<include layout="@layout/task_edit_arrow"/>

@ -10,7 +10,8 @@
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_weight="100">
<TextView
android:layout_width="wrap_content"

@ -12,7 +12,8 @@
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_weight="100">
<TextView
android:layout_width="wrap_content"

@ -7,6 +7,7 @@
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:minWidth="320dip"
android:paddingLeft="5dip"
android:paddingRight="5dip">

@ -9,7 +9,8 @@
<LinearLayout android:id="@+id/repeatContainer"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_weight="100">
<LinearLayout
android:orientation="horizontal"
@ -44,6 +45,7 @@
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="15dip"
android:layout_marginBottom="-15dip">
<include layout="@layout/control_dialog_ok"/>

@ -23,7 +23,8 @@
<ListView
android:id="@+id/existingTags"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_height="fill_parent"
android:layout_weight="100"/>
<include layout="@layout/control_dialog_ok"/>
</LinearLayout>

@ -10,7 +10,8 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dip"
android:layout_marginBottom="14dip">
android:layout_marginBottom="14dip"
android:gravity="center_vertical">
<LinearLayout
android:layout_width="fill_parent"
@ -42,13 +43,38 @@
android:capitalize="sentences"
android:freezesText="true"/>
</LinearLayout>
<Button
android:id="@+id/timer_button"
android:layout_width="35dip"
<LinearLayout
android:layout_width="40dip"
android:layout_height="35dip"
android:layout_marginLeft="10dip"
android:layout_gravity="center_vertical"
android:layout_weight="1"/>
android:layout_marginLeft="5dip"
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/timer_button"
android:layout_width="25dip"
android:layout_height="25dip"
android:layout_weight="1"/>
<Chronometer
android:id="@+id/timer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center_horizontal"
android:visibility="visible"
android:textColor="@color/task_edit_details"
android:textSize="10sp" />
<TextView
android:id="@+id/timer_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center_horizontal"
android:textColor="@color/task_edit_details"
android:textSize="10sp"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
<View

@ -32,7 +32,7 @@
android:id="@+id/timepicker_left_border"
android:layout_height="fill_parent"
android:layout_width="2dip"
android:background="@android:color/darker_gray"
android:background="@color/task_edit_deadline_gray"
android:visibility="gone"
/>
@ -44,14 +44,14 @@
android:gravity="center"
android:inputType="phone"
android:textSize="30sp"
android:textColor="@android:color/white"
android:textColor="@color/task_edit_deadline_gray"
android:background="@android:color/transparent"
/>
<View
android:id="@+id/timepicker_right_border"
android:layout_height="fill_parent"
android:layout_width="2dip"
android:background="@android:color/darker_gray"
android:background="@color/task_edit_deadline_gray"
android:visibility="gone"
/>
</LinearLayout>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- See the file "LICENSE" for the full license governing this code. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/Content"
@ -8,22 +8,27 @@
<!-- Header -->
<LinearLayout
android:id="@+id/lists_header"
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="1"
android:orientation="horizontal"
android:layout_alignParentTop="true"
style="@style/Header">
<!-- Header Logo -->
<ImageView android:id="@+id/headerLogo"
<!-- List Label -->
<TextView android:id="@+id/listLabel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:paddingLeft="43dip"
android:layout_weight="100"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center"
android:paddingLeft="43dip"
android:src="@drawable/header_logo_new"
android:scaleType="center"/>
android:text="@string/FLA_title"
style="@style/TextAppearance.TLA_Header"/>
<View
android:layout_width="0.5dip"
@ -38,15 +43,39 @@
android:scaleType="fitCenter" />
</LinearLayout>
<!-- Footer -->
<LinearLayout
android:id="@+id/lists_footer"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_weight="1"
android:padding="5dip"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/new_list_button"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/footer_editbutton"
android:gravity="center"
android:text="@string/FLA_new_filter"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"/>
</LinearLayout>
<!-- List -->
<ExpandableListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:layout_below="@id/lists_header"
android:layout_above="@id/lists_footer"
android:scrollbars="vertical"
android:cacheColorHint="#00000000"/>
</LinearLayout>
</RelativeLayout>

@ -11,20 +11,26 @@
android:layout_below="@+id/gdi_arrow_up"
android:gravity="center"
android:textColor="@android:color/white"
android:background="@drawable/welcome_body"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/popover_bg"
android:fadingEdgeLength="0dp"/>
<ImageView
android:id="@+id/gdi_arrow_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/welcome_up" />
android:layout_marginBottom="-13dip"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:src="@drawable/popover_arrow_up" />
<ImageView
android:id="@+id/gdi_arrow_down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:layout_below="@id/gdi_message"
android:src="@drawable/welcome_down" />
android:layout_marginTop="-13dip"
android:src="@drawable/popover_arrow_down" />
</RelativeLayout>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:checkMark="?android:attr/listChoiceIndicatorMultiple"
android:paddingLeft="8dip"
android:paddingRight="8dip"
android:textColor="?attr/asTextColor"
/>

@ -95,70 +95,77 @@
<!-- Footer -->
<LinearLayout
android:id="@+id/listSettingsMore"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_TVA_tag_owner_label" />
<TextView
android:id="@+id/tag_owner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:textSize="20sp"/>
<CheckBox
android:id="@+id/tag_silenced"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:paddingLeft="45dip"
style="@style/TextAppearance"
android:text="@string/actfm_TVA_silence_label" />
</LinearLayout>
<LinearLayout
android:id="@+id/listSettingsMore"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_TVA_tag_owner_label" />
<TextView
android:id="@+id/tag_owner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:textSize="20sp"/>
<CheckBox
android:id="@+id/tag_silenced"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:paddingLeft="45dip"
style="@style/TextAppearance"
android:text="@string/actfm_TVA_silence_label" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/membersFooter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginTop="10dip"
android:padding="5dip"
android:background="@drawable/footer_background"
android:orientation="horizontal"
android:baselineAligned="false">
<Button
android:id="@+id/saveMembers"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_gravity="center"
style="@style/TextAppearance.TEA_action"
android:textStyle="bold"
android:text="@string/DLG_save"/>
</LinearLayout>
<LinearLayout android:id="@+id/membersFooter"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/saveMembers"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_editbutton"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/cancel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_editbutton"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:textColor="#000000"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>

@ -7,430 +7,201 @@
android:layout_height="fill_parent"
style="@style/Content">
<View
android:layout_width="fill_parent"
android:layout_height="2dip"
android:background="@color/task_edit_selected" />
<!-- buttons -->
<LinearLayout android:id="@+id/edit_footer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_greenbtn"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_redbtn"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
</LinearLayout>
<!-- ======================================================= tab: basic == -->
<ScrollView
android:id="@+id/tab_basic"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="7dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- title -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_title_label"
style="@style/TextAppearance.GEN_EditLabel" />
<com.todoroo.astrid.ui.ErrorCatchingEditText
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/TEA_title_hint"
android:autoText="true"
android:text=""
android:capitalize="sentences"
android:freezesText="true"/>
<!-- importance -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_importance_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:id="@+id/importance_container"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</LinearLayout>
<!-- urgency -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_urgency_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/urgency_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/gl_date" />
<Button
android:id="@+id/urgency_time"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/gl_time" />
</LinearLayout>
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_urgency"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<!-- tags -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_tags_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:id="@+id/tags_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Spinner
android:id="@+id/tags_dropdown"
android:paddingBottom="5dip"
android:entries="@array/TEA_loading"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- notes -->
<TextView
android:id="@+id/notes_label"
android:paddingTop="5dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_note_label"
style="@style/TextAppearance.GEN_EditLabel" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<!-- Voice Add Note Button -->
<ImageButton
android:id="@+id/voiceAddNoteButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/tango_microphone"
android:scaleType="fitCenter"
android:visibility="gone" />
<EditText
android:id="@+id/notes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:scrollbars="vertical"
android:gravity="top"
android:hint="@string/TEA_notes_hint"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false"
android:freezesText="true" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<!-- ===================================================== tab: sharing == -->
<ScrollView
android:id="@+id/tab_share"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_EPA_assign_label" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Spinner
android:id="@+id/assigned_spinner"
android:layout_width="fill_parent"
android:layout_height="45dip"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:hint="@string/actfm_person_hint" />
<com.todoroo.astrid.ui.ContactsAutoComplete
android:id="@+id/assigned_custom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:visibility="gone"
android:hint="@string/actfm_person_hint" />
<ImageButton
android:id="@+id/assigned_clear"
style="?android:attr/buttonStyleInset"
android:src="@android:drawable/ic_delete"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginTop="2dip"
android:layout_marginRight="2dip"
android:layout_marginBottom="2dip"
android:visibility="gone"
android:gravity="center_vertical" />
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_EPA_share_with" />
<com.todoroo.astrid.ui.PeopleContainer
android:id="@+id/share_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/share_additional"
android:orientation="vertical"
android:padding="5dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:text="@string/actfm_EPA_message_text" />
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:text="@string/actfm_EPA_message_body"
android:autoText="true"
android:capitalize="sentences"
android:singleLine="false" />
<TextView
android:id="@+id/tag_label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dip"
android:visibility="gone"
android:text="@string/actfm_EPA_tag_label" />
<EditText
android:id="@+id/tag_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:hint="@string/actfm_EPA_tag_hint" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
</LinearLayout>
<LinearLayout
android:id="@+id/collaborators"
android:orientation="vertical"
android:padding="5dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/checkbox_facebook"
android:text="@string/actfm_EPA_facebook"
android:paddingLeft="45dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/checkbox_twitter"
android:text="@string/actfm_EPA_twitter"
android:paddingLeft="45dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_margin="15dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="15dip"
android:text="@string/actfm_EPA_intro"
android:gravity="center"
android:textColor="#ee9900" />
</LinearLayout>
</ScrollView>
<!-- Header -->
<LinearLayout
android:id="@+id/edit_header"
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="1"
android:orientation="horizontal"
android:layout_alignParentTop="true">
<!-- ====================================================== tab: alarms == -->
<ScrollView
android:id="@+id/tab_alarms"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- reminders -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_reminder_label"
style="@style/TextAppearance.GEN_EditLabel" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_due"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_due" />
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_overdue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_overdue" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<CheckBox
style="@style/TextAppearance.GEN_EditLabel"
android:id="@+id/reminder_random"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:button="@drawable/btn_check_small"
android:text="@string/TEA_reminder_random" />
<Spinner
android:id="@+id/reminder_random_interval"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<!-- reminder mode -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_reminder_alarm_label"
style="@style/TextAppearance.GEN_EditLabel" />
<Spinner
android:id="@+id/reminder_alarm"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_alarms"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</ScrollView>
<!-- ======================================================= tab: more == -->
<ScrollView
android:id="@+id/tab_more"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:padding="4dip"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- hide until -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/TEA_hideUntil_label"
style="@style/TextAppearance.GEN_EditLabel" />
<Spinner
android:id="@+id/hideUntil"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- add-ons -->
<LinearLayout
android:id="@+id/addons_more"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/addons_empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:gravity="center"
android:visibility="gone"
android:orientation="vertical">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="20dip"
android:src="@drawable/icon_pp" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/TEA_addons_text"
android:padding="10dip"
android:gravity="center"
style="@style/TextAppearance.TLA_NoItems" />
<Button
android:id="@+id/addons_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dip"
android:text="@string/TEA_addons_button" />
<LinearLayout
style="@style/Header"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal">
<!-- Header Logo -->
<ImageView android:id="@+id/headerLogo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:gravity="center"
android:paddingRight="43dip"
android:src="@drawable/header_logo_new"
android:scaleType="center"
android:visibility="gone"/>
<!-- List Label -->
<TextView android:id="@+id/taskLabel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center"
style="@style/TextAppearance.TLA_Header"/>
</LinearLayout>
<LinearLayout android:id="@+id/activityContainer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:visibility="gone">
<View
android:layout_width="0.5dip"
android:layout_height="fill_parent"
android:background="#ff222222"/>
<ImageView android:id="@+id/activity"
android:layout_height="fill_parent"
android:layout_width="43dip"
android:background="?attr/asHeaderButtonBackground"
android:padding="7dip"
android:src="@drawable/icn_cmmt_off"
android:scaleType="fitCenter" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
<!-- buttons -->
<LinearLayout android:id="@+id/edit_footer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_editbutton"
android:gravity="center"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_editbutton"
android:gravity="center"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:textColor="#000000"
android:layout_weight="1" />
</LinearLayout>
<ScrollView
android:id="@+id/edit_scroll"
android:layout_below="@id/edit_header"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/Content">
<LinearLayout
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/basic_controls"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/when_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/when_header"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:gravity="center_vertical">
<LinearLayout
android:id="@+id/when_shortcut_container"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:id="@+id/when_image"
style="@style/EditRowImage"
android:src="@drawable/icn_edit_when"/>
<TextView
android:id="@+id/when_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/TEA_when_header_label"/>
</LinearLayout>
<TextView
android:id="@+id/aux_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100"
android:gravity="right"
style="@style/TextAppearance.EditRowDisplay"/>
<include layout="@layout/task_edit_arrow"/>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/more_header"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_gravity="center_vertical"
android:gravity="center"
style="@style/TextAppearance.EditRowDisplay"
android:textStyle="bold"
android:text="@string/TEA_more"/>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
<LinearLayout
android:id="@+id/more_controls"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>

@ -1,205 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:id="@+id/taskEditParent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/Content">
<!-- Header -->
<LinearLayout
android:id="@+id/edit_header"
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="1"
android:orientation="horizontal"
android:layout_alignParentTop="true">
<LinearLayout
style="@style/Header"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="horizontal">
<!-- Header Logo -->
<ImageView android:id="@+id/headerLogo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:gravity="center"
android:paddingRight="43dip"
android:src="@drawable/header_logo_new"
android:scaleType="center"
android:visibility="gone"/>
<!-- List Label -->
<TextView android:id="@+id/taskLabel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
android:singleLine="true"
android:ellipsize="end"
android:gravity="center"
style="@style/TextAppearance.TLA_Header"/>
</LinearLayout>
<LinearLayout android:id="@+id/activityContainer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:visibility="gone">
<View
android:layout_width="0.5dip"
android:layout_height="fill_parent"
android:background="#ff222222"/>
<ImageView android:id="@+id/activity"
android:layout_height="fill_parent"
android:layout_width="43dip"
android:background="?attr/asHeaderButtonBackground"
android:padding="7dip"
android:src="@drawable/icn_cmmt_off"
android:scaleType="fitCenter" />
</LinearLayout>
</LinearLayout>
<!-- buttons -->
<LinearLayout android:id="@+id/edit_footer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:layout_alignParentBottom="true"
android:padding="5dip"
android:background="@drawable/footer_background"
android:baselineAligned="false">
<Button
android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginRight="5dip"
android:background="@drawable/footer_editbutton"
android:text="@string/DLG_save"
android:textStyle="bold"
style="@style/TextAppearance.TEA_action"
android:layout_weight="1" />
<Button
android:id="@+id/discard"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="5dip"
android:background="@drawable/footer_editbutton"
android:text="@android:string/cancel"
style="@style/TextAppearance.TEA_action"
android:textColor="#000000"
android:layout_weight="1" />
</LinearLayout>
<ScrollView
android:id="@+id/edit_scroll"
android:layout_below="@id/edit_header"
android:layout_above="@id/edit_footer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
style="@style/Content">
<LinearLayout
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/basic_controls"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/when_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/when_header"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:gravity="center_vertical">
<LinearLayout
android:id="@+id/when_shortcut_container"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:id="@+id/when_image"
style="@style/EditRowImage"
android:src="@drawable/icn_edit_when"/>
<TextView
android:id="@+id/when_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/TEA_when_header_label"/>
</LinearLayout>
<TextView
android:id="@+id/aux_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100"
android:gravity="right"
style="@style/TextAppearance.EditRowDisplay"/>
<include layout="@layout/task_edit_arrow"/>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/more_header"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="50dip"
android:layout_gravity="center_vertical"
android:gravity="center"
style="@style/TextAppearance.EditRowDisplay"
android:textStyle="bold"
android:text="@string/TEA_more"/>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
<LinearLayout
android:id="@+id/more_controls"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:visibility="gone"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>

@ -17,12 +17,16 @@
android:orientation="vertical">
</LinearLayout>
</ScrollView>
<Button
<Button
android:id="@+id/when_dismiss"
android:layout_width="150dip"
android:layout_height="50dip"
android:layout_marginTop="15dip"
android:layout_height="45dip"
android:layout_marginTop="10dip"
android:layout_marginBottom="5dip"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:background="@drawable/footer_editbutton"
android:textStyle="bold"
android:layout_alignParentBottom="true"
android:text="@string/DLG_ok"/>
</LinearLayout>

@ -37,7 +37,7 @@
<!-- Header Logo -->
<ImageView android:id="@+id/headerLogo"
<!-- <ImageView android:id="@+id/headerLogo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="100"
@ -45,7 +45,7 @@
android:paddingRight="43dip"
android:src="@drawable/header_logo_new"
android:scaleType="center"
android:visibility="gone"/>
android:visibility="gone"/> -->
<!-- List Label -->
<TextView android:id="@+id/listLabel"
@ -79,25 +79,6 @@
android:src="@drawable/icn_cmmt_off"
android:scaleType="fitCenter" />
</LinearLayout>
<LinearLayout android:id="@+id/settingsContainer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:visibility="gone">
<View
android:layout_width="0.5dip"
android:layout_height="fill_parent"
android:background="#ff222222"/>
<ImageView
android:id="@+id/settings"
android:layout_height="fill_parent"
android:layout_width="43dip"
android:background="?attr/asHeaderButtonBackground"
android:padding="7dip"
android:src="@drawable/icn_settings"
android:scaleType="fitCenter" />
</LinearLayout>
</LinearLayout>

@ -18,6 +18,7 @@
android:scrollbars="vertical"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_height="fill_parent"
android:smoothScrollbar="false"/>
</FrameLayout>

@ -23,6 +23,7 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:smoothScrollbar="false"
tlv:normal_height="52dip"
tlv:grabber="@+id/grabber"

@ -24,6 +24,7 @@
android:scrollbars="vertical"
android:cacheColorHint="#00000000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
android:layout_height="fill_parent"
android:smoothScrollbar="false"/>
</android.gesture.GestureOverlayView>

@ -1,206 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- See the file "LICENSE" for the full license governing this code. -->
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:id="@android:id/tabhost"
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="-2dp"
android:layout_marginRight="-2dp"
android:layout_weight="1"
android:background="@null" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<!-- task list body automatically inserted -->
<!-- updates tab -->
<ListView
android:id="@+id/tab_updates"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<!-- settings tab -->
<ScrollView
android:id="@+id/tab_settings"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dip"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="10dip">
<greendroid.widget.AsyncImageView
android:id="@+id/picture"
android:layout_width="80dip"
android:layout_height="80dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitCenter"
android:paddingRight="10dip"
android:visibility="gone"
astrid:defaultSrc="@android:drawable/ic_menu_gallery" />
<TextView
android:id="@+id/tag_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/picture"
android:layout_alignParentTop="true"
android:layout_marginTop="10dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_TVA_tag_label" />
<EditText
android:id="@+id/tag_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/picture"
android:layout_below="@id/tag_label"
android:layout_marginTop="10dip" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:paddingBottom="5dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_TVA_members_label" />
<com.todoroo.astrid.ui.PeopleContainer
android:id="@+id/members_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<!-- Footer -->
<LinearLayout
android:id="@+id/listSettingsMore"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:orientation="vertical"
android:visibility="gone">
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="@android:drawable/divider_horizontal_dark" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/actfm_TVA_tag_owner_label" />
<TextView
android:id="@+id/tag_owner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:textSize="20sp"/>
<CheckBox
android:id="@+id/tag_silenced"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:paddingLeft="45dip"
style="@style/TextAppearance"
android:text="@string/actfm_TVA_silence_label" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</FrameLayout>
<!-- Footer -->
<LinearLayout
android:id="@+id/updatesFooter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:orientation="horizontal">
<!-- Add Button -->
<ImageButton android:id="@+id/commentButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:src="@drawable/tango_chat"
android:scaleType="fitCenter"/>
<!-- Comment Field -->
<EditText android:id="@+id/commentField"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="100"
android:hint="@string/TVA_add_comment"
android:singleLine="true"
android:autoText="true"
android:capitalize="sentences"/>
</LinearLayout>
<LinearLayout
android:id="@+id/membersFooter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:visibility="gone"
android:layout_marginTop="10dip"
android:padding="5dip"
android:background="@drawable/footer_background"
android:orientation="horizontal"
android:baselineAligned="false">
<ImageButton
android:id="@+id/saveMembers"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/tango_save" />
</LinearLayout>
</LinearLayout>
</TabHost>
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="1"
android:background="?attr/asMembersHeaderBackground">
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="100"
android:scrollbars="none">
<LinearLayout
android:id="@+id/shared_with"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TextView
android:id="@+id/no_members"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_marginLeft="10dip"
style="@style/TextAppearance"
android:textStyle="bold"
android:textColor="#333333"
android:text="@string/actfm_TVA_no_members_alert"/>
</LinearLayout>
</HorizontalScrollView>
<ImageView
android:id="@+id/members_edit"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:padding="10dip"
android:src="@drawable/members_arrow"
android:scaleType="fitCenter"/>
</LinearLayout>
<TextView
android:id="@+id/filter_assigned"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:paddingTop="3dip"
android:paddingBottom="3dip"
style="@style/TextAppearance"
android:background="@android:color/darker_gray"
android:visibility="gone"/>
</LinearLayout>
<!-- List body goes here -->
</LinearLayout>

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="1"
android:background="?attr/asMembersHeaderBackground">
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_weight="15"
android:scrollbars="none">
<LinearLayout
android:id="@+id/shared_with"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<TextView
android:id="@+id/no_members"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_marginLeft="10dip"
style="@style/TextAppearance"
android:textStyle="bold"
android:text="@string/actfm_TVA_no_members_alert"/>
</LinearLayout>
</HorizontalScrollView>
<ImageView
android:id="@+id/members_edit"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="85"
android:padding="7dip"
android:src="?attr/asMembersHeaderArrow"
android:scaleType="fitCenter"/>
</LinearLayout>
<TextView
android:id="@+id/filter_assigned"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:paddingTop="3dip"
android:paddingBottom="3dip"
style="@style/TextAppearance"
android:background="@android:color/darker_gray"
android:visibility="gone"/>
</LinearLayout>
<!-- List body goes here -->
</LinearLayout>

@ -6,7 +6,7 @@
android:orientation="vertical"
android:gravity="top"
android:layout_marginTop="-10dip"
android:paddingLeft="5dip">
android:paddingLeft="8dip">
<ImageView
android:layout_width="fill_parent"

@ -1256,7 +1256,7 @@ Astrid is open-source and proudly maintained by Todoroo, Inc.</string>
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

@ -1246,7 +1246,7 @@
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

@ -1246,7 +1246,7 @@ Astrid is open-source and proudly maintained by Todoroo, Inc.</string>
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

@ -1243,7 +1243,7 @@
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

@ -1250,7 +1250,7 @@ File %1$s contained %2$s.\n\n
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

@ -1243,7 +1243,7 @@
<string name="help_popover_tap_task">Tap task to edit and share</string>
<!-- Shown the first time a user sees the list activity -->
<string name="help_popover_list_settings">Tap list settings to share the entire list</string>
<string name="help_popover_list_settings">Tap to edit or share this list</string>
<!-- Shown the first time a user sees the list settings tab -->
<string name="help_popover_collaborators">Collaborators can help you build your list or finish tasks</string>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save