Producteev ui enhancements - add onpage and task edit can edit stars

pull/14/head
Tim Su 16 years ago
parent 8fabc2435c
commit 74da37ac03

@ -4,7 +4,7 @@
<booleanAttribute key="ch.zork.quicklaunch" value="true"/> <booleanAttribute key="ch.zork.quicklaunch" value="true"/>
<stringAttribute key="ch.zork.quicklaunch.icon" value="14.gif"/> <stringAttribute key="ch.zork.quicklaunch.icon" value="14.gif"/>
<intAttribute key="ch.zork.quicklaunch.index" value="0"/> <intAttribute key="ch.zork.quicklaunch.index" value="0"/>
<stringAttribute key="ch.zork.quicklaunch.mode" value="run"/> <stringAttribute key="ch.zork.quicklaunch.mode" value="debug"/>
<intAttribute key="com.android.ide.eclipse.adt.action" value="0"/> <intAttribute key="com.android.ide.eclipse.adt.action" value="0"/>
<stringAttribute key="com.android.ide.eclipse.adt.commandline" value="-scale 0.7"/> <stringAttribute key="com.android.ide.eclipse.adt.commandline" value="-scale 0.7"/>
<intAttribute key="com.android.ide.eclipse.adt.delay" value="0"/> <intAttribute key="com.android.ide.eclipse.adt.delay" value="0"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -10,13 +10,30 @@
android:paddingLeft="4dip" android:paddingLeft="4dip"
android:paddingRight="4dip"> android:paddingRight="4dip">
<!-- icon -->
<ImageView android:id="@+id/icon" <LinearLayout
android:layout_width="48dip" android:layout_width="wrap_content"
android:layout_height="fill_parent" android:layout_height="wrap_content"
android:gravity="center"
android:paddingLeft="5dip" android:paddingLeft="5dip"
android:scaleType="fitCenter"/> android:orientation="vertical">
<!-- icon -->
<ImageView android:id="@+id/icon"
android:layout_width="48dip"
android:layout_height="48dip"
android:gravity="center"
android:scaleType="fitCenter"/>
<!-- free -->
<TextView android:id="@+id/free"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="10sp"
android:textColor="#00ff00"
android:text="@string/AOA_free" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="fill_parent" android:layout_width="fill_parent"

@ -27,14 +27,14 @@ import java.util.List;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.DatePickerDialog; import android.app.DatePickerDialog;
import android.app.TabActivity;
import android.app.DatePickerDialog.OnDateSetListener; import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TabActivity;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.DialogInterface.OnCancelListener;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -44,6 +44,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
@ -58,7 +59,6 @@ import android.widget.TabHost;
import android.widget.TimePicker; import android.widget.TimePicker;
import android.widget.Toast; import android.widget.Toast;
import android.widget.ToggleButton; import android.widget.ToggleButton;
import android.widget.AdapterView.OnItemSelectedListener;
import com.flurry.android.FlurryAgent; import com.flurry.android.FlurryAgent;
import com.timsu.astrid.R; import com.timsu.astrid.R;
@ -72,6 +72,7 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.Database;
import com.todoroo.astrid.gcal.GCalControlSet; import com.todoroo.astrid.gcal.GCalControlSet;
import com.todoroo.astrid.model.Task; import com.todoroo.astrid.model.Task;
import com.todoroo.astrid.producteev.ProducteevUtilities;
import com.todoroo.astrid.repeats.RepeatControlSet; import com.todoroo.astrid.repeats.RepeatControlSet;
import com.todoroo.astrid.service.AddOnService; import com.todoroo.astrid.service.AddOnService;
import com.todoroo.astrid.service.StartupService; import com.todoroo.astrid.service.StartupService;
@ -615,14 +616,26 @@ public final class TaskEditActivity extends TabActivity {
public ImportanceControlSet(int containerId) { public ImportanceControlSet(int containerId) {
LinearLayout layout = (LinearLayout)findViewById(containerId); LinearLayout layout = (LinearLayout)findViewById(containerId);
for(int i = Task.IMPORTANCE_MOST; i <= Task.IMPORTANCE_LEAST; i++) { int min = Task.IMPORTANCE_MOST;
int max = Task.IMPORTANCE_LEAST;
int importanceOffset = max;
if(ProducteevUtilities.INSTANCE.isLoggedIn()) {
max = 5;
importanceOffset = max - 1;
}
for(int i = min; i <= max; i++) {
final ToggleButton button = new ToggleButton(TaskEditActivity.this); final ToggleButton button = new ToggleButton(TaskEditActivity.this);
button.setLayoutParams(new LinearLayout.LayoutParams( button.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1)); LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1));
StringBuilder label = new StringBuilder(); StringBuilder label = new StringBuilder();
for(int j = Task.IMPORTANCE_LEAST; j >= i; j--) if(ProducteevUtilities.INSTANCE.isLoggedIn())
label.append('!'); label.append(5 - i).append("\n★"); //$NON-NLS-1$
else {
for(int j = importanceOffset; j >= i; j--)
label.append('!');
}
button.setTextColor(colors[i]); button.setTextColor(colors[i]);
button.setTextOff(label); button.setTextOff(label);
@ -654,11 +667,11 @@ public final class TaskEditActivity extends TabActivity {
} }
} }
public int getImportance() { public Integer getImportance() {
for(CompoundButton b : buttons) for(CompoundButton b : buttons)
if(b.isChecked()) if(b.isChecked())
return (Integer) b.getTag(); return (Integer) b.getTag();
return Task.IMPORTANCE_LEAST; return null;
} }
@Override @Override
@ -668,7 +681,8 @@ public final class TaskEditActivity extends TabActivity {
@Override @Override
public void writeToModel(Task task) { public void writeToModel(Task task) {
task.setValue(Task.IMPORTANCE, getImportance()); if(getImportance() != null)
task.setValue(Task.IMPORTANCE, getImportance());
} }
} }

