blob: e65316af256ae7c6f4c898c54c7e4df4eec95bcb [file] [log] [blame]
package com.fairphone.fplauncher3;
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;
}
}
}