Android Open Source - whoisit-android Who Is It Matcher






From Project

Back to project page whoisit-android.

License

The source code is released under:

MIT License

If you think the Android project whoisit-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.mitchbarry.android.whoisit.core;
/*from w ww.  j  av  a 2s  . c om*/
import android.content.Context;
import android.util.Log;
import com.j256.ormlite.dao.ForeignCollection;
import com.mitchbarry.android.whoisit.db.DatabaseManager;

import java.util.List;
import java.util.regex.PatternSyntaxException;

/**
 * Created by Mitchell on 12/22/13.
 */
public class WhoIsItMatcher {
    private static final String TAG = "WhoIsItMatcher";
    private static Context context = null;

    public static void init(Context context) {
        WhoIsItMatcher.context = context;
    }

    public static PhoneGroup findMatchingGroup(String incomingNumber) {
        DatabaseManager.init(context);

        List<PhoneGroup> groups = DatabaseManager.getInstance().getPhoneGroups();
        if (groups != null) {
            for (PhoneGroup group : groups) {
                ForeignCollection<PhoneMatch> matches = group.getMatches();
                if (matches.size() > 0) {
                    for (PhoneMatch match : matches) {
                        try {
                            if (WhoIsItMatcher.matches(incomingNumber, match.getPattern())) {
                                return group;
                            }
                        } catch (PatternSyntaxException pse) {
                            Log.e(TAG, "Invalid pattern syntax for match", pse);
                        }
                    }
                }
            }
        }
        return null;
    }

    public static Boolean matches(String incomingNumber, String regexMatch) {
        return incomingNumber.matches(regexMatch.replace("*", ".*"));
    }


}




Java Source Code List

com.mitchbarry.android.whoisit.AndroidModule.java
com.mitchbarry.android.whoisit.Injector.java
com.mitchbarry.android.whoisit.RootModule.java
com.mitchbarry.android.whoisit.WhoIsItApplication.java
com.mitchbarry.android.whoisit.WhoIsItModule.java
com.mitchbarry.android.whoisit.core.Constants.java
com.mitchbarry.android.whoisit.core.PhoneCallListener.java
com.mitchbarry.android.whoisit.core.PhoneCallReceiver.java
com.mitchbarry.android.whoisit.core.PhoneGroup.java
com.mitchbarry.android.whoisit.core.PhoneMatch.java
com.mitchbarry.android.whoisit.core.SMSReceiver.java
com.mitchbarry.android.whoisit.core.WhoIsItMatcher.java
com.mitchbarry.android.whoisit.db.DatabaseHelper.java
com.mitchbarry.android.whoisit.db.DatabaseManager.java
com.mitchbarry.android.whoisit.ui.AboutActivity.java
com.mitchbarry.android.whoisit.ui.AsyncLoader.java
com.mitchbarry.android.whoisit.ui.BootstrapActivity.java
com.mitchbarry.android.whoisit.ui.BootstrapFragmentActivity.java
com.mitchbarry.android.whoisit.ui.BootstrapPagerAdapter.java
com.mitchbarry.android.whoisit.ui.CarouselActivity.java
com.mitchbarry.android.whoisit.ui.HeaderFooterListAdapter.java
com.mitchbarry.android.whoisit.ui.ItemListFragment.java
com.mitchbarry.android.whoisit.ui.PhoneGroupActivity.java
com.mitchbarry.android.whoisit.ui.PhoneGroupListAdapter.java
com.mitchbarry.android.whoisit.ui.PhoneGroupListFragment.java
com.mitchbarry.android.whoisit.ui.PhoneMatchListAdapter.java
com.mitchbarry.android.whoisit.ui.PhoneMatchListFragment.java
com.mitchbarry.android.whoisit.ui.ThrowableLoader.java
com.mitchbarry.android.whoisit.ui.view.CapitalizedTextView.java
com.mitchbarry.android.whoisit.util.Ln.java
com.mitchbarry.android.whoisit.util.SafeAsyncTask.java
com.mitchbarry.android.whoisit.util.Strings.java