mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
Introduce ButterKnife
This commit is contained in:
@@ -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,11 +166,10 @@ 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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProgressBar getProgressBar()
|
public ProgressBar getProgressBar()
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
public class ShowHabitFragment extends Fragment implements ModelObservable.Listener
|
||||||
{
|
{
|
||||||
protected ShowHabitActivity activity;
|
|
||||||
@Nullable
|
|
||||||
private List<HabitDataView> dataViews;
|
|
||||||
|
|
||||||
private int previousScoreInterval;
|
|
||||||
|
|
||||||
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);
|
HistoryEditorDialog frag = new HistoryEditorDialog();
|
||||||
btEditHistory.setOnClickListener(new View.OnClickListener()
|
frag.setHabit(habit);
|
||||||
{
|
frag.show(getFragmentManager(), "historyEditor");
|
||||||
@Override
|
|
||||||
public void onClick(View v)
|
|
||||||
{
|
|
||||||
HistoryEditorDialog frag = new HistoryEditorDialog();
|
|
||||||
frag.setHabit(habit);
|
|
||||||
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
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private class OnItemSelectedListener implements AdapterView.OnItemSelectedListener
|
||||||
public void onStart()
|
|
||||||
{
|
{
|
||||||
super.onStart();
|
@Override
|
||||||
habit.observable.addListener(this);
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
|
||||||
}
|
{
|
||||||
|
setScoreBucketSize(position);
|
||||||
|
}
|
||||||
|
|
||||||
@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'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user