<table><tr><td style="">mtijink requested changes to this revision.<br />mtijink added a comment.<br />This revision now requires changes to proceed.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7993">View Revision</a></tr></table><br /><div><div><p>I added a couple of code comments.</p>

<p>In general: this doesn't fit in the MPRIS controls on landscape mode (I'd say at most one slider fits).</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57662">View Inline</a><span style="color: #4b4d51; font-weight: bold;">mpris_control.xml:162</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #00702a"><fragment</span> <span style="color: #354bb3">android:name=</span><span style="color: #766510">"org.kde.kdeconnect.Plugins.SystemvolumePlugin.SystemvolumeFragment"</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #354bb3">android:id=</span><span style="color: #766510">"@+id/systemvolume_fragment"</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Does this work if the system volume plugin is disabled?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57661">View Inline</a><span style="color: #4b4d51; font-weight: bold;">strings.xml:239</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #00702a"><string</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"systemvolume_label"</span><span style="color: #00702a">></span>System volume:<span style="color: #00702a"></string></span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #00702a"><string</span> <span style="color: #354bb3">name=</span><span style="color: #766510">"pref_plugin_systemvolume"</span><span style="color: #00702a">></span>System volume<span style="color: #00702a"></string></span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I'd drop the colon.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57663">View Inline</a><span style="color: #4b4d51; font-weight: bold;">MprisActivity.java:95</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span class="n">addSytemvolumeFragment</span><span style="color: #aa2211">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Should use a check if it's available.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57664">View Inline</a><span style="color: #4b4d51; font-weight: bold;">Sink.java:90</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">int</span> <span style="color: #004012">getMaxVolume</span><span style="color: #aa2211">()</span> <span style="color: #aa2211">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">return</span> <span class="n">maxVolume</span><span style="color: #aa2211">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">No <tt style="background: #ebebeb; font-size: 13px;">setMaxVolume</tt>?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57665">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumeFragment.java:79</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span class="n">Device</span> <span class="n">device</span> <span style="color: #aa2211">=</span> <span class="n">service</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getDevice</span><span style="color: #aa2211">(</span><span class="n">deviceId</span><span style="color: #aa2211">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span class="n">plugin</span> <span style="color: #aa2211">=</span> <span class="n">device</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getPlugin</span><span style="color: #aa2211">(</span><span class="n">SystemvolumePlugin</span><span style="color: #aa2211">.</span><span style="color: #354bb3">class</span><span style="color: #aa2211">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Check for <tt style="background: #ebebeb; font-size: 13px;">null</tt> device too.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57667">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumeFragment.java:105</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa4000">for</span> <span style="color: #aa2211">(</span><span class="n">Sink</span> <span class="n">sink</span> <span style="color: #aa2211">:</span> <span class="n">plugin</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getSinks</span><span style="color: #aa2211">())</span> <span style="color: #aa2211">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">sink</span><span style="color: #aa2211">.</span><span style="color: #354bb3">addListener</span><span style="color: #aa2211">(</span><span class="n">SystemvolumeFragment</span><span style="color: #aa2211">.</span><span style="color: #354bb3">this</span><span style="color: #aa2211">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa2211">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">What about old sinks? Now you're subscribing twice.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57668">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumeFragment.java:135</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">seekBar</span><span style="color: #aa2211">.</span><span style="color: #354bb3">setMax</span><span style="color: #aa2211">(</span><span class="n">getItem</span><span style="color: #aa2211">(</span><span class="n">position</span><span style="color: #aa2211">).</span><span style="color: #354bb3">getMaxVolume</span><span style="color: #aa2211">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">seekBar</span><span style="color: #aa2211">.</span><span style="color: #354bb3">setProgress</span><span style="color: #aa2211">(</span><span class="n">getItem</span><span style="color: #aa2211">(</span><span class="n">position</span><span style="color: #aa2211">).</span><span style="color: #354bb3">getVolume</span><span style="color: #aa2211">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">seekBar</span><span style="color: #aa2211">.</span><span style="color: #354bb3">setOnSeekBarChangeListener</span><span style="color: #aa2211">(</span><span class="n">listener</span><span style="color: #aa2211">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Shouldn't it display 0 volume if it's muted?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57669">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumePlugin.java:39</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">    <span style="color: #aa4000">private</span> <span style="color: #aa4000">final</span> <span style="color: #aa4000">static</span> <span class="n">String</span> <span class="n">PACKET_TYPE_SYSTEMVOLUME</span> <span style="color: #aa2211">=</span> <span style="color: #766510">"kdeconnect.systemvolume"</span><span style="color: #aa2211">;</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Did you split this into remote/local requests? Because we can't control the Android volume yet, and also cannot control from the desktop.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57678">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumePlugin.java:68</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">Log</span><span style="color: #aa2211">.</span><span style="color: #354bb3">d</span><span style="color: #aa2211">(</span><span style="color: #766510">"SinkList"</span><span style="color: #aa2211">,</span> <span style="color: #766510">"received"</span><span style="color: #aa2211">);</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">Log</span><span style="color: #aa2211">.</span><span style="color: #354bb3">d</span><span style="color: #aa2211">(</span><span style="color: #766510">"SinkList"</span><span style="color: #aa2211">,</span> <span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getJSONArray</span><span style="color: #aa2211">(</span><span style="color: #766510">"sinkList"</span><span style="color: #aa2211">).</span><span style="color: #354bb3">toString</span><span style="color: #aa2211">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">sinks</span><span style="color: #aa2211">.</span><span style="color: #354bb3">clear</span><span style="color: #aa2211">();</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Leftover <tt style="background: #ebebeb; font-size: 13px;">Log</tt>s?</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57679">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumePlugin.java:74</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                <span style="color: #aa4000">for</span> <span style="color: #aa2211">(</span><span style="color: #aa4000">int</span> <span class="n">i</span> <span style="color: #aa2211">=</span> <span style="color: #601200">0</span><span style="color: #aa2211">;</span> <span class="n">i</span> <span style="color: #aa2211"><</span> <span class="n">sinkArray</span><span style="color: #aa2211">.</span><span style="color: #354bb3">length</span><span style="color: #aa2211">();</span> <span class="n">i</span><span style="color: #aa2211">++)</span> <span style="color: #aa2211">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                    <span class="n">JSONObject</span> <span class="n">sinkObj</span> <span style="color: #aa2211">=</span> <span class="n">sinkArray</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getJSONObject</span><span style="color: #aa2211">(</span><span class="n">i</span><span style="color: #aa2211">);</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">You can use a for in loop.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57680">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumePlugin.java:88</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa2211">}</span> <span style="color: #aa4000">else</span> <span style="color: #aa4000">if</span> <span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">has</span><span style="color: #aa2211">(</span><span style="color: #766510">"volume"</span><span style="color: #aa2211">))</span> <span style="color: #aa2211">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">sinks</span><span style="color: #aa2211">.</span><span style="color: #354bb3">get</span><span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getString</span><span style="color: #aa2211">(</span><span style="color: #766510">"name"</span><span style="color: #aa2211">)).</span><span style="color: #354bb3">setVolume</span><span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getInt</span><span style="color: #aa2211">(</span><span style="color: #766510">"volume"</span><span style="color: #aa2211">));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa2211">}</span> <span style="color: #aa4000">else</span> <span style="color: #aa4000">if</span> <span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">has</span><span style="color: #aa2211">(</span><span style="color: #766510">"muted"</span><span style="color: #aa2211">))</span> <span style="color: #aa2211">{</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Should have a check on the sink name.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D7993#inline-57681">View Inline</a><span style="color: #4b4d51; font-weight: bold;">SystemvolumePlugin.java:90</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa2211">}</span> <span style="color: #aa4000">else</span> <span style="color: #aa4000">if</span> <span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">has</span><span style="color: #aa2211">(</span><span style="color: #766510">"muted"</span><span style="color: #aa2211">))</span> <span style="color: #aa2211">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">            <span class="n">sinks</span><span style="color: #aa2211">.</span><span style="color: #354bb3">get</span><span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getString</span><span style="color: #aa2211">(</span><span style="color: #766510">"name"</span><span style="color: #aa2211">)).</span><span style="color: #354bb3">setMute</span><span style="color: #aa2211">(</span><span class="n">np</span><span style="color: #aa2211">.</span><span style="color: #354bb3">getBoolean</span><span style="color: #aa2211">(</span><span style="color: #766510">"muted"</span><span style="color: #aa2211">));</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">        <span style="color: #aa2211">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">Here too.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R225 KDE Connect - Android application</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7993">https://phabricator.kde.org/D7993</a></div></div><br /><div><strong>To: </strong>nicolasfella, KDE Connect, mtijink<br /><strong>Cc: </strong>Murz, mtijink, KDE Connect, adeen-s, SemperPeritus, ahmedbesbes, daniel.z.tg, jeanv, seebauer, bugzy, MayeulC, menasshock, ach, apol<br /></div>