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 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/note_app_widget_row.xml b/app/src/main/res/layout/note_app_widget_row.xml
new file mode 100644
index 0000000..d7390cd
--- /dev/null
+++ b/app/src/main/res/layout/note_app_widget_row.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-v14/dimens.xml b/app/src/main/res/values-v14/dimens.xml
new file mode 100644
index 0000000..4db8c59
--- /dev/null
+++ b/app/src/main/res/values-v14/dimens.xml
@@ -0,0 +1,10 @@
+
+
+
+
+ 0dp
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index 2853212..926dfe4 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -51,7 +51,7 @@
密码
预览
公开笔记
- 最近
+ 最近笔记
还原
还原中
保存
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 47c8224..fb6e235 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -2,4 +2,10 @@
16dp
16dp
+
+
+ 8dp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index a9e3678..cbf3633 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -121,4 +121,7 @@
We need some permission to start the application
Permission request
allow
+ EXAMPLE
+ Configure
+ Add widget
diff --git a/app/src/main/res/xml/widget_provider.xml b/app/src/main/res/xml/widget_provider.xml
new file mode 100644
index 0000000..dd9b674
--- /dev/null
+++ b/app/src/main/res/xml/widget_provider.xml
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index c2eea8e..7e01a0a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,9 +3,10 @@
buildscript {
repositories {
jcenter()
+ google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.3.3'
+ classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -15,6 +16,7 @@ buildscript {
allprojects {
repositories {
jcenter()
+ google()
}
}
diff --git a/gradle.properties b/gradle.properties
index aac7c9b..68d727f 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,17 +1,19 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
+## Project-wide Gradle settings.
+#
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
-
+#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
+# Default value: -Xmx1024m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
+#Mon Oct 30 23:00:23 CST 2017
+systemProp.socksProxyHost=127.0.0.1
+org.gradle.jvmargs=-Xmx1536m
+systemProp.socksProxyPort=1080
+systemprop.socksProxyVersion=5
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 6a435c5..7a73f98 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Oct 19 16:56:00 CST 2017
+#Wed Oct 25 13:31:06 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
\ No newline at end of file
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip