Started refactoring TagUpdatesFragment into an abstract superclass

pull/14/head
Sam Bosley 13 years ago
parent aaa52dce31
commit 2999bef8ab

@ -0,0 +1,305 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.actfm;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.ActionBar;
import android.support.v4.app.ListFragment;
import android.support.v4.view.Menu;
import android.support.v4.view.MenuItem;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import com.timsu.astrid.R;
import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
import com.todoroo.astrid.actfm.ActFmCameraModule.ClearImageCallback;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.adapter.UpdateAdapter;
import com.todoroo.astrid.dao.UpdateDao;
import com.todoroo.astrid.data.Update;
import com.todoroo.astrid.helper.ImageDiskCache;
public abstract class CommentsFragment extends ListFragment {
// private TagData tagData;
protected UpdateAdapter updateAdapter;
protected EditText addCommentField;
protected ViewGroup listHeader;
protected ImageButton pictureButton;
protected Bitmap picture = null;
public static final String TAG_UPDATES_FRAGMENT = "tagupdates_fragment"; //$NON-NLS-1$
//Append tag data remote id to this preference
public static final String UPDATES_LAST_VIEWED = "updates_last_viewed_"; //$NON-NLS-1$
protected static final int MENU_REFRESH_ID = Menu.FIRST;
protected final ImageDiskCache imageCache;
@Autowired ActFmPreferenceService actFmPreferenceService;
@Autowired UpdateDao updateDao;
public CommentsFragment() {
DependencyInjectionService.getInstance().inject(this);
imageCache = ImageDiskCache.getInstance();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.tag_updates_fragment, container, false);
return v;
}
protected abstract void loadModelFromIntent(Intent intent);
protected abstract boolean hasModel();
protected abstract String getModelName();
protected abstract Cursor getCursor();
protected abstract String getSourceIdentifier();
protected abstract void addHeaderToListView(ListView listView);
protected abstract void refreshActivity(boolean manual);
protected abstract void populateListHeader(ViewGroup header);
protected abstract void addComment();
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
loadModelFromIntent(getActivity().getIntent());
OnTouchListener onTouch = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.requestFocusFromTouch();
return false;
}
};
if (!hasModel()) {
getView().findViewById(R.id.updatesFooter).setVisibility(View.GONE);
}
addCommentField = (EditText) getView().findViewById(R.id.commentField);
addCommentField.setOnTouchListener(onTouch);
setUpUpdateList();
}
protected void setUpUpdateList() {
if (getActivity() instanceof TagUpdatesActivity) {
ActionBar ab = ((AstridActivity) getActivity()).getSupportActionBar();
String title = hasModel() ? getString(R.string.tag_updates_title, getModelName())
: getString(R.string.TLA_all_activity);
((TextView) ab.getCustomView().findViewById(R.id.title)).setText(title);
}
final ImageButton commentButton = (ImageButton) getView().findViewById(R.id.commentButton);
addCommentField = (EditText) getView().findViewById(R.id.commentField);
addCommentField.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_NULL && addCommentField.getText().length() > 0) {
addComment();
return true;
}
return false;
}
});
addCommentField.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
commentButton.setVisibility((s.length() > 0) ? View.VISIBLE : View.GONE);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//
}
});
commentButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addComment();
}
});
final ClearImageCallback clearImage = new ClearImageCallback() {
@Override
public void clearImage() {
picture = null;
resetPictureButton();
}
};
pictureButton = (ImageButton) getView().findViewById(R.id.picture);
pictureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (picture != null)
ActFmCameraModule.showPictureLauncher(CommentsFragment.this, clearImage);
else
ActFmCameraModule.showPictureLauncher(CommentsFragment.this, null);
}
});
refreshUpdatesList();
refreshActivity(false); // start a pull in the background
}
protected void resetPictureButton() {
pictureButton.setImageResource(R.drawable.camera_button);
}
protected void refreshUpdatesList() {
Cursor cursor = null;
ListView listView = ((ListView) getView().findViewById(android.R.id.list));
if(updateAdapter == null) {
cursor = getCursor();
getActivity().startManagingCursor(cursor);
String source = getSourceIdentifier();
updateAdapter = new UpdateAdapter(this, R.layout.update_adapter_row,
cursor, false, source);
addHeaderToListView(listView);
listView.setAdapter(updateAdapter);
} else {
cursor = updateAdapter.getCursor();
cursor.requery();
getActivity().startManagingCursor(cursor);
populateListHeader(listHeader);
}
View activityContainer = getView().findViewById(R.id.no_activity_container);
if (cursor.getCount() == 0) {
activityContainer.setVisibility(View.VISIBLE);
TextView textView = (TextView)activityContainer.findViewById(R.id.no_activity_message);
if(actFmPreferenceService.isLoggedIn()) {
textView.setText(getActivity().getString(R.string.ENA_no_comments));
}
else {
textView.setText(getActivity().getString(R.string.UpS_no_activity_log_in));
activityContainer.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(getActivity(), ActFmLoginActivity.class),
TagSettingsActivity.REQUEST_ACTFM_LOGIN);
}
});
}
listView.setVisibility(View.GONE);
}
else {
activityContainer.setVisibility(View.GONE);
listView.setVisibility(View.VISIBLE);
}
if (getActivity() instanceof TagUpdatesActivity)
setLastViewed();
}
protected void setLastViewed() {
//
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
if(menu.size() > 0)
return;
MenuItem item;
boolean showCommentsRefresh = actFmPreferenceService.isLoggedIn();
if (showCommentsRefresh) {
Activity activity = getActivity();
if (activity instanceof TaskListActivity) {
TaskListActivity tla = (TaskListActivity) activity;
showCommentsRefresh = tla.getTaskEditFragment() == null;
}
}
if(showCommentsRefresh) {
item = menu.add(Menu.NONE, MENU_REFRESH_ID, Menu.NONE,
R.string.ENA_refresh_comments);
item.setIcon(R.drawable.icn_menu_refresh_dark);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle my own menus
switch (item.getItemId()) {
case MENU_REFRESH_ID: {
refreshActivity(true);
return true;
}
default: return false;
}
}
protected String getPictureHashForUpdate(Update u) {
String s = u.getValue(Update.TASK).toString() + u.getValue(Update.CREATION_DATE);
return s;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
CameraResultCallback callback = new CameraResultCallback() {
@Override
public void handleCameraResult(Bitmap bitmap) {
picture = bitmap;
pictureButton.setImageBitmap(picture);
}
};
if (ActFmCameraModule.activityResult(getActivity(), requestCode, resultCode, data, callback)) {
//Handled
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}

@ -9,48 +9,24 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.app.ActionBar;
import android.support.v4.app.ListFragment;
import android.support.v4.view.Menu;
import android.support.v4.view.MenuItem;
import android.text.Editable;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import com.timsu.astrid.R; import com.timsu.astrid.R;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
import com.todoroo.astrid.actfm.ActFmCameraModule.ClearImageCallback;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncService;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskListActivity; import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.adapter.UpdateAdapter; import com.todoroo.astrid.adapter.UpdateAdapter;
import com.todoroo.astrid.dao.UpdateDao;
import com.todoroo.astrid.data.SyncFlags; import com.todoroo.astrid.data.SyncFlags;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.data.Update; import com.todoroo.astrid.data.Update;
import com.todoroo.astrid.helper.AsyncImageView; import com.todoroo.astrid.helper.AsyncImageView;
import com.todoroo.astrid.helper.ImageDiskCache;
import com.todoroo.astrid.helper.ProgressBarSyncResultCallback; import com.todoroo.astrid.helper.ProgressBarSyncResultCallback;
import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsConstants;
import com.todoroo.astrid.service.StatisticsService; import com.todoroo.astrid.service.StatisticsService;
@ -58,202 +34,58 @@ import com.todoroo.astrid.service.TagDataService;
import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.AstridPreferences;
public class TagUpdatesFragment extends ListFragment { public class TagUpdatesFragment extends CommentsFragment {
private TagData tagData; private TagData tagData;
private UpdateAdapter updateAdapter;
private EditText addCommentField;
private ViewGroup listHeader;
private ImageButton pictureButton; @Autowired
private TagDataService tagDataService;
private Bitmap picture = null; @Autowired
private ActFmSyncService actFmSyncService;
public static final String TAG_UPDATES_FRAGMENT = "tagupdates_fragment"; //$NON-NLS-1$
//Append tag data remote id to this preference
public static final String UPDATES_LAST_VIEWED = "updates_last_viewed_"; //$NON-NLS-1$
private static final int MENU_REFRESH_ID = Menu.FIRST;
private final ImageDiskCache imageCache;
@Autowired ActFmPreferenceService actFmPreferenceService;
@Autowired TagDataService tagDataService;
@Autowired UpdateDao updateDao;
@Autowired ActFmSyncService actFmSyncService;
public TagUpdatesFragment() {
DependencyInjectionService.getInstance().inject(this);
imageCache = ImageDiskCache.getInstance();
}
public TagUpdatesFragment(TagData tagData) { public TagUpdatesFragment(TagData tagData) {
this(); super();
this.tagData = tagData; this.tagData = tagData;
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, protected void loadModelFromIntent(Intent intent) {
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.tag_updates_fragment, container, false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
if (tagData == null) if (tagData == null)
tagData = getActivity().getIntent().getParcelableExtra(TagViewFragment.EXTRA_TAG_DATA); tagData = intent.getParcelableExtra(TagViewFragment.EXTRA_TAG_DATA);
OnTouchListener onTouch = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.requestFocusFromTouch();
return false;
} }
};
if (tagData == null) {
getView().findViewById(R.id.updatesFooter).setVisibility(View.GONE);
}
addCommentField = (EditText) getView().findViewById(R.id.commentField);
addCommentField.setOnTouchListener(onTouch);
setUpUpdateList();
}
protected void setUpUpdateList() {
if (getActivity() instanceof TagUpdatesActivity) {
ActionBar ab = ((AstridActivity) getActivity()).getSupportActionBar();
String title = (tagData == null) ? getString(R.string.TLA_all_activity) :
getString(R.string.tag_updates_title, tagData.getValue(TagData.NAME));
((TextView) ab.getCustomView().findViewById(R.id.title)).setText(title);
}
final ImageButton commentButton = (ImageButton) getView().findViewById(R.id.commentButton);
addCommentField = (EditText) getView().findViewById(R.id.commentField);
addCommentField.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_NULL && addCommentField.getText().length() > 0) {
addComment();
return true;
}
return false;
}
});
addCommentField.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
commentButton.setVisibility((s.length() > 0) ? View.VISIBLE : View.GONE);
}
@Override @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { protected boolean hasModel() {
// return tagData != null;
} }
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//
}
});
commentButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addComment();
}
});
final ClearImageCallback clearImage = new ClearImageCallback() {
@Override
public void clearImage() {
picture = null;
resetPictureButton();
}
};
pictureButton = (ImageButton) getView().findViewById(R.id.picture);
pictureButton.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { protected String getModelName() {
if (picture != null) return tagData.getValue(TagData.NAME);
ActFmCameraModule.showPictureLauncher(TagUpdatesFragment.this, clearImage);
else
ActFmCameraModule.showPictureLauncher(TagUpdatesFragment.this, null);
} }
});
refreshUpdatesList();
refreshActivity(false); // start a pull in the background
}
private void resetPictureButton() {
pictureButton.setImageResource(R.drawable.camera_button);
}
private void refreshUpdatesList() {
Cursor cursor = null;
ListView listView = ((ListView) getView().findViewById(android.R.id.list));
if(updateAdapter == null) {
cursor = tagDataService.getUpdates(tagData);
getActivity().startManagingCursor(cursor);
String fromUpdateClass = (tagData == null) ? UpdateAdapter.FROM_RECENT_ACTIVITY_VIEW : UpdateAdapter.FROM_TAG_VIEW;
updateAdapter = new UpdateAdapter(this, R.layout.update_adapter_row,
cursor, false, fromUpdateClass);
addHeaderToListView(listView);
listView.setAdapter(updateAdapter);
} else {
cursor = updateAdapter.getCursor();
cursor.requery();
getActivity().startManagingCursor(cursor);
populateListHeader(listHeader);
}
View activityContainer = getView().findViewById(R.id.no_activity_container);
if (cursor.getCount() == 0) {
activityContainer.setVisibility(View.VISIBLE);
TextView textView = (TextView)activityContainer.findViewById(R.id.no_activity_message);
if(actFmPreferenceService.isLoggedIn()) {
textView.setText(getActivity().getString(R.string.ENA_no_comments));
}
else {
textView.setText(getActivity().getString(R.string.UpS_no_activity_log_in));
activityContainer.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { protected Cursor getCursor() {
startActivityForResult(new Intent(getActivity(), ActFmLoginActivity.class), return tagDataService.getUpdates(tagData);
TagSettingsActivity.REQUEST_ACTFM_LOGIN);
}
});
}
listView.setVisibility(View.GONE);
}
else {
activityContainer.setVisibility(View.GONE);
listView.setVisibility(View.VISIBLE);
} }
if (getActivity() instanceof TagUpdatesActivity) @Override
setLastViewed(); protected String getSourceIdentifier() {
return (tagData == null) ? UpdateAdapter.FROM_RECENT_ACTIVITY_VIEW : UpdateAdapter.FROM_TAG_VIEW;
} }
private void addHeaderToListView(ListView listView) { @Override
protected void addHeaderToListView(ListView listView) {
if (AstridPreferences.useTabletLayout(getActivity()) && tagData != null) { if (AstridPreferences.useTabletLayout(getActivity()) && tagData != null) {
listHeader = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.tag_updates_header, listView, false); listHeader = (ViewGroup) getActivity().getLayoutInflater().inflate(R.layout.tag_updates_header, listView, false);
populateListHeader(listHeader); populateListHeader(listHeader);
listView.addHeaderView(listHeader); listView.addHeaderView(listHeader);
} }
} }
private void populateListHeader(ViewGroup header) {
@Override
protected void populateListHeader(ViewGroup header) {
if (header == null) return; if (header == null) return;
TextView tagTitle = (TextView) header.findViewById(R.id.tag_title); TextView tagTitle = (TextView) header.findViewById(R.id.tag_title);
String tagName = tagData.getValue(TagData.NAME); String tagName = tagData.getValue(TagData.NAME);
@ -274,52 +106,8 @@ public class TagUpdatesFragment extends ListFragment {
imageView.setUrl(tagData.getValue(TagData.PICTURE)); imageView.setUrl(tagData.getValue(TagData.PICTURE));
} }
public void setLastViewed() {
if(tagData != null && tagData.getValue(TagData.REMOTE_ID) > 0) {
Preferences.setLong(UPDATES_LAST_VIEWED + tagData.getValue(TagData.REMOTE_ID), DateUtilities.now());
Activity activity = getActivity();
if (activity instanceof TaskListActivity)
((TaskListActivity) activity).setCommentsCount(0);
}
}
@Override @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { protected void refreshActivity(boolean manual) {
if(menu.size() > 0)
return;
MenuItem item;
boolean showCommentsRefresh = actFmPreferenceService.isLoggedIn();
if (showCommentsRefresh) {
Activity activity = getActivity();
if (activity instanceof TaskListActivity) {
TaskListActivity tla = (TaskListActivity) activity;
showCommentsRefresh = tla.getTaskEditFragment() == null;
}
}
if(showCommentsRefresh) {
item = menu.add(Menu.NONE, MENU_REFRESH_ID, Menu.NONE,
R.string.ENA_refresh_comments);
item.setIcon(R.drawable.icn_menu_refresh_dark);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// handle my own menus
switch (item.getItemId()) {
case MENU_REFRESH_ID: {
refreshActivity(true);
return true;
}
default: return false;
}
}
private void refreshActivity(boolean manual) {
if (actFmPreferenceService.isLoggedIn()) { if (actFmPreferenceService.isLoggedIn()) {
final ProgressBarSyncResultCallback callback = new ProgressBarSyncResultCallback( final ProgressBarSyncResultCallback callback = new ProgressBarSyncResultCallback(
getActivity(), this, R.id.comments_progressBar, new Runnable() { getActivity(), this, R.id.comments_progressBar, new Runnable() {
@ -347,14 +135,9 @@ public class TagUpdatesFragment extends ListFragment {
} }
} }
private String getPictureHashForUpdate(Update u) {
String s = u.getValue(Update.TASK).toString() + u.getValue(Update.CREATION_DATE);
return s;
}
@SuppressWarnings("nls") @SuppressWarnings("nls")
private void addComment() { @Override
protected void addComment() {
Update update = new Update(); Update update = new Update();
update.setValue(Update.MESSAGE, addCommentField.getText().toString()); update.setValue(Update.MESSAGE, addCommentField.getText().toString());
update.setValue(Update.ACTION_CODE, "tag_comment"); update.setValue(Update.ACTION_CODE, "tag_comment");
@ -371,7 +154,7 @@ public class TagUpdatesFragment extends ListFragment {
update.setValue(Update.PICTURE, updateString); update.setValue(Update.PICTURE, updateString);
} }
catch (Exception e) { catch (Exception e) {
Log.e("EditNoteActivity", "Failed to put image to disk..."); Log.e("TagUpdatesFragment", "Failed to put image to disk...");
} }
} }
update.putTransitory(SyncFlags.ACTFM_SUPPRESS_SYNC, true); update.putTransitory(SyncFlags.ACTFM_SUPPRESS_SYNC, true);
@ -395,19 +178,13 @@ public class TagUpdatesFragment extends ListFragment {
} }
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { protected void setLastViewed() {
CameraResultCallback callback = new CameraResultCallback() { if(tagData != null && tagData.getValue(TagData.REMOTE_ID) > 0) {
@Override Preferences.setLong(UPDATES_LAST_VIEWED + tagData.getValue(TagData.REMOTE_ID), DateUtilities.now());
public void handleCameraResult(Bitmap bitmap) { Activity activity = getActivity();
picture = bitmap; if (activity instanceof TaskListActivity)
pictureButton.setImageBitmap(picture); ((TaskListActivity) activity).setCommentsCount(0);
}
};
if (ActFmCameraModule.activityResult(getActivity(), requestCode, resultCode, data, callback)) {
//Handled
} else {
super.onActivityResult(requestCode, resultCode, data);
} }
} }
} }

@ -260,7 +260,7 @@ public class TagViewFragment extends TaskListFragment {
private void updateCommentCount() { private void updateCommentCount() {
if (tagData != null) { if (tagData != null) {
long lastViewedComments = Preferences.getLong(TagUpdatesFragment.UPDATES_LAST_VIEWED + tagData.getValue(TagData.REMOTE_ID), 0); long lastViewedComments = Preferences.getLong(CommentsFragment.UPDATES_LAST_VIEWED + tagData.getValue(TagData.REMOTE_ID), 0);
int unreadCount = 0; int unreadCount = 0;
TodorooCursor<Update> commentCursor = tagDataService.getUpdatesWithExtraCriteria(tagData, Update.CREATION_DATE.gt(lastViewedComments)); TodorooCursor<Update> commentCursor = tagDataService.getUpdatesWithExtraCriteria(tagData, Update.CREATION_DATE.gt(lastViewedComments));
try { try {

@ -25,6 +25,7 @@ import com.todoroo.aacenc.RecognizerApi.RecognizerApiListener;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.CommentsFragment;
import com.todoroo.astrid.actfm.TagUpdatesFragment; import com.todoroo.astrid.actfm.TagUpdatesFragment;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
@ -90,9 +91,9 @@ public class AstridActivity extends FragmentActivity
return frag; return frag;
} }
public TagUpdatesFragment getTagUpdatesFragment() { public CommentsFragment getTagUpdatesFragment() {
TagUpdatesFragment frag = (TagUpdatesFragment) getSupportFragmentManager() CommentsFragment frag = (CommentsFragment) getSupportFragmentManager()
.findFragmentByTag(TagUpdatesFragment.TAG_UPDATES_FRAGMENT); .findFragmentByTag(CommentsFragment.TAG_UPDATES_FRAGMENT);
return frag; return frag;
} }
@ -197,7 +198,7 @@ public class AstridActivity extends FragmentActivity
FragmentTransaction transaction = manager.beginTransaction(); FragmentTransaction transaction = manager.beginTransaction();
TagUpdatesFragment updates = new TagUpdatesFragment(tagData); TagUpdatesFragment updates = new TagUpdatesFragment(tagData);
transaction.replace(R.id.taskedit_fragment_container, updates, TagUpdatesFragment.TAG_UPDATES_FRAGMENT); transaction.replace(R.id.taskedit_fragment_container, updates, CommentsFragment.TAG_UPDATES_FRAGMENT);
transaction.commit(); transaction.commit();
} }

@ -38,7 +38,7 @@ import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.TagSettingsActivity; import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagUpdatesFragment; import com.todoroo.astrid.actfm.CommentsFragment;
import com.todoroo.astrid.actfm.TagViewFragment; import com.todoroo.astrid.actfm.TagViewFragment;
import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.adapter.FilterAdapter;
import com.todoroo.astrid.adapter.TaskListFragmentPagerAdapter; import com.todoroo.astrid.adapter.TaskListFragmentPagerAdapter;
@ -471,7 +471,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
public void onTaskListItemClicked(long taskId) { public void onTaskListItemClicked(long taskId) {
if (fragmentLayout != LAYOUT_SINGLE) if (fragmentLayout != LAYOUT_SINGLE)
getIntent().putExtra(OPEN_TASK, taskId); getIntent().putExtra(OPEN_TASK, taskId);
TagUpdatesFragment tuf = getTagUpdatesFragment(); CommentsFragment tuf = getTagUpdatesFragment();
if (tuf != null) if (tuf != null)
tuf.getView().setVisibility(View.INVISIBLE); tuf.getView().setVisibility(View.INVISIBLE);
@ -561,7 +561,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT); Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT);
onPostResume(); onPostResume();
TagUpdatesFragment tuf = getTagUpdatesFragment(); CommentsFragment tuf = getTagUpdatesFragment();
if (tuf != null) if (tuf != null)
tuf.getView().setVisibility(View.VISIBLE); tuf.getView().setVisibility(View.VISIBLE);
} }

Loading…
Cancel
Save