/*
* Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com>
*
* This file is part of Loop Habit Tracker.
*
* Loop Habit Tracker is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* Loop Habit Tracker is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.isoron.uhabits.automation;
import android.content.*;
import android.support.annotation.*;
import android.support.v7.widget.*;
import android.support.v7.widget.Toolbar;
import android.widget.*;
import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.*;
import org.isoron.uhabits.models.*;
import org.isoron.uhabits.utils.*;
import java.util.*;
import butterknife.*;
import static android.R.layout.*;
public class EditSettingRootView extends BaseRootView
{
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.habitSpinner)
AppCompatSpinner habitSpinner;
@BindView(R.id.actionSpinner)
AppCompatSpinner actionSpinner;
@NonNull
private final HabitList habitList;
@NonNull
private final EditSettingController controller;
public EditSettingRootView(@NonNull Context context,
@NonNull HabitList habitList,
@NonNull EditSettingController controller)
{
super(context);
this.habitList = habitList;
this.controller = controller;
addView(inflate(getContext(), R.layout.automation, null));
ButterKnife.bind(this);
populateHabitSpinner();
}
@NonNull
@Override
public Toolbar getToolbar()
{
return toolbar;
}
@Override
public int getToolbarColor()
{
StyledResources res = new StyledResources(getContext());
if (!res.getBoolean(R.attr.useHabitColorAsPrimary))
return super.getToolbarColor();
return res.getColor(R.attr.aboutScreenColor);
}
@OnClick(R.id.buttonSave)
public void onClickSave()
{
int action = actionSpinner.getSelectedItemPosition();
int habitPosition = habitSpinner.getSelectedItemPosition();
Habit habit = habitList.getByPosition(habitPosition);
controller.onSave(habit, action);
}
private void populateHabitSpinner()
{
List<String> names = new LinkedList<>();
for (Habit h : habitList) names.add(h.getName());
ArrayAdapter<String> adapter =
new ArrayAdapter<>(getContext(), simple_spinner_item, names);
adapter.setDropDownViewResource(simple_spinner_dropdown_item);
habitSpinner.setAdapter(adapter);
}
}