Modified widget to work under Android 1.5. I don't think the setBackgroundResource stuff is completedly fixed, but it's a start

pull/14/head
Tim Su 15 years ago
parent 4776e0e866
commit 885bd84965

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_1" />
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_2" />
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_3" />
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_4" />
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_5" />
</shape>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/importance_6" />
</shape>

@ -111,7 +111,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due1"
@ -141,7 +141,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due2"
@ -171,7 +171,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due3"
@ -201,7 +201,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due4"
@ -231,7 +231,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due5"
@ -261,7 +261,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due6"
@ -291,7 +291,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due7"
@ -321,7 +321,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due8"
@ -351,7 +351,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due9"
@ -381,7 +381,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="100"
android:layout_gravity="center_vertical"
android:layout_gravity="center_vertical" android:maxLines="2"
android:textSize="14sp" android:textStyle="bold" android:paddingLeft="5dip" />
<TextView
android:id="@+id/task_due10"
@ -401,14 +401,23 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/encouragement"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal">
android:layout_alignParentBottom="true">
<!-- if no encouragement -->
<LinearLayout
android:id="@+id/button_plus"
android:layout_width="wrap_content"
android:layout_height="36dp">
android:layout_height="36dp"
android:orientation="horizontal"
android:gravity="center_horizontal">
<ImageButton
android:id="@+id/scroll_up_alt"
android:background="@drawable/scroll_up"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1" />
<ImageView
android:src="@drawable/button_plus"
android:layout_width="17dp"
@ -425,6 +434,14 @@
android:text="Add Task"
android:gravity="center_vertical"
/>
<ImageButton
android:id="@+id/scroll_down_alt"
android:background="@drawable/scroll_down"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1" />
</LinearLayout>
<!-- encouragement -->

@ -3,6 +3,8 @@
<color name="task_list_overdue">#FFFB6666</color>
<color name="task_list_normal">#FFFFFFFF</color>
<color name="task_list_done">#ff777777</color>
<!-- font colors when colored by importance -->
<color name="task_list_importance_1">#ffffffff</color>
<color name="task_list_importance_2">#ffcfcfcf</color>
<color name="task_list_importance_3">#ffb8b8b8</color>

@ -2,9 +2,6 @@
<!-- See the file "LICENSE" for the full license governing this code. -->
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- application name -->
<string name="app_name">Astrid Remember the Milk Plugin</string>
<!-- ====================== Plugin Boilerplate ========================= -->
<!-- label for RMilk button in Task Edit Activity -->

@ -4,8 +4,8 @@
<!-- Resources for power pack widget -->
<string name="PPW_widget_42_label">Astrid (Power Pack 4x2)</string>
<string name="PPW_widget_44_label">Astrid (Power Pack 4x4)</string>
<string name="PPW_widget_42_label">Astrid 4x2 (beta!)</string>
<string name="PPW_widget_44_label">Astrid 4x4 (beta!)</string>
<string name="PPW_configure_title">Configure Widget</string>

@ -97,8 +97,13 @@ public class PowerWidget extends AppWidgetProvider {
R.id.checkbox3, R.id.checkbox4, R.id.checkbox5, R.id.checkbox6,
R.id.checkbox7, R.id.checkbox8, R.id.checkbox9, R.id.checkbox10 };
// # of rows defined in the xml file
private static final int ROW_LIMIT = 10;
private static int[] importanceColors = null;
public static int[] IMPORTANCE_DRAWABLES = new int[] {
R.drawable.importance_1, R.drawable.importance_2, R.drawable.importance_3,
R.drawable.importance_4, R.drawable.importance_5, R.drawable.importance_6
};
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
@ -119,21 +124,13 @@ public class PowerWidget extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
if (ACTION_MARK_COMPLETE.equals(intent.getAction())){
Intent updateIntent = new Intent(context, UpdateService.class);
updateIntent.setAction(ACTION_MARK_COMPLETE);
updateIntent.putExtras(intent.getExtras());
context.startService(updateIntent);
} else if (ACTION_SCROLL_UP.equals(intent.getAction()) || ACTION_SCROLL_DOWN.equals(intent.getAction())){
int id = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
if (id != AppWidgetManager.INVALID_APPWIDGET_ID){
int scrollOffset = intent.getIntExtra(EXTRA_SCROLL_OFFSET, 0);
if (ACTION_SCROLL_UP.equals(intent.getAction()) ||
ACTION_SCROLL_DOWN.equals(intent.getAction()) ||
ACTION_MARK_COMPLETE.equals(intent.getAction())){
Intent updateIntent = new Intent(context, UpdateService.class);
updateIntent.setAction(intent.getAction());
updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id);
updateIntent.putExtra(EXTRA_SCROLL_OFFSET, scrollOffset);
updateIntent.putExtras(intent.getExtras());
context.startService(updateIntent);
}
} else {
super.onReceive(context, intent);
}
@ -207,7 +204,7 @@ public class PowerWidget extends AppWidgetProvider {
int[] appWidgetIds = null;
int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
if (intent != null && (ACTION_SCROLL_UP.equals(intent.getAction()) || ACTION_SCROLL_DOWN.equals(intent.getAction()))) {
if (intent != null && intent.hasExtra(EXTRA_SCROLL_OFFSET)) {
scrollOffset = intent.getIntExtra(EXTRA_SCROLL_OFFSET, 0);
appWidgetIds = intent.getIntArrayExtra(APP_WIDGET_IDS);
appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
@ -344,10 +341,6 @@ public class PowerWidget extends AppWidgetProvider {
boolean canScrollDown = cursor.getCount() > 1;
if(importanceColors == null) {
importanceColors = Task.getImportanceColors(getResources());
}
Task task = new Task();
int position;
for (position = 0; position < cursor.getCount() && position < ROW_LIMIT; position++) {
@ -361,7 +354,7 @@ public class PowerWidget extends AppWidgetProvider {
long taskId = task.getValue(Task.ID);
// importance
views.setInt(TASK_IMPORTANCE[position], "setBackgroundColor", importanceColors[task.getValue(Task.IMPORTANCE)]);
views.setImageViewResource(TASK_IMPORTANCE[position], TASK_IMPORTANCE[task.getValue(Task.IMPORTANCE)]);
// check box
Intent markCompleteIntent = new Intent(context, PowerWidget.class);
@ -369,6 +362,7 @@ public class PowerWidget extends AppWidgetProvider {
markCompleteIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
markCompleteIntent.putExtra(COMPLETED_TASK_ID, taskId);
markCompleteIntent.putExtra(COMPLETED_TASK_POSITION, scrollOffset + position);
markCompleteIntent.putExtra(EXTRA_SCROLL_OFFSET, scrollOffset);
markCompleteIntent.setType(COMPLETED_TASK_ID + taskId);
PendingIntent pMarkCompleteIntent = PendingIntent.getBroadcast(context, 0, markCompleteIntent,
PendingIntent.FLAG_UPDATE_CURRENT);

Loading…
Cancel
Save