Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +25 −43 Original line number Diff line number Diff line Loading @@ -180,26 +180,20 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap private void setupNotesList() { initList(); // Pull to Refresh swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { swipeRefreshLayout.setOnRefreshListener(() -> { if (db.getNoteServerSyncHelper().isSyncPossible()) { synchronize(); } else { swipeRefreshLayout.setRefreshing(false); Toast.makeText(getApplicationContext(), getString(R.string.error_sync, getString(NotesClientUtil.LoginStatus.NO_NETWORK.str)), Toast.LENGTH_LONG).show(); } } }); // Floating Action Button fabCreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { fabCreate.setOnClickListener((View view) -> { Intent createIntent = new Intent(getApplicationContext(), EditNoteActivity.class); createIntent.putExtra(EditNoteActivity.PARAM_CATEGORY, navigationSelection); startActivityForResult(createIntent, create_note_cmd); } }); } Loading Loading @@ -373,12 +367,9 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap this.updateUsernameInDrawer(); final NotesListViewActivity that = this; this.account.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { this.account.setOnClickListener((View v) -> { Intent settingsIntent = new Intent(that, SettingsActivity.class); startActivityForResult(settingsIntent, server_settings); } }); adapterMenu.setItems(itemsMenu); Loading Loading @@ -424,14 +415,11 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap refreshLists(); Log.v("Note", "Item deleted through swipe ----------------------------------------------"); Snackbar.make(swipeRefreshLayout, R.string.action_note_deleted, Snackbar.LENGTH_LONG) .setAction(R.string.action_undo, new View.OnClickListener() { @Override public void onClick(View v) { .setAction(R.string.action_undo, (View v) -> { db.addNoteAndSync(dbNote); refreshLists(); Snackbar.make(swipeRefreshLayout, R.string.action_note_restored, Snackbar.LENGTH_SHORT) .show(); } }) .show(); break; Loading Loading @@ -485,15 +473,12 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap query = searchView.getQuery(); } LoadNotesListTask.NotesLoadedListener callback = new LoadNotesListTask.NotesLoadedListener() { @Override public void onNotesLoaded(List<Item> notes, boolean showCategory) { LoadNotesListTask.NotesLoadedListener callback = (List<Item> notes, boolean showCategory) -> { adapter.setShowCategory(showCategory); adapter.setItemList(notes); if (scrollToTop) { listView.scrollToPosition(0); } } }; new LoadNotesListTask(getApplicationContext(), callback, navigationSelection, query).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new LoadCategoryListTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); Loading Loading @@ -534,11 +519,8 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap if (currentVisibility == View.VISIBLE) { fabCreate.hide(); } else { new Handler().postDelayed(new Runnable() { @Override public void run() { new Handler().postDelayed(() -> { fabCreate.show(); } }, 150); } Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/SettingsActivity.java +13 −24 Original line number Diff line number Diff line Loading @@ -6,9 +6,6 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; import com.google.android.material.textfield.TextInputLayout; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; Loading @@ -19,6 +16,10 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.android.material.textfield.TextInputLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import at.bitfire.cert4android.CustomCertManager; import butterknife.BindView; import butterknife.ButterKnife; Loading Loading @@ -76,11 +77,8 @@ public class SettingsActivity extends AppCompatActivity { } } field_url.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { field_url.setOnFocusChangeListener((View v, boolean hasFocus) -> { new URLValidatorAsyncTask().execute(NotesClientUtil.formatURL(field_url.getText().toString())); } }); field_url.addTextChangedListener(new TextWatcher() { Loading Loading @@ -128,27 +126,18 @@ public class SettingsActivity extends AppCompatActivity { field_username.setText(preferences.getString(SETTINGS_USERNAME, DEFAULT_SETTINGS)); old_password = preferences.getString(SETTINGS_PASSWORD, DEFAULT_SETTINGS); field_password.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { field_password.setOnEditorActionListener((TextView v, int actionId, KeyEvent event) -> { login(); return true; } }); field_password.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { field_password.setOnFocusChangeListener((View v, boolean hasFocus) -> { setPasswordHint(hasFocus); } }); setPasswordHint(false); btn_submit.setEnabled(false); btn_submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btn_submit.setOnClickListener((View v) -> { login(); } }); } Loading app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java +28 −18 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import android.util.Log; import android.widget.RemoteViews; import it.niedermann.owncloud.notes.R; Loading Loading @@ -104,13 +105,21 @@ public class NoteListWidget extends AppWidgetProvider { super.onReceive(context, intent); AppWidgetManager awm = AppWidgetManager.getInstance(context); if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) { if (intent.getAction() != null) { if (intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) { if (intent.hasExtra(AppWidgetManager.EXTRA_APPWIDGET_ID)) { if (intent.getExtras() != null) { updateAppWidget(context, awm, new int[]{intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1)}); } else { Log.w(NoteListWidget.class.getSimpleName(), "intent.getExtras() is null"); } } else { updateAppWidget(context, awm, awm.getAppWidgetIds(new ComponentName(context, NoteListWidget.class))); } } } else { Log.w(NoteListWidget.class.getSimpleName(), "intent.getAction() is null"); } } @Override Loading @@ -129,10 +138,11 @@ public class NoteListWidget extends AppWidgetProvider { } private static String getWidgetTitle(Context context, int displayMode, String category) { switch (displayMode) { case NoteListWidget.NLW_DISPLAY_ALL: return context.getString(R.string.app_name); case NoteListWidget.NLW_DISPLAY_STARRED: return context.getString(R.string.label_favorites); switch (displayMode) { case NoteListWidget.NLW_DISPLAY_ALL: return context.getString(R.string.app_name); case NoteListWidget.NLW_DISPLAY_STARRED: return context.getString(R.string.label_favorites); case NoteListWidget.NLW_DISPLAY_CATEGORY: if (category.equals("")) { return context.getString(R.string.action_uncategorized); Loading app/src/main/java/it/niedermann/owncloud/notes/android/fragment/CategoryDialogFragment.java +8 −3 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import android.content.Context; import android.content.DialogInterface; import android.os.AsyncTask; import android.os.Bundle; import androidx.annotation.NonNull; import android.util.Log; import android.view.View; import android.view.WindowManager; import android.widget.ArrayAdapter; Loading @@ -17,6 +17,7 @@ import android.widget.Filter; import java.util.ArrayList; import java.util.List; import androidx.annotation.NonNull; import butterknife.BindView; import butterknife.ButterKnife; import it.niedermann.owncloud.notes.R; Loading Loading @@ -68,7 +69,7 @@ public class CategoryDialogFragment extends DialogFragment { public void onClick(DialogInterface dialog, int which) { CategoryDialogListener listener; Fragment target = getTargetFragment(); if (target != null && target instanceof CategoryDialogListener) { if (target instanceof CategoryDialogListener) { listener = (CategoryDialogListener) target; } else { listener = (CategoryDialogListener) getActivity(); Loading @@ -88,7 +89,11 @@ public class CategoryDialogFragment extends DialogFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (getDialog().getWindow() != null) { getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } else { Log.w(CategoryDialogFragment.class.getSimpleName(), "can not set SOFT_INPUT_STATE_ALWAYAS_VISIBLE because getWindow() == null"); } } Loading app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java +38 −34 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ public class NoteEditFragment extends BaseNoteFragment { public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if(getView() != null) { ButterKnife.bind(this, getView()); setActiveTextView(editContent); Loading Loading @@ -147,6 +148,9 @@ public class NoteEditFragment extends BaseNoteFragment { if (sp.getBoolean("font", false)) { editContent.setTypeface(Typeface.MONOSPACE); } } else { Log.e(NoteEditFragment.class.getSimpleName(), "getView() is null"); } } @Override Loading Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +25 −43 Original line number Diff line number Diff line Loading @@ -180,26 +180,20 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap private void setupNotesList() { initList(); // Pull to Refresh swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { swipeRefreshLayout.setOnRefreshListener(() -> { if (db.getNoteServerSyncHelper().isSyncPossible()) { synchronize(); } else { swipeRefreshLayout.setRefreshing(false); Toast.makeText(getApplicationContext(), getString(R.string.error_sync, getString(NotesClientUtil.LoginStatus.NO_NETWORK.str)), Toast.LENGTH_LONG).show(); } } }); // Floating Action Button fabCreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { fabCreate.setOnClickListener((View view) -> { Intent createIntent = new Intent(getApplicationContext(), EditNoteActivity.class); createIntent.putExtra(EditNoteActivity.PARAM_CATEGORY, navigationSelection); startActivityForResult(createIntent, create_note_cmd); } }); } Loading Loading @@ -373,12 +367,9 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap this.updateUsernameInDrawer(); final NotesListViewActivity that = this; this.account.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { this.account.setOnClickListener((View v) -> { Intent settingsIntent = new Intent(that, SettingsActivity.class); startActivityForResult(settingsIntent, server_settings); } }); adapterMenu.setItems(itemsMenu); Loading Loading @@ -424,14 +415,11 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap refreshLists(); Log.v("Note", "Item deleted through swipe ----------------------------------------------"); Snackbar.make(swipeRefreshLayout, R.string.action_note_deleted, Snackbar.LENGTH_LONG) .setAction(R.string.action_undo, new View.OnClickListener() { @Override public void onClick(View v) { .setAction(R.string.action_undo, (View v) -> { db.addNoteAndSync(dbNote); refreshLists(); Snackbar.make(swipeRefreshLayout, R.string.action_note_restored, Snackbar.LENGTH_SHORT) .show(); } }) .show(); break; Loading Loading @@ -485,15 +473,12 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap query = searchView.getQuery(); } LoadNotesListTask.NotesLoadedListener callback = new LoadNotesListTask.NotesLoadedListener() { @Override public void onNotesLoaded(List<Item> notes, boolean showCategory) { LoadNotesListTask.NotesLoadedListener callback = (List<Item> notes, boolean showCategory) -> { adapter.setShowCategory(showCategory); adapter.setItemList(notes); if (scrollToTop) { listView.scrollToPosition(0); } } }; new LoadNotesListTask(getApplicationContext(), callback, navigationSelection, query).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); new LoadCategoryListTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); Loading Loading @@ -534,11 +519,8 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap if (currentVisibility == View.VISIBLE) { fabCreate.hide(); } else { new Handler().postDelayed(new Runnable() { @Override public void run() { new Handler().postDelayed(() -> { fabCreate.show(); } }, 150); } Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/SettingsActivity.java +13 −24 Original line number Diff line number Diff line Loading @@ -6,9 +6,6 @@ import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; import com.google.android.material.textfield.TextInputLayout; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AppCompatActivity; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; Loading @@ -19,6 +16,10 @@ import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.google.android.material.textfield.TextInputLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import at.bitfire.cert4android.CustomCertManager; import butterknife.BindView; import butterknife.ButterKnife; Loading Loading @@ -76,11 +77,8 @@ public class SettingsActivity extends AppCompatActivity { } } field_url.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { field_url.setOnFocusChangeListener((View v, boolean hasFocus) -> { new URLValidatorAsyncTask().execute(NotesClientUtil.formatURL(field_url.getText().toString())); } }); field_url.addTextChangedListener(new TextWatcher() { Loading Loading @@ -128,27 +126,18 @@ public class SettingsActivity extends AppCompatActivity { field_username.setText(preferences.getString(SETTINGS_USERNAME, DEFAULT_SETTINGS)); old_password = preferences.getString(SETTINGS_PASSWORD, DEFAULT_SETTINGS); field_password.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { field_password.setOnEditorActionListener((TextView v, int actionId, KeyEvent event) -> { login(); return true; } }); field_password.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { field_password.setOnFocusChangeListener((View v, boolean hasFocus) -> { setPasswordHint(hasFocus); } }); setPasswordHint(false); btn_submit.setEnabled(false); btn_submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btn_submit.setOnClickListener((View v) -> { login(); } }); } Loading
app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java +28 −18 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import android.util.Log; import android.widget.RemoteViews; import it.niedermann.owncloud.notes.R; Loading Loading @@ -104,13 +105,21 @@ public class NoteListWidget extends AppWidgetProvider { super.onReceive(context, intent); AppWidgetManager awm = AppWidgetManager.getInstance(context); if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) { if (intent.getAction() != null) { if (intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) { if (intent.hasExtra(AppWidgetManager.EXTRA_APPWIDGET_ID)) { if (intent.getExtras() != null) { updateAppWidget(context, awm, new int[]{intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1)}); } else { Log.w(NoteListWidget.class.getSimpleName(), "intent.getExtras() is null"); } } else { updateAppWidget(context, awm, awm.getAppWidgetIds(new ComponentName(context, NoteListWidget.class))); } } } else { Log.w(NoteListWidget.class.getSimpleName(), "intent.getAction() is null"); } } @Override Loading @@ -129,10 +138,11 @@ public class NoteListWidget extends AppWidgetProvider { } private static String getWidgetTitle(Context context, int displayMode, String category) { switch (displayMode) { case NoteListWidget.NLW_DISPLAY_ALL: return context.getString(R.string.app_name); case NoteListWidget.NLW_DISPLAY_STARRED: return context.getString(R.string.label_favorites); switch (displayMode) { case NoteListWidget.NLW_DISPLAY_ALL: return context.getString(R.string.app_name); case NoteListWidget.NLW_DISPLAY_STARRED: return context.getString(R.string.label_favorites); case NoteListWidget.NLW_DISPLAY_CATEGORY: if (category.equals("")) { return context.getString(R.string.action_uncategorized); Loading
app/src/main/java/it/niedermann/owncloud/notes/android/fragment/CategoryDialogFragment.java +8 −3 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ import android.content.Context; import android.content.DialogInterface; import android.os.AsyncTask; import android.os.Bundle; import androidx.annotation.NonNull; import android.util.Log; import android.view.View; import android.view.WindowManager; import android.widget.ArrayAdapter; Loading @@ -17,6 +17,7 @@ import android.widget.Filter; import java.util.ArrayList; import java.util.List; import androidx.annotation.NonNull; import butterknife.BindView; import butterknife.ButterKnife; import it.niedermann.owncloud.notes.R; Loading Loading @@ -68,7 +69,7 @@ public class CategoryDialogFragment extends DialogFragment { public void onClick(DialogInterface dialog, int which) { CategoryDialogListener listener; Fragment target = getTargetFragment(); if (target != null && target instanceof CategoryDialogListener) { if (target instanceof CategoryDialogListener) { listener = (CategoryDialogListener) target; } else { listener = (CategoryDialogListener) getActivity(); Loading @@ -88,7 +89,11 @@ public class CategoryDialogFragment extends DialogFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (getDialog().getWindow() != null) { getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); } else { Log.w(CategoryDialogFragment.class.getSimpleName(), "can not set SOFT_INPUT_STATE_ALWAYAS_VISIBLE because getWindow() == null"); } } Loading
app/src/main/java/it/niedermann/owncloud/notes/android/fragment/NoteEditFragment.java +38 −34 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ public class NoteEditFragment extends BaseNoteFragment { public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if(getView() != null) { ButterKnife.bind(this, getView()); setActiveTextView(editContent); Loading Loading @@ -147,6 +148,9 @@ public class NoteEditFragment extends BaseNoteFragment { if (sp.getBoolean("font", false)) { editContent.setTypeface(Typeface.MONOSPACE); } } else { Log.e(NoteEditFragment.class.getSimpleName(), "getView() is null"); } } @Override Loading