mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
Move methods to helper
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package org.isoron.uhabits.fragments;
|
package org.isoron.uhabits.fragments;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Typeface;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@@ -22,7 +21,6 @@ class HabitListAdapter extends BaseAdapter
|
|||||||
private final int buttonCount;
|
private final int buttonCount;
|
||||||
private final int tvNameWidth;
|
private final int tvNameWidth;
|
||||||
private LayoutInflater inflater;
|
private LayoutInflater inflater;
|
||||||
private Typeface fontawesome;
|
|
||||||
private HabitListLoader loader;
|
private HabitListLoader loader;
|
||||||
private ListHabitsHelper helper;
|
private ListHabitsHelper helper;
|
||||||
private List selectedPositions;
|
private List selectedPositions;
|
||||||
@@ -34,7 +32,6 @@ class HabitListAdapter extends BaseAdapter
|
|||||||
this.loader = loader;
|
this.loader = loader;
|
||||||
|
|
||||||
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
fontawesome = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf");
|
|
||||||
helper = new ListHabitsHelper(context, loader);
|
helper = new ListHabitsHelper(context, loader);
|
||||||
|
|
||||||
buttonCount = helper.getButtonCount();
|
buttonCount = helper.getButtonCount();
|
||||||
@@ -67,13 +64,14 @@ class HabitListAdapter extends BaseAdapter
|
|||||||
if (view == null || (Long) view.getTag(R.id.timestamp_key) != DateHelper.getStartOfToday())
|
if (view == null || (Long) view.getTag(R.id.timestamp_key) != DateHelper.getStartOfToday())
|
||||||
{
|
{
|
||||||
view = inflater.inflate(R.layout.list_habits_item, null);
|
view = inflater.inflate(R.layout.list_habits_item, null);
|
||||||
((TextView) view.findViewById(R.id.tvStar)).setTypeface(fontawesome);
|
((TextView) view.findViewById(R.id.tvStar)).setTypeface(helper.getFontawesome());
|
||||||
|
|
||||||
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(tvNameWidth,
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(tvNameWidth,
|
||||||
LinearLayout.LayoutParams.WRAP_CONTENT, 1);
|
LinearLayout.LayoutParams.WRAP_CONTENT, 1);
|
||||||
view.findViewById(R.id.label).setLayoutParams(params);
|
view.findViewById(R.id.label).setLayoutParams(params);
|
||||||
|
|
||||||
inflateCheckmarkButtons(view);
|
helper.inflateCheckmarkButtons(view, onCheckmarkLongClickListener,
|
||||||
|
onCheckmarkClickListener, inflater);
|
||||||
|
|
||||||
view.setTag(R.id.timestamp_key, DateHelper.getStartOfToday());
|
view.setTag(R.id.timestamp_key, DateHelper.getStartOfToday());
|
||||||
}
|
}
|
||||||
@@ -89,30 +87,11 @@ class HabitListAdapter extends BaseAdapter
|
|||||||
helper.updateCheckmarkButtons(habit, llButtons);
|
helper.updateCheckmarkButtons(habit, llButtons);
|
||||||
|
|
||||||
boolean selected = selectedPositions.contains(position);
|
boolean selected = selectedPositions.contains(position);
|
||||||
if (selected) llInner.setBackgroundResource(R.drawable.selected_box);
|
helper.updateHabitBackground(llInner, selected);
|
||||||
else
|
|
||||||
{
|
|
||||||
if (android.os.Build.VERSION.SDK_INT >= 21)
|
|
||||||
llInner.setBackgroundResource(R.drawable.ripple_white);
|
|
||||||
else llInner.setBackgroundResource(R.drawable.card_background);
|
|
||||||
}
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void inflateCheckmarkButtons(View view)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < buttonCount; i++)
|
|
||||||
{
|
|
||||||
View check = inflater.inflate(R.layout.list_habits_item_check, null);
|
|
||||||
TextView btCheck = (TextView) check.findViewById(R.id.tvCheck);
|
|
||||||
btCheck.setTypeface(fontawesome);
|
|
||||||
btCheck.setOnLongClickListener(onCheckmarkLongClickListener);
|
|
||||||
btCheck.setOnClickListener(onCheckmarkClickListener);
|
|
||||||
((LinearLayout) view.findViewById(R.id.llButtons)).addView(check);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelectedPositions(List selectedPositions)
|
public void setSelectedPositions(List selectedPositions)
|
||||||
{
|
{
|
||||||
this.selectedPositions = selectedPositions;
|
this.selectedPositions = selectedPositions;
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ package org.isoron.uhabits.helpers;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
@@ -18,11 +21,19 @@ public class ListHabitsHelper
|
|||||||
|
|
||||||
private final Context context;
|
private final Context context;
|
||||||
private final HabitListLoader loader;
|
private final HabitListLoader loader;
|
||||||
|
private Typeface fontawesome;
|
||||||
|
|
||||||
public ListHabitsHelper(Context context, HabitListLoader loader)
|
public ListHabitsHelper(Context context, HabitListLoader loader)
|
||||||
{
|
{
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.loader = loader;
|
this.loader = loader;
|
||||||
|
|
||||||
|
fontawesome = Typeface.createFromAsset(context.getAssets(), "fontawesome-webfont.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Typeface getFontawesome()
|
||||||
|
{
|
||||||
|
return fontawesome;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getButtonCount()
|
public int getButtonCount()
|
||||||
@@ -124,4 +135,30 @@ public class ListHabitsHelper
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateHabitBackground(View view, boolean isSelected)
|
||||||
|
{
|
||||||
|
if (isSelected)
|
||||||
|
view.setBackgroundResource(R.drawable.selected_box);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (android.os.Build.VERSION.SDK_INT >= 21)
|
||||||
|
view.setBackgroundResource(R.drawable.ripple_white);
|
||||||
|
else view.setBackgroundResource(R.drawable.card_background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void inflateCheckmarkButtons(View view, View.OnLongClickListener onLongClickListener,
|
||||||
|
View.OnClickListener onClickListener, LayoutInflater inflater)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < getButtonCount(); i++)
|
||||||
|
{
|
||||||
|
View check = inflater.inflate(R.layout.list_habits_item_check, null);
|
||||||
|
TextView btCheck = (TextView) check.findViewById(R.id.tvCheck);
|
||||||
|
btCheck.setTypeface(fontawesome);
|
||||||
|
btCheck.setOnLongClickListener(onLongClickListener);
|
||||||
|
btCheck.setOnClickListener(onClickListener);
|
||||||
|
((LinearLayout) view.findViewById(R.id.llButtons)).addView(check);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user