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

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

@ -4,7 +4,7 @@
<booleanAttribute key="ch.zork.quicklaunch" value="true"/>
<stringAttribute key="ch.zork.quicklaunch.icon" value="14.gif"/>
<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"/>
<stringAttribute key="com.android.ide.eclipse.adt.commandline" value="-scale 0.7"/>
<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:paddingRight="4dip">
<!-- icon -->
<ImageView android:id="@+id/icon"
android:layout_width="48dip"
android:layout_height="fill_parent"
android:gravity="center"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
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
android:layout_width="fill_parent"

@ -27,14 +27,14 @@ import java.util.List;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.TabActivity;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TabActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.DialogInterface.OnCancelListener;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.LayoutInflater;
@ -44,6 +44,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
@ -58,7 +59,6 @@ import android.widget.TabHost;
import android.widget.TimePicker;
import android.widget.Toast;
import android.widget.ToggleButton;
import android.widget.AdapterView.OnItemSelectedListener;
import com.flurry.android.FlurryAgent;
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.gcal.GCalControlSet;
import com.todoroo.astrid.model.Task;
import com.todoroo.astrid.producteev.ProducteevUtilities;
import com.todoroo.astrid.repeats.RepeatControlSet;
import com.todoroo.astrid.service.AddOnService;
import com.todoroo.astrid.service.StartupService;
@ -615,14 +616,26 @@ public final class TaskEditActivity extends TabActivity {
public ImportanceControlSet(int 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);
button.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1));
StringBuilder label = new StringBuilder();
for(int j = Task.IMPORTANCE_LEAST; j >= i; j--)
label.append('!');
if(ProducteevUtilities.INSTANCE.isLoggedIn())
label.append(5 - i).append("\n★"); //$NON-NLS-1$
else {
for(int j = importanceOffset; j >= i; j--)
label.append('!');
}
button.setTextColor(colors[i]);
button.setTextOff(label);
@ -654,11 +667,11 @@ public final class TaskEditActivity extends TabActivity {
}
}
public int getImportance() {
public Integer getImportance() {
for(CompoundButton b : buttons)
if(b.isChecked())
return (Integer) b.getTag();
return Task.IMPORTANCE_LEAST;
return null;
}
@Override
@ -668,7 +681,8 @@ public final class TaskEditActivity extends TabActivity {
@Override
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);
ViewHolder viewHolder = new ViewHolder();
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.description = (TextView) convertView.findViewById(R.id.description);
viewHolder.web = (ImageButton) convertView.findViewById(R.id.button_web);
@ -82,6 +83,7 @@ public class AddOnAdapter extends ArrayAdapter<AddOn> {
private class ViewHolder {
public AddOn item;
public ImageView icon;
public TextView free;
public TextView title;
public TextView description;
public ImageButton web;
@ -96,6 +98,7 @@ public class AddOnAdapter extends ArrayAdapter<AddOn> {
viewHolder.icon.setImageBitmap(item.getIcon());
viewHolder.title.setText(item.getTitle());
viewHolder.description.setText(item.getDescription());
viewHolder.free.setVisibility(item.isFree() && !installed ? View.VISIBLE : View.GONE);
// populate buttons
if(item.getWebPage() != null) {

@ -192,7 +192,7 @@ public class AddOnService {
Resources r = ContextManager.getContext().getResources();
// temporary temporary
AddOn[] list = new AddOn[2];
AddOn[] list = new AddOn[4];
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!",
POWER_PACK_PACKAGE, "http://www.weloveastrid.com/store",
@ -203,6 +203,16 @@ public class AddOnService {
LOCALE_PACKAGE, "http://www.weloveastrid.com/store",
((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;
}
}

Loading…
Cancel
Save