Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-07-29 19:13:12 +0300
committerStefan Niedermann <info@niedermann.it>2021-07-29 19:13:12 +0300
commit085bb7a94c2c459f356bc95bb20eca255128b092 (patch)
treecdeb46b89787bdb43f283cbb58d569632fea1a5a
parentd94721f2134b6e206b9aeeea5d77d0d8ebc546aa (diff)
Make use of Java 10 var keyword
Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java17
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java40
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java36
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java36
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java22
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java24
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java5
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java56
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java48
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java26
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java1
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java42
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java46
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java30
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java20
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java5
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java5
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java2
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java3
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java16
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java14
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java14
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragmentTest.java4
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecorationTest.java8
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/AccountDaoTest.java10
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/ApiProviderTest.java6
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClientTest.java8
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesDaoTest.java80
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesRepositoryTest.java26
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesTestingUtil.java8
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializerTest.java8
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/persistence/util/NotesColorUtilTest.java8
-rw-r--r--app/src/test/java/it/niedermann/owncloud/notes/shared/util/NavigationCategorySortingMethodTest.java12
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/MarkdownUtil.java44
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/MentionUtil.java10
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownEditor.java8
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownViewer.java14
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedFormattingCallback.java4
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedRangeFormattingCallback.java6
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeBlockEditHandler.java2
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeEditHandler.java3
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/LinkEditHandler.java2
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/StrikethroughEditHandler.java3
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/SearchHighlightPlugin.java2
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPlugin.java24
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/span/InterceptedURLSpan.java2
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/AutoContinuationTextWatcher.java16
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/LowerIndentionTextWatcher.java2
-rw-r--r--markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/SearchHighlightTextWatcher.java4
-rw-r--r--markdown/src/test/java/it/niedermann/android/markdown/ListTagHandlerTest.java2
-rw-r--r--markdown/src/test/java/it/niedermann/android/markdown/MarkdownUtilTest.java78
-rw-r--r--markdown/src/test/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPluginTest.java68
116 files changed, 725 insertions, 729 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
index 29d2d0ad..f8c647c3 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/AppendToNoteActivity.java
@@ -37,7 +37,7 @@ public class AppendToNoteActivity extends MainActivity {
@Override
public void onNoteClick(int position, View v) {
if (!TextUtils.isEmpty(receivedText)) {
- final LiveData<Note> fullNote$ = mainViewModel.getFullNote$(((Note) adapter.getItem(position)).getId());
+ final var fullNote$ = mainViewModel.getFullNote$(((Note) adapter.getItem(position)).getId());
fullNote$.observe(this, (fullNote) -> {
fullNote$.removeObservers(this);
final String oldContent = fullNote.getContent();
@@ -47,7 +47,7 @@ public class AppendToNoteActivity extends MainActivity {
} else {
newContent = receivedText;
}
- LiveData<Void> updateLiveData = mainViewModel.updateNoteAndSync(fullNote, newContent, null);
+ final var updateLiveData = mainViewModel.updateNoteAndSync(fullNote, newContent, null);
updateLiveData.observe(this, (next) -> {
Toast.makeText(this, getString(R.string.added_content, receivedText), Toast.LENGTH_SHORT).show();
updateLiveData.removeObservers(this);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java
index 4bd65501..5d4f8eba 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/FormattingHelpActivity.java
@@ -35,7 +35,7 @@ public class FormattingHelpActivity extends BrandedActivity {
binding.content.setMovementMethod(LinkMovementMethod.getInstance());
binding.content.setMarkdownString(buildFormattingHelp());
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ final var sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
binding.content.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(this, sp));
if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
binding.content.setTypeface(Typeface.MONOSPACE);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
index 7a58282f..f5695a40 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/LockedActivity.java
@@ -99,11 +99,11 @@ public abstract class LockedActivity extends BrandedActivity {
private void askToUnlock() {
if (NotesApplication.isLocked()) {
- KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
+ final var keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
if (keyguardManager != null) {
- Intent i = keyguardManager.createConfirmDeviceCredentialIntent(getString(R.string.unlock_notes), null);
- i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
- startActivityForResult(i, REQUEST_CODE_UNLOCK);
+ final var intent = keyguardManager.createConfirmDeviceCredentialIntent(getString(R.string.unlock_notes), null);
+ intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
+ startActivityForResult(intent, REQUEST_CODE_UNLOCK);
} else {
Log.e(TAG, "Keyguard manager is null");
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java
index 7299bc59..e177f7c7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/NotesApplication.java
@@ -27,7 +27,7 @@ public class NotesApplication extends Application {
public void onCreate() {
PREF_KEY_THEME = getString(R.string.pref_key_theme);
setAppTheme(getAppTheme(getApplicationContext()));
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ final var prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
lockedPreference = prefs.getBoolean(getString(R.string.pref_key_lock), false);
isGridViewEnabled = getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_gridview), false);
super.onCreate();
@@ -46,12 +46,12 @@ public class NotesApplication extends Application {
}
public static DarkModeSetting getAppTheme(Context context) {
- SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
+ final var prefs = PreferenceManager.getDefaultSharedPreferences(context);
String mode;
try {
mode = prefs.getString(PREF_KEY_THEME, DarkModeSetting.SYSTEM_DEFAULT.name());
} catch (ClassCastException e) {
- boolean darkModeEnabled = prefs.getBoolean(PREF_KEY_THEME, false);
+ final boolean darkModeEnabled = prefs.getBoolean(PREF_KEY_THEME, false);
mode = darkModeEnabled ? DarkModeSetting.DARK.name() : DarkModeSetting.LIGHT.name();
}
return DarkModeSetting.valueOf(mode);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java
index ad14204f..8b72b226 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/SplashscreenActivity.java
@@ -19,7 +19,7 @@ public class SplashscreenActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this));
- Intent intent = new Intent(this, MainActivity.class);
+ final var intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java
index 369c77a0..2e17e45d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentContributingTab.java
@@ -16,10 +16,10 @@ public class AboutFragmentContributingTab extends Fragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- FragmentAboutContributionTabBinding b = FragmentAboutContributionTabBinding.inflate(inflater, container, false);
- SupportUtil.setHtml(b.aboutSource, R.string.about_source, getString(R.string.url_source));
- SupportUtil.setHtml(b.aboutIssues, R.string.about_issues, getString(R.string.url_issues));
- SupportUtil.setHtml(b.aboutTranslate, R.string.about_translate, getString(R.string.url_translations));
- return b.getRoot();
+ final var binding = FragmentAboutContributionTabBinding.inflate(inflater, container, false);
+ SupportUtil.setHtml(binding.aboutSource, R.string.about_source, getString(R.string.url_source));
+ SupportUtil.setHtml(binding.aboutIssues, R.string.about_issues, getString(R.string.url_issues));
+ SupportUtil.setHtml(binding.aboutTranslate, R.string.about_translate, getString(R.string.url_translations));
+ return binding.getRoot();
}
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java
index fc18f5ea..f92ca9ee 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/about/AboutFragmentCreditsTab.java
@@ -17,7 +17,7 @@ public class AboutFragmentCreditsTab extends Fragment {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- FragmentAboutCreditsTabBinding binding = FragmentAboutCreditsTabBinding.inflate(inflater, container, false);
+ final var binding = FragmentAboutCreditsTabBinding.inflate(inflater, container, false);
SupportUtil.setHtml(binding.aboutVersion, R.string.about_version, "v" + BuildConfig.VERSION_NAME);
SupportUtil.setHtml(binding.aboutMaintainer, R.string.about_maintainer);
SupportUtil.setHtml(binding.aboutTranslators, R.string.about_translators_transifex, getString(R.string.url_translations));
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java
index 841ae646..56350be7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/accountpicker/AccountPickerDialogFragment.java
@@ -56,16 +56,15 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment {
} else {
throw new ClassCastException("Caller must implement " + AccountPickerListener.class.getSimpleName());
}
- final Bundle args = requireArguments();
- final Collection<?> accounts;
+ final var args = requireArguments();
if (!args.containsKey(PARAM_TARGET_ACCOUNTS)) {
throw new IllegalArgumentException(PARAM_TARGET_ACCOUNTS + " is required.");
}
- accounts = (Collection<?>) args.getSerializable(PARAM_TARGET_ACCOUNTS);
+ final var accounts = (Collection<?>) args.getSerializable(PARAM_TARGET_ACCOUNTS);
if (accounts == null) {
throw new IllegalArgumentException(PARAM_TARGET_ACCOUNTS + " is required.");
}
- long currentAccountId = requireArguments().getLong(PARAM_CURRENT_ACCOUNT_ID, -1L);
+ final long currentAccountId = requireArguments().getLong(PARAM_CURRENT_ACCOUNT_ID, -1L);
targetAccounts = accounts
.stream()
.map(a -> (Account) a)
@@ -76,13 +75,13 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog.Builder dialogBuilder = new BrandedAlertDialogBuilder(requireActivity())
+ final var dialogBuilder = new BrandedAlertDialogBuilder(requireActivity())
.setTitle(R.string.simple_move)
.setNegativeButton(android.R.string.cancel, null);
if (targetAccounts.size() > 0) {
- final DialogChooseAccountBinding binding = DialogChooseAccountBinding.inflate(LayoutInflater.from(requireContext()));
- RecyclerView.Adapter<AccountChooserViewHolder> adapter = new AccountChooserAdapter(targetAccounts, (account -> {
+ final var binding = DialogChooseAccountBinding.inflate(LayoutInflater.from(requireContext()));
+ final var adapter = new AccountChooserAdapter(targetAccounts, (account -> {
accountPickerListener.onAccountPicked(account);
dismiss();
}));
@@ -103,8 +102,8 @@ public class AccountPickerDialogFragment extends BrandedDialogFragment {
}
public static DialogFragment newInstance(@NonNull ArrayList<Account> targetAccounts, long currentAccountId) {
- final DialogFragment fragment = new AccountPickerDialogFragment();
- final Bundle args = new Bundle();
+ final var fragment = new AccountPickerDialogFragment();
+ final var args = new Bundle();
args.putSerializable(PARAM_TARGET_ACCOUNTS, targetAccounts);
args.putLong(PARAM_CURRENT_ACCOUNT_ID, currentAccountId);
fragment.setArguments(args);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
index e1ba3e8e..b15f6308 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/accountswitcher/AccountSwitcherDialog.java
@@ -47,7 +47,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
throw new ClassCastException("Caller must implement " + AccountSwitcherListener.class.getSimpleName());
}
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args == null || !args.containsKey(KEY_CURRENT_ACCOUNT_ID)) {
throw new IllegalArgumentException("Please provide at least " + KEY_CURRENT_ACCOUNT_ID);
@@ -63,7 +63,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
public Dialog onCreateDialog(Bundle savedInstanceState) {
binding = DialogAccountSwitcherBinding.inflate(requireActivity().getLayoutInflater());
- final LiveData<Account> account$ = repo.getAccountById$(currentAccountId);
+ final var account$ = repo.getAccountById$(currentAccountId);
account$.observe(requireActivity(), (currentLocalAccount) -> {
account$.removeObservers(requireActivity());
@@ -76,15 +76,15 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
.into(binding.currentAccountItemAvatar);
binding.accountLayout.setOnClickListener((v) -> dismiss());
- final AccountSwitcherAdapter adapter = new AccountSwitcherAdapter((localAccount -> {
+ final var adapter = new AccountSwitcherAdapter((localAccount -> {
accountSwitcherListener.onAccountChosen(localAccount);
dismiss();
}));
binding.accountsList.setAdapter(adapter);
- final LiveData<List<Account>> localAccounts$ = repo.getAccounts$();
+ final var localAccounts$ = repo.getAccounts$();
localAccounts$.observe(requireActivity(), (localAccounts) -> {
localAccounts$.removeObservers(requireActivity());
- for (Account localAccount : localAccounts) {
+ for (final var localAccount : localAccounts) {
if (localAccount.getId() == currentLocalAccount.getId()) {
localAccounts.remove(localAccount);
break;
@@ -110,9 +110,9 @@ public class AccountSwitcherDialog extends BrandedDialogFragment {
}
public static DialogFragment newInstance(long currentAccountId) {
- DialogFragment dialog = new AccountSwitcherDialog();
+ final var dialog = new AccountSwitcherDialog();
- Bundle args = new Bundle();
+ final var args = new Bundle();
args.putLong(KEY_CURRENT_ACCOUNT_ID, currentAccountId);
dialog.setArguments(args);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java
index 55d492d6..e7cc6dfd 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedActivity.java
@@ -34,7 +34,7 @@ public abstract class BrandedActivity extends AppCompatActivity implements Brand
protected void onStart() {
super.onStart();
- final TypedValue typedValue = new TypedValue();
+ final var typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true);
colorAccent = typedValue.data;
@@ -53,13 +53,13 @@ public abstract class BrandedActivity extends AppCompatActivity implements Brand
// FIXME Workaround for https://github.com/stefan-niedermann/nextcloud-notes/issues/889
appBarLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.primary));
- final Drawable overflowDrawable = toolbar.getOverflowIcon();
+ final var overflowDrawable = toolbar.getOverflowIcon();
if (overflowDrawable != null) {
overflowDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP);
toolbar.setOverflowIcon(overflowDrawable);
}
- final Drawable navigationDrawable = toolbar.getNavigationIcon();
+ final var navigationDrawable = toolbar.getNavigationIcon();
if (navigationDrawable != null) {
navigationDrawable.setColorFilter(colorAccent, PorterDuff.Mode.SRC_ATOP);
toolbar.setNavigationIcon(navigationDrawable);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java
index 940d978d..c48e6298 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedAlertDialogBuilder.java
@@ -24,7 +24,7 @@ public class BrandedAlertDialogBuilder extends AlertDialog.Builder implements Br
public AlertDialog create() {
this.dialog = super.create();
- @NonNull Context context = getContext();
+ @NonNull final var context = getContext();
@ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
@ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
applyBrand(mainColor, textColor);
@@ -35,11 +35,11 @@ public class BrandedAlertDialogBuilder extends AlertDialog.Builder implements Br
@CallSuper
@Override
public void applyBrand(int mainColor, int textColor) {
- final Button[] buttons = new Button[3];
+ final var buttons = new Button[3];
buttons[0] = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
buttons[1] = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
buttons[2] = dialog.getButton(DialogInterface.BUTTON_NEUTRAL);
- for (Button button : buttons) {
+ for (final var button : buttons) {
if (button != null) {
button.setTextColor(getSecondaryForegroundColorDependingOnTheme(button.getContext(), mainColor));
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java
index 113acf49..e50b6fcb 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDeleteAlertDialogBuilder.java
@@ -18,7 +18,7 @@ public class BrandedDeleteAlertDialogBuilder extends BrandedAlertDialogBuilder {
@Override
public void applyBrand(int mainColor, int textColor) {
super.applyBrand(mainColor, textColor);
- final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+ final var positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
if (positiveButton != null) {
positiveButton.setTextColor(getContext().getResources().getColor(R.color.bg_attention));
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java
index 57d24adf..b930c63a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedDialogFragment.java
@@ -12,11 +12,9 @@ public abstract class BrandedDialogFragment extends DialogFragment implements Br
public void onStart() {
super.onStart();
- @Nullable Context context = getContext();
- if (context != null) {
- @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
- @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
- applyBrand(mainColor, textColor);
- }
+ @Nullable final var context = requireContext();
+ @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
+ @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
+ applyBrand(mainColor, textColor);
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java
index b134919c..993ee377 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedFragment.java
@@ -25,18 +25,16 @@ public abstract class BrandedFragment extends Fragment implements Branded {
public void onStart() {
super.onStart();
- final TypedValue typedValue = new TypedValue();
- requireActivity().getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true);
+ final var context = requireContext();
+ final var typedValue = new TypedValue();
+ context.getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true);
colorAccent = typedValue.data;
- requireActivity().getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true);
+ context.getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true);
colorPrimary = typedValue.data;
- @Nullable Context context = getContext();
- if (context != null) {
- @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
- @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
- applyBrand(mainColor, textColor);
- }
+ @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
+ @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
+ applyBrand(mainColor, textColor);
}
@Override
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java
index 7d75a412..620ec4b6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedPreferenceCategory.java
@@ -34,11 +34,11 @@ public class BrandedPreferenceCategory extends PreferenceCategory {
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
- final View v = holder.itemView.findViewById(android.R.id.title);
- @Nullable final Context context = getContext();
- if (context != null && v instanceof TextView) {
+ final var view = holder.itemView.findViewById(android.R.id.title);
+ @Nullable final var context = getContext();
+ if (context != null && view instanceof TextView) {
@ColorInt final int mainColor = getSecondaryForegroundColorDependingOnTheme(context, BrandingUtil.readBrandMainColor(context));
- ((TextView) v).setTextColor(mainColor);
+ ((TextView) view).setTextColor(mainColor);
}
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
index 1bb39297..8e3a4d9f 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSnackbar.java
@@ -14,7 +14,7 @@ public class BrandedSnackbar {
@NonNull
public static Snackbar make(@NonNull View view, @NonNull CharSequence text, @Snackbar.Duration int duration) {
- final Snackbar snackbar = Snackbar.make(view, text, duration);
+ final var snackbar = Snackbar.make(view, text, duration);
final int color = BrandingUtil.readBrandMainColor(view.getContext());
snackbar.setActionTextColor(ColorUtil.INSTANCE.isColorDark(color) ? Color.WHITE : color);
return snackbar;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java
index d81d3df2..07eb0c63 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandedSwitchPreference.java
@@ -1,5 +1,6 @@
package it.niedermann.owncloud.notes.branding;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.ColorStateList;
import android.graphics.Color;
@@ -26,6 +27,7 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded
@ColorInt
private Integer textColor = null;
+ @SuppressLint("UseSwitchCompatOrMaterialCode")
@Nullable
private Switch switchView;
@@ -92,11 +94,11 @@ public class BrandedSwitchPreference extends SwitchPreference implements Branded
return (Switch) view;
}
if (view instanceof ViewGroup) {
- ViewGroup viewGroup = (ViewGroup) view;
+ final var viewGroup = (ViewGroup) view;
for (int i = 0; i < viewGroup.getChildCount(); i++) {
- View child = viewGroup.getChildAt(i);
+ final var child = viewGroup.getChildAt(i);
if (child instanceof ViewGroup) {
- Switch result = findSwitchWidget(child);
+ @SuppressLint("UseSwitchCompatOrMaterialCode") final var result = findSwitchWidget(child);
if (result != null) return result;
}
if (child instanceof Switch) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java
index bc0faca7..af2b4a43 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/branding/BrandingUtil.java
@@ -64,27 +64,27 @@ public class BrandingUtil {
}
public static LiveData<Integer> readBrandMainColorLiveData(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
Log.v(TAG, "--- Read: shared_preference_theme_main");
return new SharedPreferenceIntLiveData(sharedPreferences, pref_key_branding_main, context.getApplicationContext().getResources().getColor(R.color.defaultBrand));
}
public static LiveData<Integer> readBrandTextColorLiveData(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
Log.v(TAG, "--- Read: shared_preference_theme_text");
return new SharedPreferenceIntLiveData(sharedPreferences, pref_key_branding_text, Color.WHITE);
}
@ColorInt
public static int readBrandMainColor(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
Log.v(TAG, "--- Read: shared_preference_theme_main");
return sharedPreferences.getInt(pref_key_branding_main, context.getApplicationContext().getResources().getColor(R.color.defaultBrand));
}
@ColorInt
public static int readBrandTextColor(@NonNull Context context) {
- final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
Log.v(TAG, "--- Read: shared_preference_theme_text");
return sharedPreferences.getInt(pref_key_branding_text, Color.WHITE);
}
@@ -92,7 +92,7 @@ public class BrandingUtil {
public static void saveBrandColors(@NonNull Context context, @ColorInt int mainColor, @ColorInt int textColor) {
final int previousMainColor = readBrandMainColor(context);
final int previousTextColor = readBrandTextColor(context);
- final SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
+ final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
Log.v(TAG, "--- Write: shared_preference_theme_main" + " | " + mainColor);
Log.v(TAG, "--- Write: shared_preference_theme_text" + " | " + textColor);
editor.putInt(pref_key_branding_main, mainColor);
@@ -100,7 +100,7 @@ public class BrandingUtil {
editor.apply();
if (context instanceof BrandedActivity) {
if (mainColor != previousMainColor || textColor != previousTextColor) {
- final BrandedActivity activity = (BrandedActivity) context;
+ final var activity = (BrandedActivity) context;
activity.runOnUiThread(() -> ActivityCompat.recreate(activity));
}
}
@@ -145,7 +145,7 @@ public class BrandingUtil {
}
public static void tintMenuIcon(@NonNull MenuItem menuItem, @ColorInt int color) {
- Drawable drawable = menuItem.getIcon();
+ var drawable = menuItem.getIcon();
if (drawable != null) {
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, color);
@@ -154,7 +154,7 @@ public class BrandingUtil {
}
public static void applyBrandToLayerDrawable(@NonNull LayerDrawable check, @IdRes int areaToColor, @ColorInt int mainColor) {
- final Drawable drawable = check.findDrawableByLayerId(areaToColor);
+ final var drawable = check.findDrawableByLayerId(areaToColor);
if (drawable == null) {
Log.e(TAG, "Could not find areaToColor (" + areaToColor + "). Cannot apply brand.");
} else {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
index 4fc883ac..d20f232e 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
@@ -103,13 +103,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
super.onViewCreated(view, savedInstanceState);
executor.submit(() -> {
try {
- SingleSignOnAccount ssoAccount = SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext().getApplicationContext());
+ final var ssoAccount = SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext().getApplicationContext());
this.localAccount = repo.getAccountByName(ssoAccount.name);
if (savedInstanceState == null) {
- long id = requireArguments().getLong(PARAM_NOTE_ID);
+ final long id = requireArguments().getLong(PARAM_NOTE_ID);
if (id > 0) {
- long accountId = requireArguments().getLong(PARAM_ACCOUNT_ID);
+ final long accountId = requireArguments().getLong(PARAM_ACCOUNT_ID);
if (accountId > 0) {
/* Switch account if account id has been provided */
this.localAccount = repo.getAccountById(accountId);
@@ -120,8 +120,8 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
requireActivity().runOnUiThread(() -> onNoteLoaded(note));
requireActivity().invalidateOptionsMenu();
} else {
- Note cloudNote = (Note) requireArguments().getSerializable(PARAM_NEWNOTE);
- String content = requireArguments().getString(PARAM_CONTENT);
+ final var cloudNote = (Note) requireArguments().getSerializable(PARAM_NEWNOTE);
+ final var content = requireArguments().getString(PARAM_CONTENT);
if (cloudNote == null) {
if (content == null) {
throw new IllegalArgumentException(PARAM_NOTE_ID + " is not given, argument " + PARAM_NEWNOTE + " is missing and " + PARAM_CONTENT + " is missing.");
@@ -198,7 +198,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
if (note != null) {
prepareFavoriteOption(menu.findItem(R.id.menu_favorite));
- final ApiVersion preferredApiVersion = ApiVersionUtil.getPreferredApiVersion(localAccount.getApiVersion());
+ final var preferredApiVersion = ApiVersionUtil.getPreferredApiVersion(localAccount.getApiVersion());
menu.findItem(R.id.menu_title).setVisible(preferredApiVersion != null && preferredApiVersion.compareTo(ApiVersion.API_VERSION_1_0) >= 0);
menu.findItem(R.id.menu_delete).setVisible(!isNew);
}
@@ -215,7 +215,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- int itemId = item.getItemId();
+ final int itemId = item.getItemId();
if (itemId == R.id.menu_cancel) {
executor.submit(() -> {
if (originalNote == null) {
@@ -251,10 +251,10 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
return false;
} else if (itemId == MENU_ID_PIN) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- final ShortcutManager shortcutManager = requireActivity().getSystemService(ShortcutManager.class);
+ final var shortcutManager = requireActivity().getSystemService(ShortcutManager.class);
if (shortcutManager != null) {
if (shortcutManager.isRequestPinShortcutSupported()) {
- final ShortcutInfo pinShortcutInfo = new ShortcutInfo.Builder(getActivity(), note.getId() + "")
+ final var pinShortcutInfo = new ShortcutInfo.Builder(getActivity(), note.getId() + "")
.setShortLabel(note.getTitle())
.setIcon(Icon.createWithResource(requireActivity().getApplicationContext(), TRUE.equals(note.getFavorite()) ? R.drawable.ic_star_yellow_24dp : R.drawable.ic_star_grey_ccc_24dp))
.setIntent(new Intent(getActivity(), EditNoteActivity.class).putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()).setAction(ACTION_SHORTCUT))
@@ -278,7 +278,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
protected void onNoteLoaded(Note note) {
this.originalScrollY = note.getScrollY();
scrollToY(originalScrollY);
- final ScrollView scrollView = getScrollView();
+ final var scrollView = getScrollView();
if (scrollView != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> {
@@ -304,7 +304,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
protected void saveNote(@Nullable ISyncCallback callback) {
Log.d(TAG, "saveData()");
if (note != null) {
- final String newContent = getContent();
+ final var newContent = getContent();
if (note.getContent().equals(newContent)) {
if (note.getScrollY() != originalScrollY) {
Log.v(TAG, "... only saving new scroll state, since content did not change");
@@ -329,13 +329,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
* Opens a dialog in order to chose a category
*/
private void showCategorySelector() {
- final String fragmentId = "fragment_category";
- FragmentManager manager = requireActivity().getSupportFragmentManager();
- Fragment frag = manager.findFragmentByTag(fragmentId);
+ final var fragmentId = "fragment_category";
+ final var manager = requireActivity().getSupportFragmentManager();
+ final var frag = manager.findFragmentByTag(fragmentId);
if (frag != null) {
manager.beginTransaction().remove(frag).commit();
}
- final DialogFragment categoryFragment = CategoryDialogFragment.newInstance(note.getAccountId(), note.getCategory());
+ final var categoryFragment = CategoryDialogFragment.newInstance(note.getAccountId(), note.getCategory());
categoryFragment.setTargetFragment(this, 0);
categoryFragment.show(manager, fragmentId);
}
@@ -345,13 +345,13 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
*/
public void showEditTitleDialog() {
saveNote(null);
- final String fragmentId = "fragment_edit_title";
- FragmentManager manager = requireActivity().getSupportFragmentManager();
- Fragment frag = manager.findFragmentByTag(fragmentId);
+ final var fragmentId = "fragment_edit_title";
+ final var manager = requireActivity().getSupportFragmentManager();
+ final var frag = manager.findFragmentByTag(fragmentId);
if (frag != null) {
manager.beginTransaction().remove(frag).commit();
}
- DialogFragment editTitleFragment = EditTitleDialogFragment.newInstance(note.getTitle());
+ final var editTitleFragment = EditTitleDialogFragment.newInstance(note.getTitle());
editTitleFragment.setTargetFragment(this, 0);
editTitleFragment.show(manager, fragmentId);
}
@@ -374,7 +374,7 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
}
public void moveNote(Account account) {
- final LiveData<Note> moveLiveData = repo.moveNoteToAnotherAccount(account, note);
+ final var moveLiveData = repo.moveNoteToAnotherAccount(account, note);
moveLiveData.observe(this, (v) -> moveLiveData.removeObservers(this));
listener.close();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java
index c00db4aa..504f333a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/EditNoteActivity.java
@@ -131,15 +131,15 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
* @param noteId ID of the existing note.
*/
private void launchExistingNote(long accountId, long noteId) {
- final String prefKeyNoteMode = getString(R.string.pref_key_note_mode);
- final String prefKeyLastMode = getString(R.string.pref_key_last_note_mode);
- final String prefValueEdit = getString(R.string.pref_value_mode_edit);
- final String prefValuePreview = getString(R.string.pref_value_mode_preview);
- final String prefValueLast = getString(R.string.pref_value_mode_last);
-
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
- String mode = preferences.getString(prefKeyNoteMode, prefValueEdit);
- String lastMode = preferences.getString(prefKeyLastMode, prefValueEdit);
+ final var prefKeyNoteMode = getString(R.string.pref_key_note_mode);
+ final var prefKeyLastMode = getString(R.string.pref_key_last_note_mode);
+ final var prefValueEdit = getString(R.string.pref_value_mode_edit);
+ final var prefValuePreview = getString(R.string.pref_value_mode_preview);
+ final var prefValueLast = getString(R.string.pref_value_mode_last);
+
+ final var preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ final String mode = preferences.getString(prefKeyNoteMode, prefValueEdit);
+ final String lastMode = preferences.getString(prefKeyLastMode, prefValueEdit);
boolean editMode = true;
if (prefValuePreview.equals(mode) || (prefValueLast.equals(mode) && prefValuePreview.equals(lastMode))) {
editMode = false;
@@ -176,7 +176,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
* Content ("share" functionality), category and favorite attribute can be preset.
*/
private void launchNewNote() {
- Intent intent = getIntent();
+ final var intent = getIntent();
String categoryTitle = "";
boolean favorite = false;
@@ -204,19 +204,19 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
if (content == null) {
content = "";
}
- Note newNote = new Note(null, Calendar.getInstance(), NoteUtil.generateNonEmptyNoteTitle(content, this), content, categoryTitle, favorite, null);
+ final var newNote = new Note(null, Calendar.getInstance(), NoteUtil.generateNonEmptyNoteTitle(content, this), content, categoryTitle, favorite, null);
fragment = NoteEditFragment.newInstanceWithNewNote(newNote);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container_view, fragment).commit();
}
private void launchReadonlyNote() {
- Intent intent = getIntent();
- StringBuilder content = new StringBuilder();
+ final var intent = getIntent();
+ final var content = new StringBuilder();
try {
- InputStream inputStream = getContentResolver().openInputStream(Objects.requireNonNull(intent.getData()));
- BufferedReader r = new BufferedReader(new InputStreamReader(Objects.requireNonNull(inputStream)));
+ final var inputStream = getContentResolver().openInputStream(Objects.requireNonNull(intent.getData()));
+ final var bufferedReader = new BufferedReader(new InputStreamReader(Objects.requireNonNull(inputStream)));
String line;
- while ((line = r.readLine()) != null) {
+ while ((line = bufferedReader.readLine()) != null) {
content.append(line).append('\n');
}
} catch (IOException e) {
@@ -241,7 +241,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- int itemId = item.getItemId();
+ final int itemId = item.getItemId();
if (itemId == android.R.id.home) {
close();
return true;
@@ -263,7 +263,7 @@ public class EditNoteActivity extends LockedActivity implements BaseNoteFragment
/* TODO enhancement: store last mode in note
* for cross device functionality per note mode should be stored on the server.
*/
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
+ final var preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
final String prefKeyLastMode = getString(R.string.pref_key_last_note_mode);
if (fragment instanceof NoteEditFragment) {
preferences.edit().putString(prefKeyLastMode, getString(R.string.pref_value_mode_edit)).apply();
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
index 83c8eb1a..6733f4d3 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
@@ -156,7 +156,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
binding.editContent.setMarkdownString(note.getContent());
binding.editContent.setEnabled(true);
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext());
+ final var sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext());
binding.editContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp));
if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
binding.editContent.setTypeface(Typeface.MONOSPACE);
@@ -167,7 +167,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
binding.editContent.postDelayed(() -> {
binding.editContent.requestFocus();
- final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+ final var imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.showSoftInput(binding.editContent, InputMethodManager.SHOW_IMPLICIT);
} else {
@@ -202,7 +202,7 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
*/
@Override
protected String getContent() {
- final Editable editable = binding.editContent.getText();
+ final var editable = binding.editContent.getText();
return editable == null ? "" : editable.toString();
}
@@ -257,8 +257,8 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
}
public static BaseNoteFragment newInstance(long accountId, long noteId) {
- final BaseNoteFragment fragment = new NoteEditFragment();
- final Bundle args = new Bundle();
+ final var fragment = new NoteEditFragment();
+ final var args = new Bundle();
args.putLong(PARAM_NOTE_ID, noteId);
args.putLong(PARAM_ACCOUNT_ID, accountId);
fragment.setArguments(args);
@@ -266,8 +266,8 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
}
public static BaseNoteFragment newInstanceWithNewNote(Note newNote) {
- final BaseNoteFragment fragment = new NoteEditFragment();
- final Bundle args = new Bundle();
+ final var fragment = new NoteEditFragment();
+ final var args = new Bundle();
args.putSerializable(PARAM_NEWNOTE, newNote);
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
index f15d0e59..9d26f500 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
@@ -102,7 +102,7 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O
registerInternalNoteLinkHandler();
binding.singleNoteContent.setMovementMethod(LinkMovementMethod.getInstance());
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireActivity().getApplicationContext());
+ final var sp = PreferenceManager.getDefaultSharedPreferences(requireActivity().getApplicationContext());
binding.singleNoteContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp));
if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
binding.singleNoteContent.setTypeface(Typeface.MONOSPACE);
@@ -157,7 +157,7 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O
binding.swiperefreshlayout.setRefreshing(true);
executor.submit(() -> {
try {
- final Account account = repo.getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name);
+ final var account = repo.getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name);
repo.addCallbackPull(account, () -> executor.submit(() -> {
note = repo.getNoteById(note.getId());
changedText = note.getContent();
@@ -185,8 +185,8 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O
}
public static BaseNoteFragment newInstance(long accountId, long noteId) {
- final BaseNoteFragment fragment = new NotePreviewFragment();
- final Bundle args = new Bundle();
+ final var fragment = new NotePreviewFragment();
+ final var args = new Bundle();
args.putLong(PARAM_NOTE_ID, noteId);
args.putLong(PARAM_ACCOUNT_ID, accountId);
fragment.setArguments(args);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java
index d03374d8..55771c24 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteReadonlyFragment.java
@@ -60,8 +60,8 @@ public class NoteReadonlyFragment extends NotePreviewFragment {
}
public static BaseNoteFragment newInstance(String content) {
- final BaseNoteFragment fragment = new NoteReadonlyFragment();
- final Bundle args = new Bundle();
+ final var fragment = new NoteReadonlyFragment();
+ final var args = new Bundle();
args.putString(PARAM_CONTENT, content);
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java
index bfbb798b..7820b8e6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragment.java
@@ -65,7 +65,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
public void onPrepareOptionsMenu(@NonNull Menu menu) {
super.onPrepareOptionsMenu(menu);
- MenuItem searchMenuItem = menu.findItem(R.id.search);
+ final var searchMenuItem = menu.findItem(R.id.search);
searchView = (SearchView) searchMenuItem.getActionView();
if (!TextUtils.isEmpty(searchQuery) && isNew) {
@@ -77,7 +77,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
}
- final LinearLayout searchEditFrame = searchView.findViewById(R.id
+ final var searchEditFrame = searchView.findViewById(R.id
.search_edit_frame);
searchEditFrame.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@@ -85,7 +85,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
@Override
public void onGlobalLayout() {
- int currentVisibility = searchEditFrame.getVisibility();
+ final int currentVisibility = searchEditFrame.getVisibility();
if (currentVisibility != oldVisibility) {
if (currentVisibility != View.VISIBLE) {
@@ -105,8 +105,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
});
- FloatingActionButton next = getSearchNextButton();
- FloatingActionButton prev = getSearchPrevButton();
+ final var next = getSearchNextButton();
+ final var prev = getSearchPrevButton();
if (next != null) {
next.setOnClickListener(v -> {
@@ -208,8 +208,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
protected abstract FloatingActionButton getSearchPrevButton();
private void showSearchFabs() {
- FloatingActionButton next = getSearchNextButton();
- FloatingActionButton prev = getSearchPrevButton();
+ final var next = getSearchNextButton();
+ final var prev = getSearchPrevButton();
if (prev != null) {
prev.show();
}
@@ -219,8 +219,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
}
private void hideSearchFabs() {
- FloatingActionButton next = getSearchNextButton();
- FloatingActionButton prev = getSearchPrevButton();
+ final var next = getSearchNextButton();
+ final var prev = getSearchPrevButton();
if (prev != null) {
prev.hide();
}
@@ -230,7 +230,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
}
private void jumpToOccurrence() {
- Layout layout = getLayout();
+ final var layout = getLayout();
if (layout == null) {
Log.w(TAG, "getLayout() is null");
} else if (getContent() == null || getContent().isEmpty()) {
@@ -240,8 +240,8 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
currentOccurrence = occurrenceCount;
jumpToOccurrence();
} else if (searchQuery != null && !searchQuery.isEmpty()) {
- String currentContent = getContent().toLowerCase();
- int indexOfNewText = indexOfNth(currentContent, searchQuery.toLowerCase(), 0, currentOccurrence);
+ final String currentContent = getContent().toLowerCase();
+ final int indexOfNewText = indexOfNth(currentContent, searchQuery.toLowerCase(), 0, currentOccurrence);
if (indexOfNewText <= 0) {
// Search term is not n times in text
// Go back to first search result
@@ -251,11 +251,11 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
}
return;
}
- String textUntilFirstOccurrence = currentContent.substring(0, indexOfNewText);
- int numberLine = layout.getLineForOffset(textUntilFirstOccurrence.length());
+ final String textUntilFirstOccurrence = currentContent.substring(0, indexOfNewText);
+ final int numberLine = layout.getLineForOffset(textUntilFirstOccurrence.length());
if (numberLine >= 0) {
- ScrollView scrollView = getScrollView();
+ final var scrollView = getScrollView();
if (scrollView != null) {
scrollView.post(() -> scrollView.smoothScrollTo(0, layout.getLineTop(numberLine)));
}
@@ -268,7 +268,7 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
throw new IllegalArgumentException("Param 'nth' must be greater than 0!");
if (nth == 1)
return input.indexOf(value, startIndex);
- int idx = input.indexOf(value, startIndex);
+ final int idx = input.indexOf(value, startIndex);
if (idx == -1)
return -1;
return indexOfNth(input, value, idx + 1, nth - 1);
@@ -281,11 +281,11 @@ public abstract class SearchableBaseNoteFragment extends BaseNoteFragment {
// Use regrex which is faster before.
// Such that the main thread will not stop for a long tilme
// And so there will not an ANR problem
- Matcher m = Pattern.compile(needle, Pattern.CASE_INSENSITIVE | Pattern.LITERAL)
+ final var matcher = Pattern.compile(needle, Pattern.CASE_INSENSITIVE | Pattern.LITERAL)
.matcher(haystack);
int count = 0;
- while (m.find()) {
+ while (matcher.find()) {
count++;
}
return count;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java
index 4b3bb9ba..cae09cc0 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryAdapter.java
@@ -27,7 +27,7 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
private static final String clearItemId = "clear_item";
private static final String addItemId = "add_item";
@NonNull
- private List<NavigationItem> categories = new ArrayList<>();
+ private final List<NavigationItem> categories = new ArrayList<>();
@NonNull
private final CategoryListener listener;
private final Context context;
@@ -40,18 +40,18 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_category, parent, false);
- return new CategoryViewHolder(v);
+ final var view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_category, parent, false);
+ return new CategoryViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
- NavigationItem category = categories.get(position);
- CategoryViewHolder categoryViewHolder = (CategoryViewHolder) holder;
+ final var category = categories.get(position);
+ final var categoryViewHolder = (CategoryViewHolder) holder;
switch (category.id) {
case addItemId:
- Drawable wrapDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(context, category.icon));
+ final var wrapDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(context, category.icon));
DrawableCompat.setTint(wrapDrawable, ContextCompat.getColor(context, R.color.icon_color_default));
categoryViewHolder.getIcon().setImageDrawable(wrapDrawable);
categoryViewHolder.getCategoryWrapper().setOnClickListener((v) -> listener.onCategoryAdded());
@@ -110,14 +110,14 @@ public class CategoryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
this.categories.add(0, clearItem);
if (currentSearchString != null && currentSearchString.trim().length() > 0) {
boolean currentSearchStringIsInCategories = false;
- for (NavigationItem category : categories) {
+ for (final var category : categories) {
if (currentSearchString.equals(category.label)) {
currentSearchStringIsInCategories = true;
break;
}
}
if (!currentSearchStringIsInCategories) {
- NavigationItem addItem = new NavigationItem(addItemId, context.getString(R.string.add_category, currentSearchString.trim()), 0, R.drawable.ic_add_blue_24dp);
+ final var addItem = new NavigationItem(addItemId, context.getString(R.string.add_category, currentSearchString.trim()), 0, R.drawable.ic_add_blue_24dp);
this.categories.add(addItem);
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java
index 648578d4..530a5549 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/category/CategoryDialogFragment.java
@@ -77,7 +77,7 @@ public class CategoryDialogFragment extends BrandedDialogFragment {
} else {
throw new IllegalArgumentException("Provide at least \"" + PARAM_ACCOUNT_ID + "\"");
}
- Fragment target = getTargetFragment();
+ final var target = getTargetFragment();
if (target instanceof CategoryDialogListener) {
listener = (CategoryDialogListener) target;
} else if (getActivity() instanceof CategoryDialogListener) {
@@ -96,7 +96,7 @@ public class CategoryDialogFragment extends BrandedDialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- View dialogView = View.inflate(getContext(), R.layout.dialog_change_category, null);
+ final var dialogView = View.inflate(getContext(), R.layout.dialog_change_category, null);
binding = DialogChangeCategoryBinding.bind(dialogView);
this.editCategory = binding.search;
@@ -187,11 +187,11 @@ public class CategoryDialogFragment extends BrandedDialogFragment {
}
public static DialogFragment newInstance(long accountId, String category) {
- final DialogFragment categoryFragment = new CategoryDialogFragment();
- final Bundle arguments = new Bundle();
- arguments.putString(CategoryDialogFragment.PARAM_CATEGORY, category);
- arguments.putLong(CategoryDialogFragment.PARAM_ACCOUNT_ID, accountId);
- categoryFragment.setArguments(arguments);
+ final var categoryFragment = new CategoryDialogFragment();
+ final var args = new Bundle();
+ args.putString(CategoryDialogFragment.PARAM_CATEGORY, category);
+ args.putLong(CategoryDialogFragment.PARAM_ACCOUNT_ID, accountId);
+ categoryFragment.setArguments(args);
return categoryFragment;
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java
index e9473399..d372cdcb 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/title/EditTitleDialogFragment.java
@@ -28,7 +28,7 @@ public class EditTitleDialogFragment extends DialogFragment {
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args == null) {
throw new IllegalArgumentException("Provide at least " + PARAM_OLD_TITLE);
}
@@ -46,7 +46,7 @@ public class EditTitleDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
- View dialogView = View.inflate(getContext(), R.layout.dialog_edit_title, null);
+ final var dialogView = View.inflate(getContext(), R.layout.dialog_edit_title, null);
binding = DialogEditTitleBinding.bind(dialogView);
if (savedInstanceState == null) {
@@ -66,7 +66,7 @@ public class EditTitleDialogFragment extends DialogFragment {
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
binding.title.requestFocus();
- Window window = requireDialog().getWindow();
+ final var window = requireDialog().getWindow();
if (window != null) {
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
} else {
@@ -75,8 +75,8 @@ public class EditTitleDialogFragment extends DialogFragment {
}
public static DialogFragment newInstance(String title) {
- final DialogFragment fragment = new EditTitleDialogFragment();
- final Bundle args = new Bundle();
+ final var fragment = new EditTitleDialogFragment();
+ final var args = new Bundle();
args.putString(PARAM_OLD_TITLE, title);
fragment.setArguments(args);
return fragment;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java
index 0b6c1a98..0761b603 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionActivity.java
@@ -26,18 +26,18 @@ public class ExceptionActivity extends AppCompatActivity {
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- final ActivityExceptionBinding binding = ActivityExceptionBinding.inflate(getLayoutInflater());
+ final var binding = ActivityExceptionBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
- Throwable throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE));
+ var throwable = ((Throwable) getIntent().getSerializableExtra(KEY_THROWABLE));
if (throwable == null) {
throwable = new Exception("Could not get exception");
}
- final TipsAdapter adapter = new TipsAdapter(this::startActivity);
+ final var adapter = new TipsAdapter(this::startActivity);
final String debugInfos = ExceptionUtil.INSTANCE.getDebugInfos(this, throwable, BuildConfig.FLAVOR);
binding.tips.setAdapter(adapter);
@@ -53,7 +53,7 @@ public class ExceptionActivity extends AppCompatActivity {
@NonNull
public static Intent createIntent(@NonNull Context context, Throwable throwable) {
- final Bundle args = new Bundle();
+ final var args = new Bundle();
args.putSerializable(KEY_THROWABLE, throwable);
return new Intent(context, ExceptionActivity.class)
.putExtras(args)
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
index 09d3380f..8845e190 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/ExceptionDialogFragment.java
@@ -30,11 +30,11 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment {
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args != null) {
- final Object throwablesArgument = args.getSerializable(KEY_THROWABLES);
+ final var throwablesArgument = args.getSerializable(KEY_THROWABLES);
if (throwablesArgument instanceof Iterable<?>) {
- for (Object arg : (Iterable<?>) throwablesArgument) {
+ for (final var arg : (Iterable<?>) throwablesArgument) {
if (arg instanceof Throwable) {
throwables.add((Throwable) arg);
} else {
@@ -50,10 +50,10 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final View view = View.inflate(getContext(), R.layout.dialog_exception, null);
- final DialogExceptionBinding binding = DialogExceptionBinding.bind(view);
+ final var view = View.inflate(getContext(), R.layout.dialog_exception, null);
+ final var binding = DialogExceptionBinding.bind(view);
- final TipsAdapter adapter = new TipsAdapter((actionIntent) -> requireActivity().startActivity(actionIntent));
+ final var adapter = new TipsAdapter((actionIntent) -> requireActivity().startActivity(actionIntent));
final String debugInfos = ExceptionUtil.INSTANCE.getDebugInfos(requireContext(), throwables, BuildConfig.FLAVOR);
@@ -72,19 +72,19 @@ public class ExceptionDialogFragment extends AppCompatDialogFragment {
}
public static DialogFragment newInstance(ArrayList<Throwable> exceptions) {
- final Bundle args = new Bundle();
+ final var args = new Bundle();
args.putSerializable(KEY_THROWABLES, exceptions);
- final DialogFragment fragment = new ExceptionDialogFragment();
+ final var fragment = new ExceptionDialogFragment();
fragment.setArguments(args);
return fragment;
}
public static DialogFragment newInstance(Throwable exception) {
- final Bundle args = new Bundle();
- final ArrayList<Throwable> list = new ArrayList<>(1);
+ final var args = new Bundle();
+ final var list = new ArrayList<Throwable>(1);
list.add(exception);
args.putSerializable(KEY_THROWABLES, list);
- final DialogFragment fragment = new ExceptionDialogFragment();
+ final var fragment = new ExceptionDialogFragment();
fragment.setArguments(args);
return fragment;
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java
index 694d8a33..dea80ed8 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsAdapter.java
@@ -48,8 +48,8 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> {
@NonNull
@Override
public TipsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- final View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tip, parent, false);
- return new TipsViewHolder(v);
+ final var view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_tip, parent, false);
+ return new TipsViewHolder(view);
}
@Override
@@ -63,17 +63,17 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> {
}
public void setThrowables(@NonNull List<Throwable> throwables) {
- for (Throwable t : throwables) {
- if (t instanceof TokenMismatchException) {
+ for (final var throwable : throwables) {
+ if (throwable instanceof TokenMismatchException) {
add(R.string.error_dialog_tip_token_mismatch_retry);
add(R.string.error_dialog_tip_token_mismatch_clear_storage);
- Intent intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
+ final var intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID))
.putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info);
add(R.string.error_dialog_tip_clear_storage, intent);
- } else if (t instanceof NextcloudFilesAppNotSupportedException) {
+ } else if (throwable instanceof NextcloudFilesAppNotSupportedException) {
add(R.string.error_dialog_tip_files_outdated);
- } else if (t instanceof NextcloudApiNotRespondingException) {
+ } else if (throwable instanceof NextcloudApiNotRespondingException) {
if (VERSION.SDK_INT >= VERSION_CODES.M) {
add(R.string.error_dialog_tip_disable_battery_optimizations, new Intent().setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_battery_settings));
} else {
@@ -81,17 +81,17 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> {
}
add(R.string.error_dialog_tip_files_force_stop);
add(R.string.error_dialog_tip_files_delete_storage);
- Intent intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
+ final var intent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS)
.setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID))
.putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info);
add(R.string.error_dialog_tip_clear_storage, intent);
- } else if (t instanceof SocketTimeoutException || t instanceof ConnectException) {
+ } else if (throwable instanceof SocketTimeoutException || throwable instanceof ConnectException) {
add(R.string.error_dialog_timeout_instance);
add(R.string.error_dialog_timeout_toggle, new Intent(Settings.ACTION_WIFI_SETTINGS).putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_network));
- } else if (t instanceof JSONException || t instanceof NullPointerException) {
+ } else if (throwable instanceof JSONException || throwable instanceof NullPointerException) {
add(R.string.error_dialog_check_server);
- } else if (t instanceof NextcloudHttpRequestFailedException) {
- int statusCode = ((NextcloudHttpRequestFailedException) t).getStatusCode();
+ } else if (throwable instanceof NextcloudHttpRequestFailedException) {
+ final int statusCode = ((NextcloudHttpRequestFailedException) throwable).getStatusCode();
switch (statusCode) {
case 302:
add(R.string.error_dialog_server_app_enabled);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java
index b2a4eec3..1197898d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsModel.java
@@ -8,10 +8,9 @@ import androidx.annotation.StringRes;
@SuppressWarnings("WeakerAccess")
public class TipsModel {
@StringRes
- private int text;
+ private final int text;
@Nullable
- private
- Intent actionIntent;
+ private final Intent actionIntent;
TipsModel(@StringRes int text, @Nullable Intent actionIntent) {
this.text = text;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java
index fab852df..e0c2a410 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/exception/tips/TipsViewHolder.java
@@ -23,11 +23,11 @@ public class TipsViewHolder extends RecyclerView.ViewHolder {
public void bind(TipsModel tip, Consumer<Intent> actionButtonClickedListener) {
binding.tip.setText(tip.getText());
- final Intent actionIntent = tip.getActionIntent();
- if (actionIntent != null && actionIntent.hasExtra(INTENT_EXTRA_BUTTON_TEXT)) {
+ final var intent = tip.getActionIntent();
+ if (intent != null && intent.hasExtra(INTENT_EXTRA_BUTTON_TEXT)) {
binding.actionButton.setVisibility(View.VISIBLE);
- binding.actionButton.setText(actionIntent.getIntExtra(INTENT_EXTRA_BUTTON_TEXT, 0));
- binding.actionButton.setOnClickListener((v) -> actionButtonClickedListener.accept(actionIntent));
+ binding.actionButton.setText(intent.getIntExtra(INTENT_EXTRA_BUTTON_TEXT, 0));
+ binding.actionButton.setOnClickListener((v) -> actionButtonClickedListener.accept(intent));
} else {
binding.actionButton.setVisibility(View.GONE);
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java
index 2e78af2c..1e50ac0f 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/importaccount/ImportAccountActivity.java
@@ -94,7 +94,7 @@ public class ImportAccountActivity extends AppCompatActivity {
Log.i(TAG, "Added account: " + "name:" + ssoAccount.name + ", " + ssoAccount.url + ", userId" + ssoAccount.userId);
try {
Log.i(TAG, "Loading capabilities for " + ssoAccount.name);
- final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance());
+ final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance());
final String displayName = CapabilitiesClient.getDisplayName(getApplicationContext(), ssoAccount, ApiProvider.getInstance());
importAccountViewModel.addAccount(ssoAccount.url, ssoAccount.userId, ssoAccount.name, capabilities, displayName, new IResponseCallback<Account>() {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
index 83bf8e0b..ee079fbd 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainActivity.java
@@ -173,7 +173,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
} else {
executor.submit(() -> {
try {
- final Account account = mainViewModel.getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()).name);
+ final var account = mainViewModel.getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()).name);
runOnUiThread(() -> mainViewModel.postCurrentAccount(account));
} catch (NextcloudFilesAppAccountNotFoundException e) {
// Verbose log output for https://github.com/stefan-niedermann/nextcloud-notes/issues/1256
@@ -181,12 +181,12 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
.setTitle(NextcloudFilesAppAccountNotFoundException.class.getSimpleName())
.setMessage(R.string.backup)
.setPositiveButton(R.string.simple_backup, (a, b) -> executor.submit(() -> {
- final List<Note> modifiedNotes = new LinkedList<>();
- for (Account account : mainViewModel.getAccounts()) {
+ final var modifiedNotes = new LinkedList<Note>();
+ for (final var account : mainViewModel.getAccounts()) {
modifiedNotes.addAll(mainViewModel.getLocalModifiedNotes(account.getId()));
}
if (modifiedNotes.size() == 1) {
- final Note note = modifiedNotes.get(0);
+ final var note = modifiedNotes.get(0);
ShareUtil.openShareDialog(this, note.getTitle(), note.getContent());
} else {
ShareUtil.openShareDialog(this,
@@ -195,12 +195,12 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
}
}))
.setNegativeButton(R.string.simple_error, (a, b) -> {
- final SharedPreferences ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext());
- final StringBuilder ssoPreferencesString = new StringBuilder()
+ final var ssoPreferences = AccountImporter.getSharedPreferences(getApplicationContext());
+ final var ssoPreferencesString = new StringBuilder()
.append("Current SSO account: ").append(ssoPreferences.getString("PREF_CURRENT_ACCOUNT_STRING", null)).append("\n")
.append("\n")
.append("SSO SharedPreferences: ").append("\n");
- for (Map.Entry<String, ?> entry : ssoPreferences.getAll().entrySet()) {
+ for (final var entry : ssoPreferences.getAll().entrySet()) {
ssoPreferencesString.append(entry.getKey()).append(": ").append(entry.getValue()).append("\n");
}
ssoPreferencesString.append("\n")
@@ -251,7 +251,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
}
fabCreate.setOnClickListener((View view) -> {
- final Intent createIntent = new Intent(getApplicationContext(), EditNoteActivity.class);
+ final var createIntent = new Intent(getApplicationContext(), EditNoteActivity.class);
createIntent.putExtra(EditNoteActivity.PARAM_CATEGORY, selectedCategory);
if (activityBinding.searchView.getQuery().length() > 0) {
createIntent.putExtra(EditNoteActivity.PARAM_CONTENT, activityBinding.searchView.getQuery().toString());
@@ -269,8 +269,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
binding.activityNotesListView.emptyContentView.getRoot().setVisibility(notes.size() > 0 ? GONE : VISIBLE);
// Remove deleted notes from the selection
if (tracker.hasSelection()) {
- final Collection<Long> deletedNotes = new LinkedList<>();
- for (Long id : tracker.getSelection()) {
+ final var deletedNotes = new LinkedList<Long>();
+ for (final var id : tracker.getSelection()) {
if (notes
.stream()
.filter(item -> !item.isSection())
@@ -279,7 +279,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
deletedNotes.add(id);
}
}
- for (Long id : deletedNotes) {
+ for (final var id : deletedNotes) {
tracker.deselect(id);
}
}
@@ -289,13 +289,13 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
updateSortMethodIcon(methodOfCategory.second);
activityBinding.sortingMethod.setOnClickListener((v) -> {
if (methodOfCategory.first != null) {
- CategorySortingMethod newMethod = methodOfCategory.second;
+ var newMethod = methodOfCategory.second;
if (newMethod == CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC) {
newMethod = CategorySortingMethod.SORT_MODIFIED_DESC;
} else {
newMethod = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
}
- final LiveData<Void> modifyLiveData = mainViewModel.modifyCategoryOrder(methodOfCategory.first, newMethod);
+ final var modifyLiveData = mainViewModel.modifyCategoryOrder(methodOfCategory.first, newMethod);
modifyLiveData.observe(this, (next) -> modifyLiveData.removeObservers(this));
}
});
@@ -355,7 +355,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
protected void onResume() {
- final LiveData<Account> accountLiveData = mainViewModel.getCurrentAccount();
+ final var accountLiveData = mainViewModel.getCurrentAccount();
accountLiveData.observe(this, (currentAccount) -> {
accountLiveData.removeObservers(this);
try {
@@ -423,8 +423,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
listView.setAdapter(adapter);
listView.setItemAnimator(null);
if (gridView) {
- int spanCount = getResources().getInteger(R.integer.grid_view_span_count);
- StaggeredGridLayoutManager gridLayoutManager = new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL);
+ final int spanCount = getResources().getInteger(R.integer.grid_view_span_count);
+ final var gridLayoutManager = new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL);
listView.setLayoutManager(gridLayoutManager);
listView.addItemDecoration(new GridItemDecoration(adapter, spanCount,
getResources().getDimensionPixelSize(R.dimen.spacer_3x),
@@ -434,7 +434,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
getResources().getDimensionPixelSize(R.dimen.spacer_activity_sides) + getResources().getDimensionPixelSize(R.dimen.spacer_1x)
));
} else {
- LinearLayoutManager layoutManager = new LinearLayoutManager(this);
+ final var layoutManager = new LinearLayoutManager(this);
listView.setLayoutManager(layoutManager);
listView.addItemDecoration(new SectionItemDecoration(adapter,
getResources().getDimensionPixelSize(R.dimen.spacer_activity_sides) + getResources().getDimensionPixelSize(R.dimen.spacer_1x) + getResources().getDimensionPixelSize(R.dimen.spacer_3x) + getResources().getDimensionPixelSize(R.dimen.spacer_2x),
@@ -456,10 +456,10 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
swipeRefreshLayout.setOnRefreshListener(() -> {
CustomAppGlideModule.clearCache(this);
- final LiveData<Account> syncLiveData = mainViewModel.getCurrentAccount();
+ final var syncLiveData = mainViewModel.getCurrentAccount();
final Observer<Account> syncObserver = currentAccount -> {
syncLiveData.removeObservers(this);
- mainViewModel.synchronizeCapabilitiesAndNotes(currentAccount, new IResponseCallback<Void>() {
+ mainViewModel.synchronizeCapabilitiesAndNotes(currentAccount, new IResponseCallback<>() {
@Override
public void onSuccess(Void v) {
Log.d(TAG, "Successfully synchronized capabilities and notes for " + currentAccount.getAccountName());
@@ -558,7 +558,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
public void onIconClick(NavigationItem item) {
- final LiveData<String> expandedCategoryLiveData = mainViewModel.getExpandedCategory();
+ final var expandedCategoryLiveData = mainViewModel.getExpandedCategory();
expandedCategoryLiveData.observe(MainActivity.this, expandedCategory -> {
if (item.icon == NavigationAdapter.ICON_MULTIPLE && !item.label.equals(expandedCategory)) {
mainViewModel.postExpandedCategory(item.label);
@@ -671,14 +671,14 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
Log.i(TAG, "Added account: " + "name:" + ssoAccount.name + ", " + ssoAccount.url + ", userId" + ssoAccount.userId);
try {
Log.i(TAG, "Refreshing capabilities for " + ssoAccount.name);
- final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance());
+ final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, null, ApiProvider.getInstance());
final String displayName = CapabilitiesClient.getDisplayName(getApplicationContext(), ssoAccount, ApiProvider.getInstance());
mainViewModel.addAccount(ssoAccount.url, ssoAccount.userId, ssoAccount.name, capabilities, displayName, new IResponseCallback<Account>() {
@Override
public void onSuccess(Account result) {
executor.submit(() -> {
Log.i(TAG, capabilities.toString());
- final Account a = mainViewModel.getLocalAccountByAccountName(ssoAccount.name);
+ final var a = mainViewModel.getLocalAccountByAccountName(ssoAccount.name);
runOnUiThread(() -> mainViewModel.postCurrentAccount(a));
});
}
@@ -720,9 +720,9 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
public void onNoteClick(int position, View v) {
- boolean hasCheckedItems = tracker.getSelection().size() > 0;
+ final boolean hasCheckedItems = tracker.getSelection().size() > 0;
if (!hasCheckedItems) {
- final Note note = (Note) adapter.getItem(position);
+ final var note = (Note) adapter.getItem(position);
startActivity(new Intent(getApplicationContext(), EditNoteActivity.class)
.putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId()));
}
@@ -730,7 +730,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
public void onNoteFavoriteClick(int position, View view) {
- LiveData<Void> toggleLiveData = mainViewModel.toggleFavoriteAndSync(((Note) adapter.getItem(position)).getId());
+ final var toggleLiveData = mainViewModel.toggleFavoriteAndSync(((Note) adapter.getItem(position)).getId());
toggleLiveData.observe(this, (next) -> toggleLiveData.removeObservers(this));
}
@@ -772,8 +772,8 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
public void onAccountPicked(@NonNull Account account) {
- for (Long noteId : tracker.getSelection()) {
- final LiveData<Note> moveLiveData = mainViewModel.moveNoteToAnotherAccount(account, noteId);
+ for (final var noteId : tracker.getSelection()) {
+ final var moveLiveData = mainViewModel.moveNoteToAnotherAccount(account, noteId);
moveLiveData.observe(this, (v) -> {
tracker.deselect(noteId);
moveLiveData.removeObservers(this);
@@ -783,7 +783,7 @@ public class MainActivity extends LockedActivity implements NoteClickListener, A
@Override
public void onCategoryChosen(String category) {
- final LiveData<Void> categoryLiveData = mainViewModel.setCategory(tracker.getSelection(), category);
+ final var categoryLiveData = mainViewModel.setCategory(tracker.getSelection(), category);
categoryLiveData.observe(this, (next) -> categoryLiveData.removeObservers(this));
tracker.clearSelection();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java
index 92790bc4..e7cf1669 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MainViewModel.java
@@ -121,7 +121,7 @@ public class MainViewModel extends AndroidViewModel {
BrandingUtil.saveBrandColors(getApplication(), account.getColor(), account.getTextColor());
SingleAccountHelper.setCurrentAccount(getApplication(), account.getAccountName());
- final Account currentAccount = this.currentAccount.getValue();
+ final var currentAccount = this.currentAccount.getValue();
// If only ETag or colors change, we must not reset the navigation
// TODO in the long term we should store the last NavigationCategory for each Account
if (currentAccount == null || currentAccount.getId() != account.getId()) {
@@ -161,14 +161,14 @@ public class MainViewModel extends AndroidViewModel {
}
case DEFAULT_CATEGORY:
default: {
- String category = selectedCategory.getCategory();
+ final String category = selectedCategory.getCategory();
if (category == null) {
postExpandedCategory(null);
Log.e(TAG, "navigation selection is a " + DEFAULT_CATEGORY + ", but the contained category is null.");
} else {
int slashIndex = category.indexOf('/');
- String rootCategory = slashIndex < 0 ? category : category.substring(0, slashIndex);
- String expandedCategory = getExpandedCategory().getValue();
+ final String rootCategory = slashIndex < 0 ? category : category.substring(0, slashIndex);
+ final String expandedCategory = getExpandedCategory().getValue();
if (expandedCategory != null && !expandedCategory.equals(rootCategory)) {
postExpandedCategory(null);
}
@@ -209,7 +209,7 @@ public class MainViewModel extends AndroidViewModel {
@NonNull
@MainThread
public LiveData<List<Item>> getNotesListLiveData() {
- final MutableLiveData<List<Item>> insufficientInformation = new MutableLiveData<>();
+ final var insufficientInformation = new MutableLiveData<List<Item>>();
return distinctUntilChanged(switchMap(getCurrentAccount(), currentAccount -> {
Log.v(TAG, "[getNotesListLiveData] - currentAccount: " + currentAccount);
if (currentAccount == null) {
@@ -292,7 +292,7 @@ public class MainViewModel extends AndroidViewModel {
@NonNull
@MainThread
public LiveData<List<NavigationItem>> getNavigationCategories() {
- final MutableLiveData<List<NavigationItem>> insufficientInformation = new MutableLiveData<>();
+ final var insufficientInformation = new MutableLiveData<List<NavigationItem>>();
return switchMap(getCurrentAccount(), currentAccount -> {
if (currentAccount == null) {
return insufficientInformation;
@@ -315,29 +315,29 @@ public class MainViewModel extends AndroidViewModel {
}
private static List<NavigationItem> fromCategoriesWithNotesCount(@NonNull Context context, @Nullable String expandedCategory, @NonNull List<CategoryWithNotesCount> fromDatabase, int count, int favoritesCount) {
- final List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, fromDatabase);
- final NavigationItem itemRecent = new NavigationItem(ADAPTER_KEY_RECENT, context.getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT);
- final NavigationItem itemFavorites = new NavigationItem(ADAPTER_KEY_STARRED, context.getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES);
+ final var categories = convertToCategoryNavigationItem(context, fromDatabase);
+ final var itemRecent = new NavigationItem(ADAPTER_KEY_RECENT, context.getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT);
+ final var itemFavorites = new NavigationItem(ADAPTER_KEY_STARRED, context.getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES);
- final ArrayList<NavigationItem> items = new ArrayList<>(fromDatabase.size() + 3);
+ final var items = new ArrayList<NavigationItem>(fromDatabase.size() + 3);
items.add(itemRecent);
items.add(itemFavorites);
NavigationItem lastPrimaryCategory = null;
NavigationItem lastSecondaryCategory = null;
- for (NavigationItem item : categories) {
- int slashIndex = item.label.indexOf('/');
- String currentPrimaryCategory = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex);
+ for (final var item : categories) {
+ final int slashIndex = item.label.indexOf('/');
+ final String currentPrimaryCategory = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex);
+ final boolean isCategoryOpen = currentPrimaryCategory.equals(expandedCategory);
String currentSecondaryCategory = null;
- boolean isCategoryOpen = currentPrimaryCategory.equals(expandedCategory);
if (isCategoryOpen && !currentPrimaryCategory.equals(item.label)) {
- String currentCategorySuffix = item.label.substring(expandedCategory.length() + 1);
- int subSlashIndex = currentCategorySuffix.indexOf('/');
+ final String currentCategorySuffix = item.label.substring(expandedCategory.length() + 1);
+ final int subSlashIndex = currentCategorySuffix.indexOf('/');
currentSecondaryCategory = subSlashIndex < 0 ? currentCategorySuffix : currentCategorySuffix.substring(0, subSlashIndex);
}
boolean belongsToLastPrimaryCategory = lastPrimaryCategory != null && currentPrimaryCategory.equals(lastPrimaryCategory.label);
- boolean belongsToLastSecondaryCategory = belongsToLastPrimaryCategory && lastSecondaryCategory != null && lastSecondaryCategory.label.equals(currentPrimaryCategory + "/" + currentSecondaryCategory);
+ final boolean belongsToLastSecondaryCategory = belongsToLastPrimaryCategory && lastSecondaryCategory != null && lastSecondaryCategory.label.equals(currentPrimaryCategory + "/" + currentSecondaryCategory);
if (isCategoryOpen && !belongsToLastPrimaryCategory && currentSecondaryCategory != null) {
lastPrimaryCategory = new NavigationItem("category:" + currentPrimaryCategory, currentPrimaryCategory, 0, NavigationAdapter.ICON_MULTIPLE_OPEN);
@@ -401,9 +401,9 @@ public class MainViewModel extends AndroidViewModel {
}
if (repo.isSyncPossible()) {
try {
- final SingleSignOnAccount ssoAccount = AccountImporter.getSingleSignOnAccount(getApplication(), localAccount.getAccountName());
+ final var ssoAccount = AccountImporter.getSingleSignOnAccount(getApplication(), localAccount.getAccountName());
try {
- final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplication(), ssoAccount, localAccount.getCapabilitiesETag(), ApiProvider.getInstance());
+ final var capabilities = CapabilitiesClient.getCapabilities(getApplication(), ssoAccount, localAccount.getCapabilitiesETag(), ApiProvider.getInstance());
repo.updateCapabilitiesETag(localAccount.getId(), capabilities.getETag());
repo.updateBrand(localAccount.getId(), capabilities.getColor(), capabilities.getTextColor());
localAccount.setColor(capabilities.getColor());
@@ -530,7 +530,7 @@ public class MainViewModel extends AndroidViewModel {
return new MutableLiveData<>(null);
} else {
Log.v(TAG, "[deleteNotesAndSync] - currentAccount: " + currentAccount.getAccountName());
- for (Long id : ids) {
+ for (final var id : ids) {
repo.deleteNoteAndSync(currentAccount, id);
}
return new MutableLiveData<>(null);
@@ -557,7 +557,7 @@ public class MainViewModel extends AndroidViewModel {
return new MutableLiveData<>();
} else {
Log.v(TAG, "[getNote] - currentAccount: " + currentAccount.getAccountName());
- final MutableLiveData<List<Note>> notes = new MutableLiveData<>();
+ final var notes = new MutableLiveData<List<Note>>();
executor.submit(() -> notes.postValue(
ids
.stream()
@@ -604,9 +604,9 @@ public class MainViewModel extends AndroidViewModel {
@WorkerThread
public String collectNoteContents(@NonNull List<Long> noteIds) {
- final StringBuilder noteContents = new StringBuilder();
- for (Long noteId : noteIds) {
- final Note fullNote = repo.getNoteById(noteId);
+ final var noteContents = new StringBuilder();
+ for (final var noteId : noteIds) {
+ final var fullNote = repo.getNoteById(noteId);
final String tempFullNote = fullNote.getContent();
if (!TextUtils.isEmpty(tempFullNote)) {
if (noteContents.length() > 0) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java b/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java
index cb51cdfc..a76b2068 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/MultiSelectedActionModeCallback.java
@@ -72,7 +72,7 @@ public class MultiSelectedActionModeCallback implements Callback {
mode.getMenuInflater().inflate(R.menu.menu_list_context_multiple, menu);
menu.findItem(R.id.menu_move).setVisible(canMoveNoteToAnotherAccounts);
for (int i = 0; i < menu.size(); i++) {
- Drawable drawable = menu.getItem(i).getIcon();
+ var drawable = menu.getItem(i).getIcon();
if (drawable != null) {
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, colorAccent);
@@ -96,23 +96,23 @@ public class MultiSelectedActionModeCallback implements Callback {
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
int itemId = item.getItemId();
if (itemId == R.id.menu_delete) {
- final List<Long> selection = new ArrayList<>(tracker.getSelection().size());
- for (Long sel : tracker.getSelection()) {
+ final var selection = new ArrayList<Long>(tracker.getSelection().size());
+ for (final var sel : tracker.getSelection()) {
selection.add(sel);
}
- final LiveData<List<Note>> fullNotes$ = mainViewModel.getFullNotesWithCategory(selection);
+ final var fullNotes$ = mainViewModel.getFullNotesWithCategory(selection);
fullNotes$.observe(lifecycleOwner, (fullNotes) -> {
fullNotes$.removeObservers(lifecycleOwner);
tracker.clearSelection();
- final LiveData<Void> deleteLiveData = mainViewModel.deleteNotesAndSync(selection);
+ final var deleteLiveData = mainViewModel.deleteNotesAndSync(selection);
deleteLiveData.observe(lifecycleOwner, (next) -> deleteLiveData.removeObservers(lifecycleOwner));
- String deletedSnackbarTitle = fullNotes.size() == 1
+ final String deletedSnackbarTitle = fullNotes.size() == 1
? context.getString(R.string.action_note_deleted, fullNotes.get(0).getTitle())
: context.getResources().getQuantityString(R.plurals.bulk_notes_deleted, fullNotes.size(), fullNotes.size());
BrandedSnackbar.make(view, deletedSnackbarTitle, Snackbar.LENGTH_LONG)
.setAction(R.string.action_undo, (View v) -> {
- for (Note deletedNote : fullNotes) {
- final LiveData<Note> undoLiveData = mainViewModel.addNoteAndSync(deletedNote);
+ for (final var deletedNote : fullNotes) {
+ final var undoLiveData = mainViewModel.addNoteAndSync(deletedNote);
undoLiveData.observe(lifecycleOwner, (o) -> undoLiveData.removeObservers(lifecycleOwner));
}
String restoreSnackbarTitle = fullNotes.size() == 1
@@ -125,7 +125,7 @@ public class MultiSelectedActionModeCallback implements Callback {
});
return true;
} else if (itemId == R.id.menu_move) {
- final LiveData<Account> currentAccount$ = mainViewModel.getCurrentAccount();
+ final var currentAccount$ = mainViewModel.getCurrentAccount();
currentAccount$.observe(lifecycleOwner, account -> {
currentAccount$.removeObservers(lifecycleOwner);
executor.submit(() -> AccountPickerDialogFragment
@@ -134,15 +134,15 @@ public class MultiSelectedActionModeCallback implements Callback {
});
return true;
} else if (itemId == R.id.menu_share) {
- final List<Long> selection = new ArrayList<>(tracker.getSelection().size());
- for (Long sel : tracker.getSelection()) {
+ final var selection = new ArrayList<Long>(tracker.getSelection().size());
+ for (final var sel : tracker.getSelection()) {
selection.add(sel);
}
tracker.clearSelection();
executor.submit(() -> {
if (selection.size() == 1) {
- final Note note = mainViewModel.getFullNote(selection.get(0));
+ final var note = mainViewModel.getFullNote(selection.get(0));
ShareUtil.openShareDialog(context, note.getTitle(), note.getContent());
} else {
ShareUtil.openShareDialog(context,
@@ -152,7 +152,7 @@ public class MultiSelectedActionModeCallback implements Callback {
});
return true;
} else if (itemId == R.id.menu_category) {// TODO detect whether all selected notes do have the same category - in this case preselect it
- final LiveData<Account> accountLiveData = mainViewModel.getCurrentAccount();
+ final var accountLiveData = mainViewModel.getCurrentAccount();
accountLiveData.observe(lifecycleOwner, account -> {
accountLiveData.removeObservers(lifecycleOwner);
CategoryDialogFragment
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java
index 5addabfb..5508beb6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/ItemAdapter.java
@@ -70,7 +70,7 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
this.gridView = gridView;
this.mainColor = ContextCompat.getColor(context, R.color.defaultBrand);
this.textColor = Color.WHITE;
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
+ final var sp = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext());
this.fontSize = getFontSizeFromPreferences(context, sp);
this.monospace = sp.getBoolean(context.getString(R.string.pref_key_font), false);
setHasStableIds(true);
@@ -140,7 +140,7 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder holder, int position) {
boolean isSelected = false;
if (tracker != null) {
- Long itemId = getItemId(position);
+ final Long itemId = getItemId(position);
if (tracker.isSelected(itemId)) {
tracker.select(itemId);
isSelected = true;
@@ -187,12 +187,12 @@ public class ItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> i
@IntRange(from = 0, to = 3)
@Override
public int getItemViewType(int position) {
- Item item = getItem(position);
+ final var item = getItem(position);
if (item == null) {
throw new IllegalArgumentException("Item at position " + position + " must not be null");
}
if (getItem(position).isSection()) return TYPE_SECTION;
- Note note = (Note) getItem(position);
+ final var note = (Note) getItem(position);
if (TextUtils.isEmpty(note.getExcerpt())) {
if (TextUtils.isEmpty(note.getCategory())) {
return TYPE_NOTE_ONLY_TITLE;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
index 131609fa..609d1aef 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/NoteViewHolder.java
@@ -117,6 +117,7 @@ public abstract class NoteViewHolder extends RecyclerView.ViewHolder {
// The Pattern.quote method will add \Q to the very beginning of the string and \E to the end of the string
// It implies that the string between \Q and \E is a literal string and thus the reserved keyword in such string will be ignored.
// See https://stackoverflow.com/questions/15409296/what-is-the-use-of-pattern-quote-method
+ //noinspection ConstantConditions
final Pattern pattern = Pattern.compile("(" + Pattern.quote(searchQuery.toString()) + ")", Pattern.CASE_INSENSITIVE);
SpannableString spannableString = new SpannableString(content);
Matcher matcher = pattern.matcher(spannableString);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java
index 01743638..1f502020 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecoration.java
@@ -33,7 +33,7 @@ public class GridItemDecoration extends SectionItemDecoration {
super.getItemOffsets(outRect, view, parent, state);
final int position = parent.getChildAdapterPosition(view);
if (position >= 0) {
- final StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
+ final var lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
if (adapter.getItemViewType(position) == ItemAdapter.TYPE_SECTION) {
lp.setFullSpan(true);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
index 8d1cfe07..c171a236 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NoteViewHolderWithExcerpt.java
@@ -30,7 +30,7 @@ public class NoteViewHolderWithExcerpt extends NoteViewHolder {
public void bind(boolean isSelected, @NonNull Note note, boolean showCategory, int mainColor, int textColor, @Nullable CharSequence searchQuery) {
super.bind(isSelected, note, showCategory, mainColor, textColor, searchQuery);
- @NonNull final Context context = itemView.getContext();
+ @NonNull final var context = itemView.getContext();
binding.noteSwipeable.setAlpha(DBStatus.LOCAL_DELETED.equals(note.getStatus()) ? 0.5f : 1.0f);
bindCategory(context, binding.noteCategory, showCategory, note.getCategory(), mainColor);
bindStatus(binding.noteStatus, note.getStatus(), mainColor);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java
index 5730aecf..03f64670 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/list/NotesListViewItemTouchHelper.java
@@ -72,17 +72,17 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper {
switch (direction) {
case ItemTouchHelper.LEFT:
viewHolder.setIsRecyclable(false);
- final Note dbNoteWithoutContent = (Note) adapter.getItem(viewHolder.getLayoutPosition());
- final LiveData<Note> dbNoteLiveData = mainViewModel.getFullNote$(dbNoteWithoutContent.getId());
+ final var dbNoteWithoutContent = (Note) adapter.getItem(viewHolder.getLayoutPosition());
+ final var dbNoteLiveData = mainViewModel.getFullNote$(dbNoteWithoutContent.getId());
dbNoteLiveData.observe(lifecycleOwner, (dbNote) -> {
dbNoteLiveData.removeObservers(lifecycleOwner);
tracker.deselect(dbNote.getId());
- final LiveData<Void> deleteLiveData = mainViewModel.deleteNoteAndSync(dbNote.getId());
+ final var deleteLiveData = mainViewModel.deleteNoteAndSync(dbNote.getId());
deleteLiveData.observe(lifecycleOwner, (next) -> deleteLiveData.removeObservers(lifecycleOwner));
Log.v(TAG, "Item deleted through swipe ----------------------------------------------");
BrandedSnackbar.make(view, context.getString(R.string.action_note_deleted, dbNote.getTitle()), UNDO_DURATION)
.setAction(R.string.action_undo, (View v) -> {
- final LiveData<Note> undoLiveData = mainViewModel.addNoteAndSync(dbNote);
+ final var undoLiveData = mainViewModel.addNoteAndSync(dbNote);
undoLiveData.observe(lifecycleOwner, (o) -> undoLiveData.removeObservers(lifecycleOwner));
BrandedSnackbar.make(view, context.getString(R.string.action_note_restored, dbNote.getTitle()), Snackbar.LENGTH_SHORT)
.show();
@@ -92,8 +92,8 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper {
break;
case ItemTouchHelper.RIGHT:
viewHolder.setIsRecyclable(false);
- final Note adapterNote = (Note) adapter.getItem(viewHolder.getLayoutPosition());
- final LiveData<Void> toggleLiveData = mainViewModel.toggleFavoriteAndSync(adapterNote.getId());
+ final var adapterNote = (Note) adapter.getItem(viewHolder.getLayoutPosition());
+ final var toggleLiveData = mainViewModel.toggleFavoriteAndSync(adapterNote.getId());
toggleLiveData.observe(lifecycleOwner, (next) -> toggleLiveData.removeObservers(lifecycleOwner));
break;
default:
@@ -103,7 +103,7 @@ public class NotesListViewItemTouchHelper extends ItemTouchHelper {
@Override
public void onChildDraw(@NonNull Canvas c, @NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
- final NoteViewHolder noteViewHolder = (NoteViewHolder) viewHolder;
+ final var noteViewHolder = (NoteViewHolder) viewHolder;
// show swipe icon on the side
noteViewHolder.showSwipe(dX > 0);
// move only swipeable part of item (not leave-behind)
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java
index bbed62f4..03fda020 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemIdKeyProvider.java
@@ -18,7 +18,7 @@ public class ItemIdKeyProvider extends ItemKeyProvider<Long> {
@Nullable
@Override
public Long getKey(int position) {
- final RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
+ final var adapter = recyclerView.getAdapter();
if (adapter == null) {
throw new IllegalStateException("RecyclerView adapter is not set!");
}
@@ -27,7 +27,7 @@ public class ItemIdKeyProvider extends ItemKeyProvider<Long> {
@Override
public int getPosition(@NonNull Long key) {
- final RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForItemId(key);
+ final var viewHolder = recyclerView.findViewHolderForItemId(key);
return viewHolder == null ? NO_POSITION : viewHolder.getLayoutPosition();
}
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java
index 05537db1..e3ad40dd 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemLookup.java
@@ -22,7 +22,7 @@ public class ItemLookup extends ItemDetailsLookup<Long> {
@Nullable
@Override
public ItemDetails<Long> getItemDetails(@NonNull MotionEvent e) {
- final View view = recyclerView.findChildViewUnder(e.getX(), e.getY());
+ final var view = recyclerView.findChildViewUnder(e.getX(), e.getY());
if (view != null) {
final RecyclerView.ViewHolder viewHolder = recyclerView.getChildViewHolder(view);
if (viewHolder instanceof NoteViewHolder) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java
index c1a8d3a0..4031c47e 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/items/selection/ItemSelectionTracker.java
@@ -22,7 +22,7 @@ public class ItemSelectionTracker {
new ItemLookup(recyclerView),
StorageStrategy.createLongStorage()
).withSelectionPredicate(
- new SelectionTracker.SelectionPredicate<Long>() {
+ new SelectionTracker.SelectionPredicate<>() {
@Override
public boolean canSetStateForKey(@NonNull Long key, boolean nextState) {
return true;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
index 24c1a44e..8112f7ec 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
@@ -84,9 +84,9 @@ public class MenuAdapter extends RecyclerView.Adapter<MenuViewHolder> {
}
private static Intent generateTrashbinAppIntent(@NonNull Context context, @NonNull Account account, boolean prod) throws PackageManager.NameNotFoundException {
- final PackageManager packageManager = context.getPackageManager();
+ final var packageManager = context.getPackageManager();
final String packageName = prod ? Constants.PACKAGE_NAME_PROD : Constants.PACKAGE_NAME_DEV;
- final Intent intent = new Intent();
+ final var intent = new Intent();
intent.setClassName(packageName, "com.owncloud.android.ui.trashbin.TrashbinActivity");
if (packageManager.resolveActivity(intent, 0) != null) {
return intent
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java
index 4e170901..78ac616d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationAdapter.java
@@ -74,7 +74,7 @@ public class NavigationAdapter extends RecyclerView.Adapter<NavigationViewHolder
}
public void setItems(@NonNull List<NavigationItem> items) {
- for (NavigationItem item : items) {
+ for (final var item : items) {
if (TextUtils.isEmpty(item.label)) {
item.id = MainActivity.ADAPTER_KEY_UNCATEGORIZED;
item.label = context.getString(R.string.action_uncategorized);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java
index 25ea4abb..e291d1db 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationItem.java
@@ -75,7 +75,7 @@ public class NavigationItem {
if (this == o) return true;
if (!(o instanceof NavigationItem)) return false;
- NavigationItem that = (NavigationItem) o;
+ final var that = (NavigationItem) o;
if (icon != that.icon) return false;
if (!id.equals(that.id)) return false;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java
index eaf40dbc..3cd2a205 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/navigation/NavigationViewHolder.java
@@ -32,7 +32,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder {
NavigationViewHolder(@NonNull View itemView, @NonNull final NavigationClickListener navigationClickListener) {
super(itemView);
view = itemView;
- ItemNavigationBinding binding = ItemNavigationBinding.bind(view);
+ final var binding = ItemNavigationBinding.bind(view);
this.name = binding.navigationItemLabel;
this.count = binding.navigationItemCount;
this.icon = binding.navigationItemIcon;
@@ -42,7 +42,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder {
public void bind(@NonNull NavigationItem item, @ColorInt int mainColor, String selectedItem) {
currentItem = item;
- boolean isSelected = item.id.equals(selectedItem);
+ final boolean isSelected = item.id.equals(selectedItem);
name.setText(NoteUtil.extendCategory(item.label));
count.setVisibility(item.count == null ? View.GONE : View.VISIBLE);
count.setText(String.valueOf(item.count));
@@ -52,7 +52,7 @@ class NavigationViewHolder extends RecyclerView.ViewHolder {
} else {
icon.setVisibility(View.GONE);
}
- int textColor = isSelected ? mainColor : view.getResources().getColor(R.color.fg_default);
+ final int textColor = isSelected ? mainColor : view.getResources().getColor(R.color.fg_default);
name.setTextColor(textColor);
count.setTextColor(textColor);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java
index 206ee9ca..d97b65a9 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/SlotterUtil.java
@@ -22,8 +22,8 @@ public class SlotterUtil {
@NonNull
public static List<Item> fillListByCategory(@NonNull List<Note> noteList, @Nullable String currentCategory) {
- List<Item> itemList = new ArrayList<>();
- for (Note note : noteList) {
+ final var itemList = new ArrayList<Item>();
+ for (final var note : noteList) {
if (currentCategory != null && !currentCategory.equals(note.getCategory())) {
itemList.add(new SectionItem(NoteUtil.extendCategory(note.getCategory())));
}
@@ -36,11 +36,11 @@ public class SlotterUtil {
@NonNull
public static List<Item> fillListByTime(@NonNull Context context, @NonNull List<Note> noteList) {
- List<Item> itemList = new ArrayList<>();
- Timeslotter timeslotter = new Timeslotter(context);
+ final var itemList = new ArrayList<Item>();
+ final var timeslotter = new Timeslotter(context);
String lastTimeslot = null;
for (int i = 0; i < noteList.size(); i++) {
- Note currentNote = noteList.get(i);
+ final var currentNote = noteList.get(i);
String timeslot = timeslotter.getTimeslot(currentNote);
if (i > 0 && !timeslot.equals(lastTimeslot)) {
itemList.add(new SectionItem(timeslot));
@@ -54,10 +54,10 @@ public class SlotterUtil {
@NonNull
public static List<Item> fillListByInitials(@NonNull Context context, @NonNull List<Note> noteList) {
- List<Item> itemList = new ArrayList<>();
+ final var itemList = new ArrayList<Item>();
String lastInitials = null;
for (int i = 0; i < noteList.size(); i++) {
- Note currentNote = noteList.get(i);
+ final var currentNote = noteList.get(i);
String initials = currentNote.getTitle().substring(0, 1).toUpperCase();
if (!initials.matches("[A-Z\\u00C0-\\u00DF]")) {
initials = initials.matches("[\\u0250-\\uFFFF]") ? context.getString(R.string.simple_other) : "#";
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java
index 988311bc..bc271dac 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/slots/Timeslotter.java
@@ -37,8 +37,8 @@ public class Timeslotter {
if (note.getFavorite()) {
return "";
}
- Calendar modified = note.getModified();
- for (Timeslot timeslot : timeslots) {
+ final var modified = note.getModified();
+ for (final var timeslot : timeslots) {
if (!modified.before(timeslot.getTime())) {
return timeslot.getLabel();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java
index 25155c9a..19adee12 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountAdapter.java
@@ -53,7 +53,7 @@ public class ManageAccountAdapter extends RecyclerView.Adapter<ManageAccountView
@Override
public void onBindViewHolder(@NonNull ManageAccountViewHolder holder, int position) {
- final Account localAccount = localAccounts.get(position);
+ final var localAccount = localAccounts.get(position);
holder.bind(localAccount, (localAccountClicked) -> {
setCurrentLocalAccount(localAccountClicked);
onAccountClick.accept(localAccountClicked);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
index 2c29ce99..3b61851a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountViewHolder.java
@@ -53,11 +53,11 @@ public class ManageAccountViewHolder extends RecyclerView.ViewHolder {
itemView.setOnClickListener((v) -> onAccountClick.accept(localAccount));
binding.accountContextMenu.setVisibility(VISIBLE);
binding.accountContextMenu.setOnClickListener((v) -> {
- final PopupMenu popup = new PopupMenu(itemView.getContext(), v);
+ final var popup = new PopupMenu(itemView.getContext(), v);
popup.inflate(R.menu.menu_account);
- final ApiVersion preferredApiVersion = getPreferredApiVersion(localAccount.getApiVersion());
+ final var preferredApiVersion = getPreferredApiVersion(localAccount.getApiVersion());
if (preferredApiVersion != null && !preferredApiVersion.supportsSettings()) {
- final Menu menu = popup.getMenu();
+ final var menu = popup.getMenu();
Stream.of(
R.id.notes_path,
R.id.file_suffix
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java
index d1b0e603..b6341f61 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsActivity.java
@@ -114,21 +114,21 @@ public class ManageAccountsActivity extends LockedActivity {
}
private void onChangeNotesPath(@NonNull Account localAccount) {
- final NotesRepository repository = NotesRepository.getInstance(getApplicationContext());
- final EditText editText = new EditText(this);
- final ViewGroup wrapper = createDialogViewWrapper();
- final AlertDialog dialog = new BrandedAlertDialogBuilder(this)
+ final var repository = NotesRepository.getInstance(getApplicationContext());
+ final var editText = new EditText(this);
+ final var wrapper = createDialogViewWrapper();
+ final var dialog = new BrandedAlertDialogBuilder(this)
.setTitle(R.string.settings_notes_path)
.setMessage(R.string.settings_notes_path_description)
.setView(wrapper)
.setNeutralButton(android.R.string.cancel, null)
.setPositiveButton(R.string.action_edit_save, (v, d) -> new Thread(() -> {
try {
- final Call<NotesSettings> putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(editText.getText().toString(), null), getPreferredApiVersion(localAccount.getApiVersion()));
- putSettingsCall.enqueue(new Callback<NotesSettings>() {
+ final var putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(editText.getText().toString(), null), getPreferredApiVersion(localAccount.getApiVersion()));
+ putSettingsCall.enqueue(new Callback<>() {
@Override
public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) {
- final NotesSettings body = response.body();
+ final var body = response.body();
if (response.isSuccessful() && body != null) {
runOnUiThread(() -> Toast.makeText(ManageAccountsActivity.this, getString(R.string.settings_notes_path_success, body.getNotesPath()), Toast.LENGTH_LONG).show());
} else {
@@ -148,14 +148,14 @@ public class ManageAccountsActivity extends LockedActivity {
.show();
try {
repository.getServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), getPreferredApiVersion(localAccount.getApiVersion()))
- .enqueue(new Callback<NotesSettings>() {
+ .enqueue(new Callback<>() {
@Override
public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) {
runOnUiThread(() -> {
- final NotesSettings body = response.body();
+ final var body = response.body();
if (response.isSuccessful() && body != null) {
wrapper.removeAllViews();
- final EditText editText = new EditText(ManageAccountsActivity.this);
+ final var editText = new EditText(ManageAccountsActivity.this);
editText.setText(body.getNotesPath());
wrapper.addView(editText);
} else {
@@ -180,13 +180,13 @@ public class ManageAccountsActivity extends LockedActivity {
}
private void onChangeFileSuffix(@NonNull Account localAccount) {
- final NotesRepository repository = NotesRepository.getInstance(getApplicationContext());
- final Spinner spinner = new Spinner(this);
- final ViewGroup wrapper = createDialogViewWrapper();
- final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.settings_file_suffixes, android.R.layout.simple_spinner_item);
+ final var repository = NotesRepository.getInstance(getApplicationContext());
+ final var spinner = new Spinner(this);
+ final var wrapper = createDialogViewWrapper();
+ final var adapter = ArrayAdapter.createFromResource(this, R.array.settings_file_suffixes, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
- final AlertDialog dialog = new BrandedAlertDialogBuilder(this)
+ final var dialog = new BrandedAlertDialogBuilder(this)
.setTitle(R.string.settings_file_suffix)
.setMessage(R.string.settings_file_suffix_description)
.setView(wrapper)
@@ -194,10 +194,10 @@ public class ManageAccountsActivity extends LockedActivity {
.setPositiveButton(R.string.action_edit_save, (v, d) -> new Thread(() -> {
try {
final Call<NotesSettings> putSettingsCall = repository.putServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), new NotesSettings(null, spinner.getSelectedItem().toString()), getPreferredApiVersion(localAccount.getApiVersion()));
- putSettingsCall.enqueue(new Callback<NotesSettings>() {
+ putSettingsCall.enqueue(new Callback<>() {
@Override
public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) {
- final NotesSettings body = response.body();
+ final var body = response.body();
if (response.isSuccessful() && body != null) {
runOnUiThread(() -> Toast.makeText(ManageAccountsActivity.this, getString(R.string.settings_file_suffix_success, body.getNotesPath()), Toast.LENGTH_LONG).show());
} else {
@@ -217,7 +217,7 @@ public class ManageAccountsActivity extends LockedActivity {
.show();
try {
repository.getServerSettings(AccountImporter.getSingleSignOnAccount(this, localAccount.getAccountName()), getPreferredApiVersion(localAccount.getApiVersion()))
- .enqueue(new Callback<NotesSettings>() {
+ .enqueue(new Callback<>() {
@Override
public void onResponse(@NonNull Call<NotesSettings> call, @NonNull Response<NotesSettings> response) {
final NotesSettings body = response.body();
@@ -254,9 +254,9 @@ public class ManageAccountsActivity extends LockedActivity {
@NonNull
private ViewGroup createDialogViewWrapper() {
- final ProgressBar progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
+ final var progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal);
progressBar.setIndeterminate(true);
- final FrameLayout wrapper = new FrameLayout(this);
+ final var wrapper = new FrameLayout(this);
final int paddingVertical = getResources().getDimensionPixelSize(R.dimen.spacer_1x);
final int paddingHorizontal = SDK_INT >= LOLLIPOP_MR1
? getDimensionFromAttribute(android.R.attr.dialogPreferredPadding)
@@ -268,7 +268,7 @@ public class ManageAccountsActivity extends LockedActivity {
@Px
private int getDimensionFromAttribute(@SuppressWarnings("SameParameterValue") @AttrRes int attr) {
- final TypedValue typedValue = new TypedValue();
+ final var typedValue = new TypedValue();
if (getTheme().resolveAttribute(attr, typedValue, true))
return TypedValue.complexToDimensionPixelSize(typedValue.data, getResources().getDisplayMetrics());
else {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java
index ce88f2c2..b625b076 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/manageaccounts/ManageAccountsViewModel.java
@@ -48,7 +48,7 @@ public class ManageAccountsViewModel extends AndroidViewModel {
public void deleteAccount(@NonNull Account account, @NonNull Context context) {
executor.submit(() -> {
- final List<Account> accounts = repo.getAccounts();
+ final var accounts = repo.getAccounts();
for (int i = 0; i < accounts.size(); i++) {
if (accounts.get(i).getId() == account.getId()) {
if (i > 0) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java
index 6b851ddb..0d06def4 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/ApiProvider.java
@@ -60,7 +60,7 @@ public class ApiProvider {
if (API_CACHE_OCS.containsKey(ssoAccount.name)) {
return API_CACHE_OCS.get(ssoAccount.name);
}
- final OcsAPI ocsAPI = new NextcloudRetrofitApiBuilder(getNextcloudAPI(context, ssoAccount), API_ENDPOINT_OCS).create(OcsAPI.class);
+ final var ocsAPI = new NextcloudRetrofitApiBuilder(getNextcloudAPI(context, ssoAccount), API_ENDPOINT_OCS).create(OcsAPI.class);
API_CACHE_OCS.put(ssoAccount.name, ocsAPI);
return ocsAPI;
}
@@ -72,7 +72,7 @@ public class ApiProvider {
if (API_CACHE_NOTES.containsKey(ssoAccount.name)) {
return API_CACHE_NOTES.get(ssoAccount.name);
}
- final NotesAPI notesAPI = new NotesAPI(getNextcloudAPI(context, ssoAccount), preferredApiVersion);
+ final var notesAPI = new NotesAPI(getNextcloudAPI(context, ssoAccount), preferredApiVersion);
API_CACHE_NOTES.put(ssoAccount.name, notesAPI);
return notesAPI;
}
@@ -82,12 +82,12 @@ public class ApiProvider {
return API_CACHE.get(ssoAccount.name);
} else {
Log.v(TAG, "NextcloudRequest account: " + ssoAccount.name);
- final NextcloudAPI nextcloudAPI = new NextcloudAPI(context.getApplicationContext(), ssoAccount,
+ final var nextcloudAPI = new NextcloudAPI(context.getApplicationContext(), ssoAccount,
new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.registerTypeHierarchyAdapter(Calendar.class, (JsonSerializer<Calendar>) (src, typeOfSrc, ctx) -> new JsonPrimitive(src.getTimeInMillis() / 1_000))
.registerTypeHierarchyAdapter(Calendar.class, (JsonDeserializer<Calendar>) (src, typeOfSrc, ctx) -> {
- final Calendar calendar = Calendar.getInstance();
+ final var calendar = Calendar.getInstance();
calendar.setTimeInMillis(src.getAsLong() * 1_000);
return calendar;
})
@@ -117,7 +117,7 @@ public class ApiProvider {
public synchronized void invalidateAPICache(@NonNull SingleSignOnAccount ssoAccount) {
Log.v(TAG, "Invalidating API cache for " + ssoAccount.name);
if (API_CACHE.containsKey(ssoAccount.name)) {
- final NextcloudAPI nextcloudAPI = API_CACHE.get(ssoAccount.name);
+ final var nextcloudAPI = API_CACHE.get(ssoAccount.name);
if (nextcloudAPI != null) {
nextcloudAPI.stop();
}
@@ -131,10 +131,10 @@ public class ApiProvider {
* Invalidates the whole API cache for all accounts
*/
public synchronized void invalidateAPICache() {
- for (String key : API_CACHE.keySet()) {
+ for (final String key : API_CACHE.keySet()) {
Log.v(TAG, "Invalidating API cache for " + key);
if (API_CACHE.containsKey(key)) {
- final NextcloudAPI nextcloudAPI = API_CACHE.get(key);
+ final var nextcloudAPI = API_CACHE.get(key);
if (nextcloudAPI != null) {
nextcloudAPI.stop();
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java
index 33e42382..bc53af45 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java
@@ -27,11 +27,11 @@ public class CapabilitiesClient {
@WorkerThread
public static Capabilities getCapabilities(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @Nullable String lastETag, @NonNull ApiProvider apiProvider) throws Throwable {
- final OcsAPI ocsAPI = apiProvider.getOcsAPI(context, ssoAccount);
+ final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount);
try {
- final ParsedResponse<OcsResponse<Capabilities>> response = ocsAPI.getCapabilities(lastETag).blockingSingle();
- final Capabilities capabilities = response.getResponse().ocs.data;
- final Map<String, String> headers = response.getHeaders();
+ final var response = ocsAPI.getCapabilities(lastETag).blockingSingle();
+ final var capabilities = response.getResponse().ocs.data;
+ final var headers = response.getHeaders();
if (headers != null) {
capabilities.setETag(headers.get(HEADER_KEY_ETAG));
} else {
@@ -39,7 +39,7 @@ public class CapabilitiesClient {
}
return capabilities;
} catch (RuntimeException e) {
- final Throwable cause = e.getCause();
+ final var cause = e.getCause();
if (cause != null) {
throw cause;
} else {
@@ -51,11 +51,11 @@ public class CapabilitiesClient {
@WorkerThread
@Nullable
public static String getDisplayName(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @NonNull ApiProvider apiProvider) {
- final OcsAPI ocsAPI = apiProvider.getOcsAPI(context, ssoAccount);
+ final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount);
try {
- final Response<OcsResponse<OcsUser>> userResponse = ocsAPI.getUser(ssoAccount.userId).execute();
+ final var userResponse = ocsAPI.getUser(ssoAccount.userId).execute();
if (userResponse.isSuccessful()) {
- final OcsResponse<OcsUser> ocsResponse = userResponse.body();
+ final var ocsResponse = userResponse.body();
if (ocsResponse != null) {
return ocsResponse.ocs.data.displayName;
} else {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java
index 4f8852e7..b593f86d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesWorker.java
@@ -42,12 +42,12 @@ public class CapabilitiesWorker extends Worker {
@NonNull
@Override
public Result doWork() {
- final NotesRepository repo = NotesRepository.getInstance(getApplicationContext());
- for (Account account : repo.getAccounts()) {
+ final var repo = NotesRepository.getInstance(getApplicationContext());
+ for (final var account : repo.getAccounts()) {
try {
- final SingleSignOnAccount ssoAccount = AccountImporter.getSingleSignOnAccount(getApplicationContext(), account.getAccountName());
+ final var ssoAccount = AccountImporter.getSingleSignOnAccount(getApplicationContext(), account.getAccountName());
Log.i(TAG, "Refreshing capabilities for " + ssoAccount.name);
- final Capabilities capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, account.getCapabilitiesETag(), ApiProvider.getInstance());
+ final var capabilities = CapabilitiesClient.getCapabilities(getApplicationContext(), ssoAccount, account.getCapabilitiesETag(), ApiProvider.getInstance());
repo.updateCapabilitiesETag(account.getId(), capabilities.getETag());
repo.updateBrand(account.getId(), capabilities.getColor(), capabilities.getTextColor());
repo.updateApiVersion(account.getId(), capabilities.getApiVersion());
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java
index 51eae0dc..59eafa05 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRepository.java
@@ -155,7 +155,7 @@ public class NotesRepository {
// Registers BroadcastReceiver to track network connection changes.
this.context.registerReceiver(networkReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
- final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.context);
+ final var prefs = PreferenceManager.getDefaultSharedPreferences(this.context);
prefs.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener);
syncOnlyOnWifi = prefs.getBoolean(syncOnlyOnWifiKey, false);
@@ -167,7 +167,7 @@ public class NotesRepository {
@AnyThread
public void addAccount(@NonNull String url, @NonNull String username, @NonNull String accountName, @NonNull Capabilities capabilities, @Nullable String displayName, @NonNull IResponseCallback<Account> callback) {
- final Account createdAccount = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account(url, username, accountName, displayName, capabilities)));
+ final var createdAccount = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account(url, username, accountName, displayName, capabilities)));
if (createdAccount == null) {
callback.onError(new Exception("Could not read created account."));
} else {
@@ -377,8 +377,8 @@ public class NotesRepository {
@NonNull
@MainThread
public LiveData<Note> addNoteAndSync(Account account, Note note) {
- final Note entity = new Note(0, null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), note.getETag(), DBStatus.LOCAL_EDITED, account.getId(), generateNoteExcerpt(note.getContent(), note.getTitle()), 0);
- final MutableLiveData<Note> ret = new MutableLiveData<>();
+ final var entity = new Note(0, null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), note.getETag(), DBStatus.LOCAL_EDITED, account.getId(), generateNoteExcerpt(note.getContent(), note.getTitle()), 0);
+ final var ret = new MutableLiveData<Note>();
executor.submit(() -> ret.postValue(addNote(account.getId(), entity)));
return map(ret, newNote -> {
notifyWidgets();
@@ -406,7 +406,7 @@ public class NotesRepository {
@MainThread
public LiveData<Note> moveNoteToAnotherAccount(Account account, @NonNull Note note) {
- final Note fullNote = new Note(null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), null);
+ final var fullNote = new Note(null, note.getModified(), note.getTitle(), note.getContent(), note.getCategory(), note.getFavorite(), null);
deleteNoteAndSync(account, note.getId());
return map(addNoteAndSync(account, fullNote), (createdNote) -> {
db.getNoteDao().updateStatus(createdNote.getId(), DBStatus.LOCAL_EDITED);
@@ -518,10 +518,10 @@ public class NotesRepository {
scheduleSync(account, true);
if (SDK_INT >= O) {
- ShortcutManager shortcutManager = context.getSystemService(ShortcutManager.class);
+ final var shortcutManager = context.getSystemService(ShortcutManager.class);
if (shortcutManager != null) {
shortcutManager.getPinnedShortcuts().forEach((shortcut) -> {
- String shortcutId = id + "";
+ final String shortcutId = String.valueOf(id);
if (shortcut.getId().equals(shortcutId)) {
Log.v(TAG, "Removing shortcut for " + shortcutId);
shortcutManager.disableShortcuts(Collections.singletonList(shortcutId), context.getResources().getString(R.string.note_has_been_deleted));
@@ -549,14 +549,14 @@ public class NotesRepository {
private void updateDynamicShortcuts(long accountId) {
executor.submit(() -> {
if (SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) {
- final ShortcutManager shortcutManager = this.context.getSystemService(ShortcutManager.class);
+ final var shortcutManager = this.context.getSystemService(ShortcutManager.class);
if (shortcutManager != null) {
if (!shortcutManager.isRateLimitingActive()) {
- List<ShortcutInfo> newShortcuts = new ArrayList<>();
+ var newShortcuts = new ArrayList<ShortcutInfo>();
- for (Note note : db.getNoteDao().getRecentNotes(accountId)) {
+ for (final var note : db.getNoteDao().getRecentNotes(accountId)) {
if (!TextUtils.isEmpty(note.getTitle())) {
- Intent intent = new Intent(this.context, EditNoteActivity.class);
+ final var intent = new Intent(this.context, EditNoteActivity.class);
intent.putExtra(EditNoteActivity.PARAM_NOTE_ID, note.getId());
intent.setAction(ACTION_SHORTCUT);
@@ -583,7 +583,7 @@ public class NotesRepository {
* @param raw has to be a JSON array as a string <code>["0.2", "1.0", ...]</code>
*/
public void updateApiVersion(long accountId, @Nullable String raw) {
- final Collection<ApiVersion> apiVersions = ApiVersionUtil.parse(raw);
+ final var apiVersions = ApiVersionUtil.parse(raw);
if (apiVersions.size() > 0) {
final int updatedRows = db.getAccountDao().updateApiVersion(accountId, ApiVersionUtil.serialize(apiVersions));
if (updatedRows == 0) {
@@ -613,8 +613,8 @@ public class NotesRepository {
@AnyThread
public void modifyCategoryOrder(long accountId, @NonNull NavigationCategory selectedCategory, @NonNull CategorySortingMethod sortingMethod) {
executor.submit(() -> {
- final Context ctx = context.getApplicationContext();
- final SharedPreferences.Editor sp = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
+ final var ctx = context.getApplicationContext();
+ final var sp = PreferenceManager.getDefaultSharedPreferences(ctx).edit();
int orderIndex = sortingMethod.getId();
switch (selectedCategory.getType()) {
@@ -636,7 +636,7 @@ public class NotesRepository {
if (category != null) {
if (db.getCategoryOptionsDao().modifyCategoryOrder(accountId, category, sortingMethod) == 0) {
// Nothing updated means we didn't have this yet
- final CategoryOptions categoryOptions = new CategoryOptions();
+ final var categoryOptions = new CategoryOptions();
categoryOptions.setAccountId(accountId);
categoryOptions.setCategory(category);
categoryOptions.setSortingMethod(sortingMethod);
@@ -667,7 +667,7 @@ public class NotesRepository {
@NonNull
@MainThread
public LiveData<CategorySortingMethod> getCategoryOrder(@NonNull NavigationCategory selectedCategory) {
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
+ final var sp = PreferenceManager.getDefaultSharedPreferences(context);
String prefKey;
switch (selectedCategory.getType()) {
@@ -838,9 +838,9 @@ public class NotesRepository {
Log.d(TAG, "... scheduled");
syncScheduled.put(account.getId(), true);
if (callbacksPush.containsKey(account.getId()) && callbacksPush.get(account.getId()) != null) {
- final List<ISyncCallback> callbacks = callbacksPush.get(account.getId());
+ final var callbacks = callbacksPush.get(account.getId());
if (callbacks != null) {
- for (ISyncCallback callback : callbacks) {
+ for (final var callback : callbacks) {
callback.onScheduled();
}
} else {
@@ -850,9 +850,9 @@ public class NotesRepository {
} else {
Log.d(TAG, "... do nothing");
if (callbacksPush.containsKey(account.getId()) && callbacksPush.get(account.getId()) != null) {
- final List<ISyncCallback> callbacks = callbacksPush.get(account.getId());
+ final var callbacks = callbacksPush.get(account.getId());
if (callbacks != null) {
- for (ISyncCallback callback : callbacks) {
+ for (final var callback : callbacks) {
callback.onScheduled();
}
} else {
@@ -865,12 +865,12 @@ public class NotesRepository {
public void updateNetworkStatus() {
try {
- final ConnectivityManager connMgr = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE);
+ final var connMgr = (ConnectivityManager) this.context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connMgr == null) {
throw new NetworkErrorException("ConnectivityManager is null");
}
- final NetworkInfo activeInfo = connMgr.getActiveNetworkInfo();
+ final var activeInfo = connMgr.getActiveNetworkInfo();
if (activeInfo == null) {
throw new NetworkErrorException("NetworkInfo is null");
}
@@ -878,7 +878,7 @@ public class NotesRepository {
if (activeInfo.isConnected()) {
networkConnected = true;
- final NetworkInfo networkInfo = connMgr.getNetworkInfo((ConnectivityManager.TYPE_WIFI));
+ final var networkInfo = connMgr.getNetworkInfo((ConnectivityManager.TYPE_WIFI));
if (networkInfo == null) {
throw new NetworkErrorException("connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI) is null");
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java
index a7df68bd..f50dd21e 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesServerSyncTask.java
@@ -90,7 +90,7 @@ abstract class NotesServerSyncTask extends Thread {
Log.i(TAG, "STARTING SYNCHRONIZATION");
- final SyncResultStatus status = new SyncResultStatus();
+ final var status = new SyncResultStatus();
status.pushSuccessful = pushLocalChanges();
if (!onlyLocalChanges) {
status.pullSuccessful = pullRemoteChanges();
@@ -112,7 +112,7 @@ abstract class NotesServerSyncTask extends Thread {
Log.d(TAG, "pushLocalChanges()");
boolean success = true;
- final List<Note> notes = repo.getLocalModifiedNotes(localAccount.getId());
+ final var notes = repo.getLocalModifiedNotes(localAccount.getId());
for (Note note : notes) {
Log.d(TAG, " Process Local Note: " + (BuildConfig.DEBUG ? note : note.getTitle()));
try {
@@ -122,7 +122,7 @@ abstract class NotesServerSyncTask extends Thread {
Log.v(TAG, " ...create/edit");
if (note.getRemoteId() != null) {
Log.v(TAG, " ...Note has remoteId → try to edit");
- final Response<Note> editResponse = notesAPI.editNote(note).execute();
+ final var editResponse = notesAPI.editNote(note).execute();
if (editResponse.isSuccessful()) {
remoteNote = editResponse.body();
if (remoteNote == null) {
@@ -131,7 +131,7 @@ abstract class NotesServerSyncTask extends Thread {
}
} else if (editResponse.code() == HTTP_NOT_FOUND) {
Log.v(TAG, " ...Note does no longer exist on server → recreate");
- final Response<Note> createResponse = notesAPI.createNote(note).execute();
+ final var createResponse = notesAPI.createNote(note).execute();
if (createResponse.isSuccessful()) {
remoteNote = createResponse.body();
if (remoteNote == null) {
@@ -146,7 +146,7 @@ abstract class NotesServerSyncTask extends Thread {
}
} else {
Log.v(TAG, " ...Note does not have a remoteId yet → create");
- final Response<Note> createResponse = notesAPI.createNote(note).execute();
+ final var createResponse = notesAPI.createNote(note).execute();
if (createResponse.isSuccessful()) {
remoteNote = createResponse.body();
if (remoteNote == null) {
@@ -166,7 +166,7 @@ abstract class NotesServerSyncTask extends Thread {
Log.v(TAG, " ...delete (only local, since it has never been synchronized)");
} else {
Log.v(TAG, " ...delete (from server and local)");
- final Response<Void> deleteResponse = notesAPI.deleteNote(note.getRemoteId()).execute();
+ final var deleteResponse = notesAPI.deleteNote(note.getRemoteId()).execute();
if (!deleteResponse.isSuccessful()) {
if (deleteResponse.code() == HTTP_NOT_FOUND) {
Log.v(TAG, " ...delete (note has already been deleted remotely)");
@@ -205,10 +205,10 @@ abstract class NotesServerSyncTask extends Thread {
private boolean pullRemoteChanges() {
Log.d(TAG, "pullRemoteChanges() for account " + localAccount.getAccountName());
try {
- final Map<Long, Long> idMap = repo.getIdMap(localAccount.getId());
+ final var idMap = repo.getIdMap(localAccount.getId());
// FIXME re-reading the localAccount is only a workaround for a not-up-to-date eTag in localAccount.
- final Account accountFromDatabase = repo.getAccountById(localAccount.getId());
+ final var accountFromDatabase = repo.getAccountById(localAccount.getId());
if (accountFromDatabase == null) {
callbacks.remove(localAccount.getId());
return true;
@@ -216,18 +216,18 @@ abstract class NotesServerSyncTask extends Thread {
localAccount.setModified(accountFromDatabase.getModified());
localAccount.setETag(accountFromDatabase.getETag());
- final ParsedResponse<List<Note>> fetchResponse = notesAPI.getNotes(localAccount.getModified(), localAccount.getETag()).blockingSingle();
- final List<Note> remoteNotes = fetchResponse.getResponse();
- final Set<Long> remoteIDs = new HashSet<>();
+ final var fetchResponse = notesAPI.getNotes(localAccount.getModified(), localAccount.getETag()).blockingSingle();
+ final var remoteNotes = fetchResponse.getResponse();
+ final var remoteIDs = new HashSet<Long>();
// pull remote changes: update or create each remote note
- for (Note remoteNote : remoteNotes) {
+ for (final var remoteNote : remoteNotes) {
Log.v(TAG, " Process Remote Note: " + (BuildConfig.DEBUG ? remoteNote : remoteNote.getTitle()));
remoteIDs.add(remoteNote.getRemoteId());
if (remoteNote.getModified() == null) {
Log.v(TAG, " ... unchanged");
} else if (idMap.containsKey(remoteNote.getRemoteId())) {
Log.v(TAG, " ... found → Update");
- Long localId = idMap.get(remoteNote.getRemoteId());
+ final Long localId = idMap.get(remoteNote.getRemoteId());
if (localId != null) {
repo.updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localId, remoteNote.getModified().getTimeInMillis(), remoteNote.getTitle(), remoteNote.getFavorite(), remoteNote.getCategory(), remoteNote.getETag(), remoteNote.getContent(), generateNoteExcerpt(remoteNote.getContent(), remoteNote.getTitle()));
@@ -241,7 +241,7 @@ abstract class NotesServerSyncTask extends Thread {
}
Log.d(TAG, " Remove remotely deleted Notes (only those without local changes)");
// remove remotely deleted notes (only those without local changes)
- for (Map.Entry<Long, Long> entry : idMap.entrySet()) {
+ for (final var entry : idMap.entrySet()) {
if (!remoteIDs.contains(entry.getKey())) {
Log.v(TAG, " ... remove " + entry.getValue());
repo.deleteByNoteId(entry.getValue(), DBStatus.VOID);
@@ -251,7 +251,7 @@ abstract class NotesServerSyncTask extends Thread {
// update ETag and Last-Modified in order to reduce size of next response
localAccount.setETag(fetchResponse.getHeaders().get(HEADER_KEY_ETAG));
- final Calendar lastModified = Calendar.getInstance();
+ final var lastModified = Calendar.getInstance();
lastModified.setTimeInMillis(0);
final String lastModifiedHeader = fetchResponse.getHeaders().get(HEADER_KEY_LAST_MODIFIED);
if (lastModifiedHeader != null)
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java
index adb7eff0..ab2a90f6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/SyncWorker.java
@@ -33,8 +33,8 @@ public class SyncWorker extends Worker {
@NonNull
@Override
public Result doWork() {
- NotesRepository repo = NotesRepository.getInstance(getApplicationContext());
- for (Account account : repo.getAccounts()) {
+ final var repo = NotesRepository.getInstance(getApplicationContext());
+ for (final var account : repo.getAccounts()) {
Log.v(TAG, "Starting background synchronization for " + account.getAccountName());
repo.addCallbackPull(account, () -> Log.v(TAG, "Finished background synchronization for " + account.getAccountName()));
repo.scheduleSync(account, false);
@@ -53,7 +53,7 @@ public class SyncWorker extends Worker {
public static void update(@NonNull Context context, boolean backgroundSync) {
deregister(context);
if (backgroundSync) {
- PeriodicWorkRequest work = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES)
+ final var work = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES)
.setConstraints(constraints).build();
WorkManager.getInstance(context.getApplicationContext()).enqueueUniquePeriodicWork(WORKER_TAG, ExistingPeriodicWorkPolicy.REPLACE, work);
Log.i(TAG, "Registering worker running each " + 15 + " " + TimeUnit.MINUTES);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java
index 5a739b7d..84ef2105 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_10_11.java
@@ -26,14 +26,14 @@ public class Migration_10_11 extends Migration {
*/
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
- SharedPreferences.Editor editor = sharedPreferences.edit();
- Map<String, ?> prefs = sharedPreferences.getAll();
- for (Map.Entry<String, ?> pref : prefs.entrySet()) {
- String key = pref.getKey();
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var editor = sharedPreferences.edit();
+ final var prefs = sharedPreferences.getAll();
+ for (final var pref : prefs.entrySet()) {
+ final String key = pref.getKey();
final String DARK_THEME_KEY = "NLW_darkTheme";
if ("darkTheme".equals(key) || key.startsWith(DARK_THEME_KEY) || key.startsWith("SNW_darkTheme")) {
- Boolean darkTheme = (Boolean) pref.getValue();
+ final Boolean darkTheme = (Boolean) pref.getValue();
editor.putString(pref.getKey(), darkTheme ? DarkModeSetting.DARK.name() : DarkModeSetting.LIGHT.name());
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java
index 3d0147fb..805204f6 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_13_14.java
@@ -47,10 +47,10 @@ public class Migration_13_14 extends Migration {
final String SP_WIDGET_KEY = "single_note_widget";
final String SP_ACCOUNT_ID_KEY = "SNW_accountId";
final String SP_DARK_THEME_KEY = "SNW_darkTheme";
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
- SharedPreferences.Editor editor = sharedPreferences.edit();
- Map<String, ?> prefs = sharedPreferences.getAll();
- for (Map.Entry<String, ?> pref : prefs.entrySet()) {
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var editor = sharedPreferences.edit();
+ final var prefs = sharedPreferences.getAll();
+ for (final var pref : prefs.entrySet()) {
final String key = pref.getKey();
Integer widgetId = null;
Long noteId = null;
@@ -69,7 +69,7 @@ public class Migration_13_14 extends Migration {
themeMode = sharedPreferences.getBoolean(SP_DARK_THEME_KEY + widgetId, false) ? DarkModeSetting.DARK.getModeId() : DarkModeSetting.LIGHT.getModeId();
}
- ContentValues migratedWidgetValues = new ContentValues();
+ final var migratedWidgetValues = new ContentValues();
migratedWidgetValues.put("ID", widgetId);
migratedWidgetValues.put("ACCOUNT_ID", accountId);
migratedWidgetValues.put("NOTE_ID", noteId);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java
index a66fc0e9..bda4d046 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_14_15.java
@@ -27,7 +27,7 @@ public class Migration_14_15 extends Migration {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {
// Rename a tmp_NOTES table.
- String tmpTableNotes = String.format("tmp_%s", "NOTES");
+ final String tmpTableNotes = String.format("tmp_%s", "NOTES");
db.execSQL("ALTER TABLE NOTES RENAME TO " + tmpTableNotes);
db.execSQL("CREATE TABLE NOTES ( " +
"ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
@@ -53,14 +53,14 @@ public class Migration_14_15 extends Migration {
createIndex(db, "CATEGORIES", "CATEGORY_ID", "CATEGORY_ACCOUNT_ID", "CATEGORY_TITLE");
// A hashtable storing categoryTitle - categoryId Mapping
// This is used to prevent too many searches in database
- Hashtable<String, Integer> categoryTitleIdMap = new Hashtable<>();
+ final var categoryTitleIdMap = new Hashtable<String, Integer>();
int id = 1;
- Cursor tmpNotesCursor = db.query("SELECT * FROM " + tmpTableNotes, null);
+ final var tmpNotesCursor = db.query("SELECT * FROM " + tmpTableNotes, null);
while (tmpNotesCursor.moveToNext()) {
- String categoryTitle = tmpNotesCursor.getString(8);
- int accountId = tmpNotesCursor.getInt(2);
+ final String categoryTitle = tmpNotesCursor.getString(8);
+ final int accountId = tmpNotesCursor.getInt(2);
Log.e("###", accountId + "");
- Integer categoryId;
+ final Integer categoryId;
if (categoryTitleIdMap.containsKey(categoryTitle) && categoryTitleIdMap.get(categoryTitle) != null) {
categoryId = categoryTitleIdMap.get(categoryTitle);
} else {
@@ -74,7 +74,7 @@ public class Migration_14_15 extends Migration {
categoryTitleIdMap.put(categoryTitle, categoryId);
}
// Move the data in tmp_NOTES to NOTES
- ContentValues values = new ContentValues();
+ final ContentValues values = new ContentValues();
values.put("ID", tmpNotesCursor.getInt(0));
values.put("REMOTEID", tmpNotesCursor.getInt(1));
values.put("ACCOUNT_ID", tmpNotesCursor.getInt(2));
@@ -99,7 +99,7 @@ public class Migration_14_15 extends Migration {
}
private static void createIndex(@NonNull SupportSQLiteDatabase db, @NonNull String table, @NonNull String column) {
- String indexName = table + "_" + column + "_idx";
+ final String indexName = table + "_" + column + "_idx";
Log.v(TAG, "Creating database index: CREATE INDEX IF NOT EXISTS " + indexName + " ON " + table + "(" + column + ")");
db.execSQL("CREATE INDEX " + indexName + " ON " + table + "(" + column + ")");
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java
index 48b7195b..7be78511 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_15_16.java
@@ -51,10 +51,10 @@ public class Migration_15_16 extends Migration {
final String SP_DARK_THEME_KEY = "NLW_darkTheme";
final String SP_CATEGORY_KEY = "NLW_cat";
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
- SharedPreferences.Editor editor = sharedPreferences.edit();
- Map<String, ?> prefs = sharedPreferences.getAll();
- for (Map.Entry<String, ?> pref : prefs.entrySet()) {
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var editor = sharedPreferences.edit();
+ final var prefs = sharedPreferences.getAll();
+ for (final var pref : prefs.entrySet()) {
final String key = pref.getKey();
Integer widgetId = null;
Integer mode = null;
@@ -76,7 +76,7 @@ public class Migration_15_16 extends Migration {
if (mode == 2) {
final String categoryTitle = sharedPreferences.getString(SP_CATEGORY_KEY + widgetId, null);
- Cursor cursor = db.query("SELECT CATEGORY_ID FROM CATEGORIES WHERE CATEGORY_TITLE = ? AND CATEGORY_ACCOUNT_ID = ?", new String[]{categoryTitle, String.valueOf(accountId)});
+ final var cursor = db.query("SELECT CATEGORY_ID FROM CATEGORIES WHERE CATEGORY_TITLE = ? AND CATEGORY_ACCOUNT_ID = ?", new String[]{categoryTitle, String.valueOf(accountId)});
if (cursor.moveToNext()) {
categoryId = cursor.getInt(0);
} else {
@@ -85,7 +85,7 @@ public class Migration_15_16 extends Migration {
cursor.close();
}
- ContentValues migratedWidgetValues = new ContentValues();
+ final var migratedWidgetValues = new ContentValues();
migratedWidgetValues.put("ID", widgetId);
migratedWidgetValues.put("ACCOUNT_ID", accountId);
migratedWidgetValues.put("CATEGORY_ID", categoryId);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java
index d9ed2041..32ede8b1 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_20_21.java
@@ -90,8 +90,8 @@ public final class Migration_20_21 extends Migration {
}
private static void migrateAccounts(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT * FROM ACCOUNTS", null);
- final ContentValues values = new ContentValues(10);
+ final var cursor = db.query("SELECT * FROM ACCOUNTS", null);
+ final var values = new ContentValues(10);
final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID");
final int COLUMN_POSITION_URL = cursor.getColumnIndex("URL");
@@ -131,8 +131,8 @@ public final class Migration_20_21 extends Migration {
}
private static void migrateCategories(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT * FROM CATEGORIES", null);
- final ContentValues values = new ContentValues(3);
+ final var cursor = db.query("SELECT * FROM CATEGORIES", null);
+ final var values = new ContentValues(3);
final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("CATEGORY_ACCOUNT_ID");
final int COLUMN_POSITION_TITLE = cursor.getColumnIndex("CATEGORY_TITLE");
@@ -148,8 +148,8 @@ public final class Migration_20_21 extends Migration {
}
private static void migrateNotes(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT NOTES.*, CATEGORIES.category_title as `CAT_TITLE` FROM NOTES LEFT JOIN CATEGORIES ON NOTES.category = CATEGORIES.category_id", null);
- final ContentValues values = new ContentValues(12);
+ final var cursor = db.query("SELECT NOTES.*, CATEGORIES.category_title as `CAT_TITLE` FROM NOTES LEFT JOIN CATEGORIES ON NOTES.category = CATEGORIES.category_id", null);
+ final var values = new ContentValues(12);
final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID");
final int COLUMN_POSITION_REMOTEID = cursor.getColumnIndex("REMOTEID");
@@ -183,8 +183,8 @@ public final class Migration_20_21 extends Migration {
}
private static void migrateNotesListWidgets(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT WIDGET_NOTE_LISTS.*, CATEGORIES.category_title as `CATEGORY` FROM WIDGET_NOTE_LISTS LEFT JOIN CATEGORIES ON WIDGET_NOTE_LISTS.CATEGORY_ID = CATEGORIES.category_id", null);
- final ContentValues values = new ContentValues(5);
+ final var cursor = db.query("SELECT WIDGET_NOTE_LISTS.*, CATEGORIES.category_title as `CATEGORY` FROM WIDGET_NOTE_LISTS LEFT JOIN CATEGORIES ON WIDGET_NOTE_LISTS.CATEGORY_ID = CATEGORIES.category_id", null);
+ final var values = new ContentValues(5);
final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID");
final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("ACCOUNT_ID");
@@ -204,8 +204,8 @@ public final class Migration_20_21 extends Migration {
}
private static void migrateSingleNotesWidgets(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT * FROM WIDGET_SINGLE_NOTES", null);
- final ContentValues values = new ContentValues(4);
+ final var cursor = db.query("SELECT * FROM WIDGET_SINGLE_NOTES", null);
+ final var values = new ContentValues(4);
final int COLUMN_POSITION_ID = cursor.getColumnIndex("ID");
final int COLUMN_POSITION_ACCOUNT_ID = cursor.getColumnIndex("ACCOUNT_ID");
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java
index f4413bba..c076d38e 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_21_22.java
@@ -25,8 +25,8 @@ public class Migration_21_22 extends Migration {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
- SharedPreferences.Editor editor = sharedPreferences.edit();
+ final var sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ final var editor = sharedPreferences.edit();
if (sharedPreferences.contains("backgroundSync")) {
editor.remove("backgroundSync");
if (sharedPreferences.getString("backgroundSync", "").equals("off")) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java
index b6a7494b..1ba08a3c 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_22_23.java
@@ -46,8 +46,8 @@ public class Migration_22_23 extends Migration {
}
private static void sanitizeAccounts(@NonNull SupportSQLiteDatabase db) {
- final Cursor cursor = db.query("SELECT id, apiVersion FROM ACCOUNT", null);
- final ContentValues values = new ContentValues(1);
+ final var cursor = db.query("SELECT id, apiVersion FROM ACCOUNT", null);
+ final var values = new ContentValues(1);
final int COLUMN_POSITION_ID = cursor.getColumnIndex("id");
final int COLUMN_POSITION_API_VERSION = cursor.getColumnIndex("apiVersion");
@@ -77,10 +77,10 @@ public class Migration_22_23 extends Migration {
}
}
- final Collection<ApiVersion> result = new ArrayList<>();
+ final var result = new ArrayList<ApiVersion>();
for (int i = 0; i < a.length(); i++) {
try {
- final ApiVersion version = ApiVersion.of(a.getString(i));
+ final var version = ApiVersion.of(a.getString(i));
if (version.getMajor() != 0 || version.getMinor() != 0) {
result.add(version);
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java
index 7cdab8c0..9b4b328f 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/migration/Migration_9_10.java
@@ -24,9 +24,9 @@ public class Migration_9_10 extends Migration {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {
db.execSQL("ALTER TABLE NOTES ADD COLUMN EXCERPT INTEGER NOT NULL DEFAULT ''");
- Cursor cursor = db.query("NOTES", new String[]{"ID", "CONTENT", "TITLE"});
+ final var cursor = db.query("NOTES", new String[]{"ID", "CONTENT", "TITLE"});
while (cursor.moveToNext()) {
- ContentValues values = new ContentValues();
+ final var values = new ContentValues();
values.put("EXCERPT", NoteUtil.generateNoteExcerpt(cursor.getString(1), cursor.getString(2)));
db.update("NOTES", OnConflictStrategy.REPLACE, values, "ID" + " = ? ", new String[]{cursor.getString(0)});
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java
index 141443e3..d5ae7b49 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializer.java
@@ -34,18 +34,18 @@ public class CapabilitiesDeserializer implements JsonDeserializer<Capabilities>
@Override
public Capabilities deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
- final Capabilities response = new Capabilities();
- final JsonObject data = json.getAsJsonObject();
+ final var response = new Capabilities();
+ final var data = json.getAsJsonObject();
if (data.has(CAPABILITIES)) {
- final JsonObject capabilities = data.getAsJsonObject(CAPABILITIES);
+ final var capabilities = data.getAsJsonObject(CAPABILITIES);
if (capabilities.has(CAPABILITIES_NOTES)) {
- final JsonObject notes = capabilities.getAsJsonObject(CAPABILITIES_NOTES);
+ final var notes = capabilities.getAsJsonObject(CAPABILITIES_NOTES);
if (notes.has(CAPABILITIES_NOTES_API_VERSION)) {
response.setApiVersion(notes.get(CAPABILITIES_NOTES_API_VERSION).toString());
}
}
if (capabilities.has(CAPABILITIES_THEMING)) {
- final JsonObject theming = capabilities.getAsJsonObject(CAPABILITIES_THEMING);
+ final var theming = capabilities.getAsJsonObject(CAPABILITIES_THEMING);
if (theming.has(CAPABILITIES_THEMING_COLOR)) {
try {
response.setColor(Color.parseColor(ColorUtil.INSTANCE.formatColorToParsableHexString(theming.get(CAPABILITIES_THEMING_COLOR).getAsString())));
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java
index d34ffe74..1c7c10f3 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/DarkModeSetting.java
@@ -1,6 +1,7 @@
package it.niedermann.owncloud.notes.preferences;
import androidx.appcompat.app.AppCompatDelegate;
+import androidx.appcompat.app.AppCompatDelegate.NightMode;
import java.util.NoSuchElementException;
@@ -31,12 +32,14 @@ public enum DarkModeSetting {
*/
SYSTEM_DEFAULT(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
+ @NightMode
private final int modeId;
DarkModeSetting(int modeId) {
this.modeId = modeId;
}
+ @NightMode
public int getModeId() {
return modeId;
}
@@ -55,7 +58,7 @@ public enum DarkModeSetting {
* @return An instance of {@link DarkModeSetting}
*/
public static DarkModeSetting fromModeID(int id) {
- for (DarkModeSetting value : DarkModeSetting.values()) {
+ for (final var value : DarkModeSetting.values()) {
if (value.modeId == id) {
return value;
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
index a38fd56c..e09c1ed4 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/preferences/PreferencesFragment.java
@@ -74,7 +74,7 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
Log.e(TAG, "Could not find \"" + getString(R.string.pref_key_lock) + "\"-preference.");
}
- final ListPreference themePref = findPreference(getString(R.string.pref_key_theme));
+ final var themePref = findPreference(getString(R.string.pref_key_theme));
assert themePref != null;
themePref.setOnPreferenceChangeListener((preference, newValue) -> {
NotesApplication.setAppTheme(DarkModeSetting.valueOf((String) newValue));
@@ -103,12 +103,10 @@ public class PreferencesFragment extends PreferenceFragmentCompat implements Bra
@Override
public void onStart() {
super.onStart();
- @Nullable Context context = getContext();
- if (context != null) {
- @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
- @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
- applyBrand(mainColor, textColor);
- }
+ final var context = requireContext();
+ @ColorInt final int mainColor = BrandingUtil.readBrandMainColor(context);
+ @ColorInt final int textColor = BrandingUtil.readBrandTextColor(context);
+ applyBrand(mainColor, textColor);
}
/**
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java b/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java
index 01308785..d660f182 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/quicksettings/NewNoteTileService.java
@@ -16,16 +16,15 @@ public class NewNoteTileService extends TileService {
@Override
public void onStartListening() {
- Tile tile = getQsTile();
+ final var tile = getQsTile();
tile.setState(Tile.STATE_ACTIVE);
-
tile.updateTile();
}
@Override
public void onClick() {
// create new note intent
- final Intent newNoteIntent = new Intent(getApplicationContext(), EditNoteActivity.class);
+ final var newNoteIntent = new Intent(getApplicationContext(), EditNoteActivity.class);
// ensure it won't open twice if already running
newNoteIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
// ask to unlock the screen if locked, then start new note intent
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java
index b35daaca..7ac09d66 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/ApiVersion.java
@@ -57,7 +57,7 @@ public class ApiVersion implements Comparable<ApiVersion> {
}
private static int extractNumber(String containsNumbers) {
- final Matcher matcher = NUMBER_EXTRACTION_PATTERN.matcher(containsNumbers);
+ final var matcher = NUMBER_EXTRACTION_PATTERN.matcher(containsNumbers);
if (matcher.find()) {
return Integer.parseInt(matcher.group());
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java
index 6a36ade1..b743fcab 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/CategorySortingMethod.java
@@ -38,7 +38,7 @@ public enum CategorySortingMethod {
* @return the corresponding enum item with the index (ordinal)
*/
public static CategorySortingMethod findById(int id) {
- for (CategorySortingMethod csm : values()) {
+ for (final var csm : values()) {
if (csm.getId() == id) {
return csm;
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java
index 57788472..e6444658 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/ApiVersionUtil.java
@@ -43,10 +43,10 @@ public class ApiVersionUtil {
}
}
- final Collection<ApiVersion> result = new ArrayList<>();
+ final var result = new ArrayList<ApiVersion>();
for (int i = 0; i < a.length(); i++) {
try {
- final ApiVersion version = ApiVersion.of(a.getString(i));
+ final var version = ApiVersion.of(a.getString(i));
if (version.getMajor() != 0 || version.getMinor() != 0) {
result.add(version);
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java
index 14163e91..d0a60fcf 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DeviceCredentialUtil.java
@@ -16,7 +16,7 @@ public class DeviceCredentialUtil {
}
public static boolean areCredentialsAvailable(Context context) {
- KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
+ final var keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
if (keyguardManager != null) {
return keyguardManager.isKeyguardSecure();
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java
index 06cbf57d..10884631 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java
@@ -1,5 +1,6 @@
package it.niedermann.owncloud.notes.shared.util;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
@@ -34,8 +35,8 @@ public class DisplayUtils {
}
public static NavigationItem.CategoryNavigationItem convertToCategoryNavigationItem(@NonNull Context context, @NonNull CategoryWithNotesCount counter) {
- Resources res = context.getResources();
- String category = counter.getCategory().toLowerCase();
+ final var res = context.getResources();
+ final String category = counter.getCategory().toLowerCase();
int icon = NavigationAdapter.ICON_FOLDER;
if (category.equals(res.getString(R.string.category_music).toLowerCase())) {
icon = R.drawable.ic_library_music_grey600_24dp;
@@ -54,6 +55,7 @@ public class DisplayUtils {
* @param parentView View
* @return keyboardVisibility Boolean
*/
+ @SuppressLint("WrongConstant")
public static boolean isSoftKeyboardVisible(@NonNull View parentView) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
final WindowInsetsCompat insets = ViewCompat.getRootWindowInsets(parentView);
@@ -64,8 +66,8 @@ public class DisplayUtils {
//Arbitrary keyboard height
final int defaultKeyboardHeightDP = 100;
- final int EstimatedKeyboardDP = defaultKeyboardHeightDP + (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? 48 : 0);
- final Rect rect = new Rect();
+ final int EstimatedKeyboardDP = defaultKeyboardHeightDP + 48;
+ final var rect = new Rect();
final int estimatedKeyboardHeight = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, EstimatedKeyboardDP, parentView.getResources().getDisplayMetrics());
parentView.getWindowVisibleDisplayFrame(rect);
final int heightDiff = parentView.getRootView().getHeight() - (rect.bottom - rect.top);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java
index 42aaf79d..035aab9a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/NotesColorUtil.java
@@ -18,7 +18,7 @@ public final class NotesColorUtil {
}
public static boolean contrastRatioIsSufficient(@ColorInt int colorOne, @ColorInt int colorTwo) {
- ColorPair key = new ColorPair(colorOne, colorTwo);
+ final var key = new ColorPair(colorOne, colorTwo);
Boolean ret = CONTRAST_RATIO_SUFFICIENT_CACHE.get(key);
if (ret == null) {
ret = ColorUtil.INSTANCE.getContrastRatio(colorOne, colorTwo) > 3d;
@@ -37,7 +37,7 @@ public final class NotesColorUtil {
@SuppressWarnings({"EqualsWhichDoesntCheckParameterClass", "NumberEquality"})
@Override
public boolean equals(Object o) {
- final ColorPair colorPair = (ColorPair) o;
+ final var colorPair = (ColorPair) o;
if (first != colorPair.first) return false;
return second == colorPair.second;
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java
index d4a6b1d2..7f5fc7c9 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/createnote/CreateNoteWidget.java
@@ -19,10 +19,10 @@ public class CreateNoteWidget extends AppWidgetProvider {
int appWidgetId) {
// Construct the RemoteViews object
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_create_note);
- Intent intent = new Intent(context, EditNoteActivity.class);
+ final var views = new RemoteViews(context.getPackageName(), R.layout.widget_create_note);
+ final var intent = new Intent(context, EditNoteActivity.class);
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
+ final var pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.widget_create_note, pendingIntent);
// Instruct the widget manager to update the widget
@@ -33,7 +33,7 @@ public class CreateNoteWidget extends AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
// There may be multiple widgets active, so update all of them
- for (int appWidgetId : appWidgetIds) {
+ for (final int appWidgetId : appWidgetIds) {
updateAppWidget(context, appWidgetManager, appWidgetId);
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java
index 9ec3e355..61d6869d 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListViewModel.java
@@ -42,9 +42,9 @@ public class NoteListViewModel extends AndroidViewModel {
return switchMap(distinctUntilChanged(repo.countFavorites$(accountId)), (favoritesCount) -> {
Log.v(TAG, "[getAdapterCategories] getFavoritesCountLiveData: " + favoritesCount);
return map(distinctUntilChanged(repo.getCategories$(accountId)), fromDatabase -> {
- final List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(getApplication(), fromDatabase);
+ final var categories = convertToCategoryNavigationItem(getApplication(), fromDatabase);
- final List<NavigationItem> items = new ArrayList<>(fromDatabase.size() + 3);
+ final var items = new ArrayList<NavigationItem>(fromDatabase.size() + 3);
items.add(new NavigationItem(MainActivity.ADAPTER_KEY_RECENT, getApplication().getString(R.string.label_all_notes), count, R.drawable.ic_access_time_grey600_24dp, RECENT));
items.add(new NavigationItem(MainActivity.ADAPTER_KEY_STARRED, getApplication().getString(R.string.label_favorites), favoritesCount, R.drawable.ic_star_yellow_24dp, FAVORITES));
@@ -52,7 +52,7 @@ public class NoteListViewModel extends AndroidViewModel {
items.add(new NavigationItem(MainActivity.ADAPTER_KEY_UNCATEGORIZED, "", null, NavigationAdapter.ICON_NOFOLDER));
}
- for (NavigationItem item : categories) {
+ for (final var item : categories) {
final int slashIndex = item.label.indexOf('/');
item.label = slashIndex < 0 ? item.label : item.label.substring(0, slashIndex);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
index 8825ad98..7b2d2639 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
@@ -23,19 +23,19 @@ public class NoteListWidget extends AppWidgetProvider {
private final ExecutorService executor = Executors.newCachedThreadPool();
static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) {
- final NotesRepository repo = NotesRepository.getInstance(context);
+ final var repo = NotesRepository.getInstance(context);
RemoteViews views;
for (int appWidgetId : appWidgetIds) {
try {
- final NotesListWidgetData data = repo.getNoteListWidgetData(appWidgetId);
+ final var data = repo.getNoteListWidgetData(appWidgetId);
- final Intent serviceIntent = new Intent(context, NoteListWidgetService.class);
+ final var serviceIntent = new Intent(context, NoteListWidgetService.class);
serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
- final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT);
+ final var pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT | Intent.FILL_IN_COMPONENT);
Log.v(TAG, "-- data - " + data);
@@ -61,7 +61,7 @@ public class NoteListWidget extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
- AppWidgetManager awm = AppWidgetManager.getInstance(context);
+ final var awm = AppWidgetManager.getInstance(context);
if (intent.getAction() != null) {
if (intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) {
@@ -83,9 +83,9 @@ public class NoteListWidget extends AppWidgetProvider {
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
super.onDeleted(context, appWidgetIds);
- final NotesRepository repo = NotesRepository.getInstance(context);
+ final var repo = NotesRepository.getInstance(context);
- for (int appWidgetId : appWidgetIds) {
+ for (final int appWidgetId : appWidgetIds) {
executor.submit(() -> repo.removeNoteListWidget(appWidgetId));
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java
index 3d7122da..fb94f7d8 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java
@@ -54,10 +54,10 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity {
setResult(RESULT_CANCELED);
repo = NotesRepository.getInstance(this);
- final Bundle extras = getIntent().getExtras();
+ final var args = getIntent().getExtras();
- if (extras != null) {
- appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
+ if (args != null) {
+ appWidgetId = args.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
}
@@ -73,7 +73,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity {
adapterCategories = new NavigationAdapter(this, new NavigationClickListener() {
@Override
public void onItemClick(NavigationItem item) {
- NotesListWidgetData data = new NotesListWidgetData();
+ final var data = new NotesListWidgetData();
data.setId(appWidgetId);
if (item.type != null) {
@@ -112,7 +112,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity {
executor.submit(() -> {
repo.createOrUpdateNoteListWidgetData(data);
- final Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), NoteListWidget.class)
+ final var updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), NoteListWidget.class)
.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, updateIntent);
getApplicationContext().sendBroadcast(updateIntent);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
index b7482233..94548e98 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
@@ -177,8 +177,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
Log.e(TAG, "Could not find position \"" + position + "\" in dbNotes list.");
return -2;
}
- Note note = dbNotes.get(position);
- return note.getId();
+ return dbNotes.get(position).getId();
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java
index 106b9f93..b86a4848 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java
@@ -25,22 +25,22 @@ public class SingleNoteWidget extends AppWidgetProvider {
private final ExecutorService executor = Executors.newCachedThreadPool();
static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) {
- final Intent templateIntent = new Intent(context, EditNoteActivity.class);
- final NotesRepository repo = NotesRepository.getInstance(context);
+ final var templateIntent = new Intent(context, EditNoteActivity.class);
+ final var repo = NotesRepository.getInstance(context);
for (int appWidgetId : appWidgetIds) {
- final SingleNoteWidgetData data = repo.getSingleNoteWidgetData(appWidgetId);
+ final var data = repo.getSingleNoteWidgetData(appWidgetId);
if (data != null) {
templateIntent.putExtra(BaseNoteFragment.PARAM_ACCOUNT_ID, data.getAccountId());
- final PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent,
+ final var templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
- final Intent serviceIntent = new Intent(context, SingleNoteWidgetService.class);
+ final var serviceIntent = new Intent(context, SingleNoteWidgetService.class);
serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
- final RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note);
+ final var views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note);
views.setPendingIntentTemplate(R.id.single_note_widget_lv, templatePendingIntent);
views.setRemoteAdapter(R.id.single_note_widget_lv, serviceIntent);
views.setEmptyView(R.id.single_note_widget_lv, R.id.widget_single_note_placeholder_tv);
@@ -62,7 +62,7 @@ public class SingleNoteWidget extends AppWidgetProvider {
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
- AppWidgetManager awm = AppWidgetManager.getInstance(context);
+ final var awm = AppWidgetManager.getInstance(context);
updateAppWidget(context, AppWidgetManager.getInstance(context),
(awm.getAppWidgetIds(new ComponentName(context, SingleNoteWidget.class))));
@@ -70,7 +70,7 @@ public class SingleNoteWidget extends AppWidgetProvider {
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
- final NotesRepository repo = NotesRepository.getInstance(context);
+ final var repo = NotesRepository.getInstance(context);
for (int appWidgetId : appWidgetIds) {
executor.submit(() -> repo.removeSingleNoteWidget(appWidgetId));
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
index a487e669..7324f8b2 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java
@@ -28,8 +28,8 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity {
setResult(Activity.RESULT_CANCELED);
fabCreate.setVisibility(View.GONE);
- Toolbar toolbar = binding.activityNotesListView.toolbar;
- SwipeRefreshLayout swipeRefreshLayout = binding.activityNotesListView.swiperefreshlayout;
+ final var toolbar = binding.activityNotesListView.toolbar;
+ final var swipeRefreshLayout = binding.activityNotesListView.swiperefreshlayout;
toolbar.setTitle(R.string.activity_select_single_note);
swipeRefreshLayout.setEnabled(false);
swipeRefreshLayout.setRefreshing(false);
@@ -42,15 +42,15 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity {
@Override
public void onNoteClick(int position, View v) {
- final Note note = (Note) adapter.getItem(position);
- final Bundle extras = getIntent().getExtras();
+ final var note = (Note) adapter.getItem(position);
+ final var args = getIntent().getExtras();
- if (extras == null) {
+ if (args == null) {
finish();
return;
}
- int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
+ final int appWidgetId = args.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
executor.submit(() -> {
try {
@@ -62,7 +62,7 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity {
NotesApplication.getAppTheme(this).getModeId()
)
);
- final Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null,
+ final var updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null,
getApplicationContext(), SingleNoteWidget.class)
.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
setResult(RESULT_OK, updateIntent);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java
index f6ca4a24..5369d3c7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java
@@ -41,7 +41,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
@Override
public void onDataSetChanged() {
- final SingleNoteWidgetData data = repo.getSingleNoteWidgetData(appWidgetId);
+ final var data = repo.getSingleNoteWidgetData(appWidgetId);
if (data != null) {
final long noteId = data.getNoteId();
Log.v(TAG, "Fetch note with id " + noteId);
@@ -82,14 +82,14 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
return null;
}
- final Intent fillInIntent = new Intent();
- final Bundle extras = new Bundle();
+ final var fillInIntent = new Intent();
+ final var args = new Bundle();
- extras.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId());
- extras.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId());
- fillInIntent.putExtras(extras);
+ args.putLong(EditNoteActivity.PARAM_NOTE_ID, note.getId());
+ args.putLong(EditNoteActivity.PARAM_ACCOUNT_ID, note.getAccountId());
+ fillInIntent.putExtras(args);
- final RemoteViews note_content = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_content);
+ final var note_content = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_content);
note_content.setOnClickFillInIntent(R.id.single_note_content_tv, fillInIntent);
note_content.setTextViewText(R.id.single_note_content_tv, MarkdownUtil.renderForRemoteView(context, note.getContent()));
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragmentTest.java b/app/src/test/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragmentTest.java
index 881bde31..ac4a7145 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragmentTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/edit/SearchableBaseNoteFragmentTest.java
@@ -11,7 +11,7 @@ public class SearchableBaseNoteFragmentTest {
@SuppressWarnings("ConstantConditions")
@Test
public void testCountOccurrencesFixed() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- final Method method = SearchableBaseNoteFragment.class.getDeclaredMethod("countOccurrences", String.class, String.class);
+ final var method = SearchableBaseNoteFragment.class.getDeclaredMethod("countOccurrences", String.class, String.class);
method.setAccessible(true);
for (int count = 0; count <= 15; ++count) {
@@ -35,7 +35,7 @@ public class SearchableBaseNoteFragmentTest {
@SuppressWarnings("ConstantConditions")
@Test
public void testNullOrEmptyInput() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- final Method method = SearchableBaseNoteFragment.class.getDeclaredMethod("countOccurrences", String.class, String.class);
+ final var method = SearchableBaseNoteFragment.class.getDeclaredMethod("countOccurrences", String.class, String.class);
method.setAccessible(true);
int num;
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecorationTest.java b/app/src/test/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecorationTest.java
index 2369415f..5c583d4f 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecorationTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/main/items/grid/GridItemDecorationTest.java
@@ -41,7 +41,7 @@ public class GridItemDecorationTest {
assertThrows("Requires at least one column", IllegalArgumentException.class, () -> new GridItemDecoration(itemAdapter, 0, 5, 5, 5, 5, 5));
- final GridItemDecoration oneColumn = new GridItemDecoration(itemAdapter, 1, 5, 5, 5, 5, 5);
+ final var oneColumn = new GridItemDecoration(itemAdapter, 1, 5, 5, 5, 5, 5);
testAssertion(oneColumn, 0, 0, true, 5, 5, 5, 5);
testAssertion(oneColumn, 0, 1, false, 0, 5, 5, 5);
@@ -54,7 +54,7 @@ public class GridItemDecorationTest {
testAssertion(oneColumn, 0, 8, false, 0, 5, 5, 5);
testAssertion(oneColumn, 0, 9, true, 5, 5, 5, 5);
- final GridItemDecoration twoColumns = new GridItemDecoration(itemAdapter, 2, 5, 5, 5, 5, 5);
+ final var twoColumns = new GridItemDecoration(itemAdapter, 2, 5, 5, 5, 5, 5);
testAssertion(twoColumns, 0, 0, true, 5, 5, 5, 5);
testAssertion(twoColumns, 0, 1, false, 0, 5, 5, 5);
@@ -67,7 +67,7 @@ public class GridItemDecorationTest {
testAssertion(twoColumns, 0, 8, false, 0, 5, 5, 5);
testAssertion(twoColumns, 0, 9, true, 5, 5, 5, 5);
- final GridItemDecoration threeColumns = new GridItemDecoration(itemAdapter, 3, 5, 5, 5, 5, 5);
+ final var threeColumns = new GridItemDecoration(itemAdapter, 3, 5, 5, 5, 5, 5);
testAssertion(threeColumns, 0, 0, true, 5, 5, 5, 5);
testAssertion(threeColumns, 0, 1, false, 0, 5, 5, 5);
@@ -85,7 +85,7 @@ public class GridItemDecorationTest {
private void testAssertion(GridItemDecoration gid, int spanIndex, int position, boolean fullSpan, int top, int left, int right, int bottom) {
when(layoutParams.getSpanIndex()).thenReturn(spanIndex);
when(recyclerView.getChildAdapterPosition(any())).thenReturn(position);
- final Rect result = new Rect();
+ final var result = new Rect();
gid.getItemOffsets(result, view, recyclerView, mock(RecyclerView.State.class));
if (fullSpan) {
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/AccountDaoTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/AccountDaoTest.java
index eb21f312..f3bdf254 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/AccountDaoTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/AccountDaoTest.java
@@ -43,7 +43,7 @@ public class AccountDaoTest {
@Test
public void insertAccount() {
final long createdId = db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities()));
- final Account createdAccount = db.getAccountDao().getAccountById(createdId);
+ final var createdAccount = db.getAccountDao().getAccountById(createdId);
assertEquals("https://äöüß.example.com", createdAccount.getUrl());
assertEquals("彼得", createdAccount.getUserName());
assertEquals("彼得@äöüß.example.com", createdAccount.getAccountName());
@@ -51,7 +51,7 @@ public class AccountDaoTest {
@Test
public void updateApiVersionFromNull() {
- final Account account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
+ final var account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
assertNull(account.getApiVersion());
assertEquals(0, db.getAccountDao().updateApiVersion(account.getId(), null));
@@ -61,9 +61,9 @@ public class AccountDaoTest {
@Test
public void updateApiVersionFromExisting() {
- final Capabilities capabilities = new Capabilities();
+ final var capabilities = new Capabilities();
capabilities.setApiVersion("[0.2]");
- final Account account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, capabilities)));
+ final var account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, capabilities)));
assertEquals("[0.2]", account.getApiVersion());
assertEquals(0, db.getAccountDao().updateApiVersion(account.getId(), "[0.2]"));
@@ -73,7 +73,7 @@ public class AccountDaoTest {
@Test
public void updateDisplayName() {
- final Account account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
+ final var account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
assertEquals("Should read userName in favor of displayName if displayName is NULL", "彼得", account.getDisplayName());
db.getAccountDao().updateDisplayName(account.getId(), "");
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/ApiProviderTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/ApiProviderTest.java
index d23b8190..ffbb9bdf 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/ApiProviderTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/ApiProviderTest.java
@@ -38,7 +38,7 @@ public class ApiProviderTest {
@Test
public void testGetOcsAPI() {
- OcsAPI api = apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount);
+ var api = apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount);
assertNotNull(api);
assertSame(api, apiProvider.getOcsAPI(ApplicationProvider.getApplicationContext(), ssoAccount));
@@ -64,7 +64,7 @@ public class ApiProviderTest {
@Test
public void testGetNotesAPI() {
- final NotesAPI notesAPI = apiProvider.getNotesAPI(ApplicationProvider.getApplicationContext(), ssoAccount, ApiVersion.API_VERSION_0_2);
+ final var notesAPI = apiProvider.getNotesAPI(ApplicationProvider.getApplicationContext(), ssoAccount, ApiVersion.API_VERSION_0_2);
assertNotNull(notesAPI);
@@ -75,7 +75,7 @@ public class ApiProviderTest {
apiProvider.invalidateAPICache();
- final NotesAPI newNotesAPI = apiProvider.getNotesAPI(ApplicationProvider.getApplicationContext(), ssoAccount, ApiVersion.API_VERSION_1_0);
+ final var newNotesAPI = apiProvider.getNotesAPI(ApplicationProvider.getApplicationContext(), ssoAccount, ApiVersion.API_VERSION_1_0);
assertNotSame("After a manual invalidation, the returned Notes API will be a new instance",
notesAPI, newNotesAPI);
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClientTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClientTest.java
index 2ed59b05..0b84504e 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClientTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClientTest.java
@@ -61,7 +61,7 @@ public class CapabilitiesClientTest {
when(responseMock.getHeaders()).thenReturn(Map.of("ETag", "1234"));
when(ocsAPI.getCapabilities(any())).thenReturn(Observable.just(responseMock));
- final Capabilities capabilities = CapabilitiesClient.getCapabilities(ApplicationProvider.getApplicationContext(), ssoAccount, null, apiProvider);
+ final var capabilities = CapabilitiesClient.getCapabilities(ApplicationProvider.getApplicationContext(), ssoAccount, null, apiProvider);
assertEquals("[1.0]", capabilities.getApiVersion());
assertEquals("ETag should be read correctly from response but wasn't.", "1234", capabilities.getETag());
@@ -76,12 +76,12 @@ public class CapabilitiesClientTest {
@SuppressWarnings("unchecked")
@Test
public void testGetDisplayName() throws IOException {
- final OcsResponse<OcsUser> mockOcs = new OcsResponse<>();
+ final var mockOcs = new OcsResponse<OcsUser>();
mockOcs.ocs = new OcsResponse.OcsWrapper<>();
mockOcs.ocs.data = new OcsUser();
mockOcs.ocs.data.displayName = "Peter";
- final Response<OcsResponse<OcsUser>> responseMock = Response.success(mockOcs);
- final Call<OcsResponse<OcsUser>> callMock = mock(Call.class);
+ final var responseMock = Response.success(mockOcs);
+ final var callMock = mock(Call.class);
when(ocsAPI.getUser(any())).thenReturn(callMock);
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesDaoTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesDaoTest.java
index bd073054..5b0c064d 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesDaoTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesDaoTest.java
@@ -105,7 +105,7 @@ public class NotesDaoTest {
@Test
public void getRemoteIds() {
- final Account secondAccount = setupSecondAccount();
+ final var secondAccount = setupSecondAccount();
db.getNoteDao().addNote(new Note(1, 4711L, Calendar.getInstance(), "T", "C", "", false, "1", VOID, account.getId(), "", 0));
db.getNoteDao().addNote(new Note(2, 1234L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_EDITED, account.getId(), "", 0));
@@ -125,7 +125,7 @@ public class NotesDaoTest {
db.getNoteDao().addNote(new Note(666, 1234L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_EDITED, account.getId(), "", 0));
db.getNoteDao().addNote(new Note(987, 6969L, Calendar.getInstance(), "T", "C", "", false, "1", LOCAL_DELETED, account.getId(), "", 0));
- final List<Note> pair = db.getNoteDao().getRemoteIdAndId(account.getId());
+ final var pair = db.getNoteDao().getRemoteIdAndId(account.getId());
assertEquals(2, pair.size());
assertTrue(pair.stream().anyMatch(note -> 815 == note.getId() && Long.valueOf(4711).equals(note.getRemoteId())));
assertTrue(pair.stream().anyMatch(note -> 666 == note.getId() && Long.valueOf(1234).equals(note.getRemoteId())));
@@ -157,7 +157,7 @@ public class NotesDaoTest {
@Test
public void count() throws InterruptedException {
- final Account secondAccount = setupSecondAccountAndTestNotes();
+ final var secondAccount = setupSecondAccountAndTestNotes();
assertEquals(Integer.valueOf(7), db.getNoteDao().count(account.getId()));
assertEquals(Integer.valueOf(5), db.getNoteDao().count(secondAccount.getId()));
@@ -168,15 +168,15 @@ public class NotesDaoTest {
@Test
public void getLocalModifiedNotes() {
- final Account secondAccount = setupSecondAccountAndTestNotes();
+ final var secondAccount = setupSecondAccountAndTestNotes();
- final List<Note> accountNotes = db.getNoteDao().getLocalModifiedNotes(account.getId());
+ final var accountNotes = db.getNoteDao().getLocalModifiedNotes(account.getId());
assertEquals(6, accountNotes.size());
for (Note note : accountNotes) {
assertNotEquals(VOID, note.getStatus());
}
- final List<Note> secondAccountNotes = db.getNoteDao().getLocalModifiedNotes(secondAccount.getId());
+ final var secondAccountNotes = db.getNoteDao().getLocalModifiedNotes(secondAccount.getId());
assertEquals(7, secondAccountNotes.size());
for (Note note : secondAccountNotes) {
assertNotEquals(VOID, note.getStatus());
@@ -185,7 +185,7 @@ public class NotesDaoTest {
@Test
public void toggleFavorite() {
- final Note note = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0);
+ final var note = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0);
db.getNoteDao().addNote(note);
db.getNoteDao().toggleFavorite(note.getId());
assertTrue(db.getNoteDao().getNoteById(note.getId()).getFavorite());
@@ -197,7 +197,7 @@ public class NotesDaoTest {
@Test
public void updateRemoteId() {
- final Note note = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0);
+ final var note = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0);
db.getNoteDao().addNote(note);
db.getNoteDao().updateRemoteId(1, 5L);
assertEquals(Long.valueOf(5), db.getNoteDao().getNoteById(1).getRemoteId());
@@ -205,8 +205,8 @@ public class NotesDaoTest {
@Test
public void updateIfNotModifiedLocallyDuringSync_NotModified() {
- final Note localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
- final Note targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
db.getNoteDao().addNote(localNote);
@@ -215,8 +215,8 @@ public class NotesDaoTest {
@Test
public void updateIfNotModifiedLocallyDuringSync_ModifiedContent() {
- final Note localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
- final Note targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
db.getNoteDao().addNote(localNote);
@@ -227,8 +227,8 @@ public class NotesDaoTest {
@Test
public void updateIfNotModifiedLocallyDuringSync_ModifiedFavorite() {
- final Note localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
- final Note targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
db.getNoteDao().addNote(localNote);
@@ -239,8 +239,8 @@ public class NotesDaoTest {
@Test
public void updateIfNotModifiedLocallyDuringSync_ModifiedCategory() {
- final Note localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
- final Note targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var localNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
+ final var targetNote = new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0);
db.getNoteDao().addNote(localNote);
@@ -251,95 +251,95 @@ public class NotesDaoTest {
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Nothing() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(0, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Nothing_ETagWasAndIsNull() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), null, localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Nothing_ETagWasNullButChanged() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, null, VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), "1", localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Modified() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis() + 1000, localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Title() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle() + " ", localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Favorite() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), !localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Category() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory() + " ", localNote.getETag(), localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_ETag() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag() + " ", localNote.getContent(), localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Content() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals(1, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent() + " ", localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_Excerpt() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", VOID, account.getId(), "", 0)));
assertEquals("Excerpt is a local property, and therefore should not prevent updating if different", 0, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent(), localNote.getExcerpt() + " "));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_ContentChangedButWasLocalEdited() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_EDITED, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_EDITED, account.getId(), "", 0)));
assertEquals(0, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent() + " ", localNote.getExcerpt()));
}
@Test
public void updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged_ContentChangedButWasLocalDeleted() {
- final Note localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0)));
+ final var localNote = db.getNoteDao().getNoteById(db.getNoteDao().addNote(new Note(1, 1L, Calendar.getInstance(), "My-Title", "My-Content", "", false, "1", LOCAL_DELETED, account.getId(), "", 0)));
assertEquals(0, db.getNoteDao().updateIfNotModifiedLocallyAndAnyRemoteColumnHasChanged(
localNote.getId(), localNote.getModified().getTimeInMillis(), localNote.getTitle(), localNote.getFavorite(), localNote.getCategory(), localNote.getETag(), localNote.getContent() + " ", localNote.getExcerpt()));
}
@Test
public void getCategoriesLiveData() throws InterruptedException {
- final Account secondAccount = setupSecondAccountAndTestNotes();
+ final var secondAccount = setupSecondAccountAndTestNotes();
- final List<CategoryWithNotesCount> accountCategories = NotesTestingUtil.getOrAwaitValue(db.getNoteDao().getCategories$(account.getId()));
+ final var accountCategories = NotesTestingUtil.getOrAwaitValue(db.getNoteDao().getCategories$(account.getId()));
assertEquals(4, accountCategories.size());
- for (CategoryWithNotesCount category : accountCategories) {
+ for (final var category : accountCategories) {
assertEquals(account.getId(), category.getAccountId());
}
@@ -348,9 +348,9 @@ public class NotesDaoTest {
assertTrue(accountCategories.stream().anyMatch(cat -> "ToDo".equals(cat.getCategory()) && Integer.valueOf(1).equals(cat.getTotalNotes())));
assertTrue(accountCategories.stream().anyMatch(cat -> "日记".equals(cat.getCategory()) && Integer.valueOf(1).equals(cat.getTotalNotes())));
- final List<CategoryWithNotesCount> secondAccountCategories = NotesTestingUtil.getOrAwaitValue(db.getNoteDao().getCategories$(secondAccount.getId()));
+ final var secondAccountCategories = NotesTestingUtil.getOrAwaitValue(db.getNoteDao().getCategories$(secondAccount.getId()));
assertEquals(2, secondAccountCategories.size());
- for (CategoryWithNotesCount category : secondAccountCategories) {
+ for (final var category : secondAccountCategories) {
assertEquals(secondAccount.getId(), category.getAccountId());
}
assertTrue(secondAccountCategories.stream().anyMatch(cat -> "Movies".equals(cat.getCategory()) && Integer.valueOf(4).equals(cat.getTotalNotes())));
@@ -361,7 +361,7 @@ public class NotesDaoTest {
@Test
public void searchCategories() throws InterruptedException {
- final Account secondAccount = setupSecondAccountAndTestNotes();
+ final var secondAccount = setupSecondAccountAndTestNotes();
assertEquals(2, NotesTestingUtil.getOrAwaitValue(db.getNoteDao().searchCategories$(account.getId(), "M%")).size());
assertEquals(1, NotesTestingUtil.getOrAwaitValue(db.getNoteDao().searchCategories$(account.getId(), "Mo%")).size());
@@ -375,10 +375,10 @@ public class NotesDaoTest {
@Test
public void searchRecentByModified() {
- final Account secondAccount = setupSecondAccountAndTestNotes();
- final List<Note> result = db.getNoteDao().searchRecentByModified(secondAccount.getId(), "T");
+ final var secondAccount = setupSecondAccountAndTestNotes();
+ final var result = db.getNoteDao().searchRecentByModified(secondAccount.getId(), "T");
assertEquals(5, result.size());
- for (Note note : result) {
+ for (final var note : result) {
assertNotEquals(DBStatus.LOCAL_DELETED, note.getStatus());
assertEquals(secondAccount.getId(), note.getAccountId());
assertTrue(note.getTitle().toLowerCase().contains("t") || note.getTitle().toLowerCase().contains("t"));
@@ -400,10 +400,10 @@ public class NotesDaoTest {
}
private Account setupSecondAccountAndTestNotes() {
- final Account secondAccount = setupSecondAccount();
+ final var secondAccount = setupSecondAccount();
long uniqueId = 1;
- final Note[] notes = new Note[]{
+ final var notes = new Note[]{
new Note(uniqueId++, uniqueId++, Calendar.getInstance(), "T", "C", "Movies", false, null, VOID, account.getId(), "", 0),
new Note(uniqueId++, uniqueId++, Calendar.getInstance(), "T", "C", "Movies", false, null, LOCAL_EDITED, account.getId(), "", 0),
new Note(uniqueId++, uniqueId++, Calendar.getInstance(), "T", "C", "Movies", false, null, LOCAL_EDITED, account.getId(), "", 0),
@@ -425,7 +425,7 @@ public class NotesDaoTest {
new Note(uniqueId++, uniqueId++, Calendar.getInstance(), "T", "C", "ToDo", true, null, LOCAL_DELETED, secondAccount.getId(), "", 0),
new Note(uniqueId++, uniqueId, Calendar.getInstance(), "T", "C", "ToDo", true, null, LOCAL_DELETED, secondAccount.getId(), "", 0)
};
- for (Note note : notes) {
+ for (final var note : notes) {
db.getNoteDao().addNote(note);
}
return secondAccount;
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesRepositoryTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesRepositoryTest.java
index 9e199d8b..738a4c9e 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesRepositoryTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesRepositoryTest.java
@@ -65,15 +65,15 @@ public class NotesRepositoryTest {
@Before
public void setupDB() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, JSONException {
- final Context context = ApplicationProvider.getApplicationContext();
+ final var context = ApplicationProvider.getApplicationContext();
db = Room
.inMemoryDatabaseBuilder(ApplicationProvider.getApplicationContext(), NotesDatabase.class)
.allowMainThreadQueries()
.build();
- final Constructor<NotesRepository> constructor = NotesRepository.class.getDeclaredConstructor(Context.class, NotesDatabase.class, ExecutorService.class, ExecutorService.class, ApiProvider.class);
+ final var constructor = NotesRepository.class.getDeclaredConstructor(Context.class, NotesDatabase.class, ExecutorService.class, ExecutorService.class, ApiProvider.class);
constructor.setAccessible(true);
- final ExecutorService executor = MoreExecutors.newDirectExecutorService();
+ final var executor = MoreExecutors.newDirectExecutorService();
repo = constructor.newInstance(context, db, executor, executor, ApiProvider.getInstance());
repo.addAccount("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", new Capabilities(), null, new IResponseCallback<Account>() {
@@ -122,20 +122,20 @@ public class NotesRepositoryTest {
@Test
public void testGetInstance() {
- final NotesRepository repo = NotesRepository.getInstance(ApplicationProvider.getApplicationContext());
+ final var repo = NotesRepository.getInstance(ApplicationProvider.getApplicationContext());
assertNotNull("Result of NotesRepository.getInstance() must not be null", repo);
assertSame("Result of NotesRepository.getInstance() must always return the same instance", repo, NotesRepository.getInstance(ApplicationProvider.getApplicationContext()));
}
@Test
public void testGetIdMap() {
- final Map<Long, Long> idMapOfFirstAccount = repo.getIdMap(account.getId());
+ final var idMapOfFirstAccount = repo.getIdMap(account.getId());
assertEquals(3, idMapOfFirstAccount.size());
assertEquals(Long.valueOf(1L), idMapOfFirstAccount.get(1001L));
assertEquals(Long.valueOf(3L), idMapOfFirstAccount.get(1003L));
assertEquals(Long.valueOf(5L), idMapOfFirstAccount.get(1005L));
- final Map<Long, Long> idMapOfSecondAccount = repo.getIdMap(secondAccount.getId());
+ final var idMapOfSecondAccount = repo.getIdMap(secondAccount.getId());
assertEquals(1, idMapOfSecondAccount.size());
assertEquals(Long.valueOf(8L), idMapOfSecondAccount.get(1008L));
}
@@ -170,13 +170,13 @@ public class NotesRepositoryTest {
@Test
public void testAddNote() {
- final Note localNote = new Note(null, Calendar.getInstance(), "Fancy Title", "MyContent", "Samples", false, "123");
+ final var localNote = new Note(null, Calendar.getInstance(), "Fancy Title", "MyContent", "Samples", false, "123");
localNote.setId(99);
- final Note createdNoteFromLocal = repo.addNote(account.getId(), localNote);
+ final var createdNoteFromLocal = repo.addNote(account.getId(), localNote);
assertEquals(LOCAL_EDITED, createdNoteFromLocal.getStatus());
assertEquals("MyContent", createdNoteFromLocal.getExcerpt());
- final Note createdNoteFromRemote = repo.addNote(account.getId(), new Note(null, Calendar.getInstance(), "Fancy Title", "MyContent", "Samples", false, "123"));
+ final var createdNoteFromRemote = repo.addNote(account.getId(), new Note(null, Calendar.getInstance(), "Fancy Title", "MyContent", "Samples", false, "123"));
assertEquals(VOID, createdNoteFromRemote.getStatus());
assertEquals("MyContent", createdNoteFromRemote.getExcerpt());
}
@@ -210,8 +210,8 @@ public class NotesRepositoryTest {
@Test
public void moveNoteToAnotherAccount() throws InterruptedException {
- final NotesRepository repoSpy = spy(repo);
- final Note noteToMove = repoSpy.getNoteById(1);
+ final var repoSpy = spy(repo);
+ final var noteToMove = repoSpy.getNoteById(1);
assertEquals(VOID, noteToMove.getStatus());
assertEquals(3, repoSpy.getLocalModifiedNotes(secondAccount.getId()).size());
@@ -219,7 +219,7 @@ public class NotesRepositoryTest {
doNothing().when(repoSpy).deleteNoteAndSync(any(), anyLong());
doNothing().when(repoSpy).scheduleSync(any(), anyBoolean());
- final Note movedNote = getOrAwaitValue(repoSpy.moveNoteToAnotherAccount(secondAccount, noteToMove));
+ final var movedNote = getOrAwaitValue(repoSpy.moveNoteToAnotherAccount(secondAccount, noteToMove));
assertEquals(4, repoSpy.getLocalModifiedNotes(secondAccount.getId()).size());
assertEquals("美好的一天", movedNote.getTitle());
@@ -261,7 +261,7 @@ public class NotesRepositoryTest {
@Test
public void updateDisplayName() {
- final Account account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
+ final var account = db.getAccountDao().getAccountById(db.getAccountDao().insert(new Account("https://äöüß.example.com", "彼得", "彼得@äöüß.example.com", null, new Capabilities())));
assertEquals("Should read userName in favor of displayName if displayName is NULL", "彼得", account.getDisplayName());
repo.updateDisplayName(account.getId(), "");
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesTestingUtil.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesTestingUtil.java
index 9ec8caa3..f0abb626 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesTestingUtil.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/NotesTestingUtil.java
@@ -28,9 +28,9 @@ public class NotesTestingUtil {
* @see <a href="https://gist.github.com/JoseAlcerreca/1e9ee05dcdd6a6a6fa1cbfc125559bba">Source</a>
*/
public static <T> T getOrAwaitValue(final LiveData<T> liveData) throws InterruptedException {
- final Object[] data = new Object[1];
- final CountDownLatch latch = new CountDownLatch(1);
- Observer<T> observer = new Observer<T>() {
+ final var data = new Object[1];
+ final var latch = new CountDownLatch(1);
+ var observer = new Observer<T>() {
@Override
public void onChanged(@Nullable T o) {
data[0] = o;
@@ -53,7 +53,7 @@ public class NotesTestingUtil {
* @param ssoAccount this account will be added
*/
public static void mockSingleSignOn(@NonNull SingleSignOnAccount ssoAccount) throws IOException {
- final SharedPreferences sharedPrefs = ApplicationProvider.getApplicationContext().getSharedPreferences("TEMP_SHARED_PREFS_" + currentLong++, Context.MODE_PRIVATE);
+ final var sharedPrefs = ApplicationProvider.getApplicationContext().getSharedPreferences("TEMP_SHARED_PREFS_" + currentLong++, Context.MODE_PRIVATE);
sharedPrefs.edit().putString("PREF_ACCOUNT_STRING" + ssoAccount.name, SingleSignOnAccount.toString(ssoAccount)).commit();
AccountImporter.setSharedPreferences(sharedPrefs);
}
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializerTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializerTest.java
index 657c3e3e..71f49ce9 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializerTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/sync/CapabilitiesDeserializerTest.java
@@ -38,7 +38,7 @@ public class CapabilitiesDeserializerTest {
" }" +
" }" +
"}";
- final Capabilities capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
+ final var capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
assertNull(capabilities.getETag());
assertNull(capabilities.getApiVersion());
assertEquals(Color.parseColor("#1E4164"), capabilities.getColor());
@@ -71,7 +71,7 @@ public class CapabilitiesDeserializerTest {
" }" +
" }" +
"}";
- final Capabilities capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
+ final var capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
assertNull(capabilities.getETag());
assertEquals("[\"0.2\",\"1.1\"]", capabilities.getApiVersion());
assertEquals(Color.parseColor("#1E4164"), capabilities.getColor());
@@ -104,7 +104,7 @@ public class CapabilitiesDeserializerTest {
" }" +
" }" +
"}";
- final Capabilities capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
+ final var capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
assertNull(capabilities.getETag());
assertEquals("\"1.0\"", capabilities.getApiVersion());
assertEquals(Color.parseColor("#1E4164"), capabilities.getColor());
@@ -300,7 +300,7 @@ public class CapabilitiesDeserializerTest {
" }" +
" }" +
"}";
- final Capabilities capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
+ final var capabilities = deserializer.deserialize(JsonParser.parseString(response), null, null);
assertNull(capabilities.getETag());
assertEquals("[\"0.2\",\"1.1\"]", capabilities.getApiVersion());
assertEquals(Color.parseColor("#44616B"), capabilities.getColor());
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/persistence/util/NotesColorUtilTest.java b/app/src/test/java/it/niedermann/owncloud/notes/persistence/util/NotesColorUtilTest.java
index f11a3519..4ef89737 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/persistence/util/NotesColorUtilTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/persistence/util/NotesColorUtilTest.java
@@ -20,11 +20,11 @@ import static org.junit.Assert.assertTrue;
public class NotesColorUtilTest {
@Test
public void testContrastRatioIsSufficient() {
- final List<Pair<Integer, Integer>> sufficientContrastColorPairs = new ArrayList<>();
+ final var sufficientContrastColorPairs = new ArrayList<Pair<Integer, Integer>>();
sufficientContrastColorPairs.add(new Pair<>(Color.BLACK, Color.WHITE));
sufficientContrastColorPairs.add(new Pair<>(Color.WHITE, Color.parseColor("#0082C9")));
- for (Pair<Integer, Integer> colorPair : sufficientContrastColorPairs) {
+ for (final var colorPair : sufficientContrastColorPairs) {
assert colorPair.first != null;
assert colorPair.second != null;
assertTrue(
@@ -33,11 +33,11 @@ public class NotesColorUtilTest {
);
}
- final List<Pair<Integer, Integer>> insufficientContrastColorPairs = new ArrayList<>();
+ final var insufficientContrastColorPairs = new ArrayList<Pair<Integer, Integer>>();
insufficientContrastColorPairs.add(new Pair<>(Color.WHITE, Color.WHITE));
insufficientContrastColorPairs.add(new Pair<>(Color.BLACK, Color.BLACK));
- for (Pair<Integer, Integer> colorPair : insufficientContrastColorPairs) {
+ for (final var colorPair : insufficientContrastColorPairs) {
assert colorPair.first != null;
assert colorPair.second != null;
assertFalse(
diff --git a/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NavigationCategorySortingMethodTest.java b/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NavigationCategorySortingMethodTest.java
index 8f089394..05a09ceb 100644
--- a/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NavigationCategorySortingMethodTest.java
+++ b/app/src/test/java/it/niedermann/owncloud/notes/shared/util/NavigationCategorySortingMethodTest.java
@@ -10,25 +10,25 @@ public class NavigationCategorySortingMethodTest {
@Test
public void getId() {
- CategorySortingMethod csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
+ final var csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
assertEquals(0, csm0.getId());
- CategorySortingMethod csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
+ final var csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
assertEquals(1, csm1.getId());
}
@Test
public void getTitle() {
- CategorySortingMethod csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
+ final var csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
assertEquals("MODIFIED DESC", csm0.getTitle());
- CategorySortingMethod csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
+ final var csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
assertEquals("TITLE COLLATE NOCASE ASC", csm1.getTitle());
}
@Test
public void findById() {
- CategorySortingMethod csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
+ final var csm0 = CategorySortingMethod.SORT_MODIFIED_DESC;
assertEquals(csm0, CategorySortingMethod.findById(0));
- CategorySortingMethod csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
+ final var csm1 = CategorySortingMethod.SORT_LEXICOGRAPHICAL_ASC;
assertEquals(csm1, CategorySortingMethod.findById(1));
}
} \ No newline at end of file
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/MarkdownUtil.java b/markdown/src/main/java/it/niedermann/android/markdown/MarkdownUtil.java
index a434c38d..998b81ef 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/MarkdownUtil.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/MarkdownUtil.java
@@ -81,10 +81,10 @@ public class MarkdownUtil {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.P) {
return input;
}
- final SpannableStringBuilder ssb = new SpannableStringBuilder(input);
- final QuoteSpan[] originalQuoteSpans = ssb.getSpans(0, ssb.length(), QuoteSpan.class);
+ final var ssb = new SpannableStringBuilder(input);
+ final var originalQuoteSpans = ssb.getSpans(0, ssb.length(), QuoteSpan.class);
@ColorInt final int colorBlockQuote = ContextCompat.getColor(context, R.color.block_quote);
- for (QuoteSpan originalQuoteSpan : originalQuoteSpans) {
+ for (final var originalQuoteSpan : originalQuoteSpans) {
final int start = ssb.getSpanStart(originalQuoteSpan);
final int end = ssb.getSpanEnd(originalQuoteSpan);
ssb.removeSpan(originalQuoteSpan);
@@ -96,7 +96,7 @@ public class MarkdownUtil {
@NonNull
public static String replaceCheckboxesWithEmojis(@NonNull String content) {
return runForEachCheckbox(content, (line) -> {
- for (EListType listType : EListType.values()) {
+ for (final var listType : EListType.values()) {
if (CHECKBOX_CHECKED_EMOJI.isPresent()) {
line = line.replace(listType.checkboxChecked, CHECKBOX_CHECKED_EMOJI.get());
line = line.replace(listType.checkboxCheckedUpperCase, CHECKBOX_CHECKED_EMOJI.get());
@@ -124,7 +124,7 @@ public class MarkdownUtil {
? new String[]{"☒", "✅", "☑️", "✔️"}
: new String[]{"☐", "❌", "\uD83D\uDD32️", "☐️"};
}
- final Paint paint = new Paint();
+ final var paint = new Paint();
for (String emoji : emojis) {
if (paint.hasGlyph(emoji)) {
return Optional.of(emoji);
@@ -143,7 +143,7 @@ public class MarkdownUtil {
boolean isInFencedCodeBlock = false;
int fencedCodeBlockSigns = 0;
for (int i = 0; i < lines.length; i++) {
- final Matcher matcher = PATTERN_CODE_FENCE.matcher(lines[i]);
+ final var matcher = PATTERN_CODE_FENCE.matcher(lines[i]);
if (matcher.find()) {
final String fence = matcher.group(1);
if (fence != null) {
@@ -187,19 +187,19 @@ public class MarkdownUtil {
public static Optional<String> getListItemIfIsEmpty(@NonNull String line) {
final String trimmedLine = line.trim();
// TODO use Java 11 String::repeat
- final StringBuilder builder = new StringBuilder();
+ final var builder = new StringBuilder();
final int indention = line.indexOf(trimmedLine);
for (int i = 0; i < indention; i++) {
builder.append(" ");
}
- for (EListType listType : EListType.values()) {
+ for (final var listType : EListType.values()) {
if (trimmedLine.equals(listType.checkboxUnchecked)) {
return Optional.of(builder.append(listType.checkboxUncheckedWithTrailingSpace).toString());
} else if (trimmedLine.equals(listType.listSymbol)) {
return Optional.of(builder.append(listType.listSymbolWithTrailingSpace).toString());
}
}
- final Matcher matcher = PATTERN_ORDERED_LIST_ITEM_EMPTY.matcher(line.substring(indention));
+ final var matcher = PATTERN_ORDERED_LIST_ITEM_EMPTY.matcher(line.substring(indention));
if (matcher.find()) {
return Optional.of(builder.append(matcher.group()).toString());
}
@@ -212,7 +212,7 @@ public class MarkdownUtil {
boolean isInFencedCodeBlock = false;
int fencedCodeBlockSigns = 0;
for (int i = 0; i < lines.length; i++) {
- final Matcher matcher = PATTERN_CODE_FENCE.matcher(lines[i]);
+ final var matcher = PATTERN_CODE_FENCE.matcher(lines[i]);
if (matcher.find()) {
final String fence = matcher.group(1);
if (fence != null) {
@@ -263,7 +263,7 @@ public class MarkdownUtil {
* @return the number of the ordered list item if the line is an ordered list, otherwise -1.
*/
public static Optional<Integer> getOrderedListNumber(@NonNull String line) {
- final Matcher matcher = PATTERN_ORDERED_LIST_ITEM.matcher(line);
+ final var matcher = PATTERN_ORDERED_LIST_ITEM.matcher(line);
if (matcher.find()) {
final String groupNumber = matcher.group(1);
if (groupNumber != null) {
@@ -293,7 +293,7 @@ public class MarkdownUtil {
// handle special case: italic (that damn thing will match like ANYTHING (regarding bold / bold+italic)....)
final boolean isItalic = punctuation.length() == 1 && punctuation.charAt(0) == '*';
if (isItalic) {
- final Optional<Integer> result = handleItalicEdgeCase(editable, initialString, selectionStart, selectionEnd);
+ final var result = handleItalicEdgeCase(editable, initialString, selectionStart, selectionEnd);
// The result is only present if this actually was an edge case
if (result.isPresent()) {
return result.get();
@@ -307,7 +307,7 @@ public class MarkdownUtil {
// in this case let's make optional asterisks around it, so it wont match anything between two (bold+italic)s
? "\\*?\\*?" + punctuationRex + wildcardRex + punctuationRex + "\\*?\\*?"
: punctuationRex + wildcardRex + punctuationRex;
- final Pattern searchPattern = Pattern.compile(pattern);
+ final var searchPattern = Pattern.compile(pattern);
int relevantStart = selectionStart - 2;
relevantStart = Math.max(relevantStart, 0);
int relevantEnd = selectionEnd + 2;
@@ -319,7 +319,7 @@ public class MarkdownUtil {
// this resets the matcher, while keeping the required region
matcher.region(relevantStart, relevantEnd);
final int punctuationLength = punctuation.length();
- final List<Pair<Integer, Integer>> startEnd = new LinkedList<>();
+ final var startEnd = new LinkedList<Pair<Integer, Integer>>();
int removedCount = 0;
while (matcher.find()) {
startEnd.add(new Pair<>(matcher.start(), matcher.end()));
@@ -327,7 +327,7 @@ public class MarkdownUtil {
}
// start from the end
Collections.reverse(startEnd);
- for (Pair<Integer, Integer> item : startEnd) {
+ for (final var item : startEnd) {
deletePunctuation(editable, punctuationLength, item.first, item.second);
}
int offsetAtEnd = 0;
@@ -362,9 +362,9 @@ public class MarkdownUtil {
@NonNull
private static Optional<Integer> handleItalicEdgeCase(Editable editable, String editableAsString, int selectionStart, int selectionEnd) {
// look if selection is bold, this is the only edge case afaik
- final Pattern searchPattern = Pattern.compile("(^|[^*])" + PATTERN_QUOTE_BOLD_PUNCTUATION + "([^*])*" + PATTERN_QUOTE_BOLD_PUNCTUATION + "([^*]|$)");
+ final var searchPattern = Pattern.compile("(^|[^*])" + PATTERN_QUOTE_BOLD_PUNCTUATION + "([^*])*" + PATTERN_QUOTE_BOLD_PUNCTUATION + "([^*]|$)");
// look the selection expansion by 1 is intended, so the NOT '*' has a chance to match. we don't want to match ***blah***
- final Matcher matcher = searchPattern.matcher(editableAsString)
+ final var matcher = searchPattern.matcher(editableAsString)
.region(Math.max(selectionStart - 1, 0), Math.min(selectionEnd + 1, editableAsString.length()));
if (matcher.find()) {
return Optional.of(insertPunctuation(editable, selectionStart, selectionEnd, "*"));
@@ -454,7 +454,7 @@ public class MarkdownUtil {
public static boolean selectionIsInLink(@NonNull CharSequence text, int start, int end) {
- final Matcher matcher = PATTERN_MARKDOWN_LINK.matcher(text);
+ final var matcher = PATTERN_MARKDOWN_LINK.matcher(text);
while (matcher.find()) {
if ((start >= matcher.start() && start < matcher.end()) || (end > matcher.start() && end <= matcher.end())) {
return true;
@@ -465,7 +465,7 @@ public class MarkdownUtil {
public static void searchAndColor(@NonNull Spannable editable, @Nullable CharSequence searchText, @Nullable Integer current, @ColorInt int mainColor, @ColorInt int highlightColor, boolean darkTheme) {
if (searchText != null) {
- final Matcher m = Pattern
+ final var m = Pattern
.compile(searchText.toString(), Pattern.CASE_INSENSITIVE | Pattern.LITERAL)
.matcher(editable);
@@ -483,7 +483,7 @@ public class MarkdownUtil {
* Removes all spans of {@param spanType} from {@param spannable}.
*/
public static <T> void removeSpans(@NonNull Spannable spannable, @SuppressWarnings("SameParameterValue") Class<T> spanType) {
- for (T span : spannable.getSpans(0, spannable.length(), spanType)) {
+ for (final var span : spannable.getSpans(0, spannable.length(), spanType)) {
spannable.removeSpan(span);
}
}
@@ -493,12 +493,12 @@ public class MarkdownUtil {
* Otherwise it will create a new {@link SpannableString} from the content, set this as new content of the {@param textView} and return it.
*/
public static Spannable getContentAsSpannable(@NonNull TextView textView) {
- final CharSequence content = textView.getText();
+ final var content = textView.getText();
if (content.getClass() == SpannableString.class || content instanceof Spannable) {
return (Spannable) content;
} else {
Log.w(TAG, "Expected " + TextView.class.getSimpleName() + " content to be of type " + Spannable.class.getSimpleName() + ", but was of type " + content.getClass() + ". Search highlighting will be not performant.");
- final Spannable spannableContent = new SpannableString(content);
+ final var spannableContent = new SpannableString(content);
textView.setText(spannableContent, TextView.BufferType.SPANNABLE);
return spannableContent;
}
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/MentionUtil.java b/markdown/src/main/java/it/niedermann/android/markdown/MentionUtil.java
index e0639fd8..b87f7d12 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/MentionUtil.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/MentionUtil.java
@@ -35,16 +35,16 @@ public class MentionUtil {
* @param target target {@link TextView}
*/
public static void setupMentions(@NonNull SingleSignOnAccount account, @NonNull Map<String, String> mentions, @NonNull TextView target) {
- final Context context = target.getContext();
+ final var context = target.getContext();
// Step 1
// Add avatar icons and display names
- final SpannableStringBuilder messageBuilder = replaceAtMentionsWithImagePlaceholderAndDisplayName(context, mentions, target.getText());
+ final var messageBuilder = replaceAtMentionsWithImagePlaceholderAndDisplayName(context, mentions, target.getText());
// Step 2
// Replace avatar icons with real avatars
- final MentionSpan[] list = messageBuilder.getSpans(0, messageBuilder.length(), MentionSpan.class);
- for (MentionSpan span : list) {
+ final var list = messageBuilder.getSpans(0, messageBuilder.length(), MentionSpan.class);
+ for (final var span : list) {
final int spanStart = messageBuilder.getSpanStart(span);
final int spanEnd = messageBuilder.getSpanEnd(span);
Glide.with(context)
@@ -69,7 +69,7 @@ public class MentionUtil {
}
private static SpannableStringBuilder replaceAtMentionsWithImagePlaceholderAndDisplayName(@NonNull Context context, @NonNull Map<String, String> mentions, @NonNull CharSequence text) {
- final SpannableStringBuilder messageBuilder = new SpannableStringBuilder(text);
+ final var messageBuilder = new SpannableStringBuilder(text);
for (String userId : mentions.keySet()) {
final String mentionId = "@" + userId;
final String mentionDisplayName = " " + mentions.get(userId);
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownEditor.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownEditor.java
index e2cb5bd5..fb53e2e9 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownEditor.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownEditor.java
@@ -57,8 +57,8 @@ public class MarkwonMarkdownEditor extends AppCompatEditText implements Markdown
public MarkwonMarkdownEditor(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- final Markwon markwon = createMarkwonBuilder(context).build();
- final MarkwonEditor editor = createMarkwonEditorBuilder(markwon).build();
+ final var markwon = createMarkwonBuilder(context).build();
+ final var editor = createMarkwonEditorBuilder(markwon).build();
combinedWatcher = new CombinedTextWatcher(editor, this);
addTextChangedListener(combinedWatcher);
@@ -91,7 +91,7 @@ public class MarkwonMarkdownEditor extends AppCompatEditText implements Markdown
@Override
public void setSearchColor(@ColorInt int color) {
- final SearchHighlightTextWatcher searchHighlightTextWatcher = combinedWatcher.get(SearchHighlightTextWatcher.class);
+ final var searchHighlightTextWatcher = combinedWatcher.get(SearchHighlightTextWatcher.class);
if (searchHighlightTextWatcher == null) {
Log.w(TAG, SearchHighlightTextWatcher.class.getSimpleName() + " is not a registered " + TextWatcher.class.getSimpleName());
} else {
@@ -101,7 +101,7 @@ public class MarkwonMarkdownEditor extends AppCompatEditText implements Markdown
@Override
public void setSearchText(@Nullable CharSequence searchText, @Nullable Integer current) {
- final SearchHighlightTextWatcher searchHighlightTextWatcher = combinedWatcher.get(SearchHighlightTextWatcher.class);
+ final var searchHighlightTextWatcher = combinedWatcher.get(SearchHighlightTextWatcher.class);
if (searchHighlightTextWatcher == null) {
Log.w(TAG, SearchHighlightTextWatcher.class.getSimpleName() + " is not a registered " + TextWatcher.class.getSimpleName());
} else {
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownViewer.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownViewer.java
index 55ec5367..b8eae449 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownViewer.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/MarkwonMarkdownViewer.java
@@ -94,11 +94,11 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
.usePlugin(SoftBreakAddsNewLinePlugin.create())
.usePlugin(SyntaxHighlightPlugin.create(prism4j, prism4jTheme))
.usePlugin(new ToggleableTaskListPlugin((toggledCheckboxPosition, newCheckedState) -> {
- final CharSequence oldUnrenderedText = unrenderedText$.getValue();
+ final var oldUnrenderedText = unrenderedText$.getValue();
if (oldUnrenderedText == null) {
throw new IllegalStateException("Checkbox #" + toggledCheckboxPosition + ", but unrenderedText$ value is null.");
}
- final CharSequence newUnrenderedText = MarkdownUtil.setCheckboxStatus(oldUnrenderedText.toString(), toggledCheckboxPosition, newCheckedState);
+ final var newUnrenderedText = MarkdownUtil.setCheckboxStatus(oldUnrenderedText.toString(), toggledCheckboxPosition, newCheckedState);
this.setMarkdownString(newUnrenderedText);
}));
}
@@ -110,7 +110,7 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
@Override
public void registerOnLinkClickCallback(@NonNull Function<String, Boolean> callback) {
- final LinkClickInterceptorPlugin plugin = this.markwon.getPlugin(LinkClickInterceptorPlugin.class);
+ final var plugin = this.markwon.getPlugin(LinkClickInterceptorPlugin.class);
if (plugin == null) {
Log.w(TAG, "Tried to register callback, but " + LinkClickInterceptorPlugin.class.getSimpleName() + " is not a registered " + MarkwonPlugin.class.getSimpleName() + ".");
} else {
@@ -120,7 +120,7 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
@Override
public void setEnabled(boolean enabled) {
- final ToggleableTaskListPlugin plugin = this.markwon.getPlugin(ToggleableTaskListPlugin.class);
+ final var plugin = this.markwon.getPlugin(ToggleableTaskListPlugin.class);
if (plugin == null) {
Log.w(TAG, "Tried to set enabled state for " + ToggleableTaskListPlugin.class.getSimpleName() + ", but " + ToggleableTaskListPlugin.class.getSimpleName() + " is not a registered " + MarkwonPlugin.class.getSimpleName() + ".");
} else {
@@ -135,7 +135,7 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
@Override
public void setMarkdownString(CharSequence text, Runnable afterRender) {
- final CharSequence previousText = this.unrenderedText$.getValue();
+ final var previousText = this.unrenderedText$.getValue();
this.unrenderedText$.setValue(text);
if (listener != null) {
listener.accept(text);
@@ -156,7 +156,7 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
@Override
public void setSearchColor(@ColorInt int color) {
- final SearchHighlightPlugin searchHighlightPlugin = this.markwon.getPlugin(SearchHighlightPlugin.class);
+ final var searchHighlightPlugin = this.markwon.getPlugin(SearchHighlightPlugin.class);
if (searchHighlightPlugin == null) {
Log.w(TAG, SearchHighlightPlugin.class.getSimpleName() + " is not a registered " + MarkwonPlugin.class.getSimpleName());
} else {
@@ -166,7 +166,7 @@ public class MarkwonMarkdownViewer extends AppCompatTextView implements Markdown
@Override
public void setSearchText(@Nullable CharSequence searchText, @Nullable Integer current) {
- final SearchHighlightPlugin searchHighlightPlugin = this.markwon.getPlugin(SearchHighlightPlugin.class);
+ final var searchHighlightPlugin = this.markwon.getPlugin(SearchHighlightPlugin.class);
if (searchHighlightPlugin == null) {
Log.w(TAG, SearchHighlightPlugin.class.getSimpleName() + " is not a registered " + MarkwonPlugin.class.getSimpleName());
} else {
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedFormattingCallback.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedFormattingCallback.java
index 37d81554..b628b029 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedFormattingCallback.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedFormattingCallback.java
@@ -34,7 +34,7 @@ public class ContextBasedFormattingCallback implements ActionMode.Callback {
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- final CharSequence text = editText.getText();
+ final var text = editText.getText();
if (text != null) {
final int cursorPosition = editText.getSelectionStart();
if (cursorPosition >= 0 && cursorPosition <= text.length()) {
@@ -54,7 +54,7 @@ public class ContextBasedFormattingCallback implements ActionMode.Callback {
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- final Editable editable = editText.getText();
+ final var editable = editText.getText();
if (editable != null) {
final int itemId = item.getItemId();
final int cursorPosition = editText.getSelectionStart();
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedRangeFormattingCallback.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedRangeFormattingCallback.java
index f3f90be4..423120f9 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedRangeFormattingCallback.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/format/ContextBasedRangeFormattingCallback.java
@@ -29,7 +29,7 @@ public class ContextBasedRangeFormattingCallback implements ActionMode.Callback
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
mode.getMenuInflater().inflate(R.menu.context_based_range_formatting, menu);
- final SparseIntArray styleFormatMap = new SparseIntArray();
+ final var styleFormatMap = new SparseIntArray();
styleFormatMap.append(R.id.bold, Typeface.BOLD);
styleFormatMap.append(R.id.italic, Typeface.ITALIC);
@@ -50,7 +50,7 @@ public class ContextBasedRangeFormattingCallback implements ActionMode.Callback
@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- final CharSequence text = editText.getText();
+ final var text = editText.getText();
if (text != null) {
final int selectionStart = editText.getSelectionStart();
final int selectionEnd = editText.getSelectionEnd();
@@ -68,7 +68,7 @@ public class ContextBasedRangeFormattingCallback implements ActionMode.Callback
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- final Editable editable = editText.getText();
+ final var editable = editText.getText();
if (editable != null) {
final int itemId = item.getItemId();
final int start = editText.getSelectionStart();
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeBlockEditHandler.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeBlockEditHandler.java
index 0f94bba4..420a0e9a 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeBlockEditHandler.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeBlockEditHandler.java
@@ -27,7 +27,7 @@ public class CodeBlockEditHandler implements EditHandler<CodeBlockSpan> {
@Override
public void handleMarkdownSpan(@NonNull PersistedSpans persistedSpans, @NonNull Editable editable, @NonNull String input, @NonNull CodeBlockSpan span, int spanStart, int spanTextLength) {
- MarkwonEditorUtils.Match delimited = MarkwonEditorUtils.findDelimited(input, spanStart, "```");
+ final var delimited = MarkwonEditorUtils.findDelimited(input, spanStart, "```");
if (delimited != null) {
editable.setSpan(
persistedSpans.get(markdownSpanType()),
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeEditHandler.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeEditHandler.java
index e4893ce3..cc9000f4 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeEditHandler.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/CodeEditHandler.java
@@ -34,8 +34,7 @@ public class CodeEditHandler implements EditHandler<CodeSpan> {
@NonNull CodeSpan span,
int spanStart,
int spanTextLength) {
- final MarkwonEditorUtils.Match match =
- MarkwonEditorUtils.findDelimited(input, spanStart, "`");
+ final var match = MarkwonEditorUtils.findDelimited(input, spanStart, "`");
if (match != null) {
editable.setSpan(
persistedSpans.get(CodeSpan.class),
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/LinkEditHandler.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/LinkEditHandler.java
index 821882f2..da13c246 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/LinkEditHandler.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/LinkEditHandler.java
@@ -37,7 +37,7 @@ public class LinkEditHandler extends AbstractEditHandler<LinkSpan> {
int spanStart,
int spanTextLength) {
- final EditLinkSpan editLinkSpan = persistedSpans.get(EditLinkSpan.class);
+ final var editLinkSpan = persistedSpans.get(EditLinkSpan.class);
editLinkSpan.link = span.getLink();
final int s;
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/StrikethroughEditHandler.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/StrikethroughEditHandler.java
index d7a361dc..c9d88074 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/StrikethroughEditHandler.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/handler/StrikethroughEditHandler.java
@@ -25,8 +25,7 @@ public class StrikethroughEditHandler extends AbstractEditHandler<StrikethroughS
@NonNull StrikethroughSpan span,
int spanStart,
int spanTextLength) {
- final MarkwonEditorUtils.Match match =
- MarkwonEditorUtils.findDelimited(input, spanStart, "~~");
+ final var match = MarkwonEditorUtils.findDelimited(input, spanStart, "~~");
if (match != null) {
editable.setSpan(
persistedSpans.get(StrikethroughSpan.class),
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/SearchHighlightPlugin.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/SearchHighlightPlugin.java
index b48db3dd..f494988a 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/SearchHighlightPlugin.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/SearchHighlightPlugin.java
@@ -60,7 +60,7 @@ public class SearchHighlightPlugin extends AbstractMarkwonPlugin {
public void afterSetText(@NonNull TextView textView) {
super.afterSetText(textView);
if (this.searchText != null) {
- final Spannable spannable = getContentAsSpannable(textView);
+ final var spannable = getContentAsSpannable(textView);
MarkdownUtil.searchAndColor(spannable, searchText, current, color, highlightColor, darkTheme);
}
}
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPlugin.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPlugin.java
index 7aee5a27..5201d583 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPlugin.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPlugin.java
@@ -64,10 +64,10 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
final int length = visitor.length();
visitor.visitChildren(node);
TaskListProps.DONE.set(visitor.renderProps(), node.isDone());
- final SpanFactory spanFactory = visitor.configuration()
+ final var spanFactory = visitor.configuration()
.spansFactory()
.get(TaskListItem.class);
- final Object spans = spanFactory == null ? null :
+ final var spans = spanFactory == null ? null :
spanFactory.getSpans(visitor.configuration(), visitor.renderProps());
if (spans != null) {
final TaskListSpan taskListSpan;
@@ -114,13 +114,13 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
public void afterRender(@NonNull Node node, @NonNull MarkwonVisitor visitor) {
super.afterRender(node, visitor);
- final List<Span> markerSpans = getSortedSpans(visitor.builder(), ToggleMarkerSpan.class, 0, visitor.builder().length());
+ final var markerSpans = getSortedSpans(visitor.builder(), ToggleMarkerSpan.class, 0, visitor.builder().length());
for (int position = 0; position < markerSpans.size(); position++) {
- final Span markerSpan = markerSpans.get(position);
+ final var markerSpan = markerSpans.get(position);
final int start = markerSpan.start;
final int end = markerSpan.end;
- final Collection<Range<Integer>> freeRanges = findFreeRanges(visitor.builder(), start, end);
+ final var freeRanges = findFreeRanges(visitor.builder(), start, end);
for (Range<Integer> freeRange : freeRanges) {
visitor.builder().setSpan(
new ToggleTaskListSpan(enabled, toggleListener, ((ToggleMarkerSpan) markerSpan.what).getTaskListSpan(), position),
@@ -135,8 +135,8 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
@Override
public void afterSetText(@NonNull TextView textView) {
super.afterSetText(textView);
- final Spannable spannable = MarkdownUtil.getContentAsSpannable(textView);
- for (ToggleMarkerSpan span : spannable.getSpans(0, spannable.length(), ToggleMarkerSpan.class)) {
+ final var spannable = MarkdownUtil.getContentAsSpannable(textView);
+ for (final var span : spannable.getSpans(0, spannable.length(), ToggleMarkerSpan.class)) {
spannable.removeSpan(span);
}
textView.setText(spannable);
@@ -148,11 +148,11 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
@NonNull
private static Collection<Range<Integer>> findFreeRanges(@NonNull SpannableBuilder builder, int start, int end) {
final List<Range<Integer>> freeRanges;
- final List<Span> clickableSpans = getSortedSpans(builder, ClickableSpan.class, start, end);
+ final var clickableSpans = getSortedSpans(builder, ClickableSpan.class, start, end);
if (clickableSpans.size() > 0) {
freeRanges = new LinkedList<>();
int from = start;
- for (Span clickableSpan : clickableSpans) {
+ for (final var clickableSpan : clickableSpans) {
final int clickableStart = clickableSpan.start;
final int clickableEnd = clickableSpan.end;
if (from != clickableStart) {
@@ -189,7 +189,7 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
private int contentLength = 0;
static int contentLength(Node node) {
- final TaskListContextVisitor visitor = new TaskListContextVisitor();
+ final var visitor = new TaskListContextVisitor();
visitor.visitChildren(node);
return visitor.contentLength;
}
@@ -216,11 +216,11 @@ public class ToggleableTaskListPlugin extends AbstractMarkwonPlugin {
@Override
protected void visitChildren(Node parent) {
- Node node = parent.getFirstChild();
+ var node = parent.getFirstChild();
while (node != null) {
// A subclass of this visitor might modify the node, resulting in getNext returning a different node or no
// node after visiting it. So get the next node before visiting.
- Node next = node.getNext();
+ final var next = node.getNext();
if (node instanceof Block && !(node instanceof Paragraph)) {
break;
}
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/span/InterceptedURLSpan.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/span/InterceptedURLSpan.java
index f370c006..0503b028 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/span/InterceptedURLSpan.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/span/InterceptedURLSpan.java
@@ -28,7 +28,7 @@ public class InterceptedURLSpan extends URLSpan {
public void onClick(View widget) {
if (onLinkClickCallbacks.size() > 0) {
executor.submit(() -> {
- for (Function<String, Boolean> callback : onLinkClickCallbacks) {
+ for (final var callback : onLinkClickCallbacks) {
try {
if (callback.apply(getURL())) {
return;
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/AutoContinuationTextWatcher.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/AutoContinuationTextWatcher.java
index d09cc8d7..627432af 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/AutoContinuationTextWatcher.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/AutoContinuationTextWatcher.java
@@ -40,7 +40,7 @@ public class AutoContinuationTextWatcher extends InterceptorTextWatcher {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (count > 0) {
- final CharSequence inserted = getInsertedString(s, start, before, count);
+ final var inserted = getInsertedString(s, start, before, count);
if (inserted.length() > 0 && inserted.charAt(inserted.length() - 1) == '\n') {
handleNewlineInserted(s, start, count);
}
@@ -52,7 +52,7 @@ public class AutoContinuationTextWatcher extends InterceptorTextWatcher {
@Override
public void afterTextChanged(Editable s) {
if (customText != null) {
- final CharSequence customText = this.customText;
+ final var customText = this.customText;
this.customText = null;
if (isInsert) {
insertCustomText(s, customText);
@@ -84,23 +84,23 @@ public class AutoContinuationTextWatcher extends InterceptorTextWatcher {
}
private void handleNewlineInserted(CharSequence originalSequence, int start, int count) {
- final CharSequence s = originalSequence.subSequence(0, originalSequence.length());
+ final var s = originalSequence.subSequence(0, originalSequence.length());
final int startOfLine = getStartOfLine(s, start);
final String line = s.subSequence(startOfLine, getEndOfLine(s, start)).toString();
- final Optional<String> emptyListString = getListItemIfIsEmpty(line);
+ final var emptyListString = getListItemIfIsEmpty(line);
if (emptyListString.isPresent()) {
customText = emptyListString.get();
isInsert = false;
sequenceStart = startOfLine;
} else {
- final StringBuilder builder = new StringBuilder();
- final Matcher matcher = REGEX_WHITESPACES.matcher(line);
+ final var builder = new StringBuilder();
+ final var matcher = REGEX_WHITESPACES.matcher(line);
if (matcher.find()) {
builder.append(matcher.group());
}
final String trimmedLine = line.trim();
- for (EListType listType : EListType.values()) {
+ for (final var listType : EListType.values()) {
final boolean isCheckboxList = lineStartsWithCheckbox(trimmedLine, listType);
final boolean isPlainList = !isCheckboxList && trimmedLine.startsWith(listType.listSymbolWithTrailingSpace);
if (isPlainList || isCheckboxList) {
@@ -112,7 +112,7 @@ public class AutoContinuationTextWatcher extends InterceptorTextWatcher {
}
}
- final Optional<Integer> orderedListNumber = getOrderedListNumber(trimmedLine);
+ final var orderedListNumber = getOrderedListNumber(trimmedLine);
if (orderedListNumber.isPresent()) {
customText = builder.append(orderedListNumber.get() + 1).append(". ");
isInsert = true;
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/LowerIndentionTextWatcher.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/LowerIndentionTextWatcher.java
index eac1350d..7bf973cd 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/LowerIndentionTextWatcher.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/LowerIndentionTextWatcher.java
@@ -68,7 +68,7 @@ public class LowerIndentionTextWatcher extends InterceptorTextWatcher {
return false;
}
- for (EListType listType : EListType.values()) {
+ for (final var listType : EListType.values()) {
if (listType.listSymbol.equals(trimmedLine)) {
if (trimmedLine.length() == EListType.DASH.listSymbol.length()) {
return lowerIndention(editable, line, lineStart, lineEnd);
diff --git a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/SearchHighlightTextWatcher.java b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/SearchHighlightTextWatcher.java
index 2e226ff5..cdff7fab 100644
--- a/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/SearchHighlightTextWatcher.java
+++ b/markdown/src/main/java/it/niedermann/android/markdown/markwon/textwatcher/SearchHighlightTextWatcher.java
@@ -31,7 +31,7 @@ public class SearchHighlightTextWatcher extends InterceptorTextWatcher {
public SearchHighlightTextWatcher(@NonNull TextWatcher originalWatcher, @NonNull MarkwonMarkdownEditor editText) {
super(originalWatcher);
this.editText = editText;
- final Context context = editText.getContext();
+ final var context = editText.getContext();
this.color = ContextCompat.getColor(context, R.color.search_color);
this.highlightColor = ContextCompat.getColor(context, R.color.bg_highlighted);
this.darkTheme = MarkwonMarkdownUtil.isDarkThemeActive(context);
@@ -41,7 +41,7 @@ public class SearchHighlightTextWatcher extends InterceptorTextWatcher {
this.current = current;
if (TextUtils.isEmpty(searchText)) {
this.searchText = null;
- final Editable text = editText.getText();
+ final var text = editText.getText();
if (text != null) {
MarkdownUtil.removeSpans(text, SearchSpan.class);
}
diff --git a/markdown/src/test/java/it/niedermann/android/markdown/ListTagHandlerTest.java b/markdown/src/test/java/it/niedermann/android/markdown/ListTagHandlerTest.java
index 57649701..c42dc8f5 100644
--- a/markdown/src/test/java/it/niedermann/android/markdown/ListTagHandlerTest.java
+++ b/markdown/src/test/java/it/niedermann/android/markdown/ListTagHandlerTest.java
@@ -110,7 +110,7 @@ public class ListTagHandlerTest extends TestCase {
@Test
public void testHandleTag() {
- final ListTagHandler handler = new ListTagHandler();
+ final var handler = new ListTagHandler();
assertEquals("\n• Item ", HtmlCompat.fromHtml(ListTagHandler.prepareTagHandling("<ul><li>Item</li></ul>"), 0, null, handler).toString());
diff --git a/markdown/src/test/java/it/niedermann/android/markdown/MarkdownUtilTest.java b/markdown/src/test/java/it/niedermann/android/markdown/MarkdownUtilTest.java
index 18063ba2..2663b63a 100644
--- a/markdown/src/test/java/it/niedermann/android/markdown/MarkdownUtilTest.java
+++ b/markdown/src/test/java/it/niedermann/android/markdown/MarkdownUtilTest.java
@@ -27,7 +27,7 @@ public class MarkdownUtilTest extends TestCase {
@Test
public void testGetStartOfLine() {
//language=md
- final StringBuilder test = new StringBuilder(
+ final var test = new StringBuilder(
"# Test-Note\n" + // line start 0
"\n" + // line start 12
"- [ ] this is a test note\n" + // line start 13
@@ -60,7 +60,7 @@ public class MarkdownUtilTest extends TestCase {
@Test
public void testGetEndOfLine() {
//language=md
- final CharSequence test = "# Test-Note\n" + // line 0 - 11
+ final var test = "# Test-Note\n" + // line 0 - 11
"\n" + // line 12 - 12
"- [ ] this is a test note\n" + // line 13 - 38
"- [x] test\n" + // line start 39 - 49
@@ -97,7 +97,7 @@ public class MarkdownUtilTest extends TestCase {
@Test
public void testLineStartsWithCheckbox() {
- final Map<String, Boolean> lines = new HashMap<>();
+ final var lines = new HashMap<String, Boolean>();
lines.put(" - [ ] a", true);
lines.put(" - [x] a", true);
lines.put(" - [X] a", true);
@@ -550,37 +550,37 @@ public class MarkdownUtilTest extends TestCase {
@SuppressWarnings("ConstantConditions")
public void testSelectionIsInLink() {
try {
- final Method m = MarkdownUtil.class.getDeclaredMethod("selectionIsInLink", CharSequence.class, int.class, int.class);
- m.setAccessible(true);
-
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 7, 12));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 6, 34));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 14, 33));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 12, 14));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 0, 7));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 33, 34));
-
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 6, 28));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 7, 28));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 8, 28));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 9, 28));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 6, 29));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 7, 29));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 8, 29));
- assertTrue((Boolean) m.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 9, 29));
-
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 12));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 13));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 14));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 15));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 12));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 13));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 14));
- assertTrue((Boolean) m.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 15));
-
- assertFalse((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 0, 6));
- assertFalse((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 34, 50));
- assertFalse((Boolean) m.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 41, 44));
+ final var method = MarkdownUtil.class.getDeclaredMethod("selectionIsInLink", CharSequence.class, int.class, int.class);
+ method.setAccessible(true);
+
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 7, 12));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 6, 34));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 14, 33));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 12, 14));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 0, 7));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 33, 34));
+
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 6, 28));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 7, 28));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 8, 28));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 9, 28));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 6, 29));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 7, 29));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 8, 29));
+ assertTrue((Boolean) method.invoke(null, "Lorem [](https://example.com) dolor sit amet.", 9, 29));
+
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 12));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 13));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 14));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 6, 15));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 12));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 13));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 14));
+ assertTrue((Boolean) method.invoke(null, "Lorem [ipsum]() dolor sit amet.", 7, 15));
+
+ assertFalse((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 0, 6));
+ assertFalse((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 34, 50));
+ assertFalse((Boolean) method.invoke(null, "Lorem [ipsum](https://example.com) dolor sit amet.", 41, 44));
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
@@ -641,7 +641,7 @@ public class MarkdownUtilTest extends TestCase {
@Test
public void testSetCheckboxStatus() {
- for (EListType listType : EListType.values()) {
+ for (final var listType : EListType.values()) {
final String origin_1 = listType.checkboxUnchecked + " Item";
final String expected_1 = listType.checkboxChecked + " Item";
assertEquals(expected_1, MarkdownUtil.setCheckboxStatus(origin_1, 0, true));
@@ -751,10 +751,10 @@ public class MarkdownUtilTest extends TestCase {
@Test
public void testRemoveSpans() {
try {
- final Method removeSpans = MarkdownUtil.class.getDeclaredMethod("removeSpans", Spannable.class, Class.class);
+ final var removeSpans = MarkdownUtil.class.getDeclaredMethod("removeSpans", Spannable.class, Class.class);
removeSpans.setAccessible(true);
- final Editable editable_1 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
+ final var editable_1 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
editable_1.setSpan(new SearchSpan(Color.RED, Color.GRAY, false, false), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable_1.setSpan(new ForegroundColorSpan(Color.BLUE), 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable_1.setSpan(new SearchSpan(Color.BLUE, Color.GREEN, true, false), 12, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -762,7 +762,7 @@ public class MarkdownUtilTest extends TestCase {
assertEquals(0, editable_1.getSpans(0, editable_1.length(), SearchSpan.class).length);
assertEquals(1, editable_1.getSpans(0, editable_1.length(), ForegroundColorSpan.class).length);
- final Editable editable_2 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
+ final var editable_2 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
editable_2.setSpan(new SearchSpan(Color.GRAY, Color.RED, false, true), 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable_2.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable_2.setSpan(new SearchSpan(Color.BLUE, Color.GREEN, true, false), 3, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -772,7 +772,7 @@ public class MarkdownUtilTest extends TestCase {
assertEquals(2, editable_2.getSpanStart(editable_2.getSpans(0, editable_2.length(), ForegroundColorSpan.class)[0]));
assertEquals(7, editable_2.getSpanEnd(editable_2.getSpans(0, editable_2.length(), ForegroundColorSpan.class)[0]));
- final Editable editable_3 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
+ final var editable_3 = new SpannableStringBuilder("Lorem Ipsum dolor sit amet");
editable_3.setSpan(new ForegroundColorSpan(Color.BLUE), 2, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
removeSpans.invoke(null, editable_3, SearchSpan.class);
assertEquals(0, editable_3.getSpans(0, editable_3.length(), SearchSpan.class).length);
diff --git a/markdown/src/test/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPluginTest.java b/markdown/src/test/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPluginTest.java
index d864aea4..b14de70f 100644
--- a/markdown/src/test/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPluginTest.java
+++ b/markdown/src/test/java/it/niedermann/android/markdown/markwon/plugins/ToggleableTaskListPluginTest.java
@@ -40,13 +40,13 @@ public class ToggleableTaskListPluginTest extends TestCase {
@Test
public void testAfterRender() throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
- final Node node = mock(Node.class);
- final MarkwonVisitor visitor = mock(MarkwonVisitor.class);
+ final var node = mock(Node.class);
+ final var visitor = mock(MarkwonVisitor.class);
- final Constructor<ToggleableTaskListPlugin.ToggleMarkerSpan> markerSpanConstructor = ToggleableTaskListPlugin.ToggleMarkerSpan.class.getDeclaredConstructor(TaskListSpan.class);
+ final var markerSpanConstructor = ToggleableTaskListPlugin.ToggleMarkerSpan.class.getDeclaredConstructor(TaskListSpan.class);
markerSpanConstructor.setAccessible(true);
- final SpannableBuilder builder = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
+ final var builder = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
builder.setSpan(markerSpanConstructor.newInstance(mock(TaskListSpan.class)), 0, 6);
builder.setSpan(new URLSpan(""), 6, 11);
builder.setSpan(markerSpanConstructor.newInstance(mock(TaskListSpan.class)), 11, 19);
@@ -55,13 +55,13 @@ public class ToggleableTaskListPluginTest extends TestCase {
when(visitor.builder()).thenReturn(builder);
- final ToggleableTaskListPlugin plugin = new ToggleableTaskListPlugin((i, b) -> {
+ final var plugin = new ToggleableTaskListPlugin((i, b) -> {
// Do nothing...
});
plugin.afterRender(node, visitor);
// We ignore marker spans in this test. They will be removed in another step
- final List<SpannableBuilder.Span> spans = builder.getSpans(0, builder.length())
+ final var spans = builder.getSpans(0, builder.length())
.stream()
.filter(span -> span.what.getClass() != ToggleableTaskListPlugin.ToggleMarkerSpan.class)
.sorted((o1, o2) -> o1.start - o2.start)
@@ -87,22 +87,22 @@ public class ToggleableTaskListPluginTest extends TestCase {
@Test
public void testAfterSetText() throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException {
- final Constructor<ToggleableTaskListPlugin.ToggleMarkerSpan> markerSpanConstructor = ToggleableTaskListPlugin.ToggleMarkerSpan.class.getDeclaredConstructor(TaskListSpan.class);
+ final var markerSpanConstructor = ToggleableTaskListPlugin.ToggleMarkerSpan.class.getDeclaredConstructor(TaskListSpan.class);
markerSpanConstructor.setAccessible(true);
- final Editable editable = new SpannableStringBuilder("Lorem Ipsum Dolor \nSit Amet");
+ final var editable = new SpannableStringBuilder("Lorem Ipsum Dolor \nSit Amet");
editable.setSpan(markerSpanConstructor.newInstance(mock(TaskListSpan.class)), 0, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable.setSpan(new URLSpan(""), 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable.setSpan(markerSpanConstructor.newInstance(mock(TaskListSpan.class)), 11, 19, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable.setSpan(new InterceptedURLSpan(Collections.emptyList(), ""), 19, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
editable.setSpan(markerSpanConstructor.newInstance(mock(TaskListSpan.class)), 22, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- final TextView textView = new TextView(ApplicationProvider.getApplicationContext());
+ final var textView = new TextView(ApplicationProvider.getApplicationContext());
textView.setText(editable);
assertEquals(3, ((Spanned) textView.getText()).getSpans(0, textView.getText().length(), ToggleableTaskListPlugin.ToggleMarkerSpan.class).length);
- final ToggleableTaskListPlugin plugin = new ToggleableTaskListPlugin((i, b) -> {
+ final var plugin = new ToggleableTaskListPlugin((i, b) -> {
// Do nothing...
});
plugin.afterSetText(textView);
@@ -113,43 +113,43 @@ public class ToggleableTaskListPluginTest extends TestCase {
@Test
@SuppressWarnings({"unchecked", "ConstantConditions"})
public void testGetSortedSpans() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- final Method m = ToggleableTaskListPlugin.class.getDeclaredMethod("getSortedSpans", SpannableBuilder.class, Class.class, int.class, int.class);
- m.setAccessible(true);
+ final var method = ToggleableTaskListPlugin.class.getDeclaredMethod("getSortedSpans", SpannableBuilder.class, Class.class, int.class, int.class);
+ method.setAccessible(true);
- final Object firstClickableSpan = new URLSpan("");
- final Object secondClickableSpan = new InterceptedURLSpan(Collections.emptyList(), "");
- final Object unclickableSpan = new ForegroundColorSpan(android.R.color.white);
+ final var firstClickableSpan = new URLSpan("");
+ final var secondClickableSpan = new InterceptedURLSpan(Collections.emptyList(), "");
+ final var unclickableSpan = new ForegroundColorSpan(android.R.color.white);
- final SpannableBuilder spannable = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
+ final var spannable = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
spannable.setSpan(firstClickableSpan, 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(secondClickableSpan, 19, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(unclickableSpan, 3, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
List<SpannableBuilder.Span> clickableSpans;
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 0, 0);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 0, 0);
assertEquals(0, clickableSpans.size());
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, spannable.length() - 1, spannable.length() - 1);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, spannable.length() - 1, spannable.length() - 1);
assertEquals(0, clickableSpans.size());
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 0, 5);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 0, 5);
assertEquals(0, clickableSpans.size());
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 0, spannable.length());
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 0, spannable.length());
assertEquals(2, clickableSpans.size());
assertEquals(firstClickableSpan, clickableSpans.get(0).what);
assertEquals(secondClickableSpan, clickableSpans.get(1).what);
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 0, 17);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 0, 17);
assertEquals(1, clickableSpans.size());
assertEquals(firstClickableSpan, clickableSpans.get(0).what);
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 12, 22);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 12, 22);
assertEquals(1, clickableSpans.size());
assertEquals(secondClickableSpan, clickableSpans.get(0).what);
- clickableSpans = (List<SpannableBuilder.Span>) m.invoke(null, spannable, ClickableSpan.class, 9, 20);
+ clickableSpans = (List<SpannableBuilder.Span>) method.invoke(null, spannable, ClickableSpan.class, 9, 20);
assertEquals(2, clickableSpans.size());
assertEquals(firstClickableSpan, clickableSpans.get(0).what);
assertEquals(secondClickableSpan, clickableSpans.get(1).what);
@@ -158,41 +158,41 @@ public class ToggleableTaskListPluginTest extends TestCase {
@Test
@SuppressWarnings({"unchecked", "ConstantConditions"})
public void testFindFreeRanges() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- final Method m = ToggleableTaskListPlugin.class.getDeclaredMethod("findFreeRanges", SpannableBuilder.class, int.class, int.class);
- m.setAccessible(true);
+ final var method = ToggleableTaskListPlugin.class.getDeclaredMethod("findFreeRanges", SpannableBuilder.class, int.class, int.class);
+ method.setAccessible(true);
- final Object firstClickableSpan = new URLSpan("");
- final Object secondClickableSpan = new InterceptedURLSpan(Collections.emptyList(), "");
- final SpannableBuilder spannable = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
+ final var firstClickableSpan = new URLSpan("");
+ final var secondClickableSpan = new InterceptedURLSpan(Collections.emptyList(), "");
+ final var spannable = new SpannableBuilder("Lorem Ipsum Dolor \nSit Amet");
spannable.setSpan(firstClickableSpan, 6, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(secondClickableSpan, 19, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
List<Range<Integer>> freeRanges;
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, 0, 0);
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, 0, 0);
assertEquals(0, freeRanges.size());
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, spannable.length() - 1, spannable.length() - 1);
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, spannable.length() - 1, spannable.length() - 1);
assertEquals(0, freeRanges.size());
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, 0, 6);
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, 0, 6);
assertEquals(1, freeRanges.size());
assertEquals(0, (int) freeRanges.get(0).getLower());
assertEquals(6, (int) freeRanges.get(0).getUpper());
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, 0, 6);
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, 0, 6);
assertEquals(1, freeRanges.size());
assertEquals(0, (int) freeRanges.get(0).getLower());
assertEquals(6, (int) freeRanges.get(0).getUpper());
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, 3, 15);
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, 3, 15);
assertEquals(2, freeRanges.size());
assertEquals(3, (int) freeRanges.get(0).getLower());
assertEquals(6, (int) freeRanges.get(0).getUpper());
assertEquals(11, (int) freeRanges.get(1).getLower());
assertEquals(15, (int) freeRanges.get(1).getUpper());
- freeRanges = (List<Range<Integer>>) m.invoke(null, spannable, 0, spannable.length());
+ freeRanges = (List<Range<Integer>>) method.invoke(null, spannable, 0, spannable.length());
assertEquals(3, freeRanges.size());
assertEquals(0, (int) freeRanges.get(0).getLower());
assertEquals(6, (int) freeRanges.get(0).getUpper());