Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: src/org/adblockplus/android/ProxyService.java

Issue 8959056: android: notification icon option (Closed)
Patch Set: Created Nov. 28, 2012, 8:19 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of the Adblock Plus, 2 * This file is part of the Adblock Plus,
3 * Copyright (C) 2006-2012 Eyeo GmbH 3 * Copyright (C) 2006-2012 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 22 matching lines...) Expand all
33 import android.app.NotificationManager; 33 import android.app.NotificationManager;
34 import android.app.PendingIntent; 34 import android.app.PendingIntent;
35 import android.app.Service; 35 import android.app.Service;
36 import android.content.BroadcastReceiver; 36 import android.content.BroadcastReceiver;
37 import android.content.Context; 37 import android.content.Context;
38 import android.content.Intent; 38 import android.content.Intent;
39 import android.content.IntentFilter; 39 import android.content.IntentFilter;
40 import android.content.SharedPreferences; 40 import android.content.SharedPreferences;
41 import android.content.SharedPreferences.OnSharedPreferenceChangeListener; 41 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
42 import android.content.pm.PackageManager.NameNotFoundException; 42 import android.content.pm.PackageManager.NameNotFoundException;
43 import android.content.res.Resources;
43 import android.net.ConnectivityManager; 44 import android.net.ConnectivityManager;
44 import android.net.NetworkInfo; 45 import android.net.NetworkInfo;
45 import android.os.Binder; 46 import android.os.Binder;
46 import android.os.Build; 47 import android.os.Build;
47 import android.os.Handler; 48 import android.os.Handler;
48 import android.os.IBinder; 49 import android.os.IBinder;
49 import android.preference.PreferenceManager; 50 import android.preference.PreferenceManager;
50 import android.util.Log; 51 import android.util.Log;
51 import android.widget.Toast; 52 import android.widget.Toast;
52 53
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 108
108 private String iptables = null; 109 private String iptables = null;
109 110
110 @Override 111 @Override
111 public void onCreate() 112 public void onCreate()
112 { 113 {
113 super.onCreate(); 114 super.onCreate();
114 115
115 // Get port for local proxy 116 // Get port for local proxy
116 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this ); 117 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this );
118 Resources resources = getResources();
117 String p = prefs.getString(getString(R.string.pref_port), null); 119 String p = prefs.getString(getString(R.string.pref_port), null);
118 try 120 try
119 { 121 {
120 port = p != null ? Integer.valueOf(p) : getResources().getInteger(R.intege r.def_port); 122 port = p != null ? Integer.valueOf(p) : resources.getInteger(R.integer.def _port);
121 } 123 }
122 catch (NumberFormatException e) 124 catch (NumberFormatException e)
123 { 125 {
124 Toast.makeText(this, getString(R.string.msg_badport) + ": " + p, Toast.LEN GTH_LONG).show(); 126 Toast.makeText(this, getString(R.string.msg_badport) + ": " + p, Toast.LEN GTH_LONG).show();
125 port = getResources().getInteger(R.integer.def_port); 127 port = getResources().getInteger(R.integer.def_port);
126 } 128 }
127 129
128 // Try to read user proxy settings 130 // Try to read user proxy settings
129 String proxyHost = null; 131 String proxyHost = null;
130 String proxyPort = null; 132 String proxyPort = null;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 256
255 prefs.registerOnSharedPreferenceChangeListener(this); 257 prefs.registerOnSharedPreferenceChangeListener(this);
256 258
257 String msg = getString(transparent ? R.string.notif_all : nativeProxy ? R.st ring.notif_wifi : R.string.notif_waiting); 259 String msg = getString(transparent ? R.string.notif_all : nativeProxy ? R.st ring.notif_wifi : R.string.notif_waiting);
258 if (!transparent && !nativeProxy) 260 if (!transparent && !nativeProxy)
259 { 261 {
260 // Initiate no traffic check 262 // Initiate no traffic check
261 notrafficHandler = new Handler(); 263 notrafficHandler = new Handler();
262 notrafficHandler.postDelayed(noTraffic, NO_TRAFFIC_TIMEOUT); 264 notrafficHandler.postDelayed(noTraffic, NO_TRAFFIC_TIMEOUT);
263 } 265 }
264 // Lock service 266 // Prepare notification
265 ongoingNotification = new Notification(); 267 ongoingNotification = new Notification();
266 ongoingNotification.when = 0; 268 ongoingNotification.when = 0;
267 contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Preferen ces.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TA SK), 0); 269 contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Preferen ces.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TA SK), 0);
268 ongoingNotification.icon = R.drawable.ic_stat_blocking; 270 ongoingNotification.icon = R.drawable.ic_stat_blocking;
269 ongoingNotification.setLatestEventInfo(getApplicationContext(), getText(R.st ring.app_name), msg, contentIntent); 271 ongoingNotification.setLatestEventInfo(getApplicationContext(), getText(R.st ring.app_name), msg, contentIntent);
270 272
273 // Lock service
274 if (prefs.getBoolean(getString(R.string.pref_priority), resources.getBoolean (R.bool.def_priority)))
275 {
276 startForeground(ONGOING_NOTIFICATION_ID, ongoingNotification);
277 }
278
271 sendBroadcast(new Intent(BROADCAST_STATE_CHANGED).putExtra("enabled", true). putExtra("port", port).putExtra("manual", isManual())); 279 sendBroadcast(new Intent(BROADCAST_STATE_CHANGED).putExtra("enabled", true). putExtra("port", port).putExtra("manual", isManual()));
272 Log.i(TAG, "Service started"); 280 Log.i(TAG, "Service started");
273 } 281 }
274 282
275 @Override 283 @Override
284 public int onStartCommand(Intent intent, int flags, int startId)
285 {
286 return START_STICKY;
287 }
288
289 @Override
276 public void onDestroy() 290 public void onDestroy()
277 { 291 {
278 super.onDestroy(); 292 super.onDestroy();
279 293
280 stopNoTrafficCheck(false); 294 stopNoTrafficCheck(false);
281 295
282 unregisterReceiver(matchesReceiver); 296 unregisterReceiver(matchesReceiver);
283 unregisterReceiver(proxyReceiver); 297 unregisterReceiver(proxyReceiver);
284 298
285 // Stop IP redirecting 299 // Stop IP redirecting
(...skipping 24 matching lines...) Expand all
310 324
311 sendBroadcast(new Intent(BROADCAST_STATE_CHANGED).putExtra("enabled", false) ); 325 sendBroadcast(new Intent(BROADCAST_STATE_CHANGED).putExtra("enabled", false) );
312 326
313 // Stop proxy server 327 // Stop proxy server
314 if (proxy != null) 328 if (proxy != null)
315 proxy.close(); 329 proxy.close();
316 330
317 // Stop engine if not in interactive mode 331 // Stop engine if not in interactive mode
318 AdblockPlus.getApplication().stopEngine(false); 332 AdblockPlus.getApplication().stopEngine(false);
319 333
334 // Release service lock
335 stopForeground(true);
336
320 Log.i(TAG, "Service stopped"); 337 Log.i(TAG, "Service stopped");
321 } 338 }
322 339
323 /** 340 /**
324 * Restores system proxy settings via native call on Android 3.1+ devices usin g 341 * Restores system proxy settings via native call on Android 3.1+ devices usin g
325 * Java reflection. 342 * Java reflection.
326 */ 343 */
327 private void clearConnectionProxy() 344 private void clearConnectionProxy()
328 { 345 {
329 String proxyHost = (String) proxy.props.getProperty("adblock.proxyHost"); 346 String proxyHost = (String) proxy.props.getProperty("adblock.proxyHost");
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 } 436 }
420 catch (ClassCastException e) 437 catch (ClassCastException e)
421 { 438 {
422 // ignore - default handler in use 439 // ignore - default handler in use
423 } 440 }
424 } 441 }
425 442
426 @Override 443 @Override
427 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Str ing key) 444 public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Str ing key)
428 { 445 {
446 if (getString(R.string.pref_priority).equals(key))
447 {
448 if (sharedPreferences.getBoolean(key, false))
449 {
450 startForeground(ONGOING_NOTIFICATION_ID, ongoingNotification);
451 }
452 else
453 {
454 stopForeground(true);
455 }
456 return;
457 }
429 if (hasNativeProxy) 458 if (hasNativeProxy)
430 { 459 {
431 String ketHost = getString(R.string.pref_proxyhost); 460 String ketHost = getString(R.string.pref_proxyhost);
432 String keyPort = getString(R.string.pref_proxyport); 461 String keyPort = getString(R.string.pref_proxyport);
433 String keyUser = getString(R.string.pref_proxyuser); 462 String keyUser = getString(R.string.pref_proxyuser);
434 String keyPass = getString(R.string.pref_proxypass); 463 String keyPass = getString(R.string.pref_proxypass);
435 if (key.equals(ketHost) || key.equals(keyPort) || key.equals(keyUser) || k ey.equals(keyPass)) 464 if (key.equals(ketHost) || key.equals(keyPort) || key.equals(keyUser) || k ey.equals(keyPass))
436 { 465 {
437 String proxyHost = sharedPreferences.getString(ketHost, null); 466 String proxyHost = sharedPreferences.getString(ketHost, null);
438 String proxyPort = sharedPreferences.getString(keyPort, null); 467 String proxyPort = sharedPreferences.getString(keyPort, null);
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 @Override 747 @Override
719 public void log(int level, Object obj, String message) 748 public void log(int level, Object obj, String message)
720 { 749 {
721 if (level <= logLevel) 750 if (level <= logLevel)
722 { 751 {
723 Log.println(7 - level, obj != null ? obj.toString() : TAG, message); 752 Log.println(7 - level, obj != null ? obj.toString() : TAG, message);
724 } 753 }
725 } 754 }
726 } 755 }
727 } 756 }
OLDNEW

Powered by Google App Engine
This is Rietveld