Loading app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java +3 −9 Original line number Diff line number Diff line Loading @@ -19,10 +19,6 @@ import it.niedermann.owncloud.notes.persistence.NotesDatabase; public class NoteListWidget extends AppWidgetProvider { private static final String TAG = NoteListWidget.class.getSimpleName(); public static final int PENDING_INTENT_NEW_NOTE_RQ = 0; public static final int PENDING_INTENT_EDIT_NOTE_RQ = 1; public static final int PENDING_INTENT_OPEN_APP_RQ = 2; static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) { final NotesDatabase db = NotesDatabase.getInstance(context); Loading @@ -32,19 +28,17 @@ public class NoteListWidget extends AppWidgetProvider { try { final NoteListsWidgetData data = db.getNoteListWidgetData(appWidgetId); Intent serviceIntent = new Intent(context, NoteListWidgetService.class); final Intent serviceIntent = new Intent(context, NoteListWidgetService.class); serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME))); PendingIntent templatePI = PendingIntent.getActivity(context, PENDING_INTENT_EDIT_NOTE_RQ, new Intent(context, EditNoteActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT); Log.v(TAG, "-- data - " + data); views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list); views.setPendingIntentTemplate(R.id.note_list_widget_lv, templatePI); views.setRemoteAdapter(R.id.note_list_widget_lv, serviceIntent); views.setPendingIntentTemplate(R.id.note_list_widget_lv, pendingIntent); views.setEmptyView(R.id.note_list_widget_lv, R.id.widget_note_list_placeholder_tv); awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv); Loading app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java +7 −22 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.widget.notelist; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.Context; Loading @@ -11,16 +10,13 @@ import android.util.Log; import android.widget.RemoteViews; import android.widget.RemoteViewsService; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; import java.util.ArrayList; import java.util.List; import it.niedermann.android.util.ColorUtil; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.branding.BrandingUtil; import it.niedermann.owncloud.notes.edit.EditNoteActivity; import it.niedermann.owncloud.notes.main.MainActivity; import it.niedermann.owncloud.notes.persistence.NotesDatabase; Loading Loading @@ -100,20 +96,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact if (position == 0) { final LocalAccount localAccount = db.getAccount(data.getAccountId()); final Intent createIntent = new Intent(); // Launch application when user taps the header icon or app title final Intent openIntent = new Intent(Intent.ACTION_MAIN); openIntent.setComponent(new ComponentName(context.getPackageName(), MainActivity.class.getName())); // Open the main app if the user taps the widget header PendingIntent openAppI = PendingIntent.getActivity(context, 2, openIntent, PendingIntent.FLAG_UPDATE_CURRENT); final Intent openIntent = new Intent(Intent.ACTION_MAIN).setComponent(new ComponentName(context.getPackageName(), MainActivity.class.getName())); final Intent createIntent = new Intent(context, EditNoteActivity.class); final Bundle extras = new Bundle(); String category = null; Loading @@ -129,8 +113,9 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact createIntent.setData(Uri.parse(createIntent.toUri(Intent.URI_INTENT_SCHEME))); note_content = new RemoteViews(context.getPackageName(), R.layout.widget_entry_add); note_content.setOnClickFillInIntent(R.id.widget_entry_content_tv, openIntent); note_content.setOnClickFillInIntent(R.id.widget_entry_fav_icon, createIntent); note_content.setTextViewText(R.id.widget_entry_content_tv, getAddButtonText(context, data.getMode(), category)); note_content.setTextViewText(R.id.widget_entry_content_tv, getCategoryTitle(context, data.getMode(), category)); note_content.setImageViewResource(R.id.widget_entry_fav_icon, R.drawable.ic_add_blue_24dp); note_content.setInt(R.id.widget_entry_fav_icon, "setColorFilter", NotesColorUtil.contrastRatioIsSufficient(ContextCompat.getColor(context, R.color.widget_background), localAccount.getColor()) ? localAccount.getColor() Loading @@ -142,8 +127,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact return null; } DBNote note = dbNotes.get(position); final Intent fillInIntent = new Intent(); final DBNote note = dbNotes.get(position); final Intent fillInIntent = new Intent(context, EditNoteActivity.class); final Bundle extras = new Bundle(); extras.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId()); extras.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId()); Loading @@ -164,7 +149,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact } @NonNull private static String getAddButtonText(@NonNull Context context, int displayMode, String category) { private static String getCategoryTitle(@NonNull Context context, int displayMode, String category) { switch (displayMode) { case MODE_DISPLAY_STARRED: return context.getString(R.string.label_favorites); Loading app/src/main/res/layout/widget_entry.xml +5 −2 Original line number Diff line number Diff line Loading @@ -6,7 +6,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="@dimen/spacer_1x"> android:paddingTop="@dimen/spacer_1x" android:paddingStart="@null" android:paddingEnd="@dimen/spacer_1hx" android:paddingBottom="@dimen/spacer_1x"> <ImageView android:id="@+id/widget_entry_fav_icon" Loading @@ -22,7 +25,7 @@ <TextView android:id="@+id/widget_entry_content_tv" android:layout_width="0dp" android:layout_height="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:ellipsize="end" Loading app/src/main/res/layout/widget_entry_add.xml +7 −6 Original line number Diff line number Diff line Loading @@ -14,15 +14,15 @@ android:layout_gravity="center_vertical" android:layout_weight="1" android:ellipsize="middle" android:paddingStart="38dp" android:paddingTop="@dimen/spacer_1x" android:paddingStart="30dp" android:paddingTop="@null" android:paddingEnd="@dimen/widget_note_list_outer_padding" android:paddingBottom="@dimen/spacer_1x" android:singleLine="true" android:textColor="@color/widget_foreground" android:textSize="14sp" android:textSize="16sp" android:textStyle="bold" tools:text="@string/widget_note_list_add" /> tools:text="@string/app_name" /> <ImageView Loading @@ -32,7 +32,8 @@ android:layout_gravity="center_vertical" android:contentDescription="@string/widget_entry_fav_contentDescription" android:foregroundGravity="center_vertical" android:paddingStart="@dimen/widget_note_list_inner_padding" android:paddingEnd="12dp" android:paddingStart="@dimen/spacer_1x" android:paddingEnd="@dimen/spacer_1x" android:paddingBottom="@dimen/spacer_1hx" app:srcCompat="@drawable/ic_add_blue_24dp" /> </LinearLayout> app/src/main/res/layout/widget_note_list.xml +5 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,11 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/widget_background" android:orientation="vertical"> android:orientation="vertical" android:paddingStart="@dimen/spacer_1x" android:paddingTop="@dimen/spacer_1x" android:paddingEnd="@dimen/spacer_1hx" android:paddingBottom="@dimen/spacer_1x"> <ListView android:id="@+id/note_list_widget_lv" Loading Loading
app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java +3 −9 Original line number Diff line number Diff line Loading @@ -19,10 +19,6 @@ import it.niedermann.owncloud.notes.persistence.NotesDatabase; public class NoteListWidget extends AppWidgetProvider { private static final String TAG = NoteListWidget.class.getSimpleName(); public static final int PENDING_INTENT_NEW_NOTE_RQ = 0; public static final int PENDING_INTENT_EDIT_NOTE_RQ = 1; public static final int PENDING_INTENT_OPEN_APP_RQ = 2; static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) { final NotesDatabase db = NotesDatabase.getInstance(context); Loading @@ -32,19 +28,17 @@ public class NoteListWidget extends AppWidgetProvider { try { final NoteListsWidgetData data = db.getNoteListWidgetData(appWidgetId); Intent serviceIntent = new Intent(context, NoteListWidgetService.class); final Intent serviceIntent = new Intent(context, NoteListWidgetService.class); serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME))); PendingIntent templatePI = PendingIntent.getActivity(context, PENDING_INTENT_EDIT_NOTE_RQ, new Intent(context, EditNoteActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT); Log.v(TAG, "-- data - " + data); views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list); views.setPendingIntentTemplate(R.id.note_list_widget_lv, templatePI); views.setRemoteAdapter(R.id.note_list_widget_lv, serviceIntent); views.setPendingIntentTemplate(R.id.note_list_widget_lv, pendingIntent); views.setEmptyView(R.id.note_list_widget_lv, R.id.widget_note_list_placeholder_tv); awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv); Loading
app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java +7 −22 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.widget.notelist; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.Context; Loading @@ -11,16 +10,13 @@ import android.util.Log; import android.widget.RemoteViews; import android.widget.RemoteViewsService; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; import java.util.ArrayList; import java.util.List; import it.niedermann.android.util.ColorUtil; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.branding.BrandingUtil; import it.niedermann.owncloud.notes.edit.EditNoteActivity; import it.niedermann.owncloud.notes.main.MainActivity; import it.niedermann.owncloud.notes.persistence.NotesDatabase; Loading Loading @@ -100,20 +96,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact if (position == 0) { final LocalAccount localAccount = db.getAccount(data.getAccountId()); final Intent createIntent = new Intent(); // Launch application when user taps the header icon or app title final Intent openIntent = new Intent(Intent.ACTION_MAIN); openIntent.setComponent(new ComponentName(context.getPackageName(), MainActivity.class.getName())); // Open the main app if the user taps the widget header PendingIntent openAppI = PendingIntent.getActivity(context, 2, openIntent, PendingIntent.FLAG_UPDATE_CURRENT); final Intent openIntent = new Intent(Intent.ACTION_MAIN).setComponent(new ComponentName(context.getPackageName(), MainActivity.class.getName())); final Intent createIntent = new Intent(context, EditNoteActivity.class); final Bundle extras = new Bundle(); String category = null; Loading @@ -129,8 +113,9 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact createIntent.setData(Uri.parse(createIntent.toUri(Intent.URI_INTENT_SCHEME))); note_content = new RemoteViews(context.getPackageName(), R.layout.widget_entry_add); note_content.setOnClickFillInIntent(R.id.widget_entry_content_tv, openIntent); note_content.setOnClickFillInIntent(R.id.widget_entry_fav_icon, createIntent); note_content.setTextViewText(R.id.widget_entry_content_tv, getAddButtonText(context, data.getMode(), category)); note_content.setTextViewText(R.id.widget_entry_content_tv, getCategoryTitle(context, data.getMode(), category)); note_content.setImageViewResource(R.id.widget_entry_fav_icon, R.drawable.ic_add_blue_24dp); note_content.setInt(R.id.widget_entry_fav_icon, "setColorFilter", NotesColorUtil.contrastRatioIsSufficient(ContextCompat.getColor(context, R.color.widget_background), localAccount.getColor()) ? localAccount.getColor() Loading @@ -142,8 +127,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact return null; } DBNote note = dbNotes.get(position); final Intent fillInIntent = new Intent(); final DBNote note = dbNotes.get(position); final Intent fillInIntent = new Intent(context, EditNoteActivity.class); final Bundle extras = new Bundle(); extras.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId()); extras.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId()); Loading @@ -164,7 +149,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact } @NonNull private static String getAddButtonText(@NonNull Context context, int displayMode, String category) { private static String getCategoryTitle(@NonNull Context context, int displayMode, String category) { switch (displayMode) { case MODE_DISPLAY_STARRED: return context.getString(R.string.label_favorites); Loading
app/src/main/res/layout/widget_entry.xml +5 −2 Original line number Diff line number Diff line Loading @@ -6,7 +6,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="@dimen/spacer_1x"> android:paddingTop="@dimen/spacer_1x" android:paddingStart="@null" android:paddingEnd="@dimen/spacer_1hx" android:paddingBottom="@dimen/spacer_1x"> <ImageView android:id="@+id/widget_entry_fav_icon" Loading @@ -22,7 +25,7 @@ <TextView android:id="@+id/widget_entry_content_tv" android:layout_width="0dp" android:layout_height="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_weight="1" android:ellipsize="end" Loading
app/src/main/res/layout/widget_entry_add.xml +7 −6 Original line number Diff line number Diff line Loading @@ -14,15 +14,15 @@ android:layout_gravity="center_vertical" android:layout_weight="1" android:ellipsize="middle" android:paddingStart="38dp" android:paddingTop="@dimen/spacer_1x" android:paddingStart="30dp" android:paddingTop="@null" android:paddingEnd="@dimen/widget_note_list_outer_padding" android:paddingBottom="@dimen/spacer_1x" android:singleLine="true" android:textColor="@color/widget_foreground" android:textSize="14sp" android:textSize="16sp" android:textStyle="bold" tools:text="@string/widget_note_list_add" /> tools:text="@string/app_name" /> <ImageView Loading @@ -32,7 +32,8 @@ android:layout_gravity="center_vertical" android:contentDescription="@string/widget_entry_fav_contentDescription" android:foregroundGravity="center_vertical" android:paddingStart="@dimen/widget_note_list_inner_padding" android:paddingEnd="12dp" android:paddingStart="@dimen/spacer_1x" android:paddingEnd="@dimen/spacer_1x" android:paddingBottom="@dimen/spacer_1hx" app:srcCompat="@drawable/ic_add_blue_24dp" /> </LinearLayout>
app/src/main/res/layout/widget_note_list.xml +5 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,11 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/widget_background" android:orientation="vertical"> android:orientation="vertical" android:paddingStart="@dimen/spacer_1x" android:paddingTop="@dimen/spacer_1x" android:paddingEnd="@dimen/spacer_1hx" android:paddingBottom="@dimen/spacer_1x"> <ListView android:id="@+id/note_list_widget_lv" Loading