diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..8306744
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 00fe803..0795c78 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,12 @@
+
+
+
+
+
+
dogList = new ArrayList();
ItemArrayAdapter itemArrayAdapter = new ItemArrayAdapter(R.layout.list_item, dogList);
@@ -28,10 +45,10 @@ protected void onCreate(Bundle savedInstanceState) {
recyclerView.setAdapter(itemArrayAdapter);
// Populating list items
- for(int i=0; i<100; i++) {
- dogList.add(new Dog("Dog: " + i, R.mipmap.ic_launcher));
+ for(int i=0; i<5; i++) {
+ dogList.add(new Dog(radioNames[i], radioList[i]));
}
-
}
+
}
diff --git a/app/src/main/java/me/thankstoken/a2020_04_21e/model/Dog.java b/app/src/main/java/me/thankstoken/a2020_04_21e/model/Dog.java
index a45ae81..789ee57 100644
--- a/app/src/main/java/me/thankstoken/a2020_04_21e/model/Dog.java
+++ b/app/src/main/java/me/thankstoken/a2020_04_21e/model/Dog.java
@@ -3,22 +3,22 @@
public class Dog {
private String name;
- private int myPhoto;
+ private String link;
- public Dog(String n, int imageNumber) {
+ public Dog(String n, String l) {
name = n;
- myPhoto = imageNumber;
+ link = l;
}
public String getName() { return name; }
- public int getImage() { return myPhoto; }
+ public String getImage() { return link; }
public void setName(String name) {
this.name = name;
}
- public void setImage(int imageNumber) {
- this.myPhoto = imageNumber;
+ public void setImage(String link) {
+ this.link = link;
}
}
diff --git a/app/src/main/java/me/thankstoken/a2020_04_21e/model/ItemArrayAdapter.java b/app/src/main/java/me/thankstoken/a2020_04_21e/model/ItemArrayAdapter.java
index 2f5f973..fe5d25e 100644
--- a/app/src/main/java/me/thankstoken/a2020_04_21e/model/ItemArrayAdapter.java
+++ b/app/src/main/java/me/thankstoken/a2020_04_21e/model/ItemArrayAdapter.java
@@ -1,23 +1,37 @@
package me.thankstoken.a2020_04_21e.model;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.MediaPlayer;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ImageView;
+import android.widget.ImageButton;
+
import android.widget.TextView;
+import java.io.IOException;
import java.util.ArrayList;
import androidx.recyclerview.widget.RecyclerView;
import androidx.cardview.widget.*;
+
+import me.thankstoken.a2020_04_21e.MainActivity;
import me.thankstoken.a2020_04_21e.R;
+
public class ItemArrayAdapter extends RecyclerView.Adapter {
//All methods in this adapter are required for a bare minimum recyclerview adapter
private int listItemLayout;
private ArrayList dogList;
+ private ViewHolder holder;
+
+ MediaPlayer radio = new MediaPlayer();
+ String streamURL = "";
+
+
// Constructor of the class
public ItemArrayAdapter(int layoutId, ArrayList dogList) {
listItemLayout = layoutId;
@@ -40,25 +54,43 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
// load data in each row element
@Override
public void onBindViewHolder(final ViewHolder holder, final int listPosition) {
+
TextView item = holder.item;
- ImageView picture = holder.image;
item.setText(dogList.get(listPosition).getName());
- picture.setImageResource(dogList.get(listPosition).getImage());
+ streamURL = dogList.get(listPosition).getImage();
+ ImageButton playButton = holder.image;
+ playButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+
+ try {
+ radio.setDataSource(streamURL);
+ radio.prepareAsync();
+ }
+ catch (IllegalArgumentException e){
+ Log.d("IllegalArgument", e.getMessage());
+ }catch (IOException e){
+ Log.d("IOException", e.getMessage());
+ }
+ radio.start();
+ }
+ });
}
// Static inner class to initialize the views of rows
static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public TextView item;
- public ImageView image;
+ public ImageButton image;
public ViewHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
- item = (TextView) itemView.findViewById(R.id.row_item);
- image = (ImageView) itemView.findViewById(R.id.dog_pic);
+ item = (TextView) itemView.findViewById(R.id.radioName);
+ image = (ImageButton) itemView.findViewById(R.id.playButton);
}
@Override
public void onClick(View view) {
Log.d("onclick", "onClick " + getLayoutPosition() + " " + item.getText());
}
}
+
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item.xml b/app/src/main/res/layout/list_item.xml
index f1c4802..ba4b79d 100644
--- a/app/src/main/res/layout/list_item.xml
+++ b/app/src/main/res/layout/list_item.xml
@@ -16,27 +16,20 @@
android:orientation="horizontal">
-
-
-
-
+ android:layout_weight="1"
+ app:srcCompat="@android:drawable/ic_media_play" />