Just need to implement new list logic when list not authorized

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

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

@ -16,6 +16,7 @@ import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
@ -43,6 +44,7 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
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.FilterWithCustomIntent;
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.TagMetadataDao;
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.TagMemberMetadata;
import com.todoroo.astrid.tags.TagService.Tag;
import com.todoroo.astrid.tags.TaskToTagMetadata;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.utility.ResourceDrawableCache;
@ -118,6 +123,8 @@ public class TagViewFragment extends TaskListFragment {
@Autowired UserDao userDao;
@Autowired MetadataDao metadataDao;
@Autowired TagMetadataDao tagMetadataDao;
protected View taskListView;
@ -361,7 +368,49 @@ public class TagViewFragment extends TaskListFragment {
}
@Override
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();
// tag was deleted locally in settings
// go back to active tasks
FilterListFragment fl = ((AstridActivity) getActivity()).getFilterListFragment();
AstridActivity activity = ((AstridActivity) getActivity());
FilterListFragment fl = activity.getFilterListFragment();
if (fl != null) {
fl.clear(); // Should auto refresh
fl.switchToActiveTasks();
activity.switchToActiveTasks();
}
return;
}

@ -431,9 +431,7 @@ public class EditNoteActivity extends LinearLayout implements TimerActionListene
}
}
@Override
public void runOnErrors(List<JSONObject> errors) {
// TODO: Implement this
}
public void runOnErrors(List<JSONObject> errors) {/**/}
};
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
public void runOnErrors(List<JSONObject> errors) {
// TODO: Implement this
}
public void runOnErrors(List<JSONObject> errors) {/**/}
};
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_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>

@ -36,6 +36,7 @@ import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.api.FilterListItem;
import com.todoroo.astrid.api.FilterWithCustomIntent;
import com.todoroo.astrid.api.IntentFilter;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.core.SearchFilter;
import com.todoroo.astrid.dao.TaskDao;
@ -403,6 +404,10 @@ public class AstridActivity extends SherlockFragmentActivity
DialogUtilities.okDialog(this, getString(errorStr), null);
}
public void switchToActiveTasks() {
onFilterItemClicked(CoreFilterExposer.buildInboxFilter(getResources()));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
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.FilterListItem;
import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.core.CoreFilterExposer;
import com.todoroo.astrid.service.StatisticsService;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
@ -284,13 +283,6 @@ public class FilterListFragment extends SherlockListFragment {
mListener.onFilterItemClicked(item);
}
public void switchToActiveTasks() {
if (adapter.getCount() > 0)
mListener.onFilterItemClicked(adapter.getItem(0));
else
mListener.onFilterItemClicked(CoreFilterExposer.buildInboxFilter(getResources()));
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {

Loading…
Cancel
Save