[tor-commits] [orbot/master] put threading of settings reload into TorService
n8fr8 at torproject.org
n8fr8 at torproject.org
Mon Dec 30 03:15:21 UTC 2013
commit 8722db9f2dd188a4018e76a73ae3616d4fa5995e
Author: Nathan Freitas <nathan at freitas.net>
Date: Sat Dec 28 01:07:54 2013 -0500
put threading of settings reload into TorService
---
src/org/torproject/android/Orbot.java | 31 ++++++------------
src/org/torproject/android/service/TorService.java | 33 +++++++++++---------
.../android/settings/ProcessSettingsAsyncTask.java | 32 -------------------
3 files changed, 27 insertions(+), 69 deletions(-)
diff --git a/src/org/torproject/android/Orbot.java b/src/org/torproject/android/Orbot.java
index 9b1d6d8..15a3a1c 100644
--- a/src/org/torproject/android/Orbot.java
+++ b/src/org/torproject/android/Orbot.java
@@ -9,7 +9,6 @@ import org.torproject.android.service.ITorService;
import org.torproject.android.service.ITorServiceCallback;
import org.torproject.android.service.TorService;
import org.torproject.android.service.TorServiceConstants;
-import org.torproject.android.settings.ProcessSettingsAsyncTask;
import org.torproject.android.settings.SettingsPreferences;
import org.torproject.android.wizard.ChooseLocaleWizardActivity;
import org.torproject.android.wizard.TipsAndTricks;
@@ -83,27 +82,9 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
- //this is not the best thing to do, but we sometimes have to do strange things with Orbot
- /*
- if (android.os.Build.VERSION.SDK_INT > 9) {
- StrictMode.ThreadPolicy policy =
- new StrictMode.ThreadPolicy.Builder().permitAll().build();
- StrictMode.setThreadPolicy(policy);
- StrictMode.VmPolicy vmpolicy =
- new StrictMode.VmPolicy.Builder().penaltyLog().build();
- StrictMode.setVmPolicy(vmpolicy);
- }
- */
- //Kill tor if the button stop tor (in the notification) was clicked!
- //Same code needs to be executed in onResume
-
+
mPrefs = getPrefs();
mPrefs.registerOnSharedPreferenceChangeListener(this);
-
- //if Tor binary is not running, then start the service up
- //might want to look at whether we need to call this every time
- //or whether binding to the service is enough
setLocale();
@@ -671,8 +652,14 @@ public class Orbot extends SherlockActivity implements TorConstants, OnLongClick
if (requestCode == 1 && mService != null)
{
- new ProcessSettingsAsyncTask().execute(mService);
- setLocale();
+ try {
+ mService.processSettings();
+ setLocale();
+
+ } catch (RemoteException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
}
diff --git a/src/org/torproject/android/service/TorService.java b/src/org/torproject/android/service/TorService.java
index af4198e..0d4982e 100644
--- a/src/org/torproject/android/service/TorService.java
+++ b/src/org/torproject/android/service/TorService.java
@@ -101,8 +101,8 @@ public class TorService extends Service implements TorServiceConstants, TorConst
private static int notificationCounter = 0;
private NotificationManager mNotificationManager = null;
-
-
+ private Builder mNotifyBuilder;
+
public void logMessage(String msg)
{
if (ENABLE_DEBUG_LOG)
@@ -199,8 +199,6 @@ public class TorService extends Service implements TorServiceConstants, TorConst
}
-
- @SuppressLint("NewApi")
private void showToolbarNotification (String notifyMsg, int notifyId, int icon, int flags)
{
@@ -1004,9 +1002,7 @@ public class TorService extends Service implements TorServiceConstants, TorConst
}
}
- Builder mNotifyBuilder;
-
- @SuppressLint("NewApi")
+
private void startNotification (String message, boolean persistent)
{
//Reusable code.
@@ -1284,16 +1280,23 @@ public class TorService extends Service implements TorServiceConstants, TorConst
public void processSettings ()
{
+ Thread thread = new Thread()
+ {
- try {
-
- processSettingsImpl ();
-
-
- } catch (Exception e) {
- logException ("error applying mPrefs",e);
- }
+ public void run ()
+ {
+ try {
+
+ processSettingsImpl ();
+
+
+ } catch (Exception e) {
+ logException ("error applying mPrefs",e);
+ }
+ }
+ };
+ thread.start();
}
diff --git a/src/org/torproject/android/settings/ProcessSettingsAsyncTask.java b/src/org/torproject/android/settings/ProcessSettingsAsyncTask.java
deleted file mode 100644
index 5e14709..0000000
--- a/src/org/torproject/android/settings/ProcessSettingsAsyncTask.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.torproject.android.settings;
-
-import org.torproject.android.service.ITorService;
-
-import android.os.AsyncTask;
-import android.os.RemoteException;
-
-public class ProcessSettingsAsyncTask extends AsyncTask<ITorService, Integer, Long>
-{
-
-
- @Override
- protected Long doInBackground(ITorService... torService) {
-
- try {
- torService[0].processSettings();
- } catch (RemoteException e) {
- e.printStackTrace();
- }
-
- return 100L;
- }
-
- protected void onProgressUpdate(Integer... progress) {
-
- }
-
- protected void onPostExecute(Long result) {
-
- }
-
-}
More information about the tor-commits
mailing list