From d3f24e5017d30df4e6ea8cc2380fd8a58210fb87 Mon Sep 17 00:00:00 2001 From: xingxing Date: Wed, 3 Jan 2018 21:44:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8DappWidget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appwidget/AppWidgetViewsFactory.java | 86 +++++++------- .../leamonax/appwidget/NoteAppWidget.java | 40 +------ .../NoteAppWidgetConfigureActivity.java | 108 ------------------ .../leamonax/appwidget/RedirActivity.java | 18 ++- .../leamonax/appwidget/WidgetService.java | 3 +- .../org/houxg/leamonax/ui/NoteFragment.java | 3 +- .../res/layout/activity_picture_viewer.xml | 2 +- app/src/main/res/layout/note_app_widget.xml | 10 +- .../res/layout/note_app_widget_configure.xml | 27 ----- app/src/main/res/xml/widget_provider.xml | 7 +- 10 files changed, 67 insertions(+), 237 deletions(-) delete mode 100644 app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidgetConfigureActivity.java delete mode 100644 app/src/main/res/layout/note_app_widget_configure.xml diff --git a/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java b/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java index 0ade0c5..fdfe204 100644 --- a/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java +++ b/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java @@ -4,6 +4,8 @@ import android.appwidget.AppWidgetManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.text.Html; +import android.text.Spanned; import android.widget.RemoteViews; import android.widget.RemoteViewsService; @@ -18,91 +20,91 @@ import java.util.Comparator; import java.util.List; public class AppWidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory { - private Context ctxt=null; + private Context context = null; private int appWidgetId; private List allNotes; - public AppWidgetViewsFactory(Context ctxt, Intent intent) { - this.ctxt=ctxt; - appWidgetId=intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, - AppWidgetManager.INVALID_APPWIDGET_ID); + public AppWidgetViewsFactory(Context context, Intent intent) { + this.context = context; + appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, + AppWidgetManager.INVALID_APPWIDGET_ID); allNotes = NoteDataStore.getAllNotes(Account.getCurrent().getUserId()); Collections.sort(allNotes, new Comparator() { @Override public int compare(Note o1, Note o2) { - String temp1=o1.getUpdatedTimeVal()+""; - String temp2=o2.getUpdatedTimeVal()+""; + String temp1 = o1.getUpdatedTimeVal() + ""; + String temp2 = o2.getUpdatedTimeVal() + ""; return temp2.compareTo(temp1); } }); - if(allNotes.size()>30){ - allNotes=allNotes.subList(0,30); + if (allNotes.size() > 30) { + allNotes = allNotes.subList(0, 30); } } - - - @Override - public void onCreate() { - // no-op - } - - @Override - public void onDestroy() { - // no-op - } @Override public int getCount() { - return(allNotes.size()); + return allNotes.size(); } @Override public RemoteViews getViewAt(int position) { - RemoteViews row=new RemoteViews(ctxt.getPackageName(), - R.layout.note_app_widget_row); - row.setTextViewText(R.id.appwidget_row_title, allNotes.get(position).getTitle()); - String textTemp=""; - if(allNotes.get(position).getContent().length()>200){ - textTemp=allNotes.get(position).getContent().substring(0,200)+"..."; - }else { - textTemp=allNotes.get(position).getContent(); - + RemoteViews row = new RemoteViews(context.getPackageName(), + R.layout.note_app_widget_row); + Note note = allNotes.get(position); + row.setTextViewText(R.id.appwidget_row_title, note.getTitle()); + String content; + if (note.isMarkDown()) { + content = note.getNoteAbstract(); + } else { + Spanned spannedContent = Html.fromHtml(note.getNoteAbstract()); + content = spannedContent.toString().replaceAll("\\n\\n+", "\n"); } - row.setTextViewText(R.id.appwidget_row_text, textTemp); + if (content.length() >= 200) { + content = content.substring(0, 200) + "..."; + } + row.setTextViewText(R.id.appwidget_row_text, content); - Intent intent=new Intent(); - - Bundle extras=new Bundle(); - extras.putLong(NotePreviewActivity.EXT_NOTE_LOCAL_ID, allNotes.get(position).getId()); + Intent intent = new Intent(); + Bundle extras = new Bundle(); + extras.putLong(NotePreviewActivity.EXT_NOTE_LOCAL_ID, note.getId()); intent.putExtras(extras); - row.setOnClickFillInIntent(R.id.widget_note, intent); - return(row); + return row; } @Override public RemoteViews getLoadingView() { - return(null); + return null; } @Override public int getViewTypeCount() { - return(1); + return 1; } @Override public long getItemId(int position) { - return(position); + return position; } @Override public boolean hasStableIds() { - return(true); + return true; + } + + @Override + public void onCreate() { + } @Override public void onDataSetChanged() { - // no-op + } + + @Override + public void onDestroy() { + } } \ No newline at end of file diff --git a/app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidget.java b/app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidget.java index 066e72c..a82bcb5 100644 --- a/app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidget.java +++ b/app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidget.java @@ -6,7 +6,6 @@ import android.appwidget.AppWidgetProvider; import android.content.Context; import android.content.Intent; import android.net.Uri; -import android.util.Log; import android.widget.RemoteViews; import org.houxg.leamonax.R; @@ -18,56 +17,30 @@ public class NoteAppWidget extends AppWidgetProvider { @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); - Log.i("debug!!!!!!!!!!!!!!!!","接收到广播"); -// abortBroadcast(); -// for (int i=0;i + tools:context="org.houxg.leamonax.ui.PictureViewerActivity"> + android:paddingEnd="10dp"> - diff --git a/app/src/main/res/layout/note_app_widget_configure.xml b/app/src/main/res/layout/note_app_widget_configure.xml deleted file mode 100644 index d625c16..0000000 --- a/app/src/main/res/layout/note_app_widget_configure.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - -