Just need to implement new list logic when list not authorized

pull/14/head
Sam Bosley 12 years ago
parent 30eddc9939
commit 214e80905c

@ -287,9 +287,7 @@ public abstract class CommentsFragment extends SherlockListFragment {
} }
@Override @Override
public void runOnErrors(List<JSONObject> errors) { public void runOnErrors(List<JSONObject> errors) {/**/}
// TODO: Implement this
}
}; };
if (hasModel()) { if (hasModel()) {
performFetch(manual, doneRunnable); performFetch(manual, doneRunnable);

@ -16,6 +16,7 @@ import android.app.Activity;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.os.Bundle; import android.os.Bundle;
@ -43,6 +44,7 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService; import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncService;
@ -59,6 +61,8 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.core.SortHelper; import com.todoroo.astrid.core.SortHelper;
import com.todoroo.astrid.dao.MetadataDao;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.dao.TagDataDao; import com.todoroo.astrid.dao.TagDataDao;
import com.todoroo.astrid.dao.TagMetadataDao; import com.todoroo.astrid.dao.TagMetadataDao;
import com.todoroo.astrid.dao.TagMetadataDao.TagMetadataCriteria; import com.todoroo.astrid.dao.TagMetadataDao.TagMetadataCriteria;
@ -79,6 +83,7 @@ import com.todoroo.astrid.subtasks.SubtasksTagListFragment;
import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagFilterExposer;
import com.todoroo.astrid.tags.TagMemberMetadata; import com.todoroo.astrid.tags.TagMemberMetadata;
import com.todoroo.astrid.tags.TagService.Tag; import com.todoroo.astrid.tags.TagService.Tag;
import com.todoroo.astrid.tags.TaskToTagMetadata;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags; import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.utility.ResourceDrawableCache; import com.todoroo.astrid.utility.ResourceDrawableCache;
@ -118,6 +123,8 @@ public class TagViewFragment extends TaskListFragment {
@Autowired UserDao userDao; @Autowired UserDao userDao;
@Autowired MetadataDao metadataDao;
@Autowired TagMetadataDao tagMetadataDao; @Autowired TagMetadataDao tagMetadataDao;
protected View taskListView; protected View taskListView;
@ -361,7 +368,49 @@ public class TagViewFragment extends TaskListFragment {
} }
@Override @Override
public void runOnErrors(List<JSONObject> errors) { public void runOnErrors(List<JSONObject> errors) {
// TODO: Implement this Activity activity = getActivity();
if (activity != null && activity instanceof TaskListActivity) {
boolean notAuthorized = false;
for (JSONObject error : errors) {
String errorCode = error.optString("code"); //$NON-NLS-1$
if ("not_authorized".equals(errorCode)) { //$NON-NLS-1$
notAuthorized = true;
break;
}
}
final String tagName = tagData.getValue(TagData.NAME);
if (notAuthorized) {
final TaskListActivity tla = (TaskListActivity) activity;
tla.runOnUiThread(new Runnable() {
@Override
public void run() {
DialogUtilities.okCancelCustomDialog(tla,
tla.getString(R.string.actfm_tag_not_authorized_title),
tla.getString(R.string.actfm_tag_not_authorized_body),
R.string.actfm_tag_not_authorized_new_list,
R.string.actfm_tag_not_authorized_leave_list,
android.R.drawable.ic_dialog_alert,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO: Implement
}
},
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String uuid = tagData.getUuid();
tagDataDao.delete(tagData.getId());
metadataDao.deleteWhere(Criterion.and(MetadataCriteria.withKey(TaskToTagMetadata.KEY), TagMetadata.TAG_UUID.eq(uuid)));
tagMetadataDao.deleteWhere(TagMetadata.TAG_UUID.eq(uuid));
tla.switchToActiveTasks();
}
});
}
});
}
}
} }
}; };
@ -638,10 +687,11 @@ public class TagViewFragment extends TaskListFragment {
parentOnResume(); parentOnResume();
// tag was deleted locally in settings // tag was deleted locally in settings
// go back to active tasks // go back to active tasks
FilterListFragment fl = ((AstridActivity) getActivity()).getFilterListFragment(); AstridActivity activity = ((AstridActivity) getActivity());
FilterListFragment fl = activity.getFilterListFragment();
if (fl != null) { if (fl != null) {
fl.clear(); // Should auto refresh fl.clear(); // Should auto refresh
fl.switchToActiveTasks(); activity.switchToActiveTasks();
} }
return; return;
} }

