Changeset View
Changeset View
Standalone View
Standalone View
src/org/kde/kdeconnect/Plugins/MprisPlugin/MprisActivity.java
Show All 20 Lines | |||||
21 | package org.kde.kdeconnect.Plugins.MprisPlugin; | 21 | package org.kde.kdeconnect.Plugins.MprisPlugin; | ||
22 | 22 | | |||
23 | import android.content.SharedPreferences; | 23 | import android.content.SharedPreferences; | ||
24 | import android.os.Bundle; | 24 | import android.os.Bundle; | ||
25 | import android.os.Handler; | 25 | import android.os.Handler; | ||
26 | import android.os.Message; | 26 | import android.os.Message; | ||
27 | import android.preference.PreferenceManager; | 27 | import android.preference.PreferenceManager; | ||
28 | import android.support.annotation.NonNull; | 28 | import android.support.annotation.NonNull; | ||
29 | import android.support.v4.app.FragmentManager; | ||||
30 | import android.support.v4.app.FragmentTransaction; | ||||
29 | import android.support.v7.app.AppCompatActivity; | 31 | import android.support.v7.app.AppCompatActivity; | ||
30 | import android.util.Log; | 32 | import android.util.Log; | ||
31 | import android.view.KeyEvent; | 33 | import android.view.KeyEvent; | ||
32 | import android.view.View; | 34 | import android.view.View; | ||
33 | import android.widget.AdapterView; | 35 | import android.widget.AdapterView; | ||
34 | import android.widget.ArrayAdapter; | 36 | import android.widget.ArrayAdapter; | ||
35 | import android.widget.ImageButton; | 37 | import android.widget.ImageButton; | ||
36 | import android.widget.SeekBar; | 38 | import android.widget.SeekBar; | ||
37 | import android.widget.Spinner; | 39 | import android.widget.Spinner; | ||
38 | import android.widget.TextView; | 40 | import android.widget.TextView; | ||
39 | 41 | | |||
40 | import org.kde.kdeconnect.Backends.BaseLink; | 42 | import org.kde.kdeconnect.Backends.BaseLink; | ||
41 | import org.kde.kdeconnect.Backends.BaseLinkProvider; | 43 | import org.kde.kdeconnect.Backends.BaseLinkProvider; | ||
42 | import org.kde.kdeconnect.BackgroundService; | 44 | import org.kde.kdeconnect.BackgroundService; | ||
43 | import org.kde.kdeconnect.Device; | 45 | import org.kde.kdeconnect.Device; | ||
44 | import org.kde.kdeconnect.NetworkPackage; | 46 | import org.kde.kdeconnect.NetworkPackage; | ||
47 | import org.kde.kdeconnect.Plugins.SystemvolumePlugin.SystemvolumeFragment; | ||||
45 | import org.kde.kdeconnect_tp.R; | 48 | import org.kde.kdeconnect_tp.R; | ||
46 | 49 | | |||
47 | import java.util.List; | 50 | import java.util.List; | ||
48 | 51 | | |||
49 | public class MprisActivity extends AppCompatActivity { | 52 | public class MprisActivity extends AppCompatActivity { | ||
50 | 53 | | |||
51 | private String deviceId; | 54 | private String deviceId; | ||
52 | private final Handler positionSeekUpdateHandler = new Handler(); | 55 | private final Handler positionSeekUpdateHandler = new Handler(); | ||
Show All 23 Lines | 77 | BackgroundService.RunCommand(this, new BackgroundService.InstanceCallback() { | |||
76 | public void onServiceStart(BackgroundService service) { | 79 | public void onServiceStart(BackgroundService service) { | ||
77 | 80 | | |||
78 | final Device device = service.getDevice(deviceId); | 81 | final Device device = service.getDevice(deviceId); | ||
79 | final MprisPlugin mpris = device.getPlugin(MprisPlugin.class); | 82 | final MprisPlugin mpris = device.getPlugin(MprisPlugin.class); | ||
80 | if (mpris == null) { | 83 | if (mpris == null) { | ||
81 | Log.e("MprisActivity", "device has no mpris plugin!"); | 84 | Log.e("MprisActivity", "device has no mpris plugin!"); | ||
82 | return; | 85 | return; | ||
83 | } | 86 | } | ||
87 | | ||||
84 | targetPlayer = mpris.getPlayerStatus(targetPlayerName); | 88 | targetPlayer = mpris.getPlayerStatus(targetPlayerName); | ||
85 | 89 | | |||
90 | 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. | |||||
91 | | ||||
86 | mpris.setPlayerStatusUpdatedHandler("activity", new Handler() { | 92 | mpris.setPlayerStatusUpdatedHandler("activity", new Handler() { | ||
87 | @Override | 93 | @Override | ||
88 | public void handleMessage(Message msg) { | 94 | public void handleMessage(Message msg) { | ||
89 | runOnUiThread(new Runnable() { | 95 | runOnUiThread(new Runnable() { | ||
90 | @Override | 96 | @Override | ||
91 | public void run() { | 97 | public void run() { | ||
92 | updatePlayerStatus(mpris); | 98 | updatePlayerStatus(mpris); | ||
93 | } | 99 | } | ||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 104 | mpris.setPlayerListUpdatedHandler("activity", new Handler() { | |||
155 | } | 161 | } | ||
156 | }); | 162 | }); | ||
157 | 163 | | |||
158 | } | 164 | } | ||
159 | }); | 165 | }); | ||
160 | 166 | | |||
161 | } | 167 | } | ||
162 | 168 | | |||
169 | private void addSytemvolumeFragment() { | ||||
170 | | ||||
171 | FragmentManager fragmentManager = getSupportFragmentManager(); | ||||
172 | // FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); | ||||
173 | // SystemvolumeFragment fragment = new SystemvolumeFragment(); | ||||
174 | // fragmentTransaction.add(R.id.mpris_control_view, fragment); | ||||
175 | // fragmentTransaction.commitNow(); | ||||
176 | ((SystemvolumeFragment) fragmentManager.findFragmentById(R.id.systemvolume_fragment)).connectToPlugin(deviceId); | ||||
177 | | ||||
178 | } | ||||
179 | | ||||
163 | private final BaseLinkProvider.ConnectionReceiver connectionReceiver = new BaseLinkProvider.ConnectionReceiver() { | 180 | private final BaseLinkProvider.ConnectionReceiver connectionReceiver = new BaseLinkProvider.ConnectionReceiver() { | ||
164 | @Override | 181 | @Override | ||
165 | public void onConnectionReceived(NetworkPackage identityPackage, BaseLink link) { | 182 | public void onConnectionReceived(NetworkPackage identityPackage, BaseLink link) { | ||
166 | connectToPlugin(null); | 183 | connectToPlugin(null); | ||
167 | } | 184 | } | ||
168 | 185 | | |||
169 | @Override | 186 | @Override | ||
170 | public void onConnectionLost(BaseLink link) { | 187 | public void onConnectionLost(BaseLink link) { | ||
▲ Show 20 Lines • Show All 222 Lines • ▼ Show 20 Line(s) | 409 | if (targetPlayer != null) { | |||
393 | positionSeek.setProgress((int) (targetPlayer.getPosition())); | 410 | positionSeek.setProgress((int) (targetPlayer.getPosition())); | ||
394 | } | 411 | } | ||
395 | positionSeekUpdateHandler.removeCallbacks(positionSeekUpdateRunnable); | 412 | positionSeekUpdateHandler.removeCallbacks(positionSeekUpdateRunnable); | ||
396 | positionSeekUpdateHandler.postDelayed(positionSeekUpdateRunnable, 1000); | 413 | positionSeekUpdateHandler.postDelayed(positionSeekUpdateRunnable, 1000); | ||
397 | } | 414 | } | ||
398 | }); | 415 | }); | ||
399 | } | 416 | } | ||
400 | 417 | | |||
401 | }; | 418 | }; | ||
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… | |||||
402 | positionSeekUpdateHandler.postDelayed(positionSeekUpdateRunnable, 200); | 419 | positionSeekUpdateHandler.postDelayed(positionSeekUpdateRunnable, 200); | ||
403 | 420 | | |||
404 | ((SeekBar)findViewById(R.id.positionSeek)).setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { | 421 | ((SeekBar)findViewById(R.id.positionSeek)).setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { | ||
405 | @Override | 422 | @Override | ||
406 | public void onProgressChanged(SeekBar seekBar, int progress, boolean byUser) { | 423 | public void onProgressChanged(SeekBar seekBar, int progress, boolean byUser) { | ||
407 | ((TextView)findViewById(R.id.progress_textview)).setText(milisToProgress(progress)); | 424 | ((TextView)findViewById(R.id.progress_textview)).setText(milisToProgress(progress)); | ||
408 | } | 425 | } | ||
409 | 426 | | |||
Show All 27 Lines | |||||
437 | } | 454 | } | ||
438 | 455 | | |||
439 | @Override | 456 | @Override | ||
440 | protected void onStop() { | 457 | protected void onStop() { | ||
441 | super.onStop(); | 458 | super.onStop(); | ||
442 | BackgroundService.removeGuiInUseCounter(this); | 459 | BackgroundService.removeGuiInUseCounter(this); | ||
443 | } | 460 | } | ||
444 | 461 | | |||
462 | | ||||
445 | } | 463 | } |
Should use a check if it's available.