diff --git a/app/src/main/java/com/theedgeofrage/i3control/MainActivity.java b/app/src/main/java/com/theedgeofrage/i3control/MainActivity.java
index ece69e1..a0ec948 100644
--- a/app/src/main/java/com/theedgeofrage/i3control/MainActivity.java
+++ b/app/src/main/java/com/theedgeofrage/i3control/MainActivity.java
@@ -10,6 +10,7 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
+import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
@@ -69,7 +70,7 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences settings = context.getSharedPreferences(
context.getApplicationContext().getPackageName() + "_preferences", 0);
String host = settings.getString("pref_host", "");
- if (host.equals("")) {
+ if (host == null || host.equals("")) {
Toast.makeText(context, "No host set", Toast.LENGTH_SHORT).show();
return;
}
@@ -81,7 +82,21 @@ public class MainActivity extends AppCompatActivity {
if (response.length() > 0) {
try {
String current = response.getString("artist") + " - " + response.getString("title");
- ((TextView)findViewById(R.id.currentlyPlayingText)).setText(current);
+ TextView statusTextView = findViewById(R.id.currentlyPlayingText);
+ ImageButton playButton = findViewById(R.id.playButton);
+ ImageButton shuffleButton = findViewById(R.id.shuffleButton);
+
+ statusTextView.setText(current);
+ if (response.getBoolean("playing")) {
+ playButton.setImageResource(R.drawable.ic_pause_black_24dp);
+ } else {
+ playButton.setImageResource(R.drawable.ic_play_arrow_black_24dp);
+ }
+ if (response.getBoolean("shuffle")) {
+ shuffleButton.setColorFilter(getColor(R.color.colorAccent), android.graphics.PorterDuff.Mode.SRC_IN);
+ } else {
+ shuffleButton.setColorFilter(getColor(R.color.colorForeground), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
} catch (JSONException e) {
e.printStackTrace();
}
@@ -89,7 +104,10 @@ public class MainActivity extends AppCompatActivity {
}
}, new Response.ErrorListener() {
@Override
- public void onErrorResponse(VolleyError error) {
+ public void onErrorResponse(VolleyError volleyError) {
+ if(volleyError.networkResponse != null && volleyError.networkResponse.data != null){
+ Toast.makeText(context, volleyError.networkResponse.statusCode, Toast.LENGTH_SHORT).show();
+ }
}
});
@@ -119,36 +137,36 @@ public class MainActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
- final Context context = this;
+ final MainActivity context = this;
View.OnClickListener buttonClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.muteButton:
- ((MainActivity)context).sendRequest("mute", context);
+ context.sendRequest("mute", context);
break;
case R.id.volDownButton:
- ((MainActivity)context).sendRequest("vol_down", context);
+ context.sendRequest("vol_down", context);
break;
case R.id.volUpButton:
- ((MainActivity)context).sendRequest("vol_up", context);
+ context.sendRequest("vol_up", context);
break;
case R.id.prevButton:
- ((MainActivity)context).sendRequest("prev", context);
- ((MainActivity)context).sendRequest("query", context);
+ context.sendRequest("prev", context);
+ context.sendRequest("query", context);
break;
case R.id.playButton:
- ((MainActivity)context).sendRequest("play", context);
- ((MainActivity)context).sendRequest("query", context);
+ context.sendRequest("play", context);
+ context.sendRequest("query", context);
break;
case R.id.nextButton:
- ((MainActivity)context).sendRequest("next", context);
- ((MainActivity)context).sendRequest("query", context);
+ context.sendRequest("next", context);
+ context.sendRequest("query", context);
break;
case R.id.shuffleButton:
- ((MainActivity)context).sendRequest("shuffle", context);
- ((MainActivity)context).sendRequest("query", context);
+ context.sendRequest("shuffle", context);
+ context.sendRequest("query", context);
break;
}
}
diff --git a/app/src/main/res/drawable/ic_pause_black_24dp.xml b/app/src/main/res/drawable/ic_pause_black_24dp.xml
new file mode 100644
index 0000000..bb28a6c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_pause_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 24d5e5b..0a96248 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -64,11 +64,11 @@
android:contentDescription="@string/play"
android:scaleX="2"
android:scaleY="2"
+ android:src="@drawable/ic_play_arrow_black_24dp"
android:tint="@color/colorForeground"
app:layout_constraintEnd_toStartOf="@+id/prevButton"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/muteButton"
- app:srcCompat="@drawable/ic_play_arrow_black_24dp" />
+ app:layout_constraintTop_toBottomOf="@+id/muteButton" />
+ app:layout_constraintTop_toBottomOf="@+id/volUpButton" />