package com.openfarmanager.android.dialogs; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.Window; import android.widget.ListView; import android.widget.TextView; import com.openfarmanager.android.App; import com.openfarmanager.android.R; import com.openfarmanager.android.adapters.BookmarkAdapter; import com.openfarmanager.android.controllers.FileSystemController; import com.openfarmanager.android.model.Bookmark; import java.util.List; /** * author: Vlad Namashko */ public class BookmarksListDialog extends Dialog { private Handler mHandler; private View mDialogView; private TextView mLabel; private ListView mBookmarks; public BookmarksListDialog(Context context, Handler handler) { super(context, R.style.Action_Dialog); mHandler = handler; } @Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); mDialogView = View.inflate(App.sInstance.getApplicationContext(), R.layout.dialog_bookmarks_list, null); mLabel = (TextView) mDialogView.findViewById(R.id.text); mBookmarks = (ListView) mDialogView.findViewById(R.id.bookmarks_list); initView(); setContentView(mDialogView); } private void initView() { List<Bookmark> bookmarkList = App.sInstance.getBookmarkManager().getBookmarks(); boolean hasBookmarks = bookmarkList.size() > 0; mBookmarks.setVisibility(hasBookmarks ? View.VISIBLE : View.GONE); mLabel.setVisibility(hasBookmarks ? View.GONE : View.VISIBLE); if (hasBookmarks) { BookmarkAdapter adapter = new BookmarkAdapter(bookmarkList, mOnClickListener); mBookmarks.setAdapter(adapter); } } private BookmarkAdapter.OnClickListener mOnClickListener = new BookmarkAdapter.OnClickListener() { @Override public void onBookmarkClicked(Bookmark bookmark) { mHandler.sendMessage(mHandler.obtainMessage(FileSystemController.OPEN_PATH, bookmark.getBookmarkPath())); dismiss(); } @Override public void onDeleteClicked(Bookmark bookmark) { App.sInstance.getBookmarkManager().deleteBookmark(bookmark); initView(); } }; }