aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com')
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/ChartFragment.java207
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/Currency.java4
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/HomeFragment.java102
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/MainActivity.java7
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/MySpinnerAdapter.java6
-rw-r--r--app/src/main/java/com/jopek/taupngamoni/Requests.java12
6 files changed, 238 insertions, 100 deletions
diff --git a/app/src/main/java/com/jopek/taupngamoni/ChartFragment.java b/app/src/main/java/com/jopek/taupngamoni/ChartFragment.java
index ce9bfa4..2c0999b 100644
--- a/app/src/main/java/com/jopek/taupngamoni/ChartFragment.java
+++ b/app/src/main/java/com/jopek/taupngamoni/ChartFragment.java
@@ -1,12 +1,20 @@
package com.jopek.taupngamoni;
+import static com.jopek.taupngamoni.Currency.CURRENCIES;
+
import android.os.Bundle;
+import android.os.Looper;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.Spinner;
+import android.widget.TextView;
import androidx.fragment.app.Fragment;
+import com.anychart.APIlib;
import com.anychart.AnyChart;
import com.anychart.AnyChartView;
import com.anychart.chart.common.dataentry.DataEntry;
@@ -15,12 +23,16 @@ import com.anychart.charts.Cartesian;
import com.anychart.core.cartesian.series.BaseWithMarkers;
import com.anychart.data.Mapping;
import com.anychart.data.Set;
-import com.anychart.enums.Anchor;
-import com.anychart.enums.MarkerType;
import com.anychart.enums.TooltipPositionMode;
import com.anychart.graphics.vector.Stroke;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
/**
@@ -30,20 +42,25 @@ import java.util.List;
*/
public class ChartFragment extends Fragment {
- // TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
- // TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
- private AnyChartView anyChartView;
private Cartesian cartesian;
private boolean columnChart = true;
private List<DataEntry> seriesData = new ArrayList<>();
- private BaseWithMarkers series;
+ private Currency curFrom = CURRENCIES.get(0);
+ private Currency curTo = CURRENCIES.get(0);
+ private long chartTime = 7;
+ private char chartTimeF = 'd';
+ private AnyChartView anyChartView;
+ private int checkFrom = 0;
+ private int checkTo = 0;
+ private MySpinnerAdapter spinnerFromAdapter;
+ private MySpinnerAdapter spinnerToAdapter;
public ChartFragment() {
// Required empty public constructor
@@ -70,6 +87,7 @@ public class ChartFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
@@ -77,32 +95,30 @@ public class ChartFragment extends Fragment {
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_chart, container, false);
+ Log.d("maks", "onCreateView: " + anyChartView + curFrom.code);
+ initializeSpinners(view);
+// if (anyChartView == null) {
anyChartView = view.findViewById(R.id.any_chart_view);
anyChartView.setProgressBar(view.findViewById(R.id.progress_bar));
-
+ APIlib.getInstance().setActiveAnyChartView(anyChartView);
+ anyChartView.resetPivot();
+// if (cartesian != null) cartesian.removeAllSeries();
cartesian = AnyChart.line();
+ cartesian.removeAllSeries();
cartesian.animation(true);
cartesian.padding(10d, 20d, 5d, 20d);
cartesian.crosshair().enabled(true);
- cartesian.crosshair()
- .yLabel(true)
- .yStroke((Stroke) null, null, null, (String) null, (String) null);
+ cartesian.crosshair().yLabel(true).yStroke((Stroke) null, null, null, (String) null, (String) null);
cartesian.tooltip().positionMode(TooltipPositionMode.POINT);
-
- seriesData = new ArrayList<>();
- seriesData.add(new CustomDataEntry("1986", 3.6));
- seriesData.add(new CustomDataEntry("1987", 7.1));
- seriesData.add(new CustomDataEntry("1988", 8.5));
- seriesData.add(new CustomDataEntry("1989", 9.2));
- seriesData.add(new CustomDataEntry("1990", 10.1));
-
- refreshChart();
anyChartView.setChart(cartesian);
+// }
+ checkFrom = 0;
+ checkTo = 0;
+ refreshChart();
// cartesian.title("Trend of Sales of the Most Popular Products of ACME Corp.");
@@ -110,61 +126,160 @@ public class ChartFragment extends Fragment {
// cartesian.xAxis(0).labels().padding(5d, 5d, 5d, 5d);
- view.findViewById(R.id.b1d).setOnClickListener(v -> onBtnClick("1d"));
+ view.findViewById(R.id.b1d).setOnClickListener(v -> onBtnClick("9m"));
view.findViewById(R.id.b7d).setOnClickListener(v -> onBtnClick("7d"));
view.findViewById(R.id.b1m).setOnClickListener(v -> onBtnClick("1m"));
view.findViewById(R.id.b3m).setOnClickListener(v -> onBtnClick("3m"));
view.findViewById(R.id.b6m).setOnClickListener(v -> onBtnClick("6m"));
view.findViewById(R.id.b1y).setOnClickListener(v -> onBtnClick("1y"));
- view.findViewById(R.id.btn_change_chart_type).setOnClickListener(v -> {
+ TextView btn = view.findViewById(R.id.btn_change_chart_type);
+ btn.setOnClickListener(v -> {
columnChart = !columnChart;
+ Log.d("maks", "onCreateView: ");
refreshChart();
});
+ anyChartView.setVisibility(View.INVISIBLE);
+ new android.os.Handler(Looper.getMainLooper()).postDelayed(
+ () -> {
+ anyChartView.setVisibility(View.VISIBLE);
+ refreshChart();
+ },
+ 1500);
+
return view;
}
public void refreshChart() {
- cartesian.removeAllSeries();
+ ZonedDateTime nowO = ZonedDateTime.now();
+ String now = nowO.format(DateTimeFormatter.ISO_LOCAL_DATE);
+ ZonedDateTime pastO = ZonedDateTime.now();
+ if (chartTimeF == 'd') pastO = pastO.minusDays(chartTime);
+ else if (chartTimeF == 'm') pastO = pastO.minusMonths(chartTime);
+ else if (chartTimeF == 'y') pastO = pastO.minusYears(chartTime);
+
+ String past = pastO.format(DateTimeFormatter.ISO_LOCAL_DATE);
+ Log.d("maks", "refreshChart: " + curFrom.code);
+ String url = "https://api.exchangerate.host/timeseries?base=" + curFrom.code + "&symbols=" + curTo.code + "&start_date=" + past + "&end_date=" + now;
+ Log.d("maks", "refreshChart: " + url);
+
+ Requests requests = new Requests();
+ requests.getJson(url, json -> {
+ Log.d("maks", "refreshChart: " + json);
+ try {
+ JSONObject rates = json.getJSONObject("rates");
+ seriesData = new ArrayList<>();
+ for (Iterator<String> it = rates.keys(); it.hasNext(); ) {
+ String key = it.next();
+ JSONObject rate = rates.getJSONObject(key);
+ seriesData.add(new CustomDataEntry(key, rate.getDouble(rate.keys().next())));
+ }
+ redrawChart();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ });
+ }
+
+ public void redrawChart() {
+ if (cartesian.getSeriesAt(0) != null) cartesian.removeAllSeries();
+
+ Log.d("maks", "redrawChart: " + seriesData);
Set set = Set.instantiate();
set.data(seriesData);
Mapping seriesMapping = set.mapAs("{ x: 'x', value: 'value' }");
- if (columnChart)
- series = cartesian.column(seriesMapping);
- else
- series = cartesian.line(seriesMapping);
+ BaseWithMarkers series;
+ if (columnChart) series = cartesian.column(seriesMapping);
+ else series = cartesian.line(seriesMapping);
+// series.hovered().markers()
+// .enabled(true)
+// .type(MarkerType.CIRCLE)
+// .size(4d);
+// series.tooltip()
+// .position("right")
+// .anchor(Anchor.LEFT_CENTER)
+// .offsetX(5d)
+// .offsetY(5d);
+// Log.d("maks", "redrawChart: " + seriesMapping.getJsBase());
series.data(seriesMapping);
// series.name("Brandy");
- series.hovered().markers()
- .enabled(true)
- .type(MarkerType.CIRCLE)
- .size(4d);
- series.tooltip()
- .position("right")
- .anchor(Anchor.LEFT_CENTER)
- .offsetX(5d)
- .offsetY(5d);
- cartesian.legend().enabled(true)
- .fontSize(13d)
- .padding(0d, 0d, 10d, 0d);
+// cartesian.legend().enabled(true)
+// .fontSize(13d)
+// .padding(0d, 0d, 10d, 0d);
}
public void onBtnClick(String time) {
- seriesData = new ArrayList<>();
- seriesData.add(new CustomDataEntry("1982", 8.5));
- seriesData.add(new CustomDataEntry("1992", 7.1));
- seriesData.add(new CustomDataEntry("1992", 10.1));
- seriesData.add(new CustomDataEntry("1992", 9.2));
- seriesData.add(new CustomDataEntry("1992", 3.6));
+ chartTime = Character.getNumericValue(time.charAt(0));
+ chartTimeF = time.charAt(1);
+ Log.d("maks", "onBtnClick: ");
refreshChart();
}
+ public void initializeSpinners(View view) {
+ Spinner cur_from = view.findViewById(R.id.cur_from);
+ Spinner cur_to = view.findViewById(R.id.cur_to);
+ if (spinnerFromAdapter == null)
+ spinnerFromAdapter = new MySpinnerAdapter(requireContext(), CURRENCIES);
+ cur_from.setAdapter(spinnerFromAdapter);
+
+ if (spinnerToAdapter == null)
+ spinnerToAdapter = new MySpinnerAdapter(requireContext(), CURRENCIES);
+ cur_to.setAdapter(spinnerToAdapter);
+
+ cur_from.setSelection(1);
+ cur_from.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ Log.d("maks", "onItemSelected: " + checkFrom);
+ String oldCode = curFrom.code;
+ curFrom = CURRENCIES.get(position);
+ if (++checkFrom < 2 || oldCode.equals(curFrom.code)) return;
+ if (curTo != null) {
+ refreshChart();
+ }
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ }
+ });
+ cur_to.setSelection(0);
+ cur_to.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ String oldCode = curTo.code;
+ curTo = CURRENCIES.get(position);
+ Log.d("maks", "onItemSelected: " + checkTo + curTo.code);
+ if (++checkTo < 2 || oldCode.equals(curTo.code)) return;
+ if (curFrom != null) {
+ refreshChart();
+ }
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ }
+ });
+ }
+
+// @Override
+// public void onDestroyView() {
+// super.onDestroyView();
+// Log.d("maks", "onDestroyView: ");
+// anyChartView.clear();
+// anyChartView.resetPivot();
+// cartesian.removeAllSeries();
+// seriesData.clear();
+// cartesian.column(seriesData);
+// }
+
+
private class CustomDataEntry extends ValueDataEntry {
CustomDataEntry(String x, Number value) {
super(x, value);
diff --git a/app/src/main/java/com/jopek/taupngamoni/Currency.java b/app/src/main/java/com/jopek/taupngamoni/Currency.java
index 3eb40d2..b43e544 100644
--- a/app/src/main/java/com/jopek/taupngamoni/Currency.java
+++ b/app/src/main/java/com/jopek/taupngamoni/Currency.java
@@ -2,6 +2,8 @@ package com.jopek.taupngamoni;
import android.graphics.Bitmap;
+import java.util.List;
+
public class Currency {
public String code;
public String description;
@@ -20,6 +22,8 @@ public class Currency {
public static final Currency CZK = new Currency("CZK", "Czech Republic Koruna", null, "Kč", 0.0);
public static final Currency TWD = new Currency("TWD", "New Taiwan Dollar", null, "圓", 0.0);
+ public static final List<Currency> CURRENCIES = List.of(USD, GBP, CHF, PLN, EUR, JPY, CNY, UAH, CZK, TWD);
+
public Currency(String code, String description, Bitmap img, String symbol, double conversionFactor) {
this.code = code;
this.description = description;
diff --git a/app/src/main/java/com/jopek/taupngamoni/HomeFragment.java b/app/src/main/java/com/jopek/taupngamoni/HomeFragment.java
index 89738fa..770b8b1 100644
--- a/app/src/main/java/com/jopek/taupngamoni/HomeFragment.java
+++ b/app/src/main/java/com/jopek/taupngamoni/HomeFragment.java
@@ -1,5 +1,7 @@
package com.jopek.taupngamoni;
+import static com.jopek.taupngamoni.Currency.CURRENCIES;
+
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
@@ -12,7 +14,6 @@ import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
-import android.widget.Toast;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
@@ -36,17 +37,20 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
// TODO: Customize parameters
private int mColumnCount = 1;
- private ArrayList<Currency> currencies = new ArrayList<>();
private ArrayList<Currency> selectedCurrencies = new ArrayList<>();
private HomeRecyclerAdapter recyclerAdapter = new HomeRecyclerAdapter(selectedCurrencies, code -> selectedCurrencies.removeIf(cur -> cur.code.equals(code)));
private MySpinnerAdapter spinnerAdapter;
private Spinner spinner;
+ private boolean wontSetSpinnerAdapter = false;
/**
* Mandatory empty constructor for the fragment manager to instantiate the
* fragment (e.g. upon screen orientation changes).
*/
public HomeFragment() {
+ selectedCurrencies.add(Currency.USD);
+ selectedCurrencies.add(Currency.GBP);
+ selectedCurrencies.add(Currency.PLN);
}
// TODO: Customize parameter initialization
@@ -61,36 +65,28 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ spinnerAdapter = new MySpinnerAdapter(requireContext(), CURRENCIES);
- currencies.add(Currency.USD);
- currencies.add(Currency.GBP);
- currencies.add(Currency.CHF);
- currencies.add(Currency.PLN);
- currencies.add(Currency.EUR);
- currencies.add(Currency.JPY);
- currencies.add(Currency.CNY);
- currencies.add(Currency.UAH);
- currencies.add(Currency.CZK);
- currencies.add(Currency.TWD);
-
- selectedCurrencies.add(Currency.USD);
- selectedCurrencies.add(Currency.GBP);
- selectedCurrencies.add(Currency.PLN);
-
- for (int i = 0; i < currencies.size(); i++) {
- Currency cur = currencies.get(i);
+ for (int i = 0; i < CURRENCIES.size(); i++) {
+ Currency cur = CURRENCIES.get(i);
RequestImage requestImage = new RequestImage();
int finalI = i;
- requestImage.getBitmap("https://wise.com/public-resources/assets/flags/rectangle/" + cur.code.toLowerCase() + ".png", bitmap -> {
- cur.img = bitmap;
- HomeFragment.conversionTo = Currency.USD;
- if (finalI + 1 == currencies.size()) {
- spinner.setAdapter(spinnerAdapter);
- recyclerAdapter.notifyDataSetChanged();
- }
- });
+ if (cur.img == null) {
+ Log.d("maks", "onCreate: requesting image");
+ requestImage.getBitmap("https://wise.com/public-resources/assets/flags/rectangle/" + cur.code.toLowerCase() + ".png", bitmap -> {
+ cur.img = bitmap;
+ HomeFragment.conversionTo = Currency.USD;
+ if (finalI + 1 == CURRENCIES.size()) {
+ spinner.setAdapter(spinnerAdapter);
+ recyclerAdapter.notifyDataSetChanged();
+ }
+ });
+ } else {
+// spinner.setAdapter(spinnerAdapter);
+// recyclerAdapter.notifyDataSetChanged();
+ wontSetSpinnerAdapter = true;
+ }
}
- spinnerAdapter = new MySpinnerAdapter(requireContext(), currencies);
if (getArguments() != null) {
mColumnCount = getArguments().getInt(ARG_COLUMN_COUNT);
@@ -102,7 +98,6 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_screen_home_list, container, false);
RecyclerView recyclerView = view.findViewById(R.id.list);
- Log.d("maks", "onCreateView: " + view + container + recyclerView);
spinner = view.findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(this);
@@ -112,9 +107,11 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
+
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
+
@Override
public void afterTextChanged(Editable s) {
String val = s.toString();
@@ -128,7 +125,7 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
});
TextView btnAdd = view.findViewById(R.id.btn_add);
btnAdd.setOnClickListener(v -> {
- if(selectedCurrencies.stream().noneMatch(cur -> cur.code.equals(HomeFragment.conversionTo.code))) {
+ if (selectedCurrencies.stream().noneMatch(cur -> cur.code.equals(HomeFragment.conversionTo.code))) {
selectedCurrencies.add(HomeFragment.conversionTo);
updateList();
}
@@ -141,34 +138,41 @@ public class HomeFragment extends Fragment implements AdapterView.OnItemSelected
recyclerView.setLayoutManager(new GridLayoutManager(context, mColumnCount));
}
recyclerView.setAdapter(recyclerAdapter);
+
+ if (wontSetSpinnerAdapter) {
+ spinner.setAdapter(spinnerAdapter);
+ recyclerAdapter.notifyDataSetChanged();
+ }
+
return view;
}
//Performing action onItemSelected and onNothing selected
@Override
public void onItemSelected(AdapterView<?> arg0, View view, int position, long id) {
- Currency selCur = currencies.get(position);
+ Currency selCur = CURRENCIES.get(position);
HomeFragment.conversionTo = selCur;
updateList();
}
- public void updateList() {
- String url = "https://api.exchangerate.host/latest?base=" + HomeFragment.conversionTo.code + "&symbols=";
- for (Currency cur : selectedCurrencies) {
- url += cur.code + ",";
- }
- Requests request = new Requests();
- request.getJson(url, json -> {
- try {
- JSONObject rates = json.getJSONObject("rates");
- for (Currency cur : selectedCurrencies) {
- cur.conversionFactor = rates.getDouble(cur.code);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- recyclerAdapter.notifyDataSetChanged();
- });
- }
+
+ public void updateList() {
+ String url = "https://api.exchangerate.host/latest?base=" + HomeFragment.conversionTo.code + "&symbols=";
+ for (Currency cur : selectedCurrencies) {
+ url += cur.code + ",";
+ }
+ Requests request = new Requests();
+ request.getJson(url, json -> {
+ try {
+ JSONObject rates = json.getJSONObject("rates");
+ for (Currency cur : selectedCurrencies) {
+ cur.conversionFactor = rates.getDouble(cur.code);
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ recyclerAdapter.notifyDataSetChanged();
+ });
+ }
@Override
public void onNothingSelected(AdapterView<?> arg0) {
diff --git a/app/src/main/java/com/jopek/taupngamoni/MainActivity.java b/app/src/main/java/com/jopek/taupngamoni/MainActivity.java
index dc33dfe..c4d7e41 100644
--- a/app/src/main/java/com/jopek/taupngamoni/MainActivity.java
+++ b/app/src/main/java/com/jopek/taupngamoni/MainActivity.java
@@ -6,6 +6,7 @@ import com.google.android.material.bottomnavigation.BottomNavigationView;
import android.annotation.SuppressLint;
import android.os.Bundle;
+import android.os.StrictMode;
import android.view.MenuItem;
import java.math.RoundingMode;
@@ -19,6 +20,12 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationV
@Override
protected void onCreate(Bundle savedInstanceState) {
+// StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
+// .detectLeakedClosableObjects()
+// .penaltyLog()
+// .build());
+ StrictMode.enableDefaults();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
diff --git a/app/src/main/java/com/jopek/taupngamoni/MySpinnerAdapter.java b/app/src/main/java/com/jopek/taupngamoni/MySpinnerAdapter.java
index f27c74a..621cf87 100644
--- a/app/src/main/java/com/jopek/taupngamoni/MySpinnerAdapter.java
+++ b/app/src/main/java/com/jopek/taupngamoni/MySpinnerAdapter.java
@@ -9,14 +9,14 @@ import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
-import java.util.ArrayList;
+import java.util.List;
public class MySpinnerAdapter extends BaseAdapter {
Context context;
- ArrayList<Currency> currencies;
+ List<Currency> currencies;
LayoutInflater inflater;
- public MySpinnerAdapter(Context applicationContext, ArrayList<Currency> currencies) {
+ public MySpinnerAdapter(Context applicationContext, List<Currency> currencies) {
this.context = applicationContext;
this.currencies = currencies;
inflater = (LayoutInflater.from(applicationContext));
diff --git a/app/src/main/java/com/jopek/taupngamoni/Requests.java b/app/src/main/java/com/jopek/taupngamoni/Requests.java
index 790f8bd..1b696e6 100644
--- a/app/src/main/java/com/jopek/taupngamoni/Requests.java
+++ b/app/src/main/java/com/jopek/taupngamoni/Requests.java
@@ -36,7 +36,6 @@ class RequestImage extends AsyncTask<String, Void, Bitmap> {
Bitmap bmp = null;
try {
InputStream in = new URL(urldisplay).openStream();
- Log.d("maks", "doInBackground: " + in.available());
bmp = BitmapFactory.decodeStream(in);
} catch (Exception e) {
e.printStackTrace();
@@ -74,9 +73,10 @@ public class Requests extends AsyncTask<String, Integer, String> {
}
protected String doInBackground(String... urls) {
+ InputStream in = null;
try {
URL url = new URL(urls[0]);
- InputStream in = url.openStream();
+ in = url.openStream();
// Log.d("maks", "doInBackground: " + in.available());
// bmp = BitmapFactory.decodeStream(in);
// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
@@ -91,8 +91,16 @@ public class Requests extends AsyncTask<String, Integer, String> {
while ((line = rd.readLine()) != null) {
content += line + "\n";
}
+ in.close();
return content;
} catch (IOException exception) {
+ if(in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
exception.printStackTrace();
return "ERROR";
}