@ -431,9 +431,7 @@ public class EditNoteActivity extends LinearLayout implements TimerActionListene
} }
} }
@Override @Override
public void runOnErrors(List<JSONObject> errors) { public void runOnErrors(List<JSONObject> errors) {/**/}
// TODO: Implement this
}
}; };
ActFmSyncThread.getInstance().enqueueMessage(new BriefMe<UserActivity>(UserActivity.class, null, task.getValue(Task.USER_ACTIVITIES_PUSHED_AT), BriefMe.TASK_ID_KEY, task.getUuid()), callback); ActFmSyncThread.getInstance().enqueueMessage(new BriefMe<UserActivity>(UserActivity.class, null, task.getValue(Task.USER_ACTIVITIES_PUSHED_AT), BriefMe.TASK_ID_KEY, task.getUuid()), callback);

@ -222,9 +222,7 @@ public class PersonViewFragment extends TaskListFragment {
} }
} }
@Override @Override
public void runOnErrors(List<JSONObject> errors) { public void runOnErrors(List<JSONObject> errors) {/**/}
// TODO: Implement this
}
}; };
ActFmSyncThread.getInstance().enqueueMessage(new BriefMe<User>(User.class, user.getValue(User.UUID), user.getValue(User.PUSHED_AT)), callback); ActFmSyncThread.getInstance().enqueueMessage(new BriefMe<User>(User.class, user.getValue(User.UUID), user.getValue(User.PUSHED_AT)), callback);
} }

@ -369,6 +369,10 @@
<string name="actfm_logged_in_different_user_clear_data">Clear all data</string> <string name="actfm_logged_in_different_user_clear_data">Clear all data</string>
<string name="actfm_logged_in_different_user_processing">Processing existing data...</string> <string name="actfm_logged_in_different_user_processing">Processing existing data...</string>
<string name="actfm_tag_not_authorized_title">Not authorized</string>
<string name="actfm_tag_not_authorized_body">You are no longer authorized to view this list (you may have been removed). Would you like to create a new list with the same name?</string>
<string name="actfm_tag_not_authorized_new_list">Create new list</string>
<string name="actfm_tag_not_authorized_leave_list">Leave list</string>
</resources> </resources>

@ -36,6 +36,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent; import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.IntentFilter; import com.todoroo.astrid.api.IntentFilter;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.core.SearchFilter; import com.todoroo.astrid.core.SearchFilter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;
@ -403,6 +404,10 @@ public class AstridActivity extends SherlockFragmentActivity
DialogUtilities.okDialog(this, getString(errorStr), null); DialogUtilities.okDialog(this, getString(errorStr), null);
} }
public void switchToActiveTasks() {
onFilterItemClicked(CoreFilterExposer.buildInboxFilter(getResources()));
}
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_RESTART_ACTIVITY) { if (resultCode == RESULT_RESTART_ACTIVITY) {

@ -52,7 +52,6 @@ import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem; import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithUpdate; import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.tags.TagsPlugin;
@ -284,13 +283,6 @@ public class FilterListFragment extends SherlockListFragment {
mListener.onFilterItemClicked(item); mListener.onFilterItemClicked(item);
} }
public void switchToActiveTasks() {
if (adapter.getCount() > 0)
mListener.onFilterItemClicked(adapter.getItem(0));
else
mListener.onFilterItemClicked(CoreFilterExposer.buildInboxFilter(getResources()));
}
@Override @Override
public void onCreateContextMenu(ContextMenu menu, View v, public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) { ContextMenuInfo menuInfo) {

Loading…
Cancel
Save