Temporary check in

pull/258/head
Rechee Jozil 9 years ago
parent de45f3fe6b
commit 7c85786d5c

@ -24,9 +24,13 @@ import android.os.*;
import org.isoron.uhabits.*;
import org.isoron.uhabits.activities.*;
import org.isoron.uhabits.activities.habits.list.model.*;
import org.isoron.uhabits.models.Habit;
import org.isoron.uhabits.preferences.*;
import org.isoron.uhabits.utils.*;
import java.util.ArrayList;
import java.util.List;
/**
* Activity that allows the user to see and modify the list of habits.
*/
@ -57,7 +61,6 @@ public class ListHabitsActivity extends BaseActivity
super.onCreate(savedInstanceState);
HabitsApplication app = (HabitsApplication) getApplicationContext();
component = DaggerListHabitsComponent
.builder()
.appComponent(app.getComponent())
@ -82,10 +85,31 @@ public class ListHabitsActivity extends BaseActivity
midnightTimer = component.getMidnightTimer();
if(savedInstanceState != null){
long[] selected = savedInstanceState.getLongArray("selected");
if(selected != null){
adapter.selectSavedHabits(selected);
}
}
setScreen(screen);
controller.onStartup();
}
@Override
protected void onSaveInstanceState (Bundle outState){
super.onSaveInstanceState(outState);
List<Habit> selected = adapter.getSelected();
if(selected.size() != 0){
long[] ids = new long[selected.size()];
for(int i = 0; i < selected.size(); i++){
ids[i] = selected.get(i).getId();
}
outState.putLongArray("selected", ids);
}
}
@Override
protected void onPause()
{

@ -19,6 +19,8 @@
package org.isoron.uhabits.activities.habits.list.model;
import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
import android.support.annotation.*;
import android.support.v7.widget.*;
import android.view.*;
@ -305,4 +307,17 @@ public class HabitCardListAdapter
else selected.remove(h);
notifyDataSetChanged();
}
public void addSelectedHabit(Habit habitToSelect){
selected.add(habitToSelect);
notifyDataSetChanged();
}
public void selectSavedHabits(long[] selectedIDs) throws NotFoundException {
for(long id : selectedIDs)
{
Habit selectedHabit = cache.getHabitById(id);
addSelectedHabit(selectedHabit);
}
}
}

@ -19,6 +19,7 @@
package org.isoron.uhabits.activities.habits.list.model;
import android.content.res.Resources;
import android.support.annotation.*;
import org.isoron.uhabits.*;
@ -102,6 +103,16 @@ public class HabitCardListCache implements CommandRunner.Listener
return data.habits.get(position);
}
public Habit getHabitById(long id){
for(Habit habit: data.habits){
if(habit.getId() == id){
return habit;
}
}
throw new Resources.NotFoundException("Habit not found.");
}
public int getHabitCount()
{
return data.habits.size();

Loading…
Cancel
Save