Changeset View
Changeset View
Standalone View
Standalone View
src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisActivity.java
Show All 22 Lines | |||||
23 | import android.content.SharedPreferences; | 23 | import android.content.SharedPreferences; | ||
24 | import android.graphics.Bitmap; | 24 | import android.graphics.Bitmap; | ||
25 | import android.graphics.drawable.Drawable; | 25 | import android.graphics.drawable.Drawable; | ||
26 | import android.os.Bundle; | 26 | import android.os.Bundle; | ||
27 | import android.os.Handler; | 27 | import android.os.Handler; | ||
28 | import android.os.Message; | 28 | import android.os.Message; | ||
29 | import android.preference.PreferenceManager; | 29 | import android.preference.PreferenceManager; | ||
30 | import android.support.annotation.NonNull; | 30 | import android.support.annotation.NonNull; | ||
31 | import android.support.v4.app.FragmentManager; | ||||
31 | import android.support.v4.graphics.drawable.DrawableCompat; | 32 | import android.support.v4.graphics.drawable.DrawableCompat; | ||
32 | import android.support.v7.app.AppCompatActivity; | 33 | import android.support.v7.app.AppCompatActivity; | ||
33 | import android.util.Log; | 34 | import android.util.Log; | ||
34 | import android.view.KeyEvent; | 35 | import android.view.KeyEvent; | ||
35 | import android.view.View; | 36 | import android.view.View; | ||
36 | import android.widget.AdapterView; | 37 | import android.widget.AdapterView; | ||
37 | import android.widget.ArrayAdapter; | 38 | import android.widget.ArrayAdapter; | ||
38 | import android.widget.ImageButton; | 39 | import android.widget.ImageButton; | ||
39 | import android.widget.ImageView; | 40 | import android.widget.ImageView; | ||
40 | import android.widget.SeekBar; | 41 | import android.widget.SeekBar; | ||
41 | import android.widget.Spinner; | 42 | import android.widget.Spinner; | ||
42 | import android.widget.TextView; | 43 | import android.widget.TextView; | ||
43 | 44 | | |||
44 | import org.kde.kdeconnect.Backends.BaseLink; | 45 | import org.kde.kdeconnect.Backends.BaseLink; | ||
45 | import org.kde.kdeconnect.Backends.BaseLinkProvider; | 46 | import org.kde.kdeconnect.Backends.BaseLinkProvider; | ||
46 | import org.kde.kdeconnect.BackgroundService; | 47 | import org.kde.kdeconnect.BackgroundService; | ||
47 | import org.kde.kdeconnect.Device; | 48 | import org.kde.kdeconnect.Device; | ||
49 | import org.kde.kdeconnect.Plugins.SystemvolumePlugin.SystemvolumeFragment; | ||||
48 | import org.kde.kdeconnect.NetworkPacket; | 50 | import org.kde.kdeconnect.NetworkPacket; | ||
49 | import org.kde.kdeconnect_tp.R; | 51 | import org.kde.kdeconnect_tp.R; | ||
50 | 52 | | |||
51 | import java.util.List; | 53 | import java.util.List; | ||
52 | 54 | | |||
53 | public class MprisActivity extends AppCompatActivity { | 55 | public class MprisActivity extends AppCompatActivity { | ||
54 | 56 | | |||
55 | private String deviceId; | 57 | private String deviceId; | ||
Show All 26 Lines | 82 | BackgroundService.RunCommand(this, new BackgroundService.InstanceCallback() { | |||
82 | public void onServiceStart(BackgroundService service) { | 84 | public void onServiceStart(BackgroundService service) { | ||
83 | 85 | | |||
84 | final Device device = service.getDevice(deviceId); | 86 | final Device device = service.getDevice(deviceId); | ||
85 | final MprisPlugin mpris = device.getPlugin(MprisPlugin.class); | 87 | final MprisPlugin mpris = device.getPlugin(MprisPlugin.class); | ||
86 | if (mpris == null) { | 88 | if (mpris == null) { | ||
87 | Log.e("MprisActivity", "device has no mpris plugin!"); | 89 | Log.e("MprisActivity", "device has no mpris plugin!"); | ||
88 | return; | 90 | return; | ||
89 | } | 91 | } | ||
92 | | ||||
90 | targetPlayer = mpris.getPlayerStatus(targetPlayerName); | 93 | targetPlayer = mpris.getPlayerStatus(targetPlayerName); | ||
91 | 94 | | |||
95 | addSytemvolumeFragment(); | ||||
mtijink: Should use a check if it's available. | |||||
nicolasfella: I do that in the fragment | |||||
mtijink: Yeah, but now the fragment is added even if it won't do anything. | |||||
96 | | ||||
92 | mpris.setPlayerStatusUpdatedHandler("activity", new Handler() { | 97 | mpris.setPlayerStatusUpdatedHandler("activity", new Handler() { | ||
93 | @Override | 98 | @Override | ||
94 | public void handleMessage(Message msg) { | 99 | public void handleMessage(Message msg) { | ||
95 | runOnUiThread(new Runnable() { | 100 | runOnUiThread(new Runnable() { | ||
96 | @Override | 101 | @Override | ||
97 | public void run() { | 102 | public void run() { | ||
98 | updatePlayerStatus(mpris); | 103 | updatePlayerStatus(mpris); | ||
99 | } | 104 | } | ||
▲ Show 20 Lines • Show All 75 Lines • ▼ Show 20 Line(s) | 109 | mpris.setPlayerListUpdatedHandler("activity", new Handler() { | |||
175 | } | 180 | } | ||
176 | }); | 181 | }); | ||
177 | 182 | | |||
178 | } | 183 | } | ||
179 | }); | 184 | }); | ||
180 | 185 | | |||
181 | } | 186 | } | ||
182 | 187 | | |||
188 | private void addSytemvolumeFragment() { | ||||
189 | | ||||
190 | FragmentManager fragmentManager = getSupportFragmentManager(); | ||||
191 | ((SystemvolumeFragment) fragmentManager.findFragmentById(R.id.systemvolume_fragment)).connectToPlugin(deviceId); | ||||
192 | | ||||
193 | } | ||||
194 | | ||||
183 | private final BaseLinkProvider.ConnectionReceiver connectionReceiver = new BaseLinkProvider.ConnectionReceiver() { | 195 | private final BaseLinkProvider.ConnectionReceiver connectionReceiver = new BaseLinkProvider.ConnectionReceiver() { | ||
184 | @Override | 196 | @Override | ||
185 | public void onConnectionReceived(NetworkPacket identityPacket, BaseLink link) { | 197 | public void onConnectionReceived(NetworkPacket identityPacket, BaseLink link) { | ||
186 | connectToPlugin(null); | 198 | connectToPlugin(null); | ||
187 | } | 199 | } | ||
188 | 200 | | |||
189 | @Override | 201 | @Override | ||
190 | public void onConnectionLost(BaseLink link) { | 202 | public void onConnectionLost(BaseLink link) { | ||
▲ Show 20 Lines • Show All 207 Lines • ▼ Show 20 Line(s) | 400 | findViewById(R.id.next_button).setOnClickListener(new View.OnClickListener() { | |||
398 | } | 410 | } | ||
399 | }); | 411 | }); | ||
400 | 412 | | |||
401 | ((SeekBar) findViewById(R.id.volume_seek)).setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { | 413 | ((SeekBar) findViewById(R.id.volume_seek)).setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { | ||
402 | @Override | 414 | @Override | ||
403 | public void onProgressChanged(SeekBar seekBar, int i, boolean b) { | 415 | public void onProgressChanged(SeekBar seekBar, int i, boolean b) { | ||
404 | } | 416 | } | ||
405 | 417 | | |||
406 | @Override | 418 | @Override | ||
Some code should be added to hide the "set system volume" controls if the plugin is not available. mtijink: Some code should be added to hide the "set system volume" controls if the plugin is not… | |||||
407 | public void onStartTrackingTouch(SeekBar seekBar) { | 419 | public void onStartTrackingTouch(SeekBar seekBar) { | ||
408 | } | 420 | } | ||
409 | 421 | | |||
410 | @Override | 422 | @Override | ||
411 | public void onStopTrackingTouch(final SeekBar seekBar) { | 423 | public void onStopTrackingTouch(final SeekBar seekBar) { | ||
412 | BackgroundService.RunCommand(MprisActivity.this, new BackgroundService.InstanceCallback() { | 424 | BackgroundService.RunCommand(MprisActivity.this, new BackgroundService.InstanceCallback() { | ||
413 | @Override | 425 | @Override | ||
414 | public void onServiceStart(BackgroundService service) { | 426 | public void onServiceStart(BackgroundService service) { | ||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |
Should use a check if it's available.