package com.android.launcher3; import android.content.ComponentName; import android.text.TextUtils; import android.util.Log; public abstract class AppFilter { private static final boolean DBG = false; private static final String TAG = "AppFilter"; public abstract boolean shouldShowApp(ComponentName app); public static AppFilter loadByName(String className) { if (TextUtils.isEmpty(className)) return null; if (DBG) Log.d(TAG, "Loading AppFilter: " + className); try { Class cls = Class.forName(className); return (AppFilter) cls.newInstance(); } catch (ClassNotFoundException e) { Log.e(TAG, "Bad AppFilter class", e); return null; } catch (InstantiationException e) { Log.e(TAG, "Bad AppFilter class", e); return null; } catch (IllegalAccessException e) { Log.e(TAG, "Bad AppFilter class", e); return null; } catch (ClassCastException e) { Log.e(TAG, "Bad AppFilter class", e); return null; } } }