mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-06-05 17:00:23 +02:00
add the Autosave option
This commit is contained in:
@ -21,4 +21,12 @@ public class Config {
|
||||
public void setIsFirstRun(boolean firstRun) {
|
||||
mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply();
|
||||
}
|
||||
|
||||
public boolean getIsAutosaveEnabled() {
|
||||
return mPrefs.getBoolean(Constants.AUTOSAVE, false);
|
||||
}
|
||||
|
||||
public void setIsAutosaveEnabled(boolean enabled) {
|
||||
mPrefs.edit().putBoolean(Constants.AUTOSAVE, enabled).apply();
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ public class Constants {
|
||||
// shared preferences
|
||||
public static final String PREFS_KEY = "Notes";
|
||||
public static final String IS_FIRST_RUN = "is_first_run";
|
||||
public static final String AUTOSAVE = "autosave";
|
||||
public static final String WIDGET_BG_COLOR = "widget_bg_color";
|
||||
public static final String WIDGET_TEXT_COLOR = "widget_text_color";
|
||||
}
|
||||
|
@ -8,6 +8,8 @@ import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.text.Html;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
@ -40,6 +42,24 @@ public class AboutActivity extends AppCompatActivity {
|
||||
setupRateUs();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_about, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.settings:
|
||||
final Intent intent = new Intent(getApplicationContext(), SettingsActivity.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
default:
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupEmail() {
|
||||
final String email = mRes.getString(R.string.email);
|
||||
final String appName = mRes.getString(R.string.app_name);
|
||||
|
@ -12,7 +12,6 @@ import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.simplemobiletools.notes.Config;
|
||||
import com.simplemobiletools.notes.Constants;
|
||||
@ -39,6 +38,20 @@ public class MainActivity extends AppCompatActivity {
|
||||
mNotesView.setText(text);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
if (Config.newInstance(getApplicationContext()).getIsAutosaveEnabled()) {
|
||||
saveText(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
@ -48,6 +61,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu, menu);
|
||||
if (Config.newInstance(getApplicationContext()).getIsAutosaveEnabled())
|
||||
menu.findItem(R.id.save).setVisible(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -55,7 +71,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.save:
|
||||
saveText();
|
||||
saveText(true);
|
||||
return true;
|
||||
case R.id.share:
|
||||
shareText();
|
||||
@ -69,11 +85,14 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
|
||||
private void saveText() {
|
||||
private void saveText(boolean showToast) {
|
||||
final String text = mNotesView.getText().toString().trim();
|
||||
mPrefs.edit().putString(Constants.TEXT, text).apply();
|
||||
|
||||
Toast.makeText(this, getResources().getString(R.string.text_saved), Toast.LENGTH_SHORT).show();
|
||||
if (showToast) {
|
||||
Utils.showToast(getApplicationContext(), R.string.text_saved);
|
||||
}
|
||||
|
||||
hideKeyboard();
|
||||
updateWidget();
|
||||
}
|
||||
@ -81,7 +100,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
private void shareText() {
|
||||
final String text = mNotesView.getText().toString().trim();
|
||||
if (text.isEmpty()) {
|
||||
Utils.showToast(this, R.string.cannot_share_empty_text);
|
||||
Utils.showToast(getApplicationContext(), R.string.cannot_share_empty_text);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,38 @@
|
||||
package com.simplemobiletools.notes.activities;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
|
||||
import com.simplemobiletools.notes.Config;
|
||||
import com.simplemobiletools.notes.R;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
public class SettingsActivity extends AppCompatActivity {
|
||||
@BindView(R.id.settings_autosave) SwitchCompat mAutosaveSwitch;
|
||||
|
||||
private static Config mConfig;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_settings);
|
||||
mConfig = Config.newInstance(getApplicationContext());
|
||||
ButterKnife.bind(this);
|
||||
|
||||
setupAutosave();
|
||||
}
|
||||
|
||||
private void setupAutosave() {
|
||||
mAutosaveSwitch.setChecked(mConfig.getIsAutosaveEnabled());
|
||||
}
|
||||
|
||||
@OnClick(R.id.settings_autosave_holder)
|
||||
public void handleAutosave() {
|
||||
mAutosaveSwitch.setChecked(!mAutosaveSwitch.isChecked());
|
||||
mConfig.setIsAutosaveEnabled(mAutosaveSwitch.isChecked());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user