package ru.bsuirhelper.android.ui.schedule;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.CheckBox;
import android.widget.ListView;
import com.google.analytics.tracking.android.EasyTracker;
import ru.bsuirhelper.android.ApplicationSettings;
import ru.bsuirhelper.android.R;
import ru.bsuirhelper.android.core.schedule.ScheduleManager;
import ru.bsuirhelper.android.core.schedule.StudentGroup;
import ru.bsuirhelper.android.ui.ActivityDrawerMenu;
import java.util.ArrayList;
/**
* Created by Влад on 13.10.13.
*/
public class ActivityDeleteGroups extends ActionBarActivity {
private ListView mListView;
private ApplicationSettings mSettings;
private ScheduleManager mScheduleManager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_managerschedule);
mListView = (ListView) findViewById(R.id.listview_groups);
mScheduleManager = ScheduleManager.getInstance(this);
mSettings = ApplicationSettings.getInstance(this);
ArrayList<StudentGroup> alGroups = mScheduleManager.getGroups();
StudentGroup[] groups = new StudentGroup[alGroups.size()];
groups = alGroups.toArray(groups);
final GroupsViewAdapter vaGroups = new GroupsViewAdapter(this, groups, R.layout.view_deletegroup);
if (vaGroups.getCount() != 0) {
mListView.setAdapter(vaGroups);
}
}
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance(this).activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_groupsdelete_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_deletegroup:
deleteGroupsWhichChecked(mListView);
Intent intent = new Intent(this, ActivityDrawerMenu.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void deleteGroupsWhichChecked(ListView listView) {
GroupsViewAdapter adapter = (GroupsViewAdapter) listView.getAdapter();
for (int position = 0; position < listView.getCount(); position++) {
CheckBox checkBox = (CheckBox) listView.getChildAt(position).findViewById(R.id.checkbox_fordelete);
if (checkBox.isChecked()) {
mScheduleManager.deleteSchedule(adapter.getItem(position).groupId);
//Delete from settings default group
String defaultGroup = mSettings.getString("defaultgroup", null);
if (!(defaultGroup == null)) {
if (defaultGroup.equals(adapter.getItem(position).groupId)) {
mSettings.putString("defaultgroup", null);
}
}
}
}
}
}