Cleaning code

This commit is contained in:
Tanguy Herbron 2018-02-08 13:36:24 +01:00
parent 3af7cf8e9c
commit fdd059b956
2 changed files with 14 additions and 353 deletions

View File

@ -250,359 +250,6 @@ public class HomeLayoutGenerator {
return lineSet;
}
public CardView getInfoLayout(final Currency currency)
//public CardView getInfoLayout(int index)
{
CardView mainCard = new CardView(context);
LinearLayout mainLinear = new LinearLayout(context);
View separationLine = new View(context);
LinearLayout chartLayout = new LinearLayout(context);
LinearLayout infoLayout = new LinearLayout(context);
LinearLayout separatorLayout = new LinearLayout(context);
TextView separatorTextView = new TextView(context);
StateListAnimator stateListAnimator = AnimatorInflater.loadStateListAnimator(context, R.drawable.cardview_animator);
mainCard.setStateListAnimator(stateListAnimator);
//mainCard.setTag("full." + index);
/*int[] attrs = new int[] { R.attr.selectableItemBackground };
TypedArray ta = context.obtainStyledAttributes(attrs);
Drawable drawable = ta.getDrawable(0);
ta.recycle();
mainCard.setBackground(drawable);*/
mainCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.animate();
Intent intent = new Intent(context.getApplicationContext(), CurrencyDetailsActivity.class);
intent.putExtra("currency", currency);
context.getApplicationContext().startActivity(intent);
}
});
mainCard.setClickable(true);
CardView.LayoutParams paramsCard = new CardView.LayoutParams(CardView.LayoutParams.MATCH_PARENT, CardView.LayoutParams.WRAP_CONTENT);
paramsCard.setMargins(10, 10, 10, 30);
LinearLayout.LayoutParams paramsInfo = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
paramsInfo.setMargins(10, 10, 10, 10);
chartLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
LinearLayout.LayoutParams separatorParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 3);
separatorParams.gravity = Gravity.CENTER_VERTICAL;
separatorParams.setMargins(10, 0, 10, 0);
separationLine.setLayoutParams(separatorParams);
separationLine.setBackgroundColor(context.getResources().getColor(R.color.separationLine));
LinearLayout.LayoutParams separatorLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
separatorLayoutParams.setMargins(10, 0, 10, 0);
separatorLayout.setLayoutParams(separatorLayoutParams);
separatorTextView.setText("Day history");
separatorTextView.setTextSize(context.getResources().getDimension(R.dimen.secondaryText));
separatorLayout.addView(separatorTextView);
separatorLayout.addView(separationLine);
separatorLayout.setTag("separator_layout");
infoLayout.setLayoutParams(paramsInfo);
infoLayout.setOrientation(LinearLayout.VERTICAL);
mainLinear.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
mainLinear.setOrientation(LinearLayout.VERTICAL);
mainLinear.setTag("mainLinear");
mainCard.setLayoutParams(paramsCard);
mainCard.setRadius(8);
infoLayout.addView(topLayoutGenerator(currency.getName(), currency.getSymbol(), currency.getValue(), currency.getIcon()));
infoLayout.addView(bottomLayoutGenerator(currency.getSymbol(), currency.getBalance(), currency.getValue() * currency.getBalance(), currency.getDayFluctuationPercentage(), currency.getDayFluctuation()));
mainLinear.addView(infoLayout);
mainLinear.addView(separatorLayout);
mainLinear.addView(generateChart(currency, chartLayout));
mainLinear.setClickable(false);
mainCard.addView(mainLinear);
return mainCard;
}
/*public void resetCurrencyList()
{
currencyList = new ArrayList<>();
}
public void addCurrencyToList(Currency currency)
{
currencyList.add(currency);
}
public void setCurrencyList(List<Currency> currencyList)
{
this.currencyList = currencyList;
}
private void switchingView(View view)
{
String[] tag = view.getTag().toString().split("\\.");
Log.d("coinfolio", "Design : " + currencyList.get(Integer.parseInt(tag[1])).getSymbol());
if(tag[0].equals("full"))
{
LinearLayout mLayout = view.findViewWithTag("mainLinear");
mLayout.removeViewAt(mLayout.getChildCount()-1);
mLayout.addView(generateChart(currencyList.get(Integer.parseInt(tag[1])), chartLayout, currencyList.get(Integer.parseInt(tag[1])).getChartColor()));
Log.d("coinfolio", "Data : " + currencyList.get(Integer.parseInt(tag[1])).getSymbol() + " " + currencyList.get(Integer.parseInt(tag[1])).getChartColor());
view.setTag("half." + tag[1]);
mLayout.findViewWithTag("separator_layout").setVisibility(View.VISIBLE);
}
else
{
LinearLayout mLayout = view.findViewWithTag("mainLinear");
mLayout.findViewWithTag("chart_layout").setVisibility(View.GONE);
mLayout.findViewWithTag("separator_layout").setVisibility(View.GONE);
view.setTag("full." + tag[1]);
}
}*/
private View generateChart(Currency currency, LinearLayout chartLayout)
{
View toReturn;
if(currency.getHistoryMinutes() != null)
{
LineChartView lineChartView = chartGenerator(currency.getHistoryMinutes(), currency.getChartColor());
chartLayout.setTag("chart_layout");
chartLayout.addView(lineChartView);
lineChartView.show();
toReturn = chartLayout;
//mainLinear.addView(chartLayout);
}
else
{
TextView errorTextView = new TextView(context);
errorTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 500));
errorTextView.setText("Error");
errorTextView.setTag("chart_layout");
errorTextView.setGravity(Gravity.CENTER);
toReturn = errorTextView;
//mainLinear.addView(errorTextView);
}
return toReturn;
}
private LinearLayout topLayoutGenerator(String name, String symbol, double value, Bitmap logo)
{
LinearLayout mainLayout = new LinearLayout(context);
TextView nameTextView = new TextView(context);
TextView symbolTextView = new TextView(context);
TextView valueTextView = new TextView(context);
ImageView currencyIcon = new ImageView(context);
mainLayout.setOrientation(LinearLayout.HORIZONTAL);
mainLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
LinearLayout.LayoutParams iconParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
iconParams.setMargins(5, 5, 5, 5);
currencyIcon.setLayoutParams(iconParams);
currencyIcon.setImageBitmap(logo);
nameTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
nameTextView.setTextSize(context.getResources().getDimension(R.dimen.mainText));
nameTextView.setTextColor(context.getResources().getColor(R.color.mainTextViewColor));
nameTextView.setGravity(Gravity.LEFT);
nameTextView.setText(name);
symbolTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
symbolTextView.setTextSize(context.getResources().getDimension(R.dimen.secondaryText));
symbolTextView.setTextColor(context.getResources().getColor(R.color.secondaryTextViewColor));
symbolTextView.setGravity(Gravity.LEFT);
symbolTextView.setText(" (" + symbol + ")");
valueTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
valueTextView.setTextSize(context.getResources().getDimension(R.dimen.mainText));
valueTextView.setTextColor(context.getResources().getColor(R.color.secondaryTextViewColor));
valueTextView.setGravity(Gravity.RIGHT);
if(value != NULL)
{
valueTextView.setText("US$" + value);
}
else
{
valueTextView.setText("ERROR");
}
mainLayout.addView(currencyIcon);
mainLayout.addView(nameTextView);
mainLayout.addView(symbolTextView);
mainLayout.addView(valueTextView);
return mainLayout;
}
private LinearLayout bottomLayoutGenerator(String symbol, double owned, double value, float percentageFluctuation, double fluctuation)
{
LinearLayout mainLayout = new LinearLayout(context);
LinearLayout secondaryLayout = new LinearLayout(context);
TextView ownedTextView = new TextView(context);
TextView valueTextView = new TextView(context);
TextView percentageFluctuationTextView = new TextView(context);
TextView fluctuationTextView = new TextView(context);
mainLayout.setOrientation(LinearLayout.HORIZONTAL);
mainLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
secondaryLayout.setOrientation(LinearLayout.HORIZONTAL);
secondaryLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
secondaryLayout.setGravity(Gravity.RIGHT);
ownedTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
ownedTextView.setTextSize(context.getResources().getDimension(R.dimen.mainText));
ownedTextView.setTextColor(context.getResources().getColor(R.color.mainTextViewColor));
ownedTextView.setGravity(Gravity.LEFT);
ownedTextView.setText(numberConformer(owned) + symbol);
valueTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
valueTextView.setTextSize(context.getResources().getDimension(R.dimen.secondaryText));
valueTextView.setTextColor(context.getResources().getColor(R.color.secondaryTextViewColor));
valueTextView.setGravity(Gravity.LEFT);
valueTextView.setText(" (" + numberConformer(value) + "$)");
percentageFluctuationTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
percentageFluctuationTextView.setTextSize(context.getResources().getDimension(R.dimen.mainText));
if(percentageFluctuation > 0)
{
percentageFluctuationTextView.setTextColor(context.getResources().getColor(R.color.increase));
}
else
{
percentageFluctuationTextView.setTextColor(context.getResources().getColor(R.color.decrease));
}
//percentageFluctuationTextView.setGravity(Gravity.RIGHT);
percentageFluctuationTextView.setText(numberConformer(percentageFluctuation) + "%");
fluctuationTextView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
fluctuationTextView.setTextSize(context.getResources().getDimension(R.dimen.secondaryText));
if(fluctuation > 0)
{
fluctuationTextView.setTextColor(context.getResources().getColor(R.color.increase));
}
else
{
fluctuationTextView.setTextColor(context.getResources().getColor(R.color.decrease));
}
//fluctuationTextView.setGravity(Gravity.RIGHT);
fluctuationTextView.setText(" (" + numberConformer(fluctuation) + "$)");
secondaryLayout.addView(percentageFluctuationTextView);
secondaryLayout.addView(fluctuationTextView);
mainLayout.addView(ownedTextView);
mainLayout.addView(valueTextView);
mainLayout.addView(secondaryLayout);
//mainLayout.addView(percentageFluctuationTextView);
//mainLayout.addView(fluctuationTextView);
return mainLayout;
}
private LineChartView chartGenerator(List<CurrencyDataChart> dataChartList, int chartColor)
{
LineChartView chartView = new LineChartView(context);
LineSet lineSet = new LineSet();
double valMin;
double valMax;
int counter = 0;
Calendar calendar = Calendar.getInstance(Locale.FRANCE);
String hour;
String minute;
valMin = dataChartList.get(0).getOpen();
valMax = dataChartList.get(0).getOpen();
for(int i = 1; i < dataChartList.size(); i++)
{
if(valMax < dataChartList.get(i).getOpen())
{
valMax = dataChartList.get(i).getOpen();
}
if(valMin > dataChartList.get(i).getOpen())
{
valMin = dataChartList.get(i).getOpen();
}
}
if(valMax == valMin)
{
valMin = 0;
valMax *= 2;
}
chartView.setAxisBorderValues((float) valMin, (float) valMax);
chartView.setYLabels(AxisRenderer.LabelPosition.NONE);
chartView.setYAxis(false);
chartView.setXAxis(false);
for(int i = 0; i < dataChartList.size(); i+=10)
{
if(counter == 30)
{
calendar.setTimeInMillis(dataChartList.get(i).getTimestamp()*1000);
hour = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY));
minute = String.valueOf(calendar.get(Calendar.MINUTE));
if(hour.length() < 2)
{
hour = "0" + hour;
}
if(minute.length() < 2)
{
minute = "0" + minute;
}
lineSet.addPoint(hour + ":" + minute, (float) dataChartList.get(i).getOpen());
counter = 0;
}
else
{
counter++;
lineSet.addPoint("", (float) dataChartList.get(i).getOpen());
}
}
lineSet.setSmooth(true);
lineSet.setThickness(4);
lineSet.setFill(getColorWithAplha(chartColor, 0.5f));
lineSet.setColor(chartColor);
chartView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 500));
chartView.setTag("Chart");
chartView.addData(lineSet);
return chartView;
}
private int getColorWithAplha(int color, float ratio)
{
int transColor;

View File

@ -81,4 +81,18 @@
<include layout="@layout/content_currency_summary" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="0dp"
android:layout_marginStart="0dp"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/navigation"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"/>
</android.support.design.widget.CoordinatorLayout>