diff --git a/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java b/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java index 1869505..3809c77 100644 --- a/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java +++ b/app/src/main/java/org/xbmc/kore/host/HostConnectionObserver.java @@ -16,6 +16,7 @@ package org.xbmc.kore.host; import android.os.Handler; +import android.os.Looper; import org.xbmc.kore.jsonrpc.ApiCallback; import org.xbmc.kore.jsonrpc.HostConnection; @@ -145,7 +146,8 @@ public class HostConnectionObserver // */ // private Map observerHandlerMap = new HashMap(); - private Handler checkerHandler = new Handler(); + // Associate the Handler with the UI thread + private Handler checkerHandler = new Handler(Looper.getMainLooper()); private Runnable httpPlayerCheckerRunnable = new Runnable() { @Override public void run() { diff --git a/app/src/main/java/org/xbmc/kore/ui/generic/VolumeControllerDialogFragmentListener.java b/app/src/main/java/org/xbmc/kore/ui/generic/VolumeControllerDialogFragmentListener.java index 0fabf72..6d3141a 100644 --- a/app/src/main/java/org/xbmc/kore/ui/generic/VolumeControllerDialogFragmentListener.java +++ b/app/src/main/java/org/xbmc/kore/ui/generic/VolumeControllerDialogFragmentListener.java @@ -124,12 +124,12 @@ public class VolumeControllerDialogFragmentListener extends AppCompatDialogFragm @Override public void onDestroyView() { + super.onDestroyView(); HostConnectionObserver hostConnectionObserver = hostManager.getHostConnectionObserver(); if (hostConnectionObserver != null) { hostConnectionObserver.unregisterApplicationObserver(this); } unbinder.unbind(); - super.onDestroyView(); } private void registerObserver() { diff --git a/app/src/main/java/org/xbmc/kore/ui/widgets/VolumeLevelIndicator.java b/app/src/main/java/org/xbmc/kore/ui/widgets/VolumeLevelIndicator.java index 09bdfb9..07f2ee6 100644 --- a/app/src/main/java/org/xbmc/kore/ui/widgets/VolumeLevelIndicator.java +++ b/app/src/main/java/org/xbmc/kore/ui/widgets/VolumeLevelIndicator.java @@ -24,18 +24,20 @@ import android.widget.SeekBar; import android.widget.TextView; import org.xbmc.kore.R; +import org.xbmc.kore.utils.LogUtils; import butterknife.ButterKnife; import butterknife.BindView; import butterknife.Unbinder; public class VolumeLevelIndicator extends LinearLayout { + public static final String TAG = LogUtils.makeLogTag(VolumeLevelIndicator.class); + @BindView(R.id.vli_seek_bar) SeekBar volumeSeekBar; @BindView(R.id.vli_volume_text) TextView volumeTextView; private OnVolumeChangeListener onVolumeChangeListener; private VolumeBarTouchTrackerListener volumeBarTouchTrackerListener; - private Unbinder unbinder; public interface OnVolumeChangeListener { void onVolumeChanged(int volume); @@ -64,7 +66,6 @@ public class VolumeLevelIndicator extends LinearLayout { @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); - unbinder.unbind(); onVolumeChangeListener = null; volumeBarTouchTrackerListener = null; } @@ -72,7 +73,7 @@ public class VolumeLevelIndicator extends LinearLayout { private void initializeView(Context context) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.volume_level_indicator, this); - unbinder = ButterKnife.bind(view); + ButterKnife.bind(view); volumeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override