use of de.baumann.browser.Database.Record in project browser by scoute-dich.
the class BrowserUnit method exportBookmarks.
public static String exportBookmarks(Context context) {
RecordAction action = new RecordAction(context);
action.open(false);
List<Record> list = action.listBookmarks();
action.close();
String filename = context.getString(R.string.export_bookmarks);
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "browser_backup//" + filename + SUFFIX_HTML);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file, false));
for (Record record : list) {
String type = BOOKMARK_TYPE;
type = type.replace(BOOKMARK_TITLE, record.getTitle());
type = type.replace(BOOKMARK_URL, record.getURL());
type = type.replace(BOOKMARK_TIME, String.valueOf(record.getTime()));
writer.write(type);
writer.newLine();
}
writer.close();
return file.getAbsolutePath();
} catch (Exception e) {
return null;
}
}
use of de.baumann.browser.Database.Record in project browser by scoute-dich.
the class Adapter_Record method getView.
@NonNull
@Override
public View getView(int position, View convertView, @NonNull ViewGroup parent) {
Holder holder;
View view = convertView;
if (view == null) {
view = LayoutInflater.from(context).inflate(layoutResId, parent, false);
holder = new Holder();
holder.title = view.findViewById(R.id.record_item_title);
holder.time = view.findViewById(R.id.record_item_time);
holder.url = view.findViewById(R.id.record_item_url);
view.setTag(holder);
} else {
holder = (Holder) view.getTag();
}
Record record = list.get(position);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
holder.title.setText(record.getTitle());
holder.time.setText(sdf.format(record.getTime()));
holder.url.setText(record.getURL());
return view;
}
use of de.baumann.browser.Database.Record in project browser by scoute-dich.
the class CompleteAdapter method deDup.
private void deDup(List<Record> recordList) {
for (Record record : recordList) {
if (record.getTitle() != null && !record.getTitle().isEmpty() && record.getURL() != null && !record.getURL().isEmpty()) {
originalList.add(new CompleteItem(record.getTitle(), record.getURL()));
}
}
Set<CompleteItem> set = new HashSet<>(originalList);
originalList.clear();
originalList.addAll(set);
}
use of de.baumann.browser.Database.Record in project browser by scoute-dich.
the class BrowserActivity method showListMenu.
private void showListMenu(final Adapter_Record adapterRecord, final List<Record> recordList, final int location) {
final Record record = recordList.get(location);
bottomSheetDialog = new BottomSheetDialog(BrowserActivity.this);
View dialogView = View.inflate(BrowserActivity.this, R.layout.dialog_menu_context, null);
ninjaRelativeLayout = (NinjaRelativeLayout) currentAlbumController;
tv2_menu_newTab = dialogView.findViewById(R.id.tv2_menu_newTab);
tv2_menu_newTab.setVisibility(View.VISIBLE);
tv2_menu_newTab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addAlbum(getString(R.string.album_untitled), record.getURL(), false, null);
NinjaToast.show(BrowserActivity.this, getString(R.string.toast_new_tab_successful));
bottomSheetDialog.cancel();
}
});
tv2_menu_newTab_open = dialogView.findViewById(R.id.tv2_menu_newTab_open);
tv2_menu_newTab_open.setVisibility(View.VISIBLE);
tv2_menu_newTab_open.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pinAlbums(record.getURL());
bottomSheetDialog.cancel();
}
});
tv2_menu_delete = dialogView.findViewById(R.id.tv2_menu_delete);
tv2_menu_delete.setVisibility(View.VISIBLE);
tv2_menu_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bottomSheetDialog.cancel();
bottomSheetDialog = new BottomSheetDialog(BrowserActivity.this);
View dialogView = View.inflate(BrowserActivity.this, R.layout.dialog_action, null);
TextView textView = dialogView.findViewById(R.id.dialog_text);
textView.setText(R.string.toast_titleConfirm_delete);
Button action_ok = dialogView.findViewById(R.id.action_ok);
action_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
RecordAction action = new RecordAction(BrowserActivity.this);
action.open(true);
if (currentAlbumController.getFlag() == BrowserUnit.FLAG_BOOKMARKS) {
action.deleteBookmark(record);
} else if (currentAlbumController.getFlag() == BrowserUnit.FLAG_HISTORY) {
action.deleteHistory(record);
}
action.close();
recordList.remove(location);
adapterRecord.notifyDataSetChanged();
updateBookmarks();
updateAutoComplete();
bottomSheetDialog.cancel();
NinjaToast.show(BrowserActivity.this, getString(R.string.toast_delete_successful));
}
});
Button action_cancel = dialogView.findViewById(R.id.action_cancel);
action_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
bottomSheetDialog.cancel();
}
});
bottomSheetDialog.setContentView(dialogView);
bottomSheetDialog.show();
}
});
tv2_menu_edit = dialogView.findViewById(R.id.tv2_menu_edit);
if (ninjaRelativeLayout.getFlag() != BrowserUnit.FLAG_HISTORY) {
tv2_menu_edit.setVisibility(View.VISIBLE);
tv2_menu_edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
bottomSheetDialog.cancel();
showEditDialog(adapterRecord, recordList, location);
}
});
}
bottomSheetDialog.setContentView(dialogView);
bottomSheetDialog.show();
}
use of de.baumann.browser.Database.Record in project browser by scoute-dich.
the class BrowserActivity method initBHList.
private void initBHList(final NinjaRelativeLayout layout) {
RecordAction action = new RecordAction(BrowserActivity.this);
action.open(false);
final List<Record> list;
if (layout.getFlag() == BrowserUnit.FLAG_BOOKMARKS) {
list = action.listBookmarks();
Collections.sort(list, new Comparator<Record>() {
@Override
public int compare(Record first, Record second) {
return first.getTitle().compareTo(second.getTitle());
}
});
} else if (layout.getFlag() == BrowserUnit.FLAG_HISTORY) {
list = action.listHistory();
} else {
list = new ArrayList<>();
}
action.close();
listView = layout.findViewById(R.id.home_list);
final Adapter_Record adapter = new Adapter_Record(BrowserActivity.this, list);
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
updateAlbum(list.get(position).getURL());
}
});
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
showListMenu(adapter, list, position);
return true;
}
});
}
Aggregations