diff --git a/app/build.gradle b/app/build.gradle index 31ba3ae..882ca11 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' + } } repositories { @@ -13,7 +13,6 @@ repositories { maven { url "http://dl.bintray.com/piasy/maven" } } apply plugin: 'com.android.application' -apply plugin: 'com.neenbedankt.android-apt' def dbflow_version = "4.0.0-beta2" def ciName = isEmpty(System.getenv("TRAVIS_TAG")) ? "Staging" : System.getenv("TRAVIS_TAG") @@ -33,7 +32,7 @@ android { } } compileSdkVersion 25 - buildToolsVersion "25.0.2" + buildToolsVersion '26.0.2' defaultConfig { applicationId "com.leanote.android" minSdkVersion 19 @@ -76,12 +75,12 @@ dependencies { compile 'com.android.support:cardview-v7:25.3.0' compile 'com.jakewharton:butterknife:8.4.0' - apt 'com.jakewharton:butterknife-compiler:8.4.0' + annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' compile group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: '3.4.1' compile group: 'com.squareup.retrofit2', name: 'adapter-rxjava', version: '2.1.0' - apt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}" + annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}" compile "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}" compile "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}" @@ -107,4 +106,5 @@ dependencies { compile 'com.github.piasy:GlideImageLoader:1.2.5' compile 'com.weiwangcn.betterspinner:library-material:1.1.0' + implementation 'com.android.support.constraint:constraint-layout:1.0.2' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c039a6e..29cac41 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -8,7 +8,6 @@ - @@ -51,7 +50,9 @@ android:screenOrientation="portrait" android:label="@string/about" /> + android:name=".ui.PictureViewerActivity" + android:label="@string/edit" + android:screenOrientation="portrait" /> + android:resource="@xml/provider_paths" /> + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java b/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java new file mode 100644 index 0000000..0ade0c5 --- /dev/null +++ b/app/src/main/java/org/houxg/leamonax/appwidget/AppWidgetViewsFactory.java @@ -0,0 +1,108 @@ +package org.houxg.leamonax.appwidget; + +import android.appwidget.AppWidgetManager; +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.widget.RemoteViews; +import android.widget.RemoteViewsService; + +import org.houxg.leamonax.R; +import org.houxg.leamonax.database.NoteDataStore; +import org.houxg.leamonax.model.Account; +import org.houxg.leamonax.model.Note; +import org.houxg.leamonax.ui.NotePreviewActivity; + +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class AppWidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory { + private Context ctxt=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); + + 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()+""; + return temp2.compareTo(temp1); + } + }); + 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()); + } + + @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(); + + } + row.setTextViewText(R.id.appwidget_row_text, textTemp); + + Intent intent=new Intent(); + + Bundle extras=new Bundle(); + extras.putLong(NotePreviewActivity.EXT_NOTE_LOCAL_ID, allNotes.get(position).getId()); + intent.putExtras(extras); + + row.setOnClickFillInIntent(R.id.widget_note, intent); + return(row); + } + + @Override + public RemoteViews getLoadingView() { + return(null); + } + + @Override + public int getViewTypeCount() { + return(1); + } + + @Override + public long getItemId(int position) { + return(position); + } + + @Override + public boolean hasStableIds() { + return(true); + } + + @Override + public void onDataSetChanged() { + // no-op + } +} \ 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 new file mode 100644 index 0000000..066e72c --- /dev/null +++ b/app/src/main/java/org/houxg/leamonax/appwidget/NoteAppWidget.java @@ -0,0 +1,92 @@ +package org.houxg.leamonax.appwidget; + +import android.app.PendingIntent; +import android.appwidget.AppWidgetManager; +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; + +public class NoteAppWidget extends AppWidgetProvider { + + private int widgetIds[]; + + @Override + public void onReceive(Context context, Intent intent) { + super.onReceive(context, intent); + Log.i("debug!!!!!!!!!!!!!!!!","接收到广播"); +// abortBroadcast(); +// for (int i=0;i + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/rounded_corners.xml b/app/src/main/res/drawable/rounded_corners.xml new file mode 100644 index 0000000..210728a --- /dev/null +++ b/app/src/main/res/drawable/rounded_corners.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/note_app_widget.xml b/app/src/main/res/layout/note_app_widget.xml new file mode 100644 index 0000000..4d1b762 --- /dev/null +++ b/app/src/main/res/layout/note_app_widget.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/note_app_widget_configure.xml b/app/src/main/res/layout/note_app_widget_configure.xml new file mode 100644 index 0000000..d625c16 --- /dev/null +++ b/app/src/main/res/layout/note_app_widget_configure.xml @@ -0,0 +1,27 @@ + + + + + + + +