This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// BaseReacteFragment method which auto listenes to viewData updates | |
override fun applyViewData(viewData: TasksViewData) { | |
mTasksFragBinding.viewmodel = viewData | |
mListAdapter.tasks = viewData.items | |
SnackbarUtils.showMessage(view, viewData.message) | |
} | |
... | |
// Bind the TasksViewItemActions to the adapter (onItemClick, onItemCheck) | |
mListAdapter = TasksAdapter( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Listen to Single Event live-data object that will only report a snackbar message once | |
mTasksViewModel.getSnackbarMessage().observe(this, new SnackbarMessage.SnackbarObserver() { | |
@Override | |
public void onNewMessage(@StringRes int snackbarMessageResourceId) { | |
SnackbarUtils.showSnackbar(getView(), getString(snackbarMessageResourceId)); | |
} | |
}); | |
... | |
// Bind onItemClick onItemSelect to the view-model |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TasksViewModel extends AndroidViewModel { | |
// These observable fields will update Views automatically | |
public final ObservableList<Task> items = new ObservableArrayList<>(); | |
public final ObservableBoolean dataLoading = new ObservableBoolean(false); | |
public final ObservableField<String> currentFilteringLabel = new ObservableField<>(); | |
public final ObservableField<String> noTasksLabel = new ObservableField<>(); | |
public final ObservableField<Drawable> noTaskIconRes = new ObservableField<>(); | |
public final ObservableBoolean empty = new ObservableBoolean(false); | |
public final ObservableBoolean tasksAddViewVisible = new ObservableBoolean(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
data class TasksViewData(val dataLoading : Boolean, | |
val empty: Boolean, | |
@StringRes val currentFilteringLabel : Int, | |
@DrawableRes val noTaskIconRes: Int, | |
@StringRes val noTasksLabel : Int, | |
val tasksAddViewVisible : Boolean, | |
val items: List<Task>, | |
val message: ViewMessage = InvalidMessage) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Field[] declaredFields = Intent.class.getDeclaredFields(); | |
for (Field field : declaredFields) { | |
if (field.getName().startsWith("FLAG_")) { | |
try { | |
int flag = field.getInt(null); | |
if ((intent.getFlags() & flag) != 0) { | |
log.d(field.getName()); | |
} |
NewerOlder