Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-03-13 12:51:08 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2021-03-13 13:03:47 +0300
commit0b8348cf40ab4b20901584dc4ceacee3cde7c25c (patch)
tree783c82f6a9a1ee93563c1b7777e8f0a688710b01
parent9c3023b7ee4d5be78fce2e7e9156637fd6d0f19d (diff)
#1085 Open app when clicking on the list widget header
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java29
-rw-r--r--app/src/main/res/layout/widget_entry.xml7
-rw-r--r--app/src/main/res/layout/widget_entry_add.xml13
-rw-r--r--app/src/main/res/layout/widget_note_list.xml6
-rw-r--r--app/src/main/res/values/strings.xml3
6 files changed, 27 insertions, 43 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
index 38516bb3..cbed8b79 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
@@ -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);
@@ -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);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
index d7928225..3e1fdfd0 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
@@ -1,6 +1,5 @@
package it.niedermann.owncloud.notes.widget.notelist;
-import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
@@ -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;
@@ -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;
@@ -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()
@@ -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());
@@ -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);
diff --git a/app/src/main/res/layout/widget_entry.xml b/app/src/main/res/layout/widget_entry.xml
index f7b117ec..460a255b 100644
--- a/app/src/main/res/layout/widget_entry.xml
+++ b/app/src/main/res/layout/widget_entry.xml
@@ -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"
@@ -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"
diff --git a/app/src/main/res/layout/widget_entry_add.xml b/app/src/main/res/layout/widget_entry_add.xml
index e8947d98..6cbcf5d8 100644
--- a/app/src/main/res/layout/widget_entry_add.xml
+++ b/app/src/main/res/layout/widget_entry_add.xml
@@ -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
@@ -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>
diff --git a/app/src/main/res/layout/widget_note_list.xml b/app/src/main/res/layout/widget_note_list.xml
index 628f4740..ebc3aded 100644
--- a/app/src/main/res/layout/widget_note_list.xml
+++ b/app/src/main/res/layout/widget_note_list.xml
@@ -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"
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5dea9e2f..45ba55a1 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -82,9 +82,6 @@
<string name="about_license_tab_title">License</string>
<string name="widget_note_list_title">Note list</string>
- <string name="widget_note_list_add">Add new note</string>
- <string name="widget_note_list_add_favorite">Add new note to favorites</string>
- <string name="widget_note_list_add_to_category">Add new note to %1$s</string>
<string name="widget_note_list_placeholder">No notes</string>
<string name="widget_single_note_title">Single note</string>
<string name="widget_single_note_placeholder_tv">Note not found</string>