diff options
author | Artur Dryomov <artur.dryomov@gmail.com> | 2013-09-13 02:23:03 +0300 |
---|---|---|
committer | Artur Dryomov <artur.dryomov@gmail.com> | 2013-09-13 02:44:00 +0300 |
commit | dd887afe211fa85bcbc49541d3772d167ebbae48 (patch) | |
tree | 4b69a0e8c46b63665edc4fd01fbf053ebc7baf9e /android/sdremote | |
parent | ec49173e3a566b0b29f4571c2bf44afb0a2a080e (diff) |
Move the service binder to a static inner class.
Should help to avoid potential memory leaks.
Change-Id: Ic9518af17d818eb439358cb86afa03e80ab9799e
Diffstat (limited to 'android/sdremote')
6 files changed, 18 insertions, 12 deletions
diff --git a/android/sdremote/src/org/libreoffice/impressremote/activity/SlideShowActivity.java b/android/sdremote/src/org/libreoffice/impressremote/activity/SlideShowActivity.java index 2d611340f8a7..b7c9e6dcf4c4 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/activity/SlideShowActivity.java +++ b/android/sdremote/src/org/libreoffice/impressremote/activity/SlideShowActivity.java @@ -111,7 +111,7 @@ public class SlideShowActivity extends SherlockFragmentActivity implements Servi @Override public void onServiceConnected(ComponentName mComponentName, IBinder aBinder) { - CommunicationService.CBinder aServiceBinder = (CommunicationService.CBinder) aBinder; + CommunicationService.ServiceBinder aServiceBinder = (CommunicationService.ServiceBinder) aBinder; mCommunicationService = aServiceBinder.getService(); startSlideShow(); diff --git a/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java b/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java index b4285f100cf3..ea03e5272325 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java +++ b/android/sdremote/src/org/libreoffice/impressremote/communication/CommunicationService.java @@ -20,6 +20,18 @@ import org.libreoffice.impressremote.util.BluetoothOperator; import org.libreoffice.impressremote.util.Intents; public class CommunicationService extends Service implements Runnable, MessagesListener, Timer.TimerListener { + public static final class ServiceBinder extends Binder { + private final CommunicationService mCommunicationService; + + public ServiceBinder(CommunicationService aCommunicationService) { + mCommunicationService = aCommunicationService; + } + + public CommunicationService getService() { + return mCommunicationService; + } + } + private IBinder mBinder; private ServersManager mServersManager; @@ -37,7 +49,7 @@ public class CommunicationService extends Service implements Runnable, MessagesL @Override public void onCreate() { - mBinder = new CBinder(); + mBinder = new ServiceBinder(this); mServersManager = new ServersManager(this); @@ -48,12 +60,6 @@ public class CommunicationService extends Service implements Runnable, MessagesL mSlideShow = new SlideShow(mTimer); } - public class CBinder extends Binder { - public CommunicationService getService() { - return CommunicationService.this; - } - } - private void saveBluetoothState() { mBluetoothState = BluetoothOperator.getState(); } diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java index ec0eeb5d1ff5..b1ddc76c69be 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java +++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java @@ -135,7 +135,7 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv @Override public void onServiceConnected(ComponentName aComponentName, IBinder aBinder) { - CommunicationService.CBinder aServiceBinder = (CommunicationService.CBinder) aBinder; + CommunicationService.ServiceBinder aServiceBinder = (CommunicationService.ServiceBinder) aBinder; mCommunicationService = aServiceBinder.getService(); connectComputer(); diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java index 0c70f52b9b44..3ea19ce37124 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java +++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java @@ -124,7 +124,7 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo @Override public void onServiceConnected(ComponentName aComponentName, IBinder aBinder) { - CommunicationService.CBinder aServiceBinder = (CommunicationService.CBinder) aBinder; + CommunicationService.ServiceBinder aServiceBinder = (CommunicationService.ServiceBinder) aBinder; mCommunicationService = aServiceBinder.getService(); startComputersSearch(); diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesGridFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesGridFragment.java index 616fe40f1a81..1d32ed30430e 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesGridFragment.java +++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesGridFragment.java @@ -57,7 +57,7 @@ public class SlidesGridFragment extends SherlockFragment implements ServiceConne @Override public void onServiceConnected(ComponentName aComponentName, IBinder aBinder) { - CommunicationService.CBinder aServiceBinder = (CommunicationService.CBinder) aBinder; + CommunicationService.ServiceBinder aServiceBinder = (CommunicationService.ServiceBinder) aBinder; mCommunicationService = aServiceBinder.getService(); setUpSlidesGrid(); diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java index 29de2940ed1b..a655b33af670 100644 --- a/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java +++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/SlidesPagerFragment.java @@ -61,7 +61,7 @@ public class SlidesPagerFragment extends SherlockFragment implements ServiceConn @Override public void onServiceConnected(ComponentName aComponentName, IBinder aBinder) { - CommunicationService.CBinder aServiceBinder = (CommunicationService.CBinder) aBinder; + CommunicationService.ServiceBinder aServiceBinder = (CommunicationService.ServiceBinder) aBinder; mCommunicationService = aServiceBinder.getService(); setUpSlidesPager(); |