diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 639fd08..53732fd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,18 +2,21 @@ - + + diff --git a/app/src/main/java/fr/svpro/rsd/InfoActivity.java b/app/src/main/java/fr/svpro/rsd/InfoActivity.java new file mode 100644 index 0000000..f8ad880 --- /dev/null +++ b/app/src/main/java/fr/svpro/rsd/InfoActivity.java @@ -0,0 +1,64 @@ +package fr.svpro.rsd; + +import androidx.appcompat.app.AppCompatActivity; + +import android.annotation.SuppressLint; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.TextView; + +import com.squareup.picasso.Picasso; + +public class InfoActivity extends AppCompatActivity { + + TextView nomStation, tags, language; + ImageView logoStation; + Button bShare, bSite; + + @SuppressLint("MissingInflatedId") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_info); + setTitle("Infos Radio"); + + logoStation = (ImageView) findViewById(R.id.ivLogo); + nomStation = (TextView) findViewById(R.id.name); + tags = (TextView) findViewById(R.id.tags); + language = (TextView) findViewById(R.id.lang); + bShare = (Button) findViewById(R.id.share); + bSite = (Button) findViewById(R.id.siteWeb); + + String faviconURL = getIntent().getStringExtra("logo"); + Picasso.get().load(faviconURL).error(R.drawable.baseline_radio_24).into(logoStation); + nomStation.setText(getIntent().getStringExtra("name")); + tags.setText(getIntent().getStringExtra("tags")); + language.setText(getIntent().getStringExtra("lang")); + String siteWeb = getIntent().getStringExtra("site"); + String streamURL = getIntent().getStringExtra("stream"); + + bShare.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setDataAndType(Uri.parse(streamURL),"audio/*"); + startActivity(intent); + } + }); + bSite.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setData(Uri.parse(siteWeb)); + startActivity(intent); + } + }); + + + + } +} \ No newline at end of file diff --git a/app/src/main/java/fr/svpro/rsd/MainActivity.java b/app/src/main/java/fr/svpro/rsd/MainActivity.java index fe8d8dc..0a0d96d 100644 --- a/app/src/main/java/fr/svpro/rsd/MainActivity.java +++ b/app/src/main/java/fr/svpro/rsd/MainActivity.java @@ -65,10 +65,10 @@ public class MainActivity extends AppCompatActivity { private final static String URL = "https://radiobrowser.weblib.re/json/stations"; private ListView listView; private EditText etRecherche; - private Button bRecherche, bShare, bSite; + private Button bRecherche; public RadioButton rechNom, rechPays; public String siteWeb; - private String nomStation, streamURL, byFiltre, faviconURL; + private String nomStation, streamURL, byFiltre, faviconURL, tagStation, langStation; public ImageView ivLogo; ArrayList> arrayList; @@ -83,8 +83,8 @@ public class MainActivity extends AppCompatActivity { etRecherche = (EditText) findViewById(R.id.etRecherche); listView = (ListView) findViewById(R.id.listView); bRecherche = (Button) findViewById(R.id.recherche); - bShare = (Button) findViewById(R.id.share); - bSite = (Button) findViewById(R.id.siteWeb); + /*bShare = (Button) findViewById(R.id.share); + bSite = (Button) findViewById(R.id.siteWeb);*/ rechNom = (RadioButton) findViewById(R.id.rech_nom); rechPays = (RadioButton) findViewById(R.id.rech_pays); ivLogo = (ImageView) findViewById(R.id.ivLogo); @@ -93,8 +93,8 @@ public class MainActivity extends AppCompatActivity { @Override public void onClick(View view) { setTitle("Recherche en cours...."); - bShare.setVisibility(View.INVISIBLE); - bSite.setVisibility(View.INVISIBLE); + /*bShare.setVisibility(View.INVISIBLE); + bSite.setVisibility(View.INVISIBLE);*/ parse(); } }); @@ -178,22 +178,31 @@ public class MainActivity extends AppCompatActivity { siteWeb = arrayList.get(position).get("homepage"); streamURL = arrayList.get(position).get("url"); faviconURL = arrayList.get(position).get("favicon"); - if (Objects.requireNonNull(arrayList.get(position).get("favicon")).isEmpty()) { - Picasso.get().load(R.drawable.ic_launcher_foreground).into(ivLogo); - } else { - Picasso.get().load(faviconURL).into(ivLogo); - } + tagStation = arrayList.get(position).get("tags"); + langStation = arrayList.get(position).get("language"); + //Picasso.get().load(faviconURL).error(R.drawable.baseline_radio_24).into(ivLogo); setTitle(nomStation); - bShare.setVisibility(View.VISIBLE); + /*bShare.setVisibility(View.VISIBLE); if (Objects.requireNonNull(arrayList.get(position).get("homepage")).isEmpty()) { bSite.setVisibility(View.INVISIBLE); } else { bSite.setVisibility(View.VISIBLE); - } + }*/ + + Intent intent = new Intent(MainActivity.this,InfoActivity.class); + intent.putExtra("logo",faviconURL); + intent.putExtra("name",nomStation); + intent.putExtra("tags",tagStation); + intent.putExtra("lang",langStation); + intent.putExtra("site",siteWeb); + intent.putExtra("stream",streamURL); + startActivity(intent); + + } }); - bShare.setOnClickListener(new View.OnClickListener() { + /* bShare.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_VIEW); @@ -208,7 +217,7 @@ public class MainActivity extends AppCompatActivity { intent.setData(Uri.parse(siteWeb)); startActivity(intent); } - }); + });*/ } }); } diff --git a/app/src/main/res/drawable/baseline_radio_24.xml b/app/src/main/res/drawable/baseline_radio_24.xml new file mode 100644 index 0000000..c89871a --- /dev/null +++ b/app/src/main/res/drawable/baseline_radio_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_info.xml b/app/src/main/res/layout/activity_info.xml new file mode 100644 index 0000000..d6aca62 --- /dev/null +++ b/app/src/main/res/layout/activity_info.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + +