Gtasks add list button works again

pull/14/head
Sam Bosley 15 years ago
parent 9e6c734e32
commit 3c760480da

@ -351,6 +351,7 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </intent-filter>
</receiver> </receiver>
<activity android:name="com.todoroo.astrid.gtasks.GtasksListAdder"/>
<receiver android:name="com.todoroo.astrid.gtasks.GtasksDetailExposer"> <receiver android:name="com.todoroo.astrid.gtasks.GtasksDetailExposer">
<intent-filter> <intent-filter>
<action android:name="com.todoroo.astrid.REQUEST_DETAILS" /> <action android:name="com.todoroo.astrid.REQUEST_DETAILS" />

@ -3,7 +3,9 @@ package com.todoroo.astrid.gtasks;
import java.io.IOException; import java.io.IOException;
import android.app.Activity; import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@ -17,12 +19,18 @@ import com.todoroo.astrid.data.StoreObject;
import com.todoroo.astrid.gtasks.api.GtasksService; import com.todoroo.astrid.gtasks.api.GtasksService;
import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator; import com.todoroo.astrid.gtasks.auth.GtasksTokenValidator;
public class GtasksListAdder { public class GtasksListAdder extends Activity {
@Autowired GtasksPreferenceService gtasksPreferenceService; @Autowired GtasksPreferenceService gtasksPreferenceService;
@Autowired GtasksListService gtasksListService; @Autowired GtasksListService gtasksListService;
public void showNewListDialog(final Activity activity) { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
showNewListDialog(this);
}
private void showNewListDialog(final Activity activity) {
DependencyInjectionService.getInstance().inject(this); DependencyInjectionService.getInstance().inject(this);
FrameLayout frame = new FrameLayout(activity); FrameLayout frame = new FrameLayout(activity);
@ -30,36 +38,51 @@ public class GtasksListAdder {
frame.addView(editText); frame.addView(editText);
frame.setPadding(10, 0, 10, 0); frame.setPadding(10, 0, 10, 0);
DialogUtilities.viewDialog(activity, DialogInterface.OnClickListener onClick = new DialogInterface.OnClickListener() {
activity.getString(R.string.gtasks_FEx_create_list_dialog), @Override
frame, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) {
@Override if (gtasksPreferenceService.isLoggedIn() && ! gtasksPreferenceService.isOngoing()) {
public void onClick(DialogInterface dialog, int which) { final ProgressDialog pd = DialogUtilities.progressDialog(GtasksListAdder.this,
if (gtasksPreferenceService.isLoggedIn() && ! gtasksPreferenceService.isOngoing()) { GtasksListAdder.this.getString(R.string.gtasks_FEx_creating_list));
new Thread(new Runnable() { pd.show();
@Override new Thread(new Runnable() {
public void run() { @Override
String token = gtasksPreferenceService.getToken(); public void run() {
token = GtasksTokenValidator.validateAuthToken(token); String token = gtasksPreferenceService.getToken();
GtasksService service = new GtasksService(token); token = GtasksTokenValidator.validateAuthToken(token);
try { GtasksService service = new GtasksService(token);
String title = editText.getText().toString(); try {
if (TextUtils.isEmpty(title)) //Don't create a list without a title String title = editText.getText().toString();
return; if (TextUtils.isEmpty(title)) //Don't create a list without a title
StoreObject newList = gtasksListService.addNewList(service.createGtaskList(title)); return;
if (newList != null) { StoreObject newList = gtasksListService.addNewList(service.createGtaskList(title));
FilterWithCustomIntent listFilter = (FilterWithCustomIntent) GtasksFilterExposer.filterFromList(activity, newList); if (newList != null) {
listFilter.start(activity); FilterWithCustomIntent listFilter = (FilterWithCustomIntent) GtasksFilterExposer.filterFromList(activity, newList);
} listFilter.start(activity);
} catch (IOException e) {
DialogUtilities.okDialog(activity, activity.getString(R.string.gtasks_FEx_create_list_error), null);
}
} }
}).start();
} catch (IOException e) {
DialogUtilities.okDialog(activity, activity.getString(R.string.gtasks_FEx_create_list_error), null);
} finally {
pd.dismiss();
finish();
}
} }
} }).start();
}, null); }
}
};
DialogInterface.OnClickListener onCancel = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
};
DialogUtilities.viewDialog(activity,
activity.getString(R.string.gtasks_FEx_create_list_dialog),
frame, onClick, onCancel);
} }
} }

@ -13,6 +13,9 @@
<!-- filter title for GTasks lists (%s => list name) --> <!-- filter title for GTasks lists (%s => list name) -->
<string name="gtasks_FEx_title">Google Tasks: %s</string> <string name="gtasks_FEx_title">Google Tasks: %s</string>
<!-- dialog prompt for creating a new gtasks list -->
<string name="gtasks_FEx_creating_list">Creating list...</string>
<!-- dialog prompt for creating a new gtasks list --> <!-- dialog prompt for creating a new gtasks list -->
<string name="gtasks_FEx_create_list_dialog">New List Name:</string> <string name="gtasks_FEx_create_list_dialog">New List Name:</string>

Loading…
Cancel
Save