Change button icons depending on state

This commit is contained in:
Pavle Portic 2019-01-26 02:33:27 +01:00
parent 9a97a86f28
commit a657211788
Signed by: TheEdgeOfRage
GPG Key ID: 6758ACE46AA2A849
3 changed files with 46 additions and 19 deletions

View File

@ -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;
}
}

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M6,19h4L10,5L6,5v14zM14,5v14h4L18,5h-4z"/>
</vector>

View File

@ -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" />
<ImageButton
android:id="@+id/prevButton"
@ -112,11 +112,11 @@
android:contentDescription="@string/next"
android:scaleX="2"
android:scaleY="2"
android:src="@drawable/ic_shuffle_black_24dp"
android:tint="@color/colorForeground"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/nextButton"
app:layout_constraintTop_toBottomOf="@+id/volUpButton"
app:srcCompat="@drawable/ic_shuffle_black_24dp" />
app:layout_constraintTop_toBottomOf="@+id/volUpButton" />
<TextView
android:id="@+id/currentlyPlayingText"