diff --git a/app/src/main/java/com/simplemobiletools/notes/Config.java b/app/src/main/java/com/simplemobiletools/notes/Config.java
index 7264247b..251130c3 100644
--- a/app/src/main/java/com/simplemobiletools/notes/Config.java
+++ b/app/src/main/java/com/simplemobiletools/notes/Config.java
@@ -37,4 +37,12 @@ public class Config {
public void setIsAutosaveEnabled(boolean enabled) {
mPrefs.edit().putBoolean(Constants.AUTOSAVE, enabled).apply();
}
+
+ public boolean getShouldPromptAutosave() {
+ return mPrefs.getBoolean(Constants.PROMPT_AUTOSAVE, true);
+ }
+
+ public void setShouldPromptAutosave(boolean prompt) {
+ mPrefs.edit().putBoolean(Constants.PROMPT_AUTOSAVE, prompt).apply();
+ }
}
diff --git a/app/src/main/java/com/simplemobiletools/notes/Constants.java b/app/src/main/java/com/simplemobiletools/notes/Constants.java
index 8de4bba0..4303d304 100644
--- a/app/src/main/java/com/simplemobiletools/notes/Constants.java
+++ b/app/src/main/java/com/simplemobiletools/notes/Constants.java
@@ -8,6 +8,7 @@ public class Constants {
public static final String IS_FIRST_RUN = "is_first_run";
public static final String IS_DARK_THEME = "is_dark_theme";
public static final String AUTOSAVE = "autosave";
+ public static final String PROMPT_AUTOSAVE = "prompt_autosave";
public static final String WIDGET_BG_COLOR = "widget_bg_color";
public static final String WIDGET_TEXT_COLOR = "widget_text_color";
}
diff --git a/app/src/main/java/com/simplemobiletools/notes/activities/MainActivity.java b/app/src/main/java/com/simplemobiletools/notes/activities/MainActivity.java
index 47765ddb..6158d35d 100644
--- a/app/src/main/java/com/simplemobiletools/notes/activities/MainActivity.java
+++ b/app/src/main/java/com/simplemobiletools/notes/activities/MainActivity.java
@@ -3,10 +3,12 @@ package com.simplemobiletools.notes.activities;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
import android.view.Menu;
import android.view.MenuItem;
import android.view.inputmethod.InputMethodManager;
@@ -33,8 +35,7 @@ public class MainActivity extends SimpleActivity {
ButterKnife.bind(this);
mPrefs = getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE);
- final String text = mPrefs.getString(Constants.TEXT, "");
- mNotesView.setText(text);
+ mNotesView.setText(getSavedNote());
}
@Override
@@ -51,6 +52,16 @@ public class MainActivity extends SimpleActivity {
}
}
+ @Override
+ public void onBackPressed() {
+ if (mConfig.getShouldPromptAutosave() && !getCurrentNote().equals(getSavedNote())) {
+ mConfig.setShouldPromptAutosave(false);
+ displayAutosavePrompt();
+ } else {
+ super.onBackPressed();
+ }
+ }
+
@Override
protected void onDestroy() {
super.onDestroy();
@@ -86,8 +97,23 @@ public class MainActivity extends SimpleActivity {
}
}
+ private void displayAutosavePrompt() {
+ final AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
+ alertDialog.setTitle(getString(R.string.unsaved_changes));
+ alertDialog.setMessage(getString(R.string.autosave_prompt_msg));
+
+ alertDialog.setNegativeButton(R.string.cancel, null);
+ alertDialog.setPositiveButton(R.string.enable_autosave, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+
+ }
+ });
+ alertDialog.create().show();
+ }
+
private void saveText(boolean showToast) {
- final String text = mNotesView.getText().toString().trim();
+ final String text = getCurrentNote();
mPrefs.edit().putString(Constants.TEXT, text).apply();
if (showToast) {
@@ -99,7 +125,7 @@ public class MainActivity extends SimpleActivity {
}
private void shareText() {
- final String text = mNotesView.getText().toString().trim();
+ final String text = getCurrentNote();
if (text.isEmpty()) {
Utils.showToast(getApplicationContext(), R.string.cannot_share_empty_text);
return;
@@ -115,6 +141,14 @@ public class MainActivity extends SimpleActivity {
startActivity(Intent.createChooser(sendIntent, shareTitle));
}
+ private String getCurrentNote() {
+ return mNotesView.getText().toString().trim();
+ }
+
+ private String getSavedNote() {
+ return mPrefs.getString(Constants.TEXT, "");
+ }
+
private void hideKeyboard() {
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mNotesView.getWindowToken(), 0);
diff --git a/app/src/main/java/com/simplemobiletools/notes/activities/SettingsActivity.java b/app/src/main/java/com/simplemobiletools/notes/activities/SettingsActivity.java
index 0d5ba754..d55d87f6 100644
--- a/app/src/main/java/com/simplemobiletools/notes/activities/SettingsActivity.java
+++ b/app/src/main/java/com/simplemobiletools/notes/activities/SettingsActivity.java
@@ -26,6 +26,7 @@ public class SettingsActivity extends SimpleActivity {
setupDarkTheme();
setupAutosave();
+ mConfig.setShouldPromptAutosave(false);
}
private void setupDarkTheme() {
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index da485a2d..0f0af7f5 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -7,6 +7,10 @@
Impossibile condividere un testo vuoto
Testo salvato
Simple Note
+ Enable autosave
+ Cancel
+ Unsaved changes
+ Changes made to the note have not be saved. Do you want to enable autosave?
Impostazioni
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 4eda61af..7334b55a 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -7,6 +7,10 @@
空のテキストは共有できません
テキストを保存しました
シンプル メモ
+ Enable autosave
+ Cancel
+ Unsaved changes
+ Changes made to the note have not be saved. Do you want to enable autosave?
設定
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 30e946c1..34a58d31 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -7,6 +7,10 @@
Det går inte att dela utan text
Text sparad
Simple Note
+ Enable autosave
+ Cancel
+ Unsaved changes
+ Changes made to the note have not be saved. Do you want to enable autosave?
Inställningar
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0ced6572..de9fbdff 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -7,6 +7,10 @@
Cannot share empty text
Text Saved
Simple Note
+ Enable autosave
+ Cancel
+ Unsaved changes
+ Changes made to the note have not be saved. Do you want to enable autosave?
Settings
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 2928abbf..9e896afb 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -5,7 +5,6 @@
- @color/colorPrimaryDark
- @color/colorAccent
- @style/AppTheme.ActionBarStyle
- - @dimen/normal_text_size