| Index: src/org/adblockplus/android/ProxyService.java |
| =================================================================== |
| --- a/src/org/adblockplus/android/ProxyService.java |
| +++ b/src/org/adblockplus/android/ProxyService.java |
| @@ -40,6 +40,7 @@ |
| import android.content.SharedPreferences; |
| import android.content.SharedPreferences.OnSharedPreferenceChangeListener; |
| import android.content.pm.PackageManager.NameNotFoundException; |
| +import android.content.res.Resources; |
| import android.net.ConnectivityManager; |
| import android.net.NetworkInfo; |
| import android.os.Binder; |
| @@ -115,15 +116,17 @@ |
| // Get port for local proxy |
| SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); |
| + Resources resources = getResources(); |
| + |
| String p = prefs.getString(getString(R.string.pref_port), null); |
| try |
| { |
| - port = p != null ? Integer.valueOf(p) : getResources().getInteger(R.integer.def_port); |
| + port = p != null ? Integer.valueOf(p) : resources.getInteger(R.integer.def_port); |
| } |
| catch (NumberFormatException e) |
| { |
| Toast.makeText(this, getString(R.string.msg_badport) + ": " + p, Toast.LENGTH_LONG).show(); |
| - port = getResources().getInteger(R.integer.def_port); |
| + port = resources.getInteger(R.integer.def_port); |
| } |
| // Try to read user proxy settings |
| @@ -262,10 +265,11 @@ |
| notrafficHandler.postDelayed(noTraffic, NO_TRAFFIC_TIMEOUT); |
| } |
| // Lock service |
| + boolean hideIcon = prefs.getBoolean(getString(R.string.pref_hideicon), resources.getBoolean(R.bool.def_hideicon)); |
| ongoingNotification = new Notification(); |
| ongoingNotification.when = 0; |
| contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, Preferences.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK), 0); |
| - ongoingNotification.icon = R.drawable.ic_stat_blocking; |
| + ongoingNotification.icon = hideIcon ? R.drawable.transparent : R.drawable.ic_stat_blocking; |
| ongoingNotification.setLatestEventInfo(getApplicationContext(), getText(R.string.app_name), msg, contentIntent); |
| startForeground(ONGOING_NOTIFICATION_ID, ongoingNotification); |
| @@ -589,6 +593,13 @@ |
| } |
| notrafficHandler = null; |
| } |
| + |
| + public void setEmptyIcon(boolean empty) |
| + { |
| + ongoingNotification.icon = empty ? R.drawable.transparent : R.drawable.ic_stat_blocking; |
| + NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); |
| + notificationManager.notify(ONGOING_NOTIFICATION_ID, ongoingNotification); |
| + } |
| private final IBinder binder = new LocalBinder(); |