Fixed NPE in the VolumeControllerDialog (#553)
The applicationObserver was never unregistered resulting in a memory leak and even worse, crashes when destroyed dialogs still got called through the applicationOnVolumeChanged callback. Also changed the view resource identifiers used by the controller dialog as it used the same resource identifiers as the now playing panel.
This commit is contained in:
parent
16b4044edf
commit
e0f99c93c4
|
@ -36,9 +36,9 @@ public class VolumeControllerDialogFragmentListener extends AppCompatDialogFragm
|
||||||
private static final String TAG = LogUtils.makeLogTag(VolumeControllerDialogFragmentListener.class);
|
private static final String TAG = LogUtils.makeLogTag(VolumeControllerDialogFragmentListener.class);
|
||||||
private static final int AUTO_DISMISS_DELAY = 2000;
|
private static final int AUTO_DISMISS_DELAY = 2000;
|
||||||
|
|
||||||
@BindView(R.id.npp_volume_mute) HighlightButton volumeMuteButton;
|
@BindView(R.id.vcd_volume_mute) HighlightButton volumeMuteButton;
|
||||||
@BindView(R.id.npp_volume_muted_indicator) HighlightButton volumeMutedIndicatorButton;
|
@BindView(R.id.vcd_volume_muted_indicator) HighlightButton volumeMutedIndicatorButton;
|
||||||
@BindView(R.id.npp_volume_level_indicator) VolumeLevelIndicator volumeLevelIndicator;
|
@BindView(R.id.vcd_volume_level_indicator) VolumeLevelIndicator volumeLevelIndicator;
|
||||||
|
|
||||||
private Unbinder unbinder;
|
private Unbinder unbinder;
|
||||||
private Handler callbackHandler = new Handler();
|
private Handler callbackHandler = new Handler();
|
||||||
|
@ -125,6 +125,11 @@ public class VolumeControllerDialogFragmentListener extends AppCompatDialogFragm
|
||||||
@Override
|
@Override
|
||||||
public void onDestroyView() {
|
public void onDestroyView() {
|
||||||
super.onDestroyView();
|
super.onDestroyView();
|
||||||
|
|
||||||
|
HostConnectionObserver hostConnectionObserver = hostManager.getHostConnectionObserver();
|
||||||
|
if (hostConnectionObserver != null) {
|
||||||
|
hostConnectionObserver.unregisterApplicationObserver(this);
|
||||||
|
}
|
||||||
unbinder.unbind();
|
unbinder.unbind();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
tools:background="@color/dark_content_background_dim_70pct">
|
tools:background="@color/dark_content_background_dim_70pct">
|
||||||
|
|
||||||
<org.xbmc.kore.ui.widgets.HighlightButton
|
<org.xbmc.kore.ui.widgets.HighlightButton
|
||||||
android:id="@+id/npp_volume_mute"
|
android:id="@+id/vcd_volume_mute"
|
||||||
style="@style/Widget.Button.Borderless"
|
style="@style/Widget.Button.Borderless"
|
||||||
android:layout_width="@dimen/default_icon_size"
|
android:layout_width="@dimen/default_icon_size"
|
||||||
android:layout_height="@dimen/default_icon_size"
|
android:layout_height="@dimen/default_icon_size"
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
tools:src="@drawable/ic_volume_off_white_24dp" />
|
tools:src="@drawable/ic_volume_off_white_24dp" />
|
||||||
|
|
||||||
<org.xbmc.kore.ui.widgets.HighlightButton
|
<org.xbmc.kore.ui.widgets.HighlightButton
|
||||||
android:id="@+id/npp_volume_muted_indicator"
|
android:id="@+id/vcd_volume_muted_indicator"
|
||||||
style="@style/Widget.Button.Borderless"
|
style="@style/Widget.Button.Borderless"
|
||||||
android:layout_width="@dimen/default_icon_size"
|
android:layout_width="@dimen/default_icon_size"
|
||||||
android:layout_height="@dimen/default_icon_size"
|
android:layout_height="@dimen/default_icon_size"
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
tools:src="@drawable/ic_volume_off_white_24dp" />
|
tools:src="@drawable/ic_volume_off_white_24dp" />
|
||||||
|
|
||||||
<org.xbmc.kore.ui.widgets.VolumeLevelIndicator
|
<org.xbmc.kore.ui.widgets.VolumeLevelIndicator
|
||||||
android:id="@+id/npp_volume_level_indicator"
|
android:id="@+id/vcd_volume_level_indicator"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
|
|
Loading…
Reference in New Issue