use of com.orgzly.android.filter.Filter in project orgzly-android by orgzly.
the class FilterFragment method sameNameFilterExists.
/**
* Checks if filter with the same name (ignoring case) already exists.
*/
private boolean sameNameFilterExists(String name) {
LongSparseArray<Filter> filters = FiltersClient.INSTANCE.getByNameIgnoreCase(getContext(), name);
if (isEditingExistingFilter()) {
long id = getArguments().getLong(ARG_ID);
for (int i = 0; i < filters.size(); i++) {
long filterId = filters.keyAt(i);
Filter filter = filters.get(filterId);
// Ignore currently edited filter
if (name.equalsIgnoreCase(filter.getName()) && id != filterId) {
return true;
}
}
return false;
} else {
// New filter
return filters.size() > 0;
}
}
use of com.orgzly.android.filter.Filter in project orgzly-android by orgzly.
the class ListWidgetProvider method getFilter.
private static Filter getFilter(Context context, int appWidgetId) {
long filterId = context.getSharedPreferences(PREFERENCES_ID, Context.MODE_PRIVATE).getLong(getFilterPreferenceKey(appWidgetId), -1);
Filter filter = null;
if (filterId != -1) {
filter = FiltersClient.INSTANCE.get(context, filterId);
}
if (filter == null) {
filter = new Filter(context.getString(R.string.list_widget_select_search), null);
}
return filter;
}
use of com.orgzly.android.filter.Filter in project orgzly-android by orgzly.
the class FilterFragment method setViewsFromArgument.
private void setViewsFromArgument() {
View viewToFocus = null;
if (isEditingExistingFilter()) {
/* Existing filter. */
long id = getArguments().getLong(ARG_ID);
Filter filter = FiltersClient.INSTANCE.get(getActivity(), id);
if (filter != null) {
mName.setText(filter.getName());
mQuery.setText(filter.getQuery());
mViewFlipper.setDisplayedChild(0);
viewToFocus = mQuery;
} else {
mViewFlipper.setDisplayedChild(1);
}
} else {
/* New filter. */
viewToFocus = mName;
}
/*
* Open a soft keyboard.
* For new filters focus on name, for existing focus on query.
*/
if (viewToFocus != null && getActivity() != null) {
ActivityUtils.INSTANCE.openSoftKeyboard(getActivity(), viewToFocus);
}
}
use of com.orgzly.android.filter.Filter in project orgzly-android by orgzly.
the class ListWidgetProvider method updateAppWidgetLayout.
private static void updateAppWidgetLayout(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {
Filter filter = getFilter(context, appWidgetId);
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.list_widget);
Intent serviceIntent = new Intent(context, ListWidgetService.class);
serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
serviceIntent.putExtra(AppIntent.EXTRA_QUERY_STRING, filter.getQuery());
serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
// Tell ListView where to get the data from
remoteViews.setRemoteAdapter(R.id.list_widget_list_view, serviceIntent);
remoteViews.setEmptyView(R.id.list_widget_list_view, R.id.list_widget_empty_view);
if (filter.getQuery() == null) {
remoteViews.setTextViewText(R.id.list_widget_empty_view, context.getString(R.string.list_widget_nothing_selected));
} else {
remoteViews.setTextViewText(R.id.list_widget_empty_view, context.getString(R.string.no_notes_found_after_search));
}
// Rows - open note
final Intent onClickIntent = new Intent(context, ListWidgetProvider.class);
onClickIntent.setAction(AppIntent.ACTION_CLICK_LIST_WIDGET);
onClickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
onClickIntent.setData(Uri.parse(onClickIntent.toUri(Intent.URI_INTENT_SCHEME)));
final PendingIntent onClickPendingIntent = PendingIntent.getBroadcast(context, 0, onClickIntent, PendingIntent.FLAG_UPDATE_CURRENT);
remoteViews.setPendingIntentTemplate(R.id.list_widget_list_view, onClickPendingIntent);
// Plus icon - new note
remoteViews.setOnClickPendingIntent(R.id.list_widget_header_add, ShareActivity.createNewNoteIntent(context, filter));
// Logo - open query
Intent openIntent = Intent.makeRestartActivityTask(new ComponentName(context, MainActivity.class));
openIntent.putExtra(AppIntent.EXTRA_QUERY_STRING, filter.getQuery());
serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
remoteViews.setOnClickPendingIntent(R.id.list_widget_header_icon, PendingIntent.getActivity(context, 0, openIntent, PendingIntent.FLAG_UPDATE_CURRENT));
Intent filterSelectIntent = new Intent(context, FilterSelectDialogActivity.class);
filterSelectIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
filterSelectIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
remoteViews.setOnClickPendingIntent(R.id.list_widget_header_bar, PendingIntent.getActivity(context, 0, filterSelectIntent, PendingIntent.FLAG_UPDATE_CURRENT));
remoteViews.setTextViewText(R.id.list_widget_header_filter, filter.getName());
appWidgetManager.updateAppWidget(appWidgetId, remoteViews);
}
Aggregations