@ -62,6 +62,7 @@ public class AddOnAdapter extends ArrayAdapter<AddOn> {
convertView = inflater.inflate(R.layout.addon_adapter_row, parent, false); convertView = inflater.inflate(R.layout.addon_adapter_row, parent, false);
ViewHolder viewHolder = new ViewHolder(); ViewHolder viewHolder = new ViewHolder();
viewHolder.icon = (ImageView) convertView.findViewById(R.id.icon); viewHolder.icon = (ImageView) convertView.findViewById(R.id.icon);
viewHolder.free = (TextView) convertView.findViewById(R.id.free);
viewHolder.title = (TextView) convertView.findViewById(R.id.title); viewHolder.title = (TextView) convertView.findViewById(R.id.title);
viewHolder.description = (TextView) convertView.findViewById(R.id.description); viewHolder.description = (TextView) convertView.findViewById(R.id.description);
viewHolder.web = (ImageButton) convertView.findViewById(R.id.button_web); viewHolder.web = (ImageButton) convertView.findViewById(R.id.button_web);
@ -82,6 +83,7 @@ public class AddOnAdapter extends ArrayAdapter<AddOn> {
private class ViewHolder { private class ViewHolder {
public AddOn item; public AddOn item;
public ImageView icon; public ImageView icon;
public TextView free;
public TextView title; public TextView title;
public TextView description; public TextView description;
public ImageButton web; public ImageButton web;
@ -96,6 +98,7 @@ public class AddOnAdapter extends ArrayAdapter<AddOn> {
viewHolder.icon.setImageBitmap(item.getIcon()); viewHolder.icon.setImageBitmap(item.getIcon());
viewHolder.title.setText(item.getTitle()); viewHolder.title.setText(item.getTitle());
viewHolder.description.setText(item.getDescription()); viewHolder.description.setText(item.getDescription());
viewHolder.free.setVisibility(item.isFree() && !installed ? View.VISIBLE : View.GONE);
// populate buttons // populate buttons
if(item.getWebPage() != null) { if(item.getWebPage() != null) {

@ -192,7 +192,7 @@ public class AddOnService {
Resources r = ContextManager.getContext().getResources(); Resources r = ContextManager.getContext().getResources();
// temporary temporary // temporary temporary
AddOn[] list = new AddOn[2]; AddOn[] list = new AddOn[4];
list[0] = new AddOn(false, true, "Astrid Power Pack", null, list[0] = new AddOn(false, true, "Astrid Power Pack", null,
"Support Astrid and get more productive with the Astrid Power Pack. Backup, widgets, no ads, and calendar integration. Power up today!", "Support Astrid and get more productive with the Astrid Power Pack. Backup, widgets, no ads, and calendar integration. Power up today!",
POWER_PACK_PACKAGE, "http://www.weloveastrid.com/store", POWER_PACK_PACKAGE, "http://www.weloveastrid.com/store",
@ -203,6 +203,16 @@ public class AddOnService {
LOCALE_PACKAGE, "http://www.weloveastrid.com/store", LOCALE_PACKAGE, "http://www.weloveastrid.com/store",
((BitmapDrawable)r.getDrawable(R.drawable.icon_locale)).getBitmap()); ((BitmapDrawable)r.getDrawable(R.drawable.icon_locale)).getBitmap());
list[2] = new AddOn(true, true, "Remember the Milk", null,
"Synchronize with Remember The Milk service.",
Constants.PACKAGE, "http://www.rmilk.com",
((BitmapDrawable)r.getDrawable(R.drawable.ic_menu_rmilk)).getBitmap());
list[3] = new AddOn(true, true, "Producteev", null,
"Synchronize with Producteev service. Also changes Astrid's importance levels to stars.",
Constants.PACKAGE, "http://www.producteev.com",
((BitmapDrawable)r.getDrawable(R.drawable.icon_producteev)).getBitmap());
return list; return list;
} }
} }

Loading…
Cancel
Save