mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 01:08:50 -06:00
Introduce ButterKnife
This commit is contained in:
@@ -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,11 +166,10 @@ 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();
|
||||
hintManager.dismissHint();
|
||||
}
|
||||
|
||||
public ProgressBar getProgressBar()
|
||||
|
||||
@@ -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
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
public class ShowHabitFragment extends Fragment implements ModelObservable.Listener
|
||||
{
|
||||
protected ShowHabitActivity activity;
|
||||
@Nullable
|
||||
private List<HabitDataView> dataViews;
|
||||
|
||||
private int previousScoreInterval;
|
||||
|
||||
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)
|
||||
@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();
|
||||
frag.setHabit(habit);
|
||||
frag.show(getFragmentManager(), "historyEditor");
|
||||
}
|
||||
});
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart()
|
||||
private class OnItemSelectedListener implements AdapterView.OnItemSelectedListener
|
||||
{
|
||||
super.onStart();
|
||||
habit.observable.addListener(this);
|
||||
}
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
|
||||
{
|
||||
setScoreBucketSize(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
habit.observable.removeListener(this);
|
||||
super.onPause();
|
||||
@Override
|
||||
public void onNothingSelected(AdapterView<?> parent)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ buildscript {
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.1.0'
|
||||
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user