package com.openfarmanager.android.fragments;
import android.support.v4.app.Fragment;
import com.openfarmanager.android.App;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.Queue;
/**
* @author Vlad Namashko
*/
public abstract class BasePanel extends Fragment implements Serializable {
private Queue<Runnable> mPendingCommands = new LinkedList<Runnable>();
protected boolean mIsInitialized;
protected void addToPendingList(Runnable runnable) {
mPendingCommands.add(runnable);
}
protected void postInitialization() {
mIsInitialized = true;
// post execute for pending tasks.
while (!mPendingCommands.isEmpty()) {
getActivity().runOnUiThread(mPendingCommands.remove());
}
}
public boolean isInitialized() {
return mIsInitialized;
}
/**
* getstring using Application instance instead of Activity, which throw exception.
*
* @param resId Resource id for the string
*/
public final String getSafeString(int resId) {
return App.sInstance.getString(resId);
}
/**
* getstring using Application instance instead of Activity, which throw exception.
*
* @param resId Resource id for the string
*/
public final String getSafeString(int resId, Object... formatArgs) {
return App.sInstance.getString(resId, formatArgs);
}
public boolean isFileSystemPanel() {
return false;
}
}