Skip to content

Instantly share code, notes, and snippets.

View dhruvtaneja's full-sized avatar

Dhruv Taneja dhruvtaneja

  • Uber
  • Bangalore, India
View GitHub Profile
@dhruvtaneja
dhruvtaneja / AppHomeViewModelTest.kt
Created June 23, 2018 12:51
app home viewmodel test
@Test
fun testIsTodoInHome() {
whenever(firebaseRemoteConfig.getString(AbTestingUtils.FirebaseParamKeys.AB_TEST_HOME_SCREEN_VERSION_ANDROID))
.thenReturn(AbTestingUtils.FirebaseParamValues.HOME_TODO)
assertThat(viewModel.isTodoInHome()).isTrue()
whenever(firebaseRemoteConfig.getString(AbTestingUtils.FirebaseParamKeys.AB_TEST_HOME_SCREEN_VERSION_ANDROID))
.thenReturn(AbTestingUtils.FirebaseParamValues.HOME_DEFAULT)
if (appHomeViewModel.isTodoInHome()) {
val todoHomeViewModel = getTodoHomeViewModel()
appHomeViewModel.todoHomeViewModel = todoHomeViewModel
initializeObserversForTodo()
appHomeViewModel.todoHomeViewModel.todoCardsList.addOnListChangedCallback{
...
onItemRangeInserted {
appHomeViewModel.updateTodoCards(list)
}
...
@dhruvtaneja
dhruvtaneja / AppHomeViewModel.kt
Last active June 23, 2018 12:14
app home viewmodel
val segmentsViewModels: ObservableArrayList<AppSegmentViewModel> = ObservableArrayList()
private fun getViewModelsFromSegments(appSegments: ArrayList<AppSegment>): ArrayList<AppSegmentViewModel> {}
private fun loadAppSegments() {
// get the app segments
segmentsViewModels.addAll(getViewModelsFromSegments(appSegments))
}
fun start() {
@dhruvtaneja
dhruvtaneja / TodoHomeViewModel.kt
Created June 23, 2018 09:49
todo home viewmodel
val todoCardsList: ObservableArrayList<ItemViewModel> = ObservableArrayList()
fun getTodoCards(force: Boolean): Maybe<Array<TodoCard>> {}
fun handleCardsResponse(cards: Array<TodoCard>) {}
private fun getViewModels(todoCards: List<TodoCard>): ArrayList<TodoCardViewModel> {}
@dhruvtaneja
dhruvtaneja / ViewType.java
Created August 27, 2017 11:57
ViewType.java
private static final int TYPE_PROMOTIONAL_NOTIFICATION = 1;
private static final int TYPE_APPOINTMENT_NOTIFICATION = 2;
private static final int TYPE_QUERY_RESPONSE_NOTIFICATION = 3;
private static final int TYPE_ORDER_STATUS_NOTIFICATION = 4;
@Override
public int getItemViewType(int position) {
switch(nofitications.get(position).layoutType) {
case "PROMOTIONAL":
return TYPE_PROMOTIONAL_NOTIFICATION;
@dhruvtaneja
dhruvtaneja / OnCreate.java
Last active August 27, 2017 11:23
onCreate.java
View view = null;
LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
switch (viewType) {
case TYPE_PROMOTIONAL_NOTIFICATION:
view = layoutInflater.inflate(R.layout.layout_promotional_notification, parent, false);
break;
case TYPE_APPOINTMENT_NOTIFICATION:
view = layoutInflater.inflate(R.layout.type_appointment_notification, parent, false);
break;