From 5d995aa8c8c4fd2edc16827188df31410a45280d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 6 May 2014 11:55:17 -0400 Subject: [PATCH] move LocalRepoService's Handler to a static subclass This fixes this lint error: "This Handler class should be static or leaks might occur" --- .../fdroid/localrepo/LocalRepoService.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/org/fdroid/fdroid/localrepo/LocalRepoService.java b/src/org/fdroid/fdroid/localrepo/LocalRepoService.java index 3a92b4cc4..71d4ddf24 100644 --- a/src/org/fdroid/fdroid/localrepo/LocalRepoService.java +++ b/src/org/fdroid/fdroid/localrepo/LocalRepoService.java @@ -42,21 +42,29 @@ public class LocalRepoService extends Service { public static int STOP = 12345678; public static int RESTART = 87654; - final Messenger messenger = new Messenger(new Handler() { + final Messenger messenger = new Messenger(new StartStopHandler(this)); + + static class StartStopHandler extends Handler { + private static LocalRepoService service; + + public StartStopHandler(LocalRepoService service) { + StartStopHandler.service = service; + } + @Override public void handleMessage(Message msg) { if (msg.arg1 == START) { - startWebServer(); + service.startWebServer(); } else if (msg.arg1 == STOP) { - stopWebServer(); + service.stopWebServer(); } else if (msg.arg1 == RESTART) { - stopWebServer(); - startWebServer(); + service.stopWebServer(); + service.startWebServer(); } else { Log.e(TAG, "unsupported msg.arg1, ignored"); } } - }); + } private BroadcastReceiver onWifiChange = new BroadcastReceiver() { @Override