From 697f5aa2f1c7e1eb07282644edc9a609b4b51304 Mon Sep 17 00:00:00 2001 From: Nathan Freitas Date: Sun, 26 Feb 2012 22:47:25 -0500 Subject: [PATCH] fixed OnBoot issue with unintended service starting --- .../torproject/android/OnBootReceiver.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/org/torproject/android/OnBootReceiver.java b/src/org/torproject/android/OnBootReceiver.java index dbc66a77..59de2408 100644 --- a/src/org/torproject/android/OnBootReceiver.java +++ b/src/org/torproject/android/OnBootReceiver.java @@ -5,6 +5,8 @@ import org.torproject.android.service.TorService; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.preference.PreferenceManager; public class OnBootReceiver extends BroadcastReceiver { @@ -14,11 +16,18 @@ public class OnBootReceiver extends BroadcastReceiver { if (intent.getAction() != null && intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { - //Phase 1: Launch a service - Intent service = new Intent(); - service.setAction("onboot"); - service.setClass(context, TorService.class); - context.startService(service); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + + boolean startOnBoot = prefs.getBoolean("pref_start_boot",false); + + if (startOnBoot) + { + //Phase 1: Launch a service + Intent service = new Intent(); + service.setAction("onboot"); + service.setClass(context, TorService.class); + context.startService(service); + } }