Search in sources :

Example 1 with Filter

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;
    }
}
Also used : Filter(com.orgzly.android.filter.Filter)

Example 2 with Filter

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;
}
Also used : Filter(com.orgzly.android.filter.Filter)

Example 3 with 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);
    }
}
Also used : Filter(com.orgzly.android.filter.Filter) View(android.view.View)

Example 4 with Filter

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);
}
Also used : RemoteViews(android.widget.RemoteViews) Filter(com.orgzly.android.filter.Filter) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) AppIntent(com.orgzly.android.AppIntent) ComponentName(android.content.ComponentName) PendingIntent(android.app.PendingIntent) MainActivity(com.orgzly.android.ui.MainActivity)

Aggregations

Filter (com.orgzly.android.filter.Filter)4 PendingIntent (android.app.PendingIntent)1 ComponentName (android.content.ComponentName)1 Intent (android.content.Intent)1 View (android.view.View)1 RemoteViews (android.widget.RemoteViews)1 AppIntent (com.orgzly.android.AppIntent)1 MainActivity (com.orgzly.android.ui.MainActivity)1