Introduce ButterKnife

pull/145/head
Alinson S. Xavier 9 years ago
parent 071cad73d4
commit b98853ab26

@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 23
@ -40,6 +41,8 @@ dependencies {
compile 'org.apmem.tools:layouts:1.10@aar'
compile 'com.opencsv:opencsv:3.7'
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
compile 'com.jakewharton:butterknife:8.0.1'
apt 'com.jakewharton:butterknife-compiler:8.0.1'
compile project(':libs:drag-sort-listview:library')

@ -28,7 +28,6 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
@ -43,8 +42,12 @@ import org.isoron.uhabits.ui.HintManager;
import org.isoron.uhabits.ui.habits.edit.EditHabitDialogFragment;
import org.isoron.uhabits.utils.InterfaceUtils;
public class ListHabitsFragment extends Fragment implements OnClickListener,
HabitListSelectionCallback.Listener, ListHabitsController.Screen
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class ListHabitsFragment extends Fragment
implements HabitListSelectionCallback.Listener, ListHabitsController.Screen
{
private ActionMode actionMode;
private HintManager hintManager;
@ -52,38 +55,26 @@ public class ListHabitsFragment extends Fragment implements OnClickListener,
private Listener habitClickListener;
private BaseActivity activity;
private HabitListView listView;
private LinearLayout llButtonsHeader;
private ProgressBar progressBar;
private View llEmpty;
@BindView(R.id.listView) HabitListView listView;
@BindView(R.id.llButtonsHeader) LinearLayout llButtonsHeader;
@BindView(R.id.progressBar) ProgressBar progressBar;
@BindView(R.id.llEmpty) View llEmpty;
@BindView(R.id.llHint) View llHint;
@BindView(R.id.tvStarEmpty) TextView tvStarEmpty;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.list_habits_fragment, container, false);
View llHint = view.findViewById(R.id.llHint);
llButtonsHeader = (LinearLayout) view.findViewById(R.id.llButtonsHeader);
llEmpty = view.findViewById(R.id.llEmpty);
progressBar = (ProgressBar) view.findViewById(R.id.progressBar);
listView = (HabitListView) view.findViewById(R.id.listView);
TextView tvStarEmpty = (TextView) view.findViewById(R.id.tvStarEmpty);
ButterKnife.bind(this, view);
helper = new ListHabitsHelper(activity, listView.getLoader());
hintManager = new HintManager(activity, llHint);
llHint.setOnClickListener(this);
tvStarEmpty.setTypeface(InterfaceUtils.getFontAwesome(activity));
listView.setListener(new HabitListViewListener());
setHasOptionsMenu(true);
if(savedInstanceState != null)
{
EditHabitDialogFragment frag = (EditHabitDialogFragment) getFragmentManager()
.findFragmentByTag("editHabit");
}
return view;
}
@ -100,7 +91,6 @@ public class ListHabitsFragment extends Fragment implements OnClickListener,
public void onResume()
{
super.onResume();
listView.getLoader().onResume();
listView.refreshData(null);
helper.updateEmptyMessage(llEmpty);
@ -124,6 +114,7 @@ public class ListHabitsFragment extends Fragment implements OnClickListener,
showArchivedItem.setChecked(listView.getShowArchived());
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
@ -175,10 +166,9 @@ public class ListHabitsFragment extends Fragment implements OnClickListener,
listView.cancelSelection();
}
@Override
public void onClick(View v)
@OnClick(R.id.llHint)
public void onClickHint()
{
if (v.getId() == R.id.llHint)
hintManager.dismissHint();
}

