blob: e01436d7ab7da17a976b5e0fe253ffa70311e7d8 [file] [log] [blame]
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;
}
}
}