diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 88decb5d..192218b2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -18,5 +18,18 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/notes/simplemobiletools/com/MainActivity.java b/app/src/main/java/notes/simplemobiletools/com/MainActivity.java
index fba68e9f..858986e7 100644
--- a/app/src/main/java/notes/simplemobiletools/com/MainActivity.java
+++ b/app/src/main/java/notes/simplemobiletools/com/MainActivity.java
@@ -1,6 +1,9 @@
package notes.simplemobiletools.com;
+import android.appwidget.AppWidgetManager;
+import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
@@ -47,12 +50,25 @@ public class MainActivity extends AppCompatActivity {
private void saveText() {
final String text = notesView.getText().toString().trim();
prefs.edit().putString(Constants.TEXT, text).apply();
+
Toast.makeText(this, "Text saved", Toast.LENGTH_SHORT).show();
hideKeyboard();
+ updateWidget();
}
private void hideKeyboard() {
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(notesView.getWindowToken(), 0);
}
+
+ private void updateWidget() {
+ final Context context = getApplicationContext();
+ final AppWidgetManager widgetManager = AppWidgetManager.getInstance(context);
+ int[] ids = widgetManager.getAppWidgetIds(new ComponentName(context, MyWidgetProvider.class));
+
+ final Intent intent = new Intent(this, MyWidgetProvider.class);
+ intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
+ intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
+ sendBroadcast(intent);
+ }
}
diff --git a/app/src/main/java/notes/simplemobiletools/com/MyWidgetProvider.java b/app/src/main/java/notes/simplemobiletools/com/MyWidgetProvider.java
new file mode 100644
index 00000000..b1c3fde5
--- /dev/null
+++ b/app/src/main/java/notes/simplemobiletools/com/MyWidgetProvider.java
@@ -0,0 +1,27 @@
+package notes.simplemobiletools.com;
+
+import android.appwidget.AppWidgetManager;
+import android.appwidget.AppWidgetProvider;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.widget.RemoteViews;
+
+public class MyWidgetProvider extends AppWidgetProvider {
+ private static SharedPreferences prefs;
+
+ @Override
+ public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
+ prefs = context.getSharedPreferences(Constants.PREFS, Context.MODE_PRIVATE);
+ for (int widgetId : appWidgetIds) {
+ updateWidget(context, appWidgetManager, widgetId);
+ }
+ super.onUpdate(context, appWidgetManager, appWidgetIds);
+ }
+
+ private void updateWidget(Context context, AppWidgetManager widgetManager, int widgetId) {
+ final String text = prefs.getString(Constants.TEXT, "");
+ final RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);
+ remoteViews.setTextViewText(R.id.notesView, text);
+ widgetManager.updateAppWidget(widgetId, remoteViews);
+ }
+}
diff --git a/app/src/main/res/layout/widget.xml b/app/src/main/res/layout/widget.xml
new file mode 100644
index 00000000..963730a1
--- /dev/null
+++ b/app/src/main/res/layout/widget.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/app/src/main/res/xml/widget_info.xml b/app/src/main/res/xml/widget_info.xml
new file mode 100644
index 00000000..b36a1e31
--- /dev/null
+++ b/app/src/main/res/xml/widget_info.xml
@@ -0,0 +1,6 @@
+
+
+