Foodinder/foodinder_app/app/src/main/java/com/example/foodinder_app/Swipper.java

373 lines
19 KiB
Java
Executable File

package com.example.foodinder_app;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.Pair;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import link.fls.swipestack.SwipeStack;
public class Swipper extends AppCompatActivity {
private SwipeStack cardStack;
private CardsAdapter cardsAdapter;
private ArrayList<CardItem> cardItems = new ArrayList<>();
private ImageView btnCancel;
private ImageView btnLove;
private ImageView jeden;
private ImageView dwa;
private ImageView trzy;
private ImageView cztery;
private ImageView piec;
private int currentPosition;
private RequestQueue mQueue;
private Random random = new Random();
int i;
int j = Main2Activity.zmienna - 1;
String photo;
String name;
public static final String api = "https://script.google.com/macros/s/AKfycbxhgRlgu_26AzjeAfJzgpvCRpQaFc47YM1Xyn2F";
private int colorJeden = 0;
private int colorDwa = 0;
private int colorTrzy = 0;
private int colorCztery = 0;
private int colorPiec = 0;
private int green = Color.rgb(106,193,89);
private int red = Color.rgb(239,82,39);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cardStack = (SwipeStack) findViewById(R.id.container);
btnCancel = (ImageView) findViewById(R.id.cancel);
btnLove = (ImageView) findViewById(R.id.love);
jeden = (ImageView) findViewById(R.id.jeden);
dwa = (ImageView) findViewById(R.id.dwa);
trzy = (ImageView) findViewById(R.id.trzy);
cztery = (ImageView) findViewById(R.id.cztery);
piec = (ImageView) findViewById(R.id.piec);
mQueue = Volley.newRequestQueue(this);
setCardStackAdapter();
currentPosition = 0;
i = 0;
//Handling swipe event of Cards stack
cardStack.setListener(new SwipeStack.SwipeStackListener() {
@Override
public void onViewSwipedToLeft(int position) {
currentPosition = position + 1;
if (i!=0) {
green();
}
if (i==j) {
i=0;
Intent intent = new Intent(Swipper.this, Main3Activity.class);
startActivity(intent);
finish();
}
i+=1;
changeImageStack(green);
setCardStackAdapter();
}
@Override
public void onViewSwipedToRight(int position) {
currentPosition = position + 1;
if (i!=0) {
red();
}
if (i==j) {
i=0;
Intent intent = new Intent(Swipper.this, Main3Activity.class);
startActivity(intent);
finish();
}
i+=1;
changeImageStack(red);
setCardStackAdapter();
}
@Override
public void onStackEmpty() {
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cardStack.swipeTopViewToRight();
}
});
btnLove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cardStack.swipeTopViewToLeft();
}
});
}
private void setCardStackAdapter() {
parseJSON();
SystemClock.sleep(1000);
if (i==0) {
Pair <String, String > pair = returnRandomFromList();
cardItems.add(new CardItem(pair.first,pair.second));
}
else {
cardItems.add(new CardItem(photo,name));
}
cardsAdapter = new CardsAdapter(this, cardItems);
new Thread(new Runnable() {
public void run() {
cardStack.setAdapter(cardsAdapter);
}
}).start();
}
private void changeImageStack( int color ) {
int size = cardsAdapter.getCount();
Bitmap bitmapJeden = null;
Bitmap bitmapDwa = null;
Bitmap bitmapTrzy = null;
Bitmap bitmapCztery = null;
Bitmap bitmapPiec = null;
colorPiec = colorCztery;
colorCztery = colorTrzy;
colorTrzy = colorDwa;
colorDwa = colorJeden;
colorJeden = color;
try {
bitmapJeden = cardsAdapter.getItem(size - 1).getDrawable();
jeden.setImageBitmap(bitmapJeden);
jeden.setBackgroundColor(colorJeden);
} catch (Exception e) {
}
try {
bitmapDwa = cardsAdapter.getItem(size - 2).getDrawable();
dwa.setImageBitmap(bitmapDwa);
dwa.setBackgroundColor(colorDwa);
} catch (Exception e) {
}
try {
bitmapTrzy = cardsAdapter.getItem(size - 3).getDrawable();
trzy.setImageBitmap(bitmapTrzy);
trzy.setBackgroundColor(colorTrzy);
} catch (Exception e) {
}
try {
bitmapCztery = cardsAdapter.getItem(size - 4).getDrawable();
cztery.setImageBitmap(bitmapCztery);
cztery.setBackgroundColor(colorCztery);
} catch (Exception e) {
}
try {
bitmapPiec = cardsAdapter.getItem(size - 5).getDrawable();
piec.setImageBitmap(bitmapPiec);
piec.setBackgroundColor(colorPiec);
} catch (Exception e) {
}
}
private void parseJSON() {
//photo = null;
//name = null;
String url = api + "/exec?action=getItem";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jarray = response.getJSONArray("item");
JSONObject jo = jarray.getJSONObject(0);
photo = jo.getString("photo");
name = jo.getString("name");
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mQueue.add(request);
}
private void green(){
String url = api + "/exec?action=green";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
mQueue.add(stringRequest);
}
private void red(){
String url = api + "/exec?action=red";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
mQueue.add(stringRequest);
}
private void restart(){
String url = api + "/exec?action=restart";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("strrrrr",">>"+response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//displaying the error in toast if occurrs
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
mQueue.add(stringRequest);
}
private Pair<String, String> returnRandomFromList() {
List <Pair<String, String>> list = new ArrayList <Pair<String, String>>();
list.add(Pair.create("https://media-cdn.tripadvisor.com/media/photo-o/0e/50/98/36/ali-baba-doner-kebab.jpg", "kebab"));
list.add(Pair.create("https://roadtripbus.pl/wp-content/uploads/2019/01/frytki-belgijskie-przepis.jpg", "frytki"));
list.add(Pair.create("http://greenlife.com.pl/wp-content/uploads/2014/01/Fotolia_37798945_Subscription_Monthly_M.jpg", "paluszki rybne"));
list.add(Pair.create("http://cdn14.beszamel.smcloud.net/t/thumbs/660/441/1/user_photos/zapiekanka-z-pieczarkami-i-serem-przepis.jpg", "zapiekanka "));
list.add(Pair.create("https://krosno24.pl/uploads/files/1278/pizza2859233_1280.jpg", "pizza"));
list.add(Pair.create("https://bi.im-g.pl/im/97/cf/d6/z14077847M,Hot-dog.jpg", "hot dog"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/wrapy-z-kurczakiem-i-warzywami894020.jpg", "wrapy "));
list.add(Pair.create("https://www.thespruceeats.com/thmb/KlbIb2jMzZnPeh5IzFvz10yDk5Y=/1813x1360/smart/filters:no_upscale()/vegetarian-bean-and-rice-burrito-recipe-3378550-9_preview-5b2417e1ff1b780037a58cda.jpeg", "buritto"));
list.add(Pair.create("https://www.kwestiasmaku.com/sites/v123.kwestiasmaku.com/files/quesadillas_z_kurczakiem_01.jpg", "quesedilla "));
list.add(Pair.create("https://primeburger.eu/wp-content/uploads/2018/10/2_prod_angus.jpg", "Burger"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/357x0/klasyczne-spaghetti-bolognese-z-pomidorami.jpg", "spagetti"));
list.add(Pair.create("http://obiading.pl/wp-content/uploads/2013/08/lasagne.jpg", "lasagne"));
list.add(Pair.create("https://ocdn.eu/pulscms-transforms/1/cR_ktkpTURBXy82Njc1OWY5MzRmNjgwZDNkMmMwNDIzNGRjMjkxMmNkZC5qcGeTlQMAzK_NFfDNDFeTBc0DFM0BvJUH2TIvcHVsc2Ntcy9NREFfLzE0MGIxY2ZlN2YwYWM1MmVkYzAxMGQ3MDk3OGU4NGJlLnBuZwDCAA", "zapiekanka makaronowa"));
list.add(Pair.create("https://ocdn.eu/pulscms-transforms/1/Ll1ktkpTURBXy9hOGU3YmU5MjM5MTc2NTFkZjVjNGJjZTYwZWQxMTQyNC5qcGeTlQMAzLTNFoDNDKiTBc0DFM0BvJUH2TIvcHVsc2Ntcy9NREFfLzE0MGIxY2ZlN2YwYWM1MmVkYzAxMGQ3MDk3OGU4NGJlLnBuZwDCAA", "cannelloni"));
list.add(Pair.create("https://kobietamag.pl/wp-content/uploads/2015/11/makaron-farfalle-z-dynia-pizmowa-orzechami-i-grana-padano.jpg", "farfalle"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/1440x1080/super-szybkie-tagliatelle-z-kurczakiem658590.jpg", "tagliatelle"));
list.add(Pair.create("https://static.smaker.pl/photos/5/5/7/557b2c0fb2b8a9ad5d04bd81aaa17a61_367613_59ccc9e3e2f45_wm.jpg", "barszcz"));
list.add(Pair.create("https://d3iamf8ydd24h9.cloudfront.net/pictures/articles/2018/02/39528-v-900x556.jpg", "żurek"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/grochowka.jpg", "grochówka"));
list.add(Pair.create("https://zakochanewzupach.pl/wp-content/uploads/2017/05/ch%C5%82odnik-z-burak%C3%B3w-1-866x597.jpg", "chłodnik"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/zupa-pomidorowa.jpg", "zupa pomidorowa"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/classic-chicken-soup_a423933.jpg", "rosół"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/golabki.jpg", "gołąbki"));
list.add(Pair.create("https://ocdn.eu/pulscms-transforms/1/KXvktkpTURBXy9jMzFlODhjYzk4YmMxNDhiODMyMzFiMzQ2ZGM2ZWI5My5qcGeTlQMAQs0ISc0EqZMFzQMUzQG8lQfZMi9wdWxzY21zL01EQV8vMTQwYjFjZmU3ZjBhYzUyZWRjMDEwZDcwOTc4ZTg0YmUucG5nAMIA", "kotlet schabowy"));
list.add(Pair.create("https://i.wpimg.pl/O/555x385/i.wp.pl/a/f/kuchnia/58011461/-EDYSK_2-galerie_nowe-polskie_obiady-148476303.jpg", "kotlet mielony (zraz)"));
list.add(Pair.create("https://static.gotujmy.pl/ZDJECIE_PRZEPISU_ETAP/karkowka-po-cygansku-z-lubczykiem-433571.jpg", "karkówka"));
list.add(Pair.create("https://www.kuchniabazylii.pl/wp-content/uploads/2019/02/kurczak-w-kurkumie_przepis_1.jpg", "pierś kurczaka"));
list.add(Pair.create("https://kuchnia-marty.pl/wp-content/uploads/2015/11/1553.900.jpg", "kopytka"));
list.add(Pair.create("https://www.winiary.pl/image.ashx/kluski-slaskie-z-sosem-pieczeniowym.jpg?fileID=210145&width=800&height=1400&frame=False&bg=0&resize=1&crop=0&hRefill=0&vRefill=0&quality=84", "kluski śląskie"));
list.add(Pair.create("https://kulinarneprzeboje.pl/wp-content/uploads/2018/08/DSC_0793-660x993.jpg", "knedle"));
list.add(Pair.create("https://static.gotujmy.pl/ZDJECIE_PRZEPISU_ETAP/krokiety-z-miesem-grzybami-i-kapusta-415737.jpg", "krokiety z mięsem"));
list.add(Pair.create("https://cookit.pl/Data/Images/zjemto.blox.pl/2015_slash_12_slash_Krokiety-z-kapusta-i-grzybami/l/-1540155321.jpg", "krokiety z kapustą i grzybami"));
list.add(Pair.create("https://www.nalesniki.eu/wp-content/uploads/2015/02/nalesniki_z_serem.jpg", "naleśniki z serem"));
list.add(Pair.create("https://d3iamf8ydd24h9.cloudfront.net/pictures/articles/2018/01/21290-v-900x556.jpg", "naleśniki z owocami"));
list.add(Pair.create("https://static.gotujmy.pl/ZDJECIE_PRZEPISU_ETAP/gofry-z-bita-smietana-i-owocami-366132.jpg", "gofry z bitą śmietaną"));
list.add(Pair.create("https://www.mniammniam.com/obrazki_mobile/sernik_latwyszybki1_mobile.jpg", "sernik"));
list.add(Pair.create("https://www.przyslijprzepis.pl/media/cache/default_view/uploads/media/default/0001/13/2daa72a1a0a24e7dae3da924681d31e7929557a1.jpeg", "lody czekoladowe"));
list.add(Pair.create("https://2.bp.blogspot.com/-KIAqdG_dEBc/W1CR4mRLcDI/AAAAAAAAUvA/ryRpfubKHCYe_DcRokWK1zHNm-rrJOCbQCLcBGAs/s1600/Domowe%2BLody%2B%25C5%259Bmietankowe%2Blody%2Bmleczne%2Blody%2Bsmietankowe%2Bnajlepsze%2Blody%2Bsmietankowe%2Bnajlepsze%2Blody%2B%25C5%259Bmietanowe%2Bdomowe%2Blody%2Bnajlepsze%2Bprzepis%2Bprzepis%2Bna%2Blody%2B0.jpg", "lody śmietankowe"));
list.add(Pair.create("https://static.mojewypieki.com/upload/images/przepisy/Tiramisu/Tiramisu_01.jpg", "tiramisu"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/wuzetka6100240536839567.jpg", "wuzetka"));
list.add(Pair.create("http://www.przepisykulinarne.info/wp-content/uploads/2015/01/jajecznica-z-boczkiem-2.jpg", "jajecznica"));
list.add(Pair.create("https://ocdn.eu/pulscms-transforms/1/kHcktkqTURBXy85ZTRmMmRhMWE3NGMxOWI2ZTIwMjdlYTJiNmYxMzk0Yy5qcGVnk5UDAM0Jj80NVc0HgJMFzQMUzQG8lQfZMi9wdWxzY21zL01EQV8vMTQwYjFjZmU3ZjBhYzUyZWRjMDEwZDcwOTc4ZTg0YmUucG5nAMIA", "jajecznica bez mięsa"));
list.add(Pair.create("https://d1doqjmisr497k.cloudfront.net/-/media/kamispl-2016/recipe/2000/tosty_z_szynka_i_serem_2000.jpg?vd=20180617T003946Z&ir=1&width=885&height=498&crop=auto&quality=75&speed=0&hash=B683193C23502612DDCBE5E63A072D72C5D6A0C6", "tost"));
list.add(Pair.create("https://i.pinimg.com/474x/31/e4/9e/31e49eadb4c89d83045b0abcc4cd187b.jpg", "tost bez miesa"));
list.add(Pair.create("https://www.eksperymentalnie.com/wp-content/uploads/2009/01/zupa_mleczna.jpg", "zupa mleczna"));
list.add(Pair.create("https://www.mojegotowanie.pl/media/cache/default_view/uploads/media/default/0001/06/06c1ddd737685ab33c7e9e16312264390ff37ed5.jpeg", "omlet"));
list.add(Pair.create("https://pliki.portalspozywczy.pl/i/08/79/02/087902_940.jpg", "kanapka"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/435x0/kanapka-z-gorgonzola-i-gruszka671748.jpg", "kanapka bez miesa"));
list.add(Pair.create("http://jamiprzepisy.pl/wp-content/uploads/2009/05/kotlety_soczewicowe_2_1400.jpg", "kotlety z soczewicy"));
list.add(Pair.create("https://www.przyslijprzepis.pl/media/cache/default_view/uploads/media/recipe/0006/16/c28f37349627c7dd1eb1944a1ef43c24b08ee155.jpeg", "kotlety z fasoli"));
list.add(Pair.create("https://s3.party.pl/styl-zycia/zdrowie/odchudzanie-i-diety/zielony-wegetarianski-burger-437024-MT.jpg", "burger wege"));
list.add(Pair.create("https://v.wpimg.pl/NzI4NDc0YRsoVjh3TEtsDmsObC0KEmJYPBZ0Zkx_YUx9ADZwWwNhHmdDPi0OV2AKJRt7fVsFeUJ8AWNpWgN9SH0Gf3BUHzkfLlUgNwhZYxg8RikhER4kCi4WMw==", "burger wege 2"));
list.add(Pair.create("https://static.smaker.pl/photos/9/4/4/9442fbd2e845b0173b063c4ee272dccc_110705_57b497ef426c8_wm.jpg", "placki ziemniaczane"));
list.add(Pair.create("https://s3.przepisy.pl/przepisy3ii/img/variants/767x0/2277786.jpg", "ratatuj"));
list.add(Pair.create("http://magicznyskladnik.pl/wp-content/uploads/2015/03/przepis-na-ziemniaki-pieczone-w-piekarniku-28-2.jpg", "pieczone ziemniaki"));
list.add(Pair.create("https://www.winiary.pl/image.ashx/losos-z-koperkiem.jpg?fileID=43312&width=800&height=1400&frame=False&bg=0&resize=1&crop=0&hRefill=0&vRefill=0&quality=84", "łosos"));
list.add(Pair.create("http://cdn30.beszamel.smcloud.net/t/thumbs/640/480/1/user_photos/18671/tani-dorsz-z-kauflandu-najlepszy-przepis.jpg", "dorsz"));
list.add(Pair.create("https://rybyswiata.pl/wp-content/uploads/2013/10/halibut-niebieski-rybyswiata-pl.png", "halibut"));
list.add(Pair.create("https://www.poezja-smaku.pl/wp-content/uploads/2012/07/aromatyczny-dorsz.jpg", "dorsz w panierce"));
list.add(Pair.create("https://media-cdn.tripadvisor.com/media/photo-s/10/19/f2/0b/ryba-miruna-w-zlocistej.jpg", "miruna w panierce"));
int index = random.nextInt(list.size());
return list.get(index);
}
}