| Index: src/org/adblockplus/android/BridgeCommand.java |
| diff --git a/src/org/adblockplus/android/AndroidFilterChangeCallback.java b/src/org/adblockplus/android/BridgeCommand.java |
| similarity index 51% |
| copy from src/org/adblockplus/android/AndroidFilterChangeCallback.java |
| copy to src/org/adblockplus/android/BridgeCommand.java |
| index f07836c5b4162160706fc92ea7c96df54e8235ab..e4fbb603f40a1506b8569b4818c352af72628c6d 100644 |
| --- a/src/org/adblockplus/android/AndroidFilterChangeCallback.java |
| +++ b/src/org/adblockplus/android/BridgeCommand.java |
| @@ -17,29 +17,35 @@ |
| package org.adblockplus.android; |
| -import org.adblockplus.libadblockplus.FilterChangeCallback; |
| -import org.adblockplus.libadblockplus.JsValue; |
| -import org.adblockplus.libadblockplus.Subscription; |
| +import java.util.HashMap; |
| +import java.util.Locale; |
| -import android.content.Context; |
| - |
| -public class AndroidFilterChangeCallback extends FilterChangeCallback |
| +public enum BridgeCommand |
| { |
| - private final Context context; |
| + /** Used for e.g. no-traffic check, rebuilds/redisplays notification. */ |
| + STATE_CHANGED, |
| + UNKNOWN; |
| - public AndroidFilterChangeCallback(final Context context) |
| - { |
| - this.context = context; |
| - } |
| + private static final HashMap<String, BridgeCommand> MAP = new HashMap<String, BridgeCommand>(); |
| - @Override |
| - public void filterChangeCallback(final String action, final JsValue jsValue) |
| + static |
| { |
| - if (action.equals("subscription.lastDownload") || action.equals("subscription.downloadStatus")) |
| + final Locale locale = Locale.getDefault(); |
|
Felix Dahlke
2014/08/19 09:06:00
Shouldn't we hard code EN-US here instead? Otherwi
René Jeschke
2014/08/19 10:41:33
Done.
|
| + for (final BridgeCommand e : BridgeCommand.values()) |
| { |
| - final Subscription sub = new Subscription(jsValue); |
| - |
| - Utils.updateSubscriptionStatus(this.context, sub); |
| + if (e != UNKNOWN) |
| + { |
| + final String name = e.toString(); |
| + MAP.put(name, e); |
| + MAP.put(name.toLowerCase(locale), e); |
| + MAP.put(name.toUpperCase(locale), e); |
| + } |
| } |
| } |
| + |
| + public static BridgeCommand fromString(final String str) |
| + { |
| + final BridgeCommand e = MAP.get(str); |
|
Felix Dahlke
2014/08/19 09:06:00
I guess I'm missing something here, but wouldn't B
René Jeschke
2014/08/19 10:41:33
'valueOf' requires that 'str' exactly matches the
Felix Dahlke
2014/08/19 12:37:26
This seems overengineered. If we really do need a
René Jeschke
2014/08/19 12:57:36
I just don't know why you insist on replacing a fu
Felix Dahlke
2014/08/19 13:14:57
I just get the very strong expression that this is
René Jeschke
2014/08/19 13:23:53
Well, k. But I won't leave exception handling for
|
| + return e != null ? e : UNKNOWN; |
| + } |
| } |