Save TagData

pull/384/head
Alex Baker 10 years ago
parent 99ffecc1c2
commit 2f0938a11a

@ -17,59 +17,58 @@ import javax.inject.Inject;
public class TagViewFragment extends TaskListFragment { public class TagViewFragment extends TaskListFragment {
public static final String EXTRA_TAG_NAME = "tag"; //$NON-NLS-1$ private static final String EXTRA_TAG_DATA = "extra_tag_data";
public static final String EXTRA_TAG_NAME = "tag"; //$NON-NLS-1$
public static final String EXTRA_TAG_UUID = "uuid"; //$NON-NLS-1$ public static final String EXTRA_TAG_UUID = "uuid"; //$NON-NLS-1$
protected TagData tagData; protected TagData tagData;
@Inject TagDataDao tagDataDao; @Inject TagDataDao tagDataDao;
private boolean dataLoaded = false;
// --- UI initialization
@Override @Override
public void onActivityCreated(final Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onCreate(savedInstanceState);
getListView().setOnKeyListener(null); if (savedInstanceState != null) {
} tagData = savedInstanceState.getParcelable(EXTRA_TAG_DATA);
} else {
String tag = extras.getString(EXTRA_TAG_NAME);
String uuid = RemoteModel.NO_UUID;
if (extras.containsKey(EXTRA_TAG_UUID)) {
uuid = extras.getString(EXTRA_TAG_UUID);
}
// --- data loading
@Override if(tag == null && RemoteModel.NO_UUID.equals(uuid)) {
protected void initializeData() {
synchronized(this) {
if(dataLoaded) {
return; return;
} }
dataLoaded = true;
}
String tag = extras.getString(EXTRA_TAG_NAME); tagData = RemoteModel.isUuidEmpty(uuid)
String uuid = RemoteModel.NO_UUID; ? tagDataDao.getTagByName(tag, TagData.PROPERTIES)
if (extras.containsKey(EXTRA_TAG_UUID)) { : tagDataDao.getByUuid(uuid, TagData.PROPERTIES);
uuid = extras.getString(EXTRA_TAG_UUID);
}
if (tagData == null) {
if(tag == null && RemoteModel.NO_UUID.equals(uuid)) { tagData = new TagData();
return; tagData.setName(tag);
tagData.setUUID(uuid);
tagDataDao.persist(tagData);
}
} }
}
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
tagData = RemoteModel.isUuidEmpty(uuid) getListView().setOnKeyListener(null);
? tagDataDao.getTagByName(tag, TagData.PROPERTIES) }
: tagDataDao.getByUuid(uuid, TagData.PROPERTIES);
if (tagData == null) { @Override
tagData = new TagData(); public void onSaveInstanceState(Bundle outState) {
tagData.setName(tag); super.onSaveInstanceState(outState);
tagData.setUUID(uuid);
tagDataDao.persist(tagData);
}
super.initializeData(); outState.putParcelable(EXTRA_TAG_DATA, tagData);
} }
@Override @Override

Loading…
Cancel
Save