@ -20,7 +20,6 @@
package org.isoron.uhabits.ui.habits.show;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.Menu;
@ -29,7 +28,6 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Spinner;
import org.isoron.uhabits.R;
@ -49,15 +47,12 @@ import org.isoron.uhabits.views.HabitStreakView;
import java.util.LinkedList;
import java.util.List;
public class ShowHabitFragment extends Fragment
implements Spinner.OnItemSelectedListener, ModelObservable.Listener
{
protected ShowHabitActivity activity;
@Nullable
private List<HabitDataView> dataViews;
private int previousScoreInterval;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class ShowHabitFragment extends Fragment implements ModelObservable.Listener
{
Habit habit;
float todayScore;
@ -65,14 +60,25 @@ public class ShowHabitFragment extends Fragment
float lastYearScore;
int activeColor;
int inactiveColor;
int previousScoreInterval;
private ShowHabitHelper helper;
protected ShowHabitActivity activity;
private List<HabitDataView> dataViews;
@BindView(R.id.sStrengthInterval) Spinner sStrengthInterval;
@BindView(R.id.scoreView) HabitScoreView habitScoreView;
@BindView(R.id.historyView) HabitHistoryView habitHistoryView;
@BindView(R.id.punchcardView) HabitFrequencyView habitFrequencyView;
@BindView(R.id.streakView) HabitStreakView habitStreakView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.show_habit, container, false);
ButterKnife.bind(this, view);
activity = (ShowHabitActivity) getActivity();
helper = new ShowHabitHelper(this);
@ -84,41 +90,31 @@ public class ShowHabitFragment extends Fragment
previousScoreInterval = defaultScoreInterval;
setScoreBucketSize(defaultScoreInterval);
Spinner sStrengthInterval = (Spinner) view.findViewById(R.id.sStrengthInterval);
sStrengthInterval.setSelection(defaultScoreInterval);
sStrengthInterval.setOnItemSelectedListener(this);
sStrengthInterval.setOnItemSelectedListener(new OnItemSelectedListener());
createDataViews(view);
createDataViews();
helper.updateCardHeaders(view);
bindButtontEditHistory(view);
setHasOptionsMenu(true);
return view;
}
private void bindButtontEditHistory(View view)
{
Button btEditHistory = (Button) view.findViewById(R.id.btEditHistory);
btEditHistory.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
@OnClick(R.id.btEditHistory)
public void onClickEditHistory()
{
HistoryEditorDialog frag = new HistoryEditorDialog();
frag.setHabit(habit);
frag.show(getFragmentManager(), "historyEditor");
}
});
}
private void createDataViews(View view)
private void createDataViews()
{
dataViews = new LinkedList<>();
dataViews.add((HabitScoreView) view.findViewById(R.id.scoreView));
dataViews.add((HabitHistoryView) view.findViewById(R.id.historyView));
dataViews.add((HabitFrequencyView) view.findViewById(R.id.punchcardView));
dataViews.add((HabitStreakView) view.findViewById(R.id.streakView));
dataViews.add(habitScoreView);
dataViews.add(habitHistoryView);
dataViews.add(habitFrequencyView);
dataViews.add(habitStreakView);
for(HabitDataView dataView : dataViews)
dataView.setHabit(habit);
@ -160,19 +156,11 @@ public class ShowHabitFragment extends Fragment
new RefreshTask().execute();
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
if(parent.getId() == R.id.sStrengthInterval)
setScoreBucketSize(position);
}
private void setScoreBucketSize(int position)
{
if(getView() == null) return;
HabitScoreView scoreView = (HabitScoreView) getView().findViewById(R.id.scoreView);
scoreView.setBucketSize(HabitScoreView.DEFAULT_BUCKET_SIZES[position]);
habitScoreView.setBucketSize(HabitScoreView.DEFAULT_BUCKET_SIZES[position]);
if(position != previousScoreInterval)
refreshData();
@ -181,11 +169,6 @@ public class ShowHabitFragment extends Fragment
previousScoreInterval = position;
}
@Override
public void onNothingSelected(AdapterView<?> parent)
{
}
@Override
public void onModelChange()
{
@ -203,6 +186,20 @@ public class ShowHabitFragment extends Fragment
});
}
@Override
public void onStart()
{
super.onStart();
habit.observable.addListener(this);
}
@Override
public void onPause()
{
habit.observable.removeListener(this);
super.onPause();
}
private class RefreshTask extends BaseTask
{
@Override
@ -228,17 +225,18 @@ public class ShowHabitFragment extends Fragment
}
}
private class OnItemSelectedListener implements AdapterView.OnItemSelectedListener
{
@Override
public void onStart()
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
super.onStart();
habit.observable.addListener(this);
setScoreBucketSize(position);
}
@Override
public void onPause()
public void onNothingSelected(AdapterView<?> parent)
{
habit.observable.removeListener(this);
super.onPause();
}
}
}

@ -6,6 +6,7 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}

Loading…
Cancel
Save