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.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android { android {
compileSdkVersion 23 compileSdkVersion 23
@ -40,6 +41,8 @@ dependencies {
compile 'org.apmem.tools:layouts:1.10@aar' compile 'org.apmem.tools:layouts:1.10@aar'
compile 'com.opencsv:opencsv:3.7' compile 'com.opencsv:opencsv:3.7'
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT' 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') compile project(':libs:drag-sort-listview:library')

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

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

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

Loading…
Cancel
Save